Skip to content

Instantly share code, notes, and snippets.

@spruce-bruce
Created June 25, 2019 03:08
Show Gist options
  • Save spruce-bruce/bcab34207cc42c8d45d288df96cebd3c to your computer and use it in GitHub Desktop.
Save spruce-bruce/bcab34207cc42c8d45d288df96cebd3c to your computer and use it in GitHub Desktop.
Proposed api for ChangeMonitor
import ChangeMonitor from 'ChangeMonitor';
ChangeMonitor.registerDiffEngine('bookshelf', (m1, m2) => {
/* diff the two objects */
return { field: [previousValue, currentValue] };
});
ChangeMonitor.registerHandler('user', 'name', (user, previousValue, currentValue) => {
console.log(`user name is now ${steve}`);
}, { diffEngine: 'bookshelf|objection|javascript|custom' });
ChangeMonitor.registerHandler('user', 'address', (user, previousValue, currentValue) => {
console.log(`address is now ${address}`);
});
const user = await userService.getAUser();
const instance = ChangeMonitor.getMonitor('user', user);
user.name = 'Steve';
instance.commit(user);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment