Immutable data
let item = {uid:1}
Object.isFrozen(item) // false
One.put(item);
Object.isFrozen(item) // true - the item and the cache item are the same
let cached = One.get(item)
cached === item // truelet item = {uid:1}
One.put(item)
let editable = One.getEdit(1) // or One.getEdit(item1);
Object.isFrozen(editable) // false
item === editable // false
// Edit
editable.text = "test"
One.put(editable)
let edited = One.get(1);
edited.text = "text" // true
Object.isFrozen(edited) // true
item === One.get(item) // false
// same as
One.isDirty(item) // true - can be used to trigger a React render
// but
One.isDirty(edited) // falseLast updated