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
Am I misreading the observe() documentation regarding the optional callback? Documentation says "When changes are detected, the optional callback is called", but I'm not seeing that behavior:
Welcome to Node.js v16.14.2.
Type ".help" for more information.
> var fastJsonPatch = require('fast-json-patch')
undefined
> var doc = {};
undefined
> fastJsonPatch.observe(doc, function(p) { console.log(p); })
{ /* snip */ }
> doc.foo = 'bar';
'bar'
>
I'm expecting to see the patch array console.log()'d via the callback, but the callback is never called.
Calling generate() flushes the changes and I then see them printed via the callback.
The text was updated successfully, but these errors were encountered:
hamptonsmith
changed the title
Observe callback not working
Optional observe callback not called
Aug 7, 2022
import*asJSONPatchfrom"fast-json-patch";constobj={foo: "bar",baz: "qux",quux: 1,};letnumCalls=0;consto=JSONPatch.observe(obj,(patches)=>{numCalls++;});obj.foo="baz";obj.baz="quux";obj.quux=2;console.log(numCalls);// <- expected 0 got 0// The observe callback is driven by a 0 duration timeout so we have to wait for another run through the event loop...setTimeout(()=>{console.log(numCalls);// <- expected 1 got 0 JSONPatch.generate(o);console.log(numCalls);// <- expected 1 got 1},100);
Hey folks! Thanks for an awesome library.
Am I misreading the
observe()
documentation regarding the optional callback? Documentation says "When changes are detected, the optional callback is called", but I'm not seeing that behavior:I'm expecting to see the patch array
console.log()
'd via the callback, but the callback is never called.Calling
generate()
flushes the changes and I then see them printed via the callback.The text was updated successfully, but these errors were encountered: