velocious 1.0.511 → 1.0.512

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (31) hide show
  1. package/README.md +1 -0
  2. package/build/database/live-query.js +244 -0
  3. package/build/database/record/index.js +25 -0
  4. package/build/database/record-changes.js +135 -0
  5. package/build/database/use-live-query.js +118 -0
  6. package/build/src/database/live-query.d.ts +168 -0
  7. package/build/src/database/live-query.d.ts.map +1 -0
  8. package/build/src/database/live-query.js +211 -0
  9. package/build/src/database/record/index.d.ts +11 -0
  10. package/build/src/database/record/index.d.ts.map +1 -1
  11. package/build/src/database/record/index.js +23 -1
  12. package/build/src/database/record-changes.d.ts +111 -0
  13. package/build/src/database/record-changes.d.ts.map +1 -0
  14. package/build/src/database/record-changes.js +115 -0
  15. package/build/src/database/use-live-query.d.ts +44 -0
  16. package/build/src/database/use-live-query.d.ts.map +1 -0
  17. package/build/src/database/use-live-query.js +97 -0
  18. package/build/src/sync/sync-api-client.d.ts.map +1 -1
  19. package/build/src/sync/sync-api-client.js +17 -10
  20. package/build/src/sync/sync-realtime-bridge.d.ts.map +1 -1
  21. package/build/src/sync/sync-realtime-bridge.js +9 -5
  22. package/build/sync/sync-api-client.js +19 -11
  23. package/build/sync/sync-realtime-bridge.js +9 -4
  24. package/build/tsconfig.tsbuildinfo +1 -1
  25. package/package.json +1 -1
  26. package/src/database/live-query.js +244 -0
  27. package/src/database/record/index.js +25 -0
  28. package/src/database/record-changes.js +135 -0
  29. package/src/database/use-live-query.js +118 -0
  30. package/src/sync/sync-api-client.js +19 -11
  31. package/src/sync/sync-realtime-bridge.js +9 -4
