Open hamptonsmith opened 2 years ago
I can confirm that the callback is not called:
import * as JSONPatch from "fast-json-patch";
const obj = {
foo: "bar",
baz: "qux",
quux: 1,
};
let numCalls = 0;
const o = 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.