@multiplatform.one/frappe 7.10.0 → 7.15.0
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.
- package/README.md +59 -1
- package/dist/cjs/auth.native.js.map +1 -1
- package/dist/cjs/call.native.js.map +1 -1
- package/dist/cjs/collection.native.js.map +1 -1
- package/dist/cjs/common/types.native.js.map +1 -1
- package/dist/cjs/core/http.native.js.map +1 -1
- package/dist/cjs/core/types.native.js.map +1 -1
- package/dist/cjs/core/wire.native.js.map +1 -1
- package/dist/cjs/db.native.js.map +1 -1
- package/dist/cjs/devtools/FrappeDevtoolsPanel.native.js.map +1 -1
- package/dist/cjs/devtools/index.native.js.map +1 -1
- package/dist/cjs/devtools/plugin.native.js.map +1 -1
- package/dist/cjs/devtools/theme.native.js.map +1 -1
- package/dist/cjs/doctype.cjs +25 -43
- package/dist/cjs/doctype.native.js +27 -43
- package/dist/cjs/doctype.native.js.map +1 -1
- package/dist/cjs/file.native.js.map +1 -1
- package/dist/cjs/fixtureDb.native.js.map +1 -1
- package/dist/cjs/fixtures.cjs +3 -0
- package/dist/cjs/fixtures.native.js +3 -0
- package/dist/cjs/fixtures.native.js.map +1 -1
- package/dist/cjs/frappeApp.native.js.map +1 -1
- package/dist/cjs/frappeReact.cjs +67 -31
- package/dist/cjs/frappeReact.native.js +87 -34
- package/dist/cjs/frappeReact.native.js.map +1 -1
- package/dist/cjs/index.cjs +7 -0
- package/dist/cjs/index.native.js +9 -2
- package/dist/cjs/index.native.js.map +1 -1
- package/dist/cjs/optimistic.native.js.map +1 -1
- package/dist/cjs/pacer.native.js.map +1 -1
- package/dist/cjs/plugin/index.native.js.map +1 -1
- package/dist/cjs/realtime.native.js.map +1 -1
- package/dist/cjs/serverLoaders.cjs +74 -0
- package/dist/cjs/serverLoaders.native.js +88 -0
- package/dist/cjs/serverLoaders.native.js.map +1 -0
- package/dist/cjs/sync/backfill.native.js.map +1 -1
- package/dist/cjs/sync/filters.native.js.map +1 -1
- package/dist/cjs/sync/index.cjs +99 -14
- package/dist/cjs/sync/index.native.js +129 -14
- package/dist/cjs/sync/index.native.js.map +1 -1
- package/dist/cjs/sync/merge.native.js.map +1 -1
- package/dist/cjs/sync/mutationEngine.native.js.map +1 -1
- package/dist/cjs/sync/mutationJournal.native.js.map +1 -1
- package/dist/cjs/sync/normalizedCache.native.js.map +1 -1
- package/dist/cjs/sync/persistence.native.js.map +1 -1
- package/dist/cjs/sync/realtime.native.js.map +1 -1
- package/dist/cjs/sync/rehydration.cjs +4 -0
- package/dist/cjs/sync/rehydration.native.js +6 -0
- package/dist/cjs/sync/rehydration.native.js.map +1 -1
- package/dist/cjs/sync/storage.native.js.map +1 -1
- package/dist/cjs/sync/subscriptionManager.native.js.map +1 -1
- package/dist/cjs/sync/types.native.js.map +1 -1
- package/dist/cjs/sync/virtualPageManager.native.js.map +1 -1
- package/dist/cjs/syncOptionsKey.cjs +59 -0
- package/dist/cjs/syncOptionsKey.native.js +82 -0
- package/dist/cjs/syncOptionsKey.native.js.map +1 -0
- package/dist/cjs/useLiveQuery.cjs +2 -20
- package/dist/cjs/useLiveQuery.native.js +1 -22
- package/dist/cjs/useLiveQuery.native.js.map +1 -1
- package/dist/cjs/util.native.js.map +1 -1
- package/dist/esm/auth.native.js.map +1 -1
- package/dist/esm/call.native.js.map +1 -1
- package/dist/esm/collection.native.js.map +1 -1
- package/dist/esm/common/types.native.js.map +1 -1
- package/dist/esm/core/http.native.js.map +1 -1
- package/dist/esm/core/types.native.js.map +1 -1
- package/dist/esm/core/wire.native.js.map +1 -1
- package/dist/esm/db.native.js.map +1 -1
- package/dist/esm/devtools/FrappeDevtoolsPanel.native.js.map +1 -1
- package/dist/esm/devtools/index.native.js.map +1 -1
- package/dist/esm/devtools/plugin.native.js.map +1 -1
- package/dist/esm/devtools/theme.native.js.map +1 -1
- package/dist/esm/doctype.mjs +23 -44
- package/dist/esm/doctype.mjs.map +1 -1
- package/dist/esm/doctype.native.js +25 -44
- package/dist/esm/doctype.native.js.map +1 -1
- package/dist/esm/file.native.js.map +1 -1
- package/dist/esm/fixtureDb.native.js.map +1 -1
- package/dist/esm/fixtures.mjs +3 -0
- package/dist/esm/fixtures.mjs.map +1 -1
- package/dist/esm/fixtures.native.js +3 -0
- package/dist/esm/fixtures.native.js.map +1 -1
- package/dist/esm/frappeApp.native.js.map +1 -1
- package/dist/esm/frappeReact.mjs +68 -33
- package/dist/esm/frappeReact.mjs.map +1 -1
- package/dist/esm/frappeReact.native.js +87 -35
- package/dist/esm/frappeReact.native.js.map +1 -1
- package/dist/esm/index.mjs +4 -3
- package/dist/esm/index.mjs.map +1 -1
- package/dist/esm/index.native.js +4 -3
- package/dist/esm/index.native.js.map +1 -1
- package/dist/esm/optimistic.native.js.map +1 -1
- package/dist/esm/pacer.native.js.map +1 -1
- package/dist/esm/plugin/index.native.js.map +1 -1
- package/dist/esm/realtime.native.js.map +1 -1
- package/dist/esm/serverLoaders.mjs +48 -0
- package/dist/esm/serverLoaders.mjs.map +1 -0
- package/dist/esm/serverLoaders.native.js +59 -0
- package/dist/esm/serverLoaders.native.js.map +1 -0
- package/dist/esm/sync/backfill.native.js.map +1 -1
- package/dist/esm/sync/filters.native.js.map +1 -1
- package/dist/esm/sync/index.mjs +99 -14
- package/dist/esm/sync/index.mjs.map +1 -1
- package/dist/esm/sync/index.native.js +129 -14
- package/dist/esm/sync/index.native.js.map +1 -1
- package/dist/esm/sync/merge.native.js.map +1 -1
- package/dist/esm/sync/mutationEngine.native.js.map +1 -1
- package/dist/esm/sync/mutationJournal.native.js.map +1 -1
- package/dist/esm/sync/normalizedCache.native.js.map +1 -1
- package/dist/esm/sync/persistence.native.js.map +1 -1
- package/dist/esm/sync/realtime.native.js.map +1 -1
- package/dist/esm/sync/rehydration.mjs +4 -0
- package/dist/esm/sync/rehydration.mjs.map +1 -1
- package/dist/esm/sync/rehydration.native.js +6 -0
- package/dist/esm/sync/rehydration.native.js.map +1 -1
- package/dist/esm/sync/storage.native.js.map +1 -1
- package/dist/esm/sync/subscriptionManager.native.js.map +1 -1
- package/dist/esm/sync/types.mjs.map +1 -1
- package/dist/esm/sync/types.native.js.map +1 -1
- package/dist/esm/sync/virtualPageManager.native.js.map +1 -1
- package/dist/esm/syncOptionsKey.mjs +34 -0
- package/dist/esm/syncOptionsKey.mjs.map +1 -0
- package/dist/esm/syncOptionsKey.native.js +54 -0
- package/dist/esm/syncOptionsKey.native.js.map +1 -0
- package/dist/esm/useLiveQuery.mjs +1 -19
- package/dist/esm/useLiveQuery.mjs.map +1 -1
- package/dist/esm/useLiveQuery.native.js +1 -22
- package/dist/esm/useLiveQuery.native.js.map +1 -1
- package/dist/esm/util.native.js.map +1 -1
- package/dist/jsx/auth.native.js.map +1 -1
- package/dist/jsx/call.native.js.map +1 -1
- package/dist/jsx/collection.native.js.map +1 -1
- package/dist/jsx/common/types.native.js.map +1 -1
- package/dist/jsx/core/http.native.js.map +1 -1
- package/dist/jsx/core/types.native.js.map +1 -1
- package/dist/jsx/core/wire.native.js.map +1 -1
- package/dist/jsx/db.native.js.map +1 -1
- package/dist/jsx/devtools/FrappeDevtoolsPanel.native.js.map +1 -1
- package/dist/jsx/devtools/index.native.js.map +1 -1
- package/dist/jsx/devtools/plugin.native.js.map +1 -1
- package/dist/jsx/devtools/theme.native.js.map +1 -1
- package/dist/jsx/doctype.mjs +23 -44
- package/dist/jsx/doctype.mjs.map +1 -1
- package/dist/jsx/doctype.native.js +27 -43
- package/dist/jsx/doctype.native.js.map +1 -1
- package/dist/jsx/file.native.js.map +1 -1
- package/dist/jsx/fixtureDb.native.js.map +1 -1
- package/dist/jsx/fixtures.mjs +3 -0
- package/dist/jsx/fixtures.mjs.map +1 -1
- package/dist/jsx/fixtures.native.js +3 -0
- package/dist/jsx/fixtures.native.js.map +1 -1
- package/dist/jsx/frappeApp.native.js.map +1 -1
- package/dist/jsx/frappeReact.mjs +68 -33
- package/dist/jsx/frappeReact.mjs.map +1 -1
- package/dist/jsx/frappeReact.native.js +87 -34
- package/dist/jsx/frappeReact.native.js.map +1 -1
- package/dist/jsx/index.js +4 -3
- package/dist/jsx/index.js.map +1 -1
- package/dist/jsx/index.mjs +4 -3
- package/dist/jsx/index.mjs.map +1 -1
- package/dist/jsx/index.native.js +9 -2
- package/dist/jsx/index.native.js.map +1 -1
- package/dist/jsx/optimistic.native.js.map +1 -1
- package/dist/jsx/pacer.native.js.map +1 -1
- package/dist/jsx/plugin/index.native.js.map +1 -1
- package/dist/jsx/realtime.native.js.map +1 -1
- package/dist/jsx/serverLoaders.mjs +48 -0
- package/dist/jsx/serverLoaders.mjs.map +1 -0
- package/dist/jsx/serverLoaders.native.js +88 -0
- package/dist/jsx/serverLoaders.native.js.map +1 -0
- package/dist/jsx/sync/backfill.native.js.map +1 -1
- package/dist/jsx/sync/filters.native.js.map +1 -1
- package/dist/jsx/sync/index.mjs +99 -14
- package/dist/jsx/sync/index.mjs.map +1 -1
- package/dist/jsx/sync/index.native.js +129 -14
- package/dist/jsx/sync/index.native.js.map +1 -1
- package/dist/jsx/sync/merge.native.js.map +1 -1
- package/dist/jsx/sync/mutationEngine.native.js.map +1 -1
- package/dist/jsx/sync/mutationJournal.native.js.map +1 -1
- package/dist/jsx/sync/normalizedCache.native.js.map +1 -1
- package/dist/jsx/sync/persistence.native.js.map +1 -1
- package/dist/jsx/sync/realtime.native.js.map +1 -1
- package/dist/jsx/sync/rehydration.mjs +4 -0
- package/dist/jsx/sync/rehydration.mjs.map +1 -1
- package/dist/jsx/sync/rehydration.native.js +6 -0
- package/dist/jsx/sync/rehydration.native.js.map +1 -1
- package/dist/jsx/sync/storage.native.js.map +1 -1
- package/dist/jsx/sync/subscriptionManager.native.js.map +1 -1
- package/dist/jsx/sync/types.mjs.map +1 -1
- package/dist/jsx/sync/types.native.js.map +1 -1
- package/dist/jsx/sync/virtualPageManager.native.js.map +1 -1
- package/dist/jsx/syncOptionsKey.mjs +34 -0
- package/dist/jsx/syncOptionsKey.mjs.map +1 -0
- package/dist/jsx/syncOptionsKey.native.js +82 -0
- package/dist/jsx/syncOptionsKey.native.js.map +1 -0
- package/dist/jsx/useLiveQuery.mjs +1 -19
- package/dist/jsx/useLiveQuery.mjs.map +1 -1
- package/dist/jsx/useLiveQuery.native.js +1 -22
- package/dist/jsx/useLiveQuery.native.js.map +1 -1
- package/dist/jsx/util.native.js.map +1 -1
- package/package.json +12 -12
- package/src/doctype.spec.ts +148 -5
- package/src/doctype.ts +202 -173
- package/src/fixtures.ts +1 -0
- package/src/frappeReact.catchUp.spec.tsx +105 -0
- package/src/frappeReact.hydration.spec.tsx +164 -0
- package/src/frappeReact.spec.ts +56 -0
- package/src/frappeReact.ts +93 -43
- package/src/index.ts +14 -0
- package/src/serverLoaders.ts +77 -0
- package/src/sync/catchUp.spec.ts +142 -0
- package/src/sync/index.ts +106 -9
- package/src/sync/rehydration.ts +5 -0
- package/src/sync/syncModule.spec.ts +20 -0
- package/src/sync/types.ts +9 -1
- package/src/syncOptionsKey.spec.ts +46 -0
- package/src/syncOptionsKey.ts +45 -0
- package/src/useLiveQuery.hydration.spec.tsx +129 -0
- package/src/useLiveQuery.spec.ts +3 -11
- package/src/useLiveQuery.ts +3 -57
- package/types/doctype.d.ts +117 -33
- package/types/doctype.d.ts.map +1 -1
- package/types/fixtures.d.ts.map +1 -1
- package/types/frappeReact.d.ts +9 -3
- package/types/frappeReact.d.ts.map +1 -1
- package/types/index.d.ts +6 -5
- package/types/index.d.ts.map +1 -1
- package/types/serverLoaders.d.ts +40 -0
- package/types/serverLoaders.d.ts.map +1 -0
- package/types/sync/index.d.ts +15 -1
- package/types/sync/index.d.ts.map +1 -1
- package/types/sync/rehydration.d.ts +2 -0
- package/types/sync/rehydration.d.ts.map +1 -1
- package/types/sync/types.d.ts +8 -1
- package/types/sync/types.d.ts.map +1 -1
- package/types/syncOptionsKey.d.ts +3 -0
- package/types/syncOptionsKey.d.ts.map +1 -0
- package/types/useLiveQuery.d.ts +3 -13
- package/types/useLiveQuery.d.ts.map +1 -1
package/dist/esm/sync/index.mjs
CHANGED
|
@@ -16,6 +16,11 @@ function getBrowserJournalStorage() {
|
|
|
16
16
|
return void 0;
|
|
17
17
|
}
|
|
18
18
|
}
|
|
19
|
+
const idleCatchUpState = Object.freeze({
|
|
20
|
+
refreshing: false,
|
|
21
|
+
stale: false,
|
|
22
|
+
error: null
|
|
23
|
+
});
|
|
19
24
|
class SyncModule {
|
|
20
25
|
normalizedCache;
|
|
21
26
|
mutationJournal;
|
|
@@ -41,6 +46,10 @@ class SyncModule {
|
|
|
41
46
|
db;
|
|
42
47
|
realtime;
|
|
43
48
|
options;
|
|
49
|
+
catchUpState = idleCatchUpState;
|
|
50
|
+
catchUpEpoch = 0;
|
|
51
|
+
disposed = false;
|
|
52
|
+
catchUpRun;
|
|
44
53
|
constructor(db, realtime, options = {}) {
|
|
45
54
|
this.db = db;
|
|
46
55
|
this.realtime = realtime;
|
|
@@ -66,9 +75,9 @@ class SyncModule {
|
|
|
66
75
|
const realtimeOptions = {
|
|
67
76
|
...this.options,
|
|
68
77
|
onResetCache: () => this.resetCache(),
|
|
69
|
-
onBackfillAll: () =>
|
|
70
|
-
|
|
71
|
-
}
|
|
78
|
+
onBackfillAll: () => {
|
|
79
|
+
void this.catchUp();
|
|
80
|
+
},
|
|
72
81
|
// Realtime reconciliation mutates cache/membership outside the public
|
|
73
82
|
// mutate/backfill entry points — bridge those changes to store listeners.
|
|
74
83
|
onStoreChange: () => this.emit(),
|
|
@@ -86,20 +95,20 @@ class SyncModule {
|
|
|
86
95
|
* Stores cleanup functions returned by each subscription.
|
|
87
96
|
*/
|
|
88
97
|
setupWindowEvents() {
|
|
89
|
-
this.cleanupFocus = onAppFocus(() =>
|
|
90
|
-
|
|
91
|
-
})
|
|
98
|
+
this.cleanupFocus = onAppFocus(() => {
|
|
99
|
+
void this.catchUp();
|
|
100
|
+
});
|
|
92
101
|
this.cleanupFocusReplay = onAppFocus(() => {
|
|
93
102
|
if (this.mutationJournal.listPending().length > 0) void this.replayPending();
|
|
94
103
|
});
|
|
95
|
-
this.cleanupOnlineBackfill = onOnline(() =>
|
|
96
|
-
|
|
97
|
-
})
|
|
104
|
+
this.cleanupOnlineBackfill = onOnline(() => {
|
|
105
|
+
void this.catchUp();
|
|
106
|
+
});
|
|
98
107
|
this.cleanupOnlineReplay = onOnline(() => this.replayPending());
|
|
99
108
|
if (this.options.cdcInterval && this.options.cdcInterval > 0) {
|
|
100
|
-
this.cdcIntervalHandle = setInterval(() =>
|
|
101
|
-
|
|
102
|
-
}
|
|
109
|
+
this.cdcIntervalHandle = setInterval(() => {
|
|
110
|
+
void this.catchUp();
|
|
111
|
+
}, this.options.cdcInterval);
|
|
103
112
|
}
|
|
104
113
|
}
|
|
105
114
|
/**
|
|
@@ -112,6 +121,9 @@ class SyncModule {
|
|
|
112
121
|
* the subscription is marked stale until the next successful backfill.
|
|
113
122
|
*/
|
|
114
123
|
async subscribe(query) {
|
|
124
|
+
if (this.options.catchUpStrategy === "snapshot" && query.progressive) {
|
|
125
|
+
throw new Error("Snapshot catch-up does not support progressive subscriptions");
|
|
126
|
+
}
|
|
115
127
|
await this.persistenceManager.whenReady();
|
|
116
128
|
const result = await this.subscriptionManager.subscribe(query);
|
|
117
129
|
this.realtimeHandler.watchDoctype(query.doctype);
|
|
@@ -138,19 +150,88 @@ class SyncModule {
|
|
|
138
150
|
this.persistenceManager.broadcastMutation(mutation);
|
|
139
151
|
this.emit();
|
|
140
152
|
}
|
|
153
|
+
/**
|
|
154
|
+
* The name the server assigned a document this module created under
|
|
155
|
+
* `temporaryName`, once the create is acknowledged. Undefined while it is
|
|
156
|
+
* pending, or when the server kept the name it was given.
|
|
157
|
+
*/
|
|
158
|
+
createdName(temporaryName) {
|
|
159
|
+
return this.rehydrationManager.resolveTempId(temporaryName);
|
|
160
|
+
}
|
|
141
161
|
/** Refresh active query snapshots in place. Failures retain the last committed data. */
|
|
142
162
|
async refreshSubscriptions(options) {
|
|
163
|
+
const epoch = this.catchUpEpoch;
|
|
143
164
|
await this.persistenceManager.whenReady();
|
|
165
|
+
if (this.disposed || epoch !== this.catchUpEpoch) return [];
|
|
144
166
|
const results = await this.subscriptionManager.refreshSubscriptions(options);
|
|
145
|
-
this.emit();
|
|
167
|
+
if (!this.disposed && epoch === this.catchUpEpoch) this.emit();
|
|
146
168
|
return results;
|
|
147
169
|
}
|
|
170
|
+
getCatchUpState() {
|
|
171
|
+
return this.catchUpState;
|
|
172
|
+
}
|
|
173
|
+
publishCatchUp(state) {
|
|
174
|
+
this.catchUpState = Object.freeze(state);
|
|
175
|
+
for (const listener of this.storeListeners) listener();
|
|
176
|
+
}
|
|
177
|
+
/** Observes lifecycle/retry failures in state; explicit backfill still rejects. */
|
|
178
|
+
catchUp() {
|
|
179
|
+
if (this.disposed) return Promise.resolve(this.catchUpState);
|
|
180
|
+
if (this.catchUpRun) {
|
|
181
|
+
if (this.catchUpRun.attempt === 0) this.catchUpRun.trailing = true;
|
|
182
|
+
return this.catchUpRun.promise;
|
|
183
|
+
}
|
|
184
|
+
const epoch = this.catchUpEpoch;
|
|
185
|
+
const run = {
|
|
186
|
+
trailing: false,
|
|
187
|
+
attempt: 0,
|
|
188
|
+
promise: Promise.resolve(this.catchUpState)
|
|
189
|
+
};
|
|
190
|
+
this.catchUpRun = run;
|
|
191
|
+
run.promise = Promise.resolve().then(async () => {
|
|
192
|
+
let error = null;
|
|
193
|
+
const active = () => !this.disposed && this.catchUpEpoch === epoch;
|
|
194
|
+
do {
|
|
195
|
+
if (!active()) return this.catchUpState;
|
|
196
|
+
run.trailing = false;
|
|
197
|
+
error = null;
|
|
198
|
+
try {
|
|
199
|
+
if (this.options.catchUpStrategy === "snapshot") {
|
|
200
|
+
const results = await this.refreshSubscriptions();
|
|
201
|
+
const failures = results.filter(result => !result.ok && this.subscriptionManager.getSubscription(result.subscriptionId) && !this.subscriptionManager.isRestoredSubscription(result.subscriptionId));
|
|
202
|
+
if (failures.length) error = new AggregateError(failures.map(failure => failure.error), "Some subscriptions could not refresh. Showing previous data.");
|
|
203
|
+
} else {
|
|
204
|
+
await this.backfill({
|
|
205
|
+
scope: BackfillScope.All
|
|
206
|
+
});
|
|
207
|
+
}
|
|
208
|
+
} catch (caught) {
|
|
209
|
+
error = caught;
|
|
210
|
+
}
|
|
211
|
+
} while (active() && run.trailing && run.attempt++ === 0);
|
|
212
|
+
if (active()) {
|
|
213
|
+
this.catchUpRun = void 0;
|
|
214
|
+
this.publishCatchUp({
|
|
215
|
+
refreshing: false,
|
|
216
|
+
stale: error !== null,
|
|
217
|
+
error
|
|
218
|
+
});
|
|
219
|
+
}
|
|
220
|
+
return this.catchUpState;
|
|
221
|
+
});
|
|
222
|
+
this.publishCatchUp({
|
|
223
|
+
...this.catchUpState,
|
|
224
|
+
refreshing: true
|
|
225
|
+
});
|
|
226
|
+
return run.promise;
|
|
227
|
+
}
|
|
148
228
|
/**
|
|
149
229
|
* Reconciles local state by fetching changes since stored cursors.
|
|
150
230
|
*/
|
|
151
231
|
async backfill(args) {
|
|
232
|
+
const epoch = this.catchUpEpoch;
|
|
152
233
|
await this.subscriptionManager.backfill(args);
|
|
153
|
-
this.emit();
|
|
234
|
+
if (!this.disposed && epoch === this.catchUpEpoch) this.emit();
|
|
154
235
|
}
|
|
155
236
|
/**
|
|
156
237
|
* Replays pending mutations with error handling.
|
|
@@ -294,6 +375,9 @@ class SyncModule {
|
|
|
294
375
|
}
|
|
295
376
|
/** Clears subscriptions, cache, journal, and temp id mappings. */
|
|
296
377
|
resetCache() {
|
|
378
|
+
this.catchUpEpoch++;
|
|
379
|
+
this.catchUpRun = void 0;
|
|
380
|
+
this.catchUpState = idleCatchUpState;
|
|
297
381
|
this.realtimeHandler.unwatchAll();
|
|
298
382
|
this.subscriptionManager.clear();
|
|
299
383
|
this.normalizedCache.clear();
|
|
@@ -303,6 +387,7 @@ class SyncModule {
|
|
|
303
387
|
}
|
|
304
388
|
/** Cleanup and dispose of resources */
|
|
305
389
|
async dispose() {
|
|
390
|
+
this.disposed = true;
|
|
306
391
|
this.storeListeners.clear();
|
|
307
392
|
this.realtimeEventListeners.clear();
|
|
308
393
|
this.resetCache();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["onAppFocus","onOnline","MutationEngine","MutationJournal","NormalizedCache","PersistenceManager","RealtimeHandler","RehydrationManager","SubscriptionManager","BackfillScope","Status","getBrowserJournalStorage","window","document","storage","localStorage","getItem","setItem","SyncModule","normalizedCache","mutationJournal","storeListeners","Set","realtimeEventListeners","subscriptionManager","mutationEngine","realtimeHandler","persistenceManager","rehydrationManager","cleanupFocus","cleanupFocusReplay","cleanupOnlineBackfill","cleanupOnlineReplay","cdcIntervalHandle","db","realtime","options","constructor","maxSize","maxCacheSize","ttl","mutationTTL","enableAutoCleanup","emit","onStoreChange","realtimeOptions","onResetCache","resetCache","onBackfillAll","backfill","scope","All","onRealtimeEvent","event","listener","setupWindowEvents","listPending","length","replayPending","cdcInterval","setInterval","subscribe","query","whenReady","result","watchDoctype","doctype","refresh","then","unsubscribe","subscriptionId","subscription","getSubscription","unwatchDoctype","mutate","mutation","err","broadcastMutation","refreshSubscriptions","results","args","getMutationEntries","entries","id","entry","push","operation","docname","status","createdAt","retryCount","error","message","String","dismissMutation","remove","getDocFromCache","name","get","getDocsForSubscription","getPage","page","getNextBatch","cursorDocId","limit","getPageInfo","refetchDocs","docs","Docs","subscribeStore","add","delete","subscribeRealtimeEvents","getConnectionState","scheduleSave","broadcastChange","unwatchAll","clear","clearTemporaryMappings","dispose","destroy","clearInterval","__debug","allSubs","getAllSubscriptions","vpm","getVirtualPageManager","subscriptions","sub","virtualSub","pageInfo","islands","getPageIslands","debugSub","docCount","docIds","tombstoneCount","tombstones","size","checkpoint","cursor","stale","restored","isRestoredSubscription","pc","getProgressiveCache","progressiveCache","nextCursor","hasMore","totalCount","lastFetchedAt","toISOString","cacheStats","getStats","allEntries","getAllEntries","pending","confirmed","failed","debugEntry","Pending","Confirmed","Failed","connection","socketConnected","getIsConnected","isLeader","getIsLeader","isOnline","navigator","onLine"],"sources":["../../../src/sync/index.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["onAppFocus","onOnline","MutationEngine","MutationJournal","NormalizedCache","PersistenceManager","RealtimeHandler","RehydrationManager","SubscriptionManager","BackfillScope","Status","getBrowserJournalStorage","window","document","storage","localStorage","getItem","setItem","idleCatchUpState","Object","freeze","refreshing","stale","error","SyncModule","normalizedCache","mutationJournal","storeListeners","Set","realtimeEventListeners","subscriptionManager","mutationEngine","realtimeHandler","persistenceManager","rehydrationManager","cleanupFocus","cleanupFocusReplay","cleanupOnlineBackfill","cleanupOnlineReplay","cdcIntervalHandle","db","realtime","options","catchUpState","catchUpEpoch","disposed","catchUpRun","constructor","maxSize","maxCacheSize","ttl","mutationTTL","enableAutoCleanup","emit","onStoreChange","realtimeOptions","onResetCache","resetCache","onBackfillAll","catchUp","onRealtimeEvent","event","listener","setupWindowEvents","listPending","length","replayPending","cdcInterval","setInterval","subscribe","query","catchUpStrategy","progressive","Error","whenReady","result","watchDoctype","doctype","refresh","then","unsubscribe","subscriptionId","subscription","getSubscription","unwatchDoctype","mutate","mutation","err","broadcastMutation","createdName","temporaryName","resolveTempId","refreshSubscriptions","epoch","results","getCatchUpState","publishCatchUp","state","Promise","resolve","attempt","trailing","promise","run","active","failures","filter","ok","isRestoredSubscription","AggregateError","map","failure","backfill","scope","All","caught","args","getMutationEntries","entries","id","entry","push","operation","docname","status","createdAt","retryCount","message","String","dismissMutation","remove","getDocFromCache","name","get","getDocsForSubscription","getPage","page","getNextBatch","cursorDocId","limit","getPageInfo","refetchDocs","docs","Docs","subscribeStore","add","delete","subscribeRealtimeEvents","getConnectionState","scheduleSave","broadcastChange","unwatchAll","clear","clearTemporaryMappings","dispose","destroy","clearInterval","__debug","allSubs","getAllSubscriptions","vpm","getVirtualPageManager","subscriptions","sub","virtualSub","pageInfo","islands","getPageIslands","debugSub","docCount","docIds","tombstoneCount","tombstones","size","checkpoint","cursor","restored","pc","getProgressiveCache","progressiveCache","nextCursor","hasMore","totalCount","lastFetchedAt","toISOString","cacheStats","getStats","allEntries","getAllEntries","pending","confirmed","failed","debugEntry","Pending","Confirmed","Failed","connection","socketConnected","getIsConnected","isLeader","getIsLeader","isOnline","navigator","onLine"],"sources":["../../../src/sync/index.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -48,6 +48,11 @@ function getBrowserJournalStorage() {
|
|
|
48
48
|
return void 0;
|
|
49
49
|
}
|
|
50
50
|
}
|
|
51
|
+
var idleCatchUpState = Object.freeze({
|
|
52
|
+
refreshing: false,
|
|
53
|
+
stale: false,
|
|
54
|
+
error: null
|
|
55
|
+
});
|
|
51
56
|
var SyncModule = /* @__PURE__ */function () {
|
|
52
57
|
"use strict";
|
|
53
58
|
|
|
@@ -72,6 +77,10 @@ var SyncModule = /* @__PURE__ */function () {
|
|
|
72
77
|
_define_property(this, "db", void 0);
|
|
73
78
|
_define_property(this, "realtime", void 0);
|
|
74
79
|
_define_property(this, "options", void 0);
|
|
80
|
+
_define_property(this, "catchUpState", idleCatchUpState);
|
|
81
|
+
_define_property(this, "catchUpEpoch", 0);
|
|
82
|
+
_define_property(this, "disposed", false);
|
|
83
|
+
_define_property(this, "catchUpRun", void 0);
|
|
75
84
|
this.db = db;
|
|
76
85
|
this.realtime = realtime;
|
|
77
86
|
this.options = options;
|
|
@@ -103,9 +112,7 @@ var SyncModule = /* @__PURE__ */function () {
|
|
|
103
112
|
return _this.resetCache();
|
|
104
113
|
},
|
|
105
114
|
onBackfillAll: function onBackfillAll() {
|
|
106
|
-
|
|
107
|
-
scope: BackfillScope.All
|
|
108
|
-
});
|
|
115
|
+
void _this.catchUp();
|
|
109
116
|
},
|
|
110
117
|
// Realtime reconciliation mutates cache/membership outside the public
|
|
111
118
|
// mutate/backfill entry points — bridge those changes to store listeners.
|
|
@@ -153,26 +160,20 @@ var SyncModule = /* @__PURE__ */function () {
|
|
|
153
160
|
function setupWindowEvents() {
|
|
154
161
|
var _this = this;
|
|
155
162
|
this.cleanupFocus = onAppFocus(function () {
|
|
156
|
-
|
|
157
|
-
scope: BackfillScope.All
|
|
158
|
-
});
|
|
163
|
+
void _this.catchUp();
|
|
159
164
|
});
|
|
160
165
|
this.cleanupFocusReplay = onAppFocus(function () {
|
|
161
166
|
if (_this.mutationJournal.listPending().length > 0) void _this.replayPending();
|
|
162
167
|
});
|
|
163
168
|
this.cleanupOnlineBackfill = onOnline(function () {
|
|
164
|
-
|
|
165
|
-
scope: BackfillScope.All
|
|
166
|
-
});
|
|
169
|
+
void _this.catchUp();
|
|
167
170
|
});
|
|
168
171
|
this.cleanupOnlineReplay = onOnline(function () {
|
|
169
172
|
return _this.replayPending();
|
|
170
173
|
});
|
|
171
174
|
if (this.options.cdcInterval && this.options.cdcInterval > 0) {
|
|
172
175
|
this.cdcIntervalHandle = setInterval(function () {
|
|
173
|
-
|
|
174
|
-
scope: BackfillScope.All
|
|
175
|
-
});
|
|
176
|
+
void _this.catchUp();
|
|
176
177
|
}, this.options.cdcInterval);
|
|
177
178
|
}
|
|
178
179
|
})
|
|
@@ -190,6 +191,9 @@ var SyncModule = /* @__PURE__ */function () {
|
|
|
190
191
|
*/
|
|
191
192
|
async function subscribe(query) {
|
|
192
193
|
var _this = this;
|
|
194
|
+
if (this.options.catchUpStrategy === "snapshot" && query.progressive) {
|
|
195
|
+
throw new Error("Snapshot catch-up does not support progressive subscriptions");
|
|
196
|
+
}
|
|
193
197
|
await this.persistenceManager.whenReady();
|
|
194
198
|
var result = await this.subscriptionManager.subscribe(query);
|
|
195
199
|
this.realtimeHandler.watchDoctype(query.doctype);
|
|
@@ -222,15 +226,121 @@ var SyncModule = /* @__PURE__ */function () {
|
|
|
222
226
|
this.persistenceManager.broadcastMutation(mutation);
|
|
223
227
|
this.emit();
|
|
224
228
|
}
|
|
229
|
+
}, {
|
|
230
|
+
/**
|
|
231
|
+
* The name the server assigned a document this module created under
|
|
232
|
+
* `temporaryName`, once the create is acknowledged. Undefined while it is
|
|
233
|
+
* pending, or when the server kept the name it was given.
|
|
234
|
+
*/
|
|
235
|
+
key: "createdName",
|
|
236
|
+
value: function createdName(temporaryName) {
|
|
237
|
+
return this.rehydrationManager.resolveTempId(temporaryName);
|
|
238
|
+
}
|
|
225
239
|
}, {
|
|
226
240
|
key: "refreshSubscriptions",
|
|
227
241
|
value: (/** Refresh active query snapshots in place. Failures retain the last committed data. */
|
|
228
242
|
async function refreshSubscriptions(options) {
|
|
243
|
+
var epoch = this.catchUpEpoch;
|
|
229
244
|
await this.persistenceManager.whenReady();
|
|
245
|
+
if (this.disposed || epoch !== this.catchUpEpoch) return [];
|
|
230
246
|
var results = await this.subscriptionManager.refreshSubscriptions(options);
|
|
231
|
-
this.emit();
|
|
247
|
+
if (!this.disposed && epoch === this.catchUpEpoch) this.emit();
|
|
232
248
|
return results;
|
|
233
249
|
})
|
|
250
|
+
}, {
|
|
251
|
+
key: "getCatchUpState",
|
|
252
|
+
value: function getCatchUpState() {
|
|
253
|
+
return this.catchUpState;
|
|
254
|
+
}
|
|
255
|
+
}, {
|
|
256
|
+
key: "publishCatchUp",
|
|
257
|
+
value: function publishCatchUp(state) {
|
|
258
|
+
this.catchUpState = Object.freeze(state);
|
|
259
|
+
var _iteratorNormalCompletion = true,
|
|
260
|
+
_didIteratorError = false,
|
|
261
|
+
_iteratorError = void 0;
|
|
262
|
+
try {
|
|
263
|
+
for (var _iterator = this.storeListeners[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
|
|
264
|
+
var listener = _step.value;
|
|
265
|
+
listener();
|
|
266
|
+
}
|
|
267
|
+
} catch (err) {
|
|
268
|
+
_didIteratorError = true;
|
|
269
|
+
_iteratorError = err;
|
|
270
|
+
} finally {
|
|
271
|
+
try {
|
|
272
|
+
if (!_iteratorNormalCompletion && _iterator.return != null) {
|
|
273
|
+
_iterator.return();
|
|
274
|
+
}
|
|
275
|
+
} finally {
|
|
276
|
+
if (_didIteratorError) {
|
|
277
|
+
throw _iteratorError;
|
|
278
|
+
}
|
|
279
|
+
}
|
|
280
|
+
}
|
|
281
|
+
}
|
|
282
|
+
}, {
|
|
283
|
+
/** Observes lifecycle/retry failures in state; explicit backfill still rejects. */
|
|
284
|
+
key: "catchUp",
|
|
285
|
+
value: function catchUp() {
|
|
286
|
+
var _this = this;
|
|
287
|
+
if (this.disposed) return Promise.resolve(this.catchUpState);
|
|
288
|
+
if (this.catchUpRun) {
|
|
289
|
+
if (this.catchUpRun.attempt === 0) this.catchUpRun.trailing = true;
|
|
290
|
+
return this.catchUpRun.promise;
|
|
291
|
+
}
|
|
292
|
+
var epoch = this.catchUpEpoch;
|
|
293
|
+
var run = {
|
|
294
|
+
trailing: false,
|
|
295
|
+
attempt: 0,
|
|
296
|
+
promise: Promise.resolve(this.catchUpState)
|
|
297
|
+
};
|
|
298
|
+
this.catchUpRun = run;
|
|
299
|
+
run.promise = Promise.resolve().then(async function () {
|
|
300
|
+
var error = null;
|
|
301
|
+
var active = function active2() {
|
|
302
|
+
return !_this.disposed && _this.catchUpEpoch === epoch;
|
|
303
|
+
};
|
|
304
|
+
do {
|
|
305
|
+
if (!active()) return _this.catchUpState;
|
|
306
|
+
run.trailing = false;
|
|
307
|
+
error = null;
|
|
308
|
+
try {
|
|
309
|
+
if (_this.options.catchUpStrategy === "snapshot") {
|
|
310
|
+
var results = await _this.refreshSubscriptions();
|
|
311
|
+
var failures = results.filter(function (result) {
|
|
312
|
+
return !result.ok && _this.subscriptionManager.getSubscription(result.subscriptionId) && !_this.subscriptionManager.isRestoredSubscription(result.subscriptionId);
|
|
313
|
+
});
|
|
314
|
+
if (failures.length) error = new AggregateError(failures.map(function (failure) {
|
|
315
|
+
return failure.error;
|
|
316
|
+
}), "Some subscriptions could not refresh. Showing previous data.");
|
|
317
|
+
} else {
|
|
318
|
+
await _this.backfill({
|
|
319
|
+
scope: BackfillScope.All
|
|
320
|
+
});
|
|
321
|
+
}
|
|
322
|
+
} catch (caught) {
|
|
323
|
+
error = caught;
|
|
324
|
+
}
|
|
325
|
+
} while (
|
|
326
|
+
// Bound a burst to one trailing read, including triggers during that read.
|
|
327
|
+
active() && run.trailing && run.attempt++ === 0);
|
|
328
|
+
if (active()) {
|
|
329
|
+
_this.catchUpRun = void 0;
|
|
330
|
+
_this.publishCatchUp({
|
|
331
|
+
refreshing: false,
|
|
332
|
+
stale: error !== null,
|
|
333
|
+
error
|
|
334
|
+
});
|
|
335
|
+
}
|
|
336
|
+
return _this.catchUpState;
|
|
337
|
+
});
|
|
338
|
+
this.publishCatchUp({
|
|
339
|
+
...this.catchUpState,
|
|
340
|
+
refreshing: true
|
|
341
|
+
});
|
|
342
|
+
return run.promise;
|
|
343
|
+
}
|
|
234
344
|
}, {
|
|
235
345
|
key: "backfill",
|
|
236
346
|
value: (
|
|
@@ -238,8 +348,9 @@ var SyncModule = /* @__PURE__ */function () {
|
|
|
238
348
|
* Reconciles local state by fetching changes since stored cursors.
|
|
239
349
|
*/
|
|
240
350
|
async function backfill(args) {
|
|
351
|
+
var epoch = this.catchUpEpoch;
|
|
241
352
|
await this.subscriptionManager.backfill(args);
|
|
242
|
-
this.emit();
|
|
353
|
+
if (!this.disposed && epoch === this.catchUpEpoch) this.emit();
|
|
243
354
|
})
|
|
244
355
|
}, {
|
|
245
356
|
key: "replayPending",
|
|
@@ -463,6 +574,9 @@ var SyncModule = /* @__PURE__ */function () {
|
|
|
463
574
|
/** Clears subscriptions, cache, journal, and temp id mappings. */
|
|
464
575
|
key: "resetCache",
|
|
465
576
|
value: function resetCache() {
|
|
577
|
+
this.catchUpEpoch++;
|
|
578
|
+
this.catchUpRun = void 0;
|
|
579
|
+
this.catchUpState = idleCatchUpState;
|
|
466
580
|
this.realtimeHandler.unwatchAll();
|
|
467
581
|
this.subscriptionManager.clear();
|
|
468
582
|
this.normalizedCache.clear();
|
|
@@ -475,6 +589,7 @@ var SyncModule = /* @__PURE__ */function () {
|
|
|
475
589
|
value: (/** Cleanup and dispose of resources */
|
|
476
590
|
async function dispose() {
|
|
477
591
|
var _this_cleanupFocus, _this, _this_cleanupFocusReplay, _this1, _this_cleanupOnlineBackfill, _this2, _this_cleanupOnlineReplay, _this3;
|
|
592
|
+
this.disposed = true;
|
|
478
593
|
this.storeListeners.clear();
|
|
479
594
|
this.realtimeEventListeners.clear();
|
|
480
595
|
this.resetCache();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["onAppFocus","onOnline","MutationEngine","MutationJournal","NormalizedCache","PersistenceManager","RealtimeHandler","RehydrationManager","SubscriptionManager","BackfillScope","Status","_class_call_check","instance","Constructor","TypeError","_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","key","_create_class","protoProps","staticProps","prototype","_define_property","obj","value","getBrowserJournalStorage","window","document","storage","localStorage","getItem","setItem","unused","SyncModule","SyncModule2","db","realtime","_this","options","arguments","Set","normalizedCache","maxSize","maxCacheSize","mutationJournal","ttl","mutationTTL","enableAutoCleanup","subscriptionManager","rehydrationManager","emit","mutationEngine","onStoreChange","realtimeOptions","onResetCache","resetCache","onBackfillAll","backfill","scope","All","onRealtimeEvent","event","_this_options_onRealtimeEvent","_this_options","call","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","realtimeEventListeners","Symbol","iterator","_step","next","done","listener","err","return","realtimeHandler","persistenceManager","setupWindowEvents","cleanupFocus","cleanupFocusReplay","listPending","replayPending","cleanupOnlineBackfill","cleanupOnlineReplay","cdcInterval","cdcIntervalHandle","setInterval","subscribe","query","whenReady","result","watchDoctype","doctype","refresh","then","unsubscribe","subscriptionId","subscription","getSubscription","unwatchDoctype","mutate","mutation","broadcastMutation","refreshSubscriptions","results","args","getMutationEntries","entries","id","entry","_entry_createdAt","_entry_retryCount","_entry_error_message","push","operation","docname","status","createdAt","retryCount","error","message","String","dismissMutation","remove","getDocFromCache","name","get","getDocsForSubscription","getPage","page","getNextBatch","cursorDocId","limit","getPageInfo","refetchDocs","docs","Docs","subscribeStore","storeListeners","add","delete","subscribeRealtimeEvents"],"sources":["../../../src/sync/index.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["onAppFocus","onOnline","MutationEngine","MutationJournal","NormalizedCache","PersistenceManager","RealtimeHandler","RehydrationManager","SubscriptionManager","BackfillScope","Status","_class_call_check","instance","Constructor","TypeError","_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","key","_create_class","protoProps","staticProps","prototype","_define_property","obj","value","getBrowserJournalStorage","window","document","storage","localStorage","getItem","setItem","unused","idleCatchUpState","freeze","refreshing","stale","error","SyncModule","SyncModule2","db","realtime","_this","options","arguments","Set","normalizedCache","maxSize","maxCacheSize","mutationJournal","ttl","mutationTTL","enableAutoCleanup","subscriptionManager","rehydrationManager","emit","mutationEngine","onStoreChange","realtimeOptions","onResetCache","resetCache","onBackfillAll","catchUp","onRealtimeEvent","event","_this_options_onRealtimeEvent","_this_options","call","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","realtimeEventListeners","Symbol","iterator","_step","next","done","listener","err","return","realtimeHandler","persistenceManager","setupWindowEvents","cleanupFocus","cleanupFocusReplay","listPending","replayPending","cleanupOnlineBackfill","cleanupOnlineReplay","cdcInterval","cdcIntervalHandle","setInterval","subscribe","query","catchUpStrategy","progressive","Error","whenReady","result","watchDoctype","doctype","refresh","then","unsubscribe","subscriptionId","subscription","getSubscription","unwatchDoctype","mutate","mutation","broadcastMutation","createdName","temporaryName","resolveTempId","refreshSubscriptions","epoch","catchUpEpoch","disposed","results","getCatchUpState","catchUpState","publishCatchUp","state","storeListeners","Promise","resolve","catchUpRun","attempt","trailing","promise","run","active","active2","failures","filter","ok","isRestoredSubscription","AggregateError","map","failure","backfill","scope","All","caught","args","getMutationEntries","entries","id","entry","_entry_createdAt","_entry_retryCount","_entry_error_message","push","operation","docname","status","createdAt","retryCount","message","String","dismissMutation","remove","getDocFromCache","name","get","getDocsForSubscription","getPage","page","getNextBatch","cursorDocId","limit","getPageInfo","refetchDocs","docs","Docs","subscribeStore","add","delete","subscribeRealtimeEvents","getConnectionState","scheduleSave","broadcastChange","unwatchAll","clear","clearTemporaryMappings","dispose","_this_cleanupFocus","_this_cleanupFocusReplay","_this1","_this_cleanupOnlineBackfill","_this2","_this_cleanupOnlineReplay","_this3","destroy","clearInterval","__debug","allSubs","getAllSubscriptions","vpm","getVirtualPageManager","subscriptions","sub","_ref","_sub_tombstones","virtualSub","pageInfo","islands","getPageIslands","debugSub","docCount","docIds","tombstoneCount","tombstones","size","checkpoint","cursor","restored","_pc_lastFetchedAt","pc","getProgressiveCache","progressiveCache","nextCursor","hasMore","totalCount","lastFetchedAt","toISOString","cacheStats","getStats","allEntries","getAllEntries","pending","confirmed","failed","_iteratorNormalCompletion1","_didIteratorError1","_iteratorError1","_iterator1","_step1","debugEntry","Pending","Confirmed","Failed","connection","socketConnected","getIsConnected","isLeader","getIsLeader","isOnline","navigator","onLine"],"sources":["index.native.js"],"sourcesContent":["import { onAppFocus, onOnline } from \"@multiplatform.one/platform\";\nimport { MutationEngine } from \"./mutationEngine\";\nimport { MutationJournal } from \"./mutationJournal\";\nimport { NormalizedCache } from \"./normalizedCache\";\nimport { PersistenceManager } from \"./persistence\";\nimport { RealtimeHandler } from \"./realtime\";\nimport { RehydrationManager } from \"./rehydration\";\nimport { SubscriptionManager } from \"./subscriptionManager\";\nimport { BackfillScope, Status } from \"./types\";\nfunction _class_call_check(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\nfunction _create_class(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\nfunction _define_property(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nfunction getBrowserJournalStorage() {\n if (typeof window === \"undefined\" || typeof document === \"undefined\") return void 0;\n try {\n var storage = window.localStorage;\n return typeof (storage === null || storage === void 0 ? void 0 : storage.getItem) === \"function\" && typeof storage.setItem === \"function\" ? storage : void 0;\n } catch (unused) {\n return void 0;\n }\n}\nvar idleCatchUpState = Object.freeze({\n refreshing: false,\n stale: false,\n error: null\n});\nvar SyncModule = /* @__PURE__ */ (function() {\n \"use strict\";\n function SyncModule2(db, realtime) {\n var _this = this;\n var options = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};\n _class_call_check(this, SyncModule2);\n _define_property(this, \"normalizedCache\", void 0);\n _define_property(this, \"mutationJournal\", void 0);\n _define_property(this, \"storeListeners\", /* @__PURE__ */ new Set());\n _define_property(this, \"realtimeEventListeners\", /* @__PURE__ */ new Set());\n _define_property(this, \"subscriptionManager\", void 0);\n _define_property(this, \"mutationEngine\", void 0);\n _define_property(this, \"realtimeHandler\", void 0);\n _define_property(this, \"persistenceManager\", void 0);\n _define_property(this, \"rehydrationManager\", void 0);\n _define_property(this, \"cleanupFocus\", void 0);\n _define_property(this, \"cleanupFocusReplay\", void 0);\n _define_property(this, \"cleanupOnlineBackfill\", void 0);\n _define_property(this, \"cleanupOnlineReplay\", void 0);\n _define_property(this, \"cdcIntervalHandle\", void 0);\n _define_property(this, \"db\", void 0);\n _define_property(this, \"realtime\", void 0);\n _define_property(this, \"options\", void 0);\n _define_property(this, \"catchUpState\", idleCatchUpState);\n _define_property(this, \"catchUpEpoch\", 0);\n _define_property(this, \"disposed\", false);\n _define_property(this, \"catchUpRun\", void 0);\n this.db = db;\n this.realtime = realtime;\n this.options = options;\n this.normalizedCache = new NormalizedCache({\n maxSize: this.options.maxCacheSize\n });\n this.mutationJournal = new MutationJournal({\n ttl: this.options.mutationTTL,\n enableAutoCleanup: true,\n storage: getBrowserJournalStorage()\n });\n this.subscriptionManager = new SubscriptionManager(this.db, this.normalizedCache, this.options);\n this.rehydrationManager = new RehydrationManager(this.db, this.normalizedCache, this.subscriptionManager, this.mutationJournal, function() {\n return _this.emit();\n });\n this.mutationEngine = new MutationEngine(this.db, this.realtime, this.normalizedCache, this.mutationJournal, this.subscriptionManager, this.rehydrationManager, {\n ...this.options,\n // Bridge engine-internal optimistic applies to store listeners so\n // pending state paints BEFORE the server round trip. Without this,\n // subscribeStore consumers only re-read after the ack (mutate()'s\n // trailing emit) and the in-memory optimism was invisible to them.\n onStoreChange: function onStoreChange() {\n return _this.emit();\n }\n });\n var realtimeOptions = {\n ...this.options,\n onResetCache: function onResetCache() {\n return _this.resetCache();\n },\n onBackfillAll: function onBackfillAll() {\n void _this.catchUp();\n },\n // Realtime reconciliation mutates cache/membership outside the public\n // mutate/backfill entry points — bridge those changes to store listeners.\n onStoreChange: function onStoreChange() {\n return _this.emit();\n },\n onRealtimeEvent: function onRealtimeEvent(event) {\n var _this_options_onRealtimeEvent, _this_options;\n (_this_options_onRealtimeEvent = (_this_options = _this.options).onRealtimeEvent) === null || _this_options_onRealtimeEvent === void 0 ? void 0 : _this_options_onRealtimeEvent.call(_this_options, event);\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = _this.realtimeEventListeners[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var listener = _step.value;\n listener(event);\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n }\n };\n this.realtimeHandler = new RealtimeHandler(this.db, this.realtime, this.normalizedCache, this.subscriptionManager, this.rehydrationManager, realtimeOptions);\n this.persistenceManager = new PersistenceManager(this.normalizedCache, this.mutationJournal, this.subscriptionManager, this.mutationEngine, realtimeOptions);\n this.setupWindowEvents();\n }\n _create_class(SyncModule2, [\n {\n key: \"setupWindowEvents\",\n value: (\n /**\n * Sets up lifecycle event listeners for sync triggers.\n * Stores cleanup functions returned by each subscription.\n */\n function setupWindowEvents() {\n var _this = this;\n this.cleanupFocus = onAppFocus(function() {\n void _this.catchUp();\n });\n this.cleanupFocusReplay = onAppFocus(function() {\n if (_this.mutationJournal.listPending().length > 0) void _this.replayPending();\n });\n this.cleanupOnlineBackfill = onOnline(function() {\n void _this.catchUp();\n });\n this.cleanupOnlineReplay = onOnline(function() {\n return _this.replayPending();\n });\n if (this.options.cdcInterval && this.options.cdcInterval > 0) {\n this.cdcIntervalHandle = setInterval(function() {\n void _this.catchUp();\n }, this.options.cdcInterval);\n }\n }\n )\n },\n {\n key: \"subscribe\",\n value: (\n /**\n * Creates a subscription, seeds cache with initial rows, and stores a backfill checkpoint.\n *\n * With persistence enabled, a query matching a subscription restored from\n * the snapshot is re-adopted cache-first: the returned rows come from the\n * restored cache and a background network refresh follows (`result.refresh`).\n * If that refresh fails (offline), the cached membership keeps serving and\n * the subscription is marked stale until the next successful backfill.\n */\n async function subscribe(query) {\n var _this = this;\n if (this.options.catchUpStrategy === \"snapshot\" && query.progressive) {\n throw new Error(\"Snapshot catch-up does not support progressive subscriptions\");\n }\n await this.persistenceManager.whenReady();\n var result = await this.subscriptionManager.subscribe(query);\n this.realtimeHandler.watchDoctype(query.doctype);\n this.emit();\n if (result.refresh) void result.refresh.then(function() {\n return _this.emit();\n });\n return result;\n }\n )\n },\n {\n /**\n * Removes a subscription by id.\n */\n key: \"unsubscribe\",\n value: function unsubscribe(subscriptionId) {\n var subscription = this.subscriptionManager.getSubscription(subscriptionId);\n this.subscriptionManager.unsubscribe(subscriptionId);\n if (subscription) this.realtimeHandler.unwatchDoctype(subscription.query.doctype);\n this.emit();\n }\n },\n {\n key: \"mutate\",\n value: async function mutate(mutation) {\n try {\n await this.mutationEngine.mutate(mutation);\n } catch (err) {\n this.emit();\n throw err;\n }\n this.persistenceManager.broadcastMutation(mutation);\n this.emit();\n }\n },\n {\n /**\n * The name the server assigned a document this module created under\n * `temporaryName`, once the create is acknowledged. Undefined while it is\n * pending, or when the server kept the name it was given.\n */\n key: \"createdName\",\n value: function createdName(temporaryName) {\n return this.rehydrationManager.resolveTempId(temporaryName);\n }\n },\n {\n key: \"refreshSubscriptions\",\n value: (\n /** Refresh active query snapshots in place. Failures retain the last committed data. */\n async function refreshSubscriptions(options) {\n var epoch = this.catchUpEpoch;\n await this.persistenceManager.whenReady();\n if (this.disposed || epoch !== this.catchUpEpoch) return [];\n var results = await this.subscriptionManager.refreshSubscriptions(options);\n if (!this.disposed && epoch === this.catchUpEpoch) this.emit();\n return results;\n }\n )\n },\n {\n key: \"getCatchUpState\",\n value: function getCatchUpState() {\n return this.catchUpState;\n }\n },\n {\n key: \"publishCatchUp\",\n value: function publishCatchUp(state) {\n this.catchUpState = Object.freeze(state);\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = this.storeListeners[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var listener = _step.value;\n listener();\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n }\n },\n {\n /** Observes lifecycle/retry failures in state; explicit backfill still rejects. */\n key: \"catchUp\",\n value: function catchUp() {\n var _this = this;\n if (this.disposed) return Promise.resolve(this.catchUpState);\n if (this.catchUpRun) {\n if (this.catchUpRun.attempt === 0) this.catchUpRun.trailing = true;\n return this.catchUpRun.promise;\n }\n var epoch = this.catchUpEpoch;\n var run = {\n trailing: false,\n attempt: 0,\n promise: Promise.resolve(this.catchUpState)\n };\n this.catchUpRun = run;\n run.promise = Promise.resolve().then(async function() {\n var error = null;\n var active = function active2() {\n return !_this.disposed && _this.catchUpEpoch === epoch;\n };\n do {\n if (!active()) return _this.catchUpState;\n run.trailing = false;\n error = null;\n try {\n if (_this.options.catchUpStrategy === \"snapshot\") {\n var results = await _this.refreshSubscriptions();\n var failures = results.filter(function(result) {\n return !result.ok && _this.subscriptionManager.getSubscription(result.subscriptionId) && !_this.subscriptionManager.isRestoredSubscription(result.subscriptionId);\n });\n if (failures.length) error = new AggregateError(failures.map(function(failure) {\n return failure.error;\n }), \"Some subscriptions could not refresh. Showing previous data.\");\n } else {\n await _this.backfill({\n scope: BackfillScope.All\n });\n }\n } catch (caught) {\n error = caught;\n }\n } while (\n // Bound a burst to one trailing read, including triggers during that read.\n active() && run.trailing && run.attempt++ === 0\n );\n if (active()) {\n _this.catchUpRun = void 0;\n _this.publishCatchUp({\n refreshing: false,\n stale: error !== null,\n error\n });\n }\n return _this.catchUpState;\n });\n this.publishCatchUp({\n ...this.catchUpState,\n refreshing: true\n });\n return run.promise;\n }\n },\n {\n key: \"backfill\",\n value: (\n /**\n * Reconciles local state by fetching changes since stored cursors.\n */\n async function backfill(args) {\n var epoch = this.catchUpEpoch;\n await this.subscriptionManager.backfill(args);\n if (!this.disposed && epoch === this.catchUpEpoch) this.emit();\n }\n )\n },\n {\n key: \"replayPending\",\n value: (\n /**\n * Replays pending mutations with error handling.\n */\n async function replayPending() {\n await this.mutationEngine.replayPending();\n this.emit();\n }\n )\n },\n {\n /**\n * Public read of the mutation ledger: journal entries still awaiting the\n * server (`Status.Pending`) or rejected by it (`Status.Failed`), ordered\n * by submission sequence. Confirmed entries are dropped from the journal\n * and never appear here. Read inside a `subscribeStore` callback for a\n * reactive pending/error surface (see `useFrappePendingMutations`).\n */\n key: \"getMutationEntries\",\n value: function getMutationEntries(doctype) {\n var entries = [];\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = this.mutationJournal.listPending()[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var { id, entry } = _step.value;\n var _entry_createdAt, _entry_retryCount, _entry_error_message;\n if (doctype && entry.doctype !== doctype) continue;\n entries.push({\n id,\n operation: entry.operation,\n doctype: entry.doctype,\n docname: entry.docname,\n status: entry.status,\n createdAt: (_entry_createdAt = entry.createdAt) !== null && _entry_createdAt !== void 0 ? _entry_createdAt : 0,\n retryCount: (_entry_retryCount = entry.retryCount) !== null && _entry_retryCount !== void 0 ? _entry_retryCount : 0,\n error: entry.error ? (_entry_error_message = entry.error.message) !== null && _entry_error_message !== void 0 ? _entry_error_message : String(entry.error) : void 0\n });\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n return entries;\n }\n },\n {\n /**\n * Drops a failed (or still-pending) ledger entry without retrying it —\n * the \"dismiss\" half of the rejected-write contract. The optimistic\n * rollback already ran when the mutation failed; this only clears the\n * error affordance.\n */\n key: \"dismissMutation\",\n value: function dismissMutation(id) {\n this.mutationJournal.remove(id);\n this.emit();\n }\n },\n {\n /** Reads a single document from the local cache. */\n key: \"getDocFromCache\",\n value: function getDocFromCache(doctype, name) {\n return this.normalizedCache.get({\n doctype,\n name\n });\n }\n },\n {\n /** Returns subscription metadata by id. */\n key: \"getSubscription\",\n value: function getSubscription(id) {\n return this.subscriptionManager.getSubscription(id);\n }\n },\n {\n /**\n * Returns current rows for a subscription from the cache.\n */\n key: \"getDocsForSubscription\",\n value: function getDocsForSubscription(id) {\n return this.subscriptionManager.getDocsForSubscription(id);\n }\n },\n {\n key: \"getPage\",\n value: (\n /**\n * Get a specific page of documents using virtual pagination.\n * Requires the subscription to have been created with `progressive: true`.\n */\n async function getPage(subscriptionId, page) {\n var result = await this.subscriptionManager.getPage(subscriptionId, page);\n this.emit();\n return result;\n }\n )\n },\n {\n key: \"getNextBatch\",\n value: (\n /**\n * Get the next batch of documents after a cursor for infinite scroll.\n * Requires the subscription to have been created with `progressive: true`.\n */\n async function getNextBatch(subscriptionId, cursorDocId, limit) {\n var result = await this.subscriptionManager.getNextBatch(subscriptionId, cursorDocId, limit);\n this.emit();\n return result;\n }\n )\n },\n {\n /**\n * Get page information for a subscription.\n */\n key: \"getPageInfo\",\n value: function getPageInfo(subscriptionId) {\n return this.subscriptionManager.getPageInfo(subscriptionId);\n }\n },\n {\n key: \"refetchDocs\",\n value: (\n /** Refetches authoritative copies for specific documents and updates cache. */\n async function refetchDocs(docs) {\n await this.subscriptionManager.backfill({\n scope: BackfillScope.Docs,\n docs\n });\n this.emit();\n }\n )\n },\n {\n /** Adds a store listener; returns an unsubscribe function. */\n key: \"subscribeStore\",\n value: function subscribeStore(listener) {\n var _this = this;\n this.storeListeners.add(listener);\n return function() {\n _this.storeListeners.delete(listener);\n };\n }\n },\n {\n /**\n * Registers a listener for raw realtime events (doc_update, list_update,\n * doc_deleted, connected, …). Useful for consumers that manage their own\n * fetching (e.g. server-side paginated tables) but still want live\n * invalidation hints. Returns an unsubscribe function.\n */\n key: \"subscribeRealtimeEvents\",\n value: function subscribeRealtimeEvents(listener) {\n var _this = this;\n this.realtimeEventListeners.add(listener);\n return function() {\n _this.realtimeEventListeners.delete(listener);\n };\n }\n },\n {\n /**\n * Joins the realtime doctype room without creating a data subscription\n * (refcounted). Pair with `unwatchDoctype` on cleanup. Used by consumers\n * that fetch their own data but need the doctype's realtime hints.\n */\n key: \"watchDoctype\",\n value: function watchDoctype(doctype) {\n this.realtimeHandler.watchDoctype(doctype);\n }\n },\n {\n /** Releases one `watchDoctype` reference. */\n key: \"unwatchDoctype\",\n value: function unwatchDoctype(doctype) {\n this.realtimeHandler.unwatchDoctype(doctype);\n }\n },\n {\n /**\n * Live socket connection snapshot. `connected` is the state right now;\n * `everConnected` distinguishes \"reconnecting\" from \"realtime never up\"\n * (fixture mode, SSR, or no realtime module). Store listeners are\n * notified on every flip, so read this inside a `subscribeStore` callback\n * for a reactive indicator.\n */\n key: \"getConnectionState\",\n value: function getConnectionState() {\n return this.realtimeHandler.getConnectionState();\n }\n },\n {\n key: \"emit\",\n value: (\n /** Notifies listeners, schedules persistence, and broadcasts cross-tab changes. */\n function emit() {\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = this.storeListeners[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var listener = _step.value;\n listener();\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n this.persistenceManager.scheduleSave();\n this.persistenceManager.broadcastChange();\n }\n )\n },\n {\n /** Clears subscriptions, cache, journal, and temp id mappings. */\n key: \"resetCache\",\n value: function resetCache() {\n this.catchUpEpoch++;\n this.catchUpRun = void 0;\n this.catchUpState = idleCatchUpState;\n this.realtimeHandler.unwatchAll();\n this.subscriptionManager.clear();\n this.normalizedCache.clear();\n this.mutationJournal.clear();\n this.mutationEngine.clearTemporaryMappings();\n this.emit();\n }\n },\n {\n key: \"dispose\",\n value: (\n /** Cleanup and dispose of resources */\n async function dispose() {\n var _this_cleanupFocus, _this, _this_cleanupFocusReplay, _this1, _this_cleanupOnlineBackfill, _this2, _this_cleanupOnlineReplay, _this3;\n this.disposed = true;\n this.storeListeners.clear();\n this.realtimeEventListeners.clear();\n this.resetCache();\n this.mutationJournal.dispose();\n this.mutationEngine.dispose();\n this.realtimeHandler.dispose();\n this.persistenceManager.destroy();\n this.rehydrationManager.clear();\n (_this_cleanupFocus = (_this = this).cleanupFocus) === null || _this_cleanupFocus === void 0 ? void 0 : _this_cleanupFocus.call(_this);\n (_this_cleanupFocusReplay = (_this1 = this).cleanupFocusReplay) === null || _this_cleanupFocusReplay === void 0 ? void 0 : _this_cleanupFocusReplay.call(_this1);\n (_this_cleanupOnlineBackfill = (_this2 = this).cleanupOnlineBackfill) === null || _this_cleanupOnlineBackfill === void 0 ? void 0 : _this_cleanupOnlineBackfill.call(_this2);\n (_this_cleanupOnlineReplay = (_this3 = this).cleanupOnlineReplay) === null || _this_cleanupOnlineReplay === void 0 ? void 0 : _this_cleanupOnlineReplay.call(_this3);\n this.cleanupFocus = void 0;\n this.cleanupFocusReplay = void 0;\n this.cleanupOnlineBackfill = void 0;\n this.cleanupOnlineReplay = void 0;\n if (this.cdcIntervalHandle) {\n clearInterval(this.cdcIntervalHandle);\n this.cdcIntervalHandle = void 0;\n }\n }\n )\n },\n {\n /**\n * Returns a snapshot of internal state for devtools inspection.\n * Prefixed with __ to signal internal/debug use only.\n */\n key: \"__debug\",\n value: function __debug() {\n var allSubs = this.subscriptionManager.getAllSubscriptions();\n var vpm = this.subscriptionManager.getVirtualPageManager();\n var subscriptions = [];\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = allSubs[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var [, sub] = _step.value;\n var _ref;\n var _sub_tombstones;\n var virtualSub = vpm.getSubscription(sub.id);\n var pageInfo = vpm.getPageInfo(sub.id);\n var islands = vpm.getPageIslands(sub.id);\n var debugSub = {\n id: sub.id,\n query: sub.query,\n docCount: sub.docIds.length,\n tombstoneCount: (_ref = (_sub_tombstones = sub.tombstones) === null || _sub_tombstones === void 0 ? void 0 : _sub_tombstones.size) !== null && _ref !== void 0 ? _ref : 0,\n checkpoint: sub.checkpoint,\n cursor: sub.cursor,\n stale: sub.stale,\n restored: this.subscriptionManager.isRestoredSubscription(sub.id),\n pageInfo\n };\n if (virtualSub) {\n var _pc_lastFetchedAt;\n var pc = virtualSub.getProgressiveCache();\n debugSub.progressiveCache = {\n docIds: pc.docIds,\n nextCursor: pc.nextCursor,\n hasMore: pc.hasMore,\n totalCount: pc.totalCount,\n lastFetchedAt: (_pc_lastFetchedAt = pc.lastFetchedAt) === null || _pc_lastFetchedAt === void 0 ? void 0 : _pc_lastFetchedAt.toISOString(),\n islands\n };\n }\n subscriptions.push(debugSub);\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n var cacheStats = this.normalizedCache.getStats();\n var allEntries = this.mutationJournal.getAllEntries();\n var pending = [];\n var confirmed = [];\n var failed = [];\n var _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = void 0;\n try {\n for (var _iterator1 = allEntries[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {\n var { id, entry } = _step1.value;\n var _entry_createdAt, _entry_retryCount, _entry_error_message;\n var debugEntry = {\n id,\n operation: entry.operation,\n doctype: entry.doctype,\n docname: entry.docname,\n status: entry.status,\n createdAt: (_entry_createdAt = entry.createdAt) !== null && _entry_createdAt !== void 0 ? _entry_createdAt : 0,\n retryCount: (_entry_retryCount = entry.retryCount) !== null && _entry_retryCount !== void 0 ? _entry_retryCount : 0,\n error: entry.error ? (_entry_error_message = entry.error.message) !== null && _entry_error_message !== void 0 ? _entry_error_message : String(entry.error) : void 0\n };\n if (entry.status === Status.Pending) pending.push(debugEntry);\n else if (entry.status === Status.Confirmed) confirmed.push(debugEntry);\n else if (entry.status === Status.Failed) failed.push(debugEntry);\n }\n } catch (err) {\n _didIteratorError1 = true;\n _iteratorError1 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion1 && _iterator1.return != null) {\n _iterator1.return();\n }\n } finally {\n if (_didIteratorError1) {\n throw _iteratorError1;\n }\n }\n }\n return {\n subscriptions,\n normalizedCache: cacheStats,\n mutationJournal: {\n pending,\n confirmed,\n failed\n },\n connection: {\n socketConnected: this.realtimeHandler.getIsConnected(),\n isLeader: this.persistenceManager.getIsLeader(),\n // React Native has navigator but no onLine (undefined) — treat\n // anything other than an explicit false as online.\n isOnline: typeof navigator === \"undefined\" || navigator.onLine !== false\n }\n };\n }\n },\n {\n /**\n * Checks if this tab is the leader for multi-tab coordination.\n */\n key: \"isLeader\",\n value: function isLeader() {\n return this.persistenceManager.getIsLeader();\n }\n }\n ]);\n return SyncModule2;\n})();\nexport {\n SyncModule\n};\n//# sourceMappingURL=index.js.map\n"],"mappings":"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","ignoreList":[]}
|