JSONPatcherProxy
JSONPatcherProxy copied to clipboard
ES6 proxy powered JSON Object observer that emits JSON patches when changes occur to your object tree.
@warpech, @eriksunsol https://github.com/Palindrom/JSONPatcherProxy/pull/45 changes Palindrom behavior in respect of numbers `> Number.MAX_SAFE_INTEGER`. This change checks that `Number.MAX_SAFE_INTEGER == Number.MAX_SAFE_INTEGER +1 // true` and do not emit a patch, therefore such...
This is a continuation of dicussion here: https://github.com/Palindrom/JSONPatcherProxy/pull/45#discussion_r311897775 ### Steps to reproduce See failing test here: 7cf32fd09593fef2751abc51114267e4a14f3897 The test extends an array with 5 elements to 9 elements with `undefined`...
After https://github.com/Palindrom/JSONPatcherProxy/pull/39 The code in https://github.com/Palindrom/JSONPatcherProxy/blob/c461b492a4fa2e2869ba99cbe0329db3846e93cd/src/jsonpatcherproxy.js contains several `TODO` statements that mark places for functionality that is not tested. Also check why running the test suite results in so many...
The library contains a static method `deepClone`, which is only used to support tests. This method should be moved to a test helper, or completely replaced with `JSON.parse(JSON.stringify())` which should...
It is not clear to me what's the point of having the two public methods `disableTraps()` and `revoke()`. In the tests, they are always tested separately. In real life usage,...
### Steps to reproduce 1. Have an object that has a deep structure 2. Replace a subbranch in that object with a simple proxied version of that object ### Expected...
https://github.com/Palindrom/JSONPatcherProxy/tree/Redesign
https://github.com/Tencent/omi Hope to support oldValue: ``` {op: "replace", path: "/a/b", value: "aaa2", oldValue: "aaa1"} ``` If it is convenient, you can review this for omi. I added only one line...
Thanks to `jsonpatch` all our apps assume that tree changes come asynchronously. So going synchronous is in fact the breaking change. We can leverage this and make JSONPatcherProxy asynchronous. Mind...
I think it would be useful to compare how switching to Proxified JSON Patch affects Palindrom apps' first page load. Also, it would help to track our progress during maintenance...