duplex.d.ts 868 B

1234567891011121314151617181920212223
  1. import { Operation } from './core.js';
  2. export interface Observer<T> {
  3. object: T;
  4. patches: Operation[];
  5. unobserve: () => void;
  6. callback: (patches: Operation[]) => void;
  7. }
  8. /**
  9. * Detach an observer from an object
  10. */
  11. export declare function unobserve<T>(root: T, observer: Observer<T>): void;
  12. /**
  13. * Observes changes made to an object, which can then be retrieved using generate
  14. */
  15. export declare function observe<T>(obj: Object | Array<T>, callback?: (patches: Operation[]) => void): Observer<T>;
  16. /**
  17. * Generate an array of patches from an observer
  18. */
  19. export declare function generate<T>(observer: Observer<Object>, invertible?: boolean): Operation[];
  20. /**
  21. * Create an array of patches from the differences in two objects
  22. */
  23. export declare function compare(tree1: Object | Array<any>, tree2: Object | Array<any>, invertible?: boolean): Operation[];