You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Note that the HTTP PATCH method is atomic, as per [RFC5789].
Therefore, the following patch would result in no changes being made
to the document at all (because the "test" operation results in an
error):
[
{ "op": "replace", "path": "/a/b/c", "value": 42 },
{ "op": "test", "path": "/a/b/c", "value": "C" }
]
In other words, none of a patch's operations should be applied if any one of them fails.
> var obj = {};
undefined
> jsonpatch.apply(obj, [
{op: 'add', path: '/foo', value: 'bar'},
{op: 'remove', path: '/baz'}
]);
PatchConflictError: Value at baz does not exist // OK
> obj
{ foo: 'bar' } // NOT OK
jsonpatch.apply should perhaps test every operations before applying them.
What do you think?
The text was updated successfully, but these errors were encountered:
You are free to make a copy of the object prior to applying the set of operations. The README disclaims this: Note: at this time, all operations are applied in-place.
Per HTTP PATCH spec
Ref: http://tools.ietf.org/html/rfc6902#section-5
In other words, none of a patch's operations should be applied if any one of them fails.
jsonpatch.apply
should perhaps test every operations before applying them.What do you think?
The text was updated successfully, but these errors were encountered: