def
func:diff
diff(orig, changes, flags: null)
Construct a modification "diff" used by commit()
. The orig should be the instance which was read from the database, or it may be null only if the add flag is passed. Any tags to add/set/remove should be included in the changes dict.
The following flags are supported:
add
: indicates diff is adding new recordremove
: indicates diff is removing record (in general you should addtrash
tag instead of removing)transient
: indicate that this diff should not be flushed to persistent storage (it may or may not be persisted).force
: indicating that changes should be applied regardless of other concurrent changes which may be been applied after the orig version was read (use with caution!)
Examples:
// create new record diff(null, {dis:"New Rec", someMarker}, {add}) // create new record with explicit id like Diff.makeAdd diff(null, {id:151bd3c5-6ce3cb21, dis:"New Rec"}, {add}) // set/add dis tag and remove oldTag diff(orig, {dis:"New Dis", -oldTag}) // set/add val tag transiently diff(orig, {val:123}, {transient})