JSFiddle - React, Tailwind, and code Playground

by antouank

HTML

<script src="https://cdnjs.cloudflare.com/ajax/libs/immutable/3.6.2/immutable.js"></script>

JavaScript

var ROOT = Immutable.Map({});
var oldRoot;
var print = function(){
  console.log('ROOT === oldRoot', ROOT === oldRoot);
  console.info('oldRoot', oldRoot.toJS());
  console.info('ROOT', ROOT.toJS(), '\n');
};
var something;
//--------------------------------
something = 'bar';
oldRoot = ROOT;
ROOT = ROOT.set('events', something);
print();
//--------------------------------
oldRoot = ROOT;
ROOT = ROOT.set('events', something);
print();
// expect oldRoot === ROOT to be true, it is :)
//--------------------------------
something = Immutable.fromJS({
  id: 0,
  text: 'foo'
});
oldRoot = ROOT;
ROOT = ROOT.set('events', something);
print();
//--------------------------------
something = Immutable.fromJS({
  id: 0,
  text: 'foo'
});
oldRoot = ROOT;
ROOT = ROOT.set('events', something);
print();
// expect oldRoot === ROOT to be true, it isn't  o.O
debugger;
console.log(Immutable.is(ROOT, oldRoot)); // WTF?