JSFiddle - React, Tailwind, and code Playground

by cdeutsch

HTML

<script src="//cdnjs.cloudflare.com/ajax/libs/immutable/2.6.1/immutable.js"></script>

JavaScript

var state = {
    users: [{name:'bill'},{name:'lisa'}],
    filters: {
    sortDir: 'desc',
    sortName: 'lastSeen'
    },
    count: 12
};

im1 = Immutable.fromJS(state);

im2 = Immutable.Map(state);

im3 = im1.updateIn(['filters','sortDir'], val => val = 'GONE');

im4 = im3.updateIn(['filters','sortDir'], val => val = 'desc');

im5 = im4.withMutations(map => {
    map.set('count', 13);
    map.set('users', Immutable.fromJS([{name:'dan'},{name:'shannon'}]));
});

//state.filters.sortDir = 'CHANGED';

console.log(im1.toJS());
console.log(im2.get('filters'));
console.log(im3.toJS());
console.log(im4.toJS());
console.log(im5.toJS());

console.log(im1 === im2);
console.log(im1 === im3);
console.log(im3 === im4);
console.log(im1 === im4);
console.log(Immutable.is(im1, im4));
console.log(Immutable.is(im1, im3));