@multiplatform.one/frappe 6.0.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/LICENSE +201 -0
- package/README.md +241 -0
- package/dist/cjs/auth.cjs +50 -0
- package/dist/cjs/auth.native.js +100 -0
- package/dist/cjs/auth.native.js.map +1 -0
- package/dist/cjs/auth.spec.cjs +322 -0
- package/dist/cjs/auth.spec.native.js +329 -0
- package/dist/cjs/auth.spec.native.js.map +1 -0
- package/dist/cjs/call.cjs +45 -0
- package/dist/cjs/call.native.js +93 -0
- package/dist/cjs/call.native.js.map +1 -0
- package/dist/cjs/call.spec.cjs +427 -0
- package/dist/cjs/call.spec.native.js +430 -0
- package/dist/cjs/call.spec.native.js.map +1 -0
- package/dist/cjs/collection.cjs +278 -0
- package/dist/cjs/collection.native.js +494 -0
- package/dist/cjs/collection.native.js.map +1 -0
- package/dist/cjs/collection.spec.cjs +186 -0
- package/dist/cjs/collection.spec.native.js +216 -0
- package/dist/cjs/collection.spec.native.js.map +1 -0
- package/dist/cjs/common/types.cjs +18 -0
- package/dist/cjs/common/types.native.js +21 -0
- package/dist/cjs/common/types.native.js.map +1 -0
- package/dist/cjs/common/types.spec.cjs +266 -0
- package/dist/cjs/common/types.spec.native.js +271 -0
- package/dist/cjs/common/types.spec.native.js.map +1 -0
- package/dist/cjs/core/http.cjs +289 -0
- package/dist/cjs/core/http.native.js +484 -0
- package/dist/cjs/core/http.native.js.map +1 -0
- package/dist/cjs/core/http.spec.cjs +1259 -0
- package/dist/cjs/core/http.spec.native.js +1401 -0
- package/dist/cjs/core/http.spec.native.js.map +1 -0
- package/dist/cjs/core/types.cjs +53 -0
- package/dist/cjs/core/types.native.js +178 -0
- package/dist/cjs/core/types.native.js.map +1 -0
- package/dist/cjs/core/wire.cjs +53 -0
- package/dist/cjs/core/wire.native.js +56 -0
- package/dist/cjs/core/wire.native.js.map +1 -0
- package/dist/cjs/core/wire.spec.cjs +478 -0
- package/dist/cjs/core/wire.spec.native.js +482 -0
- package/dist/cjs/core/wire.spec.native.js.map +1 -0
- package/dist/cjs/db.cjs +355 -0
- package/dist/cjs/db.native.js +469 -0
- package/dist/cjs/db.native.js.map +1 -0
- package/dist/cjs/db.spec.cjs +862 -0
- package/dist/cjs/db.spec.native.js +865 -0
- package/dist/cjs/db.spec.native.js.map +1 -0
- package/dist/cjs/devtools/FrappeDevtoolsPanel.cjs +838 -0
- package/dist/cjs/devtools/FrappeDevtoolsPanel.native.js +919 -0
- package/dist/cjs/devtools/FrappeDevtoolsPanel.native.js.map +1 -0
- package/dist/cjs/devtools/index.cjs +30 -0
- package/dist/cjs/devtools/index.native.js +33 -0
- package/dist/cjs/devtools/index.native.js.map +1 -0
- package/dist/cjs/devtools/plugin.cjs +39 -0
- package/dist/cjs/devtools/plugin.native.js +56 -0
- package/dist/cjs/devtools/plugin.native.js.map +1 -0
- package/dist/cjs/devtools/theme.cjs +55 -0
- package/dist/cjs/devtools/theme.native.js +58 -0
- package/dist/cjs/devtools/theme.native.js.map +1 -0
- package/dist/cjs/doctype.cjs +410 -0
- package/dist/cjs/doctype.native.js +521 -0
- package/dist/cjs/doctype.native.js.map +1 -0
- package/dist/cjs/doctype.spec.cjs +460 -0
- package/dist/cjs/doctype.spec.native.js +538 -0
- package/dist/cjs/doctype.spec.native.js.map +1 -0
- package/dist/cjs/file.cjs +41 -0
- package/dist/cjs/file.native.js +84 -0
- package/dist/cjs/file.native.js.map +1 -0
- package/dist/cjs/file.spec.cjs +315 -0
- package/dist/cjs/file.spec.native.js +342 -0
- package/dist/cjs/file.spec.native.js.map +1 -0
- package/dist/cjs/fixtureDb.cjs +212 -0
- package/dist/cjs/fixtureDb.native.js +313 -0
- package/dist/cjs/fixtureDb.native.js.map +1 -0
- package/dist/cjs/fixtures.cjs +199 -0
- package/dist/cjs/fixtures.native.js +400 -0
- package/dist/cjs/fixtures.native.js.map +1 -0
- package/dist/cjs/frappeApp.cjs +117 -0
- package/dist/cjs/frappeApp.native.js +179 -0
- package/dist/cjs/frappeApp.native.js.map +1 -0
- package/dist/cjs/frappeApp.spec.cjs +306 -0
- package/dist/cjs/frappeApp.spec.native.js +308 -0
- package/dist/cjs/frappeApp.spec.native.js.map +1 -0
- package/dist/cjs/frappeReact.cjs +314 -0
- package/dist/cjs/frappeReact.native.js +351 -0
- package/dist/cjs/frappeReact.native.js.map +1 -0
- package/dist/cjs/frappeReact.spec.cjs +531 -0
- package/dist/cjs/frappeReact.spec.native.js +670 -0
- package/dist/cjs/frappeReact.spec.native.js.map +1 -0
- package/dist/cjs/index.cjs +149 -0
- package/dist/cjs/index.native.js +152 -0
- package/dist/cjs/index.native.js.map +1 -0
- package/dist/cjs/optimistic.cjs +28 -0
- package/dist/cjs/optimistic.native.js +31 -0
- package/dist/cjs/optimistic.native.js.map +1 -0
- package/dist/cjs/optimistic.spec.cjs +11 -0
- package/dist/cjs/optimistic.spec.native.js +19 -0
- package/dist/cjs/optimistic.spec.native.js.map +1 -0
- package/dist/cjs/pacer.cjs +200 -0
- package/dist/cjs/pacer.native.js +274 -0
- package/dist/cjs/pacer.native.js.map +1 -0
- package/dist/cjs/pacer.spec.cjs +470 -0
- package/dist/cjs/pacer.spec.native.js +537 -0
- package/dist/cjs/pacer.spec.native.js.map +1 -0
- package/dist/cjs/plugin/index.cjs +124 -0
- package/dist/cjs/plugin/index.native.js +193 -0
- package/dist/cjs/plugin/index.native.js.map +1 -0
- package/dist/cjs/realtime.cjs +265 -0
- package/dist/cjs/realtime.native.js +387 -0
- package/dist/cjs/realtime.native.js.map +1 -0
- package/dist/cjs/realtime.spec.cjs +326 -0
- package/dist/cjs/realtime.spec.native.js +392 -0
- package/dist/cjs/realtime.spec.native.js.map +1 -0
- package/dist/cjs/sync/backfill.cjs +314 -0
- package/dist/cjs/sync/backfill.native.js +487 -0
- package/dist/cjs/sync/backfill.native.js.map +1 -0
- package/dist/cjs/sync/backfill.spec.cjs +586 -0
- package/dist/cjs/sync/backfill.spec.native.js +712 -0
- package/dist/cjs/sync/backfill.spec.native.js.map +1 -0
- package/dist/cjs/sync/debug.spec.cjs +125 -0
- package/dist/cjs/sync/debug.spec.native.js +133 -0
- package/dist/cjs/sync/debug.spec.native.js.map +1 -0
- package/dist/cjs/sync/filters.cjs +311 -0
- package/dist/cjs/sync/filters.native.js +446 -0
- package/dist/cjs/sync/filters.native.js.map +1 -0
- package/dist/cjs/sync/filters.spec.cjs +168 -0
- package/dist/cjs/sync/filters.spec.native.js +173 -0
- package/dist/cjs/sync/filters.spec.native.js.map +1 -0
- package/dist/cjs/sync/index.cjs +303 -0
- package/dist/cjs/sync/index.native.js +462 -0
- package/dist/cjs/sync/index.native.js.map +1 -0
- package/dist/cjs/sync/merge.cjs +435 -0
- package/dist/cjs/sync/merge.native.js +717 -0
- package/dist/cjs/sync/merge.native.js.map +1 -0
- package/dist/cjs/sync/merge.spec.cjs +908 -0
- package/dist/cjs/sync/merge.spec.native.js +937 -0
- package/dist/cjs/sync/merge.spec.native.js.map +1 -0
- package/dist/cjs/sync/multiOrderBy.spec.cjs +165 -0
- package/dist/cjs/sync/multiOrderBy.spec.native.js +229 -0
- package/dist/cjs/sync/multiOrderBy.spec.native.js.map +1 -0
- package/dist/cjs/sync/mutationEngine.cjs +781 -0
- package/dist/cjs/sync/mutationEngine.native.js +1159 -0
- package/dist/cjs/sync/mutationEngine.native.js.map +1 -0
- package/dist/cjs/sync/mutationEngine.spec.cjs +1158 -0
- package/dist/cjs/sync/mutationEngine.spec.native.js +1173 -0
- package/dist/cjs/sync/mutationEngine.spec.native.js.map +1 -0
- package/dist/cjs/sync/mutationJournal.cjs +150 -0
- package/dist/cjs/sync/mutationJournal.native.js +282 -0
- package/dist/cjs/sync/mutationJournal.native.js.map +1 -0
- package/dist/cjs/sync/mutationJournal.spec.cjs +330 -0
- package/dist/cjs/sync/mutationJournal.spec.native.js +333 -0
- package/dist/cjs/sync/mutationJournal.spec.native.js.map +1 -0
- package/dist/cjs/sync/mutations.spec.cjs +327 -0
- package/dist/cjs/sync/mutations.spec.native.js +330 -0
- package/dist/cjs/sync/mutations.spec.native.js.map +1 -0
- package/dist/cjs/sync/normalizedCache.cjs +140 -0
- package/dist/cjs/sync/normalizedCache.native.js +229 -0
- package/dist/cjs/sync/normalizedCache.native.js.map +1 -0
- package/dist/cjs/sync/normalizedCache.spec.cjs +302 -0
- package/dist/cjs/sync/normalizedCache.spec.native.js +311 -0
- package/dist/cjs/sync/normalizedCache.spec.native.js.map +1 -0
- package/dist/cjs/sync/persistence.cjs +627 -0
- package/dist/cjs/sync/persistence.native.js +911 -0
- package/dist/cjs/sync/persistence.native.js.map +1 -0
- package/dist/cjs/sync/persistence.spec.cjs +562 -0
- package/dist/cjs/sync/persistence.spec.native.js +572 -0
- package/dist/cjs/sync/persistence.spec.native.js.map +1 -0
- package/dist/cjs/sync/realtime.cjs +214 -0
- package/dist/cjs/sync/realtime.native.js +340 -0
- package/dist/cjs/sync/realtime.native.js.map +1 -0
- package/dist/cjs/sync/realtime.spec.cjs +499 -0
- package/dist/cjs/sync/realtime.spec.native.js +512 -0
- package/dist/cjs/sync/realtime.spec.native.js.map +1 -0
- package/dist/cjs/sync/rehydration.cjs +323 -0
- package/dist/cjs/sync/rehydration.native.js +531 -0
- package/dist/cjs/sync/rehydration.native.js.map +1 -0
- package/dist/cjs/sync/rehydration.spec.cjs +731 -0
- package/dist/cjs/sync/rehydration.spec.native.js +736 -0
- package/dist/cjs/sync/rehydration.spec.native.js.map +1 -0
- package/dist/cjs/sync/storage.cjs +142 -0
- package/dist/cjs/sync/storage.native.js +209 -0
- package/dist/cjs/sync/storage.native.js.map +1 -0
- package/dist/cjs/sync/storage.spec.cjs +446 -0
- package/dist/cjs/sync/storage.spec.native.js +470 -0
- package/dist/cjs/sync/storage.spec.native.js.map +1 -0
- package/dist/cjs/sync/subscriptionManager.cjs +487 -0
- package/dist/cjs/sync/subscriptionManager.native.js +948 -0
- package/dist/cjs/sync/subscriptionManager.native.js.map +1 -0
- package/dist/cjs/sync/subscriptionManager.spec.cjs +1102 -0
- package/dist/cjs/sync/subscriptionManager.spec.native.js +1136 -0
- package/dist/cjs/sync/subscriptionManager.spec.native.js.map +1 -0
- package/dist/cjs/sync/subscriptions.spec.cjs +937 -0
- package/dist/cjs/sync/subscriptions.spec.native.js +969 -0
- package/dist/cjs/sync/subscriptions.spec.native.js.map +1 -0
- package/dist/cjs/sync/syncModule.spec.cjs +206 -0
- package/dist/cjs/sync/syncModule.spec.native.js +222 -0
- package/dist/cjs/sync/syncModule.spec.native.js.map +1 -0
- package/dist/cjs/sync/types.cjs +99 -0
- package/dist/cjs/sync/types.native.js +102 -0
- package/dist/cjs/sync/types.native.js.map +1 -0
- package/dist/cjs/sync/types.spec.cjs +246 -0
- package/dist/cjs/sync/types.spec.native.js +256 -0
- package/dist/cjs/sync/types.spec.native.js.map +1 -0
- package/dist/cjs/sync/virtualPageManager.cjs +821 -0
- package/dist/cjs/sync/virtualPageManager.native.js +1125 -0
- package/dist/cjs/sync/virtualPageManager.native.js.map +1 -0
- package/dist/cjs/sync/virtualPageManager.spec.cjs +801 -0
- package/dist/cjs/sync/virtualPageManager.spec.native.js +873 -0
- package/dist/cjs/sync/virtualPageManager.spec.native.js.map +1 -0
- package/dist/cjs/util.cjs +31 -0
- package/dist/cjs/util.native.js +34 -0
- package/dist/cjs/util.native.js.map +1 -0
- package/dist/cjs/util.spec.cjs +43 -0
- package/dist/cjs/util.spec.native.js +48 -0
- package/dist/cjs/util.spec.native.js.map +1 -0
- package/dist/esm/auth.mjs +25 -0
- package/dist/esm/auth.mjs.map +1 -0
- package/dist/esm/auth.native.js +72 -0
- package/dist/esm/auth.native.js.map +1 -0
- package/dist/esm/auth.spec.mjs +323 -0
- package/dist/esm/auth.spec.mjs.map +1 -0
- package/dist/esm/auth.spec.native.js +327 -0
- package/dist/esm/auth.spec.native.js.map +1 -0
- package/dist/esm/call.mjs +20 -0
- package/dist/esm/call.mjs.map +1 -0
- package/dist/esm/call.native.js +65 -0
- package/dist/esm/call.native.js.map +1 -0
- package/dist/esm/call.spec.mjs +428 -0
- package/dist/esm/call.spec.mjs.map +1 -0
- package/dist/esm/call.spec.native.js +428 -0
- package/dist/esm/call.spec.native.js.map +1 -0
- package/dist/esm/collection.mjs +250 -0
- package/dist/esm/collection.mjs.map +1 -0
- package/dist/esm/collection.native.js +463 -0
- package/dist/esm/collection.native.js.map +1 -0
- package/dist/esm/collection.spec.mjs +187 -0
- package/dist/esm/collection.spec.mjs.map +1 -0
- package/dist/esm/collection.spec.native.js +214 -0
- package/dist/esm/collection.spec.native.js.map +1 -0
- package/dist/esm/common/types.mjs +2 -0
- package/dist/esm/common/types.mjs.map +1 -0
- package/dist/esm/common/types.native.js +2 -0
- package/dist/esm/common/types.native.js.map +1 -0
- package/dist/esm/common/types.spec.mjs +267 -0
- package/dist/esm/common/types.spec.mjs.map +1 -0
- package/dist/esm/common/types.spec.native.js +269 -0
- package/dist/esm/common/types.spec.native.js.map +1 -0
- package/dist/esm/core/http.mjs +258 -0
- package/dist/esm/core/http.mjs.map +1 -0
- package/dist/esm/core/http.native.js +450 -0
- package/dist/esm/core/http.native.js.map +1 -0
- package/dist/esm/core/http.spec.mjs +1260 -0
- package/dist/esm/core/http.spec.mjs.map +1 -0
- package/dist/esm/core/http.spec.native.js +1399 -0
- package/dist/esm/core/http.spec.native.js.map +1 -0
- package/dist/esm/core/types.mjs +26 -0
- package/dist/esm/core/types.mjs.map +1 -0
- package/dist/esm/core/types.native.js +148 -0
- package/dist/esm/core/types.native.js.map +1 -0
- package/dist/esm/core/wire.mjs +23 -0
- package/dist/esm/core/wire.mjs.map +1 -0
- package/dist/esm/core/wire.native.js +23 -0
- package/dist/esm/core/wire.native.js.map +1 -0
- package/dist/esm/core/wire.spec.mjs +479 -0
- package/dist/esm/core/wire.spec.mjs.map +1 -0
- package/dist/esm/core/wire.spec.native.js +480 -0
- package/dist/esm/core/wire.spec.native.js.map +1 -0
- package/dist/esm/db.mjs +329 -0
- package/dist/esm/db.mjs.map +1 -0
- package/dist/esm/db.native.js +440 -0
- package/dist/esm/db.native.js.map +1 -0
- package/dist/esm/db.spec.mjs +863 -0
- package/dist/esm/db.spec.mjs.map +1 -0
- package/dist/esm/db.spec.native.js +863 -0
- package/dist/esm/db.spec.native.js.map +1 -0
- package/dist/esm/devtools/FrappeDevtoolsPanel.mjs +813 -0
- package/dist/esm/devtools/FrappeDevtoolsPanel.mjs.map +1 -0
- package/dist/esm/devtools/FrappeDevtoolsPanel.native.js +880 -0
- package/dist/esm/devtools/FrappeDevtoolsPanel.native.js.map +1 -0
- package/dist/esm/devtools/index.mjs +4 -0
- package/dist/esm/devtools/index.mjs.map +1 -0
- package/dist/esm/devtools/index.native.js +4 -0
- package/dist/esm/devtools/index.native.js.map +1 -0
- package/dist/esm/devtools/plugin.mjs +14 -0
- package/dist/esm/devtools/plugin.mjs.map +1 -0
- package/dist/esm/devtools/plugin.native.js +17 -0
- package/dist/esm/devtools/plugin.native.js.map +1 -0
- package/dist/esm/devtools/theme.mjs +30 -0
- package/dist/esm/devtools/theme.mjs.map +1 -0
- package/dist/esm/devtools/theme.native.js +30 -0
- package/dist/esm/devtools/theme.native.js.map +1 -0
- package/dist/esm/doctype.mjs +381 -0
- package/dist/esm/doctype.mjs.map +1 -0
- package/dist/esm/doctype.native.js +489 -0
- package/dist/esm/doctype.native.js.map +1 -0
- package/dist/esm/doctype.spec.mjs +461 -0
- package/dist/esm/doctype.spec.mjs.map +1 -0
- package/dist/esm/doctype.spec.native.js +536 -0
- package/dist/esm/doctype.spec.native.js.map +1 -0
- package/dist/esm/file.mjs +16 -0
- package/dist/esm/file.mjs.map +1 -0
- package/dist/esm/file.native.js +56 -0
- package/dist/esm/file.native.js.map +1 -0
- package/dist/esm/file.spec.mjs +316 -0
- package/dist/esm/file.spec.mjs.map +1 -0
- package/dist/esm/file.spec.native.js +340 -0
- package/dist/esm/file.spec.native.js.map +1 -0
- package/dist/esm/fixtureDb.mjs +187 -0
- package/dist/esm/fixtureDb.mjs.map +1 -0
- package/dist/esm/fixtureDb.native.js +285 -0
- package/dist/esm/fixtureDb.native.js.map +1 -0
- package/dist/esm/fixtures.mjs +174 -0
- package/dist/esm/fixtures.mjs.map +1 -0
- package/dist/esm/fixtures.native.js +372 -0
- package/dist/esm/fixtures.native.js.map +1 -0
- package/dist/esm/frappeApp.mjs +92 -0
- package/dist/esm/frappeApp.mjs.map +1 -0
- package/dist/esm/frappeApp.native.js +151 -0
- package/dist/esm/frappeApp.native.js.map +1 -0
- package/dist/esm/frappeApp.spec.mjs +307 -0
- package/dist/esm/frappeApp.spec.mjs.map +1 -0
- package/dist/esm/frappeApp.spec.native.js +306 -0
- package/dist/esm/frappeApp.spec.native.js.map +1 -0
- package/dist/esm/frappeReact.mjs +286 -0
- package/dist/esm/frappeReact.mjs.map +1 -0
- package/dist/esm/frappeReact.native.js +320 -0
- package/dist/esm/frappeReact.native.js.map +1 -0
- package/dist/esm/frappeReact.spec.mjs +532 -0
- package/dist/esm/frappeReact.spec.mjs.map +1 -0
- package/dist/esm/frappeReact.spec.native.js +668 -0
- package/dist/esm/frappeReact.spec.native.js.map +1 -0
- package/dist/esm/index.mjs +25 -0
- package/dist/esm/index.mjs.map +1 -0
- package/dist/esm/index.native.js +25 -0
- package/dist/esm/index.native.js.map +1 -0
- package/dist/esm/optimistic.mjs +3 -0
- package/dist/esm/optimistic.mjs.map +1 -0
- package/dist/esm/optimistic.native.js +3 -0
- package/dist/esm/optimistic.native.js.map +1 -0
- package/dist/esm/optimistic.spec.mjs +12 -0
- package/dist/esm/optimistic.spec.mjs.map +1 -0
- package/dist/esm/optimistic.spec.native.js +17 -0
- package/dist/esm/optimistic.spec.native.js.map +1 -0
- package/dist/esm/pacer.mjs +173 -0
- package/dist/esm/pacer.mjs.map +1 -0
- package/dist/esm/pacer.native.js +244 -0
- package/dist/esm/pacer.native.js.map +1 -0
- package/dist/esm/pacer.spec.mjs +447 -0
- package/dist/esm/pacer.spec.mjs.map +1 -0
- package/dist/esm/pacer.spec.native.js +511 -0
- package/dist/esm/pacer.spec.native.js.map +1 -0
- package/dist/esm/plugin/index.mjs +99 -0
- package/dist/esm/plugin/index.mjs.map +1 -0
- package/dist/esm/plugin/index.native.js +165 -0
- package/dist/esm/plugin/index.native.js.map +1 -0
- package/dist/esm/realtime.mjs +239 -0
- package/dist/esm/realtime.mjs.map +1 -0
- package/dist/esm/realtime.native.js +358 -0
- package/dist/esm/realtime.native.js.map +1 -0
- package/dist/esm/realtime.spec.mjs +327 -0
- package/dist/esm/realtime.spec.mjs.map +1 -0
- package/dist/esm/realtime.spec.native.js +390 -0
- package/dist/esm/realtime.spec.native.js.map +1 -0
- package/dist/esm/sync/backfill.mjs +287 -0
- package/dist/esm/sync/backfill.mjs.map +1 -0
- package/dist/esm/sync/backfill.native.js +457 -0
- package/dist/esm/sync/backfill.native.js.map +1 -0
- package/dist/esm/sync/backfill.spec.mjs +563 -0
- package/dist/esm/sync/backfill.spec.mjs.map +1 -0
- package/dist/esm/sync/backfill.spec.native.js +686 -0
- package/dist/esm/sync/backfill.spec.native.js.map +1 -0
- package/dist/esm/sync/debug.spec.mjs +102 -0
- package/dist/esm/sync/debug.spec.mjs.map +1 -0
- package/dist/esm/sync/debug.spec.native.js +107 -0
- package/dist/esm/sync/debug.spec.native.js.map +1 -0
- package/dist/esm/sync/filters.mjs +276 -0
- package/dist/esm/sync/filters.mjs.map +1 -0
- package/dist/esm/sync/filters.native.js +408 -0
- package/dist/esm/sync/filters.native.js.map +1 -0
- package/dist/esm/sync/filters.spec.mjs +169 -0
- package/dist/esm/sync/filters.spec.mjs.map +1 -0
- package/dist/esm/sync/filters.spec.native.js +171 -0
- package/dist/esm/sync/filters.spec.native.js.map +1 -0
- package/dist/esm/sync/index.mjs +278 -0
- package/dist/esm/sync/index.mjs.map +1 -0
- package/dist/esm/sync/index.native.js +434 -0
- package/dist/esm/sync/index.native.js.map +1 -0
- package/dist/esm/sync/merge.mjs +396 -0
- package/dist/esm/sync/merge.mjs.map +1 -0
- package/dist/esm/sync/merge.native.js +675 -0
- package/dist/esm/sync/merge.native.js.map +1 -0
- package/dist/esm/sync/merge.spec.mjs +909 -0
- package/dist/esm/sync/merge.spec.mjs.map +1 -0
- package/dist/esm/sync/merge.spec.native.js +935 -0
- package/dist/esm/sync/merge.spec.native.js.map +1 -0
- package/dist/esm/sync/multiOrderBy.spec.mjs +166 -0
- package/dist/esm/sync/multiOrderBy.spec.mjs.map +1 -0
- package/dist/esm/sync/multiOrderBy.spec.native.js +227 -0
- package/dist/esm/sync/multiOrderBy.spec.native.js.map +1 -0
- package/dist/esm/sync/mutationEngine.mjs +756 -0
- package/dist/esm/sync/mutationEngine.mjs.map +1 -0
- package/dist/esm/sync/mutationEngine.native.js +1131 -0
- package/dist/esm/sync/mutationEngine.native.js.map +1 -0
- package/dist/esm/sync/mutationEngine.spec.mjs +1159 -0
- package/dist/esm/sync/mutationEngine.spec.mjs.map +1 -0
- package/dist/esm/sync/mutationEngine.spec.native.js +1171 -0
- package/dist/esm/sync/mutationEngine.spec.native.js.map +1 -0
- package/dist/esm/sync/mutationJournal.mjs +124 -0
- package/dist/esm/sync/mutationJournal.mjs.map +1 -0
- package/dist/esm/sync/mutationJournal.native.js +253 -0
- package/dist/esm/sync/mutationJournal.native.js.map +1 -0
- package/dist/esm/sync/mutationJournal.spec.mjs +331 -0
- package/dist/esm/sync/mutationJournal.spec.mjs.map +1 -0
- package/dist/esm/sync/mutationJournal.spec.native.js +331 -0
- package/dist/esm/sync/mutationJournal.spec.native.js.map +1 -0
- package/dist/esm/sync/mutations.spec.mjs +328 -0
- package/dist/esm/sync/mutations.spec.mjs.map +1 -0
- package/dist/esm/sync/mutations.spec.native.js +328 -0
- package/dist/esm/sync/mutations.spec.native.js.map +1 -0
- package/dist/esm/sync/normalizedCache.mjs +115 -0
- package/dist/esm/sync/normalizedCache.mjs.map +1 -0
- package/dist/esm/sync/normalizedCache.native.js +201 -0
- package/dist/esm/sync/normalizedCache.native.js.map +1 -0
- package/dist/esm/sync/normalizedCache.spec.mjs +303 -0
- package/dist/esm/sync/normalizedCache.spec.mjs.map +1 -0
- package/dist/esm/sync/normalizedCache.spec.native.js +309 -0
- package/dist/esm/sync/normalizedCache.spec.native.js.map +1 -0
- package/dist/esm/sync/persistence.mjs +602 -0
- package/dist/esm/sync/persistence.mjs.map +1 -0
- package/dist/esm/sync/persistence.native.js +883 -0
- package/dist/esm/sync/persistence.native.js.map +1 -0
- package/dist/esm/sync/persistence.spec.mjs +563 -0
- package/dist/esm/sync/persistence.spec.mjs.map +1 -0
- package/dist/esm/sync/persistence.spec.native.js +570 -0
- package/dist/esm/sync/persistence.spec.native.js.map +1 -0
- package/dist/esm/sync/realtime.mjs +189 -0
- package/dist/esm/sync/realtime.mjs.map +1 -0
- package/dist/esm/sync/realtime.native.js +312 -0
- package/dist/esm/sync/realtime.native.js.map +1 -0
- package/dist/esm/sync/realtime.spec.mjs +500 -0
- package/dist/esm/sync/realtime.spec.mjs.map +1 -0
- package/dist/esm/sync/realtime.spec.native.js +510 -0
- package/dist/esm/sync/realtime.spec.native.js.map +1 -0
- package/dist/esm/sync/rehydration.mjs +298 -0
- package/dist/esm/sync/rehydration.mjs.map +1 -0
- package/dist/esm/sync/rehydration.native.js +503 -0
- package/dist/esm/sync/rehydration.native.js.map +1 -0
- package/dist/esm/sync/rehydration.spec.mjs +732 -0
- package/dist/esm/sync/rehydration.spec.mjs.map +1 -0
- package/dist/esm/sync/rehydration.spec.native.js +734 -0
- package/dist/esm/sync/rehydration.spec.native.js.map +1 -0
- package/dist/esm/sync/storage.mjs +116 -0
- package/dist/esm/sync/storage.mjs.map +1 -0
- package/dist/esm/sync/storage.native.js +180 -0
- package/dist/esm/sync/storage.native.js.map +1 -0
- package/dist/esm/sync/storage.spec.mjs +423 -0
- package/dist/esm/sync/storage.spec.mjs.map +1 -0
- package/dist/esm/sync/storage.spec.native.js +444 -0
- package/dist/esm/sync/storage.spec.native.js.map +1 -0
- package/dist/esm/sync/subscriptionManager.mjs +462 -0
- package/dist/esm/sync/subscriptionManager.mjs.map +1 -0
- package/dist/esm/sync/subscriptionManager.native.js +920 -0
- package/dist/esm/sync/subscriptionManager.native.js.map +1 -0
- package/dist/esm/sync/subscriptionManager.spec.mjs +1079 -0
- package/dist/esm/sync/subscriptionManager.spec.mjs.map +1 -0
- package/dist/esm/sync/subscriptionManager.spec.native.js +1110 -0
- package/dist/esm/sync/subscriptionManager.spec.native.js.map +1 -0
- package/dist/esm/sync/subscriptions.spec.mjs +914 -0
- package/dist/esm/sync/subscriptions.spec.mjs.map +1 -0
- package/dist/esm/sync/subscriptions.spec.native.js +943 -0
- package/dist/esm/sync/subscriptions.spec.native.js.map +1 -0
- package/dist/esm/sync/syncModule.spec.mjs +207 -0
- package/dist/esm/sync/syncModule.spec.mjs.map +1 -0
- package/dist/esm/sync/syncModule.spec.native.js +220 -0
- package/dist/esm/sync/syncModule.spec.native.js.map +1 -0
- package/dist/esm/sync/types.mjs +65 -0
- package/dist/esm/sync/types.mjs.map +1 -0
- package/dist/esm/sync/types.native.js +65 -0
- package/dist/esm/sync/types.native.js.map +1 -0
- package/dist/esm/sync/types.spec.mjs +247 -0
- package/dist/esm/sync/types.spec.mjs.map +1 -0
- package/dist/esm/sync/types.spec.native.js +254 -0
- package/dist/esm/sync/types.spec.native.js.map +1 -0
- package/dist/esm/sync/virtualPageManager.mjs +794 -0
- package/dist/esm/sync/virtualPageManager.mjs.map +1 -0
- package/dist/esm/sync/virtualPageManager.native.js +1095 -0
- package/dist/esm/sync/virtualPageManager.native.js.map +1 -0
- package/dist/esm/sync/virtualPageManager.spec.mjs +802 -0
- package/dist/esm/sync/virtualPageManager.spec.mjs.map +1 -0
- package/dist/esm/sync/virtualPageManager.spec.native.js +871 -0
- package/dist/esm/sync/virtualPageManager.spec.native.js.map +1 -0
- package/dist/esm/util.mjs +6 -0
- package/dist/esm/util.mjs.map +1 -0
- package/dist/esm/util.native.js +6 -0
- package/dist/esm/util.native.js.map +1 -0
- package/dist/esm/util.spec.mjs +20 -0
- package/dist/esm/util.spec.mjs.map +1 -0
- package/dist/esm/util.spec.native.js +22 -0
- package/dist/esm/util.spec.native.js.map +1 -0
- package/dist/jsx/auth.mjs +25 -0
- package/dist/jsx/auth.mjs.map +1 -0
- package/dist/jsx/auth.native.js +100 -0
- package/dist/jsx/auth.native.js.map +1 -0
- package/dist/jsx/auth.spec.mjs +323 -0
- package/dist/jsx/auth.spec.mjs.map +1 -0
- package/dist/jsx/auth.spec.native.js +329 -0
- package/dist/jsx/auth.spec.native.js.map +1 -0
- package/dist/jsx/call.mjs +20 -0
- package/dist/jsx/call.mjs.map +1 -0
- package/dist/jsx/call.native.js +93 -0
- package/dist/jsx/call.native.js.map +1 -0
- package/dist/jsx/call.spec.mjs +428 -0
- package/dist/jsx/call.spec.mjs.map +1 -0
- package/dist/jsx/call.spec.native.js +430 -0
- package/dist/jsx/call.spec.native.js.map +1 -0
- package/dist/jsx/collection.mjs +250 -0
- package/dist/jsx/collection.mjs.map +1 -0
- package/dist/jsx/collection.native.js +494 -0
- package/dist/jsx/collection.native.js.map +1 -0
- package/dist/jsx/collection.spec.mjs +187 -0
- package/dist/jsx/collection.spec.mjs.map +1 -0
- package/dist/jsx/collection.spec.native.js +216 -0
- package/dist/jsx/collection.spec.native.js.map +1 -0
- package/dist/jsx/common/types.mjs +2 -0
- package/dist/jsx/common/types.mjs.map +1 -0
- package/dist/jsx/common/types.native.js +21 -0
- package/dist/jsx/common/types.native.js.map +1 -0
- package/dist/jsx/common/types.spec.mjs +267 -0
- package/dist/jsx/common/types.spec.mjs.map +1 -0
- package/dist/jsx/common/types.spec.native.js +271 -0
- package/dist/jsx/common/types.spec.native.js.map +1 -0
- package/dist/jsx/core/http.mjs +258 -0
- package/dist/jsx/core/http.mjs.map +1 -0
- package/dist/jsx/core/http.native.js +484 -0
- package/dist/jsx/core/http.native.js.map +1 -0
- package/dist/jsx/core/http.spec.mjs +1260 -0
- package/dist/jsx/core/http.spec.mjs.map +1 -0
- package/dist/jsx/core/http.spec.native.js +1401 -0
- package/dist/jsx/core/http.spec.native.js.map +1 -0
- package/dist/jsx/core/types.mjs +26 -0
- package/dist/jsx/core/types.mjs.map +1 -0
- package/dist/jsx/core/types.native.js +178 -0
- package/dist/jsx/core/types.native.js.map +1 -0
- package/dist/jsx/core/wire.mjs +23 -0
- package/dist/jsx/core/wire.mjs.map +1 -0
- package/dist/jsx/core/wire.native.js +56 -0
- package/dist/jsx/core/wire.native.js.map +1 -0
- package/dist/jsx/core/wire.spec.mjs +479 -0
- package/dist/jsx/core/wire.spec.mjs.map +1 -0
- package/dist/jsx/core/wire.spec.native.js +482 -0
- package/dist/jsx/core/wire.spec.native.js.map +1 -0
- package/dist/jsx/db.mjs +329 -0
- package/dist/jsx/db.mjs.map +1 -0
- package/dist/jsx/db.native.js +469 -0
- package/dist/jsx/db.native.js.map +1 -0
- package/dist/jsx/db.spec.mjs +863 -0
- package/dist/jsx/db.spec.mjs.map +1 -0
- package/dist/jsx/db.spec.native.js +865 -0
- package/dist/jsx/db.spec.native.js.map +1 -0
- package/dist/jsx/devtools/FrappeDevtoolsPanel.mjs +813 -0
- package/dist/jsx/devtools/FrappeDevtoolsPanel.mjs.map +1 -0
- package/dist/jsx/devtools/FrappeDevtoolsPanel.native.js +919 -0
- package/dist/jsx/devtools/FrappeDevtoolsPanel.native.js.map +1 -0
- package/dist/jsx/devtools/index.mjs +4 -0
- package/dist/jsx/devtools/index.mjs.map +1 -0
- package/dist/jsx/devtools/index.native.js +33 -0
- package/dist/jsx/devtools/index.native.js.map +1 -0
- package/dist/jsx/devtools/plugin.mjs +14 -0
- package/dist/jsx/devtools/plugin.mjs.map +1 -0
- package/dist/jsx/devtools/plugin.native.js +56 -0
- package/dist/jsx/devtools/plugin.native.js.map +1 -0
- package/dist/jsx/devtools/theme.mjs +30 -0
- package/dist/jsx/devtools/theme.mjs.map +1 -0
- package/dist/jsx/devtools/theme.native.js +58 -0
- package/dist/jsx/devtools/theme.native.js.map +1 -0
- package/dist/jsx/doctype.mjs +381 -0
- package/dist/jsx/doctype.mjs.map +1 -0
- package/dist/jsx/doctype.native.js +521 -0
- package/dist/jsx/doctype.native.js.map +1 -0
- package/dist/jsx/doctype.spec.mjs +461 -0
- package/dist/jsx/doctype.spec.mjs.map +1 -0
- package/dist/jsx/doctype.spec.native.js +538 -0
- package/dist/jsx/doctype.spec.native.js.map +1 -0
- package/dist/jsx/file.mjs +16 -0
- package/dist/jsx/file.mjs.map +1 -0
- package/dist/jsx/file.native.js +84 -0
- package/dist/jsx/file.native.js.map +1 -0
- package/dist/jsx/file.spec.mjs +316 -0
- package/dist/jsx/file.spec.mjs.map +1 -0
- package/dist/jsx/file.spec.native.js +342 -0
- package/dist/jsx/file.spec.native.js.map +1 -0
- package/dist/jsx/fixtureDb.mjs +187 -0
- package/dist/jsx/fixtureDb.mjs.map +1 -0
- package/dist/jsx/fixtureDb.native.js +313 -0
- package/dist/jsx/fixtureDb.native.js.map +1 -0
- package/dist/jsx/fixtures.mjs +174 -0
- package/dist/jsx/fixtures.mjs.map +1 -0
- package/dist/jsx/fixtures.native.js +400 -0
- package/dist/jsx/fixtures.native.js.map +1 -0
- package/dist/jsx/frappeApp.mjs +92 -0
- package/dist/jsx/frappeApp.mjs.map +1 -0
- package/dist/jsx/frappeApp.native.js +179 -0
- package/dist/jsx/frappeApp.native.js.map +1 -0
- package/dist/jsx/frappeApp.spec.mjs +307 -0
- package/dist/jsx/frappeApp.spec.mjs.map +1 -0
- package/dist/jsx/frappeApp.spec.native.js +308 -0
- package/dist/jsx/frappeApp.spec.native.js.map +1 -0
- package/dist/jsx/frappeReact.mjs +286 -0
- package/dist/jsx/frappeReact.mjs.map +1 -0
- package/dist/jsx/frappeReact.native.js +351 -0
- package/dist/jsx/frappeReact.native.js.map +1 -0
- package/dist/jsx/frappeReact.spec.mjs +532 -0
- package/dist/jsx/frappeReact.spec.mjs.map +1 -0
- package/dist/jsx/frappeReact.spec.native.js +670 -0
- package/dist/jsx/frappeReact.spec.native.js.map +1 -0
- package/dist/jsx/index.js +25 -0
- package/dist/jsx/index.js.map +1 -0
- package/dist/jsx/index.mjs +25 -0
- package/dist/jsx/index.mjs.map +1 -0
- package/dist/jsx/index.native.js +152 -0
- package/dist/jsx/index.native.js.map +1 -0
- package/dist/jsx/optimistic.mjs +3 -0
- package/dist/jsx/optimistic.mjs.map +1 -0
- package/dist/jsx/optimistic.native.js +31 -0
- package/dist/jsx/optimistic.native.js.map +1 -0
- package/dist/jsx/optimistic.spec.mjs +12 -0
- package/dist/jsx/optimistic.spec.mjs.map +1 -0
- package/dist/jsx/optimistic.spec.native.js +19 -0
- package/dist/jsx/optimistic.spec.native.js.map +1 -0
- package/dist/jsx/pacer.mjs +173 -0
- package/dist/jsx/pacer.mjs.map +1 -0
- package/dist/jsx/pacer.native.js +274 -0
- package/dist/jsx/pacer.native.js.map +1 -0
- package/dist/jsx/pacer.spec.mjs +447 -0
- package/dist/jsx/pacer.spec.mjs.map +1 -0
- package/dist/jsx/pacer.spec.native.js +537 -0
- package/dist/jsx/pacer.spec.native.js.map +1 -0
- package/dist/jsx/plugin/index.mjs +99 -0
- package/dist/jsx/plugin/index.mjs.map +1 -0
- package/dist/jsx/plugin/index.native.js +193 -0
- package/dist/jsx/plugin/index.native.js.map +1 -0
- package/dist/jsx/realtime.mjs +239 -0
- package/dist/jsx/realtime.mjs.map +1 -0
- package/dist/jsx/realtime.native.js +387 -0
- package/dist/jsx/realtime.native.js.map +1 -0
- package/dist/jsx/realtime.spec.mjs +327 -0
- package/dist/jsx/realtime.spec.mjs.map +1 -0
- package/dist/jsx/realtime.spec.native.js +392 -0
- package/dist/jsx/realtime.spec.native.js.map +1 -0
- package/dist/jsx/sync/backfill.mjs +287 -0
- package/dist/jsx/sync/backfill.mjs.map +1 -0
- package/dist/jsx/sync/backfill.native.js +487 -0
- package/dist/jsx/sync/backfill.native.js.map +1 -0
- package/dist/jsx/sync/backfill.spec.mjs +563 -0
- package/dist/jsx/sync/backfill.spec.mjs.map +1 -0
- package/dist/jsx/sync/backfill.spec.native.js +712 -0
- package/dist/jsx/sync/backfill.spec.native.js.map +1 -0
- package/dist/jsx/sync/debug.spec.mjs +102 -0
- package/dist/jsx/sync/debug.spec.mjs.map +1 -0
- package/dist/jsx/sync/debug.spec.native.js +133 -0
- package/dist/jsx/sync/debug.spec.native.js.map +1 -0
- package/dist/jsx/sync/filters.mjs +276 -0
- package/dist/jsx/sync/filters.mjs.map +1 -0
- package/dist/jsx/sync/filters.native.js +446 -0
- package/dist/jsx/sync/filters.native.js.map +1 -0
- package/dist/jsx/sync/filters.spec.mjs +169 -0
- package/dist/jsx/sync/filters.spec.mjs.map +1 -0
- package/dist/jsx/sync/filters.spec.native.js +173 -0
- package/dist/jsx/sync/filters.spec.native.js.map +1 -0
- package/dist/jsx/sync/index.mjs +278 -0
- package/dist/jsx/sync/index.mjs.map +1 -0
- package/dist/jsx/sync/index.native.js +462 -0
- package/dist/jsx/sync/index.native.js.map +1 -0
- package/dist/jsx/sync/merge.mjs +396 -0
- package/dist/jsx/sync/merge.mjs.map +1 -0
- package/dist/jsx/sync/merge.native.js +717 -0
- package/dist/jsx/sync/merge.native.js.map +1 -0
- package/dist/jsx/sync/merge.spec.mjs +909 -0
- package/dist/jsx/sync/merge.spec.mjs.map +1 -0
- package/dist/jsx/sync/merge.spec.native.js +937 -0
- package/dist/jsx/sync/merge.spec.native.js.map +1 -0
- package/dist/jsx/sync/multiOrderBy.spec.mjs +166 -0
- package/dist/jsx/sync/multiOrderBy.spec.mjs.map +1 -0
- package/dist/jsx/sync/multiOrderBy.spec.native.js +229 -0
- package/dist/jsx/sync/multiOrderBy.spec.native.js.map +1 -0
- package/dist/jsx/sync/mutationEngine.mjs +756 -0
- package/dist/jsx/sync/mutationEngine.mjs.map +1 -0
- package/dist/jsx/sync/mutationEngine.native.js +1159 -0
- package/dist/jsx/sync/mutationEngine.native.js.map +1 -0
- package/dist/jsx/sync/mutationEngine.spec.mjs +1159 -0
- package/dist/jsx/sync/mutationEngine.spec.mjs.map +1 -0
- package/dist/jsx/sync/mutationEngine.spec.native.js +1173 -0
- package/dist/jsx/sync/mutationEngine.spec.native.js.map +1 -0
- package/dist/jsx/sync/mutationJournal.mjs +124 -0
- package/dist/jsx/sync/mutationJournal.mjs.map +1 -0
- package/dist/jsx/sync/mutationJournal.native.js +282 -0
- package/dist/jsx/sync/mutationJournal.native.js.map +1 -0
- package/dist/jsx/sync/mutationJournal.spec.mjs +331 -0
- package/dist/jsx/sync/mutationJournal.spec.mjs.map +1 -0
- package/dist/jsx/sync/mutationJournal.spec.native.js +333 -0
- package/dist/jsx/sync/mutationJournal.spec.native.js.map +1 -0
- package/dist/jsx/sync/mutations.spec.mjs +328 -0
- package/dist/jsx/sync/mutations.spec.mjs.map +1 -0
- package/dist/jsx/sync/mutations.spec.native.js +330 -0
- package/dist/jsx/sync/mutations.spec.native.js.map +1 -0
- package/dist/jsx/sync/normalizedCache.mjs +115 -0
- package/dist/jsx/sync/normalizedCache.mjs.map +1 -0
- package/dist/jsx/sync/normalizedCache.native.js +229 -0
- package/dist/jsx/sync/normalizedCache.native.js.map +1 -0
- package/dist/jsx/sync/normalizedCache.spec.mjs +303 -0
- package/dist/jsx/sync/normalizedCache.spec.mjs.map +1 -0
- package/dist/jsx/sync/normalizedCache.spec.native.js +311 -0
- package/dist/jsx/sync/normalizedCache.spec.native.js.map +1 -0
- package/dist/jsx/sync/persistence.mjs +602 -0
- package/dist/jsx/sync/persistence.mjs.map +1 -0
- package/dist/jsx/sync/persistence.native.js +911 -0
- package/dist/jsx/sync/persistence.native.js.map +1 -0
- package/dist/jsx/sync/persistence.spec.mjs +563 -0
- package/dist/jsx/sync/persistence.spec.mjs.map +1 -0
- package/dist/jsx/sync/persistence.spec.native.js +572 -0
- package/dist/jsx/sync/persistence.spec.native.js.map +1 -0
- package/dist/jsx/sync/realtime.mjs +189 -0
- package/dist/jsx/sync/realtime.mjs.map +1 -0
- package/dist/jsx/sync/realtime.native.js +340 -0
- package/dist/jsx/sync/realtime.native.js.map +1 -0
- package/dist/jsx/sync/realtime.spec.mjs +500 -0
- package/dist/jsx/sync/realtime.spec.mjs.map +1 -0
- package/dist/jsx/sync/realtime.spec.native.js +512 -0
- package/dist/jsx/sync/realtime.spec.native.js.map +1 -0
- package/dist/jsx/sync/rehydration.mjs +298 -0
- package/dist/jsx/sync/rehydration.mjs.map +1 -0
- package/dist/jsx/sync/rehydration.native.js +531 -0
- package/dist/jsx/sync/rehydration.native.js.map +1 -0
- package/dist/jsx/sync/rehydration.spec.mjs +732 -0
- package/dist/jsx/sync/rehydration.spec.mjs.map +1 -0
- package/dist/jsx/sync/rehydration.spec.native.js +736 -0
- package/dist/jsx/sync/rehydration.spec.native.js.map +1 -0
- package/dist/jsx/sync/storage.mjs +116 -0
- package/dist/jsx/sync/storage.mjs.map +1 -0
- package/dist/jsx/sync/storage.native.js +209 -0
- package/dist/jsx/sync/storage.native.js.map +1 -0
- package/dist/jsx/sync/storage.spec.mjs +423 -0
- package/dist/jsx/sync/storage.spec.mjs.map +1 -0
- package/dist/jsx/sync/storage.spec.native.js +470 -0
- package/dist/jsx/sync/storage.spec.native.js.map +1 -0
- package/dist/jsx/sync/subscriptionManager.mjs +462 -0
- package/dist/jsx/sync/subscriptionManager.mjs.map +1 -0
- package/dist/jsx/sync/subscriptionManager.native.js +948 -0
- package/dist/jsx/sync/subscriptionManager.native.js.map +1 -0
- package/dist/jsx/sync/subscriptionManager.spec.mjs +1079 -0
- package/dist/jsx/sync/subscriptionManager.spec.mjs.map +1 -0
- package/dist/jsx/sync/subscriptionManager.spec.native.js +1136 -0
- package/dist/jsx/sync/subscriptionManager.spec.native.js.map +1 -0
- package/dist/jsx/sync/subscriptions.spec.mjs +914 -0
- package/dist/jsx/sync/subscriptions.spec.mjs.map +1 -0
- package/dist/jsx/sync/subscriptions.spec.native.js +969 -0
- package/dist/jsx/sync/subscriptions.spec.native.js.map +1 -0
- package/dist/jsx/sync/syncModule.spec.mjs +207 -0
- package/dist/jsx/sync/syncModule.spec.mjs.map +1 -0
- package/dist/jsx/sync/syncModule.spec.native.js +222 -0
- package/dist/jsx/sync/syncModule.spec.native.js.map +1 -0
- package/dist/jsx/sync/types.mjs +65 -0
- package/dist/jsx/sync/types.mjs.map +1 -0
- package/dist/jsx/sync/types.native.js +102 -0
- package/dist/jsx/sync/types.native.js.map +1 -0
- package/dist/jsx/sync/types.spec.mjs +247 -0
- package/dist/jsx/sync/types.spec.mjs.map +1 -0
- package/dist/jsx/sync/types.spec.native.js +256 -0
- package/dist/jsx/sync/types.spec.native.js.map +1 -0
- package/dist/jsx/sync/virtualPageManager.mjs +794 -0
- package/dist/jsx/sync/virtualPageManager.mjs.map +1 -0
- package/dist/jsx/sync/virtualPageManager.native.js +1125 -0
- package/dist/jsx/sync/virtualPageManager.native.js.map +1 -0
- package/dist/jsx/sync/virtualPageManager.spec.mjs +802 -0
- package/dist/jsx/sync/virtualPageManager.spec.mjs.map +1 -0
- package/dist/jsx/sync/virtualPageManager.spec.native.js +873 -0
- package/dist/jsx/sync/virtualPageManager.spec.native.js.map +1 -0
- package/dist/jsx/util.mjs +6 -0
- package/dist/jsx/util.mjs.map +1 -0
- package/dist/jsx/util.native.js +34 -0
- package/dist/jsx/util.native.js.map +1 -0
- package/dist/jsx/util.spec.mjs +20 -0
- package/dist/jsx/util.spec.mjs.map +1 -0
- package/dist/jsx/util.spec.native.js +48 -0
- package/dist/jsx/util.spec.native.js.map +1 -0
- package/package.json +96 -0
- package/src/auth.spec.ts +363 -0
- package/src/auth.ts +29 -0
- package/src/call.spec.ts +541 -0
- package/src/call.ts +21 -0
- package/src/collection.spec.ts +213 -0
- package/src/collection.ts +328 -0
- package/src/common/types.spec.ts +294 -0
- package/src/common/types.ts +41 -0
- package/src/core/http.spec.ts +1128 -0
- package/src/core/http.ts +324 -0
- package/src/core/types.ts +85 -0
- package/src/core/wire.spec.ts +570 -0
- package/src/core/wire.ts +487 -0
- package/src/db.spec.ts +1004 -0
- package/src/db.ts +589 -0
- package/src/devtools/FrappeDevtoolsPanel.tsx +873 -0
- package/src/devtools/index.ts +3 -0
- package/src/devtools/plugin.tsx +13 -0
- package/src/devtools/theme.ts +42 -0
- package/src/doctype.spec.ts +451 -0
- package/src/doctype.ts +828 -0
- package/src/file.spec.ts +347 -0
- package/src/file.ts +27 -0
- package/src/fixtureDb.ts +208 -0
- package/src/fixtures.ts +268 -0
- package/src/frappeApp.spec.ts +382 -0
- package/src/frappeApp.ts +125 -0
- package/src/frappeReact.spec.ts +505 -0
- package/src/frappeReact.ts +598 -0
- package/src/index.ts +215 -0
- package/src/optimistic.spec.ts +13 -0
- package/src/optimistic.ts +39 -0
- package/src/pacer.spec.ts +493 -0
- package/src/pacer.ts +426 -0
- package/src/plugin/README.md +162 -0
- package/src/plugin/index.ts +141 -0
- package/src/realtime.spec.ts +453 -0
- package/src/realtime.ts +279 -0
- package/src/sync/backfill.spec.ts +714 -0
- package/src/sync/backfill.ts +378 -0
- package/src/sync/debug.spec.ts +110 -0
- package/src/sync/filters.spec.ts +223 -0
- package/src/sync/filters.ts +513 -0
- package/src/sync/index.ts +412 -0
- package/src/sync/merge.spec.ts +812 -0
- package/src/sync/merge.ts +532 -0
- package/src/sync/multiOrderBy.spec.ts +187 -0
- package/src/sync/mutationEngine.spec.ts +1418 -0
- package/src/sync/mutationEngine.ts +957 -0
- package/src/sync/mutationJournal.spec.ts +337 -0
- package/src/sync/mutationJournal.ts +157 -0
- package/src/sync/mutations.spec.ts +358 -0
- package/src/sync/normalizedCache.spec.ts +262 -0
- package/src/sync/normalizedCache.ts +152 -0
- package/src/sync/persistence.spec.ts +908 -0
- package/src/sync/persistence.ts +802 -0
- package/src/sync/realtime.spec.ts +769 -0
- package/src/sync/realtime.ts +259 -0
- package/src/sync/rehydration.spec.ts +923 -0
- package/src/sync/rehydration.ts +362 -0
- package/src/sync/storage.spec.ts +473 -0
- package/src/sync/storage.ts +174 -0
- package/src/sync/subscriptionManager.spec.ts +1226 -0
- package/src/sync/subscriptionManager.ts +577 -0
- package/src/sync/subscriptions.spec.ts +1048 -0
- package/src/sync/syncModule.spec.ts +217 -0
- package/src/sync/types.spec.ts +276 -0
- package/src/sync/types.ts +384 -0
- package/src/sync/virtualPageManager.spec.ts +825 -0
- package/src/sync/virtualPageManager.ts +1069 -0
- package/src/util.spec.ts +17 -0
- package/src/util.ts +5 -0
|
@@ -0,0 +1,328 @@
|
|
|
1
|
+
import { beforeEach, describe, expect, it, vi } from "vitest";
|
|
2
|
+
import { MutationEngine } from "./mutationEngine.native.js";
|
|
3
|
+
import { Operation, Status } from "./types.native.js";
|
|
4
|
+
describe("MutationEngine", function () {
|
|
5
|
+
var mutationEngine;
|
|
6
|
+
var mockDb;
|
|
7
|
+
var mockRealtime;
|
|
8
|
+
var mockCache;
|
|
9
|
+
var mockJournal;
|
|
10
|
+
var mockSubscriptionManager;
|
|
11
|
+
var options;
|
|
12
|
+
beforeEach(function () {
|
|
13
|
+
mockDb = {
|
|
14
|
+
getDoc: vi.fn(),
|
|
15
|
+
setValue: vi.fn(),
|
|
16
|
+
createDoc: vi.fn(),
|
|
17
|
+
deleteDoc: vi.fn(),
|
|
18
|
+
updateDoc: vi.fn(),
|
|
19
|
+
exists: vi.fn(),
|
|
20
|
+
searchLink: vi.fn(),
|
|
21
|
+
getList: vi.fn(),
|
|
22
|
+
getCount: vi.fn(),
|
|
23
|
+
getCachedDoc: vi.fn(),
|
|
24
|
+
getCachedDocList: vi.fn(),
|
|
25
|
+
insertDoc: vi.fn(),
|
|
26
|
+
saveDoc: vi.fn(),
|
|
27
|
+
submitDoc: vi.fn(),
|
|
28
|
+
cancelDoc: vi.fn(),
|
|
29
|
+
getApiCount: vi.fn(),
|
|
30
|
+
getApiList: vi.fn(),
|
|
31
|
+
getApi: vi.fn(),
|
|
32
|
+
postApi: vi.fn(),
|
|
33
|
+
putApi: vi.fn(),
|
|
34
|
+
deleteApi: vi.fn()
|
|
35
|
+
};
|
|
36
|
+
mockRealtime = {
|
|
37
|
+
isHealthy: vi.fn().mockReturnValue(true),
|
|
38
|
+
on: vi.fn(),
|
|
39
|
+
off: vi.fn(),
|
|
40
|
+
emit: vi.fn(),
|
|
41
|
+
socketio: void 0
|
|
42
|
+
};
|
|
43
|
+
mockCache = {
|
|
44
|
+
get: vi.fn(),
|
|
45
|
+
upsert: vi.fn(),
|
|
46
|
+
remove: vi.fn(),
|
|
47
|
+
clear: vi.fn(),
|
|
48
|
+
getAll: vi.fn(),
|
|
49
|
+
has: vi.fn(),
|
|
50
|
+
update: vi.fn()
|
|
51
|
+
};
|
|
52
|
+
mockJournal = {
|
|
53
|
+
add: vi.fn(),
|
|
54
|
+
confirm: vi.fn(),
|
|
55
|
+
fail: vi.fn(),
|
|
56
|
+
listPending: vi.fn().mockReturnValue([]),
|
|
57
|
+
clear: vi.fn(),
|
|
58
|
+
get: vi.fn(),
|
|
59
|
+
getAll: vi.fn(),
|
|
60
|
+
remove: vi.fn()
|
|
61
|
+
};
|
|
62
|
+
mockSubscriptionManager = {
|
|
63
|
+
getAllSubscriptions: vi.fn().mockReturnValue(/* @__PURE__ */new Map()),
|
|
64
|
+
addSubscription: vi.fn(),
|
|
65
|
+
removeSubscription: vi.fn(),
|
|
66
|
+
getSubscription: vi.fn(),
|
|
67
|
+
updateSubscription: vi.fn(),
|
|
68
|
+
updateSubscriptionMembership: vi.fn(),
|
|
69
|
+
processOptimisticCreate: vi.fn(),
|
|
70
|
+
processDocumentDelete: vi.fn(),
|
|
71
|
+
removeFromAllSubscriptions: vi.fn()
|
|
72
|
+
};
|
|
73
|
+
options = {
|
|
74
|
+
batchSize: 10,
|
|
75
|
+
batchDelay: 100,
|
|
76
|
+
versionField: "modified",
|
|
77
|
+
onMutationStart: vi.fn(),
|
|
78
|
+
onMutationSuccess: vi.fn(),
|
|
79
|
+
onMutationError: vi.fn(),
|
|
80
|
+
onConflict: vi.fn()
|
|
81
|
+
};
|
|
82
|
+
var mockRehydrationManager = {
|
|
83
|
+
scheduleRehydration: vi.fn(),
|
|
84
|
+
registerTempIdMapping: vi.fn()
|
|
85
|
+
};
|
|
86
|
+
mutationEngine = new MutationEngine(mockDb, mockRealtime, mockCache, mockJournal, mockSubscriptionManager, mockRehydrationManager, options);
|
|
87
|
+
});
|
|
88
|
+
describe("mutate", function () {
|
|
89
|
+
it("should handle create operation", async function () {
|
|
90
|
+
var mutation = {
|
|
91
|
+
mutationId: "mut-1",
|
|
92
|
+
operation: Operation.Create,
|
|
93
|
+
doc: {
|
|
94
|
+
doctype: "Task",
|
|
95
|
+
name: "temp-id",
|
|
96
|
+
title: "New Task",
|
|
97
|
+
status: "Open"
|
|
98
|
+
},
|
|
99
|
+
affected: []
|
|
100
|
+
};
|
|
101
|
+
var createdDoc = {
|
|
102
|
+
doctype: "Task",
|
|
103
|
+
name: "TASK-001",
|
|
104
|
+
title: "New Task",
|
|
105
|
+
status: "Open",
|
|
106
|
+
modified: "2025-01-01 10:00:00"
|
|
107
|
+
};
|
|
108
|
+
vi.mocked(mockDb.createDoc).mockResolvedValue(createdDoc);
|
|
109
|
+
await mutationEngine.mutate(mutation);
|
|
110
|
+
expect(mockJournal.add).toHaveBeenCalledWith("mut-1", expect.objectContaining({
|
|
111
|
+
doctype: "Task",
|
|
112
|
+
operation: Operation.Create,
|
|
113
|
+
values: {
|
|
114
|
+
doctype: "Task",
|
|
115
|
+
name: "temp-id",
|
|
116
|
+
title: "New Task",
|
|
117
|
+
status: "Open"
|
|
118
|
+
},
|
|
119
|
+
status: Status.Pending
|
|
120
|
+
}));
|
|
121
|
+
expect(mockDb.createDoc).toHaveBeenCalledWith(expect.objectContaining({
|
|
122
|
+
doctype: "Task",
|
|
123
|
+
title: "New Task",
|
|
124
|
+
status: "Open"
|
|
125
|
+
}));
|
|
126
|
+
expect(mockJournal.confirm).toHaveBeenCalledWith("mut-1");
|
|
127
|
+
expect(options.onMutationSuccess).toHaveBeenCalledWith(mutation);
|
|
128
|
+
});
|
|
129
|
+
it("should throw error for update without docname", async function () {
|
|
130
|
+
var mutation = {
|
|
131
|
+
mutationId: "mut-4",
|
|
132
|
+
operation: Operation.Update,
|
|
133
|
+
doc: {
|
|
134
|
+
doctype: "Task",
|
|
135
|
+
name: ""
|
|
136
|
+
},
|
|
137
|
+
affected: []
|
|
138
|
+
};
|
|
139
|
+
await expect(mutationEngine.mutate(mutation)).rejects.toThrow("docname is required for update/delete operations");
|
|
140
|
+
});
|
|
141
|
+
it("should throw error for delete without docname", async function () {
|
|
142
|
+
var mutation = {
|
|
143
|
+
mutationId: "mut-5",
|
|
144
|
+
operation: Operation.Delete,
|
|
145
|
+
doc: {
|
|
146
|
+
doctype: "Task",
|
|
147
|
+
name: ""
|
|
148
|
+
},
|
|
149
|
+
affected: []
|
|
150
|
+
};
|
|
151
|
+
await expect(mutationEngine.mutate(mutation)).rejects.toThrow("docname is required for update/delete operations");
|
|
152
|
+
});
|
|
153
|
+
});
|
|
154
|
+
describe("replayPending", function () {
|
|
155
|
+
it("should replay pending mutations in order", async function () {
|
|
156
|
+
var pending1 = {
|
|
157
|
+
id: "mut-1",
|
|
158
|
+
entry: {
|
|
159
|
+
mutationId: "mut-1",
|
|
160
|
+
doctype: "Task",
|
|
161
|
+
docname: "TASK-001",
|
|
162
|
+
operation: Operation.Update,
|
|
163
|
+
values: {
|
|
164
|
+
doctype: "Task",
|
|
165
|
+
name: "TASK-001",
|
|
166
|
+
status: "InProgress"
|
|
167
|
+
},
|
|
168
|
+
version: "2025-01-01 09:00:00",
|
|
169
|
+
status: Status.Pending
|
|
170
|
+
}
|
|
171
|
+
};
|
|
172
|
+
var pending2 = {
|
|
173
|
+
id: "mut-2",
|
|
174
|
+
entry: {
|
|
175
|
+
mutationId: "mut-2",
|
|
176
|
+
doctype: "Task",
|
|
177
|
+
docname: "TASK-002",
|
|
178
|
+
operation: Operation.Update,
|
|
179
|
+
values: {
|
|
180
|
+
doctype: "Task",
|
|
181
|
+
name: "TASK-002",
|
|
182
|
+
status: "Completed"
|
|
183
|
+
},
|
|
184
|
+
version: "2025-01-01 09:30:00",
|
|
185
|
+
status: Status.Pending
|
|
186
|
+
}
|
|
187
|
+
};
|
|
188
|
+
vi.mocked(mockJournal.listPending).mockReturnValue([pending1, pending2]);
|
|
189
|
+
vi.mocked(mockDb.updateDoc).mockResolvedValue({
|
|
190
|
+
doctype: "Task",
|
|
191
|
+
name: "TASK-001"
|
|
192
|
+
});
|
|
193
|
+
await mutationEngine.replayPending();
|
|
194
|
+
expect(mockDb.updateDoc).toHaveBeenCalledTimes(2);
|
|
195
|
+
expect(mockDb.updateDoc).toHaveBeenNthCalledWith(1, expect.objectContaining({
|
|
196
|
+
doctype: "Task",
|
|
197
|
+
name: "TASK-001",
|
|
198
|
+
status: "InProgress",
|
|
199
|
+
client_mutation_id: "mut-1",
|
|
200
|
+
base_modified: "2025-01-01 09:00:00"
|
|
201
|
+
}));
|
|
202
|
+
expect(mockDb.updateDoc).toHaveBeenNthCalledWith(2, expect.objectContaining({
|
|
203
|
+
doctype: "Task",
|
|
204
|
+
name: "TASK-002",
|
|
205
|
+
status: "Completed",
|
|
206
|
+
client_mutation_id: "mut-2",
|
|
207
|
+
base_modified: "2025-01-01 09:30:00"
|
|
208
|
+
}));
|
|
209
|
+
});
|
|
210
|
+
it("should handle create operations during replay", async function () {
|
|
211
|
+
var pending = {
|
|
212
|
+
id: "mut-1",
|
|
213
|
+
entry: {
|
|
214
|
+
mutationId: "mut-1",
|
|
215
|
+
doctype: "Task",
|
|
216
|
+
operation: Operation.Create,
|
|
217
|
+
values: {
|
|
218
|
+
doctype: "Task",
|
|
219
|
+
name: "temp-id",
|
|
220
|
+
title: "New Task",
|
|
221
|
+
status: "Open"
|
|
222
|
+
},
|
|
223
|
+
status: Status.Pending
|
|
224
|
+
}
|
|
225
|
+
};
|
|
226
|
+
vi.mocked(mockJournal.listPending).mockReturnValue([pending]);
|
|
227
|
+
vi.mocked(mockDb.createDoc).mockResolvedValue({
|
|
228
|
+
doctype: "Task",
|
|
229
|
+
name: "TASK-001"
|
|
230
|
+
});
|
|
231
|
+
await mutationEngine.replayPending();
|
|
232
|
+
expect(mockDb.createDoc).toHaveBeenCalledWith(expect.objectContaining({
|
|
233
|
+
doctype: "Task",
|
|
234
|
+
title: "New Task",
|
|
235
|
+
status: "Open",
|
|
236
|
+
client_mutation_id: "mut-1"
|
|
237
|
+
}));
|
|
238
|
+
});
|
|
239
|
+
it("should handle delete operations during replay", async function () {
|
|
240
|
+
var pending = {
|
|
241
|
+
id: "mut-1",
|
|
242
|
+
entry: {
|
|
243
|
+
mutationId: "mut-1",
|
|
244
|
+
doctype: "Task",
|
|
245
|
+
docname: "TASK-001",
|
|
246
|
+
operation: Operation.Delete,
|
|
247
|
+
status: Status.Pending
|
|
248
|
+
}
|
|
249
|
+
};
|
|
250
|
+
vi.mocked(mockJournal.listPending).mockReturnValue([pending]);
|
|
251
|
+
vi.mocked(mockDb.deleteDoc).mockResolvedValue({
|
|
252
|
+
message: "Deleted successfully"
|
|
253
|
+
});
|
|
254
|
+
await mutationEngine.replayPending();
|
|
255
|
+
expect(mockDb.deleteDoc).toHaveBeenCalledWith(expect.objectContaining({
|
|
256
|
+
doctype: "Task",
|
|
257
|
+
name: "TASK-001",
|
|
258
|
+
client_mutation_id: "mut-1"
|
|
259
|
+
}));
|
|
260
|
+
});
|
|
261
|
+
it("should handle errors during replay", async function () {
|
|
262
|
+
var pending = {
|
|
263
|
+
id: "mut-1",
|
|
264
|
+
entry: {
|
|
265
|
+
mutationId: "mut-1",
|
|
266
|
+
doctype: "Task",
|
|
267
|
+
docname: "TASK-001",
|
|
268
|
+
operation: Operation.Update,
|
|
269
|
+
values: {
|
|
270
|
+
doctype: "Task",
|
|
271
|
+
name: "TASK-001",
|
|
272
|
+
status: "InProgress"
|
|
273
|
+
},
|
|
274
|
+
status: Status.Failed,
|
|
275
|
+
retryCount: 1
|
|
276
|
+
}
|
|
277
|
+
};
|
|
278
|
+
var error = new Error("Network error");
|
|
279
|
+
vi.mocked(mockJournal.listPending).mockReturnValue([pending]);
|
|
280
|
+
vi.mocked(mockDb.updateDoc).mockRejectedValue(error);
|
|
281
|
+
await mutationEngine.replayPending();
|
|
282
|
+
expect(mockJournal.fail).toHaveBeenCalledWith("mut-1");
|
|
283
|
+
});
|
|
284
|
+
});
|
|
285
|
+
describe("batching", function () {
|
|
286
|
+
it("should respect batch configuration", async function () {
|
|
287
|
+
var batchingOptions = {
|
|
288
|
+
...options,
|
|
289
|
+
batchSize: 2,
|
|
290
|
+
batchDelay: 50
|
|
291
|
+
};
|
|
292
|
+
var mockRehydrationManager = {
|
|
293
|
+
scheduleRehydration: vi.fn(),
|
|
294
|
+
registerTempIdMapping: vi.fn()
|
|
295
|
+
};
|
|
296
|
+
mutationEngine = new MutationEngine(mockDb, mockRealtime, mockCache, mockJournal, mockSubscriptionManager, mockRehydrationManager, batchingOptions);
|
|
297
|
+
var mutation1 = {
|
|
298
|
+
mutationId: "mut-1",
|
|
299
|
+
operation: Operation.Create,
|
|
300
|
+
doc: {
|
|
301
|
+
doctype: "Task",
|
|
302
|
+
name: "temp-1",
|
|
303
|
+
title: "Task 1"
|
|
304
|
+
},
|
|
305
|
+
affected: []
|
|
306
|
+
};
|
|
307
|
+
var mutation2 = {
|
|
308
|
+
mutationId: "mut-2",
|
|
309
|
+
operation: Operation.Create,
|
|
310
|
+
doc: {
|
|
311
|
+
doctype: "Task",
|
|
312
|
+
name: "temp-2",
|
|
313
|
+
title: "Task 2"
|
|
314
|
+
},
|
|
315
|
+
affected: []
|
|
316
|
+
};
|
|
317
|
+
vi.mocked(mockDb.createDoc).mockResolvedValue({
|
|
318
|
+
doctype: "Task",
|
|
319
|
+
name: "TASK-001"
|
|
320
|
+
});
|
|
321
|
+
var promise1 = mutationEngine.mutate(mutation1);
|
|
322
|
+
var promise2 = mutationEngine.mutate(mutation2);
|
|
323
|
+
await Promise.all([promise1, promise2]);
|
|
324
|
+
expect(mockJournal.add).toHaveBeenCalledTimes(2);
|
|
325
|
+
});
|
|
326
|
+
});
|
|
327
|
+
});
|
|
328
|
+
//# sourceMappingURL=mutations.spec.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["beforeEach","describe","expect","it","vi","MutationEngine","Operation","Status","mutationEngine","mockDb","mockRealtime","mockCache","mockJournal","mockSubscriptionManager","options","getDoc","fn","setValue","createDoc","deleteDoc","updateDoc","exists","searchLink","getList","getCount","getCachedDoc","getCachedDocList","insertDoc","saveDoc","submitDoc","cancelDoc","getApiCount","getApiList","getApi","postApi","putApi","deleteApi","isHealthy","mockReturnValue","on","off","emit","socketio","get","upsert","remove","clear","getAll","has","update","add","confirm","fail","listPending","getAllSubscriptions","Map","addSubscription","removeSubscription","getSubscription","updateSubscription","updateSubscriptionMembership","processOptimisticCreate","processDocumentDelete","removeFromAllSubscriptions","batchSize","batchDelay","versionField","onMutationStart","onMutationSuccess","onMutationError","onConflict","mockRehydrationManager","scheduleRehydration","registerTempIdMapping","mutation","mutationId","operation","Create","doc","doctype","name","title","status","affected","createdDoc","modified","mocked","mockResolvedValue","mutate","toHaveBeenCalledWith","objectContaining","values","Pending","Update","rejects","toThrow","Delete","pending1","id","entry","docname","version","pending2","replayPending","toHaveBeenCalledTimes","toHaveBeenNthCalledWith","client_mutation_id","base_modified","pending","message","Failed","retryCount","error","Error","mockRejectedValue","batchingOptions","mutation1","mutation2","promise1","promise2","Promise","all"],"sources":["../../../src/sync/mutations.spec.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
class NormalizedCache {
|
|
2
|
+
state = {};
|
|
3
|
+
/** LRU tracking: composite key "doctype:name" -> last access timestamp */
|
|
4
|
+
accessOrder = /* @__PURE__ */new Map();
|
|
5
|
+
maxSize;
|
|
6
|
+
onEvict;
|
|
7
|
+
constructor(options = {}) {
|
|
8
|
+
this.maxSize = options.maxSize ?? Infinity;
|
|
9
|
+
this.onEvict = options.onEvict;
|
|
10
|
+
}
|
|
11
|
+
makeKey(doctype, name) {
|
|
12
|
+
return `${doctype}:${name}`;
|
|
13
|
+
}
|
|
14
|
+
parseKey(key) {
|
|
15
|
+
const colonIndex = key.indexOf(":");
|
|
16
|
+
return {
|
|
17
|
+
doctype: key.slice(0, colonIndex),
|
|
18
|
+
name: key.slice(colonIndex + 1)
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
upsert(doc) {
|
|
22
|
+
let bucket = this.state[doc.doctype];
|
|
23
|
+
if (!bucket) {
|
|
24
|
+
bucket = {
|
|
25
|
+
byId: {},
|
|
26
|
+
allIds: []
|
|
27
|
+
};
|
|
28
|
+
this.state[doc.doctype] = bucket;
|
|
29
|
+
}
|
|
30
|
+
const id = doc?.name;
|
|
31
|
+
if (!id) return;
|
|
32
|
+
const isNew = !bucket.byId[id];
|
|
33
|
+
if (isNew) {
|
|
34
|
+
bucket.allIds.push(id);
|
|
35
|
+
}
|
|
36
|
+
bucket.byId[id] = doc;
|
|
37
|
+
const key = this.makeKey(doc.doctype, id);
|
|
38
|
+
this.accessOrder.set(key, Date.now());
|
|
39
|
+
if (isNew && this.maxSize !== Infinity) {
|
|
40
|
+
this.evictIfNeeded();
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
remove(doc) {
|
|
44
|
+
const bucket = this.state[doc.doctype];
|
|
45
|
+
if (!bucket) return;
|
|
46
|
+
if (bucket.byId[doc.name]) delete bucket.byId[doc.name];
|
|
47
|
+
bucket.allIds = bucket.allIds.filter(currentId => currentId !== doc.name);
|
|
48
|
+
const key = this.makeKey(doc.doctype, doc.name);
|
|
49
|
+
this.accessOrder.delete(key);
|
|
50
|
+
}
|
|
51
|
+
get(doc) {
|
|
52
|
+
const result = this.state[doc.doctype]?.byId[doc.name];
|
|
53
|
+
if (result) {
|
|
54
|
+
const key = this.makeKey(doc.doctype, doc.name);
|
|
55
|
+
this.accessOrder.set(key, Date.now());
|
|
56
|
+
}
|
|
57
|
+
return result;
|
|
58
|
+
}
|
|
59
|
+
getStats() {
|
|
60
|
+
let size = 0;
|
|
61
|
+
const doctypes = [];
|
|
62
|
+
for (const [doctype, bucket] of Object.entries(this.state)) {
|
|
63
|
+
const count = bucket.allIds.length;
|
|
64
|
+
size += count;
|
|
65
|
+
doctypes.push({
|
|
66
|
+
doctype,
|
|
67
|
+
count
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
return {
|
|
71
|
+
size,
|
|
72
|
+
doctypes
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Evicts least recently used documents if cache exceeds maxSize.
|
|
77
|
+
*/
|
|
78
|
+
evictIfNeeded() {
|
|
79
|
+
const stats = this.getStats();
|
|
80
|
+
if (stats.size <= this.maxSize) return;
|
|
81
|
+
const sortedEntries = [...this.accessOrder.entries()].sort((a, b) => a[1] - b[1]);
|
|
82
|
+
const toEvict = stats.size - this.maxSize;
|
|
83
|
+
for (let i = 0; i < toEvict && i < sortedEntries.length; i++) {
|
|
84
|
+
const [key] = sortedEntries[i];
|
|
85
|
+
const {
|
|
86
|
+
doctype,
|
|
87
|
+
name
|
|
88
|
+
} = this.parseKey(key);
|
|
89
|
+
const bucket = this.state[doctype];
|
|
90
|
+
if (bucket) {
|
|
91
|
+
delete bucket.byId[name];
|
|
92
|
+
bucket.allIds = bucket.allIds.filter(id => id !== name);
|
|
93
|
+
}
|
|
94
|
+
this.accessOrder.delete(key);
|
|
95
|
+
if (this.onEvict) {
|
|
96
|
+
this.onEvict(doctype, name);
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Clears the entire cache.
|
|
102
|
+
*/
|
|
103
|
+
clear() {
|
|
104
|
+
this.state = {};
|
|
105
|
+
this.accessOrder.clear();
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Gets the current cache size.
|
|
109
|
+
*/
|
|
110
|
+
get size() {
|
|
111
|
+
return this.getStats().size;
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
export { NormalizedCache };
|
|
115
|
+
//# sourceMappingURL=normalizedCache.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["NormalizedCache","state","accessOrder","Map","maxSize","onEvict","constructor","options","Infinity","makeKey","doctype","name","parseKey","key","colonIndex","indexOf","slice","upsert","doc","bucket","byId","allIds","id","isNew","push","set","Date","now","evictIfNeeded","remove","filter","currentId","delete","get","result","getStats","size","doctypes","Object","entries","count","length","stats","sortedEntries","sort","a","b","toEvict","i","clear"],"sources":["../../../src/sync/normalizedCache.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,201 @@
|
|
|
1
|
+
function _class_call_check(instance, Constructor) {
|
|
2
|
+
if (!(instance instanceof Constructor)) {
|
|
3
|
+
throw new TypeError("Cannot call a class as a function");
|
|
4
|
+
}
|
|
5
|
+
}
|
|
6
|
+
function _defineProperties(target, props) {
|
|
7
|
+
for (var i = 0; i < props.length; i++) {
|
|
8
|
+
var descriptor = props[i];
|
|
9
|
+
descriptor.enumerable = descriptor.enumerable || false;
|
|
10
|
+
descriptor.configurable = true;
|
|
11
|
+
if ("value" in descriptor) descriptor.writable = true;
|
|
12
|
+
Object.defineProperty(target, descriptor.key, descriptor);
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
function _create_class(Constructor, protoProps, staticProps) {
|
|
16
|
+
if (protoProps) _defineProperties(Constructor.prototype, protoProps);
|
|
17
|
+
if (staticProps) _defineProperties(Constructor, staticProps);
|
|
18
|
+
return Constructor;
|
|
19
|
+
}
|
|
20
|
+
function _define_property(obj, key, value) {
|
|
21
|
+
if (key in obj) {
|
|
22
|
+
Object.defineProperty(obj, key, {
|
|
23
|
+
value,
|
|
24
|
+
enumerable: true,
|
|
25
|
+
configurable: true,
|
|
26
|
+
writable: true
|
|
27
|
+
});
|
|
28
|
+
} else {
|
|
29
|
+
obj[key] = value;
|
|
30
|
+
}
|
|
31
|
+
return obj;
|
|
32
|
+
}
|
|
33
|
+
var NormalizedCache = /* @__PURE__ */function () {
|
|
34
|
+
"use strict";
|
|
35
|
+
|
|
36
|
+
function NormalizedCache2() {
|
|
37
|
+
var options = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
|
|
38
|
+
_class_call_check(this, NormalizedCache2);
|
|
39
|
+
var _options_maxSize;
|
|
40
|
+
_define_property(this, "state", {});
|
|
41
|
+
_define_property(this, "accessOrder", /* @__PURE__ */new Map());
|
|
42
|
+
_define_property(this, "maxSize", void 0);
|
|
43
|
+
_define_property(this, "onEvict", void 0);
|
|
44
|
+
this.maxSize = (_options_maxSize = options.maxSize) !== null && _options_maxSize !== void 0 ? _options_maxSize : Infinity;
|
|
45
|
+
this.onEvict = options.onEvict;
|
|
46
|
+
}
|
|
47
|
+
_create_class(NormalizedCache2, [{
|
|
48
|
+
key: "makeKey",
|
|
49
|
+
value: function makeKey(doctype, name) {
|
|
50
|
+
return `${doctype}:${name}`;
|
|
51
|
+
}
|
|
52
|
+
}, {
|
|
53
|
+
key: "parseKey",
|
|
54
|
+
value: function parseKey(key) {
|
|
55
|
+
var colonIndex = key.indexOf(":");
|
|
56
|
+
return {
|
|
57
|
+
doctype: key.slice(0, colonIndex),
|
|
58
|
+
name: key.slice(colonIndex + 1)
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
}, {
|
|
62
|
+
key: "upsert",
|
|
63
|
+
value: function upsert(doc) {
|
|
64
|
+
var bucket = this.state[doc.doctype];
|
|
65
|
+
if (!bucket) {
|
|
66
|
+
bucket = {
|
|
67
|
+
byId: {},
|
|
68
|
+
allIds: []
|
|
69
|
+
};
|
|
70
|
+
this.state[doc.doctype] = bucket;
|
|
71
|
+
}
|
|
72
|
+
var id = doc === null || doc === void 0 ? void 0 : doc.name;
|
|
73
|
+
if (!id) return;
|
|
74
|
+
var isNew = !bucket.byId[id];
|
|
75
|
+
if (isNew) {
|
|
76
|
+
bucket.allIds.push(id);
|
|
77
|
+
}
|
|
78
|
+
bucket.byId[id] = doc;
|
|
79
|
+
var key = this.makeKey(doc.doctype, id);
|
|
80
|
+
this.accessOrder.set(key, Date.now());
|
|
81
|
+
if (isNew && this.maxSize !== Infinity) {
|
|
82
|
+
this.evictIfNeeded();
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
}, {
|
|
86
|
+
key: "remove",
|
|
87
|
+
value: function remove(doc) {
|
|
88
|
+
var bucket = this.state[doc.doctype];
|
|
89
|
+
if (!bucket) return;
|
|
90
|
+
if (bucket.byId[doc.name]) delete bucket.byId[doc.name];
|
|
91
|
+
bucket.allIds = bucket.allIds.filter(function (currentId) {
|
|
92
|
+
return currentId !== doc.name;
|
|
93
|
+
});
|
|
94
|
+
var key = this.makeKey(doc.doctype, doc.name);
|
|
95
|
+
this.accessOrder.delete(key);
|
|
96
|
+
}
|
|
97
|
+
}, {
|
|
98
|
+
key: "get",
|
|
99
|
+
value: function get(doc) {
|
|
100
|
+
var _this_state_doc_doctype;
|
|
101
|
+
var result = (_this_state_doc_doctype = this.state[doc.doctype]) === null || _this_state_doc_doctype === void 0 ? void 0 : _this_state_doc_doctype.byId[doc.name];
|
|
102
|
+
if (result) {
|
|
103
|
+
var key = this.makeKey(doc.doctype, doc.name);
|
|
104
|
+
this.accessOrder.set(key, Date.now());
|
|
105
|
+
}
|
|
106
|
+
return result;
|
|
107
|
+
}
|
|
108
|
+
}, {
|
|
109
|
+
key: "getStats",
|
|
110
|
+
value: function getStats() {
|
|
111
|
+
var size = 0;
|
|
112
|
+
var doctypes = [];
|
|
113
|
+
var _iteratorNormalCompletion = true,
|
|
114
|
+
_didIteratorError = false,
|
|
115
|
+
_iteratorError = void 0;
|
|
116
|
+
try {
|
|
117
|
+
for (var _iterator = Object.entries(this.state)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
|
|
118
|
+
var [doctype, bucket] = _step.value;
|
|
119
|
+
var count = bucket.allIds.length;
|
|
120
|
+
size += count;
|
|
121
|
+
doctypes.push({
|
|
122
|
+
doctype,
|
|
123
|
+
count
|
|
124
|
+
});
|
|
125
|
+
}
|
|
126
|
+
} catch (err) {
|
|
127
|
+
_didIteratorError = true;
|
|
128
|
+
_iteratorError = err;
|
|
129
|
+
} finally {
|
|
130
|
+
try {
|
|
131
|
+
if (!_iteratorNormalCompletion && _iterator.return != null) {
|
|
132
|
+
_iterator.return();
|
|
133
|
+
}
|
|
134
|
+
} finally {
|
|
135
|
+
if (_didIteratorError) {
|
|
136
|
+
throw _iteratorError;
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
return {
|
|
141
|
+
size,
|
|
142
|
+
doctypes
|
|
143
|
+
};
|
|
144
|
+
}
|
|
145
|
+
}, {
|
|
146
|
+
key: "evictIfNeeded",
|
|
147
|
+
value: (
|
|
148
|
+
/**
|
|
149
|
+
* Evicts least recently used documents if cache exceeds maxSize.
|
|
150
|
+
*/
|
|
151
|
+
function evictIfNeeded() {
|
|
152
|
+
var _this,
|
|
153
|
+
_loop = function (i2) {
|
|
154
|
+
var [key] = sortedEntries[i2];
|
|
155
|
+
var {
|
|
156
|
+
doctype,
|
|
157
|
+
name
|
|
158
|
+
} = _this.parseKey(key);
|
|
159
|
+
var bucket = _this.state[doctype];
|
|
160
|
+
if (bucket) {
|
|
161
|
+
delete bucket.byId[name];
|
|
162
|
+
bucket.allIds = bucket.allIds.filter(function (id) {
|
|
163
|
+
return id !== name;
|
|
164
|
+
});
|
|
165
|
+
}
|
|
166
|
+
_this.accessOrder.delete(key);
|
|
167
|
+
if (_this.onEvict) {
|
|
168
|
+
_this.onEvict(doctype, name);
|
|
169
|
+
}
|
|
170
|
+
};
|
|
171
|
+
var stats = this.getStats();
|
|
172
|
+
if (stats.size <= this.maxSize) return;
|
|
173
|
+
var sortedEntries = [...this.accessOrder.entries()].sort(function (a, b) {
|
|
174
|
+
return a[1] - b[1];
|
|
175
|
+
});
|
|
176
|
+
var toEvict = stats.size - this.maxSize;
|
|
177
|
+
for (var i = 0; i < toEvict && i < sortedEntries.length; i++) _this = this, _loop(i);
|
|
178
|
+
})
|
|
179
|
+
}, {
|
|
180
|
+
/**
|
|
181
|
+
* Clears the entire cache.
|
|
182
|
+
*/
|
|
183
|
+
key: "clear",
|
|
184
|
+
value: function clear() {
|
|
185
|
+
this.state = {};
|
|
186
|
+
this.accessOrder.clear();
|
|
187
|
+
}
|
|
188
|
+
}, {
|
|
189
|
+
key: "size",
|
|
190
|
+
get: (
|
|
191
|
+
/**
|
|
192
|
+
* Gets the current cache size.
|
|
193
|
+
*/
|
|
194
|
+
function get() {
|
|
195
|
+
return this.getStats().size;
|
|
196
|
+
})
|
|
197
|
+
}]);
|
|
198
|
+
return NormalizedCache2;
|
|
199
|
+
}();
|
|
200
|
+
export { NormalizedCache };
|
|
201
|
+
//# sourceMappingURL=normalizedCache.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_class_call_check","instance","Constructor","TypeError","_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","key","_create_class","protoProps","staticProps","prototype","_define_property","obj","value","NormalizedCache","NormalizedCache2","options","arguments","_options_maxSize","Map","maxSize","Infinity","onEvict","makeKey","doctype","name","parseKey","colonIndex","indexOf","slice","upsert","doc","bucket","state","byId","allIds","id","isNew","push","accessOrder","set","Date","now","evictIfNeeded","remove","filter","currentId","delete"],"sources":["../../../src/sync/normalizedCache.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|