@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/frappeReact.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { isWindowDefined } from "@multiplatform.one/platform";
|
|
2
|
-
import { useCallback, useEffect, useMemo, useRef, useState } from "react";
|
|
2
|
+
import { useCallback, useEffect, useMemo, useRef, useState, useSyncExternalStore } from "react";
|
|
3
3
|
import { createFrappeCollection, releaseFrappeCollectionSync } from "./collection.mjs";
|
|
4
4
|
import { HttpClient } from "./core/http.mjs";
|
|
5
5
|
import { DbModule } from "./db.mjs";
|
|
@@ -7,10 +7,17 @@ import { FixtureDbModule } from "./fixtureDb.mjs";
|
|
|
7
7
|
import { RealtimeModule } from "./realtime.mjs";
|
|
8
8
|
import { SyncModule } from "./sync/index.mjs";
|
|
9
9
|
import { Status } from "./sync/types.mjs";
|
|
10
|
+
import { syncOptionsKey } from "./syncOptionsKey.mjs";
|
|
10
11
|
import { isBrowser } from "./util.mjs";
|
|
11
12
|
const syncModuleCache = /* @__PURE__ */new Map();
|
|
12
13
|
const fixtureSyncModuleCache = /* @__PURE__ */new WeakMap();
|
|
14
|
+
let latestSyncModule;
|
|
15
|
+
function rememberLatestSyncModule(sync) {
|
|
16
|
+
if (typeof WeakRef === "function") latestSyncModule = new WeakRef(sync);
|
|
17
|
+
}
|
|
13
18
|
function __getActiveSyncModule() {
|
|
19
|
+
const latest = latestSyncModule?.deref();
|
|
20
|
+
if (latest) return latest;
|
|
14
21
|
for (const sync of syncModuleCache.values()) return sync;
|
|
15
22
|
return void 0;
|
|
16
23
|
}
|
|
@@ -20,20 +27,26 @@ function getFrappeSyncModule(config) {
|
|
|
20
27
|
}
|
|
21
28
|
function getSyncModule(config) {
|
|
22
29
|
if (!isBrowser()) return void 0;
|
|
30
|
+
const optionsKey = syncOptionsKey(config.syncOptions);
|
|
23
31
|
if (config.fixtures) {
|
|
24
|
-
let
|
|
32
|
+
let cache = fixtureSyncModuleCache.get(config.fixtures);
|
|
33
|
+
if (!cache) {
|
|
34
|
+
cache = /* @__PURE__ */new Map();
|
|
35
|
+
fixtureSyncModuleCache.set(config.fixtures, cache);
|
|
36
|
+
}
|
|
37
|
+
let sync2 = cache.get(optionsKey);
|
|
25
38
|
if (!sync2) {
|
|
26
39
|
const db = new FixtureDbModule(config.fixtures);
|
|
27
40
|
sync2 = new SyncModule(db, void 0, config.syncOptions);
|
|
28
|
-
|
|
41
|
+
cache.set(optionsKey, sync2);
|
|
42
|
+
rememberLatestSyncModule(sync2);
|
|
29
43
|
}
|
|
30
44
|
return sync2;
|
|
31
45
|
}
|
|
32
46
|
if (!config.baseURL) return void 0;
|
|
33
|
-
const key = [config.baseURL, config.realtime === false ? "http" : "realtime", config.socketPort ?? "", config.socketBaseURL ?? "", config.siteName ?? ""].join("|");
|
|
47
|
+
const key = [config.baseURL, config.realtime === false ? "http" : "realtime", config.socketPort ?? "", config.socketBaseURL ?? "", config.siteName ?? "", optionsKey].join("|");
|
|
34
48
|
let sync = syncModuleCache.get(key);
|
|
35
49
|
if (!sync) {
|
|
36
|
-
console.debug(`[frappe-sync] SyncModule created for ${key} (persistKey=${config.syncOptions?.persistKey ?? "none"}, cdcInterval=${config.syncOptions?.cdcInterval ?? "off"})`);
|
|
37
50
|
const authConfig = config.auth ? {
|
|
38
51
|
useToken: config.auth.useToken,
|
|
39
52
|
token: config.auth.token,
|
|
@@ -58,6 +71,7 @@ function getSyncModule(config) {
|
|
|
58
71
|
};
|
|
59
72
|
sync = new SyncModule(db, config.realtime === false ? void 0 : new RealtimeModule(realtimeConfig), config.syncOptions);
|
|
60
73
|
syncModuleCache.set(key, sync);
|
|
74
|
+
rememberLatestSyncModule(sync);
|
|
61
75
|
}
|
|
62
76
|
return sync;
|
|
63
77
|
}
|
|
@@ -180,7 +194,11 @@ function cleanupEntryCollectionWhenIdle(entry) {
|
|
|
180
194
|
};
|
|
181
195
|
entry.gcTimer = setTimeout(tick, SHARED_COLLECTION_GC_MS);
|
|
182
196
|
}
|
|
197
|
+
const subscribeHydration = () => () => {};
|
|
198
|
+
const clientCollectionAvailable = () => true;
|
|
199
|
+
const serverCollectionAvailable = () => false;
|
|
183
200
|
function useFrappeCollection(config, doctype, options) {
|
|
201
|
+
const collectionAvailable = useSyncExternalStore(subscribeHydration, clientCollectionAvailable, serverCollectionAvailable);
|
|
184
202
|
const errorHandlerRef = useRef(options?.onSyncError);
|
|
185
203
|
errorHandlerRef.current = options?.onSyncError;
|
|
186
204
|
const stableErrorHandler = useCallback(error => {
|
|
@@ -190,7 +208,7 @@ function useFrappeCollection(config, doctype, options) {
|
|
|
190
208
|
let cache;
|
|
191
209
|
let key = "";
|
|
192
210
|
let entry;
|
|
193
|
-
if (config && doctype) {
|
|
211
|
+
if (collectionAvailable && config && doctype) {
|
|
194
212
|
const syncModule = getSyncModule(config);
|
|
195
213
|
if (syncModule) {
|
|
196
214
|
key = collectionOptionsKey(doctype, options);
|
|
@@ -222,34 +240,48 @@ function useFrappeCollection(config, doctype, options) {
|
|
|
222
240
|
}, [entry, stableErrorHandler]);
|
|
223
241
|
return entry ? entry.collection : void 0;
|
|
224
242
|
}
|
|
243
|
+
const idleCatchUpState = Object.freeze({
|
|
244
|
+
refreshing: false,
|
|
245
|
+
stale: false,
|
|
246
|
+
error: null
|
|
247
|
+
});
|
|
248
|
+
function useFrappeCatchUp(config) {
|
|
249
|
+
const sync = getFrappeSyncModule(config);
|
|
250
|
+
const subscribe = useCallback(listener => sync?.subscribeStore(listener) ?? (() => {}), [sync]);
|
|
251
|
+
const snapshot = useCallback(() => sync?.getCatchUpState() ?? idleCatchUpState, [sync]);
|
|
252
|
+
const state = useSyncExternalStore(subscribe, snapshot, () => idleCatchUpState);
|
|
253
|
+
const retry = useCallback(() => sync?.catchUp() ?? Promise.resolve(idleCatchUpState), [sync]);
|
|
254
|
+
return useMemo(() => ({
|
|
255
|
+
...state,
|
|
256
|
+
retry
|
|
257
|
+
}), [state, retry]);
|
|
258
|
+
}
|
|
225
259
|
const DISCONNECTED_STATE = Object.freeze({
|
|
226
260
|
connected: false,
|
|
227
261
|
everConnected: false
|
|
228
262
|
});
|
|
229
263
|
function useFrappeConnection(config) {
|
|
230
264
|
const [state, setState] = useState(DISCONNECTED_STATE);
|
|
265
|
+
const syncModule = config && !config.fixtures && config.realtime !== false ? getSyncModule(config) : void 0;
|
|
231
266
|
useEffect(() => {
|
|
232
|
-
if (!
|
|
267
|
+
if (!syncModule) {
|
|
233
268
|
setState(DISCONNECTED_STATE);
|
|
234
269
|
return;
|
|
235
270
|
}
|
|
236
|
-
const syncModule = getSyncModule(config);
|
|
237
|
-
if (!syncModule) return;
|
|
238
271
|
const read = () => {
|
|
239
272
|
const next = syncModule.getConnectionState();
|
|
240
273
|
setState(prev => prev.connected === next.connected && prev.everConnected === next.everConnected ? prev : next);
|
|
241
274
|
};
|
|
242
275
|
read();
|
|
243
276
|
return syncModule.subscribeStore(read);
|
|
244
|
-
}, [
|
|
277
|
+
}, [syncModule]);
|
|
245
278
|
return config?.realtime === false ? DISCONNECTED_STATE : state;
|
|
246
279
|
}
|
|
247
280
|
function useFrappeDoctypeEvents(config, doctype, onEvent, enabled = true) {
|
|
248
281
|
const handlerRef = useRef(onEvent);
|
|
249
282
|
handlerRef.current = onEvent;
|
|
283
|
+
const syncModule = enabled && config && !config.fixtures && config.realtime !== false && doctype ? getSyncModule(config) : void 0;
|
|
250
284
|
useEffect(() => {
|
|
251
|
-
if (!enabled || !config || config.fixtures || config.realtime === false || !doctype || !isBrowser()) return;
|
|
252
|
-
const syncModule = getSyncModule(config);
|
|
253
285
|
if (!syncModule) return;
|
|
254
286
|
syncModule.watchDoctype(doctype);
|
|
255
287
|
const unsubscribe = syncModule.subscribeRealtimeEvents(event => {
|
|
@@ -264,21 +296,20 @@ function useFrappeDoctypeEvents(config, doctype, onEvent, enabled = true) {
|
|
|
264
296
|
unsubscribe();
|
|
265
297
|
syncModule.unwatchDoctype(doctype);
|
|
266
298
|
};
|
|
267
|
-
}, [
|
|
299
|
+
}, [syncModule, doctype]);
|
|
268
300
|
}
|
|
269
301
|
const EMPTY_LEDGER = [];
|
|
270
302
|
function useFrappePendingMutations(config, doctype) {
|
|
271
303
|
const [entries, setEntries] = useState(EMPTY_LEDGER);
|
|
272
304
|
const syncModuleRef = useRef(void 0);
|
|
305
|
+
const syncModule = getFrappeSyncModule(config);
|
|
273
306
|
useEffect(() => {
|
|
274
|
-
if (!
|
|
307
|
+
if (!syncModule) {
|
|
275
308
|
setEntries(EMPTY_LEDGER);
|
|
276
309
|
return;
|
|
277
310
|
}
|
|
278
|
-
const syncModule = getSyncModule(config);
|
|
279
|
-
if (!syncModule) return;
|
|
280
311
|
syncModuleRef.current = syncModule;
|
|
281
|
-
let lastSignature
|
|
312
|
+
let lastSignature;
|
|
282
313
|
const read = () => {
|
|
283
314
|
const next = syncModule.getMutationEntries(doctype);
|
|
284
315
|
const signature = next.map(e => `${e.id}:${e.status}:${e.retryCount}`).join("|");
|
|
@@ -287,8 +318,12 @@ function useFrappePendingMutations(config, doctype) {
|
|
|
287
318
|
setEntries(next.length === 0 ? EMPTY_LEDGER : next);
|
|
288
319
|
};
|
|
289
320
|
read();
|
|
290
|
-
|
|
291
|
-
|
|
321
|
+
const unsubscribe = syncModule.subscribeStore(read);
|
|
322
|
+
return () => {
|
|
323
|
+
unsubscribe();
|
|
324
|
+
syncModuleRef.current = void 0;
|
|
325
|
+
};
|
|
326
|
+
}, [syncModule, doctype]);
|
|
292
327
|
const retry = useCallback(async () => {
|
|
293
328
|
await syncModuleRef.current?.replayPending();
|
|
294
329
|
}, []);
|
|
@@ -403,9 +438,8 @@ function useFrappeInfiniteList(options) {
|
|
|
403
438
|
const subscriptionIdRef = useRef(void 0);
|
|
404
439
|
const syncModuleRef = useRef(void 0);
|
|
405
440
|
const filtersKey = JSON.stringify(filters);
|
|
441
|
+
const syncModule = getFrappeSyncModule(config);
|
|
406
442
|
useEffect(() => {
|
|
407
|
-
if (!config || !isBrowser()) return;
|
|
408
|
-
const syncModule = getSyncModule(config);
|
|
409
443
|
if (!syncModule) return;
|
|
410
444
|
syncModuleRef.current = syncModule;
|
|
411
445
|
let cancelled = false;
|
|
@@ -455,19 +489,20 @@ function useFrappeInfiniteList(options) {
|
|
|
455
489
|
syncModule.unsubscribe(subscriptionIdRef.current);
|
|
456
490
|
subscriptionIdRef.current = void 0;
|
|
457
491
|
}
|
|
492
|
+
syncModuleRef.current = void 0;
|
|
458
493
|
};
|
|
459
|
-
}, [
|
|
494
|
+
}, [syncModule, config?.auth?.token, doctype, filtersKey, pageSize]);
|
|
460
495
|
const loadMore = useCallback(async () => {
|
|
461
|
-
const
|
|
496
|
+
const syncModule2 = syncModuleRef.current;
|
|
462
497
|
const subId = subscriptionIdRef.current;
|
|
463
|
-
if (!
|
|
498
|
+
if (!syncModule2 || !subId || !hasMore || isLoadingMore) return;
|
|
464
499
|
setIsLoadingMore(true);
|
|
465
500
|
setError(null);
|
|
466
501
|
try {
|
|
467
|
-
const currentDocs =
|
|
502
|
+
const currentDocs = syncModule2.getDocsForSubscription(subId);
|
|
468
503
|
const lastDoc = currentDocs[currentDocs.length - 1];
|
|
469
504
|
if (!lastDoc) return;
|
|
470
|
-
await
|
|
505
|
+
await syncModule2.getNextBatch(subId, lastDoc.name, pageSize);
|
|
471
506
|
} catch (err) {
|
|
472
507
|
setError(err instanceof Error ? err : new Error(String(err)));
|
|
473
508
|
} finally {
|
|
@@ -475,16 +510,16 @@ function useFrappeInfiniteList(options) {
|
|
|
475
510
|
}
|
|
476
511
|
}, [hasMore, isLoadingMore, pageSize]);
|
|
477
512
|
const refresh = useCallback(async () => {
|
|
478
|
-
const
|
|
479
|
-
if (!
|
|
480
|
-
|
|
513
|
+
const syncModule2 = syncModuleRef.current;
|
|
514
|
+
if (!syncModule2 || !subscriptionIdRef.current) return;
|
|
515
|
+
syncModule2.unsubscribe(subscriptionIdRef.current);
|
|
481
516
|
subscriptionIdRef.current = void 0;
|
|
482
517
|
setItems([]);
|
|
483
518
|
setHasMore(true);
|
|
484
519
|
setIsLoading(true);
|
|
485
520
|
setError(null);
|
|
486
521
|
try {
|
|
487
|
-
const result = await
|
|
522
|
+
const result = await syncModule2.subscribe({
|
|
488
523
|
doctype,
|
|
489
524
|
fields,
|
|
490
525
|
filters,
|
|
@@ -493,8 +528,8 @@ function useFrappeInfiniteList(options) {
|
|
|
493
528
|
progressive: true
|
|
494
529
|
});
|
|
495
530
|
subscriptionIdRef.current = result.subscriptionId;
|
|
496
|
-
const docs =
|
|
497
|
-
const pageInfo =
|
|
531
|
+
const docs = syncModule2.getDocsForSubscription(result.subscriptionId);
|
|
532
|
+
const pageInfo = syncModule2.getPageInfo(result.subscriptionId);
|
|
498
533
|
setItems(transform ? docs.map(transform) : docs);
|
|
499
534
|
setHasMore(pageInfo.hasMore);
|
|
500
535
|
} catch (err) {
|
|
@@ -523,5 +558,5 @@ function useFrappeInfiniteList(options) {
|
|
|
523
558
|
totalLoaded: items.length
|
|
524
559
|
};
|
|
525
560
|
}
|
|
526
|
-
export { __getActiveSyncModule, getFrappeSyncModule, useFrappeCollection, useFrappeConnection, useFrappeDoctypeEvents, useFrappeInfiniteList, useFrappePendingMutations, useInfiniteScroll };
|
|
561
|
+
export { __getActiveSyncModule, getFrappeSyncModule, useFrappeCatchUp, useFrappeCollection, useFrappeConnection, useFrappeDoctypeEvents, useFrappeInfiniteList, useFrappePendingMutations, useInfiniteScroll };
|
|
527
562
|
//# sourceMappingURL=frappeReact.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["isWindowDefined","useCallback","useEffect","useMemo","useRef","useState","createFrappeCollection","releaseFrappeCollectionSync","HttpClient","DbModule","FixtureDbModule","RealtimeModule","SyncModule","Status","isBrowser","syncModuleCache","Map","fixtureSyncModuleCache","WeakMap","__getActiveSyncModule","sync","values","getFrappeSyncModule","config","getSyncModule","fixtures","get","db","syncOptions","set","baseURL","key","realtime","socketPort","socketBaseURL","siteName","join","console","debug","persistKey","cdcInterval","authConfig","auth","useToken","token","type","sessionId","http","appName","realtimeConfig","socketOptions","sharedCollectionCaches","SHARED_COLLECTION_GC_MS","SHARED_COLLECTION_GC_FORCE_MS","collectionIsCleanedUp","collection","status","collectionOptionsKey","doctype","options","JSON","stringify","fields","filters","orderBy","String","limit","id","scheduleEntryGc","cache","entry","gcTimer","clearTimeout","setTimeout","refCount","cleaned","subscriberCount","gcForceDeadline","Date","now","delete","Promise","resolve","cleanup","catch","getOrCreateSharedCollection","syncModule","existingCache","created","errorHandlers","Set","hasSyncError","lastSyncError","onSyncError","error","handler","retainSharedCollection","add","releaseSharedCollection","Math","max","cleanupEntryCollectionWhenIdle","deadline","tick","useFrappeCollection","errorHandlerRef","current","stableErrorHandler","setStaleEntryBump","n","retained","retainedCache","retainedKey","unsubscribeStatus","on","event","DISCONNECTED_STATE","Object","freeze","connected","everConnected","useFrappeConnection","state","setState","read","next","getConnectionState","prev","subscribeStore","useFrappeDoctypeEvents","onEvent","enabled","handlerRef","watchDoctype","unsubscribe","subscribeRealtimeEvents","payload","unwatchDoctype","EMPTY_LEDGER","useFrappePendingMutations","entries","setEntries","syncModuleRef","lastSignature","getMutationEntries","signature","map","e","retryCount","length","retry","replayPending","dismiss","dismissMutation","pending","filter","Pending","failed","Failed","useInfiniteScroll","hasMore","isLoading","onLoadMore","root","rootMargin","threshold","debounceMs","isVisible","setIsVisible","isLoadingMore","setIsLoadingMore","observerRef","sentinelNodeRef","debounceTimerRef","lastLoadTimeRef","loadMore","IntersectionObserver","node","disconnect","visible","isIntersecting","observe","sentinelRef","useFrappeInfiniteList","pageSize","transform","items","setItems","setHasMore","setIsLoading","setError","subscriptionIdRef","filtersKey","cancelled","result","subscribe","progressive","subscriptionId","docs","getDocsForSubscription","pageInfo","getPageInfo","err","Error","unsubStore","subId","currentDocs","lastDoc","getNextBatch","name","refresh","_isVisible","totalLoaded"],"sources":["../../src/frappeReact.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["isWindowDefined","useCallback","useEffect","useMemo","useRef","useState","useSyncExternalStore","createFrappeCollection","releaseFrappeCollectionSync","HttpClient","DbModule","FixtureDbModule","RealtimeModule","SyncModule","Status","syncOptionsKey","isBrowser","syncModuleCache","Map","fixtureSyncModuleCache","WeakMap","latestSyncModule","rememberLatestSyncModule","sync","WeakRef","__getActiveSyncModule","latest","deref","values","getFrappeSyncModule","config","getSyncModule","optionsKey","syncOptions","fixtures","cache","get","set","db","baseURL","key","realtime","socketPort","socketBaseURL","siteName","join","authConfig","auth","useToken","token","type","sessionId","http","appName","realtimeConfig","socketOptions","sharedCollectionCaches","SHARED_COLLECTION_GC_MS","SHARED_COLLECTION_GC_FORCE_MS","collectionIsCleanedUp","collection","status","collectionOptionsKey","doctype","options","JSON","stringify","fields","filters","orderBy","String","limit","id","scheduleEntryGc","entry","gcTimer","clearTimeout","setTimeout","refCount","cleaned","subscriberCount","gcForceDeadline","Date","now","delete","Promise","resolve","cleanup","catch","getOrCreateSharedCollection","syncModule","existingCache","created","errorHandlers","Set","hasSyncError","lastSyncError","onSyncError","error","handler","retainSharedCollection","add","releaseSharedCollection","Math","max","cleanupEntryCollectionWhenIdle","deadline","tick","subscribeHydration","clientCollectionAvailable","serverCollectionAvailable","useFrappeCollection","collectionAvailable","errorHandlerRef","current","stableErrorHandler","setStaleEntryBump","n","retained","retainedCache","retainedKey","unsubscribeStatus","on","event","idleCatchUpState","Object","freeze","refreshing","stale","useFrappeCatchUp","subscribe","listener","subscribeStore","snapshot","getCatchUpState","state","retry","catchUp","DISCONNECTED_STATE","connected","everConnected","useFrappeConnection","setState","read","next","getConnectionState","prev","useFrappeDoctypeEvents","onEvent","enabled","handlerRef","watchDoctype","unsubscribe","subscribeRealtimeEvents","payload","unwatchDoctype","EMPTY_LEDGER","useFrappePendingMutations","entries","setEntries","syncModuleRef","lastSignature","getMutationEntries","signature","map","e","retryCount","length","replayPending","dismiss","dismissMutation","pending","filter","Pending","failed","Failed","useInfiniteScroll","hasMore","isLoading","onLoadMore","root","rootMargin","threshold","debounceMs","isVisible","setIsVisible","isLoadingMore","setIsLoadingMore","observerRef","sentinelNodeRef","debounceTimerRef","lastLoadTimeRef","loadMore","IntersectionObserver","node","disconnect","visible","isIntersecting","observe","sentinelRef","useFrappeInfiniteList","pageSize","transform","items","setItems","setHasMore","setIsLoading","setError","subscriptionIdRef","filtersKey","cancelled","result","progressive","subscriptionId","docs","getDocsForSubscription","pageInfo","getPageInfo","err","Error","unsubStore","subId","currentDocs","lastDoc","getNextBatch","name","refresh","_isVisible","totalLoaded"],"sources":["../../src/frappeReact.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { isWindowDefined } from "@multiplatform.one/platform";
|
|
2
|
-
import { useCallback, useEffect, useMemo, useRef, useState } from "react";
|
|
2
|
+
import { useCallback, useEffect, useMemo, useRef, useState, useSyncExternalStore } from "react";
|
|
3
3
|
import { createFrappeCollection, releaseFrappeCollectionSync } from "./collection.native.js";
|
|
4
4
|
import { HttpClient } from "./core/http.native.js";
|
|
5
5
|
import { DbModule } from "./db.native.js";
|
|
@@ -7,6 +7,7 @@ import { FixtureDbModule } from "./fixtureDb.native.js";
|
|
|
7
7
|
import { RealtimeModule } from "./realtime.native.js";
|
|
8
8
|
import { SyncModule } from "./sync/index.native.js";
|
|
9
9
|
import { Status } from "./sync/types.native.js";
|
|
10
|
+
import { syncOptionsKey } from "./syncOptionsKey.native.js";
|
|
10
11
|
import { isBrowser } from "./util.native.js";
|
|
11
12
|
function _instanceof(left, right) {
|
|
12
13
|
"@swc/helpers - instanceof";
|
|
@@ -19,7 +20,13 @@ function _instanceof(left, right) {
|
|
|
19
20
|
}
|
|
20
21
|
var syncModuleCache = /* @__PURE__ */new Map();
|
|
21
22
|
var fixtureSyncModuleCache = /* @__PURE__ */new WeakMap();
|
|
23
|
+
var latestSyncModule;
|
|
24
|
+
function rememberLatestSyncModule(sync) {
|
|
25
|
+
if (typeof WeakRef === "function") latestSyncModule = new WeakRef(sync);
|
|
26
|
+
}
|
|
22
27
|
function __getActiveSyncModule() {
|
|
28
|
+
var latest = latestSyncModule === null || latestSyncModule === void 0 ? void 0 : latestSyncModule.deref();
|
|
29
|
+
if (latest) return latest;
|
|
23
30
|
var _iteratorNormalCompletion = true,
|
|
24
31
|
_didIteratorError = false,
|
|
25
32
|
_iteratorError = void 0;
|
|
@@ -51,22 +58,26 @@ function getFrappeSyncModule(config) {
|
|
|
51
58
|
function getSyncModule(config) {
|
|
52
59
|
var _config_socketPort, _config_socketBaseURL, _config_siteName;
|
|
53
60
|
if (!isBrowser()) return void 0;
|
|
61
|
+
var optionsKey = syncOptionsKey(config.syncOptions);
|
|
54
62
|
if (config.fixtures) {
|
|
55
|
-
var
|
|
63
|
+
var cache = fixtureSyncModuleCache.get(config.fixtures);
|
|
64
|
+
if (!cache) {
|
|
65
|
+
cache = /* @__PURE__ */new Map();
|
|
66
|
+
fixtureSyncModuleCache.set(config.fixtures, cache);
|
|
67
|
+
}
|
|
68
|
+
var sync = cache.get(optionsKey);
|
|
56
69
|
if (!sync) {
|
|
57
70
|
var db = new FixtureDbModule(config.fixtures);
|
|
58
71
|
sync = new SyncModule(db, void 0, config.syncOptions);
|
|
59
|
-
|
|
72
|
+
cache.set(optionsKey, sync);
|
|
73
|
+
rememberLatestSyncModule(sync);
|
|
60
74
|
}
|
|
61
75
|
return sync;
|
|
62
76
|
}
|
|
63
77
|
if (!config.baseURL) return void 0;
|
|
64
|
-
var key = [config.baseURL, config.realtime === false ? "http" : "realtime", (_config_socketPort = config.socketPort) !== null && _config_socketPort !== void 0 ? _config_socketPort : "", (_config_socketBaseURL = config.socketBaseURL) !== null && _config_socketBaseURL !== void 0 ? _config_socketBaseURL : "", (_config_siteName = config.siteName) !== null && _config_siteName !== void 0 ? _config_siteName : ""].join("|");
|
|
78
|
+
var key = [config.baseURL, config.realtime === false ? "http" : "realtime", (_config_socketPort = config.socketPort) !== null && _config_socketPort !== void 0 ? _config_socketPort : "", (_config_socketBaseURL = config.socketBaseURL) !== null && _config_socketBaseURL !== void 0 ? _config_socketBaseURL : "", (_config_siteName = config.siteName) !== null && _config_siteName !== void 0 ? _config_siteName : "", optionsKey].join("|");
|
|
65
79
|
var sync1 = syncModuleCache.get(key);
|
|
66
80
|
if (!sync1) {
|
|
67
|
-
var _ref, _ref1;
|
|
68
|
-
var _config_syncOptions, _config_syncOptions1;
|
|
69
|
-
console.debug(`[frappe-sync] SyncModule created for ${key} (persistKey=${(_ref = (_config_syncOptions = config.syncOptions) === null || _config_syncOptions === void 0 ? void 0 : _config_syncOptions.persistKey) !== null && _ref !== void 0 ? _ref : "none"}, cdcInterval=${(_ref1 = (_config_syncOptions1 = config.syncOptions) === null || _config_syncOptions1 === void 0 ? void 0 : _config_syncOptions1.cdcInterval) !== null && _ref1 !== void 0 ? _ref1 : "off"})`);
|
|
70
81
|
var authConfig = config.auth ? {
|
|
71
82
|
useToken: config.auth.useToken,
|
|
72
83
|
token: config.auth.token,
|
|
@@ -91,6 +102,7 @@ function getSyncModule(config) {
|
|
|
91
102
|
};
|
|
92
103
|
sync1 = new SyncModule(db1, config.realtime === false ? void 0 : new RealtimeModule(realtimeConfig), config.syncOptions);
|
|
93
104
|
syncModuleCache.set(key, sync1);
|
|
105
|
+
rememberLatestSyncModule(sync1);
|
|
94
106
|
}
|
|
95
107
|
return sync1;
|
|
96
108
|
}
|
|
@@ -239,7 +251,17 @@ function cleanupEntryCollectionWhenIdle(entry) {
|
|
|
239
251
|
};
|
|
240
252
|
entry.gcTimer = setTimeout(tick, SHARED_COLLECTION_GC_MS);
|
|
241
253
|
}
|
|
254
|
+
var subscribeHydration = function subscribeHydration2() {
|
|
255
|
+
return function () {};
|
|
256
|
+
};
|
|
257
|
+
var clientCollectionAvailable = function clientCollectionAvailable2() {
|
|
258
|
+
return true;
|
|
259
|
+
};
|
|
260
|
+
var serverCollectionAvailable = function serverCollectionAvailable2() {
|
|
261
|
+
return false;
|
|
262
|
+
};
|
|
242
263
|
function useFrappeCollection(config, doctype, options) {
|
|
264
|
+
var collectionAvailable = useSyncExternalStore(subscribeHydration, clientCollectionAvailable, serverCollectionAvailable);
|
|
243
265
|
var errorHandlerRef = useRef(options === null || options === void 0 ? void 0 : options.onSyncError);
|
|
244
266
|
errorHandlerRef.current = options === null || options === void 0 ? void 0 : options.onSyncError;
|
|
245
267
|
var stableErrorHandler = useCallback(function (error) {
|
|
@@ -250,7 +272,7 @@ function useFrappeCollection(config, doctype, options) {
|
|
|
250
272
|
var cache;
|
|
251
273
|
var key = "";
|
|
252
274
|
var entry;
|
|
253
|
-
if (config && doctype) {
|
|
275
|
+
if (collectionAvailable && config && doctype) {
|
|
254
276
|
var syncModule = getSyncModule(config);
|
|
255
277
|
if (syncModule) {
|
|
256
278
|
key = collectionOptionsKey(doctype, options);
|
|
@@ -289,19 +311,47 @@ function useFrappeCollection(config, doctype, options) {
|
|
|
289
311
|
[entry, stableErrorHandler]);
|
|
290
312
|
return entry ? entry.collection : void 0;
|
|
291
313
|
}
|
|
314
|
+
var idleCatchUpState = Object.freeze({
|
|
315
|
+
refreshing: false,
|
|
316
|
+
stale: false,
|
|
317
|
+
error: null
|
|
318
|
+
});
|
|
319
|
+
function useFrappeCatchUp(config) {
|
|
320
|
+
var sync = getFrappeSyncModule(config);
|
|
321
|
+
var subscribe = useCallback(function (listener) {
|
|
322
|
+
var _ref;
|
|
323
|
+
return (_ref = sync === null || sync === void 0 ? void 0 : sync.subscribeStore(listener)) !== null && _ref !== void 0 ? _ref : function () {};
|
|
324
|
+
}, [sync]);
|
|
325
|
+
var snapshot = useCallback(function () {
|
|
326
|
+
var _ref;
|
|
327
|
+
return (_ref = sync === null || sync === void 0 ? void 0 : sync.getCatchUpState()) !== null && _ref !== void 0 ? _ref : idleCatchUpState;
|
|
328
|
+
}, [sync]);
|
|
329
|
+
var state = useSyncExternalStore(subscribe, snapshot, function () {
|
|
330
|
+
return idleCatchUpState;
|
|
331
|
+
});
|
|
332
|
+
var retry = useCallback(function () {
|
|
333
|
+
var _ref;
|
|
334
|
+
return (_ref = sync === null || sync === void 0 ? void 0 : sync.catchUp()) !== null && _ref !== void 0 ? _ref : Promise.resolve(idleCatchUpState);
|
|
335
|
+
}, [sync]);
|
|
336
|
+
return useMemo(function () {
|
|
337
|
+
return {
|
|
338
|
+
...state,
|
|
339
|
+
retry
|
|
340
|
+
};
|
|
341
|
+
}, [state, retry]);
|
|
342
|
+
}
|
|
292
343
|
var DISCONNECTED_STATE = Object.freeze({
|
|
293
344
|
connected: false,
|
|
294
345
|
everConnected: false
|
|
295
346
|
});
|
|
296
347
|
function useFrappeConnection(config) {
|
|
297
348
|
var [state, setState] = useState(DISCONNECTED_STATE);
|
|
349
|
+
var syncModule = config && !config.fixtures && config.realtime !== false ? getSyncModule(config) : void 0;
|
|
298
350
|
useEffect(function () {
|
|
299
|
-
if (!
|
|
351
|
+
if (!syncModule) {
|
|
300
352
|
setState(DISCONNECTED_STATE);
|
|
301
353
|
return;
|
|
302
354
|
}
|
|
303
|
-
var syncModule = getSyncModule(config);
|
|
304
|
-
if (!syncModule) return;
|
|
305
355
|
var read = function read2() {
|
|
306
356
|
var next = syncModule.getConnectionState();
|
|
307
357
|
setState(function (prev) {
|
|
@@ -312,16 +362,15 @@ function useFrappeConnection(config) {
|
|
|
312
362
|
return syncModule.subscribeStore(read);
|
|
313
363
|
},
|
|
314
364
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
315
|
-
[
|
|
365
|
+
[syncModule]);
|
|
316
366
|
return (config === null || config === void 0 ? void 0 : config.realtime) === false ? DISCONNECTED_STATE : state;
|
|
317
367
|
}
|
|
318
368
|
function useFrappeDoctypeEvents(config, doctype, onEvent) {
|
|
319
369
|
var enabled = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : true;
|
|
320
370
|
var handlerRef = useRef(onEvent);
|
|
321
371
|
handlerRef.current = onEvent;
|
|
372
|
+
var syncModule = enabled && config && !config.fixtures && config.realtime !== false && doctype ? getSyncModule(config) : void 0;
|
|
322
373
|
useEffect(function () {
|
|
323
|
-
if (!enabled || !config || config.fixtures || config.realtime === false || !doctype || !isBrowser()) return;
|
|
324
|
-
var syncModule = getSyncModule(config);
|
|
325
374
|
if (!syncModule) return;
|
|
326
375
|
syncModule.watchDoctype(doctype);
|
|
327
376
|
var unsubscribe = syncModule.subscribeRealtimeEvents(function (event) {
|
|
@@ -338,21 +387,20 @@ function useFrappeDoctypeEvents(config, doctype, onEvent) {
|
|
|
338
387
|
};
|
|
339
388
|
},
|
|
340
389
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
341
|
-
[
|
|
390
|
+
[syncModule, doctype]);
|
|
342
391
|
}
|
|
343
392
|
var EMPTY_LEDGER = [];
|
|
344
393
|
function useFrappePendingMutations(config, doctype) {
|
|
345
394
|
var [entries, setEntries] = useState(EMPTY_LEDGER);
|
|
346
395
|
var syncModuleRef = useRef(void 0);
|
|
396
|
+
var syncModule = getFrappeSyncModule(config);
|
|
347
397
|
useEffect(function () {
|
|
348
|
-
if (!
|
|
398
|
+
if (!syncModule) {
|
|
349
399
|
setEntries(EMPTY_LEDGER);
|
|
350
400
|
return;
|
|
351
401
|
}
|
|
352
|
-
var syncModule = getSyncModule(config);
|
|
353
|
-
if (!syncModule) return;
|
|
354
402
|
syncModuleRef.current = syncModule;
|
|
355
|
-
var lastSignature
|
|
403
|
+
var lastSignature;
|
|
356
404
|
var read = function read2() {
|
|
357
405
|
var next = syncModule.getMutationEntries(doctype);
|
|
358
406
|
var signature = next.map(function (e) {
|
|
@@ -363,10 +411,14 @@ function useFrappePendingMutations(config, doctype) {
|
|
|
363
411
|
setEntries(next.length === 0 ? EMPTY_LEDGER : next);
|
|
364
412
|
};
|
|
365
413
|
read();
|
|
366
|
-
|
|
414
|
+
var unsubscribe = syncModule.subscribeStore(read);
|
|
415
|
+
return function () {
|
|
416
|
+
unsubscribe();
|
|
417
|
+
syncModuleRef.current = void 0;
|
|
418
|
+
};
|
|
367
419
|
},
|
|
368
420
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
369
|
-
[
|
|
421
|
+
[syncModule, doctype]);
|
|
370
422
|
var retry = useCallback(async function () {
|
|
371
423
|
var _syncModuleRef_current;
|
|
372
424
|
await ((_syncModuleRef_current = syncModuleRef.current) === null || _syncModuleRef_current === void 0 ? void 0 : _syncModuleRef_current.replayPending());
|
|
@@ -489,9 +541,8 @@ function useFrappeInfiniteList(options) {
|
|
|
489
541
|
var subscriptionIdRef = useRef(void 0);
|
|
490
542
|
var syncModuleRef = useRef(void 0);
|
|
491
543
|
var filtersKey = JSON.stringify(filters);
|
|
544
|
+
var syncModule = getFrappeSyncModule(config);
|
|
492
545
|
useEffect(function () {
|
|
493
|
-
if (!config || !isBrowser()) return;
|
|
494
|
-
var syncModule = getSyncModule(config);
|
|
495
546
|
if (!syncModule) return;
|
|
496
547
|
syncModuleRef.current = syncModule;
|
|
497
548
|
var cancelled = false;
|
|
@@ -541,21 +592,22 @@ function useFrappeInfiniteList(options) {
|
|
|
541
592
|
syncModule.unsubscribe(subscriptionIdRef.current);
|
|
542
593
|
subscriptionIdRef.current = void 0;
|
|
543
594
|
}
|
|
595
|
+
syncModuleRef.current = void 0;
|
|
544
596
|
};
|
|
545
597
|
},
|
|
546
598
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
547
|
-
[
|
|
599
|
+
[syncModule, config === null || config === void 0 ? void 0 : (_config_auth = config.auth) === null || _config_auth === void 0 ? void 0 : _config_auth.token, doctype, filtersKey, pageSize]);
|
|
548
600
|
var loadMore = useCallback(async function () {
|
|
549
|
-
var
|
|
601
|
+
var syncModule2 = syncModuleRef.current;
|
|
550
602
|
var subId = subscriptionIdRef.current;
|
|
551
|
-
if (!
|
|
603
|
+
if (!syncModule2 || !subId || !hasMore || isLoadingMore) return;
|
|
552
604
|
setIsLoadingMore(true);
|
|
553
605
|
setError(null);
|
|
554
606
|
try {
|
|
555
|
-
var currentDocs =
|
|
607
|
+
var currentDocs = syncModule2.getDocsForSubscription(subId);
|
|
556
608
|
var lastDoc = currentDocs[currentDocs.length - 1];
|
|
557
609
|
if (!lastDoc) return;
|
|
558
|
-
await
|
|
610
|
+
await syncModule2.getNextBatch(subId, lastDoc.name, pageSize);
|
|
559
611
|
} catch (err) {
|
|
560
612
|
setError(_instanceof(err, Error) ? err : new Error(String(err)));
|
|
561
613
|
} finally {
|
|
@@ -563,16 +615,16 @@ function useFrappeInfiniteList(options) {
|
|
|
563
615
|
}
|
|
564
616
|
}, [hasMore, isLoadingMore, pageSize]);
|
|
565
617
|
var refresh = useCallback(async function () {
|
|
566
|
-
var
|
|
567
|
-
if (!
|
|
568
|
-
|
|
618
|
+
var syncModule2 = syncModuleRef.current;
|
|
619
|
+
if (!syncModule2 || !subscriptionIdRef.current) return;
|
|
620
|
+
syncModule2.unsubscribe(subscriptionIdRef.current);
|
|
569
621
|
subscriptionIdRef.current = void 0;
|
|
570
622
|
setItems([]);
|
|
571
623
|
setHasMore(true);
|
|
572
624
|
setIsLoading(true);
|
|
573
625
|
setError(null);
|
|
574
626
|
try {
|
|
575
|
-
var result = await
|
|
627
|
+
var result = await syncModule2.subscribe({
|
|
576
628
|
doctype,
|
|
577
629
|
fields,
|
|
578
630
|
filters,
|
|
@@ -581,8 +633,8 @@ function useFrappeInfiniteList(options) {
|
|
|
581
633
|
progressive: true
|
|
582
634
|
});
|
|
583
635
|
subscriptionIdRef.current = result.subscriptionId;
|
|
584
|
-
var docs =
|
|
585
|
-
var pageInfo =
|
|
636
|
+
var docs = syncModule2.getDocsForSubscription(result.subscriptionId);
|
|
637
|
+
var pageInfo = syncModule2.getPageInfo(result.subscriptionId);
|
|
586
638
|
setItems(transform ? docs.map(transform) : docs);
|
|
587
639
|
setHasMore(pageInfo.hasMore);
|
|
588
640
|
} catch (err) {
|
|
@@ -611,5 +663,5 @@ function useFrappeInfiniteList(options) {
|
|
|
611
663
|
totalLoaded: items.length
|
|
612
664
|
};
|
|
613
665
|
}
|
|
614
|
-
export { __getActiveSyncModule, getFrappeSyncModule, useFrappeCollection, useFrappeConnection, useFrappeDoctypeEvents, useFrappeInfiniteList, useFrappePendingMutations, useInfiniteScroll };
|
|
666
|
+
export { __getActiveSyncModule, getFrappeSyncModule, useFrappeCatchUp, useFrappeCollection, useFrappeConnection, useFrappeDoctypeEvents, useFrappeInfiniteList, useFrappePendingMutations, useInfiniteScroll };
|
|
615
667
|
//# sourceMappingURL=frappeReact.native.js.map
|