@multiplatform.one/frappe 6.0.4 → 6.3.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 +38 -12
- package/dist/cjs/auth.cjs +1 -1
- package/dist/cjs/auth.native.js.map +1 -1
- package/dist/cjs/call.cjs +1 -1
- package/dist/cjs/call.native.js.map +1 -1
- package/dist/cjs/collection.cjs +18 -4
- package/dist/cjs/collection.native.js +18 -4
- package/dist/cjs/collection.native.js.map +1 -1
- package/dist/cjs/core/http.cjs +92 -9
- package/dist/cjs/core/http.native.js +96 -7
- package/dist/cjs/core/http.native.js.map +1 -1
- package/dist/cjs/db.cjs +7 -7
- package/dist/cjs/db.native.js +4 -4
- package/dist/cjs/db.native.js.map +1 -1
- package/dist/cjs/doctype.cjs +97 -39
- package/dist/cjs/doctype.native.js +116 -46
- package/dist/cjs/doctype.native.js.map +1 -1
- package/dist/cjs/file.cjs +1 -1
- package/dist/cjs/file.native.js.map +1 -1
- package/dist/cjs/fixtureDb.cjs +3 -2
- package/dist/cjs/fixtureDb.native.js +2 -1
- package/dist/cjs/fixtureDb.native.js.map +1 -1
- package/dist/cjs/frappeApp.cjs +15 -14
- package/dist/cjs/frappeApp.native.js +16 -14
- package/dist/cjs/frappeApp.native.js.map +1 -1
- package/dist/cjs/frappeReact.cjs +198 -18
- package/dist/cjs/frappeReact.native.js +241 -18
- package/dist/cjs/frappeReact.native.js.map +1 -1
- package/dist/cjs/index.cjs +9 -4
- package/dist/cjs/index.native.js +9 -4
- package/dist/cjs/index.native.js.map +1 -1
- package/dist/cjs/pacer.cjs +2 -2
- package/dist/cjs/pacer.native.js +2 -2
- package/dist/cjs/pacer.native.js.map +1 -1
- package/dist/cjs/realtime.cjs +186 -46
- package/dist/cjs/realtime.native.js +268 -48
- package/dist/cjs/realtime.native.js.map +1 -1
- package/dist/cjs/sync/backfill.cjs +32 -27
- package/dist/cjs/sync/backfill.native.js +49 -43
- package/dist/cjs/sync/backfill.native.js.map +1 -1
- package/dist/cjs/sync/index.cjs +90 -24
- package/dist/cjs/sync/index.native.js +112 -10
- package/dist/cjs/sync/index.native.js.map +1 -1
- package/dist/cjs/sync/merge.cjs +0 -3
- package/dist/cjs/sync/merge.native.js +0 -3
- package/dist/cjs/sync/merge.native.js.map +1 -1
- package/dist/cjs/sync/mutationEngine.cjs +25 -19
- package/dist/cjs/sync/mutationEngine.native.js +16 -13
- package/dist/cjs/sync/mutationEngine.native.js.map +1 -1
- package/dist/cjs/sync/mutationJournal.cjs +9 -4
- package/dist/cjs/sync/mutationJournal.native.js +7 -4
- package/dist/cjs/sync/mutationJournal.native.js.map +1 -1
- package/dist/cjs/sync/normalizedCache.cjs +7 -3
- package/dist/cjs/sync/normalizedCache.native.js +7 -2
- package/dist/cjs/sync/normalizedCache.native.js.map +1 -1
- package/dist/cjs/sync/persistence.cjs +63 -31
- package/dist/cjs/sync/persistence.native.js +120 -63
- package/dist/cjs/sync/persistence.native.js.map +1 -1
- package/dist/cjs/sync/realtime.cjs +124 -13
- package/dist/cjs/sync/realtime.native.js +163 -20
- package/dist/cjs/sync/realtime.native.js.map +1 -1
- package/dist/cjs/sync/rehydration.cjs +16 -10
- package/dist/cjs/sync/rehydration.native.js +16 -14
- package/dist/cjs/sync/rehydration.native.js.map +1 -1
- package/dist/cjs/sync/storage.cjs +3 -3
- package/dist/cjs/sync/storage.native.js +1 -1
- package/dist/cjs/sync/storage.native.js.map +1 -1
- package/dist/cjs/sync/subscriptionManager.cjs +255 -65
- package/dist/cjs/sync/subscriptionManager.native.js +330 -93
- package/dist/cjs/sync/subscriptionManager.native.js.map +1 -1
- package/dist/cjs/sync/types.cjs +2 -0
- package/dist/cjs/sync/types.native.js +2 -0
- package/dist/cjs/sync/types.native.js.map +1 -1
- package/dist/cjs/sync/virtualPageManager.cjs +9 -9
- package/dist/cjs/sync/virtualPageManager.native.js +5 -9
- package/dist/cjs/sync/virtualPageManager.native.js.map +1 -1
- package/dist/cjs/useLiveQuery.cjs +52 -0
- package/dist/cjs/useLiveQuery.native.js +59 -0
- package/dist/cjs/useLiveQuery.native.js.map +1 -0
- package/dist/cjs/util.cjs +11 -2
- package/dist/cjs/util.native.js +16 -2
- package/dist/cjs/util.native.js.map +1 -1
- package/dist/esm/auth.mjs +1 -1
- package/dist/esm/auth.mjs.map +1 -1
- package/dist/esm/auth.native.js.map +1 -1
- package/dist/esm/call.mjs +1 -1
- package/dist/esm/call.mjs.map +1 -1
- package/dist/esm/call.native.js.map +1 -1
- package/dist/esm/collection.mjs +18 -4
- package/dist/esm/collection.mjs.map +1 -1
- package/dist/esm/collection.native.js +18 -4
- package/dist/esm/collection.native.js.map +1 -1
- package/dist/esm/core/http.mjs +93 -10
- package/dist/esm/core/http.mjs.map +1 -1
- package/dist/esm/core/http.native.js +97 -8
- package/dist/esm/core/http.native.js.map +1 -1
- package/dist/esm/db.mjs +7 -7
- package/dist/esm/db.mjs.map +1 -1
- package/dist/esm/db.native.js +4 -4
- package/dist/esm/db.native.js.map +1 -1
- package/dist/esm/doctype.mjs +96 -39
- package/dist/esm/doctype.mjs.map +1 -1
- package/dist/esm/doctype.native.js +115 -46
- package/dist/esm/doctype.native.js.map +1 -1
- package/dist/esm/file.mjs +1 -1
- package/dist/esm/file.mjs.map +1 -1
- package/dist/esm/file.native.js.map +1 -1
- package/dist/esm/fixtureDb.mjs +3 -2
- package/dist/esm/fixtureDb.mjs.map +1 -1
- package/dist/esm/fixtureDb.native.js +2 -1
- package/dist/esm/fixtureDb.native.js.map +1 -1
- package/dist/esm/frappeApp.mjs +15 -14
- package/dist/esm/frappeApp.mjs.map +1 -1
- package/dist/esm/frappeApp.native.js +16 -14
- package/dist/esm/frappeApp.native.js.map +1 -1
- package/dist/esm/frappeReact.mjs +197 -19
- package/dist/esm/frappeReact.mjs.map +1 -1
- package/dist/esm/frappeReact.native.js +240 -19
- package/dist/esm/frappeReact.native.js.map +1 -1
- package/dist/esm/index.mjs +5 -4
- package/dist/esm/index.mjs.map +1 -1
- package/dist/esm/index.native.js +5 -4
- package/dist/esm/index.native.js.map +1 -1
- package/dist/esm/pacer.mjs +1 -1
- package/dist/esm/pacer.native.js +1 -1
- package/dist/esm/realtime.mjs +187 -47
- package/dist/esm/realtime.mjs.map +1 -1
- package/dist/esm/realtime.native.js +269 -49
- package/dist/esm/realtime.native.js.map +1 -1
- package/dist/esm/sync/backfill.mjs +32 -27
- package/dist/esm/sync/backfill.mjs.map +1 -1
- package/dist/esm/sync/backfill.native.js +49 -43
- package/dist/esm/sync/backfill.native.js.map +1 -1
- package/dist/esm/sync/index.mjs +90 -24
- package/dist/esm/sync/index.mjs.map +1 -1
- package/dist/esm/sync/index.native.js +112 -10
- package/dist/esm/sync/index.native.js.map +1 -1
- package/dist/esm/sync/merge.mjs +1 -1
- package/dist/esm/sync/merge.mjs.map +1 -1
- package/dist/esm/sync/merge.native.js +1 -1
- package/dist/esm/sync/merge.native.js.map +1 -1
- package/dist/esm/sync/mutationEngine.mjs +25 -19
- package/dist/esm/sync/mutationEngine.mjs.map +1 -1
- package/dist/esm/sync/mutationEngine.native.js +16 -13
- package/dist/esm/sync/mutationEngine.native.js.map +1 -1
- package/dist/esm/sync/mutationJournal.mjs +9 -4
- package/dist/esm/sync/mutationJournal.mjs.map +1 -1
- package/dist/esm/sync/mutationJournal.native.js +7 -4
- package/dist/esm/sync/mutationJournal.native.js.map +1 -1
- package/dist/esm/sync/normalizedCache.mjs +7 -3
- package/dist/esm/sync/normalizedCache.mjs.map +1 -1
- package/dist/esm/sync/normalizedCache.native.js +7 -2
- package/dist/esm/sync/normalizedCache.native.js.map +1 -1
- package/dist/esm/sync/persistence.mjs +64 -32
- package/dist/esm/sync/persistence.mjs.map +1 -1
- package/dist/esm/sync/persistence.native.js +121 -64
- package/dist/esm/sync/persistence.native.js.map +1 -1
- package/dist/esm/sync/realtime.mjs +124 -13
- package/dist/esm/sync/realtime.mjs.map +1 -1
- package/dist/esm/sync/realtime.native.js +163 -20
- package/dist/esm/sync/realtime.native.js.map +1 -1
- package/dist/esm/sync/rehydration.mjs +16 -10
- package/dist/esm/sync/rehydration.mjs.map +1 -1
- package/dist/esm/sync/rehydration.native.js +16 -14
- package/dist/esm/sync/rehydration.native.js.map +1 -1
- package/dist/esm/sync/storage.mjs +3 -3
- package/dist/esm/sync/storage.mjs.map +1 -1
- package/dist/esm/sync/storage.native.js +1 -1
- package/dist/esm/sync/storage.native.js.map +1 -1
- package/dist/esm/sync/subscriptionManager.mjs +255 -65
- package/dist/esm/sync/subscriptionManager.mjs.map +1 -1
- package/dist/esm/sync/subscriptionManager.native.js +330 -93
- package/dist/esm/sync/subscriptionManager.native.js.map +1 -1
- package/dist/esm/sync/types.mjs +2 -0
- package/dist/esm/sync/types.mjs.map +1 -1
- package/dist/esm/sync/types.native.js +2 -0
- package/dist/esm/sync/types.native.js.map +1 -1
- package/dist/esm/sync/virtualPageManager.mjs +9 -9
- package/dist/esm/sync/virtualPageManager.mjs.map +1 -1
- package/dist/esm/sync/virtualPageManager.native.js +5 -9
- package/dist/esm/sync/virtualPageManager.native.js.map +1 -1
- package/dist/esm/useLiveQuery.mjs +26 -0
- package/dist/esm/useLiveQuery.mjs.map +1 -0
- package/dist/esm/useLiveQuery.native.js +30 -0
- package/dist/esm/useLiveQuery.native.js.map +1 -0
- package/dist/esm/util.mjs +11 -3
- package/dist/esm/util.mjs.map +1 -1
- package/dist/esm/util.native.js +16 -3
- package/dist/esm/util.native.js.map +1 -1
- package/dist/jsx/auth.mjs +1 -1
- package/dist/jsx/auth.mjs.map +1 -1
- package/dist/jsx/auth.native.js.map +1 -1
- package/dist/jsx/call.mjs +1 -1
- package/dist/jsx/call.mjs.map +1 -1
- package/dist/jsx/call.native.js.map +1 -1
- package/dist/jsx/collection.mjs +18 -4
- package/dist/jsx/collection.mjs.map +1 -1
- package/dist/jsx/collection.native.js +18 -4
- package/dist/jsx/collection.native.js.map +1 -1
- package/dist/jsx/core/http.mjs +93 -10
- package/dist/jsx/core/http.mjs.map +1 -1
- package/dist/jsx/core/http.native.js +96 -7
- package/dist/jsx/core/http.native.js.map +1 -1
- package/dist/jsx/db.mjs +7 -7
- package/dist/jsx/db.mjs.map +1 -1
- package/dist/jsx/db.native.js +4 -4
- package/dist/jsx/db.native.js.map +1 -1
- package/dist/jsx/doctype.mjs +96 -39
- package/dist/jsx/doctype.mjs.map +1 -1
- package/dist/jsx/doctype.native.js +116 -46
- package/dist/jsx/doctype.native.js.map +1 -1
- package/dist/jsx/file.mjs +1 -1
- package/dist/jsx/file.mjs.map +1 -1
- package/dist/jsx/file.native.js.map +1 -1
- package/dist/jsx/fixtureDb.mjs +3 -2
- package/dist/jsx/fixtureDb.mjs.map +1 -1
- package/dist/jsx/fixtureDb.native.js +2 -1
- package/dist/jsx/fixtureDb.native.js.map +1 -1
- package/dist/jsx/frappeApp.mjs +15 -14
- package/dist/jsx/frappeApp.mjs.map +1 -1
- package/dist/jsx/frappeApp.native.js +16 -14
- package/dist/jsx/frappeApp.native.js.map +1 -1
- package/dist/jsx/frappeReact.mjs +197 -19
- package/dist/jsx/frappeReact.mjs.map +1 -1
- package/dist/jsx/frappeReact.native.js +241 -18
- package/dist/jsx/frappeReact.native.js.map +1 -1
- package/dist/jsx/index.js +5 -4
- package/dist/jsx/index.js.map +1 -1
- package/dist/jsx/index.mjs +5 -4
- package/dist/jsx/index.mjs.map +1 -1
- package/dist/jsx/index.native.js +9 -4
- package/dist/jsx/index.native.js.map +1 -1
- package/dist/jsx/pacer.mjs +1 -1
- package/dist/jsx/pacer.native.js +2 -2
- package/dist/jsx/pacer.native.js.map +1 -1
- package/dist/jsx/realtime.mjs +187 -47
- package/dist/jsx/realtime.mjs.map +1 -1
- package/dist/jsx/realtime.native.js +268 -48
- package/dist/jsx/realtime.native.js.map +1 -1
- package/dist/jsx/sync/backfill.mjs +32 -27
- package/dist/jsx/sync/backfill.mjs.map +1 -1
- package/dist/jsx/sync/backfill.native.js +49 -43
- package/dist/jsx/sync/backfill.native.js.map +1 -1
- package/dist/jsx/sync/index.mjs +90 -24
- package/dist/jsx/sync/index.mjs.map +1 -1
- package/dist/jsx/sync/index.native.js +112 -10
- package/dist/jsx/sync/index.native.js.map +1 -1
- package/dist/jsx/sync/merge.mjs +1 -1
- package/dist/jsx/sync/merge.mjs.map +1 -1
- package/dist/jsx/sync/merge.native.js +0 -3
- package/dist/jsx/sync/merge.native.js.map +1 -1
- package/dist/jsx/sync/mutationEngine.mjs +25 -19
- package/dist/jsx/sync/mutationEngine.mjs.map +1 -1
- package/dist/jsx/sync/mutationEngine.native.js +16 -13
- package/dist/jsx/sync/mutationEngine.native.js.map +1 -1
- package/dist/jsx/sync/mutationJournal.mjs +9 -4
- package/dist/jsx/sync/mutationJournal.mjs.map +1 -1
- package/dist/jsx/sync/mutationJournal.native.js +7 -4
- package/dist/jsx/sync/mutationJournal.native.js.map +1 -1
- package/dist/jsx/sync/normalizedCache.mjs +7 -3
- package/dist/jsx/sync/normalizedCache.mjs.map +1 -1
- package/dist/jsx/sync/normalizedCache.native.js +7 -2
- package/dist/jsx/sync/normalizedCache.native.js.map +1 -1
- package/dist/jsx/sync/persistence.mjs +64 -32
- package/dist/jsx/sync/persistence.mjs.map +1 -1
- package/dist/jsx/sync/persistence.native.js +120 -63
- package/dist/jsx/sync/persistence.native.js.map +1 -1
- package/dist/jsx/sync/realtime.mjs +124 -13
- package/dist/jsx/sync/realtime.mjs.map +1 -1
- package/dist/jsx/sync/realtime.native.js +163 -20
- package/dist/jsx/sync/realtime.native.js.map +1 -1
- package/dist/jsx/sync/rehydration.mjs +16 -10
- package/dist/jsx/sync/rehydration.mjs.map +1 -1
- package/dist/jsx/sync/rehydration.native.js +16 -14
- package/dist/jsx/sync/rehydration.native.js.map +1 -1
- package/dist/jsx/sync/storage.mjs +3 -3
- package/dist/jsx/sync/storage.mjs.map +1 -1
- package/dist/jsx/sync/storage.native.js +1 -1
- package/dist/jsx/sync/storage.native.js.map +1 -1
- package/dist/jsx/sync/subscriptionManager.mjs +255 -65
- package/dist/jsx/sync/subscriptionManager.mjs.map +1 -1
- package/dist/jsx/sync/subscriptionManager.native.js +330 -93
- package/dist/jsx/sync/subscriptionManager.native.js.map +1 -1
- package/dist/jsx/sync/types.mjs +2 -0
- package/dist/jsx/sync/types.mjs.map +1 -1
- package/dist/jsx/sync/types.native.js +2 -0
- package/dist/jsx/sync/types.native.js.map +1 -1
- package/dist/jsx/sync/virtualPageManager.mjs +9 -9
- package/dist/jsx/sync/virtualPageManager.mjs.map +1 -1
- package/dist/jsx/sync/virtualPageManager.native.js +5 -9
- package/dist/jsx/sync/virtualPageManager.native.js.map +1 -1
- package/dist/jsx/useLiveQuery.mjs +26 -0
- package/dist/jsx/useLiveQuery.mjs.map +1 -0
- package/dist/jsx/useLiveQuery.native.js +59 -0
- package/dist/jsx/useLiveQuery.native.js.map +1 -0
- package/dist/jsx/util.mjs +11 -3
- package/dist/jsx/util.mjs.map +1 -1
- package/dist/jsx/util.native.js +16 -2
- package/dist/jsx/util.native.js.map +1 -1
- package/package.json +20 -17
- package/src/auth.ts +5 -1
- package/src/call.ts +5 -1
- package/src/collection.spec.ts +55 -0
- package/src/collection.ts +33 -4
- package/src/core/http.spec.ts +66 -0
- package/src/core/http.ts +115 -9
- package/src/core/httpNative.spec.ts +234 -0
- package/src/core/types.ts +2 -0
- package/src/db.spec.ts +91 -51
- package/src/db.ts +27 -8
- package/src/doctype.spec.ts +247 -39
- package/src/doctype.ts +203 -53
- package/src/file.ts +5 -1
- package/src/fixtureDb.ts +13 -2
- package/src/frappeApp.ts +18 -19
- package/src/frappeReact.spec.ts +565 -1
- package/src/frappeReact.ts +446 -38
- package/src/frappeReactLiveQueryGc.spec.ts +320 -0
- package/src/frappeReactNative.spec.ts +65 -0
- package/src/index.ts +10 -9
- package/src/pacer.ts +2 -2
- package/src/realtime.spec.ts +464 -20
- package/src/realtime.ts +284 -46
- package/src/sync/backfill.spec.ts +43 -0
- package/src/sync/backfill.ts +59 -39
- package/src/sync/debug.spec.ts +36 -0
- package/src/sync/filterValidation.spec.ts +197 -0
- package/src/sync/index.ts +98 -7
- package/src/sync/merge.ts +3 -3
- package/src/sync/mutationEngine.spec.ts +36 -4
- package/src/sync/mutationEngine.ts +30 -11
- package/src/sync/mutationJournal.ts +18 -4
- package/src/sync/normalizedCache.spec.ts +102 -0
- package/src/sync/normalizedCache.ts +19 -3
- package/src/sync/offlineRestore.spec.ts +423 -0
- package/src/sync/persistence.spec.ts +39 -7
- package/src/sync/persistence.ts +90 -18
- package/src/sync/persistenceGjs.spec.ts +143 -0
- package/src/sync/persistenceNative.spec.ts +139 -0
- package/src/sync/realtime.spec.ts +18 -1
- package/src/sync/realtime.ts +161 -13
- package/src/sync/rehydration.ts +23 -5
- package/src/sync/storage.ts +5 -4
- package/src/sync/subscriptionManager.spec.ts +94 -0
- package/src/sync/subscriptionManager.ts +304 -82
- package/src/sync/syncModule.spec.ts +137 -0
- package/src/sync/types.ts +39 -0
- package/src/sync/virtualPageManager.ts +8 -4
- package/src/useLiveQuery.ts +58 -0
- package/src/util.spec.ts +35 -4
- package/src/util.ts +37 -2
- package/types/auth.d.ts +13 -0
- package/types/auth.d.ts.map +1 -0
- package/types/call.d.ts +10 -0
- package/types/call.d.ts.map +1 -0
- package/types/collection.d.ts +127 -0
- package/types/collection.d.ts.map +1 -0
- package/types/common/types.d.ts +35 -0
- package/types/common/types.d.ts.map +1 -0
- package/types/core/http.d.ts +86 -0
- package/types/core/http.d.ts.map +1 -0
- package/types/core/types.d.ts +74 -0
- package/types/core/types.d.ts.map +1 -0
- package/types/core/wire.d.ts +405 -0
- package/types/core/wire.d.ts.map +1 -0
- package/types/db.d.ts +244 -0
- package/types/db.d.ts.map +1 -0
- package/types/devtools/FrappeDevtoolsPanel.d.ts +7 -0
- package/types/devtools/FrappeDevtoolsPanel.d.ts.map +1 -0
- package/types/devtools/index.d.ts +4 -0
- package/types/devtools/index.d.ts.map +1 -0
- package/types/devtools/plugin.d.ts +9 -0
- package/types/devtools/plugin.d.ts.map +1 -0
- package/types/devtools/theme.d.ts +15 -0
- package/types/devtools/theme.d.ts.map +1 -0
- package/types/doctype.d.ts +256 -0
- package/types/doctype.d.ts.map +1 -0
- package/types/file.d.ts +15 -0
- package/types/file.d.ts.map +1 -0
- package/types/fixtureDb.d.ts +76 -0
- package/types/fixtureDb.d.ts.map +1 -0
- package/types/fixtures.d.ts +55 -0
- package/types/fixtures.d.ts.map +1 -0
- package/types/frappeApp.d.ts +45 -0
- package/types/frappeApp.d.ts.map +1 -0
- package/types/frappeReact.d.ts +270 -0
- package/types/frappeReact.d.ts.map +1 -0
- package/types/index.d.ts +44 -0
- package/types/index.d.ts.map +1 -0
- package/types/optimistic.d.ts +38 -0
- package/types/optimistic.d.ts.map +1 -0
- package/types/pacer.d.ts +193 -0
- package/types/pacer.d.ts.map +1 -0
- package/types/plugin/index.d.ts +11 -0
- package/types/plugin/index.d.ts.map +1 -0
- package/types/realtime.d.ts +121 -0
- package/types/realtime.d.ts.map +1 -0
- package/types/sync/backfill.d.ts +60 -0
- package/types/sync/backfill.d.ts.map +1 -0
- package/types/sync/filters.d.ts +101 -0
- package/types/sync/filters.d.ts.map +1 -0
- package/types/sync/index.d.ts +181 -0
- package/types/sync/index.d.ts.map +1 -0
- package/types/sync/merge.d.ts +59 -0
- package/types/sync/merge.d.ts.map +1 -0
- package/types/sync/mutationEngine.d.ts +117 -0
- package/types/sync/mutationEngine.d.ts.map +1 -0
- package/types/sync/mutationJournal.d.ts +60 -0
- package/types/sync/mutationJournal.d.ts.map +1 -0
- package/types/sync/normalizedCache.d.ts +59 -0
- package/types/sync/normalizedCache.d.ts.map +1 -0
- package/types/sync/persistence.d.ts +185 -0
- package/types/sync/persistence.d.ts.map +1 -0
- package/types/sync/realtime.d.ts +121 -0
- package/types/sync/realtime.d.ts.map +1 -0
- package/types/sync/rehydration.d.ts +109 -0
- package/types/sync/rehydration.d.ts.map +1 -0
- package/types/sync/storage.d.ts +65 -0
- package/types/sync/storage.d.ts.map +1 -0
- package/types/sync/subscriptionManager.d.ts +161 -0
- package/types/sync/subscriptionManager.d.ts.map +1 -0
- package/types/sync/types.d.ts +435 -0
- package/types/sync/types.d.ts.map +1 -0
- package/types/sync/virtualPageManager.d.ts +190 -0
- package/types/sync/virtualPageManager.d.ts.map +1 -0
- package/types/useLiveQuery.d.ts +16 -0
- package/types/useLiveQuery.d.ts.map +1 -0
- package/types/util.d.ts +24 -0
- package/types/util.d.ts.map +1 -0
- package/dist/cjs/auth.spec.cjs +0 -322
- package/dist/cjs/auth.spec.native.js +0 -329
- package/dist/cjs/auth.spec.native.js.map +0 -1
- package/dist/cjs/call.spec.cjs +0 -427
- package/dist/cjs/call.spec.native.js +0 -430
- package/dist/cjs/call.spec.native.js.map +0 -1
- package/dist/cjs/collection.spec.cjs +0 -186
- package/dist/cjs/collection.spec.native.js +0 -216
- package/dist/cjs/collection.spec.native.js.map +0 -1
- package/dist/cjs/common/types.spec.cjs +0 -266
- package/dist/cjs/common/types.spec.native.js +0 -271
- package/dist/cjs/common/types.spec.native.js.map +0 -1
- package/dist/cjs/core/http.spec.cjs +0 -1259
- package/dist/cjs/core/http.spec.native.js +0 -1401
- package/dist/cjs/core/http.spec.native.js.map +0 -1
- package/dist/cjs/core/wire.spec.cjs +0 -478
- package/dist/cjs/core/wire.spec.native.js +0 -482
- package/dist/cjs/core/wire.spec.native.js.map +0 -1
- package/dist/cjs/db.spec.cjs +0 -862
- package/dist/cjs/db.spec.native.js +0 -865
- package/dist/cjs/db.spec.native.js.map +0 -1
- package/dist/cjs/doctype.spec.cjs +0 -460
- package/dist/cjs/doctype.spec.native.js +0 -538
- package/dist/cjs/doctype.spec.native.js.map +0 -1
- package/dist/cjs/file.spec.cjs +0 -315
- package/dist/cjs/file.spec.native.js +0 -342
- package/dist/cjs/file.spec.native.js.map +0 -1
- package/dist/cjs/frappeApp.spec.cjs +0 -306
- package/dist/cjs/frappeApp.spec.native.js +0 -308
- package/dist/cjs/frappeApp.spec.native.js.map +0 -1
- package/dist/cjs/frappeReact.spec.cjs +0 -531
- package/dist/cjs/frappeReact.spec.native.js +0 -670
- package/dist/cjs/frappeReact.spec.native.js.map +0 -1
- package/dist/cjs/optimistic.spec.cjs +0 -11
- package/dist/cjs/optimistic.spec.native.js +0 -19
- package/dist/cjs/optimistic.spec.native.js.map +0 -1
- package/dist/cjs/pacer.spec.cjs +0 -470
- package/dist/cjs/pacer.spec.native.js +0 -537
- package/dist/cjs/pacer.spec.native.js.map +0 -1
- package/dist/cjs/realtime.spec.cjs +0 -326
- package/dist/cjs/realtime.spec.native.js +0 -392
- package/dist/cjs/realtime.spec.native.js.map +0 -1
- package/dist/cjs/sync/backfill.spec.cjs +0 -586
- package/dist/cjs/sync/backfill.spec.native.js +0 -712
- package/dist/cjs/sync/backfill.spec.native.js.map +0 -1
- package/dist/cjs/sync/debug.spec.cjs +0 -125
- package/dist/cjs/sync/debug.spec.native.js +0 -133
- package/dist/cjs/sync/debug.spec.native.js.map +0 -1
- package/dist/cjs/sync/filters.spec.cjs +0 -168
- package/dist/cjs/sync/filters.spec.native.js +0 -173
- package/dist/cjs/sync/filters.spec.native.js.map +0 -1
- package/dist/cjs/sync/merge.spec.cjs +0 -908
- package/dist/cjs/sync/merge.spec.native.js +0 -937
- package/dist/cjs/sync/merge.spec.native.js.map +0 -1
- package/dist/cjs/sync/multiOrderBy.spec.cjs +0 -165
- package/dist/cjs/sync/multiOrderBy.spec.native.js +0 -229
- package/dist/cjs/sync/multiOrderBy.spec.native.js.map +0 -1
- package/dist/cjs/sync/mutationEngine.spec.cjs +0 -1158
- package/dist/cjs/sync/mutationEngine.spec.native.js +0 -1173
- package/dist/cjs/sync/mutationEngine.spec.native.js.map +0 -1
- package/dist/cjs/sync/mutationJournal.spec.cjs +0 -330
- package/dist/cjs/sync/mutationJournal.spec.native.js +0 -333
- package/dist/cjs/sync/mutationJournal.spec.native.js.map +0 -1
- package/dist/cjs/sync/mutations.spec.cjs +0 -327
- package/dist/cjs/sync/mutations.spec.native.js +0 -330
- package/dist/cjs/sync/mutations.spec.native.js.map +0 -1
- package/dist/cjs/sync/normalizedCache.spec.cjs +0 -302
- package/dist/cjs/sync/normalizedCache.spec.native.js +0 -311
- package/dist/cjs/sync/normalizedCache.spec.native.js.map +0 -1
- package/dist/cjs/sync/persistence.spec.cjs +0 -562
- package/dist/cjs/sync/persistence.spec.native.js +0 -572
- package/dist/cjs/sync/persistence.spec.native.js.map +0 -1
- package/dist/cjs/sync/realtime.spec.cjs +0 -499
- package/dist/cjs/sync/realtime.spec.native.js +0 -512
- package/dist/cjs/sync/realtime.spec.native.js.map +0 -1
- package/dist/cjs/sync/rehydration.spec.cjs +0 -731
- package/dist/cjs/sync/rehydration.spec.native.js +0 -736
- package/dist/cjs/sync/rehydration.spec.native.js.map +0 -1
- package/dist/cjs/sync/storage.spec.cjs +0 -446
- package/dist/cjs/sync/storage.spec.native.js +0 -470
- package/dist/cjs/sync/storage.spec.native.js.map +0 -1
- package/dist/cjs/sync/subscriptionManager.spec.cjs +0 -1102
- package/dist/cjs/sync/subscriptionManager.spec.native.js +0 -1136
- package/dist/cjs/sync/subscriptionManager.spec.native.js.map +0 -1
- package/dist/cjs/sync/subscriptions.spec.cjs +0 -937
- package/dist/cjs/sync/subscriptions.spec.native.js +0 -969
- package/dist/cjs/sync/subscriptions.spec.native.js.map +0 -1
- package/dist/cjs/sync/syncModule.spec.cjs +0 -206
- package/dist/cjs/sync/syncModule.spec.native.js +0 -222
- package/dist/cjs/sync/syncModule.spec.native.js.map +0 -1
- package/dist/cjs/sync/types.spec.cjs +0 -246
- package/dist/cjs/sync/types.spec.native.js +0 -256
- package/dist/cjs/sync/types.spec.native.js.map +0 -1
- package/dist/cjs/sync/virtualPageManager.spec.cjs +0 -801
- package/dist/cjs/sync/virtualPageManager.spec.native.js +0 -873
- package/dist/cjs/sync/virtualPageManager.spec.native.js.map +0 -1
- package/dist/cjs/util.spec.cjs +0 -43
- package/dist/cjs/util.spec.native.js +0 -48
- package/dist/cjs/util.spec.native.js.map +0 -1
- package/dist/esm/auth.spec.mjs +0 -323
- package/dist/esm/auth.spec.mjs.map +0 -1
- package/dist/esm/auth.spec.native.js +0 -327
- package/dist/esm/auth.spec.native.js.map +0 -1
- package/dist/esm/call.spec.mjs +0 -428
- package/dist/esm/call.spec.mjs.map +0 -1
- package/dist/esm/call.spec.native.js +0 -428
- package/dist/esm/call.spec.native.js.map +0 -1
- package/dist/esm/collection.spec.mjs +0 -187
- package/dist/esm/collection.spec.mjs.map +0 -1
- package/dist/esm/collection.spec.native.js +0 -214
- package/dist/esm/collection.spec.native.js.map +0 -1
- package/dist/esm/common/types.spec.mjs +0 -267
- package/dist/esm/common/types.spec.mjs.map +0 -1
- package/dist/esm/common/types.spec.native.js +0 -269
- package/dist/esm/common/types.spec.native.js.map +0 -1
- package/dist/esm/core/http.spec.mjs +0 -1260
- package/dist/esm/core/http.spec.mjs.map +0 -1
- package/dist/esm/core/http.spec.native.js +0 -1399
- package/dist/esm/core/http.spec.native.js.map +0 -1
- package/dist/esm/core/wire.spec.mjs +0 -479
- package/dist/esm/core/wire.spec.mjs.map +0 -1
- package/dist/esm/core/wire.spec.native.js +0 -480
- package/dist/esm/core/wire.spec.native.js.map +0 -1
- package/dist/esm/db.spec.mjs +0 -863
- package/dist/esm/db.spec.mjs.map +0 -1
- package/dist/esm/db.spec.native.js +0 -863
- package/dist/esm/db.spec.native.js.map +0 -1
- package/dist/esm/doctype.spec.mjs +0 -461
- package/dist/esm/doctype.spec.mjs.map +0 -1
- package/dist/esm/doctype.spec.native.js +0 -536
- package/dist/esm/doctype.spec.native.js.map +0 -1
- package/dist/esm/file.spec.mjs +0 -316
- package/dist/esm/file.spec.mjs.map +0 -1
- package/dist/esm/file.spec.native.js +0 -340
- package/dist/esm/file.spec.native.js.map +0 -1
- package/dist/esm/frappeApp.spec.mjs +0 -307
- package/dist/esm/frappeApp.spec.mjs.map +0 -1
- package/dist/esm/frappeApp.spec.native.js +0 -306
- package/dist/esm/frappeApp.spec.native.js.map +0 -1
- package/dist/esm/frappeReact.spec.mjs +0 -532
- package/dist/esm/frappeReact.spec.mjs.map +0 -1
- package/dist/esm/frappeReact.spec.native.js +0 -668
- package/dist/esm/frappeReact.spec.native.js.map +0 -1
- package/dist/esm/optimistic.spec.mjs +0 -12
- package/dist/esm/optimistic.spec.mjs.map +0 -1
- package/dist/esm/optimistic.spec.native.js +0 -17
- package/dist/esm/optimistic.spec.native.js.map +0 -1
- package/dist/esm/pacer.spec.mjs +0 -447
- package/dist/esm/pacer.spec.mjs.map +0 -1
- package/dist/esm/pacer.spec.native.js +0 -511
- package/dist/esm/pacer.spec.native.js.map +0 -1
- package/dist/esm/realtime.spec.mjs +0 -327
- package/dist/esm/realtime.spec.mjs.map +0 -1
- package/dist/esm/realtime.spec.native.js +0 -390
- package/dist/esm/realtime.spec.native.js.map +0 -1
- package/dist/esm/sync/backfill.spec.mjs +0 -563
- package/dist/esm/sync/backfill.spec.mjs.map +0 -1
- package/dist/esm/sync/backfill.spec.native.js +0 -686
- package/dist/esm/sync/backfill.spec.native.js.map +0 -1
- package/dist/esm/sync/debug.spec.mjs +0 -102
- package/dist/esm/sync/debug.spec.mjs.map +0 -1
- package/dist/esm/sync/debug.spec.native.js +0 -107
- package/dist/esm/sync/debug.spec.native.js.map +0 -1
- package/dist/esm/sync/filters.spec.mjs +0 -169
- package/dist/esm/sync/filters.spec.mjs.map +0 -1
- package/dist/esm/sync/filters.spec.native.js +0 -171
- package/dist/esm/sync/filters.spec.native.js.map +0 -1
- package/dist/esm/sync/merge.spec.mjs +0 -909
- package/dist/esm/sync/merge.spec.mjs.map +0 -1
- package/dist/esm/sync/merge.spec.native.js +0 -935
- package/dist/esm/sync/merge.spec.native.js.map +0 -1
- package/dist/esm/sync/multiOrderBy.spec.mjs +0 -166
- package/dist/esm/sync/multiOrderBy.spec.mjs.map +0 -1
- package/dist/esm/sync/multiOrderBy.spec.native.js +0 -227
- package/dist/esm/sync/multiOrderBy.spec.native.js.map +0 -1
- package/dist/esm/sync/mutationEngine.spec.mjs +0 -1159
- package/dist/esm/sync/mutationEngine.spec.mjs.map +0 -1
- package/dist/esm/sync/mutationEngine.spec.native.js +0 -1171
- package/dist/esm/sync/mutationEngine.spec.native.js.map +0 -1
- package/dist/esm/sync/mutationJournal.spec.mjs +0 -331
- package/dist/esm/sync/mutationJournal.spec.mjs.map +0 -1
- package/dist/esm/sync/mutationJournal.spec.native.js +0 -331
- package/dist/esm/sync/mutationJournal.spec.native.js.map +0 -1
- package/dist/esm/sync/mutations.spec.mjs +0 -328
- package/dist/esm/sync/mutations.spec.mjs.map +0 -1
- package/dist/esm/sync/mutations.spec.native.js +0 -328
- package/dist/esm/sync/mutations.spec.native.js.map +0 -1
- package/dist/esm/sync/normalizedCache.spec.mjs +0 -303
- package/dist/esm/sync/normalizedCache.spec.mjs.map +0 -1
- package/dist/esm/sync/normalizedCache.spec.native.js +0 -309
- package/dist/esm/sync/normalizedCache.spec.native.js.map +0 -1
- package/dist/esm/sync/persistence.spec.mjs +0 -563
- package/dist/esm/sync/persistence.spec.mjs.map +0 -1
- package/dist/esm/sync/persistence.spec.native.js +0 -570
- package/dist/esm/sync/persistence.spec.native.js.map +0 -1
- package/dist/esm/sync/realtime.spec.mjs +0 -500
- package/dist/esm/sync/realtime.spec.mjs.map +0 -1
- package/dist/esm/sync/realtime.spec.native.js +0 -510
- package/dist/esm/sync/realtime.spec.native.js.map +0 -1
- package/dist/esm/sync/rehydration.spec.mjs +0 -732
- package/dist/esm/sync/rehydration.spec.mjs.map +0 -1
- package/dist/esm/sync/rehydration.spec.native.js +0 -734
- package/dist/esm/sync/rehydration.spec.native.js.map +0 -1
- package/dist/esm/sync/storage.spec.mjs +0 -423
- package/dist/esm/sync/storage.spec.mjs.map +0 -1
- package/dist/esm/sync/storage.spec.native.js +0 -444
- package/dist/esm/sync/storage.spec.native.js.map +0 -1
- package/dist/esm/sync/subscriptionManager.spec.mjs +0 -1079
- package/dist/esm/sync/subscriptionManager.spec.mjs.map +0 -1
- package/dist/esm/sync/subscriptionManager.spec.native.js +0 -1110
- package/dist/esm/sync/subscriptionManager.spec.native.js.map +0 -1
- package/dist/esm/sync/subscriptions.spec.mjs +0 -914
- package/dist/esm/sync/subscriptions.spec.mjs.map +0 -1
- package/dist/esm/sync/subscriptions.spec.native.js +0 -943
- package/dist/esm/sync/subscriptions.spec.native.js.map +0 -1
- package/dist/esm/sync/syncModule.spec.mjs +0 -207
- package/dist/esm/sync/syncModule.spec.mjs.map +0 -1
- package/dist/esm/sync/syncModule.spec.native.js +0 -220
- package/dist/esm/sync/syncModule.spec.native.js.map +0 -1
- package/dist/esm/sync/types.spec.mjs +0 -247
- package/dist/esm/sync/types.spec.mjs.map +0 -1
- package/dist/esm/sync/types.spec.native.js +0 -254
- package/dist/esm/sync/types.spec.native.js.map +0 -1
- package/dist/esm/sync/virtualPageManager.spec.mjs +0 -802
- package/dist/esm/sync/virtualPageManager.spec.mjs.map +0 -1
- package/dist/esm/sync/virtualPageManager.spec.native.js +0 -871
- package/dist/esm/sync/virtualPageManager.spec.native.js.map +0 -1
- package/dist/esm/util.spec.mjs +0 -20
- package/dist/esm/util.spec.mjs.map +0 -1
- package/dist/esm/util.spec.native.js +0 -22
- package/dist/esm/util.spec.native.js.map +0 -1
- package/dist/jsx/auth.spec.mjs +0 -323
- package/dist/jsx/auth.spec.mjs.map +0 -1
- package/dist/jsx/auth.spec.native.js +0 -329
- package/dist/jsx/auth.spec.native.js.map +0 -1
- package/dist/jsx/call.spec.mjs +0 -428
- package/dist/jsx/call.spec.mjs.map +0 -1
- package/dist/jsx/call.spec.native.js +0 -430
- package/dist/jsx/call.spec.native.js.map +0 -1
- package/dist/jsx/collection.spec.mjs +0 -187
- package/dist/jsx/collection.spec.mjs.map +0 -1
- package/dist/jsx/collection.spec.native.js +0 -216
- package/dist/jsx/collection.spec.native.js.map +0 -1
- package/dist/jsx/common/types.spec.mjs +0 -267
- package/dist/jsx/common/types.spec.mjs.map +0 -1
- package/dist/jsx/common/types.spec.native.js +0 -271
- package/dist/jsx/common/types.spec.native.js.map +0 -1
- package/dist/jsx/core/http.spec.mjs +0 -1260
- package/dist/jsx/core/http.spec.mjs.map +0 -1
- package/dist/jsx/core/http.spec.native.js +0 -1401
- package/dist/jsx/core/http.spec.native.js.map +0 -1
- package/dist/jsx/core/wire.spec.mjs +0 -479
- package/dist/jsx/core/wire.spec.mjs.map +0 -1
- package/dist/jsx/core/wire.spec.native.js +0 -482
- package/dist/jsx/core/wire.spec.native.js.map +0 -1
- package/dist/jsx/db.spec.mjs +0 -863
- package/dist/jsx/db.spec.mjs.map +0 -1
- package/dist/jsx/db.spec.native.js +0 -865
- package/dist/jsx/db.spec.native.js.map +0 -1
- package/dist/jsx/doctype.spec.mjs +0 -461
- package/dist/jsx/doctype.spec.mjs.map +0 -1
- package/dist/jsx/doctype.spec.native.js +0 -538
- package/dist/jsx/doctype.spec.native.js.map +0 -1
- package/dist/jsx/file.spec.mjs +0 -316
- package/dist/jsx/file.spec.mjs.map +0 -1
- package/dist/jsx/file.spec.native.js +0 -342
- package/dist/jsx/file.spec.native.js.map +0 -1
- package/dist/jsx/frappeApp.spec.mjs +0 -307
- package/dist/jsx/frappeApp.spec.mjs.map +0 -1
- package/dist/jsx/frappeApp.spec.native.js +0 -308
- package/dist/jsx/frappeApp.spec.native.js.map +0 -1
- package/dist/jsx/frappeReact.spec.mjs +0 -532
- package/dist/jsx/frappeReact.spec.mjs.map +0 -1
- package/dist/jsx/frappeReact.spec.native.js +0 -670
- package/dist/jsx/frappeReact.spec.native.js.map +0 -1
- package/dist/jsx/optimistic.spec.mjs +0 -12
- package/dist/jsx/optimistic.spec.mjs.map +0 -1
- package/dist/jsx/optimistic.spec.native.js +0 -19
- package/dist/jsx/optimistic.spec.native.js.map +0 -1
- package/dist/jsx/pacer.spec.mjs +0 -447
- package/dist/jsx/pacer.spec.mjs.map +0 -1
- package/dist/jsx/pacer.spec.native.js +0 -537
- package/dist/jsx/pacer.spec.native.js.map +0 -1
- package/dist/jsx/realtime.spec.mjs +0 -327
- package/dist/jsx/realtime.spec.mjs.map +0 -1
- package/dist/jsx/realtime.spec.native.js +0 -392
- package/dist/jsx/realtime.spec.native.js.map +0 -1
- package/dist/jsx/sync/backfill.spec.mjs +0 -563
- package/dist/jsx/sync/backfill.spec.mjs.map +0 -1
- package/dist/jsx/sync/backfill.spec.native.js +0 -712
- package/dist/jsx/sync/backfill.spec.native.js.map +0 -1
- package/dist/jsx/sync/debug.spec.mjs +0 -102
- package/dist/jsx/sync/debug.spec.mjs.map +0 -1
- package/dist/jsx/sync/debug.spec.native.js +0 -133
- package/dist/jsx/sync/debug.spec.native.js.map +0 -1
- package/dist/jsx/sync/filters.spec.mjs +0 -169
- package/dist/jsx/sync/filters.spec.mjs.map +0 -1
- package/dist/jsx/sync/filters.spec.native.js +0 -173
- package/dist/jsx/sync/filters.spec.native.js.map +0 -1
- package/dist/jsx/sync/merge.spec.mjs +0 -909
- package/dist/jsx/sync/merge.spec.mjs.map +0 -1
- package/dist/jsx/sync/merge.spec.native.js +0 -937
- package/dist/jsx/sync/merge.spec.native.js.map +0 -1
- package/dist/jsx/sync/multiOrderBy.spec.mjs +0 -166
- package/dist/jsx/sync/multiOrderBy.spec.mjs.map +0 -1
- package/dist/jsx/sync/multiOrderBy.spec.native.js +0 -229
- package/dist/jsx/sync/multiOrderBy.spec.native.js.map +0 -1
- package/dist/jsx/sync/mutationEngine.spec.mjs +0 -1159
- package/dist/jsx/sync/mutationEngine.spec.mjs.map +0 -1
- package/dist/jsx/sync/mutationEngine.spec.native.js +0 -1173
- package/dist/jsx/sync/mutationEngine.spec.native.js.map +0 -1
- package/dist/jsx/sync/mutationJournal.spec.mjs +0 -331
- package/dist/jsx/sync/mutationJournal.spec.mjs.map +0 -1
- package/dist/jsx/sync/mutationJournal.spec.native.js +0 -333
- package/dist/jsx/sync/mutationJournal.spec.native.js.map +0 -1
- package/dist/jsx/sync/mutations.spec.mjs +0 -328
- package/dist/jsx/sync/mutations.spec.mjs.map +0 -1
- package/dist/jsx/sync/mutations.spec.native.js +0 -330
- package/dist/jsx/sync/mutations.spec.native.js.map +0 -1
- package/dist/jsx/sync/normalizedCache.spec.mjs +0 -303
- package/dist/jsx/sync/normalizedCache.spec.mjs.map +0 -1
- package/dist/jsx/sync/normalizedCache.spec.native.js +0 -311
- package/dist/jsx/sync/normalizedCache.spec.native.js.map +0 -1
- package/dist/jsx/sync/persistence.spec.mjs +0 -563
- package/dist/jsx/sync/persistence.spec.mjs.map +0 -1
- package/dist/jsx/sync/persistence.spec.native.js +0 -572
- package/dist/jsx/sync/persistence.spec.native.js.map +0 -1
- package/dist/jsx/sync/realtime.spec.mjs +0 -500
- package/dist/jsx/sync/realtime.spec.mjs.map +0 -1
- package/dist/jsx/sync/realtime.spec.native.js +0 -512
- package/dist/jsx/sync/realtime.spec.native.js.map +0 -1
- package/dist/jsx/sync/rehydration.spec.mjs +0 -732
- package/dist/jsx/sync/rehydration.spec.mjs.map +0 -1
- package/dist/jsx/sync/rehydration.spec.native.js +0 -736
- package/dist/jsx/sync/rehydration.spec.native.js.map +0 -1
- package/dist/jsx/sync/storage.spec.mjs +0 -423
- package/dist/jsx/sync/storage.spec.mjs.map +0 -1
- package/dist/jsx/sync/storage.spec.native.js +0 -470
- package/dist/jsx/sync/storage.spec.native.js.map +0 -1
- package/dist/jsx/sync/subscriptionManager.spec.mjs +0 -1079
- package/dist/jsx/sync/subscriptionManager.spec.mjs.map +0 -1
- package/dist/jsx/sync/subscriptionManager.spec.native.js +0 -1136
- package/dist/jsx/sync/subscriptionManager.spec.native.js.map +0 -1
- package/dist/jsx/sync/subscriptions.spec.mjs +0 -914
- package/dist/jsx/sync/subscriptions.spec.mjs.map +0 -1
- package/dist/jsx/sync/subscriptions.spec.native.js +0 -969
- package/dist/jsx/sync/subscriptions.spec.native.js.map +0 -1
- package/dist/jsx/sync/syncModule.spec.mjs +0 -207
- package/dist/jsx/sync/syncModule.spec.mjs.map +0 -1
- package/dist/jsx/sync/syncModule.spec.native.js +0 -222
- package/dist/jsx/sync/syncModule.spec.native.js.map +0 -1
- package/dist/jsx/sync/types.spec.mjs +0 -247
- package/dist/jsx/sync/types.spec.mjs.map +0 -1
- package/dist/jsx/sync/types.spec.native.js +0 -256
- package/dist/jsx/sync/types.spec.native.js.map +0 -1
- package/dist/jsx/sync/virtualPageManager.spec.mjs +0 -802
- package/dist/jsx/sync/virtualPageManager.spec.mjs.map +0 -1
- package/dist/jsx/sync/virtualPageManager.spec.native.js +0 -873
- package/dist/jsx/sync/virtualPageManager.spec.native.js.map +0 -1
- package/dist/jsx/util.spec.mjs +0 -20
- package/dist/jsx/util.spec.mjs.map +0 -1
- package/dist/jsx/util.spec.native.js +0 -48
- package/dist/jsx/util.spec.native.js.map +0 -1
package/dist/jsx/frappeReact.mjs
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { isWindowDefined } from "@multiplatform.one/platform";
|
|
1
2
|
import { useCallback, useEffect, useRef, useState } from "react";
|
|
2
3
|
import { createFrappeCollection } from "./collection.mjs";
|
|
3
4
|
import { HttpClient } from "./core/http.mjs";
|
|
@@ -26,10 +27,12 @@ function getSyncModule(config) {
|
|
|
26
27
|
const key = config.baseURL;
|
|
27
28
|
let sync = syncModuleCache.get(key);
|
|
28
29
|
if (!sync) {
|
|
30
|
+
console.debug(`[frappe-sync] SyncModule created for ${key} (persistKey=${config.syncOptions?.persistKey ?? "none"}, cdcInterval=${config.syncOptions?.cdcInterval ?? "off"})`);
|
|
29
31
|
const authConfig = config.auth ? {
|
|
30
32
|
useToken: config.auth.useToken,
|
|
31
33
|
token: config.auth.token,
|
|
32
|
-
type: config.auth.type
|
|
34
|
+
type: config.auth.type,
|
|
35
|
+
sessionId: config.auth.sessionId
|
|
33
36
|
} : void 0;
|
|
34
37
|
const http = new HttpClient(config.baseURL, authConfig);
|
|
35
38
|
const db = new DbModule(http, {
|
|
@@ -38,33 +41,208 @@ function getSyncModule(config) {
|
|
|
38
41
|
const realtimeConfig = {
|
|
39
42
|
baseURL: config.baseURL,
|
|
40
43
|
socketPort: config.socketPort,
|
|
41
|
-
auth: authConfig
|
|
44
|
+
auth: authConfig,
|
|
45
|
+
socketOptions: config.socketOptions
|
|
42
46
|
};
|
|
43
47
|
sync = new SyncModule(db, new RealtimeModule(realtimeConfig), config.syncOptions);
|
|
44
48
|
syncModuleCache.set(key, sync);
|
|
45
49
|
}
|
|
46
50
|
return sync;
|
|
47
51
|
}
|
|
52
|
+
const sharedCollectionCaches = /* @__PURE__ */new WeakMap();
|
|
53
|
+
const SHARED_COLLECTION_GC_MS = 1e3;
|
|
54
|
+
const SHARED_COLLECTION_GC_FORCE_MS = 3e4;
|
|
55
|
+
function collectionIsCleanedUp(collection) {
|
|
56
|
+
return collection.status === "cleaned-up";
|
|
57
|
+
}
|
|
58
|
+
function collectionOptionsKey(doctype, options) {
|
|
59
|
+
return [doctype, JSON.stringify(options?.fields), JSON.stringify(options?.filters), JSON.stringify(options?.orderBy), String(options?.limit), String(options?.id)].join("|");
|
|
60
|
+
}
|
|
61
|
+
function scheduleEntryGc(cache, key, entry) {
|
|
62
|
+
if (entry.gcTimer) clearTimeout(entry.gcTimer);
|
|
63
|
+
entry.gcTimer = setTimeout(() => {
|
|
64
|
+
entry.gcTimer = void 0;
|
|
65
|
+
if (entry.refCount > 0 || entry.cleaned) return;
|
|
66
|
+
const subscriberCount = entry.collection.subscriberCount ?? 0;
|
|
67
|
+
if (subscriberCount > 0) {
|
|
68
|
+
entry.gcForceDeadline ??= Date.now() + SHARED_COLLECTION_GC_FORCE_MS;
|
|
69
|
+
if (Date.now() < entry.gcForceDeadline) {
|
|
70
|
+
scheduleEntryGc(cache, key, entry);
|
|
71
|
+
return;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
entry.cleaned = true;
|
|
75
|
+
entry.gcForceDeadline = void 0;
|
|
76
|
+
if (cache.get(key) === entry) cache.delete(key);
|
|
77
|
+
Promise.resolve(entry.collection.cleanup?.()).catch(() => {});
|
|
78
|
+
}, SHARED_COLLECTION_GC_MS);
|
|
79
|
+
}
|
|
80
|
+
function getOrCreateSharedCollection(syncModule, doctype, options, key) {
|
|
81
|
+
let existingCache = sharedCollectionCaches.get(syncModule);
|
|
82
|
+
if (!existingCache) {
|
|
83
|
+
existingCache = /* @__PURE__ */new Map();
|
|
84
|
+
sharedCollectionCaches.set(syncModule, existingCache);
|
|
85
|
+
}
|
|
86
|
+
const cache = existingCache;
|
|
87
|
+
let entry = cache.get(key);
|
|
88
|
+
if (entry && !entry.cleaned && collectionIsCleanedUp(entry.collection)) {
|
|
89
|
+
entry.cleaned = true;
|
|
90
|
+
if (entry.gcTimer) {
|
|
91
|
+
clearTimeout(entry.gcTimer);
|
|
92
|
+
entry.gcTimer = void 0;
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
if (!entry || entry.cleaned) {
|
|
96
|
+
const created = {
|
|
97
|
+
collection: void 0,
|
|
98
|
+
refCount: 0,
|
|
99
|
+
gcTimer: void 0,
|
|
100
|
+
gcForceDeadline: void 0,
|
|
101
|
+
errorHandlers: /* @__PURE__ */new Set(),
|
|
102
|
+
hasSyncError: false,
|
|
103
|
+
lastSyncError: void 0,
|
|
104
|
+
cleaned: false
|
|
105
|
+
};
|
|
106
|
+
created.collection = createFrappeCollection(doctype, {
|
|
107
|
+
...options,
|
|
108
|
+
sync: syncModule,
|
|
109
|
+
onSyncError: error => {
|
|
110
|
+
created.hasSyncError = true;
|
|
111
|
+
created.lastSyncError = error;
|
|
112
|
+
for (const handler of created.errorHandlers) handler(error);
|
|
113
|
+
}
|
|
114
|
+
});
|
|
115
|
+
cache.set(key, created);
|
|
116
|
+
scheduleEntryGc(cache, key, created);
|
|
117
|
+
entry = created;
|
|
118
|
+
}
|
|
119
|
+
return {
|
|
120
|
+
cache,
|
|
121
|
+
entry
|
|
122
|
+
};
|
|
123
|
+
}
|
|
124
|
+
function retainSharedCollection(entry, onSyncError) {
|
|
125
|
+
entry.refCount++;
|
|
126
|
+
if (entry.gcTimer) {
|
|
127
|
+
clearTimeout(entry.gcTimer);
|
|
128
|
+
entry.gcTimer = void 0;
|
|
129
|
+
}
|
|
130
|
+
entry.gcForceDeadline = void 0;
|
|
131
|
+
entry.errorHandlers.add(onSyncError);
|
|
132
|
+
if (entry.hasSyncError) onSyncError(entry.lastSyncError);
|
|
133
|
+
}
|
|
134
|
+
function releaseSharedCollection(cache, key, entry, onSyncError) {
|
|
135
|
+
entry.errorHandlers.delete(onSyncError);
|
|
136
|
+
entry.refCount = Math.max(0, entry.refCount - 1);
|
|
137
|
+
if (entry.refCount > 0 || entry.cleaned) return;
|
|
138
|
+
if (entry.hasSyncError) {
|
|
139
|
+
entry.cleaned = true;
|
|
140
|
+
if (entry.gcTimer) {
|
|
141
|
+
clearTimeout(entry.gcTimer);
|
|
142
|
+
entry.gcTimer = void 0;
|
|
143
|
+
}
|
|
144
|
+
entry.gcForceDeadline = void 0;
|
|
145
|
+
if (cache.get(key) === entry) cache.delete(key);
|
|
146
|
+
cleanupEntryCollectionWhenIdle(entry);
|
|
147
|
+
return;
|
|
148
|
+
}
|
|
149
|
+
scheduleEntryGc(cache, key, entry);
|
|
150
|
+
}
|
|
151
|
+
function cleanupEntryCollectionWhenIdle(entry) {
|
|
152
|
+
const deadline = Date.now() + SHARED_COLLECTION_GC_FORCE_MS;
|
|
153
|
+
const tick = () => {
|
|
154
|
+
entry.gcTimer = void 0;
|
|
155
|
+
const subscriberCount = entry.collection.subscriberCount ?? 0;
|
|
156
|
+
if (subscriberCount > 0 && Date.now() < deadline) {
|
|
157
|
+
entry.gcTimer = setTimeout(tick, SHARED_COLLECTION_GC_MS);
|
|
158
|
+
return;
|
|
159
|
+
}
|
|
160
|
+
Promise.resolve(entry.collection.cleanup?.()).catch(() => {});
|
|
161
|
+
};
|
|
162
|
+
entry.gcTimer = setTimeout(tick, SHARED_COLLECTION_GC_MS);
|
|
163
|
+
}
|
|
48
164
|
function useFrappeCollection(config, doctype, options) {
|
|
49
|
-
const
|
|
50
|
-
|
|
51
|
-
const
|
|
52
|
-
|
|
53
|
-
|
|
165
|
+
const errorHandlerRef = useRef(options?.onSyncError);
|
|
166
|
+
errorHandlerRef.current = options?.onSyncError;
|
|
167
|
+
const stableErrorHandler = useCallback(error => {
|
|
168
|
+
errorHandlerRef.current?.(error);
|
|
169
|
+
}, []);
|
|
170
|
+
const [, setStaleEntryBump] = useState(0);
|
|
171
|
+
let cache;
|
|
172
|
+
let key = "";
|
|
173
|
+
let entry;
|
|
174
|
+
if (config && doctype) {
|
|
54
175
|
const syncModule = getSyncModule(config);
|
|
55
176
|
if (syncModule) {
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
177
|
+
key = collectionOptionsKey(doctype, options);
|
|
178
|
+
({
|
|
179
|
+
cache,
|
|
180
|
+
entry
|
|
181
|
+
} = getOrCreateSharedCollection(syncModule, doctype, options, key));
|
|
61
182
|
}
|
|
62
183
|
}
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
184
|
+
useEffect(() => {
|
|
185
|
+
if (!entry || !cache) return;
|
|
186
|
+
if (entry.cleaned || collectionIsCleanedUp(entry.collection)) {
|
|
187
|
+
setStaleEntryBump(n => n + 1);
|
|
188
|
+
return;
|
|
189
|
+
}
|
|
190
|
+
const retained = entry;
|
|
191
|
+
const retainedCache = cache;
|
|
192
|
+
const retainedKey = key;
|
|
193
|
+
retainSharedCollection(retained, stableErrorHandler);
|
|
194
|
+
const unsubscribeStatus = retained.collection.on?.("status:change", event => {
|
|
195
|
+
if (event?.status !== "cleaned-up" || retained.cleaned) return;
|
|
196
|
+
retained.cleaned = true;
|
|
197
|
+
setStaleEntryBump(n => n + 1);
|
|
198
|
+
});
|
|
199
|
+
return () => {
|
|
200
|
+
unsubscribeStatus?.();
|
|
201
|
+
releaseSharedCollection(retainedCache, retainedKey, retained, stableErrorHandler);
|
|
202
|
+
};
|
|
203
|
+
}, [entry, stableErrorHandler]);
|
|
204
|
+
return entry ? entry.collection : void 0;
|
|
205
|
+
}
|
|
206
|
+
const DISCONNECTED_STATE = Object.freeze({
|
|
207
|
+
connected: false,
|
|
208
|
+
everConnected: false
|
|
209
|
+
});
|
|
210
|
+
function useFrappeConnection(config) {
|
|
211
|
+
const [state, setState] = useState(DISCONNECTED_STATE);
|
|
212
|
+
useEffect(() => {
|
|
213
|
+
if (!config || config.fixtures || !isBrowser()) return;
|
|
214
|
+
const syncModule = getSyncModule(config);
|
|
215
|
+
if (!syncModule) return;
|
|
216
|
+
const read = () => {
|
|
217
|
+
const next = syncModule.getConnectionState();
|
|
218
|
+
setState(prev => prev.connected === next.connected && prev.everConnected === next.everConnected ? prev : next);
|
|
219
|
+
};
|
|
220
|
+
read();
|
|
221
|
+
return syncModule.subscribeStore(read);
|
|
222
|
+
}, [config?.baseURL, !!config?.fixtures]);
|
|
223
|
+
return state;
|
|
224
|
+
}
|
|
225
|
+
function useFrappeDoctypeEvents(config, doctype, onEvent, enabled = true) {
|
|
226
|
+
const handlerRef = useRef(onEvent);
|
|
227
|
+
handlerRef.current = onEvent;
|
|
228
|
+
useEffect(() => {
|
|
229
|
+
if (!enabled || !config || config.fixtures || !doctype || !isBrowser()) return;
|
|
230
|
+
const syncModule = getSyncModule(config);
|
|
231
|
+
if (!syncModule) return;
|
|
232
|
+
syncModule.watchDoctype(doctype);
|
|
233
|
+
const unsubscribe = syncModule.subscribeRealtimeEvents(event => {
|
|
234
|
+
const payload = event.payload;
|
|
235
|
+
if (payload?.doctype && payload.doctype !== doctype) return;
|
|
236
|
+
handlerRef.current({
|
|
237
|
+
type: event.type,
|
|
238
|
+
payload: event.payload
|
|
239
|
+
});
|
|
240
|
+
});
|
|
241
|
+
return () => {
|
|
242
|
+
unsubscribe();
|
|
243
|
+
syncModule.unwatchDoctype(doctype);
|
|
244
|
+
};
|
|
245
|
+
}, [enabled, config?.baseURL, !!config?.fixtures, doctype]);
|
|
68
246
|
}
|
|
69
247
|
function useInfiniteScroll(config) {
|
|
70
248
|
const {
|
|
@@ -96,7 +274,7 @@ function useInfiniteScroll(config) {
|
|
|
96
274
|
}
|
|
97
275
|
}, [hasMore, isLoading, isLoadingMore, onLoadMore, debounceMs]);
|
|
98
276
|
useEffect(() => {
|
|
99
|
-
if (!
|
|
277
|
+
if (!isWindowDefined || typeof IntersectionObserver === "undefined" || !enabled) return;
|
|
100
278
|
const node = sentinelNodeRef.current;
|
|
101
279
|
if (!node) return;
|
|
102
280
|
if (observerRef.current) {
|
|
@@ -282,5 +460,5 @@ function useFrappeInfiniteList(options) {
|
|
|
282
460
|
totalLoaded: items.length
|
|
283
461
|
};
|
|
284
462
|
}
|
|
285
|
-
export { __getActiveSyncModule, useFrappeCollection, useFrappeInfiniteList, useInfiniteScroll };
|
|
463
|
+
export { __getActiveSyncModule, useFrappeCollection, useFrappeConnection, useFrappeDoctypeEvents, useFrappeInfiniteList, useInfiniteScroll };
|
|
286
464
|
//# sourceMappingURL=frappeReact.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useCallback","useEffect","useRef","useState","createFrappeCollection","HttpClient","DbModule","FixtureDbModule","RealtimeModule","SyncModule","isBrowser","syncModuleCache","Map","fixtureSyncModuleCache","WeakMap","__getActiveSyncModule","sync","values","getSyncModule","config","fixtures","sync2","get","db","syncOptions","set","key","baseURL","authConfig","auth","useToken","token","type","http","appName","realtimeConfig","socketPort","useFrappeCollection","doctype","options","collectionRef","configKeyRef","configKey","JSON","stringify","fields","filters","needsCollection","current","syncModule","useInfiniteScroll","hasMore","isLoading","onLoadMore","root","rootMargin","threshold","debounceMs","enabled","isVisible","setIsVisible","isLoadingMore","setIsLoadingMore","observerRef","sentinelNodeRef","debounceTimerRef","lastLoadTimeRef","loadMore","now","Date","node","disconnect","IntersectionObserver","entries","entry","visible","isIntersecting","clearTimeout","setTimeout","observe","sentinelRef","useFrappeInfiniteList","orderBy","pageSize","transform","items","setItems","setHasMore","setIsLoading","error","setError","subscriptionIdRef","syncModuleRef","filtersKey","cancelled","result","subscribe","limit","progressive","unsubscribe","subscriptionId","docs","getDocsForSubscription","pageInfo","getPageInfo","map","err","Error","String","unsubStore","subscribeStore","subId","currentDocs","lastDoc","length","getNextBatch","name","refresh","_isVisible","totalLoaded"],"sources":["../../src/frappeReact.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["isWindowDefined","useCallback","useEffect","useRef","useState","createFrappeCollection","HttpClient","DbModule","FixtureDbModule","RealtimeModule","SyncModule","isBrowser","syncModuleCache","Map","fixtureSyncModuleCache","WeakMap","__getActiveSyncModule","sync","values","getSyncModule","config","fixtures","sync2","get","db","syncOptions","set","key","baseURL","console","debug","persistKey","cdcInterval","authConfig","auth","useToken","token","type","sessionId","http","appName","realtimeConfig","socketPort","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","join","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","useInfiniteScroll","hasMore","isLoading","onLoadMore","root","rootMargin","threshold","debounceMs","isVisible","setIsVisible","isLoadingMore","setIsLoadingMore","observerRef","sentinelNodeRef","debounceTimerRef","lastLoadTimeRef","loadMore","IntersectionObserver","node","disconnect","entries","visible","isIntersecting","observe","sentinelRef","useFrappeInfiniteList","pageSize","transform","items","setItems","setHasMore","setIsLoading","setError","subscriptionIdRef","syncModuleRef","filtersKey","cancelled","result","subscribe","progressive","subscriptionId","docs","getDocsForSubscription","pageInfo","getPageInfo","map","err","Error","unsubStore","subId","currentDocs","lastDoc","length","getNextBatch","name","refresh","_isVisible","totalLoaded"],"sources":["../../src/frappeReact.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -26,10 +26,13 @@ var frappeReact_exports = {};
|
|
|
26
26
|
__export(frappeReact_exports, {
|
|
27
27
|
__getActiveSyncModule: () => __getActiveSyncModule,
|
|
28
28
|
useFrappeCollection: () => useFrappeCollection,
|
|
29
|
+
useFrappeConnection: () => useFrappeConnection,
|
|
30
|
+
useFrappeDoctypeEvents: () => useFrappeDoctypeEvents,
|
|
29
31
|
useFrappeInfiniteList: () => useFrappeInfiniteList,
|
|
30
32
|
useInfiniteScroll: () => useInfiniteScroll
|
|
31
33
|
});
|
|
32
34
|
module.exports = __toCommonJS(frappeReact_exports);
|
|
35
|
+
var import_platform = require("@multiplatform.one/platform");
|
|
33
36
|
var import_react = require("react");
|
|
34
37
|
var import_collection = require("./collection.native.js");
|
|
35
38
|
var import_http = require("./core/http.native.js");
|
|
@@ -88,10 +91,14 @@ function getSyncModule(config) {
|
|
|
88
91
|
var key = config.baseURL;
|
|
89
92
|
var sync1 = syncModuleCache.get(key);
|
|
90
93
|
if (!sync1) {
|
|
94
|
+
var _ref, _ref1;
|
|
95
|
+
var _config_syncOptions, _config_syncOptions1;
|
|
96
|
+
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"})`);
|
|
91
97
|
var authConfig = config.auth ? {
|
|
92
98
|
useToken: config.auth.useToken,
|
|
93
99
|
token: config.auth.token,
|
|
94
|
-
type: config.auth.type
|
|
100
|
+
type: config.auth.type,
|
|
101
|
+
sessionId: config.auth.sessionId
|
|
95
102
|
} : void 0;
|
|
96
103
|
var http = new import_http.HttpClient(config.baseURL, authConfig);
|
|
97
104
|
var db1 = new import_db.DbModule(http, {
|
|
@@ -100,33 +107,249 @@ function getSyncModule(config) {
|
|
|
100
107
|
var realtimeConfig = {
|
|
101
108
|
baseURL: config.baseURL,
|
|
102
109
|
socketPort: config.socketPort,
|
|
103
|
-
auth: authConfig
|
|
110
|
+
auth: authConfig,
|
|
111
|
+
socketOptions: config.socketOptions
|
|
104
112
|
};
|
|
105
113
|
sync1 = new import_sync.SyncModule(db1, new import_realtime.RealtimeModule(realtimeConfig), config.syncOptions);
|
|
106
114
|
syncModuleCache.set(key, sync1);
|
|
107
115
|
}
|
|
108
116
|
return sync1;
|
|
109
117
|
}
|
|
118
|
+
var sharedCollectionCaches = /* @__PURE__ */new WeakMap();
|
|
119
|
+
var SHARED_COLLECTION_GC_MS = 1e3;
|
|
120
|
+
var SHARED_COLLECTION_GC_FORCE_MS = 3e4;
|
|
121
|
+
function collectionIsCleanedUp(collection) {
|
|
122
|
+
return collection.status === "cleaned-up";
|
|
123
|
+
}
|
|
124
|
+
function collectionOptionsKey(doctype, options) {
|
|
125
|
+
return [doctype, JSON.stringify(options === null || options === void 0 ? void 0 : options.fields), JSON.stringify(options === null || options === void 0 ? void 0 : options.filters), JSON.stringify(options === null || options === void 0 ? void 0 : options.orderBy), String(options === null || options === void 0 ? void 0 : options.limit), String(options === null || options === void 0 ? void 0 : options.id)].join("|");
|
|
126
|
+
}
|
|
127
|
+
function scheduleEntryGc(cache, key, entry) {
|
|
128
|
+
if (entry.gcTimer) clearTimeout(entry.gcTimer);
|
|
129
|
+
entry.gcTimer = setTimeout(function () {
|
|
130
|
+
var _entry_collection_subscriberCount;
|
|
131
|
+
var _entry_collection_cleanup, _entry_collection;
|
|
132
|
+
entry.gcTimer = void 0;
|
|
133
|
+
if (entry.refCount > 0 || entry.cleaned) return;
|
|
134
|
+
var subscriberCount = (_entry_collection_subscriberCount = entry.collection.subscriberCount) !== null && _entry_collection_subscriberCount !== void 0 ? _entry_collection_subscriberCount : 0;
|
|
135
|
+
if (subscriberCount > 0) {
|
|
136
|
+
var _entry, _gcForceDeadline;
|
|
137
|
+
(_gcForceDeadline = (_entry = entry).gcForceDeadline) !== null && _gcForceDeadline !== void 0 ? _gcForceDeadline : _entry.gcForceDeadline = Date.now() + SHARED_COLLECTION_GC_FORCE_MS;
|
|
138
|
+
if (Date.now() < entry.gcForceDeadline) {
|
|
139
|
+
scheduleEntryGc(cache, key, entry);
|
|
140
|
+
return;
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
entry.cleaned = true;
|
|
144
|
+
entry.gcForceDeadline = void 0;
|
|
145
|
+
if (cache.get(key) === entry) cache.delete(key);
|
|
146
|
+
Promise.resolve((_entry_collection_cleanup = (_entry_collection = entry.collection).cleanup) === null || _entry_collection_cleanup === void 0 ? void 0 : _entry_collection_cleanup.call(_entry_collection)).catch(function () {});
|
|
147
|
+
}, SHARED_COLLECTION_GC_MS);
|
|
148
|
+
}
|
|
149
|
+
function getOrCreateSharedCollection(syncModule, doctype, options, key) {
|
|
150
|
+
var existingCache = sharedCollectionCaches.get(syncModule);
|
|
151
|
+
if (!existingCache) {
|
|
152
|
+
existingCache = /* @__PURE__ */new Map();
|
|
153
|
+
sharedCollectionCaches.set(syncModule, existingCache);
|
|
154
|
+
}
|
|
155
|
+
var cache = existingCache;
|
|
156
|
+
var entry = cache.get(key);
|
|
157
|
+
if (entry && !entry.cleaned && collectionIsCleanedUp(entry.collection)) {
|
|
158
|
+
entry.cleaned = true;
|
|
159
|
+
if (entry.gcTimer) {
|
|
160
|
+
clearTimeout(entry.gcTimer);
|
|
161
|
+
entry.gcTimer = void 0;
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
if (!entry || entry.cleaned) {
|
|
165
|
+
var created = {
|
|
166
|
+
collection: void 0,
|
|
167
|
+
refCount: 0,
|
|
168
|
+
gcTimer: void 0,
|
|
169
|
+
gcForceDeadline: void 0,
|
|
170
|
+
errorHandlers: /* @__PURE__ */new Set(),
|
|
171
|
+
hasSyncError: false,
|
|
172
|
+
lastSyncError: void 0,
|
|
173
|
+
cleaned: false
|
|
174
|
+
};
|
|
175
|
+
created.collection = (0, import_collection.createFrappeCollection)(doctype, {
|
|
176
|
+
...options,
|
|
177
|
+
sync: syncModule,
|
|
178
|
+
onSyncError: function onSyncError(error) {
|
|
179
|
+
created.hasSyncError = true;
|
|
180
|
+
created.lastSyncError = error;
|
|
181
|
+
var _iteratorNormalCompletion = true,
|
|
182
|
+
_didIteratorError = false,
|
|
183
|
+
_iteratorError = void 0;
|
|
184
|
+
try {
|
|
185
|
+
for (var _iterator = created.errorHandlers[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
|
|
186
|
+
var handler = _step.value;
|
|
187
|
+
handler(error);
|
|
188
|
+
}
|
|
189
|
+
} catch (err) {
|
|
190
|
+
_didIteratorError = true;
|
|
191
|
+
_iteratorError = err;
|
|
192
|
+
} finally {
|
|
193
|
+
try {
|
|
194
|
+
if (!_iteratorNormalCompletion && _iterator.return != null) {
|
|
195
|
+
_iterator.return();
|
|
196
|
+
}
|
|
197
|
+
} finally {
|
|
198
|
+
if (_didIteratorError) {
|
|
199
|
+
throw _iteratorError;
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
});
|
|
205
|
+
cache.set(key, created);
|
|
206
|
+
scheduleEntryGc(cache, key, created);
|
|
207
|
+
entry = created;
|
|
208
|
+
}
|
|
209
|
+
return {
|
|
210
|
+
cache,
|
|
211
|
+
entry
|
|
212
|
+
};
|
|
213
|
+
}
|
|
214
|
+
function retainSharedCollection(entry, onSyncError) {
|
|
215
|
+
entry.refCount++;
|
|
216
|
+
if (entry.gcTimer) {
|
|
217
|
+
clearTimeout(entry.gcTimer);
|
|
218
|
+
entry.gcTimer = void 0;
|
|
219
|
+
}
|
|
220
|
+
entry.gcForceDeadline = void 0;
|
|
221
|
+
entry.errorHandlers.add(onSyncError);
|
|
222
|
+
if (entry.hasSyncError) onSyncError(entry.lastSyncError);
|
|
223
|
+
}
|
|
224
|
+
function releaseSharedCollection(cache, key, entry, onSyncError) {
|
|
225
|
+
entry.errorHandlers.delete(onSyncError);
|
|
226
|
+
entry.refCount = Math.max(0, entry.refCount - 1);
|
|
227
|
+
if (entry.refCount > 0 || entry.cleaned) return;
|
|
228
|
+
if (entry.hasSyncError) {
|
|
229
|
+
entry.cleaned = true;
|
|
230
|
+
if (entry.gcTimer) {
|
|
231
|
+
clearTimeout(entry.gcTimer);
|
|
232
|
+
entry.gcTimer = void 0;
|
|
233
|
+
}
|
|
234
|
+
entry.gcForceDeadline = void 0;
|
|
235
|
+
if (cache.get(key) === entry) cache.delete(key);
|
|
236
|
+
cleanupEntryCollectionWhenIdle(entry);
|
|
237
|
+
return;
|
|
238
|
+
}
|
|
239
|
+
scheduleEntryGc(cache, key, entry);
|
|
240
|
+
}
|
|
241
|
+
function cleanupEntryCollectionWhenIdle(entry) {
|
|
242
|
+
var deadline = Date.now() + SHARED_COLLECTION_GC_FORCE_MS;
|
|
243
|
+
var tick = function tick1() {
|
|
244
|
+
var _entry_collection_subscriberCount;
|
|
245
|
+
var _entry_collection_cleanup, _entry_collection;
|
|
246
|
+
entry.gcTimer = void 0;
|
|
247
|
+
var subscriberCount = (_entry_collection_subscriberCount = entry.collection.subscriberCount) !== null && _entry_collection_subscriberCount !== void 0 ? _entry_collection_subscriberCount : 0;
|
|
248
|
+
if (subscriberCount > 0 && Date.now() < deadline) {
|
|
249
|
+
entry.gcTimer = setTimeout(tick, SHARED_COLLECTION_GC_MS);
|
|
250
|
+
return;
|
|
251
|
+
}
|
|
252
|
+
Promise.resolve((_entry_collection_cleanup = (_entry_collection = entry.collection).cleanup) === null || _entry_collection_cleanup === void 0 ? void 0 : _entry_collection_cleanup.call(_entry_collection)).catch(function () {});
|
|
253
|
+
};
|
|
254
|
+
entry.gcTimer = setTimeout(tick, SHARED_COLLECTION_GC_MS);
|
|
255
|
+
}
|
|
110
256
|
function useFrappeCollection(config, doctype, options) {
|
|
111
|
-
var
|
|
112
|
-
|
|
113
|
-
var
|
|
114
|
-
|
|
115
|
-
|
|
257
|
+
var errorHandlerRef = (0, import_react.useRef)(options === null || options === void 0 ? void 0 : options.onSyncError);
|
|
258
|
+
errorHandlerRef.current = options === null || options === void 0 ? void 0 : options.onSyncError;
|
|
259
|
+
var stableErrorHandler = (0, import_react.useCallback)(function (error) {
|
|
260
|
+
var _errorHandlerRef_current;
|
|
261
|
+
(_errorHandlerRef_current = errorHandlerRef.current) === null || _errorHandlerRef_current === void 0 ? void 0 : _errorHandlerRef_current.call(errorHandlerRef, error);
|
|
262
|
+
}, []);
|
|
263
|
+
var [, setStaleEntryBump] = (0, import_react.useState)(0);
|
|
264
|
+
var cache;
|
|
265
|
+
var key = "";
|
|
266
|
+
var entry;
|
|
267
|
+
if (config && doctype) {
|
|
116
268
|
var syncModule = getSyncModule(config);
|
|
117
269
|
if (syncModule) {
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
270
|
+
key = collectionOptionsKey(doctype, options);
|
|
271
|
+
({
|
|
272
|
+
cache,
|
|
273
|
+
entry
|
|
274
|
+
} = getOrCreateSharedCollection(syncModule, doctype, options, key));
|
|
123
275
|
}
|
|
124
276
|
}
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
277
|
+
(0, import_react.useEffect)(function () {
|
|
278
|
+
var _retained_collection_on, _retained_collection;
|
|
279
|
+
if (!entry || !cache) return;
|
|
280
|
+
if (entry.cleaned || collectionIsCleanedUp(entry.collection)) {
|
|
281
|
+
setStaleEntryBump(function (n) {
|
|
282
|
+
return n + 1;
|
|
283
|
+
});
|
|
284
|
+
return;
|
|
285
|
+
}
|
|
286
|
+
var retained = entry;
|
|
287
|
+
var retainedCache = cache;
|
|
288
|
+
var retainedKey = key;
|
|
289
|
+
retainSharedCollection(retained, stableErrorHandler);
|
|
290
|
+
var unsubscribeStatus = (_retained_collection_on = (_retained_collection = retained.collection).on) === null || _retained_collection_on === void 0 ? void 0 : _retained_collection_on.call(_retained_collection, "status:change", function (event) {
|
|
291
|
+
if ((event === null || event === void 0 ? void 0 : event.status) !== "cleaned-up" || retained.cleaned) return;
|
|
292
|
+
retained.cleaned = true;
|
|
293
|
+
setStaleEntryBump(function (n) {
|
|
294
|
+
return n + 1;
|
|
295
|
+
});
|
|
296
|
+
});
|
|
297
|
+
return function () {
|
|
298
|
+
unsubscribeStatus === null || unsubscribeStatus === void 0 ? void 0 : unsubscribeStatus();
|
|
299
|
+
releaseSharedCollection(retainedCache, retainedKey, retained, stableErrorHandler);
|
|
300
|
+
};
|
|
301
|
+
},
|
|
302
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
303
|
+
[entry, stableErrorHandler]);
|
|
304
|
+
return entry ? entry.collection : void 0;
|
|
305
|
+
}
|
|
306
|
+
var DISCONNECTED_STATE = Object.freeze({
|
|
307
|
+
connected: false,
|
|
308
|
+
everConnected: false
|
|
309
|
+
});
|
|
310
|
+
function useFrappeConnection(config) {
|
|
311
|
+
var [state, setState] = (0, import_react.useState)(DISCONNECTED_STATE);
|
|
312
|
+
(0, import_react.useEffect)(function () {
|
|
313
|
+
if (!config || config.fixtures || !(0, import_util.isBrowser)()) return;
|
|
314
|
+
var syncModule = getSyncModule(config);
|
|
315
|
+
if (!syncModule) return;
|
|
316
|
+
var read = function read2() {
|
|
317
|
+
var next = syncModule.getConnectionState();
|
|
318
|
+
setState(function (prev) {
|
|
319
|
+
return prev.connected === next.connected && prev.everConnected === next.everConnected ? prev : next;
|
|
320
|
+
});
|
|
321
|
+
};
|
|
322
|
+
read();
|
|
323
|
+
return syncModule.subscribeStore(read);
|
|
324
|
+
},
|
|
325
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
326
|
+
[config === null || config === void 0 ? void 0 : config.baseURL, !!(config === null || config === void 0 ? void 0 : config.fixtures)]);
|
|
327
|
+
return state;
|
|
328
|
+
}
|
|
329
|
+
function useFrappeDoctypeEvents(config, doctype, onEvent) {
|
|
330
|
+
var enabled = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : true;
|
|
331
|
+
var handlerRef = (0, import_react.useRef)(onEvent);
|
|
332
|
+
handlerRef.current = onEvent;
|
|
333
|
+
(0, import_react.useEffect)(function () {
|
|
334
|
+
if (!enabled || !config || config.fixtures || !doctype || !(0, import_util.isBrowser)()) return;
|
|
335
|
+
var syncModule = getSyncModule(config);
|
|
336
|
+
if (!syncModule) return;
|
|
337
|
+
syncModule.watchDoctype(doctype);
|
|
338
|
+
var unsubscribe = syncModule.subscribeRealtimeEvents(function (event) {
|
|
339
|
+
var payload = event.payload;
|
|
340
|
+
if ((payload === null || payload === void 0 ? void 0 : payload.doctype) && payload.doctype !== doctype) return;
|
|
341
|
+
handlerRef.current({
|
|
342
|
+
type: event.type,
|
|
343
|
+
payload: event.payload
|
|
344
|
+
});
|
|
345
|
+
});
|
|
346
|
+
return function () {
|
|
347
|
+
unsubscribe();
|
|
348
|
+
syncModule.unwatchDoctype(doctype);
|
|
349
|
+
};
|
|
350
|
+
},
|
|
351
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
352
|
+
[enabled, config === null || config === void 0 ? void 0 : config.baseURL, !!(config === null || config === void 0 ? void 0 : config.fixtures), doctype]);
|
|
130
353
|
}
|
|
131
354
|
function useInfiniteScroll(config) {
|
|
132
355
|
var {
|
|
@@ -158,7 +381,7 @@ function useInfiniteScroll(config) {
|
|
|
158
381
|
}
|
|
159
382
|
}, [hasMore, isLoading, isLoadingMore, onLoadMore, debounceMs]);
|
|
160
383
|
(0, import_react.useEffect)(function () {
|
|
161
|
-
if (!
|
|
384
|
+
if (!import_platform.isWindowDefined || typeof IntersectionObserver === "undefined" || !enabled) return;
|
|
162
385
|
var node = sentinelNodeRef.current;
|
|
163
386
|
if (!node) return;
|
|
164
387
|
if (observerRef.current) {
|