@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/src/doctype.ts
CHANGED
|
@@ -129,9 +129,9 @@ export interface DocTypeMeta {
|
|
|
129
129
|
export interface LinkSearchResult {
|
|
130
130
|
/** The document name (ID) */
|
|
131
131
|
value: string;
|
|
132
|
-
/** The display label (
|
|
132
|
+
/** The display label (server `label` when the doctype shows its title in links, else the name) */
|
|
133
133
|
label: string;
|
|
134
|
-
/**
|
|
134
|
+
/** Ranked description from the server (title field / matched context), like stock Frappe */
|
|
135
135
|
description?: string;
|
|
136
136
|
}
|
|
137
137
|
|
|
@@ -139,12 +139,26 @@ export interface LinkSearchResult {
|
|
|
139
139
|
export interface LinkSearchOptions {
|
|
140
140
|
/** Search query text */
|
|
141
141
|
query?: string;
|
|
142
|
-
/**
|
|
142
|
+
/**
|
|
143
|
+
* Restrict matching to one field (maps to `search_link`'s `searchfield`).
|
|
144
|
+
* Extra entries are ignored — the server owns multi-field ranking now.
|
|
145
|
+
*/
|
|
143
146
|
searchFields?: string[];
|
|
144
|
-
/** Additional Frappe filters */
|
|
147
|
+
/** Additional Frappe filters (server-side, on top of the doctype's link query) */
|
|
145
148
|
filters?: Record<string, unknown> | Array<[string, string, unknown]>;
|
|
146
|
-
/** Maximum results (default 20) */
|
|
149
|
+
/** Maximum results / `page_length` (default 20) */
|
|
147
150
|
limit?: number;
|
|
151
|
+
/**
|
|
152
|
+
* Fetch the first page when the query is empty (stock Frappe behavior on
|
|
153
|
+
* focus). Default false: empty query returns no results and no request.
|
|
154
|
+
*/
|
|
155
|
+
allowEmptyQuery?: boolean;
|
|
156
|
+
/** Gate searching entirely (e.g. only while the picker is open). Default true. */
|
|
157
|
+
enabled?: boolean;
|
|
158
|
+
/** Debounce before hitting the server, in ms (default 300) */
|
|
159
|
+
debounceMs?: number;
|
|
160
|
+
/** Doctype of the form the link sits on (server `reference_doctype`, feeds link queries) */
|
|
161
|
+
referenceDoctype?: string;
|
|
148
162
|
}
|
|
149
163
|
|
|
150
164
|
/** A navigation suggestion from DocType search */
|
|
@@ -166,6 +180,9 @@ const metaCache = new Map<string, DocTypeMeta>();
|
|
|
166
180
|
|
|
167
181
|
/** Cache for the full list of DocTypes, keyed by baseURL */
|
|
168
182
|
const docTypeListCache = new Map<string, DocTypeListItem[]>();
|
|
183
|
+
// In-flight DocType-list fetch per baseURL: the desk mounts two consumers
|
|
184
|
+
// (Awesomebar + DeskSidebar) simultaneously and they must share one request.
|
|
185
|
+
const docTypeListFetches = new Map<string, Promise<DocTypeListItem[]>>();
|
|
169
186
|
|
|
170
187
|
interface DocTypeListItem {
|
|
171
188
|
name: string;
|
|
@@ -294,6 +311,8 @@ export function parseDependsOn(expression?: string): (doc: Record<string, unknow
|
|
|
294
311
|
* 3. `Column Break` → start a new column within the current section.
|
|
295
312
|
* 4. `Tab Break` → start a new section with `tab: true`.
|
|
296
313
|
* 5. All other fields → add to the current column (skip hidden fields).
|
|
314
|
+
* 6. Drop empty leading sections (see below) so meta that begins with a
|
|
315
|
+
* Section Break doesn't produce an empty card before the first real one.
|
|
297
316
|
*
|
|
298
317
|
* @param fields - Flat list of DocType fields, ordered by field_order or position
|
|
299
318
|
* @returns Structured layout tree of sections and columns
|
|
@@ -336,6 +355,15 @@ export function parseFormLayout(fields: DocTypeField[]): FormSection[] {
|
|
|
336
355
|
}
|
|
337
356
|
}
|
|
338
357
|
|
|
358
|
+
// Skip empty leading sections: a doctype whose first field is a Section
|
|
359
|
+
// Break (or whose leading fields are all hidden) otherwise keeps the
|
|
360
|
+
// implicit fieldless first section, which renders as an empty card before
|
|
361
|
+
// the first real section. Keep one section for a fieldless doctype so
|
|
362
|
+
// consumers always receive at least one.
|
|
363
|
+
while (sections.length > 1 && sections[0].columns.every((col) => col.fields.length === 0)) {
|
|
364
|
+
sections.shift();
|
|
365
|
+
}
|
|
366
|
+
|
|
339
367
|
return sections;
|
|
340
368
|
}
|
|
341
369
|
|
|
@@ -594,16 +622,25 @@ export function useDocTypeMeta(
|
|
|
594
622
|
// Hook: useLinkSearch
|
|
595
623
|
// ---------------------------------------------------------------------------
|
|
596
624
|
|
|
625
|
+
/** Raw item shape returned by `frappe.desk.search.search_link` (v13: `results`, v14+: `message`). */
|
|
626
|
+
interface RawSearchLinkItem {
|
|
627
|
+
value?: string;
|
|
628
|
+
label?: string;
|
|
629
|
+
description?: string;
|
|
630
|
+
}
|
|
631
|
+
|
|
597
632
|
/**
|
|
598
|
-
* Debounced search for Link field suggestions
|
|
633
|
+
* Debounced backend search for Link field suggestions — the same server
|
|
634
|
+
* search stock Frappe's link control uses.
|
|
599
635
|
*
|
|
600
|
-
*
|
|
601
|
-
*
|
|
602
|
-
*
|
|
636
|
+
* Calls `GET /api/method/frappe.desk.search.search_link` (doctype + txt +
|
|
637
|
+
* filters + page_length) with a 300ms debounce, returning the server's
|
|
638
|
+
* ranked `{value, description, label?}` pairs. The endpoint enforces
|
|
639
|
+
* permissions and the doctype's link/`get_query` conditions server-side.
|
|
603
640
|
*
|
|
604
641
|
* @param config - Frappe connection config, or undefined to disable
|
|
605
642
|
* @param doctype - The target DocType to search within
|
|
606
|
-
* @param options - Search options (query,
|
|
643
|
+
* @param options - Search options (query, filters, limit, enabled, allowEmptyQuery, debounceMs)
|
|
607
644
|
* @returns `{ results, isLoading, error }`
|
|
608
645
|
*
|
|
609
646
|
* @example
|
|
@@ -637,19 +674,20 @@ export function useLinkSearch(
|
|
|
637
674
|
const searchFields = options?.searchFields;
|
|
638
675
|
const filters = options?.filters;
|
|
639
676
|
const limit = options?.limit ?? 20;
|
|
677
|
+
const allowEmptyQuery = options?.allowEmptyQuery ?? false;
|
|
678
|
+
const enabled = options?.enabled ?? true;
|
|
679
|
+
const debounceMs = options?.debounceMs ?? 300;
|
|
680
|
+
const referenceDoctype = options?.referenceDoctype;
|
|
640
681
|
|
|
641
682
|
const [results, setResults] = useState<LinkSearchResult[]>([]);
|
|
642
683
|
const [isLoading, setIsLoading] = useState(false);
|
|
643
684
|
const [error, setError] = useState<Error | null>(null);
|
|
644
685
|
|
|
645
|
-
// Get meta for auto-configuring title_field
|
|
646
|
-
const { meta } = useDocTypeMeta(config, doctype);
|
|
647
|
-
|
|
648
686
|
const httpRef = useHttpClientRef(config);
|
|
649
687
|
|
|
650
688
|
useEffect(() => {
|
|
651
689
|
const http = httpRef.current;
|
|
652
|
-
if (!http || !query) {
|
|
690
|
+
if (!http || !doctype || !enabled || (!query && !allowEmptyQuery)) {
|
|
653
691
|
setResults([]);
|
|
654
692
|
setIsLoading(false);
|
|
655
693
|
setError(null);
|
|
@@ -662,34 +700,32 @@ export function useLinkSearch(
|
|
|
662
700
|
|
|
663
701
|
const timer = setTimeout(async () => {
|
|
664
702
|
try {
|
|
665
|
-
const titleField = meta?.title_field || "name";
|
|
666
|
-
const effectiveSearchFields =
|
|
667
|
-
searchFields ?? (titleField !== "name" ? [titleField, "name"] : ["name"]);
|
|
668
|
-
|
|
669
|
-
// Build or_filters for searching across multiple fields
|
|
670
|
-
const orFilters = effectiveSearchFields.map((f) => [f, "like", `%${query}%`]);
|
|
671
|
-
const requestFields = [...new Set(["name", titleField, ...effectiveSearchFields])];
|
|
672
|
-
|
|
673
703
|
const params: Record<string, unknown> = {
|
|
674
704
|
doctype,
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
limit_page_length: limit,
|
|
705
|
+
txt: query,
|
|
706
|
+
page_length: limit,
|
|
678
707
|
};
|
|
679
708
|
if (filters) params.filters = filters;
|
|
709
|
+
if (searchFields?.[0]) params.searchfield = searchFields[0];
|
|
710
|
+
if (referenceDoctype) params.reference_doctype = referenceDoctype;
|
|
680
711
|
|
|
681
712
|
const response = await http.get<{
|
|
682
|
-
message?:
|
|
683
|
-
|
|
713
|
+
message?: RawSearchLinkItem[];
|
|
714
|
+
results?: RawSearchLinkItem[];
|
|
715
|
+
}>("/api/method/frappe.desk.search.search_link", params);
|
|
684
716
|
|
|
685
717
|
if (cancelled) return;
|
|
686
718
|
|
|
687
|
-
|
|
719
|
+
// v14+ responds under `message`; v13 used `results`.
|
|
720
|
+
const items = response.payload?.message ?? response.payload?.results ?? [];
|
|
688
721
|
setResults(
|
|
689
|
-
|
|
690
|
-
value: String(
|
|
691
|
-
label: String(
|
|
692
|
-
description:
|
|
722
|
+
items.map((item) => ({
|
|
723
|
+
value: String(item.value ?? ""),
|
|
724
|
+
label: String(item.label ?? item.value ?? ""),
|
|
725
|
+
description:
|
|
726
|
+
item.description === null || item.description === undefined
|
|
727
|
+
? undefined
|
|
728
|
+
: String(item.description),
|
|
693
729
|
})),
|
|
694
730
|
);
|
|
695
731
|
} catch (err) {
|
|
@@ -699,17 +735,110 @@ export function useLinkSearch(
|
|
|
699
735
|
} finally {
|
|
700
736
|
if (!cancelled) setIsLoading(false);
|
|
701
737
|
}
|
|
702
|
-
},
|
|
738
|
+
}, debounceMs);
|
|
703
739
|
|
|
704
740
|
return () => {
|
|
705
741
|
cancelled = true;
|
|
706
742
|
clearTimeout(timer);
|
|
707
743
|
};
|
|
708
|
-
}, [
|
|
744
|
+
}, [
|
|
745
|
+
query,
|
|
746
|
+
doctype,
|
|
747
|
+
searchFields,
|
|
748
|
+
filters,
|
|
749
|
+
limit,
|
|
750
|
+
allowEmptyQuery,
|
|
751
|
+
enabled,
|
|
752
|
+
debounceMs,
|
|
753
|
+
referenceDoctype,
|
|
754
|
+
]);
|
|
709
755
|
|
|
710
756
|
return { results, isLoading, error };
|
|
711
757
|
}
|
|
712
758
|
|
|
759
|
+
// ---------------------------------------------------------------------------
|
|
760
|
+
// Hook: useLinkTitle
|
|
761
|
+
// ---------------------------------------------------------------------------
|
|
762
|
+
|
|
763
|
+
/** Cache for link display titles, keyed by "{baseURL}:{doctype}:{name}" */
|
|
764
|
+
const linkTitleCache = new Map<string, string>();
|
|
765
|
+
|
|
766
|
+
/**
|
|
767
|
+
* Fetch the display title for an existing Link value (foreign key) — what
|
|
768
|
+
* stock Frappe does on form load so a saved link shows its label before any
|
|
769
|
+
* search has run.
|
|
770
|
+
*
|
|
771
|
+
* Calls `frappe.desk.search.get_link_title`, which resolves the doctype's
|
|
772
|
+
* `title_field` server-side (returns the plain name when the doctype does
|
|
773
|
+
* not show titles in links). Results are cached per session; failures fall
|
|
774
|
+
* back to the raw name so the field never renders empty.
|
|
775
|
+
*
|
|
776
|
+
* @param config - Frappe connection config, or undefined to disable
|
|
777
|
+
* @param doctype - The Link's target DocType
|
|
778
|
+
* @param name - The linked document name (current field value)
|
|
779
|
+
* @returns `{ title, isLoading }` — `title` is undefined while nothing is known
|
|
780
|
+
*/
|
|
781
|
+
export function useLinkTitle(
|
|
782
|
+
config: FrappeConnectionConfig | undefined,
|
|
783
|
+
doctype: string,
|
|
784
|
+
name: string | undefined,
|
|
785
|
+
): { title: string | undefined; isLoading: boolean } {
|
|
786
|
+
const cacheKey = config && doctype && name ? `${config.baseURL}:${doctype}:${name}` : "";
|
|
787
|
+
const [title, setTitle] = useState<string | undefined>(() =>
|
|
788
|
+
cacheKey ? linkTitleCache.get(cacheKey) : undefined,
|
|
789
|
+
);
|
|
790
|
+
const [isLoading, setIsLoading] = useState(false);
|
|
791
|
+
|
|
792
|
+
const httpRef = useHttpClientRef(config);
|
|
793
|
+
|
|
794
|
+
useEffect(() => {
|
|
795
|
+
if (!cacheKey || !name) {
|
|
796
|
+
setTitle(undefined);
|
|
797
|
+
setIsLoading(false);
|
|
798
|
+
return;
|
|
799
|
+
}
|
|
800
|
+
|
|
801
|
+
const cached = linkTitleCache.get(cacheKey);
|
|
802
|
+
if (cached !== undefined) {
|
|
803
|
+
setTitle(cached);
|
|
804
|
+
setIsLoading(false);
|
|
805
|
+
return;
|
|
806
|
+
}
|
|
807
|
+
|
|
808
|
+
const http = httpRef.current;
|
|
809
|
+
if (!http) return;
|
|
810
|
+
|
|
811
|
+
let cancelled = false;
|
|
812
|
+
setIsLoading(true);
|
|
813
|
+
|
|
814
|
+
(async () => {
|
|
815
|
+
try {
|
|
816
|
+
const response = await http.get<{ message?: string }>(
|
|
817
|
+
"/api/method/frappe.desk.search.get_link_title",
|
|
818
|
+
{ doctype, docname: name },
|
|
819
|
+
);
|
|
820
|
+
if (cancelled) return;
|
|
821
|
+
const message = response.payload?.message;
|
|
822
|
+
const resolved = message === null || message === undefined ? name : String(message);
|
|
823
|
+
linkTitleCache.set(cacheKey, resolved);
|
|
824
|
+
setTitle(resolved);
|
|
825
|
+
} catch {
|
|
826
|
+
if (cancelled) return;
|
|
827
|
+
// Honest fallback: the name itself is always a truthful display value.
|
|
828
|
+
setTitle(name);
|
|
829
|
+
} finally {
|
|
830
|
+
if (!cancelled) setIsLoading(false);
|
|
831
|
+
}
|
|
832
|
+
})();
|
|
833
|
+
|
|
834
|
+
return () => {
|
|
835
|
+
cancelled = true;
|
|
836
|
+
};
|
|
837
|
+
}, [cacheKey, doctype, name]);
|
|
838
|
+
|
|
839
|
+
return { title, isLoading };
|
|
840
|
+
}
|
|
841
|
+
|
|
713
842
|
// ---------------------------------------------------------------------------
|
|
714
843
|
// Hook: useDocTypeSearch
|
|
715
844
|
// ---------------------------------------------------------------------------
|
|
@@ -752,16 +881,16 @@ export function useDocTypeSearch(
|
|
|
752
881
|
const [error, setError] = useState<Error | null>(null);
|
|
753
882
|
|
|
754
883
|
const httpRef = useHttpClientRef(config);
|
|
884
|
+
const cacheKey = config?.baseURL ?? "";
|
|
755
885
|
|
|
756
886
|
useEffect(() => {
|
|
757
|
-
if (!
|
|
887
|
+
if (!cacheKey) {
|
|
758
888
|
setAllDocTypes([]);
|
|
759
889
|
setIsLoading(false);
|
|
760
890
|
return;
|
|
761
891
|
}
|
|
762
892
|
|
|
763
|
-
const
|
|
764
|
-
const cached = docTypeListCache.get(key);
|
|
893
|
+
const cached = docTypeListCache.get(cacheKey);
|
|
765
894
|
if (cached) {
|
|
766
895
|
setAllDocTypes(cached);
|
|
767
896
|
return;
|
|
@@ -774,32 +903,53 @@ export function useDocTypeSearch(
|
|
|
774
903
|
setIsLoading(true);
|
|
775
904
|
setError(null);
|
|
776
905
|
|
|
777
|
-
|
|
778
|
-
|
|
779
|
-
|
|
906
|
+
// Share one in-flight fetch per baseURL (Awesomebar + DeskSidebar mount
|
|
907
|
+
// together). A failed fetch clears its entry so a later mount can retry;
|
|
908
|
+
// the stable cacheKey dep below keeps that from looping.
|
|
909
|
+
let fetchPromise = docTypeListFetches.get(cacheKey);
|
|
910
|
+
if (!fetchPromise) {
|
|
911
|
+
fetchPromise = http
|
|
912
|
+
.get<{
|
|
780
913
|
data?: DocTypeListItem[];
|
|
781
914
|
}>("/api/resource/DocType", {
|
|
782
915
|
limit_page_length: 0,
|
|
783
|
-
|
|
916
|
+
// DocType has no `title` column; requesting it makes Frappe reject
|
|
917
|
+
// the whole query ("Field not permitted in query: title")
|
|
918
|
+
fields: ["name", "module"],
|
|
919
|
+
})
|
|
920
|
+
.then((response) => {
|
|
921
|
+
const list = response.payload?.data ?? [];
|
|
922
|
+
docTypeListCache.set(cacheKey, list);
|
|
923
|
+
return list;
|
|
924
|
+
})
|
|
925
|
+
.finally(() => {
|
|
926
|
+
docTypeListFetches.delete(cacheKey);
|
|
784
927
|
});
|
|
928
|
+
docTypeListFetches.set(cacheKey, fetchPromise);
|
|
929
|
+
}
|
|
785
930
|
|
|
786
|
-
|
|
787
|
-
|
|
788
|
-
|
|
789
|
-
|
|
790
|
-
|
|
791
|
-
|
|
792
|
-
|
|
793
|
-
|
|
794
|
-
} finally {
|
|
931
|
+
fetchPromise
|
|
932
|
+
.then((list) => {
|
|
933
|
+
if (!cancelled) setAllDocTypes(list);
|
|
934
|
+
})
|
|
935
|
+
.catch((err) => {
|
|
936
|
+
if (!cancelled) setError(err instanceof Error ? err : new Error(String(err)));
|
|
937
|
+
})
|
|
938
|
+
.finally(() => {
|
|
795
939
|
if (!cancelled) setIsLoading(false);
|
|
796
|
-
}
|
|
797
|
-
})();
|
|
940
|
+
});
|
|
798
941
|
|
|
799
942
|
return () => {
|
|
800
943
|
cancelled = true;
|
|
801
944
|
};
|
|
802
|
-
|
|
945
|
+
// Depend on the stable string `cacheKey` (baseURL), NOT the `config`
|
|
946
|
+
// object — both desk callers allocate a fresh config every render.
|
|
947
|
+
// Keying on object identity re-runs this effect per render and, when
|
|
948
|
+
// the request fails (a Guest hitting the permission-gated DocType list
|
|
949
|
+
// → 403, which never populates `docTypeListCache`), spins into an
|
|
950
|
+
// infinite refetch loop that hammers the bench. Same fix as
|
|
951
|
+
// useDocTypeMeta above.
|
|
952
|
+
}, [cacheKey]);
|
|
803
953
|
|
|
804
954
|
// Filter locally for instant results
|
|
805
955
|
const results = useMemo<DocTypeSearchResult[]>(() => {
|
package/src/file.ts
CHANGED
|
@@ -10,7 +10,11 @@ export type UploadArgs = {
|
|
|
10
10
|
};
|
|
11
11
|
|
|
12
12
|
export class FileModule {
|
|
13
|
-
|
|
13
|
+
private readonly http: HttpClient;
|
|
14
|
+
|
|
15
|
+
constructor(http: HttpClient) {
|
|
16
|
+
this.http = http;
|
|
17
|
+
}
|
|
14
18
|
|
|
15
19
|
uploadFile(
|
|
16
20
|
file: File | Blob,
|
package/src/fixtureDb.ts
CHANGED
|
@@ -8,13 +8,18 @@
|
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
10
|
import type { FrappeDoc, FrappeDocData } from "./common/types";
|
|
11
|
+
import { FrappeError } from "./core/types";
|
|
11
12
|
import type { ListOptions } from "./core/types";
|
|
12
13
|
import type { BackfillArgs, BackfillResponse } from "./db";
|
|
13
14
|
import type { FixtureProvider } from "./fixtures";
|
|
14
15
|
import type { OrderBy } from "./sync/types";
|
|
15
16
|
|
|
16
17
|
export class FixtureDbModule {
|
|
17
|
-
|
|
18
|
+
private readonly fixtures: FixtureProvider;
|
|
19
|
+
|
|
20
|
+
constructor(fixtures: FixtureProvider) {
|
|
21
|
+
this.fixtures = fixtures;
|
|
22
|
+
}
|
|
18
23
|
|
|
19
24
|
getAppName(): string | undefined {
|
|
20
25
|
return undefined;
|
|
@@ -37,7 +42,13 @@ export class FixtureDbModule {
|
|
|
37
42
|
name: string,
|
|
38
43
|
): Promise<FrappeDoc<Data>> {
|
|
39
44
|
const doc = await this.fixtures.getDoc<Data>(doctype, name);
|
|
40
|
-
|
|
45
|
+
// Mirror the live DbModule contract: a missing document surfaces as a
|
|
46
|
+
// 404-status FrappeError (what /api/resource/<dt>/<name> returns), so
|
|
47
|
+
// callers that treat 404 as not-found (e.g. the single-doc subscription
|
|
48
|
+
// path) behave identically in fixture mode. A bare Error here read as a
|
|
49
|
+
// SYNC FAILURE upstream and turned every missing-doc fixture story into
|
|
50
|
+
// a failing-fetch loop.
|
|
51
|
+
if (!doc) throw new FrappeError(`Document ${doctype}/${name} not found`, 404);
|
|
41
52
|
return { ...doc, doctype, name } as FrappeDoc<Data>;
|
|
42
53
|
}
|
|
43
54
|
|
package/src/frappeApp.ts
CHANGED
|
@@ -50,16 +50,10 @@ export class FrappeApp {
|
|
|
50
50
|
this._call = new CallModule(this.http);
|
|
51
51
|
this._file = new FileModule(this.http);
|
|
52
52
|
|
|
53
|
-
// Configure RealtimeModule with
|
|
53
|
+
// Configure RealtimeModule with the same credentials HTTP uses (token and/or sessionId).
|
|
54
54
|
const realtimeConfig: RealtimeConfig = {
|
|
55
55
|
baseURL,
|
|
56
|
-
auth: auth
|
|
57
|
-
? {
|
|
58
|
-
useToken: auth.useToken,
|
|
59
|
-
token: auth.token,
|
|
60
|
-
type: auth.type,
|
|
61
|
-
}
|
|
62
|
-
: undefined,
|
|
56
|
+
auth: toRealtimeAuth(auth),
|
|
63
57
|
...auth.realtimeOptions,
|
|
64
58
|
};
|
|
65
59
|
this._realtime = new RealtimeModule(realtimeConfig);
|
|
@@ -110,16 +104,21 @@ export class FrappeApp {
|
|
|
110
104
|
|
|
111
105
|
async updateAuth(auth: FrappeConfig) {
|
|
112
106
|
this.http.updateAuth(auth);
|
|
113
|
-
|
|
114
|
-
// Update realtime auth with new configuration
|
|
115
|
-
if (auth.useToken && auth.token) {
|
|
116
|
-
await this._realtime.updateAuth({
|
|
117
|
-
useToken: auth.useToken,
|
|
118
|
-
token: auth.token,
|
|
119
|
-
type: auth.type,
|
|
120
|
-
});
|
|
121
|
-
} else {
|
|
122
|
-
await this._realtime.updateAuth({});
|
|
123
|
-
}
|
|
107
|
+
await this._realtime.updateAuth(toRealtimeAuth(auth) ?? {});
|
|
124
108
|
}
|
|
125
109
|
}
|
|
110
|
+
|
|
111
|
+
/** Map FrappeApp auth into the subset RealtimeModule understands. */
|
|
112
|
+
function toRealtimeAuth(auth: FrappeConfig): AuthConfig | undefined {
|
|
113
|
+
const hasToken = !!(auth.useToken && auth.token);
|
|
114
|
+
const hasSession = !!auth.sessionId;
|
|
115
|
+
const hasCookie = !!auth.cookie;
|
|
116
|
+
if (!hasToken && !hasSession && !hasCookie) return undefined;
|
|
117
|
+
return {
|
|
118
|
+
useToken: auth.useToken,
|
|
119
|
+
token: auth.token,
|
|
120
|
+
type: auth.type,
|
|
121
|
+
sessionId: auth.sessionId,
|
|
122
|
+
cookie: auth.cookie,
|
|
123
|
+
};
|
|
124
|
+
}
|