@@ -0,0 +1,111 @@
1
+ export default recordChanges;
2
+ /**
3
+ * RecordModelClass type.
4
+ */
5
+ export type RecordModelClass = typeof import("./record/index.js").default;
6
+ /**
7
+ * RecordChangeOperation type.
8
+ */
9
+ export type RecordChangeOperation = "create" | "update" | "destroy";
10
+ /**
11
+ * RecordChangeEvent type.
12
+ */
13
+ export type RecordChangeEvent = {
14
+ /**
15
+ * - Model class whose row changed.
16
+ */
17
+ modelClass: RecordModelClass;
18
+ /**
19
+ * - The committed operation.
20
+ */
21
+ operation: RecordChangeOperation;
22
+ /**
23
+ * - The committed record instance.
24
+ */
25
+ record: InstanceType<RecordModelClass>;
26
+ };
27
+ /**
28
+ * RecordChangeListener type.
29
+ */
30
+ export type RecordChangeListener = (event: RecordChangeEvent) => void;
31
+ /**
32
+ * Shared singleton so record commits and live queries meet on one bus.
33
+ * @type {RecordChanges} */
34
+ declare const recordChanges: RecordChanges;
35
+ /**
36
+ * RecordModelClass type.
37
+ * @typedef {typeof import("./record/index.js").default} RecordModelClass */
38
+ /**
39
+ * RecordChangeOperation type.
40
+ * @typedef {"create" | "update" | "destroy"} RecordChangeOperation */
41
+ /**
42
+ * RecordChangeEvent type.
43
+ * @typedef {object} RecordChangeEvent
44
+ * @property {RecordModelClass} modelClass - Model class whose row changed.
45
+ * @property {RecordChangeOperation} operation - The committed operation.
46
+ * @property {InstanceType<RecordModelClass>} record - The committed record instance.
47
+ */
48
+ /**
49
+ * RecordChangeListener type.
50
+ * @typedef {(event: RecordChangeEvent) => void} RecordChangeListener */
51
+ /**
52
+ * Framework-level bus for committed local model changes. Records emit here once
53
+ * per commit (see `VelociousDatabaseRecord.save`/`destroy`), so local writes,
54
+ * pull applies, and realtime applies converge on one uniform signal that live
55
+ * queries subscribe to. Emission is keyed by model name; a `batch(...)` window
56
+ * coalesces a burst of commits into a single event per model class.
57
+ */
58
+ export class RecordChanges {
59
+ /**
60
+ * Underlying event bus keyed by model name.
61
+ * @type {import("eventemitter3").EventEmitter} */
62
+ _emitter: import("eventemitter3").EventEmitter;
63
+ /**
64
+ * Number of open batch windows; while positive, emits buffer instead of dispatching.
65
+ * @type {number} */
66
+ _batchDepth: number;
67
+ /**
68
+ * Latest buffered event per model name, dispatched once when the outermost batch ends.
69
+ * @type {Map<string, RecordChangeEvent>} */
70
+ _bufferedEvents: Map<string, RecordChangeEvent>;
71
+ /**
72
+ * Subscribes a listener to committed changes of a model class.
73
+ * @param {RecordModelClass} modelClass - Model class to observe.
74
+ * @param {RecordChangeListener} listener - Listener called with each change event.
75
+ * @returns {() => void} Unsubscribe callback.
76
+ */
77
+ subscribe(modelClass: RecordModelClass, listener: RecordChangeListener): () => void;
78
+ /**
79
+ * Whether any listener is currently observing the given model class. Callers on
80
+ * the write path use this to skip emitting entirely when nothing is watching,
81
+ * keeping server-side saves free of live-query overhead.
82
+ * @param {RecordModelClass} modelClass - Model class to check.
83
+ * @returns {boolean} Whether listeners exist for the model class.
84
+ */
85
+ hasListeners(modelClass: RecordModelClass): boolean;
86
+ /**
87
+ * Emits a committed change. While a batch window is open the event is buffered
88
+ * and deduplicated by model class, so a batch of N commits dispatches a single
89
+ * event per model class when the outermost batch ends.
90
+ * @param {RecordChangeEvent} event - Change event to dispatch.
91
+ * @returns {void}
92
+ */
93
+ emit(event: RecordChangeEvent): void;
94
+ /**
95
+ * Runs a callback with change dispatch coalesced: every change committed while
96
+ * the callback runs buffers, and the outermost batch flushes a single event per
97
+ * changed model class after it resolves. Nested batches share one flush. Sync
98
+ * appliers wrap their per-row apply loop in this so a large pull or realtime
99
+ * push triggers one re-run per live query instead of one per applied row.
100
+ * @template T
101
+ * @param {() => Promise<T> | T} callback - Work whose committed changes should coalesce.
102
+ * @returns {Promise<T>} The callback result.
103
+ */
104
+ batch<T>(callback: () => Promise<T> | T): Promise<T>;
105
+ /**
106
+ * Dispatches and clears the buffered per-model events collected during a batch.
107
+ * @returns {void}
108
+ */
109
+ _flushBufferedEvents(): void;
110
+ }
111
+ //# sourceMappingURL=record-changes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"record-changes.d.ts","sourceRoot":"","sources":["../../../src/database/record-changes.js"],"names":[],"mappings":";;;;+BAMa,cAAc,mBAAmB,EAAE,OAAO;;;;oCAI1C,QAAQ,GAAG,QAAQ,GAAG,SAAS;;;;;;;;gBAK9B,gBAAgB;;;;eAChB,qBAAqB;;;;YACrB,YAAY,CAAC,gBAAgB,CAAC;;;;;mCAK/B,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI;AA0G/C;;2BAE2B;AAC3B,6BADU,aAAa,CACkB;AA/HzC;;4EAE4E;AAE5E;;sEAEsE;AAEtE;;;;;;GAMG;AAEH;;wEAEwE;AAExE;;;;;;GAMG;AACH;IACE;;sDAEkD;IAClD,UADU,OAAO,eAAe,EAAE,YAAY,CACjB;IAE7B;;wBAEoB;IACpB,aADU,MAAM,CACD;IAEf;;gDAE4C;IAC5C,iBADU,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,CACb;IAE3B;;;;;OAKG;IACH,sBAJW,gBAAgB,YAChB,oBAAoB,GAClB,MAAM,IAAI,CAUtB;IAED;;;;;;OAMG;IACH,yBAHW,gBAAgB,GACd,OAAO,CAInB;IAED;;;;;;OAMG;IACH,YAHW,iBAAiB,GACf,IAAI,CAUhB;IAED;;;;;;;;;OASG;IACH,MAJa,CAAC,YACH,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,GAClB,OAAO,CAAC,CAAC,CAAC,CAYtB;IAED;;;OAGG;IACH,wBAFa,IAAI,CAUhB;CACF"}
@@ -0,0 +1,115 @@
1
+ // @ts-check
2
+ import EventEmitter from "../utils/event-emitter.js";
3
+ /**
4
+ * RecordModelClass type.
5
+ * @typedef {typeof import("./record/index.js").default} RecordModelClass */
6
+ /**
7
+ * RecordChangeOperation type.
8
+ * @typedef {"create" | "update" | "destroy"} RecordChangeOperation */
9
+ /**
10
+ * RecordChangeEvent type.
11
+ * @typedef {object} RecordChangeEvent
12
+ * @property {RecordModelClass} modelClass - Model class whose row changed.
13
+ * @property {RecordChangeOperation} operation - The committed operation.
14
+ * @property {InstanceType<RecordModelClass>} record - The committed record instance.
15
+ */
16
+ /**
17
+ * RecordChangeListener type.
18
+ * @typedef {(event: RecordChangeEvent) => void} RecordChangeListener */
19
+ /**
20
+ * Framework-level bus for committed local model changes. Records emit here once
21
+ * per commit (see `VelociousDatabaseRecord.save`/`destroy`), so local writes,
22
+ * pull applies, and realtime applies converge on one uniform signal that live
23
+ * queries subscribe to. Emission is keyed by model name; a `batch(...)` window
24
+ * coalesces a burst of commits into a single event per model class.
25
+ */
26
+ class RecordChanges {
27
+ /**
28
+ * Underlying event bus keyed by model name.
29
+ * @type {import("eventemitter3").EventEmitter} */
30
+ _emitter = new EventEmitter();
31
+ /**
32
+ * Number of open batch windows; while positive, emits buffer instead of dispatching.
33
+ * @type {number} */
34
+ _batchDepth = 0;
35
+ /**
36
+ * Latest buffered event per model name, dispatched once when the outermost batch ends.
37
+ * @type {Map<string, RecordChangeEvent>} */
38
+ _bufferedEvents = new Map();
39
+ /**
40
+ * Subscribes a listener to committed changes of a model class.
41
+ * @param {RecordModelClass} modelClass - Model class to observe.
42
+ * @param {RecordChangeListener} listener - Listener called with each change event.
43
+ * @returns {() => void} Unsubscribe callback.
44
+ */
45
+ subscribe(modelClass, listener) {
46
+ const eventName = modelClass.getModelName();
47
+ this._emitter.on(eventName, listener);
48
+ return () => {
49
+ this._emitter.off(eventName, listener);
50
+ };
51
+ }
52
+ /**
53
+ * Whether any listener is currently observing the given model class. Callers on
54
+ * the write path use this to skip emitting entirely when nothing is watching,
55
+ * keeping server-side saves free of live-query overhead.
56
+ * @param {RecordModelClass} modelClass - Model class to check.
57
+ * @returns {boolean} Whether listeners exist for the model class.
58
+ */
59
+ hasListeners(modelClass) {
60
+ return this._emitter.listenerCount(modelClass.getModelName()) > 0;
61
+ }
62
+ /**
63
+ * Emits a committed change. While a batch window is open the event is buffered
64
+ * and deduplicated by model class, so a batch of N commits dispatches a single
65
+ * event per model class when the outermost batch ends.
66
+ * @param {RecordChangeEvent} event - Change event to dispatch.
67
+ * @returns {void}
68
+ */
69
+ emit(event) {
70
+ if (this._batchDepth > 0) {
71
+ this._bufferedEvents.set(event.modelClass.getModelName(), event);
72
+ return;
73
+ }
74
+ this._emitter.emit(event.modelClass.getModelName(), event);
75
+ }
76
+ /**
77
+ * Runs a callback with change dispatch coalesced: every change committed while
78
+ * the callback runs buffers, and the outermost batch flushes a single event per
79
+ * changed model class after it resolves. Nested batches share one flush. Sync
80
+ * appliers wrap their per-row apply loop in this so a large pull or realtime
81
+ * push triggers one re-run per live query instead of one per applied row.
82
+ * @template T
83
+ * @param {() => Promise<T> | T} callback - Work whose committed changes should coalesce.
84
+ * @returns {Promise<T>} The callback result.
85
+ */
86
+ async batch(callback) {
87
+ this._batchDepth++;
88
+ try {
89
+ return await callback();
90
+ }
91
+ finally {
92
+ this._batchDepth--;
93
+ if (this._batchDepth === 0)
94
+ this._flushBufferedEvents();
95
+ }
96
+ }
97
+ /**
98
+ * Dispatches and clears the buffered per-model events collected during a batch.
99
+ * @returns {void}
100
+ */
101
+ _flushBufferedEvents() {
102
+ const bufferedEvents = this._bufferedEvents;
103
+ this._bufferedEvents = new Map();
104
+ for (const event of bufferedEvents.values()) {
105
+ this._emitter.emit(event.modelClass.getModelName(), event);
106
+ }
107
+ }
108
+ }
109
+ /**
110
+ * Shared singleton so record commits and live queries meet on one bus.
111
+ * @type {RecordChanges} */
112
+ const recordChanges = new RecordChanges();
113
+ export default recordChanges;
114
+ export { RecordChanges };
115
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjb3JkLWNoYW5nZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZGF0YWJhc2UvcmVjb3JkLWNoYW5nZXMuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWTtBQUVaLE9BQU8sWUFBWSxNQUFNLDJCQUEyQixDQUFBO0FBRXBEOzs0RUFFNEU7QUFFNUU7O3NFQUVzRTtBQUV0RTs7Ozs7O0dBTUc7QUFFSDs7d0VBRXdFO0FBRXhFOzs7Ozs7R0FNRztBQUNILE1BQU0sYUFBYTtJQUNqQjs7c0RBRWtEO0lBQ2xELFFBQVEsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFBO0lBRTdCOzt3QkFFb0I7SUFDcEIsV0FBVyxHQUFHLENBQUMsQ0FBQTtJQUVmOztnREFFNEM7SUFDNUMsZUFBZSxHQUFHLElBQUksR0FBRyxFQUFFLENBQUE7SUFFM0I7Ozs7O09BS0c7SUFDSCxTQUFTLENBQUMsVUFBVSxFQUFFLFFBQVE7UUFDNUIsTUFBTSxTQUFTLEdBQUcsVUFBVSxDQUFDLFlBQVksRUFBRSxDQUFBO1FBRTNDLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLFNBQVMsRUFBRSxRQUFRLENBQUMsQ0FBQTtRQUVyQyxPQUFPLEdBQUcsRUFBRTtZQUNWLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBRSxRQUFRLENBQUMsQ0FBQTtRQUN4QyxDQUFDLENBQUE7SUFDSCxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsWUFBWSxDQUFDLFVBQVU7UUFDckIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsWUFBWSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUE7SUFDbkUsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILElBQUksQ0FBQyxLQUFLO1FBQ1IsSUFBSSxJQUFJLENBQUMsV0FBVyxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ3pCLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsWUFBWSxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUE7WUFFaEUsT0FBTTtRQUNSLENBQUM7UUFFRCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLFlBQVksRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFBO0lBQzVELENBQUM7SUFFRDs7Ozs7Ozs7O09BU0c7SUFDSCxLQUFLLENBQUMsS0FBSyxDQUFDLFFBQVE7UUFDbEIsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFBO1FBRWxCLElBQUksQ0FBQztZQUNILE9BQU8sTUFBTSxRQUFRLEVBQUUsQ0FBQTtRQUN6QixDQUFDO2dCQUFTLENBQUM7WUFDVCxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUE7WUFFbEIsSUFBSSxJQUFJLENBQUMsV0FBVyxLQUFLLENBQUM7Z0JBQUUsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUE7UUFDekQsQ0FBQztJQUNILENBQUM7SUFFRDs7O09BR0c7SUFDSCxvQkFBb0I7UUFDbEIsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQTtRQUUzQyxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksR0FBRyxFQUFFLENBQUE7UUFFaEMsS0FBSyxNQUFNLEtBQUssSUFBSSxjQUFjLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQztZQUM1QyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLFlBQVksRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFBO1FBQzVELENBQUM7SUFDSCxDQUFDO0NBQ0Y7QUFFRDs7MkJBRTJCO0FBQzNCLE1BQU0sYUFBYSxHQUFHLElBQUksYUFBYSxFQUFFLENBQUE7QUFFekMsZUFBZSxhQUFhLENBQUE7QUFDNUIsT0FBTyxFQUFDLGFBQWEsRUFBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQHRzLWNoZWNrXG5cbmltcG9ydCBFdmVudEVtaXR0ZXIgZnJvbSBcIi4uL3V0aWxzL2V2ZW50LWVtaXR0ZXIuanNcIlxuXG4vKipcbiAqIFJlY29yZE1vZGVsQ2xhc3MgdHlwZS5cbiAqIEB0eXBlZGVmIHt0eXBlb2YgaW1wb3J0KFwiLi9yZWNvcmQvaW5kZXguanNcIikuZGVmYXVsdH0gUmVjb3JkTW9kZWxDbGFzcyAqL1xuXG4vKipcbiAqIFJlY29yZENoYW5nZU9wZXJhdGlvbiB0eXBlLlxuICogQHR5cGVkZWYge1wiY3JlYXRlXCIgfCBcInVwZGF0ZVwiIHwgXCJkZXN0cm95XCJ9IFJlY29yZENoYW5nZU9wZXJhdGlvbiAqL1xuXG4vKipcbiAqIFJlY29yZENoYW5nZUV2ZW50IHR5cGUuXG4gKiBAdHlwZWRlZiB7b2JqZWN0fSBSZWNvcmRDaGFuZ2VFdmVudFxuICogQHByb3BlcnR5IHtSZWNvcmRNb2RlbENsYXNzfSBtb2RlbENsYXNzIC0gTW9kZWwgY2xhc3Mgd2hvc2Ugcm93IGNoYW5nZWQuXG4gKiBAcHJvcGVydHkge1JlY29yZENoYW5nZU9wZXJhdGlvbn0gb3BlcmF0aW9uIC0gVGhlIGNvbW1pdHRlZCBvcGVyYXRpb24uXG4gKiBAcHJvcGVydHkge0luc3RhbmNlVHlwZTxSZWNvcmRNb2RlbENsYXNzPn0gcmVjb3JkIC0gVGhlIGNvbW1pdHRlZCByZWNvcmQgaW5zdGFuY2UuXG4gKi9cblxuLyoqXG4gKiBSZWNvcmRDaGFuZ2VMaXN0ZW5lciB0eXBlLlxuICogQHR5cGVkZWYgeyhldmVudDogUmVjb3JkQ2hhbmdlRXZlbnQpID0+IHZvaWR9IFJlY29yZENoYW5nZUxpc3RlbmVyICovXG5cbi8qKlxuICogRnJhbWV3b3JrLWxldmVsIGJ1cyBmb3IgY29tbWl0dGVkIGxvY2FsIG1vZGVsIGNoYW5nZXMuIFJlY29yZHMgZW1pdCBoZXJlIG9uY2VcbiAqIHBlciBjb21taXQgKHNlZSBgVmVsb2Npb3VzRGF0YWJhc2VSZWNvcmQuc2F2ZWAvYGRlc3Ryb3lgKSwgc28gbG9jYWwgd3JpdGVzLFxuICogcHVsbCBhcHBsaWVzLCBhbmQgcmVhbHRpbWUgYXBwbGllcyBjb252ZXJnZSBvbiBvbmUgdW5pZm9ybSBzaWduYWwgdGhhdCBsaXZlXG4gKiBxdWVyaWVzIHN1YnNjcmliZSB0by4gRW1pc3Npb24gaXMga2V5ZWQgYnkgbW9kZWwgbmFtZTsgYSBgYmF0Y2goLi4uKWAgd2luZG93XG4gKiBjb2FsZXNjZXMgYSBidXJzdCBvZiBjb21taXRzIGludG8gYSBzaW5nbGUgZXZlbnQgcGVyIG1vZGVsIGNsYXNzLlxuICovXG5jbGFzcyBSZWNvcmRDaGFuZ2VzIHtcbiAgLyoqXG4gICAqIFVuZGVybHlpbmcgZXZlbnQgYnVzIGtleWVkIGJ5IG1vZGVsIG5hbWUuXG4gICAqIEB0eXBlIHtpbXBvcnQoXCJldmVudGVtaXR0ZXIzXCIpLkV2ZW50RW1pdHRlcn0gKi9cbiAgX2VtaXR0ZXIgPSBuZXcgRXZlbnRFbWl0dGVyKClcblxuICAvKipcbiAgICogTnVtYmVyIG9mIG9wZW4gYmF0Y2ggd2luZG93czsgd2hpbGUgcG9zaXRpdmUsIGVtaXRzIGJ1ZmZlciBpbnN0ZWFkIG9mIGRpc3BhdGNoaW5nLlxuICAgKiBAdHlwZSB7bnVtYmVyfSAqL1xuICBfYmF0Y2hEZXB0aCA9IDBcblxuICAvKipcbiAgICogTGF0ZXN0IGJ1ZmZlcmVkIGV2ZW50IHBlciBtb2RlbCBuYW1lLCBkaXNwYXRjaGVkIG9uY2Ugd2hlbiB0aGUgb3V0ZXJtb3N0IGJhdGNoIGVuZHMuXG4gICAqIEB0eXBlIHtNYXA8c3RyaW5nLCBSZWNvcmRDaGFuZ2VFdmVudD59ICovXG4gIF9idWZmZXJlZEV2ZW50cyA9IG5ldyBNYXAoKVxuXG4gIC8qKlxuICAgKiBTdWJzY3JpYmVzIGEgbGlzdGVuZXIgdG8gY29tbWl0dGVkIGNoYW5nZXMgb2YgYSBtb2RlbCBjbGFzcy5cbiAgICogQHBhcmFtIHtSZWNvcmRNb2RlbENsYXNzfSBtb2RlbENsYXNzIC0gTW9kZWwgY2xhc3MgdG8gb2JzZXJ2ZS5cbiAgICogQHBhcmFtIHtSZWNvcmRDaGFuZ2VMaXN0ZW5lcn0gbGlzdGVuZXIgLSBMaXN0ZW5lciBjYWxsZWQgd2l0aCBlYWNoIGNoYW5nZSBldmVudC5cbiAgICogQHJldHVybnMgeygpID0+IHZvaWR9IFVuc3Vic2NyaWJlIGNhbGxiYWNrLlxuICAgKi9cbiAgc3Vic2NyaWJlKG1vZGVsQ2xhc3MsIGxpc3RlbmVyKSB7XG4gICAgY29uc3QgZXZlbnROYW1lID0gbW9kZWxDbGFzcy5nZXRNb2RlbE5hbWUoKVxuXG4gICAgdGhpcy5fZW1pdHRlci5vbihldmVudE5hbWUsIGxpc3RlbmVyKVxuXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIHRoaXMuX2VtaXR0ZXIub2ZmKGV2ZW50TmFtZSwgbGlzdGVuZXIpXG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgYW55IGxpc3RlbmVyIGlzIGN1cnJlbnRseSBvYnNlcnZpbmcgdGhlIGdpdmVuIG1vZGVsIGNsYXNzLiBDYWxsZXJzIG9uXG4gICAqIHRoZSB3cml0ZSBwYXRoIHVzZSB0aGlzIHRvIHNraXAgZW1pdHRpbmcgZW50aXJlbHkgd2hlbiBub3RoaW5nIGlzIHdhdGNoaW5nLFxuICAgKiBrZWVwaW5nIHNlcnZlci1zaWRlIHNhdmVzIGZyZWUgb2YgbGl2ZS1xdWVyeSBvdmVyaGVhZC5cbiAgICogQHBhcmFtIHtSZWNvcmRNb2RlbENsYXNzfSBtb2RlbENsYXNzIC0gTW9kZWwgY2xhc3MgdG8gY2hlY2suXG4gICAqIEByZXR1cm5zIHtib29sZWFufSBXaGV0aGVyIGxpc3RlbmVycyBleGlzdCBmb3IgdGhlIG1vZGVsIGNsYXNzLlxuICAgKi9cbiAgaGFzTGlzdGVuZXJzKG1vZGVsQ2xhc3MpIHtcbiAgICByZXR1cm4gdGhpcy5fZW1pdHRlci5saXN0ZW5lckNvdW50KG1vZGVsQ2xhc3MuZ2V0TW9kZWxOYW1lKCkpID4gMFxuICB9XG5cbiAgLyoqXG4gICAqIEVtaXRzIGEgY29tbWl0dGVkIGNoYW5nZS4gV2hpbGUgYSBiYXRjaCB3aW5kb3cgaXMgb3BlbiB0aGUgZXZlbnQgaXMgYnVmZmVyZWRcbiAgICogYW5kIGRlZHVwbGljYXRlZCBieSBtb2RlbCBjbGFzcywgc28gYSBiYXRjaCBvZiBOIGNvbW1pdHMgZGlzcGF0Y2hlcyBhIHNpbmdsZVxuICAgKiBldmVudCBwZXIgbW9kZWwgY2xhc3Mgd2hlbiB0aGUgb3V0ZXJtb3N0IGJhdGNoIGVuZHMuXG4gICAqIEBwYXJhbSB7UmVjb3JkQ2hhbmdlRXZlbnR9IGV2ZW50IC0gQ2hhbmdlIGV2ZW50IHRvIGRpc3BhdGNoLlxuICAgKiBAcmV0dXJucyB7dm9pZH1cbiAgICovXG4gIGVtaXQoZXZlbnQpIHtcbiAgICBpZiAodGhpcy5fYmF0Y2hEZXB0aCA+IDApIHtcbiAgICAgIHRoaXMuX2J1ZmZlcmVkRXZlbnRzLnNldChldmVudC5tb2RlbENsYXNzLmdldE1vZGVsTmFtZSgpLCBldmVudClcblxuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgdGhpcy5fZW1pdHRlci5lbWl0KGV2ZW50Lm1vZGVsQ2xhc3MuZ2V0TW9kZWxOYW1lKCksIGV2ZW50KVxuICB9XG5cbiAgLyoqXG4gICAqIFJ1bnMgYSBjYWxsYmFjayB3aXRoIGNoYW5nZSBkaXNwYXRjaCBjb2FsZXNjZWQ6IGV2ZXJ5IGNoYW5nZSBjb21taXR0ZWQgd2hpbGVcbiAgICogdGhlIGNhbGxiYWNrIHJ1bnMgYnVmZmVycywgYW5kIHRoZSBvdXRlcm1vc3QgYmF0Y2ggZmx1c2hlcyBhIHNpbmdsZSBldmVudCBwZXJcbiAgICogY2hhbmdlZCBtb2RlbCBjbGFzcyBhZnRlciBpdCByZXNvbHZlcy4gTmVzdGVkIGJhdGNoZXMgc2hhcmUgb25lIGZsdXNoLiBTeW5jXG4gICAqIGFwcGxpZXJzIHdyYXAgdGhlaXIgcGVyLXJvdyBhcHBseSBsb29wIGluIHRoaXMgc28gYSBsYXJnZSBwdWxsIG9yIHJlYWx0aW1lXG4gICAqIHB1c2ggdHJpZ2dlcnMgb25lIHJlLXJ1biBwZXIgbGl2ZSBxdWVyeSBpbnN0ZWFkIG9mIG9uZSBwZXIgYXBwbGllZCByb3cuXG4gICAqIEB0ZW1wbGF0ZSBUXG4gICAqIEBwYXJhbSB7KCkgPT4gUHJvbWlzZTxUPiB8IFR9IGNhbGxiYWNrIC0gV29yayB3aG9zZSBjb21taXR0ZWQgY2hhbmdlcyBzaG91bGQgY29hbGVzY2UuXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPFQ+fSBUaGUgY2FsbGJhY2sgcmVzdWx0LlxuICAgKi9cbiAgYXN5bmMgYmF0Y2goY2FsbGJhY2spIHtcbiAgICB0aGlzLl9iYXRjaERlcHRoKytcblxuICAgIHRyeSB7XG4gICAgICByZXR1cm4gYXdhaXQgY2FsbGJhY2soKVxuICAgIH0gZmluYWxseSB7XG4gICAgICB0aGlzLl9iYXRjaERlcHRoLS1cblxuICAgICAgaWYgKHRoaXMuX2JhdGNoRGVwdGggPT09IDApIHRoaXMuX2ZsdXNoQnVmZmVyZWRFdmVudHMoKVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBEaXNwYXRjaGVzIGFuZCBjbGVhcnMgdGhlIGJ1ZmZlcmVkIHBlci1tb2RlbCBldmVudHMgY29sbGVjdGVkIGR1cmluZyBhIGJhdGNoLlxuICAgKiBAcmV0dXJucyB7dm9pZH1cbiAgICovXG4gIF9mbHVzaEJ1ZmZlcmVkRXZlbnRzKCkge1xuICAgIGNvbnN0IGJ1ZmZlcmVkRXZlbnRzID0gdGhpcy5fYnVmZmVyZWRFdmVudHNcblxuICAgIHRoaXMuX2J1ZmZlcmVkRXZlbnRzID0gbmV3IE1hcCgpXG5cbiAgICBmb3IgKGNvbnN0IGV2ZW50IG9mIGJ1ZmZlcmVkRXZlbnRzLnZhbHVlcygpKSB7XG4gICAgICB0aGlzLl9lbWl0dGVyLmVtaXQoZXZlbnQubW9kZWxDbGFzcy5nZXRNb2RlbE5hbWUoKSwgZXZlbnQpXG4gICAgfVxuICB9XG59XG5cbi8qKlxuICogU2hhcmVkIHNpbmdsZXRvbiBzbyByZWNvcmQgY29tbWl0cyBhbmQgbGl2ZSBxdWVyaWVzIG1lZXQgb24gb25lIGJ1cy5cbiAqIEB0eXBlIHtSZWNvcmRDaGFuZ2VzfSAqL1xuY29uc3QgcmVjb3JkQ2hhbmdlcyA9IG5ldyBSZWNvcmRDaGFuZ2VzKClcblxuZXhwb3J0IGRlZmF1bHQgcmVjb3JkQ2hhbmdlc1xuZXhwb3J0IHtSZWNvcmRDaGFuZ2VzfVxuIl19
@@ -0,0 +1,44 @@
1
+ /**
2
+ * React hook declaring what a screen shows and keeping it current from committed
3
+ * local model changes. Runs `query.toArray()` once, subscribes to the query's
4
+ * model class(es) on the record-change bus, and re-runs (coalesced, stale-safe)
5
+ * whenever a watched model commits — so local writes, pull applies, and realtime
6
+ * applies all refresh the results without any manual refresh plumbing.
7
+ * @template T
8
+ * @param {(LiveQuerySource<T> & {toSql?: () => ?}) | null | undefined} query - Query source, e.g. `Model.where({...})`.
9
+ * @param {UseLiveQueryOptions} [options] - Hook options.
10
+ * @returns {LiveQueryState<T>} Current results, loading, and last error.
11
+ */
12
+ export default function useLiveQuery<T>(query: (LiveQuerySource<T> & {
13
+ toSql?: () => unknown;
14
+ }) | null | undefined, options?: UseLiveQueryOptions): LiveQueryState<T>;
15
+ /**
16
+ * RecordModelClass type.
17
+ */
18
+ export type RecordModelClass = typeof import("./record/index.js").default;
19
+ /**
20
+ * LiveQuerySource type.
21
+ */
22
+ export type LiveQuerySource<T> = import("./live-query.js").LiveQuerySource<T>;
23
+ /**
24
+ * LiveQueryState type.
25
+ */
26
+ export type LiveQueryState<T> = import("./live-query.js").LiveQueryState<T>;
27
+ /**
28
+ * UseLiveQueryOptions type.
29
+ */
30
+ export type UseLiveQueryOptions = {
31
+ /**
32
+ * - Whether the query is active. Default true; pass false to pause and return the empty state.
33
+ */
34
+ active?: boolean | undefined;
35
+ /**
36
+ * - Trailing debounce in ms for re-runs. Defaults to microtask coalescing.
37
+ */
38
+ debounce?: number | undefined;
39
+ /**
40
+ * - Model classes to observe. Defaults to the query's model class; pass this to also react to joined models.
41
+ */
42
+ models?: typeof import("./record/index.js").default[] | undefined;
43
+ };
44
+ //# sourceMappingURL=use-live-query.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-live-query.d.ts","sourceRoot":"","sources":["../../../src/database/use-live-query.js"],"names":[],"mappings":"AAoEA;;;;;;;;;;GAUG;AACH,qCALa,CAAC,SACH,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG;IAAC,KAAK,CAAC,EAAE,MAAM,OAAC,CAAA;CAAC,CAAC,GAAG,IAAI,GAAG,SAAS,YAC3D,mBAAmB,GACjB,cAAc,CAAC,CAAC,CAAC,CAwC7B;;;;+BA7GY,cAAc,mBAAmB,EAAE,OAAO;;;;4BAI1C,CAAC,IACD,OAAO,iBAAiB,EAAE,eAAe,CAAC,CAAC,CAAC;;;;2BAI5C,CAAC,IACD,OAAO,iBAAiB,EAAE,cAAc,CAAC,CAAC,CAAC"}
@@ -0,0 +1,97 @@
1
+ // @ts-check
2
+ import { useCallback, useEffect, useMemo, useRef, useSyncExternalStore } from "react";
3
+ import LiveQuery from "./live-query.js";
4
+ /**
5
+ * RecordModelClass type.
6
+ * @typedef {typeof import("./record/index.js").default} RecordModelClass */
7
+ /**
8
+ * LiveQuerySource type.
9
+ * @template T
10
+ * @typedef {import("./live-query.js").LiveQuerySource<T>} LiveQuerySource */
11
+ /**
12
+ * LiveQueryState type.
13
+ * @template T
14
+ * @typedef {import("./live-query.js").LiveQueryState<T>} LiveQueryState */
15
+ /**
16
+ * UseLiveQueryOptions type.
17
+ * @typedef {object} UseLiveQueryOptions
18
+ * @property {boolean} [active] - Whether the query is active. Default true; pass false to pause and return the empty state.
19
+ * @property {number} [debounce] - Trailing debounce in ms for re-runs. Defaults to microtask coalescing.
20
+ * @property {RecordModelClass[]} [models] - Model classes to observe. Defaults to the query's model class; pass this to also react to joined models.
21
+ */
22
+ /**
23
+ * Stable empty state returned while there is no active query, so a paused hook
24
+ * keeps a referentially stable snapshot for `useSyncExternalStore`.
25
+ * @type {LiveQueryState<?>} */
26
+ const EMPTY_STATE = { error: null, loading: false, results: [] };
27
+ /**
28
+ * Assigns and stores a stable identity key for query sources without a `toSql`.
29
+ * @type {WeakMap<object, string>} */
30
+ const queryIdentityKeys = new WeakMap();
31
+ /**
32
+ * Monotonic counter backing the queryIdentityKeys registry.
33
+ * @type {number} */
34
+ let nextQueryIdentity = 0;
35
+ /**
36
+ * Builds a dependency key identifying a query's semantics so the underlying
37
+ * controller is rebuilt when they change. Model-class queries expose `toSql`, so
38
+ * distinct conditions yield distinct keys; other sources fall back to a stable
39
+ * per-object identity (such sources must be memoized by the caller).
40
+ * @param {LiveQuerySource<?> & {toSql?: () => ?}} query - Query source.
41
+ * @param {RecordModelClass[] | undefined} models - Explicit model classes to observe.
42
+ * @returns {string} Dependency key.
43
+ */
44
+ function liveQueryDependencyKey(query, models) {
45
+ const modelNames = (models ?? [query.getModelClass()]).map((modelClass) => modelClass.getModelName()).join(",");
46
+ if (typeof query.toSql === "function")
47
+ return `${modelNames}::${String(query.toSql())}`;
48
+ let identityKey = queryIdentityKeys.get(query);
49
+ if (identityKey === undefined) {
50
+ identityKey = `#${++nextQueryIdentity}`;
51
+ queryIdentityKeys.set(query, identityKey);
52
+ }
53
+ return `${modelNames}::${identityKey}`;
54
+ }
55
+ /**
56
+ * React hook declaring what a screen shows and keeping it current from committed
57
+ * local model changes. Runs `query.toArray()` once, subscribes to the query's
58
+ * model class(es) on the record-change bus, and re-runs (coalesced, stale-safe)
59
+ * whenever a watched model commits — so local writes, pull applies, and realtime
60
+ * applies all refresh the results without any manual refresh plumbing.
61
+ * @template T
62
+ * @param {(LiveQuerySource<T> & {toSql?: () => ?}) | null | undefined} query - Query source, e.g. `Model.where({...})`.
63
+ * @param {UseLiveQueryOptions} [options] - Hook options.
64
+ * @returns {LiveQueryState<T>} Current results, loading, and last error.
65
+ */
66
+ export default function useLiveQuery(query, options = {}) {
67
+ const { active = true, debounce, models } = options;
68
+ const enabled = active && Boolean(query);
69
+ const dependencyKey = enabled && query ? liveQueryDependencyKey(query, models) : "disabled";
70
+ const queryRef = useRef(query);
71
+ const modelsRef = useRef(models);
72
+ queryRef.current = query;
73
+ modelsRef.current = models;
74
+ const liveQuery = useMemo(() => {
75
+ if (!enabled || !queryRef.current)
76
+ return null;
77
+ return new LiveQuery({ debounce, models: modelsRef.current, query: queryRef.current });
78
+ }, [dependencyKey, debounce, enabled]);
79
+ useEffect(() => {
80
+ if (!liveQuery)
81
+ return undefined;
82
+ liveQuery.start();
83
+ return () => liveQuery.close();
84
+ }, [liveQuery]);
85
+ const subscribe = useCallback((/** @type {() => void} */ listener) => {
86
+ if (!liveQuery)
87
+ return () => { };
88
+ return liveQuery.subscribe(listener);
89
+ }, [liveQuery]);
90
+ const getSnapshot = useCallback(() => {
91
+ if (!liveQuery)
92
+ return /** @type {LiveQueryState<T>} */ (EMPTY_STATE);
93
+ return liveQuery.getState();
94
+ }, [liveQuery]);
95
+ return useSyncExternalStore(subscribe, getSnapshot, getSnapshot);
96
+ }
97
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlLWxpdmUtcXVlcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZGF0YWJhc2UvdXNlLWxpdmUtcXVlcnkuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWTtBQUVaLE9BQU8sRUFBQyxXQUFXLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsb0JBQW9CLEVBQUMsTUFBTSxPQUFPLENBQUE7QUFFbkYsT0FBTyxTQUFTLE1BQU0saUJBQWlCLENBQUE7QUFFdkM7OzRFQUU0RTtBQUU1RTs7OzZFQUc2RTtBQUU3RTs7OzJFQUcyRTtBQUUzRTs7Ozs7O0dBTUc7QUFFSDs7OytCQUcrQjtBQUMvQixNQUFNLFdBQVcsR0FBRyxFQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFDLENBQUE7QUFFOUQ7O3FDQUVxQztBQUNyQyxNQUFNLGlCQUFpQixHQUFHLElBQUksT0FBTyxFQUFFLENBQUE7QUFFdkM7O29CQUVvQjtBQUNwQixJQUFJLGlCQUFpQixHQUFHLENBQUMsQ0FBQTtBQUV6Qjs7Ozs7Ozs7R0FRRztBQUNILFNBQVMsc0JBQXNCLENBQUMsS0FBSyxFQUFFLE1BQU07SUFDM0MsTUFBTSxVQUFVLEdBQUcsQ0FBQyxNQUFNLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFBO0lBRS9HLElBQUksT0FBTyxLQUFLLENBQUMsS0FBSyxLQUFLLFVBQVU7UUFBRSxPQUFPLEdBQUcsVUFBVSxLQUFLLE1BQU0sQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUMsRUFBRSxDQUFBO0lBRXZGLElBQUksV0FBVyxHQUFHLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUU5QyxJQUFJLFdBQVcsS0FBSyxTQUFTLEVBQUUsQ0FBQztRQUM5QixXQUFXLEdBQUcsSUFBSSxFQUFFLGlCQUFpQixFQUFFLENBQUE7UUFDdkMsaUJBQWlCLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxXQUFXLENBQUMsQ0FBQTtJQUMzQyxDQUFDO0lBRUQsT0FBTyxHQUFHLFVBQVUsS0FBSyxXQUFXLEVBQUUsQ0FBQTtBQUN4QyxDQUFDO0FBRUQ7Ozs7Ozs7Ozs7R0FVRztBQUNILE1BQU0sQ0FBQyxPQUFPLFVBQVUsWUFBWSxDQUFDLEtBQUssRUFBRSxPQUFPLEdBQUcsRUFBRTtJQUN0RCxNQUFNLEVBQUMsTUFBTSxHQUFHLElBQUksRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFDLEdBQUcsT0FBTyxDQUFBO0lBQ2pELE1BQU0sT0FBTyxHQUFHLE1BQU0sSUFBSSxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDeEMsTUFBTSxhQUFhLEdBQUcsT0FBTyxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsc0JBQXNCLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUE7SUFFM0YsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQzlCLE1BQU0sU0FBUyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQTtJQUVoQyxRQUFRLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQTtJQUN4QixTQUFTLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQTtJQUUxQixNQUFNLFNBQVMsR0FBRyxPQUFPLENBQUMsR0FBRyxFQUFFO1FBQzdCLElBQUksQ0FBQyxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTztZQUFFLE9BQU8sSUFBSSxDQUFBO1FBRTlDLE9BQU8sSUFBSSxTQUFTLENBQUMsRUFBQyxRQUFRLEVBQUUsTUFBTSxFQUFFLFNBQVMsQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLFFBQVEsQ0FBQyxPQUFPLEVBQUMsQ0FBQyxDQUFBO0lBQ3RGLENBQUMsRUFBRSxDQUFDLGFBQWEsRUFBRSxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQTtJQUV0QyxTQUFTLENBQUMsR0FBRyxFQUFFO1FBQ2IsSUFBSSxDQUFDLFNBQVM7WUFBRSxPQUFPLFNBQVMsQ0FBQTtRQUVoQyxTQUFTLENBQUMsS0FBSyxFQUFFLENBQUE7UUFFakIsT0FBTyxHQUFHLEVBQUUsQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLENBQUE7SUFDaEMsQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQTtJQUVmLE1BQU0sU0FBUyxHQUFHLFdBQVcsQ0FBQyxDQUFDLHlCQUF5QixDQUFDLFFBQVEsRUFBRSxFQUFFO1FBQ25FLElBQUksQ0FBQyxTQUFTO1lBQUUsT0FBTyxHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUE7UUFFL0IsT0FBTyxTQUFTLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFBO0lBQ3RDLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUE7SUFFZixNQUFNLFdBQVcsR0FBRyxXQUFXLENBQUMsR0FBRyxFQUFFO1FBQ25DLElBQUksQ0FBQyxTQUFTO1lBQUUsT0FBTyxnQ0FBZ0MsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFBO1FBRXJFLE9BQU8sU0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFBO0lBQzdCLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUE7SUFFZixPQUFPLG9CQUFvQixDQUFDLFNBQVMsRUFBRSxXQUFXLEVBQUUsV0FBVyxDQUFDLENBQUE7QUFDbEUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIEB0cy1jaGVja1xuXG5pbXBvcnQge3VzZUNhbGxiYWNrLCB1c2VFZmZlY3QsIHVzZU1lbW8sIHVzZVJlZiwgdXNlU3luY0V4dGVybmFsU3RvcmV9IGZyb20gXCJyZWFjdFwiXG5cbmltcG9ydCBMaXZlUXVlcnkgZnJvbSBcIi4vbGl2ZS1xdWVyeS5qc1wiXG5cbi8qKlxuICogUmVjb3JkTW9kZWxDbGFzcyB0eXBlLlxuICogQHR5cGVkZWYge3R5cGVvZiBpbXBvcnQoXCIuL3JlY29yZC9pbmRleC5qc1wiKS5kZWZhdWx0fSBSZWNvcmRNb2RlbENsYXNzICovXG5cbi8qKlxuICogTGl2ZVF1ZXJ5U291cmNlIHR5cGUuXG4gKiBAdGVtcGxhdGUgVFxuICogQHR5cGVkZWYge2ltcG9ydChcIi4vbGl2ZS1xdWVyeS5qc1wiKS5MaXZlUXVlcnlTb3VyY2U8VD59IExpdmVRdWVyeVNvdXJjZSAqL1xuXG4vKipcbiAqIExpdmVRdWVyeVN0YXRlIHR5cGUuXG4gKiBAdGVtcGxhdGUgVFxuICogQHR5cGVkZWYge2ltcG9ydChcIi4vbGl2ZS1xdWVyeS5qc1wiKS5MaXZlUXVlcnlTdGF0ZTxUPn0gTGl2ZVF1ZXJ5U3RhdGUgKi9cblxuLyoqXG4gKiBVc2VMaXZlUXVlcnlPcHRpb25zIHR5cGUuXG4gKiBAdHlwZWRlZiB7b2JqZWN0fSBVc2VMaXZlUXVlcnlPcHRpb25zXG4gKiBAcHJvcGVydHkge2Jvb2xlYW59IFthY3RpdmVdIC0gV2hldGhlciB0aGUgcXVlcnkgaXMgYWN0aXZlLiBEZWZhdWx0IHRydWU7IHBhc3MgZmFsc2UgdG8gcGF1c2UgYW5kIHJldHVybiB0aGUgZW1wdHkgc3RhdGUuXG4gKiBAcHJvcGVydHkge251bWJlcn0gW2RlYm91bmNlXSAtIFRyYWlsaW5nIGRlYm91bmNlIGluIG1zIGZvciByZS1ydW5zLiBEZWZhdWx0cyB0byBtaWNyb3Rhc2sgY29hbGVzY2luZy5cbiAqIEBwcm9wZXJ0eSB7UmVjb3JkTW9kZWxDbGFzc1tdfSBbbW9kZWxzXSAtIE1vZGVsIGNsYXNzZXMgdG8gb2JzZXJ2ZS4gRGVmYXVsdHMgdG8gdGhlIHF1ZXJ5J3MgbW9kZWwgY2xhc3M7IHBhc3MgdGhpcyB0byBhbHNvIHJlYWN0IHRvIGpvaW5lZCBtb2RlbHMuXG4gKi9cblxuLyoqXG4gKiBTdGFibGUgZW1wdHkgc3RhdGUgcmV0dXJuZWQgd2hpbGUgdGhlcmUgaXMgbm8gYWN0aXZlIHF1ZXJ5LCBzbyBhIHBhdXNlZCBob29rXG4gKiBrZWVwcyBhIHJlZmVyZW50aWFsbHkgc3RhYmxlIHNuYXBzaG90IGZvciBgdXNlU3luY0V4dGVybmFsU3RvcmVgLlxuICogQHR5cGUge0xpdmVRdWVyeVN0YXRlPD8+fSAqL1xuY29uc3QgRU1QVFlfU1RBVEUgPSB7ZXJyb3I6IG51bGwsIGxvYWRpbmc6IGZhbHNlLCByZXN1bHRzOiBbXX1cblxuLyoqXG4gKiBBc3NpZ25zIGFuZCBzdG9yZXMgYSBzdGFibGUgaWRlbnRpdHkga2V5IGZvciBxdWVyeSBzb3VyY2VzIHdpdGhvdXQgYSBgdG9TcWxgLlxuICogQHR5cGUge1dlYWtNYXA8b2JqZWN0LCBzdHJpbmc+fSAqL1xuY29uc3QgcXVlcnlJZGVudGl0eUtleXMgPSBuZXcgV2Vha01hcCgpXG5cbi8qKlxuICogTW9ub3RvbmljIGNvdW50ZXIgYmFja2luZyB0aGUgcXVlcnlJZGVudGl0eUtleXMgcmVnaXN0cnkuXG4gKiBAdHlwZSB7bnVtYmVyfSAqL1xubGV0IG5leHRRdWVyeUlkZW50aXR5ID0gMFxuXG4vKipcbiAqIEJ1aWxkcyBhIGRlcGVuZGVuY3kga2V5IGlkZW50aWZ5aW5nIGEgcXVlcnkncyBzZW1hbnRpY3Mgc28gdGhlIHVuZGVybHlpbmdcbiAqIGNvbnRyb2xsZXIgaXMgcmVidWlsdCB3aGVuIHRoZXkgY2hhbmdlLiBNb2RlbC1jbGFzcyBxdWVyaWVzIGV4cG9zZSBgdG9TcWxgLCBzb1xuICogZGlzdGluY3QgY29uZGl0aW9ucyB5aWVsZCBkaXN0aW5jdCBrZXlzOyBvdGhlciBzb3VyY2VzIGZhbGwgYmFjayB0byBhIHN0YWJsZVxuICogcGVyLW9iamVjdCBpZGVudGl0eSAoc3VjaCBzb3VyY2VzIG11c3QgYmUgbWVtb2l6ZWQgYnkgdGhlIGNhbGxlcikuXG4gKiBAcGFyYW0ge0xpdmVRdWVyeVNvdXJjZTw/PiAmIHt0b1NxbD86ICgpID0+ID99fSBxdWVyeSAtIFF1ZXJ5IHNvdXJjZS5cbiAqIEBwYXJhbSB7UmVjb3JkTW9kZWxDbGFzc1tdIHwgdW5kZWZpbmVkfSBtb2RlbHMgLSBFeHBsaWNpdCBtb2RlbCBjbGFzc2VzIHRvIG9ic2VydmUuXG4gKiBAcmV0dXJucyB7c3RyaW5nfSBEZXBlbmRlbmN5IGtleS5cbiAqL1xuZnVuY3Rpb24gbGl2ZVF1ZXJ5RGVwZW5kZW5jeUtleShxdWVyeSwgbW9kZWxzKSB7XG4gIGNvbnN0IG1vZGVsTmFtZXMgPSAobW9kZWxzID8/IFtxdWVyeS5nZXRNb2RlbENsYXNzKCldKS5tYXAoKG1vZGVsQ2xhc3MpID0+IG1vZGVsQ2xhc3MuZ2V0TW9kZWxOYW1lKCkpLmpvaW4oXCIsXCIpXG5cbiAgaWYgKHR5cGVvZiBxdWVyeS50b1NxbCA9PT0gXCJmdW5jdGlvblwiKSByZXR1cm4gYCR7bW9kZWxOYW1lc306OiR7U3RyaW5nKHF1ZXJ5LnRvU3FsKCkpfWBcblxuICBsZXQgaWRlbnRpdHlLZXkgPSBxdWVyeUlkZW50aXR5S2V5cy5nZXQocXVlcnkpXG5cbiAgaWYgKGlkZW50aXR5S2V5ID09PSB1bmRlZmluZWQpIHtcbiAgICBpZGVudGl0eUtleSA9IGAjJHsrK25leHRRdWVyeUlkZW50aXR5fWBcbiAgICBxdWVyeUlkZW50aXR5S2V5cy5zZXQocXVlcnksIGlkZW50aXR5S2V5KVxuICB9XG5cbiAgcmV0dXJuIGAke21vZGVsTmFtZXN9Ojoke2lkZW50aXR5S2V5fWBcbn1cblxuLyoqXG4gKiBSZWFjdCBob29rIGRlY2xhcmluZyB3aGF0IGEgc2NyZWVuIHNob3dzIGFuZCBrZWVwaW5nIGl0IGN1cnJlbnQgZnJvbSBjb21taXR0ZWRcbiAqIGxvY2FsIG1vZGVsIGNoYW5nZXMuIFJ1bnMgYHF1ZXJ5LnRvQXJyYXkoKWAgb25jZSwgc3Vic2NyaWJlcyB0byB0aGUgcXVlcnknc1xuICogbW9kZWwgY2xhc3MoZXMpIG9uIHRoZSByZWNvcmQtY2hhbmdlIGJ1cywgYW5kIHJlLXJ1bnMgKGNvYWxlc2NlZCwgc3RhbGUtc2FmZSlcbiAqIHdoZW5ldmVyIGEgd2F0Y2hlZCBtb2RlbCBjb21taXRzIOKAlCBzbyBsb2NhbCB3cml0ZXMsIHB1bGwgYXBwbGllcywgYW5kIHJlYWx0aW1lXG4gKiBhcHBsaWVzIGFsbCByZWZyZXNoIHRoZSByZXN1bHRzIHdpdGhvdXQgYW55IG1hbnVhbCByZWZyZXNoIHBsdW1iaW5nLlxuICogQHRlbXBsYXRlIFRcbiAqIEBwYXJhbSB7KExpdmVRdWVyeVNvdXJjZTxUPiAmIHt0b1NxbD86ICgpID0+ID99KSB8IG51bGwgfCB1bmRlZmluZWR9IHF1ZXJ5IC0gUXVlcnkgc291cmNlLCBlLmcuIGBNb2RlbC53aGVyZSh7Li4ufSlgLlxuICogQHBhcmFtIHtVc2VMaXZlUXVlcnlPcHRpb25zfSBbb3B0aW9uc10gLSBIb29rIG9wdGlvbnMuXG4gKiBAcmV0dXJucyB7TGl2ZVF1ZXJ5U3RhdGU8VD59IEN1cnJlbnQgcmVzdWx0cywgbG9hZGluZywgYW5kIGxhc3QgZXJyb3IuXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHVzZUxpdmVRdWVyeShxdWVyeSwgb3B0aW9ucyA9IHt9KSB7XG4gIGNvbnN0IHthY3RpdmUgPSB0cnVlLCBkZWJvdW5jZSwgbW9kZWxzfSA9IG9wdGlvbnNcbiAgY29uc3QgZW5hYmxlZCA9IGFjdGl2ZSAmJiBCb29sZWFuKHF1ZXJ5KVxuICBjb25zdCBkZXBlbmRlbmN5S2V5ID0gZW5hYmxlZCAmJiBxdWVyeSA/IGxpdmVRdWVyeURlcGVuZGVuY3lLZXkocXVlcnksIG1vZGVscykgOiBcImRpc2FibGVkXCJcblxuICBjb25zdCBxdWVyeVJlZiA9IHVzZVJlZihxdWVyeSlcbiAgY29uc3QgbW9kZWxzUmVmID0gdXNlUmVmKG1vZGVscylcblxuICBxdWVyeVJlZi5jdXJyZW50ID0gcXVlcnlcbiAgbW9kZWxzUmVmLmN1cnJlbnQgPSBtb2RlbHNcblxuICBjb25zdCBsaXZlUXVlcnkgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBpZiAoIWVuYWJsZWQgfHwgIXF1ZXJ5UmVmLmN1cnJlbnQpIHJldHVybiBudWxsXG5cbiAgICByZXR1cm4gbmV3IExpdmVRdWVyeSh7ZGVib3VuY2UsIG1vZGVsczogbW9kZWxzUmVmLmN1cnJlbnQsIHF1ZXJ5OiBxdWVyeVJlZi5jdXJyZW50fSlcbiAgfSwgW2RlcGVuZGVuY3lLZXksIGRlYm91bmNlLCBlbmFibGVkXSlcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICghbGl2ZVF1ZXJ5KSByZXR1cm4gdW5kZWZpbmVkXG5cbiAgICBsaXZlUXVlcnkuc3RhcnQoKVxuXG4gICAgcmV0dXJuICgpID0+IGxpdmVRdWVyeS5jbG9zZSgpXG4gIH0sIFtsaXZlUXVlcnldKVxuXG4gIGNvbnN0IHN1YnNjcmliZSA9IHVzZUNhbGxiYWNrKCgvKiogQHR5cGUgeygpID0+IHZvaWR9ICovIGxpc3RlbmVyKSA9PiB7XG4gICAgaWYgKCFsaXZlUXVlcnkpIHJldHVybiAoKSA9PiB7fVxuXG4gICAgcmV0dXJuIGxpdmVRdWVyeS5zdWJzY3JpYmUobGlzdGVuZXIpXG4gIH0sIFtsaXZlUXVlcnldKVxuXG4gIGNvbnN0IGdldFNuYXBzaG90ID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIGlmICghbGl2ZVF1ZXJ5KSByZXR1cm4gLyoqIEB0eXBlIHtMaXZlUXVlcnlTdGF0ZTxUPn0gKi8gKEVNUFRZX1NUQVRFKVxuXG4gICAgcmV0dXJuIGxpdmVRdWVyeS5nZXRTdGF0ZSgpXG4gIH0sIFtsaXZlUXVlcnldKVxuXG4gIHJldHVybiB1c2VTeW5jRXh0ZXJuYWxTdG9yZShzdWJzY3JpYmUsIGdldFNuYXBzaG90LCBnZXRTbmFwc2hvdClcbn1cbiJdfQ==
@@ -1 +1 @@
1
- {"version":3,"file":"sync-api-client.d.ts","sourceRoot":"","sources":["../../../src/sync/sync-api-client.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sync-api-client.d.ts","sourceRoot":"","sources":["../../../src/sync/sync-api-client.js"],"names":[],"mappings":"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"}