JSFiddle - React, Tailwind, and code Playground
by mariomc
JavaScript
'use strict';
function Messenger(msg){
var msgr = {};
var deliverMessage = function(){};
return msgr;
Object['def'+'ineProperties'](msgr, {
deliverMessage: {
get: function() {
return deliverMessage;
},
set: function(a){
deliverMessage = deliverMessage;
}
}
})
return msgr;
}
var messenger = new Messenger({
from: '',
to: '',
text: ''
});
// Your code
var createMessenger = function() {
messenger = new Messenger({
from: 'Ninja',
to: 'Emperor',
text: 'Highness'
})
}
var oldFreeze = Object.freeze;
Object.freeze = function(a) { return a }
var noop = function(){}
var originalSI = window.setInterval;
var exectuteRightAway = function(cb) {createMessenger(); cb(); return 1000;}
Object['def'+'ineProperty'](window, 'setInterval', {get: function() { return exectuteRightAway }, set: function(){ debugger; originalSI = originalSI } });
Object['def'+'ineProperty'](window, 'clearTimeout', {get: function() { return noop}});
oldFreeze(window)
var timer = setInterval(function () {
nextLocation();
if(location === CAPITAL) {
var message = messenger.deliverMessage();
// Your code
clearInterval(timer);
}
}, 1000);