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);