@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
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["beforeEach","describe","expect","it","vi","BackfillManager","BackfillReason","Order","VirtualSubscription","_assert_this_initialized","self","ReferenceError","_call_super","_this","derived","args","_get_prototype_of","_possible_constructor_return","_is_native_reflect_construct","Reflect","construct","constructor","apply","_class_call_check","instance","Constructor","TypeError","_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","key","_create_class","protoProps","staticProps","prototype","o","setPrototypeOf","getPrototypeOf","o2","__proto__","_inherits","subClass","superClass","create","value","_set_prototype_of","call","_type_of","p","p2","obj","Symbol","result","Boolean","valueOf","_","mock","matchesFilters","fn","backfillManager","mockDb","mockNormalizedCache","mockDocs","Array","from","name","doctype","owner","modified","Date","toISOString","creation","modified_by","title","MockVirtualSubscription","VirtualSubscription2","MockVirtualSubscription2","id","query","docIds","progressiveCache","viewWindow","overrides","baseSubscription","checkpoint","cursor","boundaries","lockExpiry","pendingRehydration","metadata","tombstones","Set","assign","get","set","createMockSubscription","createMockSubscription2","defaultProgressiveCache","slice","map","d","nextCursor","hasMore","totalCount","otherOverrides","limit","orderBy","field","order","Asc","currentPage","pageSize","getDocList","options","start","cursorIndex","findIndex","limitStart","backfill","modifiedAfter","filtered","filter","rows","deleted","getCount","getDoc","createDoc","updateDoc","deleteDoc","doc","find","upsert","remove","delete","clear","getAll","hasDoc","getAllByDoctype","batchUpsert","batchDelete","clearByDoctype","size","sizeByDoctype","maxRetries","retryDelay","subscription","Initial","toHaveBeenCalled","testProgressiveCache","toHaveLength","lastFetchedAt","toBeInstanceOf","firstPromise","secondPromise","Pagination","resolves","toBeUndefined","mockImplementationOnce","Promise","resolve","setTimeout","promise1","promise2","promise3","DeleteGap","all","toBeGreaterThan","pendingBackfill","toBe","RemoteCreate","needsRehydration","backfillOne","toBeDefined","toContain","toBeNull","not","mockRejectedValueOnce","Error","mockResolvedValueOnce","rehydrateCurrentPage","toHaveBeenCalledWith","fields","filters","toHaveBeenCalledTimes","originalSecondPage","toEqual","rejects","toThrow","initialLength","anything","objectContaining","originalCheckpoint","Periodic","Recovery","mocked","mockImplementation","_filters","mockReturnValue"],"sources":["../../../src/sync/backfill.spec.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,UAAA,EAAYC,QAAA,EAAUC,MAAA,EAAQC,EAAA,EAAIC,EAAA,QAAU;AAGrD,SAASC,eAAA,EAAiBC,cAAA,QAAsB;AAEhD,SAASC,KAAA,QAAwD;AACjE,SAASC,mBAAA,QAA2B;AAGpC,SAAQC,wBAAoBA,CAAAC,IAAA;EAC1B,IAAAA,IAAA,UAAgB,CAAG;IACnB,UAAAC,cAAA;EAEF;EACE,OAAID,IAAA;AACJ;AACA,SAAIE,YAAAC,KAAA,EAAAC,OAAA,EAAAC,IAAA;EAEJD,OAAM,GAAAE,iBAA6C,CAAKF,OAAE;EAA0B,OAClFG,4BAAc,CAAAJ,KAAA,EAAAK,4BAAA,KAAAC,OAAA,CAAAC,SAAA,CAAAN,OAAA,EAAAC,IAAA,QAAAC,iBAAA,CAAAH,KAAA,EAAAQ,WAAA,IAAAP,OAAA,CAAAQ,KAAA,CAAAT,KAAA,EAAAE,IAAA;AAAA;AACL,SACTQ,iBAAOA,CAAAC,QAAA,EAAAC,WAAA;EAAA,IACP,EAAAD,QAAU,YAASC,WAAe,GAAI;IACtC,UAAUC,SAAS,oCAAwB;EAAA;AAC9B;AACN,SACPC,iBAAoBA,CAAAC,MAAA,EAAAC,KAAA;EACtB,KAAE,IAAAC,CAAA,MAAAA,CAAA,GAAAD,KAAA,CAAAE,MAAA,EAAAD,CAAA;IAEF,IAAME,UAAA,GAAAH,KAAA,CAAAC,CAAA;IACJE,UAAA,CAAAC,UAEE,GACAD,UACA,CAAAC,UAAA,IACA;IAIAD,UAAM,CAAAE,YAAA,OAAmB;IAAA,IACvB,WAAAF,UAAA,EAAAA,UAAA,CAAAG,QAAA;IAAAC,MACA,CAAAC,cAAA,CAAAT,MAAA,EAAAI,UAAA,CAAAM,GAAA,EAAAN,UAAA;EAAA;AACA;AACY,SACZO,aAAQA,CAAAd,WAAA,EAAAe,UAAA,EAAAC,WAAA;EAAA,IAAAD,UACR,EAAAb,iBAAY,CAAAF,WAAA,CAAAiB,SAAA,EAAAF,UAAA;EAAA,IAAAC,WACZ,EAAAd,iBAAY,CAAAF,WAAA,EAAAgB,WAAA;EAAA,OACZhB,WAAA;AAAoB;AACV,SACVT,iBAAYA,CAAA2B,CAAA;EAAgB3B,iBACzB,GAAAoB,MAAA,CAAAQ,cAAA,GAAAR,MAAA,CAAAS,cAAA,YAAAA,eAAAC,EAAA;IAAA,OACLA,EAAA,CAAAC,SAAA,IAAAX,MAAA,CAAAS,cAAA,CAAAC,EAAA;EAEA;EAGA,OAAA9B,iBAAe,CAAA2B,CAAA;AACb;AAA6B,SAC/BK,UAAAC,QAAA,EAAAC,UAAA;EAAA,IACF,OAAAA,UAAA,mBAAAA,UAAA;IAAA,UAAAxB,SAAA;EAAA;EAIEuB,QAAA,CAAAP,SAAY,GAAAN,MAAA,CAAAe,MAAA,CAAAD,UAAA,IAAAA,UAAA,CAAAR,SAAA;IACdrB,WAAA;MAEA+B,KAAI,EAAAH,QAAA;MACFd,QAAK;MACPD,YAAA;IACF;EAEA;EAGE,IAAAgB,UAAM,EAAAG,iBAAA,CAA0BJ,QAAA,EAAAC,UAAA;AAAA;AACiB,SAC/CjC,4BAAYA,CAAAP,IAAA,EAAA4C,IAAA;EAAA,IACZA,IAAA,KAASC,QAAA,CAAAD,IAAA,yBAAAA,IAAA;IAAA,OACTA,IAAA;EAAY;EAGd,OAAA7C,wBAAyB,CAAAC,IAAA;AACzB;AAEA,SAAA2C,iBAAWA,CAAAV,CAAA,EAAAa,CAAA;EAAAH,iBACT,GAAAjB,MAAA,CAAAQ,cAAA,aAAAA,eAAAE,EAAA,EAAAW,EAAA;IAAAX,EACA,CAAAC,SAAA,GAAAU,EAAA;IAAA,OACEX,EAAA;EAAS;EACF,OACPO,iBAAkB,CAAAV,CAAA,EAAAa,CAAA;AAA6B;AACjD,SACCD,SAAAG,GAAA;EAAA,uBACD;;EAAA,OACAA,GAAA,WAAAC,MAAA,oBAAAD,GAAA,CAAArC,WAAA,KAAAsC,MAAA,qBAAAD,GAAA;AAAA;AACe,SACbxC,4BAAUA,CAAA;EAAA,IACZ;IAAA,IACA0C,MAAA,IAAAC,OAAA,CAAAnB,SAAA,CAAAoB,OAAA,CAAAR,IAAA,CAAAnC,OAAA,CAAAC,SAAA,CAAAyC,OAAA,mBACF;EACF,SAAAE,CAAA,GAEA;EACE,QAAA7C,4BAAS,YAAAA,CAAA;IAAA,OACP,EAAA0C,MAAY;EACV;AACA;AACExD,EAAA,CAAA4D,IAAA,YAAM,cAAc;EACpB;IAA6CC,cACxC,EAAA7D,EAAA,CAAA8D,EAAA;MACL;IAA+B;EAEjC;AACA;AAA0CjE,QAC3C;EAAA,IACDkE,eAAa;EACX,IAAAC,MAAA;EACA,IAAAC,mBAAc;EAGd,IAAAC,QAAM,GAAAC,KAAA,CAAAC,IAAW;IAIjBzC,MAAA;EAAO,aACLgC,CAAA,EAAMjC,CAAA;IAAuB,OAC7B;MAAU2C,IACZ,SAAA3C,CAAA;MACF4C,OAAC;MACDC,KAAA,QAAa;MACbC,QAAQ,MAAMC,IAAA,mBAAA/C,CAAA,EAAAgD,WAAA;MACdC,QAAA,MAAcF,IAAG,aAAAC,WAAA;MACjBE,WAAW,QAAM;MACjB5B,KAAA,EAAAtB,CAAA;MACFmD,KAAA,cAAAnD,CAAA;IAEA;EAAsB;EAElB,IAAAoD,uBAAqB,kBAAc,UAAaC,oBAAA;IAChD,YAAO;;IAAOnC,SACf,CAAAoC,wBAAA,EAAAD,oBAAA;IAAA,SACDC,wBAAcA,CAAAC,EAAA,EAAAC,KAAA,EAAAC,MAAA,EAAAC,gBAAA,EAAAC,UAAA,EAAAC,SAAA;MACdnE,iBAAc,OAAA6D,wBAAA;MACd,IAAAvE,KAAQ;MACR,IAAA8E,gBAAa;QACbN,EAAA;QACAC,KAAA;QACAC,MAAA;QACAK,UAAA,EAAa,KAAM;QACnBC,MAAA,OAAa,CAAG;QAChBC,UAAA,OAAmB;QACnBC,UAAY;QACZC,kBAAkB,EAAG;QACvBC,QAAA;QAEAC,UAAA,iBAAsB,IAAAC,GAAgB;QACpC,GAAAT;MACA;MACA7E,KAAA,GAAAD,WAAY,OAAAwE,wBAAA,GACbO,gBAAA,EACFH,gBAAA,EAEDC,UAAS,CACJ;MACD,IAAAC,SAAM;QAENtD,MAAM,CAAAgE,MAAA,CAAAvF,KAAA,EAAgB6E,SAAS;MAE/B;MACA,OAAO7E,KAAA;IACP;IACF0B,aAAC,CAAA6C,wBAAA,GAED;MACE9C,GAAA,EAAM,sBAAe;MAGrB+D,GAAA;MAGA;MAGA,SAAaA,IAAA;QACP,OAAO,KAAAb,gBAAe;MAC7B,CAEE;MACDc,GAAA,EAAM,SAAAA,IAAAlD,KAAe;QAGpB,IAAO,CAAAoC,gBAAmB,GAAApC,KAAA;MACzB;IACA,EAA2B,CAC7B;IAGA,OAAAgC,wBAAiB;EACjB,EAAA5E,mBAAiB;EACjB,IAAA+F,sBAAiB,YAAgBC,uBAAuBA,CAAAd,SAAA;IAExD,IAAAe,uBAAmB;MAGnBlB,MAAM,EAAAjB,QAAI,CAAAoC,KAAS,QAAAC,GAAY,WAAWC,CAAA;QAC3C,OAAAA,CAAA,CAAAnC,IAAA;MAED,CAAG;MACDoC,UAAM;MAGNC,OAAM;MACNC,UAAO;IAEP;IACA,IAAAvB,gBAAO,GAAa,CAAAE,SAAA,KAAe,IAAE,IAAKA,SAAK,uBAAAA,SAAA,CAAAF,gBAAA,KAAAiB,uBAAA;IAE/C;MAAAjB,gBAAM,EAAgBzB,CAAA;MAAA,GAAAiD;IAAS,IAActB,SAAA,IAAe;IAC5D,WAAOR,uBAAa,QAAkB;MACvCR,OAAA;MACFuC,KAAA;MAEDC,OAAS;QACJC,KAAA;QACDC,KAAM,EAAA7G,KAAA,CAAA8G;MAEN;IAEA,OAAA7B,gBAAY;MACZ8B,WAAO,EAAK;MACZC,QAAO;IACP,GAAAP,cAAO;EAA6C;EAGtDhH,UAAG;IACDoE,MAAA,GAAM;MAAsCoD,UAC1C,EAAApH,EAAA,CAAA8D,EAAA,iBAAkBQ,OAAA,EAAA+C,OAAA;QAAA,IAChBC,KAAA;QAAkC,IAClCD,OAAA,KAAY,QAAAA,OAAA,uBAAAA,OAAA,CAAA5B,MAAA;UACZ,IAAA8B,WAAS,GAAArD,QAAA,CAAAsD,SAAA,WAAAhB,CAAA;YACT,OAAAA,CAAA,CAAAnC,IAAY,KAAAgD,OAAA,CAAA5B,MAAA;UACd;UACD6B,KAAA,GAAAC,WAAA,QAAAA,WAAA;QAED,OAAM;UAEND,KAAO,GAAK,CAAAD,OAAA,KAAS,QAAAA,OAAA,uBAAAA,OAAA,CAAAI,UAAA;QACrB;QACD,IAAAZ,KAAA,IAAAQ,OAAA,aAAAA,OAAA,uBAAAA,OAAA,CAAAR,KAAA;QAEE,OAAA3C,QAAA,CAAAoC,KAAA,CAAAgB,KAAA,EAAAA,KAAA,GAAAT,KAAyC;MAC1C;MAECa,QAAO,EAAA1H,EAAA,CAAA8D,EAAA,iBAAmBuD,OAAA,EAAsB;QAEjD,IAAMM,aAAY,GAAAN,OAAA,CAAAM,aAAgB;QAElC,IAAAd,KAAU,GAAEQ,OAAS,CAAAR,KAAA;QACtB,IAAAe,QAAA,GAAAD,aAAA,GAAAzD,QAAA,CAAA2D,MAAA,WAAArB,CAAA;UAEE,OAAAA,CAAA,CAAAhC,QAAA,IAAAgC,CAAA,CAAAhC,QAAA,GAAAmD,aAAA;QACD,KAAMzD,QAAA;QAEL,OAAO;UAER4D,IAAM,EAAAF,QAAY,CAAAtB,KAAA,IAAAO,KAAA,CAAgB;UAElCkB,OAAU,EAAE;QACZ;MACD;MACFC,QAAA,EAAAhI,EAAA,CAAA8D,EAAA;QAED,OAASI,QAAA,CAAAvC,MAAA;MACP,CAAG;MACDsG,MAAM,EAAAjI,EAAA,CAAA8D,EAAA;MAAsCoE,SAC1C,EAAAlI,EAAA,CAAY8D,EAAE;MAA6BqE,SAC3C,EAAAnI,EAAA,CAAA8D,EAAA;MACFsE,SAAC,EAAApI,EAAA,CAAA8D,EAAA;IAED;IAEAG,mBAAc;MAA4CgC,GACxD,EAAAjG,EAAA,CAAA8D,EAAQ,WAAAQ,OAAA,EAAAD,IAAA;QACR,IAAAgE,GAAA,GAASnE,QAAA,CAAAoE,IAAA,WAAA9B,CAAA;UACT,OAASA,CAAA,CAAEnC,IAAA,KAAOA,IAAA;QAClB;QAAY,OAAAgE,GAAA;MAAA,EACZ;MACFE,MAAC,EAAAvI,EAAA,CAAA8D,EAAA;MAED0E,MAAA,EAAOxI,EAAA,CAAA8D,EAAA;MACR2E,MAAA,EAAAzI,EAAA,CAAA8D,EAAA;MAED4E,KAAG,EAAA1I,EAAA,CAAA8D,EAAA;MACD6E,MAAM,EAAA3I,EAAA,CAAA8D,EAAA;MAEN8E,MAAM,EAAA5I,EAAA,CAAA8D,EAAA;MAEN+E,eAAO,EAAA7I,EAAA,CAAA8D,EAAA;MACRgF,WAAA,EAAA9I,EAAA,CAAA8D,EAAA;MAEDiF,WAAG,EAAA/I,EAAA,CAAA8D,EAAA;MACDkF,cAAM,EAAAhJ,EAAA,CAAA8D,EAAe;MAAuBmF,IAC1C,EAAAjJ,EAAA,CAAA8D,EAAA;MAAkBoF,aACR,EAAAlJ,EAAA,CAAM8D,EAAA;IAAyC;IAC3CC,eACH,OAAA9D,eAAA,CAAA+D,MAAA,EAAAC,mBAAA;MAAAkD,QACT;MAAYgC,UACd;MAAAC,UACA;IAA2C,EAC7C;EAEA;EAEAvJ,QAAA,WAAM,cAAgB;IAGtBE,EAAA,6CAAyC,oBAAqB;MAAA,IAC5DsJ,YAAS,GAAMlD,sBAAwB;MACzC,MAAApC,eAAA,CAAA2D,QAAA,CAAA2B,YAAA,EAAAnJ,cAAA,CAAAoJ,OAAA;MACAxJ,MAAA,CAAOkE,MAAA,CAAAoD,UAAa,EAAAmC,gBAAqB;MAC1CzJ,MAAA,CAAAuJ,YAAA,CAAAG,oBAAA,CAAArE,MAAA,EAAAsE,YAAA;MAED3J,MAAG,CAAAuJ,YAAA,CAAAG,oBAAA,CAAAE,aAA2C,EAAYC,cAAA,CAAAlF,IAAA;IACxD;IAEA1E,EAAC,+CAAoD,oBAAqB;MAE1E,IAAAsJ,YAAa,GAAAlD,sBAAgB;MAA4C,IACvEyD,YAAA,GAAA7F,eAAA,CAAA2D,QAAA,CAAA2B,YAAA,EAAAnJ,cAAA,CAAAoJ,OAAA;MACF,IAAAO,aAAA,GAAA9F,eAAA,CAAA2D,QAAA,CAAA2B,YAAA,EAAAnJ,cAAA,CAAA4J,UAAA;MACD,MAAAhK,MAAA,CAAA8J,YAAA,EAAAG,QAAA,CAAAC,aAAA;MACF,MAAAlK,MAAA,CAAA+J,aAAA,EAAAE,QAAA,CAAAC,aAAA;IAED;IACEjK,EAAA,CAAG,kDAA6C,oBAAY;MAC1D,IAAAsJ,YAAM,GAAAlD,sBAAe;MACrBnC,MAAA,CAAAoD,UAAa,CAAA6C,sBAAqB,mBAAU;QAE5C,MAAM,IAAAC,OAAA,WAAgBC,OAAS;UAG/B,OAAOC,UAAa,CAAAD,OAAA;QACpB;QACD,OAAAjG,QAAA,CAAAoC,KAAA;MAED,CAAG;MACD,IAAA+D,QAAM,GAAAtG,eAAe,CAAA2D,QAAA,CAAA2B,YAAuB,EAAAnJ,cAAA,CAAAoJ,OAAA;MAAA,IAC1CgB,QAAA,GAAAvG,eAAkB,CAAA2D,QAAA,CAAA2B,YAAA,EAAAnJ,cAAA,CAAA4J,UAAA;MAAA,IAChBS,QAAQ,GAAAxG,eAAkB,CAAA2D,QAAS,CAAA2B,YAAY,EAAAnJ,cAAA,CAAAsK,SAAA;MAAA,MAC/CN,OAAA,CAAAO,GAAY,EAAAJ,QACZ,EAASC,QACT,EACFC,QAAA,CACD;MAED,MAAM,IAAAL,OAAA,WAAgBC,OAAA,EAAa;QAEnC,OAAMC,UAAA,CAAAD,OAAgB,KAAS;MAG/B;IACF,CAAC;IAEDpK,EAAA,CAAG,4CAA2C,kBAAY;MACxD,IAAAsJ,YAAM,GAAAlD,sBAAe;MAAuB,MAC1CpC,eAAiB,CAAA2D,QAAA,CAAA2B,YAAA,EAAAnJ,cAAA,CAAA4J,UAAA;MACnBhK,MAAC,CAAAuJ,YAAA,CAAAG,oBAAA,CAAArE,MAAA,CAAAxD,MAAA,EAAA+I,eAAA;MAED,MAAM3G,eAAA,CAAgB2D,QAAA,CAAS2B,YAAA,EAAcnJ,cAAA,CAAesK,SAAS;MAErE1K,MAAA,CAAOuJ,YAAA,CAAasB,eAAe,EAAEC,IAAA,CAAK,KAAK;MAChD,MAAA7G,eAAA,CAAA2D,QAAA,CAAA2B,YAAA,EAAAnJ,cAAA,CAAA2K,YAAA;MAED/K,MAAG,CAAAuJ,YAAA,CAAAyB,gBAAA,EAAAF,IAAA,MAA+C;IAChD;EAA4C;EACxB/K,QAClB,cAAc,cAAa;IAAgBE,EAC7C,CAAC;MAED,IAAAsJ,YAAM,GAAAlD,sBAAyB;MAE/B,IAAAkC,GAAO,SAAAtE,eAAa,CAAAgH,WAAuB,CAAA1B,YAAK;MAChDvJ,MAAA,CAAOuI,GAAA,EAAA2C,WAAO,CAAU;MAAElL,MACxB,CAAAuI,GAAO,SAAS,IAAAA,GAAA,uBAAAA,GAAA,CAAAhE,IAAA,EAAAuG,IAAA;MAAA9K,MAChB,CAAAuJ,YAAO,CAAAG,oBAAiB,CAAArE,MAAA,EAAA8F,SAAA;MAAAnL,MACtB,CAAAmE,mBAAY,CAAAsE,MAAA,EAAAgB,gBAAA;IAAA;IACLxJ,EAAA,4CACR;MACH,IAAAsJ,YAAA,GAAAlD,sBAAA;QACDf,gBAAA;UAEED,MAAA,EAAAjB,QAAA,CAAAqC,GAAA,WAAAC,CAAA;YACK,OAAAA,CAAA,CAAAnC,IAAA;UACN,EAAM;UACJoC,UAAY;UACbC,OAAA;UAEDC,UAAM;QAEN;MAAwB,EACtB;MAAwB,IACtB0B,GAAA,SAAAtE,eAAe,CAAAgH,WAAA,CAAA1B,YAAA;MAAAvJ,MAChB,CAAAuI,GAAA,EAAA6C,QAAA;MACHpL,MAAA,CAAAkE,MAAA,CAAAoD,UAAA,EAAA+D,GAAA,CAAA5B,gBAAA;IACF,CAAC;IAEDxJ,EAAA,CAAG,2DAA0D;MAC3D,IAAAsJ,YAAM,GAAAlD,sBAAe;MAAuBnC,MAC1C,CAAAoD,UAAY,CAAAgE,qBAAA,KAAAC,KAAA;MACd,IAAChD,GAAA,SAAAtE,eAAA,CAAAgH,WAAA,CAAA1B,YAAA;MAEDvJ,MAAM,CAAAuI,GAAA,EAAA6C,QAAA,EAAgB;IAGtB;IACAnL,EAAA,wDAAwD,oBAAY;MACrE,IAAAsJ,YAAA,GAAAlD,sBAAA;MACFnC,MAAA,CAAAoD,UAAA,CAAAkE,qBAAA;MAED,IAAAjD,GAAS,SAAAtE,eAAwB,CAAAgH,WAAM,CAAA1B,YAAA;MACrCvJ,MAAG,CAAAuI,GAAA,EAAA6C,QAAA;MACDpL,MAAM,CAAAuJ,YAAA,CAAAG,oBAAe,CAAA9C,OAAuB,EAAAkE,IAAA;IAAA;EACa;EACrC/K,QAChB,uBAAuB,cAAY;IAAYE,EAAA,0CACnC;MAAA,IACZsJ,YAAS,GAAAlD,sBAAA;QAAAd,UACT;UACF6B,WAAA;UACDC,QAAA;QAED;QAEA2D,gBAAc;MACd;MACA,MAAA/G,eAAoB,CAAAwH,oBAAqB,CAAAlC,YAAS,CAAM;MACzDvJ,MAAA,CAAAkE,MAAA,CAAAoD,UAAA,EAAAoE,oBAAA;QAEEC,MAAA;QACDC,OAAM;QACJ5E,OAAA;UACAC,KAAA,YAAkB;UAChBC,KAAA,EAAA7G,KAAS,CAAA8G;QAAyB;QACtBQ,UACZ,EAAS;QAAA;QAEXZ,KAAA;MACF,CAAC;MAEA/G,MAAA,CAAOuJ,YAAiB,CAAAyB,gBAAA,EAAsBF,IAAA;IAAA;IACtC7K,EAAA,wDACoB;MAC7B,IAACsJ,YAAA,GAAAlD,sBAAA;MAED,MAAMpC,eAAA,CAAgBwH,oBAAS,CAAAlC,YAAc;MAE7CvJ,MAAA,CAAOmE,mBAAa,CAAAsE,MAAA,EAAAoD,qBAAiC;IACrD;IACA5L,EAAA,2CAAyC,oBAAkB;MAC3D,IAAAsJ,YAAO,GAAAlD,sBAA4B;QACjCf,gBAAS;UACTD,MAAM,EAAAhB,KAAA,CAAAC,IAAA;YACPzC,MAAA;UACF,aAAAgC,CAAA,EAAAjC,CAAA;YAEE,cAAAA,CAAA;UACD,EAAM;UACH+E,UAAO,UAAc;UAEtBC,OAAO,EAAI;UACZC,UAAA;QAED;QACEtB,UAAA,EAAY;UACZ6B,WAAA;UACEC,QAAQ,EAAC;QAAyB;MACtB;MACH,IACTyE,kBAAY,GAAAvC,YAAA,CAAAG,oBAAA,CAAArE,MAAA,CAAAmB,KAAA;MAAA,MACdvC,eAAA,CAAAwH,oBAAA,CAAAlC,YAAA;MACFvJ,MAAC,CAAAuJ,YAAA,CAAAG,oBAAA,CAAArE,MAAA,CAAAmB,KAAA,SAAAuF,OAAA,CAAA3H,QAAA,CAAAoC,KAAA,QAAAC,GAAA,WAAAC,CAAA;QAEA,OAAOA,CAAA,CAAAnC,IAAA;MAAuC,EAC7C;MAAMvE,MACF,CAAAuJ,YAAM,CAAAG,oBAAmB,CAAArE,MAAA,CAAAmB,KAAI,KAAK,EAAE,GAAAuF,OAAA,CAAAD,kBAAc;IAAA;IACA7L,EAAA,0CACtD;MAAA,IACAsJ,YAAU,GAAAlD,sBAAA;MACZnC,MAAC,CAAAoD,UAAA,CAAAgE,qBAAA,KAAAC,KAAA;MAED,MAAMvL,MAAA,CAAAiE,eAAgB,CAAAwH,oBAAuB,CAAAlC,YAAe,GAAAyC,OAAQ,CAAAC,OAAA;IAEpE;EACA;EAAkElM,QACnE;IAEDE,EAAA,CAAG,+DAAyD;MAC1D,IAAAsJ,YAAQ,GAAAlD,sBAAgC;MACxCkD,YAAU,CAAAG,oBAAgB,CAAArE,MAAA,GAAgB;MAE1C,MAAMpB,eAAe,CAAA2D,QAAA,CAAA2B,YAAA,EAAuBnJ,cAAA,CAAAoJ,OAAA;MAAAxJ,MAC1C,CAAAuJ,YAAgB,CAAAG,oBAAiB,CAAArE,MAAY,CAAAxD,MAAA,EAAA+I,eAAA;MAAA5K,MAC7C,CAAAuJ,YAAA,CAAkBG,oBAAA,CAAAE,aAAA,EAAAsB,WAAA;IAAA;IACSjL,EAAA,oDACb;MAAA,IACZsJ,YAAS,GAAAlD,sBAAA;QAAAf,gBACG;UACdD,MAAA,EAAAjB,QAAA,CAAAoC,KAAA,QAAAC,GAAA,WAAAC,CAAA;YACD,OAAAA,CAAA,CAAAnC,IAAA;UAEA;UACCoC,UAAM;UACJC,OAAE,EAAM;UAA4CC,UAAA;QACtD;MAAA,EACA;MACF,IAACqF,aAAA,GAAA3C,YAAA,CAAAG,oBAAA,CAAArE,MAAA,CAAAxD,MAAA;MAED,MAAMoC,eAAA,CAAgB2D,QAAA,CAAS2B,YAAA,EAAcnJ,cAAA,CAAe4J,UAAQ;MAEpEhK,MAAA,CAAOuJ,YAAA,CAAaG,oBAAkB,CAAArE,MAAS,CAAAxD,MAAA,EAAA+I,eAAA,CAAAsB,aAAA;IACjD,CAAC;IAEDjM,EAAA,CAAG,6DAAwD;MACzD,IAAAsJ,YAAM,GAAAlD,sBAAe;QACnBwE,eAAY,EAAI;MAClB,CAAC;MAEA,MAAA5G,eAAwB,CAAA2D,QAAA,CAAA2B,YAA0B,EAAAnJ,cAAiB,CAACsK,SAAA;MAErE1K,MAAM,CAAAuJ,YAAA,CAAAsB,eAAyB,EAAAC,IAAA,MAAc;IAG7C;IACA7K,EAAA,8CAAyC,EAAO,kBAAQ;MACzD,IAAAsJ,YAAA,GAAAlD,sBAAA;QACF2E,gBAAA;QAEDzF,UAAS;UACJ6B,WAAA;UACDC,QAAM;QACJ;MAAkB;MAC+B,MAC/CpD,eAAY,CAAA2D,QAAA,CAAA2B,YAAA,EAAAnJ,cAAA,CAAA2K,YAAA;MAAA/K,MACZ,CAAAuJ,YAAS,CAAAyB,gBAAA,EAAAF,IAAA;MAAA9K,MACT,CAAAkE,MAAA,CAAAoD,UAAY,EAAAoE,oBAAA,CAAA1L,MAAA,CAAAmM,QAAA,IAAAnM,MAAA,CAAAoM,gBAAA;QACdzE,UAAA;QACDZ,KAAA;MAED;IAEA;IAA0D9G,EAAA,sDAChD;MAAA,IACRoM,kBAAS,OAAA1H,IAAA,uBAAAC,WAAA;MAAA,IACT2E,YAAW,GAAAlD,sBAA0B;QACrCX,UAAQ,EAAA2G;MAAA,EACR;MAAO,MAAApI,eAAA,CAAA2D,QAAA,CAAA2B,YAAA,EAAAnJ,cAAA,CAAAkM,QAAA;MACTtM,MAAC,CAAAkE,MAAA,CAAA0D,QAAA,EAAA8D,oBAAA,CAAA1L,MAAA,CAAAoM,gBAAA;QAEDvE,aAAO,EAAAwE;MACR;IAED;IACEpM,EAAA,yDAA4C;MAAA,IAC1CsJ,YAAA,GAAAlD,sBAAkB;QAAAX,UACR;MAAuC;MACnC,MACZzB,eAAS,CAAA2D,QAAA,CAAA2B,YAAA,EAAAnJ,cAAA,CAAAmM,QAAA;MAAAvM,MACT,CAAAuJ,YAAY,CAAAG,oBAAA,CAAArE,MAAA,EAAA6F,WAAA;MAAAlL,MACd,CAAAuJ,YAAA,CAAAG,oBAAA,CAAAE,aAAA,EAAAsB,WAAA;IAAA,EACF;EAGA;EAEAnL,QAAA,uBAAsB,cAAS;IAE/BE,EAAA,0CAAyC,oBAAmB;MAC5D,IAAAsJ,YAAO,GAAAlD,sBAAkC;QAC1CX,UAAA,MAAAf,IAAA,uBAAAC,WAAA;QAEEU,gBAAA;UACDD,MAAM,EAAAjB,QAAA,CAAeoC,KAAA,QAAAC,GAAA,WAAuBC,CAAA;YAC1C,OAAAA,CAAA,CAAAnC,IAAA;UACE;UACAoC,UAAA,EAAY;UACZC,OAAA,EAAS;UACTC,UAAA,EAAY;QACd;MACF,CAAC;MAED,MAAM5C,eAAA,CAAgB2D,QAAA,CAAA2B,YAAa,EAAAnJ,cAAqB,CAAAkM,QAAO;MAE/DtM,MAAM,CAAAkE,MAAA,CAAA0D,QAAgB,EAAA6B,gBAAS;MAG/BzJ,MAAA,CAAOuJ,YAAA,CAAa7D,UAAA,EAAAwF,WAAqB;MAC1ClL,MAAA,CAAAuJ,YAAA,CAAA7D,UAAA,EAAA2F,GAAA,CAAAP,IAAA,KAAAnG,IAAA,uBAAAC,WAAA;IACF;IAED3E,EAAA,6CAAmC;MACjC,IAAGsJ,YAAA,GAAAlD,sBAAsC;QACvCX,UAAM,MAAAf,IAAe,aAAAC,WAAuB;QAG5CU,gBAAI;UACJD,MAAM,GACJ,SACD,SAEA,OAAO,CACN;UACAsB,UAAO,SAAS;UACjBC,OAAA;UAGDC,UAAM;QAGN;MACA;MACA3C,MAAM,CAAA0D,QAAA,CAAA4D,qBAA2B;QAGjCxD,IAAA;QAEAC,OAAM,GAGN;UACD1D,IAAA;QAEE;MAED;MAGC,MAAAN,eAA0B,CAAA2D,QAAA,CAAA2B,YAAmB,EAAAnJ,cAAY,CAAAkM,QAAA;MACxDtM,MAAA,CAAAuJ,YAAU,CAAQG,oBAAa,CAAArE,MAAW,EAAAgG,GAAA,CAASF,SAAG;MACtDnL,MAAA,CAAAuJ,YAAgB,CAAAG,oBAAW,CAAArE,MAAA,EAAA8F,SAAA;MAC7BnL,MAAC,CAAAuJ,YAAA,CAAAG,oBAAA,CAAArE,MAAA,EAAA8F,SAAA;MAGDnL,MAAM,CAAAmE,mBAAmB,CAAAuE,MAAA,EAAAgD,oBAAwB;QAChDlH,OAAA,WAAwB;QACvBD,IAAA;MACA;IAA6C,EAC/C;IAGAtE,EAAA,uDAA0C,EAAc,kBAAe;MACvE;QAAM8D;MAAW,gBAAgB,sBAAS;MAC1C7D,EAAA,CAAAsM,MAAM,CAAAzI,cAAW,EAAA0I,kBAAyB,WAAAlE,GAAc,EAAAmE,QAAA;QAExD,OAAMnE,GAAA,CAAAhE,IAAQ,KAAK,OAAU;MAG7B;MACA,IAAAgF,YAAgB,GAAElD,sBAAQ;QACxBX,UAAA,MAAef,IAAA,aAAAC,WAAA;QACfU,gBAAe;UACfD,MAAA,GACD,SACF,SACF,QAEQ;UACJsB,UAAA;UACDC,OAAM;UACJC,UAAY;QACb;MAED;MAAiB3C,MACb,CAAG0D,QAAA,CAAS4D,qBAAc;QAC5BxD,IAAE,EAAG,CACH;UACJzD,IAAA;UAECG,QAAO,kBAAmB,IAAAC,IAAsB,IAAAC,WAAQ;QAEzD,GAEA;UACDL,IAAA;UAEEG,QAAA,sBAAAC,IAAA,IAAAC,WAAkD;QACnD,EACE;QACDqD,OAAA;MAED;MAAiB,MACbhE,eAAe,CAAA2D,QAAS,CAAA2B,YAAU,EAAAnJ,cAAA,CAAAkM,QAAA;MAAAtM,MAClC,CAAAuJ,YAAe,CAAAG,oBAAoB,CAAArE,MAAA,EAAUgG,GAAA,CAAAF,SAAA;MAAuBnL,MACpE,CAAAuJ,YAAe,CAAAG,oBAAmB,CAAArE,MAAA,EAAA8F,SAAA;IAAA,EACtC;IAEAlL,EAAC,wDAAwD;MAEzD;QAAM8D;MAAA,CAAgB,SAAS,4BAAc;MAE7C7D,EAAA,CAAAsM,MAAO,CAAAzI,cAAa,EAAA4I,eAAiB;MACtC,IAAApD,YAAA,GAAAlD,sBAAA;QAEEX,UAAA,MAAAf,IAAA,aAAAC,WAAA;QACDU,gBAAM;UACJD,MAAA,GACD,SAEA,OAAO,CAER;UAEAsB,UAAO,SAAa;UACrBC,OAAA;UACFC,UAAA;QACF","ignoreList":[]}
|
|
@@ -1,102 +0,0 @@
|
|
|
1
|
-
import { afterEach, beforeEach, describe, expect, it, vi } from "vitest";
|
|
2
|
-
import * as filters from "./filters.mjs";
|
|
3
|
-
import { SyncModule } from "./index.mjs";
|
|
4
|
-
function createMockDb() {
|
|
5
|
-
return {
|
|
6
|
-
getDocList: vi.fn().mockResolvedValue([{
|
|
7
|
-
name: "todo-1",
|
|
8
|
-
doctype: "ToDo",
|
|
9
|
-
modified: "2026-01-01 00:00:00",
|
|
10
|
-
status: "Open"
|
|
11
|
-
}, {
|
|
12
|
-
name: "todo-2",
|
|
13
|
-
doctype: "ToDo",
|
|
14
|
-
modified: "2026-01-01 00:00:00",
|
|
15
|
-
status: "Open"
|
|
16
|
-
}]),
|
|
17
|
-
getDoc: vi.fn().mockResolvedValue({
|
|
18
|
-
name: "todo-1",
|
|
19
|
-
doctype: "ToDo",
|
|
20
|
-
modified: "2026-01-01",
|
|
21
|
-
status: "Open"
|
|
22
|
-
}),
|
|
23
|
-
backfill: vi.fn().mockResolvedValue({
|
|
24
|
-
rows: [],
|
|
25
|
-
checkpoint: null
|
|
26
|
-
}),
|
|
27
|
-
getCount: vi.fn().mockResolvedValue(2),
|
|
28
|
-
createDoc: vi.fn().mockResolvedValue({
|
|
29
|
-
name: "todo-new",
|
|
30
|
-
doctype: "ToDo"
|
|
31
|
-
}),
|
|
32
|
-
updateDoc: vi.fn().mockResolvedValue(void 0),
|
|
33
|
-
deleteDoc: vi.fn().mockResolvedValue(void 0)
|
|
34
|
-
};
|
|
35
|
-
}
|
|
36
|
-
describe("SyncModule.__debug()", () => {
|
|
37
|
-
let syncModule;
|
|
38
|
-
let mockDb;
|
|
39
|
-
beforeEach(() => {
|
|
40
|
-
vi.spyOn(filters, "matchesFilters").mockReturnValue(true);
|
|
41
|
-
vi.spyOn(filters, "extractSingleName").mockReturnValue(void 0);
|
|
42
|
-
mockDb = createMockDb();
|
|
43
|
-
Object.defineProperty(global, "crypto", {
|
|
44
|
-
value: {
|
|
45
|
-
randomUUID: vi.fn().mockReturnValue("debug-test-uuid")
|
|
46
|
-
},
|
|
47
|
-
writable: true
|
|
48
|
-
});
|
|
49
|
-
syncModule = new SyncModule(mockDb, void 0, {});
|
|
50
|
-
});
|
|
51
|
-
afterEach(() => {
|
|
52
|
-
vi.restoreAllMocks();
|
|
53
|
-
});
|
|
54
|
-
it("returns subscriptions with correct doc counts", async () => {
|
|
55
|
-
const {
|
|
56
|
-
subscriptionId
|
|
57
|
-
} = await syncModule.subscribe({
|
|
58
|
-
doctype: "ToDo",
|
|
59
|
-
fields: ["name", "status"],
|
|
60
|
-
limit: 20
|
|
61
|
-
});
|
|
62
|
-
const debug = syncModule.__debug();
|
|
63
|
-
expect(debug.subscriptions).toHaveLength(1);
|
|
64
|
-
expect(debug.subscriptions[0].id).toBe(subscriptionId);
|
|
65
|
-
expect(debug.subscriptions[0].docCount).toBe(2);
|
|
66
|
-
expect(debug.subscriptions[0].tombstoneCount).toBe(0);
|
|
67
|
-
expect(debug.subscriptions[0].query.doctype).toBe("ToDo");
|
|
68
|
-
});
|
|
69
|
-
it("normalized cache stats match after subscribing", async () => {
|
|
70
|
-
await syncModule.subscribe({
|
|
71
|
-
doctype: "ToDo",
|
|
72
|
-
fields: ["name", "status"],
|
|
73
|
-
limit: 20
|
|
74
|
-
});
|
|
75
|
-
const debug = syncModule.__debug();
|
|
76
|
-
expect(debug.normalizedCache.size).toBe(2);
|
|
77
|
-
expect(debug.normalizedCache.doctypes).toContainEqual({
|
|
78
|
-
doctype: "ToDo",
|
|
79
|
-
count: 2
|
|
80
|
-
});
|
|
81
|
-
});
|
|
82
|
-
it("connection state reports correctly", () => {
|
|
83
|
-
const debug = syncModule.__debug();
|
|
84
|
-
expect(debug.connection).toBeDefined();
|
|
85
|
-
expect(typeof debug.connection.isOnline).toBe("boolean");
|
|
86
|
-
expect(typeof debug.connection.isLeader).toBe("boolean");
|
|
87
|
-
expect(typeof debug.connection.socketConnected).toBe("boolean");
|
|
88
|
-
});
|
|
89
|
-
it("mutation journal has correct structure", async () => {
|
|
90
|
-
await syncModule.subscribe({
|
|
91
|
-
doctype: "ToDo",
|
|
92
|
-
fields: ["name", "status"],
|
|
93
|
-
limit: 20
|
|
94
|
-
});
|
|
95
|
-
const debug = syncModule.__debug();
|
|
96
|
-
expect(debug.mutationJournal).toBeDefined();
|
|
97
|
-
expect(Array.isArray(debug.mutationJournal.pending)).toBe(true);
|
|
98
|
-
expect(Array.isArray(debug.mutationJournal.confirmed)).toBe(true);
|
|
99
|
-
expect(Array.isArray(debug.mutationJournal.failed)).toBe(true);
|
|
100
|
-
});
|
|
101
|
-
});
|
|
102
|
-
//# sourceMappingURL=debug.spec.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["afterEach","beforeEach","describe","expect","it","vi","filters","SyncModule","createMockDb","getDocList","fn","mockResolvedValue","name","doctype","modified","status","getDoc","backfill","rows","checkpoint","getCount","createDoc","updateDoc","deleteDoc","syncModule","mockDb","spyOn","mockReturnValue","Object","defineProperty","global","value","randomUUID","writable","restoreAllMocks","subscriptionId","subscribe","fields","limit","debug","__debug","subscriptions","toHaveLength","id","toBe","docCount","tombstoneCount","query","normalizedCache","size","doctypes","toContainEqual","count","connection","toBeDefined","isOnline","isLeader","socketConnected","mutationJournal","Array","isArray","pending","confirmed","failed"],"sources":["../../../src/sync/debug.spec.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,SAAA,EAAWC,UAAA,EAAYC,QAAA,EAAUC,MAAA,EAAQC,EAAA,EAAIC,EAAA,QAAU;AAEhE,YAAYC,OAAA,MAAa;AACzB,SAASC,UAAA,QAAkB;AAE3B,SAASC,aAAA,EAAe;EACtB,OAAO;IACLC,UAAA,EAAYJ,EAAA,CAAGK,EAAA,CAAG,EAAEC,iBAAA,CAAkB,CACpC;MACEC,IAAA,EAAM;MACNC,OAAA,EAAS;MACTC,QAAA,EAAU;MACVC,MAAA,EAAQ;IACV,GACA;MACEH,IAAA,EAAM;MACNC,OAAA,EAAS;MACTC,QAAA,EAAU;MACVC,MAAA,EAAQ;IACV,EACD;IACDC,MAAA,EAAQX,EAAA,CAAGK,EAAA,CAAG,EAAEC,iBAAA,CAAkB;MAChCC,IAAA,EAAM;MACNC,OAAA,EAAS;MACTC,QAAA,EAAU;MACVC,MAAA,EAAQ;IACV,CAAC;IACDE,QAAA,EAAUZ,EAAA,CAAGK,EAAA,CAAG,EAAEC,iBAAA,CAAkB;MAAEO,IAAA,EAAM,EAAC;MAAGC,UAAA,EAAY;IAAK,CAAC;IAClEC,QAAA,EAAUf,EAAA,CAAGK,EAAA,CAAG,EAAEC,iBAAA,CAAkB,CAAC;IACrCU,SAAA,EAAWhB,EAAA,CAAGK,EAAA,CAAG,EAAEC,iBAAA,CAAkB;MAAEC,IAAA,EAAM;MAAYC,OAAA,EAAS;IAAO,CAAC;IAC1ES,SAAA,EAAWjB,EAAA,CAAGK,EAAA,CAAG,EAAEC,iBAAA,CAAkB,MAAS;IAC9CY,SAAA,EAAWlB,EAAA,CAAGK,EAAA,CAAG,EAAEC,iBAAA,CAAkB,MAAS;EAChD;AACF;AAEAT,QAAA,CAAS,wBAAwB,MAAM;EACrC,IAAIsB,UAAA;EACJ,IAAIC,MAAA;EAEJxB,UAAA,CAAW,MAAM;IACfI,EAAA,CAAGqB,KAAA,CAAMpB,OAAA,EAAS,gBAAgB,EAAEqB,eAAA,CAAgB,IAAI;IACxDtB,EAAA,CAAGqB,KAAA,CAAMpB,OAAA,EAAS,mBAAmB,EAAEqB,eAAA,CAAgB,MAAS;IAChEF,MAAA,GAASjB,YAAA,CAAa;IACtBoB,MAAA,CAAOC,cAAA,CAAeC,MAAA,EAAQ,UAAU;MACtCC,KAAA,EAAO;QAAEC,UAAA,EAAY3B,EAAA,CAAGK,EAAA,CAAG,EAAEiB,eAAA,CAAgB,iBAAiB;MAAE;MAChEM,QAAA,EAAU;IACZ,CAAC;IACDT,UAAA,GAAa,IAAIjB,UAAA,CAAWkB,MAAA,EAAQ,QAAW,CAAC,CAAC;EACnD,CAAC;EAEDzB,SAAA,CAAU,MAAM;IACdK,EAAA,CAAG6B,eAAA,CAAgB;EACrB,CAAC;EAED9B,EAAA,CAAG,iDAAiD,YAAY;IAC9D,MAAM;MAAE+B;IAAe,IAAI,MAAMX,UAAA,CAAWY,SAAA,CAAU;MACpDvB,OAAA,EAAS;MACTwB,MAAA,EAAQ,CAAC,QAAQ,QAAQ;MACzBC,KAAA,EAAO;IACT,CAAC;IAED,MAAMC,KAAA,GAAQf,UAAA,CAAWgB,OAAA,CAAQ;IAEjCrC,MAAA,CAAOoC,KAAA,CAAME,aAAa,EAAEC,YAAA,CAAa,CAAC;IAC1CvC,MAAA,CAAOoC,KAAA,CAAME,aAAA,CAAc,CAAC,EAAEE,EAAE,EAAEC,IAAA,CAAKT,cAAc;IACrDhC,MAAA,CAAOoC,KAAA,CAAME,aAAA,CAAc,CAAC,EAAEI,QAAQ,EAAED,IAAA,CAAK,CAAC;IAC9CzC,MAAA,CAAOoC,KAAA,CAAME,aAAA,CAAc,CAAC,EAAEK,cAAc,EAAEF,IAAA,CAAK,CAAC;IACpDzC,MAAA,CAAOoC,KAAA,CAAME,aAAA,CAAc,CAAC,EAAEM,KAAA,CAAMlC,OAAO,EAAE+B,IAAA,CAAK,MAAM;EAC1D,CAAC;EAEDxC,EAAA,CAAG,kDAAkD,YAAY;IAC/D,MAAMoB,UAAA,CAAWY,SAAA,CAAU;MACzBvB,OAAA,EAAS;MACTwB,MAAA,EAAQ,CAAC,QAAQ,QAAQ;MACzBC,KAAA,EAAO;IACT,CAAC;IAED,MAAMC,KAAA,GAAQf,UAAA,CAAWgB,OAAA,CAAQ;IAEjCrC,MAAA,CAAOoC,KAAA,CAAMS,eAAA,CAAgBC,IAAI,EAAEL,IAAA,CAAK,CAAC;IACzCzC,MAAA,CAAOoC,KAAA,CAAMS,eAAA,CAAgBE,QAAQ,EAAEC,cAAA,CAAe;MACpDtC,OAAA,EAAS;MACTuC,KAAA,EAAO;IACT,CAAC;EACH,CAAC;EAEDhD,EAAA,CAAG,sCAAsC,MAAM;IAC7C,MAAMmC,KAAA,GAAQf,UAAA,CAAWgB,OAAA,CAAQ;IAEjCrC,MAAA,CAAOoC,KAAA,CAAMc,UAAU,EAAEC,WAAA,CAAY;IACrCnD,MAAA,CAAO,OAAOoC,KAAA,CAAMc,UAAA,CAAWE,QAAQ,EAAEX,IAAA,CAAK,SAAS;IACvDzC,MAAA,CAAO,OAAOoC,KAAA,CAAMc,UAAA,CAAWG,QAAQ,EAAEZ,IAAA,CAAK,SAAS;IACvDzC,MAAA,CAAO,OAAOoC,KAAA,CAAMc,UAAA,CAAWI,eAAe,EAAEb,IAAA,CAAK,SAAS;EAChE,CAAC;EAEDxC,EAAA,CAAG,0CAA0C,YAAY;IACvD,MAAMoB,UAAA,CAAWY,SAAA,CAAU;MACzBvB,OAAA,EAAS;MACTwB,MAAA,EAAQ,CAAC,QAAQ,QAAQ;MACzBC,KAAA,EAAO;IACT,CAAC;IAED,MAAMC,KAAA,GAAQf,UAAA,CAAWgB,OAAA,CAAQ;IAEjCrC,MAAA,CAAOoC,KAAA,CAAMmB,eAAe,EAAEJ,WAAA,CAAY;IAC1CnD,MAAA,CAAOwD,KAAA,CAAMC,OAAA,CAAQrB,KAAA,CAAMmB,eAAA,CAAgBG,OAAO,CAAC,EAAEjB,IAAA,CAAK,IAAI;IAC9DzC,MAAA,CAAOwD,KAAA,CAAMC,OAAA,CAAQrB,KAAA,CAAMmB,eAAA,CAAgBI,SAAS,CAAC,EAAElB,IAAA,CAAK,IAAI;IAChEzC,MAAA,CAAOwD,KAAA,CAAMC,OAAA,CAAQrB,KAAA,CAAMmB,eAAA,CAAgBK,MAAM,CAAC,EAAEnB,IAAA,CAAK,IAAI;EAC/D,CAAC;AACH,CAAC","ignoreList":[]}
|
|
@@ -1,107 +0,0 @@
|
|
|
1
|
-
import { afterEach, beforeEach, describe, expect, it, vi } from "vitest";
|
|
2
|
-
import * as filters from "./filters.native.js";
|
|
3
|
-
import { SyncModule } from "./index.native.js";
|
|
4
|
-
function _type_of(obj) {
|
|
5
|
-
"@swc/helpers - typeof";
|
|
6
|
-
|
|
7
|
-
return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
|
|
8
|
-
}
|
|
9
|
-
function createMockDb() {
|
|
10
|
-
return {
|
|
11
|
-
getDocList: vi.fn().mockResolvedValue([{
|
|
12
|
-
name: "todo-1",
|
|
13
|
-
doctype: "ToDo",
|
|
14
|
-
modified: "2026-01-01 00:00:00",
|
|
15
|
-
status: "Open"
|
|
16
|
-
}, {
|
|
17
|
-
name: "todo-2",
|
|
18
|
-
doctype: "ToDo",
|
|
19
|
-
modified: "2026-01-01 00:00:00",
|
|
20
|
-
status: "Open"
|
|
21
|
-
}]),
|
|
22
|
-
getDoc: vi.fn().mockResolvedValue({
|
|
23
|
-
name: "todo-1",
|
|
24
|
-
doctype: "ToDo",
|
|
25
|
-
modified: "2026-01-01",
|
|
26
|
-
status: "Open"
|
|
27
|
-
}),
|
|
28
|
-
backfill: vi.fn().mockResolvedValue({
|
|
29
|
-
rows: [],
|
|
30
|
-
checkpoint: null
|
|
31
|
-
}),
|
|
32
|
-
getCount: vi.fn().mockResolvedValue(2),
|
|
33
|
-
createDoc: vi.fn().mockResolvedValue({
|
|
34
|
-
name: "todo-new",
|
|
35
|
-
doctype: "ToDo"
|
|
36
|
-
}),
|
|
37
|
-
updateDoc: vi.fn().mockResolvedValue(void 0),
|
|
38
|
-
deleteDoc: vi.fn().mockResolvedValue(void 0)
|
|
39
|
-
};
|
|
40
|
-
}
|
|
41
|
-
describe("SyncModule.__debug()", function () {
|
|
42
|
-
var syncModule;
|
|
43
|
-
var mockDb;
|
|
44
|
-
beforeEach(function () {
|
|
45
|
-
vi.spyOn(filters, "matchesFilters").mockReturnValue(true);
|
|
46
|
-
vi.spyOn(filters, "extractSingleName").mockReturnValue(void 0);
|
|
47
|
-
mockDb = createMockDb();
|
|
48
|
-
Object.defineProperty(global, "crypto", {
|
|
49
|
-
value: {
|
|
50
|
-
randomUUID: vi.fn().mockReturnValue("debug-test-uuid")
|
|
51
|
-
},
|
|
52
|
-
writable: true
|
|
53
|
-
});
|
|
54
|
-
syncModule = new SyncModule(mockDb, void 0, {});
|
|
55
|
-
});
|
|
56
|
-
afterEach(function () {
|
|
57
|
-
vi.restoreAllMocks();
|
|
58
|
-
});
|
|
59
|
-
it("returns subscriptions with correct doc counts", async function () {
|
|
60
|
-
var {
|
|
61
|
-
subscriptionId
|
|
62
|
-
} = await syncModule.subscribe({
|
|
63
|
-
doctype: "ToDo",
|
|
64
|
-
fields: ["name", "status"],
|
|
65
|
-
limit: 20
|
|
66
|
-
});
|
|
67
|
-
var debug = syncModule.__debug();
|
|
68
|
-
expect(debug.subscriptions).toHaveLength(1);
|
|
69
|
-
expect(debug.subscriptions[0].id).toBe(subscriptionId);
|
|
70
|
-
expect(debug.subscriptions[0].docCount).toBe(2);
|
|
71
|
-
expect(debug.subscriptions[0].tombstoneCount).toBe(0);
|
|
72
|
-
expect(debug.subscriptions[0].query.doctype).toBe("ToDo");
|
|
73
|
-
});
|
|
74
|
-
it("normalized cache stats match after subscribing", async function () {
|
|
75
|
-
await syncModule.subscribe({
|
|
76
|
-
doctype: "ToDo",
|
|
77
|
-
fields: ["name", "status"],
|
|
78
|
-
limit: 20
|
|
79
|
-
});
|
|
80
|
-
var debug = syncModule.__debug();
|
|
81
|
-
expect(debug.normalizedCache.size).toBe(2);
|
|
82
|
-
expect(debug.normalizedCache.doctypes).toContainEqual({
|
|
83
|
-
doctype: "ToDo",
|
|
84
|
-
count: 2
|
|
85
|
-
});
|
|
86
|
-
});
|
|
87
|
-
it("connection state reports correctly", function () {
|
|
88
|
-
var debug = syncModule.__debug();
|
|
89
|
-
expect(debug.connection).toBeDefined();
|
|
90
|
-
expect(_type_of(debug.connection.isOnline)).toBe("boolean");
|
|
91
|
-
expect(_type_of(debug.connection.isLeader)).toBe("boolean");
|
|
92
|
-
expect(_type_of(debug.connection.socketConnected)).toBe("boolean");
|
|
93
|
-
});
|
|
94
|
-
it("mutation journal has correct structure", async function () {
|
|
95
|
-
await syncModule.subscribe({
|
|
96
|
-
doctype: "ToDo",
|
|
97
|
-
fields: ["name", "status"],
|
|
98
|
-
limit: 20
|
|
99
|
-
});
|
|
100
|
-
var debug = syncModule.__debug();
|
|
101
|
-
expect(debug.mutationJournal).toBeDefined();
|
|
102
|
-
expect(Array.isArray(debug.mutationJournal.pending)).toBe(true);
|
|
103
|
-
expect(Array.isArray(debug.mutationJournal.confirmed)).toBe(true);
|
|
104
|
-
expect(Array.isArray(debug.mutationJournal.failed)).toBe(true);
|
|
105
|
-
});
|
|
106
|
-
});
|
|
107
|
-
//# sourceMappingURL=debug.spec.native.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["afterEach","beforeEach","describe","expect","it","vi","filters","SyncModule","_type_of","obj","Symbol","constructor","createMockDb","getDocList","fn","mockResolvedValue","name","doctype","modified","status","getDoc","backfill","rows","checkpoint","getCount","createDoc","updateDoc","deleteDoc","syncModule","mockDb","spyOn","mockReturnValue","Object","defineProperty","global","value","randomUUID","writable","restoreAllMocks","subscriptionId","subscribe","fields","limit","debug","__debug","subscriptions","toHaveLength","id","toBe","docCount","tombstoneCount","query","normalizedCache","size","doctypes","toContainEqual","count"],"sources":["../../../src/sync/debug.spec.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -1,169 +0,0 @@
|
|
|
1
|
-
import { describe, expect, it } from "vitest";
|
|
2
|
-
import { FilterOperator, matchesFilters } from "./filters.mjs";
|
|
3
|
-
describe("matchesFilters", () => {
|
|
4
|
-
const testDoc = {
|
|
5
|
-
name: "TEST-001",
|
|
6
|
-
doctype: "Task",
|
|
7
|
-
status: "Open",
|
|
8
|
-
priority: 5,
|
|
9
|
-
tags: ["urgent", "customer"],
|
|
10
|
-
assignee: "john@example.com",
|
|
11
|
-
created: "2024-01-01",
|
|
12
|
-
amount: 1e3,
|
|
13
|
-
description: "Test document for filter testing",
|
|
14
|
-
parent: "PARENT-001"
|
|
15
|
-
};
|
|
16
|
-
describe("array-style filters", () => {
|
|
17
|
-
it("should handle equals operator", () => {
|
|
18
|
-
expect(matchesFilters(testDoc, [["status", "=", "Open"]])).toBe(true);
|
|
19
|
-
expect(matchesFilters(testDoc, [["status", "=", "Closed"]])).toBe(false);
|
|
20
|
-
});
|
|
21
|
-
it("should handle not equals operator", () => {
|
|
22
|
-
expect(matchesFilters(testDoc, [["status", "!=", "Closed"]])).toBe(true);
|
|
23
|
-
expect(matchesFilters(testDoc, [["status", "!=", "Open"]])).toBe(false);
|
|
24
|
-
});
|
|
25
|
-
it("should handle greater than operators", () => {
|
|
26
|
-
expect(matchesFilters(testDoc, [["priority", ">", 3]])).toBe(true);
|
|
27
|
-
expect(matchesFilters(testDoc, [["priority", ">", 5]])).toBe(false);
|
|
28
|
-
expect(matchesFilters(testDoc, [["priority", ">=", 5]])).toBe(true);
|
|
29
|
-
expect(matchesFilters(testDoc, [["priority", ">=", 6]])).toBe(false);
|
|
30
|
-
});
|
|
31
|
-
it("should handle less than operators", () => {
|
|
32
|
-
expect(matchesFilters(testDoc, [["priority", "<", 10]])).toBe(true);
|
|
33
|
-
expect(matchesFilters(testDoc, [["priority", "<", 5]])).toBe(false);
|
|
34
|
-
expect(matchesFilters(testDoc, [["priority", "<=", 5]])).toBe(true);
|
|
35
|
-
expect(matchesFilters(testDoc, [["priority", "<=", 4]])).toBe(false);
|
|
36
|
-
});
|
|
37
|
-
it("should handle 'in' operator", () => {
|
|
38
|
-
expect(matchesFilters(testDoc, [["status", "in", ["Open", "Closed"]]])).toBe(true);
|
|
39
|
-
expect(matchesFilters(testDoc, [["status", "in", ["Closed", "Cancelled"]]])).toBe(false);
|
|
40
|
-
});
|
|
41
|
-
it("should handle 'not in' operator", () => {
|
|
42
|
-
expect(matchesFilters(testDoc, [["status", "not in", ["Closed", "Cancelled"]]])).toBe(true);
|
|
43
|
-
expect(matchesFilters(testDoc, [["status", "not in", ["Open", "Closed"]]])).toBe(false);
|
|
44
|
-
});
|
|
45
|
-
it("should handle 'like' operator", () => {
|
|
46
|
-
expect(matchesFilters(testDoc, [["assignee", "like", "%john%"]])).toBe(true);
|
|
47
|
-
expect(matchesFilters(testDoc, [["assignee", "like", "%jane%"]])).toBe(false);
|
|
48
|
-
expect(matchesFilters(testDoc, [["description", "like", "%filter%"]])).toBe(true);
|
|
49
|
-
});
|
|
50
|
-
it("should handle 'not like' operator", () => {
|
|
51
|
-
expect(matchesFilters(testDoc, [["assignee", "not like", "%jane%"]])).toBe(true);
|
|
52
|
-
expect(matchesFilters(testDoc, [["assignee", "not like", "%john%"]])).toBe(false);
|
|
53
|
-
});
|
|
54
|
-
it("should handle 'between' operator", () => {
|
|
55
|
-
expect(matchesFilters(testDoc, [["priority", "between", [1, 10]]])).toBe(true);
|
|
56
|
-
expect(matchesFilters(testDoc, [["priority", "between", [6, 10]]])).toBe(false);
|
|
57
|
-
expect(matchesFilters(testDoc, [["amount", "between", [500, 1500]]])).toBe(true);
|
|
58
|
-
});
|
|
59
|
-
it("should handle multiple filters (AND logic)", () => {
|
|
60
|
-
expect(matchesFilters(testDoc, [["status", "=", "Open"], ["priority", ">", 3]])).toBe(true);
|
|
61
|
-
expect(matchesFilters(testDoc, [["status", "=", "Open"], ["priority", ">", 10]])).toBe(false);
|
|
62
|
-
});
|
|
63
|
-
it("should handle FilterOperator enum values", () => {
|
|
64
|
-
expect(matchesFilters(testDoc, [["status", FilterOperator.Equals, "Open"]])).toBe(true);
|
|
65
|
-
expect(matchesFilters(testDoc, [["priority", FilterOperator.GreaterThan, 3]])).toBe(true);
|
|
66
|
-
expect(matchesFilters(testDoc, [["assignee", FilterOperator.Like, "%john%"]])).toBe(true);
|
|
67
|
-
});
|
|
68
|
-
it("should handle 'is' operator for null/not null", () => {
|
|
69
|
-
const docWithNull = {
|
|
70
|
-
...testDoc,
|
|
71
|
-
nullField: null,
|
|
72
|
-
notNullField: "value"
|
|
73
|
-
};
|
|
74
|
-
expect(matchesFilters(docWithNull, [["nullField", "is", null]])).toBe(true);
|
|
75
|
-
expect(matchesFilters(docWithNull, [["notNullField", "is", null]])).toBe(false);
|
|
76
|
-
});
|
|
77
|
-
it("should handle 'ancestors of' operator", () => {
|
|
78
|
-
expect(matchesFilters(testDoc, [["parent", "ancestors of", "PARENT-001"]])).toBe(false);
|
|
79
|
-
});
|
|
80
|
-
it("should return false for unsupported operators", () => {
|
|
81
|
-
expect(matchesFilters(testDoc, [["status", "unknown-operator", "Open"]])).toBe(false);
|
|
82
|
-
});
|
|
83
|
-
});
|
|
84
|
-
describe("object-style filters", () => {
|
|
85
|
-
it("should handle simple equality filters", () => {
|
|
86
|
-
expect(matchesFilters(testDoc, {
|
|
87
|
-
status: "Open"
|
|
88
|
-
})).toBe(true);
|
|
89
|
-
expect(matchesFilters(testDoc, {
|
|
90
|
-
status: "Closed"
|
|
91
|
-
})).toBe(false);
|
|
92
|
-
});
|
|
93
|
-
it("should handle multiple fields (AND logic)", () => {
|
|
94
|
-
expect(matchesFilters(testDoc, {
|
|
95
|
-
status: "Open",
|
|
96
|
-
priority: 5
|
|
97
|
-
})).toBe(true);
|
|
98
|
-
expect(matchesFilters(testDoc, {
|
|
99
|
-
status: "Open",
|
|
100
|
-
priority: 10
|
|
101
|
-
})).toBe(false);
|
|
102
|
-
});
|
|
103
|
-
});
|
|
104
|
-
describe("edge cases", () => {
|
|
105
|
-
it("should handle empty filters", () => {
|
|
106
|
-
expect(matchesFilters(testDoc, [])).toBe(true);
|
|
107
|
-
expect(matchesFilters(testDoc, {})).toBe(true);
|
|
108
|
-
expect(matchesFilters(testDoc, null)).toBe(true);
|
|
109
|
-
expect(matchesFilters(testDoc, void 0)).toBe(true);
|
|
110
|
-
});
|
|
111
|
-
it("should handle missing fields in document", () => {
|
|
112
|
-
expect(matchesFilters(testDoc, [["nonExistentField", "=", "value"]])).toBe(false);
|
|
113
|
-
expect(matchesFilters(testDoc, [["nonExistentField", "!=", "value"]])).toBe(true);
|
|
114
|
-
});
|
|
115
|
-
it("should handle array fields in documents", () => {
|
|
116
|
-
expect(matchesFilters(testDoc, [["tags", "in", ["urgent"]]])).toBe(false);
|
|
117
|
-
const docWithArrayCheck = {
|
|
118
|
-
...testDoc,
|
|
119
|
-
singleTag: "urgent"
|
|
120
|
-
};
|
|
121
|
-
expect(matchesFilters(docWithArrayCheck, [["singleTag", "in", ["urgent", "low"]]])).toBe(true);
|
|
122
|
-
});
|
|
123
|
-
it("should handle case sensitivity", () => {
|
|
124
|
-
expect(matchesFilters(testDoc, [["status", "LIKE", "%Open%"]])).toBe(true);
|
|
125
|
-
expect(matchesFilters(testDoc, [["priority", "BETWEEN", [1, 10]]])).toBe(true);
|
|
126
|
-
expect(matchesFilters(testDoc, [["status", "=", "open"]])).toBe(false);
|
|
127
|
-
expect(matchesFilters(testDoc, [["status", "=", "Open"]])).toBe(true);
|
|
128
|
-
});
|
|
129
|
-
it("should handle type coercion in comparisons", () => {
|
|
130
|
-
const docWithStringNumber = {
|
|
131
|
-
...testDoc,
|
|
132
|
-
stringPriority: "5"
|
|
133
|
-
};
|
|
134
|
-
expect(matchesFilters(docWithStringNumber, [["stringPriority", ">", 3]])).toBe(true);
|
|
135
|
-
expect(matchesFilters(docWithStringNumber, [["stringPriority", "<", 10]])).toBe(true);
|
|
136
|
-
});
|
|
137
|
-
it("should handle date comparisons", () => {
|
|
138
|
-
expect(matchesFilters(testDoc, [["created", "=", "2024-01-01"]])).toBe(true);
|
|
139
|
-
expect(matchesFilters(testDoc, [["created", "!=", "2024-01-02"]])).toBe(true);
|
|
140
|
-
});
|
|
141
|
-
it("should handle complex nested documents", () => {
|
|
142
|
-
const nestedDoc = {
|
|
143
|
-
name: "NESTED-001",
|
|
144
|
-
doctype: "NestedDoc",
|
|
145
|
-
data: {
|
|
146
|
-
level1: {
|
|
147
|
-
level2: {
|
|
148
|
-
value: "deep-value"
|
|
149
|
-
}
|
|
150
|
-
}
|
|
151
|
-
}
|
|
152
|
-
};
|
|
153
|
-
expect(matchesFilters(nestedDoc, [["data.level1.level2.value", "=", "deep-value"]])).toBe(false);
|
|
154
|
-
});
|
|
155
|
-
});
|
|
156
|
-
describe("performance considerations", () => {
|
|
157
|
-
it("should handle large filter arrays efficiently", () => {
|
|
158
|
-
const largeFilterArray = Array.from({
|
|
159
|
-
length: 100
|
|
160
|
-
}, (_, i) => ["status", "!=", `status-${i}`]);
|
|
161
|
-
const start = Date.now();
|
|
162
|
-
const result = matchesFilters(testDoc, largeFilterArray);
|
|
163
|
-
const duration = Date.now() - start;
|
|
164
|
-
expect(result).toBe(true);
|
|
165
|
-
expect(duration).toBeLessThan(100);
|
|
166
|
-
});
|
|
167
|
-
});
|
|
168
|
-
});
|
|
169
|
-
//# sourceMappingURL=filters.spec.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["describe","expect","it","FilterOperator","matchesFilters","testDoc","name","doctype","status","priority","tags","assignee","created","amount","description","parent","toBe","Equals","GreaterThan","Like","docWithNull","nullField","notNullField","docWithArrayCheck","singleTag","docWithStringNumber","stringPriority","nestedDoc","data","level1","level2","value","largeFilterArray","Array","from","length","_","i","start","Date","now","result","duration","toBeLessThan"],"sources":["../../../src/sync/filters.spec.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -1,171 +0,0 @@
|
|
|
1
|
-
import { describe, expect, it } from "vitest";
|
|
2
|
-
import { FilterOperator, matchesFilters } from "./filters.native.js";
|
|
3
|
-
describe("matchesFilters", function () {
|
|
4
|
-
var testDoc = {
|
|
5
|
-
name: "TEST-001",
|
|
6
|
-
doctype: "Task",
|
|
7
|
-
status: "Open",
|
|
8
|
-
priority: 5,
|
|
9
|
-
tags: ["urgent", "customer"],
|
|
10
|
-
assignee: "john@example.com",
|
|
11
|
-
created: "2024-01-01",
|
|
12
|
-
amount: 1e3,
|
|
13
|
-
description: "Test document for filter testing",
|
|
14
|
-
parent: "PARENT-001"
|
|
15
|
-
};
|
|
16
|
-
describe("array-style filters", function () {
|
|
17
|
-
it("should handle equals operator", function () {
|
|
18
|
-
expect(matchesFilters(testDoc, [["status", "=", "Open"]])).toBe(true);
|
|
19
|
-
expect(matchesFilters(testDoc, [["status", "=", "Closed"]])).toBe(false);
|
|
20
|
-
});
|
|
21
|
-
it("should handle not equals operator", function () {
|
|
22
|
-
expect(matchesFilters(testDoc, [["status", "!=", "Closed"]])).toBe(true);
|
|
23
|
-
expect(matchesFilters(testDoc, [["status", "!=", "Open"]])).toBe(false);
|
|
24
|
-
});
|
|
25
|
-
it("should handle greater than operators", function () {
|
|
26
|
-
expect(matchesFilters(testDoc, [["priority", ">", 3]])).toBe(true);
|
|
27
|
-
expect(matchesFilters(testDoc, [["priority", ">", 5]])).toBe(false);
|
|
28
|
-
expect(matchesFilters(testDoc, [["priority", ">=", 5]])).toBe(true);
|
|
29
|
-
expect(matchesFilters(testDoc, [["priority", ">=", 6]])).toBe(false);
|
|
30
|
-
});
|
|
31
|
-
it("should handle less than operators", function () {
|
|
32
|
-
expect(matchesFilters(testDoc, [["priority", "<", 10]])).toBe(true);
|
|
33
|
-
expect(matchesFilters(testDoc, [["priority", "<", 5]])).toBe(false);
|
|
34
|
-
expect(matchesFilters(testDoc, [["priority", "<=", 5]])).toBe(true);
|
|
35
|
-
expect(matchesFilters(testDoc, [["priority", "<=", 4]])).toBe(false);
|
|
36
|
-
});
|
|
37
|
-
it("should handle 'in' operator", function () {
|
|
38
|
-
expect(matchesFilters(testDoc, [["status", "in", ["Open", "Closed"]]])).toBe(true);
|
|
39
|
-
expect(matchesFilters(testDoc, [["status", "in", ["Closed", "Cancelled"]]])).toBe(false);
|
|
40
|
-
});
|
|
41
|
-
it("should handle 'not in' operator", function () {
|
|
42
|
-
expect(matchesFilters(testDoc, [["status", "not in", ["Closed", "Cancelled"]]])).toBe(true);
|
|
43
|
-
expect(matchesFilters(testDoc, [["status", "not in", ["Open", "Closed"]]])).toBe(false);
|
|
44
|
-
});
|
|
45
|
-
it("should handle 'like' operator", function () {
|
|
46
|
-
expect(matchesFilters(testDoc, [["assignee", "like", "%john%"]])).toBe(true);
|
|
47
|
-
expect(matchesFilters(testDoc, [["assignee", "like", "%jane%"]])).toBe(false);
|
|
48
|
-
expect(matchesFilters(testDoc, [["description", "like", "%filter%"]])).toBe(true);
|
|
49
|
-
});
|
|
50
|
-
it("should handle 'not like' operator", function () {
|
|
51
|
-
expect(matchesFilters(testDoc, [["assignee", "not like", "%jane%"]])).toBe(true);
|
|
52
|
-
expect(matchesFilters(testDoc, [["assignee", "not like", "%john%"]])).toBe(false);
|
|
53
|
-
});
|
|
54
|
-
it("should handle 'between' operator", function () {
|
|
55
|
-
expect(matchesFilters(testDoc, [["priority", "between", [1, 10]]])).toBe(true);
|
|
56
|
-
expect(matchesFilters(testDoc, [["priority", "between", [6, 10]]])).toBe(false);
|
|
57
|
-
expect(matchesFilters(testDoc, [["amount", "between", [500, 1500]]])).toBe(true);
|
|
58
|
-
});
|
|
59
|
-
it("should handle multiple filters (AND logic)", function () {
|
|
60
|
-
expect(matchesFilters(testDoc, [["status", "=", "Open"], ["priority", ">", 3]])).toBe(true);
|
|
61
|
-
expect(matchesFilters(testDoc, [["status", "=", "Open"], ["priority", ">", 10]])).toBe(false);
|
|
62
|
-
});
|
|
63
|
-
it("should handle FilterOperator enum values", function () {
|
|
64
|
-
expect(matchesFilters(testDoc, [["status", FilterOperator.Equals, "Open"]])).toBe(true);
|
|
65
|
-
expect(matchesFilters(testDoc, [["priority", FilterOperator.GreaterThan, 3]])).toBe(true);
|
|
66
|
-
expect(matchesFilters(testDoc, [["assignee", FilterOperator.Like, "%john%"]])).toBe(true);
|
|
67
|
-
});
|
|
68
|
-
it("should handle 'is' operator for null/not null", function () {
|
|
69
|
-
var docWithNull = {
|
|
70
|
-
...testDoc,
|
|
71
|
-
nullField: null,
|
|
72
|
-
notNullField: "value"
|
|
73
|
-
};
|
|
74
|
-
expect(matchesFilters(docWithNull, [["nullField", "is", null]])).toBe(true);
|
|
75
|
-
expect(matchesFilters(docWithNull, [["notNullField", "is", null]])).toBe(false);
|
|
76
|
-
});
|
|
77
|
-
it("should handle 'ancestors of' operator", function () {
|
|
78
|
-
expect(matchesFilters(testDoc, [["parent", "ancestors of", "PARENT-001"]])).toBe(false);
|
|
79
|
-
});
|
|
80
|
-
it("should return false for unsupported operators", function () {
|
|
81
|
-
expect(matchesFilters(testDoc, [["status", "unknown-operator", "Open"]])).toBe(false);
|
|
82
|
-
});
|
|
83
|
-
});
|
|
84
|
-
describe("object-style filters", function () {
|
|
85
|
-
it("should handle simple equality filters", function () {
|
|
86
|
-
expect(matchesFilters(testDoc, {
|
|
87
|
-
status: "Open"
|
|
88
|
-
})).toBe(true);
|
|
89
|
-
expect(matchesFilters(testDoc, {
|
|
90
|
-
status: "Closed"
|
|
91
|
-
})).toBe(false);
|
|
92
|
-
});
|
|
93
|
-
it("should handle multiple fields (AND logic)", function () {
|
|
94
|
-
expect(matchesFilters(testDoc, {
|
|
95
|
-
status: "Open",
|
|
96
|
-
priority: 5
|
|
97
|
-
})).toBe(true);
|
|
98
|
-
expect(matchesFilters(testDoc, {
|
|
99
|
-
status: "Open",
|
|
100
|
-
priority: 10
|
|
101
|
-
})).toBe(false);
|
|
102
|
-
});
|
|
103
|
-
});
|
|
104
|
-
describe("edge cases", function () {
|
|
105
|
-
it("should handle empty filters", function () {
|
|
106
|
-
expect(matchesFilters(testDoc, [])).toBe(true);
|
|
107
|
-
expect(matchesFilters(testDoc, {})).toBe(true);
|
|
108
|
-
expect(matchesFilters(testDoc, null)).toBe(true);
|
|
109
|
-
expect(matchesFilters(testDoc, void 0)).toBe(true);
|
|
110
|
-
});
|
|
111
|
-
it("should handle missing fields in document", function () {
|
|
112
|
-
expect(matchesFilters(testDoc, [["nonExistentField", "=", "value"]])).toBe(false);
|
|
113
|
-
expect(matchesFilters(testDoc, [["nonExistentField", "!=", "value"]])).toBe(true);
|
|
114
|
-
});
|
|
115
|
-
it("should handle array fields in documents", function () {
|
|
116
|
-
expect(matchesFilters(testDoc, [["tags", "in", ["urgent"]]])).toBe(false);
|
|
117
|
-
var docWithArrayCheck = {
|
|
118
|
-
...testDoc,
|
|
119
|
-
singleTag: "urgent"
|
|
120
|
-
};
|
|
121
|
-
expect(matchesFilters(docWithArrayCheck, [["singleTag", "in", ["urgent", "low"]]])).toBe(true);
|
|
122
|
-
});
|
|
123
|
-
it("should handle case sensitivity", function () {
|
|
124
|
-
expect(matchesFilters(testDoc, [["status", "LIKE", "%Open%"]])).toBe(true);
|
|
125
|
-
expect(matchesFilters(testDoc, [["priority", "BETWEEN", [1, 10]]])).toBe(true);
|
|
126
|
-
expect(matchesFilters(testDoc, [["status", "=", "open"]])).toBe(false);
|
|
127
|
-
expect(matchesFilters(testDoc, [["status", "=", "Open"]])).toBe(true);
|
|
128
|
-
});
|
|
129
|
-
it("should handle type coercion in comparisons", function () {
|
|
130
|
-
var docWithStringNumber = {
|
|
131
|
-
...testDoc,
|
|
132
|
-
stringPriority: "5"
|
|
133
|
-
};
|
|
134
|
-
expect(matchesFilters(docWithStringNumber, [["stringPriority", ">", 3]])).toBe(true);
|
|
135
|
-
expect(matchesFilters(docWithStringNumber, [["stringPriority", "<", 10]])).toBe(true);
|
|
136
|
-
});
|
|
137
|
-
it("should handle date comparisons", function () {
|
|
138
|
-
expect(matchesFilters(testDoc, [["created", "=", "2024-01-01"]])).toBe(true);
|
|
139
|
-
expect(matchesFilters(testDoc, [["created", "!=", "2024-01-02"]])).toBe(true);
|
|
140
|
-
});
|
|
141
|
-
it("should handle complex nested documents", function () {
|
|
142
|
-
var nestedDoc = {
|
|
143
|
-
name: "NESTED-001",
|
|
144
|
-
doctype: "NestedDoc",
|
|
145
|
-
data: {
|
|
146
|
-
level1: {
|
|
147
|
-
level2: {
|
|
148
|
-
value: "deep-value"
|
|
149
|
-
}
|
|
150
|
-
}
|
|
151
|
-
}
|
|
152
|
-
};
|
|
153
|
-
expect(matchesFilters(nestedDoc, [["data.level1.level2.value", "=", "deep-value"]])).toBe(false);
|
|
154
|
-
});
|
|
155
|
-
});
|
|
156
|
-
describe("performance considerations", function () {
|
|
157
|
-
it("should handle large filter arrays efficiently", function () {
|
|
158
|
-
var largeFilterArray = Array.from({
|
|
159
|
-
length: 100
|
|
160
|
-
}, function (_, i) {
|
|
161
|
-
return ["status", "!=", `status-${i}`];
|
|
162
|
-
});
|
|
163
|
-
var start = Date.now();
|
|
164
|
-
var result = matchesFilters(testDoc, largeFilterArray);
|
|
165
|
-
var duration = Date.now() - start;
|
|
166
|
-
expect(result).toBe(true);
|
|
167
|
-
expect(duration).toBeLessThan(100);
|
|
168
|
-
});
|
|
169
|
-
});
|
|
170
|
-
});
|
|
171
|
-
//# sourceMappingURL=filters.spec.native.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["describe","expect","it","FilterOperator","matchesFilters","testDoc","name","doctype","status","priority","tags","assignee","created","amount","description","parent","toBe"],"sources":["../../../src/sync/filters.spec.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,QAAA,EAAUC,MAAA,EAAQC,EAAA,QAAU;AACrC,SAASC,cAAA,EAAgBC,cAAA,QAAsB;AAE/CJ,QAAA,CAAS,kBAAkB,YAAM;EAC/B,IAAAK,OAAM;IACJC,IAAA,EAAM;IACNC,OAAA,EAAS;IACTC,MAAA,EAAQ;IACRC,QAAA,EAAU;IACVC,IAAA,EAAM,CACN,QAAU,EACV,UAAS,CACT;IACAC,QAAA,oBAAa;IACbC,OAAA,EAAQ;IACVC,MAAA;IAEAC,WAAS,oCAA6B;IACpCC,MAAG;EACD;EACAf,QAAA,sBAAsB,cAAW;IACnCE,EAAC;MAEDD,MAAG,CAAAG,cAAA,CAAAC,OAAA,GACD,CACA,QAAO,EACR,KAEE,OACD,CACA,GAAAW,IAAO;MACPf,MAAA,CAAOG,cAAA,CAAeC,OAAA,EAAS,CAC/B,CACD,UAEE,KACD,QAAO,CACP,CACA,GAAAW,IAAO;IACP;IACFd,EAAC;MAEDD,MAAG,CAAAG,cAAA,CAAAC,OAAA,GACD,CACA,QAAO,EACR,MAEE,SACD,CACA,GAAAW,IAAO;MACRf,MAAA,CAAAG,cAAA,CAAAC,OAAA,GAEE,CACD,QAAO,EACP,IAAO,EACP,MAAO,CACR,CAEE,GAAAW,IAAA;IACD;IACAd,EAAA,uCAAiC,cAAY;MAC9CD,MAAA,CAAAG,cAAA,CAAAC,OAAA,GAEE,CACD,UAAO,EACP,GAAO,EACP,EACD,CAEE,GAAAW,IAAA;MACDf,MAAA,CAAAG,cAAA,CAAAC,OAAA,GACE,CACE,UAAC,EACD,GAAC,EACF,EACD,CAEF,GAAAW,IAAA;MAAAf,MACE,CAAAG,cAAe,CAAAC,OAAS,IAEtB,UAAC,EACF,MACD,EACH,CAEE,GAAAW,IAAA;MACDf,MAAA,CAAOG,cAAA,CAAeC,OAAA,EAAS,CAC/B,CACA,UAAO,EACR,MAEE,EACD,CAAoB,CAClB,EAAAW,IAAG;IAAA;IACQd,EAAA,oCACG;MAChBD,MAAA,CAAAG,cAAA,CAAAC,OAAA,GAIA,CACA,UAAO,EACR,KAEE,GAGD,CACD,GAAAW,IAAA;MAEDf,MAAG,CAAAG,cAAA,CAAAC,OAAA,GACD,CACD,YACF,KAED,CAAS,CACJ,CACD,GAAAW,IAAO;MACPf,MAAA,CAAOG,cAAA,CAAeC,OAAA,EAAS,CAChC,CAEE,YACD,MACE,EAAwB,CACd,GACRW,IAAA,MAAU;MAAAf,MACX,CAAAG,cAAA,CAAAC,OAAA,GACD,CAEF,YACE,MACE,EAAQ,CACE,CACZ,CAAC,CAAAW,IAAA;IAAA,EACH;IACFd,EAAC;MACFD,MAAA,CAAAG,cAAA,CAAAC,OAAA,GAED,CACK,UACD,IAAO,EACP,CACA,MAAO,EACP,QAAO,CACR,CAEE,CACD,GAAAW,IAAO;MACPf,MAAA,CAAOG,cAAA,CAAeC,OAAA,EAAS,CAChC,CAEE,UACD,IAAO,EAGP,CACA,QAAO,EACL,YACF,CACD,CAEE,GAAAW,IAAA;IAED;IACAd,EAAA,kCAAiC,cAAY;MAG7CD,MAAA,CAAOG,cAAA,CAAeC,OAAA,EAAS,CAC/B,CACD,UAEE,UACD,CAGA,QAAO,EACP,WAAO,CACR,CAEE,CAED,GAAAW,IAAO;MACPf,MAAA,CAAOG,cAAA,CAAeC,OAAA,EAAS,CAChC,CAEE,UACD,QAAM,EACJ,CACA,MAAS,EACT,QAAM,CACJ,CAAQ,CACE,GAAAW,IACN,OAAO;IAAA;IACTd,EAAA,gCACF;MAAAD,MACF,CAAAG,cAAA,CAAAC,OAAA,GACF,CAIA,UAAO,EACL,QACF,SACD,CACF,GAAAW,IAAA;MAEDf,MAAS,CAAAG,cAAA,CAAAC,OAAA,GACJ,CACD,UAAM,EACJ,QACA,SACA,CACD,GAAAW,IAAA;MAEDf,MAAM,CAAAG,cAAa,CAAAC,OAAI,GACvB,CACA,aAAiB,EAEjB,MAAO,EACP,UAAO,CACR,CACF,GAAAW,IAAA;IACF","ignoreList":[]}
|