Skip to content

Instantly share code, notes, and snippets.

@baio
Created July 19, 2015 13:08
Show Gist options
  • Save baio/b69a4660d4ed373bda09 to your computer and use it in GitHub Desktop.
Save baio/b69a4660d4ed373bda09 to your computer and use it in GitHub Desktop.
//root fields as immutables but nested not
var map10 = Immutable.Map({a:1, b:2});
var map20 = Immutable.Map({a:1, b:2});
console.log(Immutable.is(map10, map20));
var map1 = Immutable.Map({a:1, b:2, c:[3,5], d: {e : 1}});
var map2 = Immutable.Map({a:1, b:2, c:[3,5], d: {e : 1}});
console.log(Immutable.is(map1, map2));
//create immutables with nested data
var map3 = Immutable.fromJS({a:1, b:2, c:[3,5], d: {e : 1}});
var map4 = Immutable.fromJS({a:1, b:2, c:[3,5], d: {e : 1}});
console.log(Immutable.is(map3, map4));
//internal objects
//nested as raw objects
//console.log(map10._root.entries, map1._root.entries);
//nested as immurable classes
//console.log(map3._root.entries);
//This meither create object as fully immutabe !
var map5 = Immutable.Map({a:1, b:2, c:[3,5], d: Immutable.Map({e : 1})});
var map6 = Immutable.Map({a:1, b:2, c:[3,5], d: Immutable.Map({e : 1})});
console.log(Immutable.is(map5, map6));
//Records
var ABRecord = Immutable.Record({a:1, b:2});
var myRecord1 = new ABRecord({a:2, b: 4});
var myRecord2 = new ABRecord({a:2, b : 4});
console.log(Immutable.is(myRecord1, myRecord2));
//not deep records
var ABRecord = Immutable.Record({a:1, b:2, c : {d: 2}});
var myRecord3 = new ABRecord({a:2, b: 4, c: {d : 1}});
var myRecord4 = new ABRecord({a:2, b : 4, c: {d : 1}});
console.log(Immutable.is(myRecord3, myRecord4));
//Ony this way you to create deep neseted immutable records
var ABRecord1 = Immutable.Record({a:1, b:2, c : null});
var myRecord5 = new ABRecord1({a:2, b: 4, c: Immutable.Map({d : 1})});
var myRecord6 = new ABRecord1({a:2, b : 4, c: Immutable.Map({d : 1})});
console.log(Immutable.is(myRecord5, myRecord6));
//With lists
var ABRecord2 = Immutable.Record({a:1, b:2, c : null});
var myRecord7 = new ABRecord({a:2, b: 4, c: Immutable.List([Immutable.Map({ d: "one"})])});
var myRecord8 = new ABRecord({a:2, b : 4, c: Immutable.List([Immutable.Map({ d: "one"})])});
console.log(Immutable.is(myRecord7, myRecord8));
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment