@multiplatform.one/frappe 6.4.2 → 6.6.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/dist/cjs/auth.native.js.map +1 -1
- package/dist/cjs/call.native.js.map +1 -1
- package/dist/cjs/collection.cjs +25 -9
- package/dist/cjs/collection.native.js +25 -9
- package/dist/cjs/collection.native.js.map +1 -1
- package/dist/cjs/common/types.native.js.map +1 -1
- package/dist/cjs/core/http.native.js.map +1 -1
- package/dist/cjs/core/types.native.js.map +1 -1
- package/dist/cjs/core/wire.native.js.map +1 -1
- package/dist/cjs/db.cjs +13 -2
- package/dist/cjs/db.native.js +18 -2
- package/dist/cjs/db.native.js.map +1 -1
- package/dist/cjs/devtools/FrappeDevtoolsPanel.native.js.map +1 -1
- package/dist/cjs/devtools/index.native.js.map +1 -1
- package/dist/cjs/devtools/plugin.native.js.map +1 -1
- package/dist/cjs/devtools/theme.native.js.map +1 -1
- package/dist/cjs/doctype.native.js.map +1 -1
- package/dist/cjs/file.native.js.map +1 -1
- package/dist/cjs/fixtureDb.native.js.map +1 -1
- package/dist/cjs/fixtures.native.js.map +1 -1
- package/dist/cjs/frappeApp.native.js.map +1 -1
- package/dist/cjs/frappeReact.cjs +10 -3
- package/dist/cjs/frappeReact.native.js +11 -4
- package/dist/cjs/frappeReact.native.js.map +1 -1
- package/dist/cjs/index.native.js +2 -2
- package/dist/cjs/index.native.js.map +1 -1
- package/dist/cjs/optimistic.native.js.map +1 -1
- package/dist/cjs/pacer.native.js.map +1 -1
- package/dist/cjs/plugin/index.native.js.map +1 -1
- package/dist/cjs/realtime.native.js.map +1 -1
- package/dist/cjs/sync/backfill.native.js.map +1 -1
- package/dist/cjs/sync/filters.native.js.map +1 -1
- package/dist/cjs/sync/index.cjs +6 -1
- package/dist/cjs/sync/index.native.js +6 -1
- package/dist/cjs/sync/index.native.js.map +1 -1
- package/dist/cjs/sync/merge.native.js.map +1 -1
- package/dist/cjs/sync/mutationEngine.cjs +43 -19
- package/dist/cjs/sync/mutationEngine.native.js +51 -21
- package/dist/cjs/sync/mutationEngine.native.js.map +1 -1
- package/dist/cjs/sync/mutationJournal.native.js.map +1 -1
- package/dist/cjs/sync/normalizedCache.native.js.map +1 -1
- package/dist/cjs/sync/persistence.native.js.map +1 -1
- package/dist/cjs/sync/realtime.native.js.map +1 -1
- package/dist/cjs/sync/rehydration.native.js.map +1 -1
- package/dist/cjs/sync/storage.native.js.map +1 -1
- package/dist/cjs/sync/subscriptionManager.cjs +4 -0
- package/dist/cjs/sync/subscriptionManager.native.js +4 -0
- package/dist/cjs/sync/subscriptionManager.native.js.map +1 -1
- package/dist/cjs/sync/types.native.js.map +1 -1
- package/dist/cjs/sync/virtualPageManager.native.js.map +1 -1
- package/dist/cjs/useLiveQuery.native.js.map +1 -1
- package/dist/cjs/util.native.js.map +1 -1
- package/dist/esm/auth.native.js.map +1 -1
- package/dist/esm/call.native.js.map +1 -1
- package/dist/esm/collection.mjs +24 -9
- package/dist/esm/collection.mjs.map +1 -1
- package/dist/esm/collection.native.js +25 -10
- package/dist/esm/collection.native.js.map +1 -1
- package/dist/esm/common/types.native.js.map +1 -1
- package/dist/esm/core/http.mjs.map +1 -1
- package/dist/esm/core/http.native.js +2 -2
- package/dist/esm/core/http.native.js.map +1 -1
- package/dist/esm/core/types.mjs.map +1 -1
- package/dist/esm/core/types.native.js.map +1 -1
- package/dist/esm/core/wire.native.js.map +1 -1
- package/dist/esm/db.mjs +13 -2
- package/dist/esm/db.mjs.map +1 -1
- package/dist/esm/db.native.js +19 -3
- package/dist/esm/db.native.js.map +1 -1
- package/dist/esm/devtools/FrappeDevtoolsPanel.native.js +2 -2
- package/dist/esm/devtools/FrappeDevtoolsPanel.native.js.map +1 -1
- package/dist/esm/devtools/index.native.js +2 -2
- package/dist/esm/devtools/index.native.js.map +1 -1
- package/dist/esm/devtools/plugin.native.js +1 -1
- package/dist/esm/devtools/plugin.native.js.map +1 -1
- package/dist/esm/devtools/theme.native.js.map +1 -1
- package/dist/esm/doctype.native.js +1 -1
- package/dist/esm/doctype.native.js.map +1 -1
- package/dist/esm/file.native.js.map +1 -1
- package/dist/esm/fixtureDb.native.js +1 -1
- package/dist/esm/fixtureDb.native.js.map +1 -1
- package/dist/esm/fixtures.native.js.map +1 -1
- package/dist/esm/frappeApp.native.js +7 -7
- package/dist/esm/frappeApp.native.js.map +1 -1
- package/dist/esm/frappeReact.mjs +11 -4
- package/dist/esm/frappeReact.mjs.map +1 -1
- package/dist/esm/frappeReact.native.js +17 -10
- package/dist/esm/frappeReact.native.js.map +1 -1
- package/dist/esm/index.native.js +21 -21
- package/dist/esm/index.native.js.map +1 -1
- package/dist/esm/optimistic.native.js.map +1 -1
- package/dist/esm/pacer.native.js +4 -4
- package/dist/esm/pacer.native.js.map +1 -1
- package/dist/esm/plugin/index.mjs.map +1 -1
- package/dist/esm/plugin/index.native.js.map +1 -1
- package/dist/esm/realtime.mjs.map +1 -1
- package/dist/esm/realtime.native.js +1 -1
- package/dist/esm/realtime.native.js.map +1 -1
- package/dist/esm/sync/backfill.mjs.map +1 -1
- package/dist/esm/sync/backfill.native.js +1 -1
- package/dist/esm/sync/backfill.native.js.map +1 -1
- package/dist/esm/sync/filters.mjs.map +1 -1
- package/dist/esm/sync/filters.native.js.map +1 -1
- package/dist/esm/sync/index.mjs +6 -1
- package/dist/esm/sync/index.mjs.map +1 -1
- package/dist/esm/sync/index.native.js +14 -9
- package/dist/esm/sync/index.native.js.map +1 -1
- package/dist/esm/sync/merge.mjs.map +1 -1
- package/dist/esm/sync/merge.native.js.map +1 -1
- package/dist/esm/sync/mutationEngine.mjs +43 -19
- package/dist/esm/sync/mutationEngine.mjs.map +1 -1
- package/dist/esm/sync/mutationEngine.native.js +55 -25
- package/dist/esm/sync/mutationEngine.native.js.map +1 -1
- package/dist/esm/sync/mutationJournal.native.js +1 -1
- package/dist/esm/sync/mutationJournal.native.js.map +1 -1
- package/dist/esm/sync/normalizedCache.native.js.map +1 -1
- package/dist/esm/sync/persistence.native.js +2 -2
- package/dist/esm/sync/persistence.native.js.map +1 -1
- package/dist/esm/sync/realtime.native.js +1 -1
- package/dist/esm/sync/realtime.native.js.map +1 -1
- package/dist/esm/sync/rehydration.native.js +1 -1
- package/dist/esm/sync/rehydration.native.js.map +1 -1
- package/dist/esm/sync/storage.native.js.map +1 -1
- package/dist/esm/sync/subscriptionManager.mjs +4 -0
- package/dist/esm/sync/subscriptionManager.mjs.map +1 -1
- package/dist/esm/sync/subscriptionManager.native.js +8 -4
- package/dist/esm/sync/subscriptionManager.native.js.map +1 -1
- package/dist/esm/sync/types.mjs.map +1 -1
- package/dist/esm/sync/types.native.js.map +1 -1
- package/dist/esm/sync/virtualPageManager.mjs.map +1 -1
- package/dist/esm/sync/virtualPageManager.native.js +1 -1
- package/dist/esm/sync/virtualPageManager.native.js.map +1 -1
- package/dist/esm/useLiveQuery.native.js.map +1 -1
- package/dist/esm/util.native.js.map +1 -1
- package/dist/jsx/collection.mjs +24 -9
- package/dist/jsx/collection.mjs.map +1 -1
- package/dist/jsx/collection.native.js +25 -9
- package/dist/jsx/collection.native.js.map +1 -1
- package/dist/jsx/core/http.mjs.map +1 -1
- package/dist/jsx/core/types.mjs.map +1 -1
- package/dist/jsx/db.mjs +13 -2
- package/dist/jsx/db.mjs.map +1 -1
- package/dist/jsx/db.native.js +18 -2
- package/dist/jsx/db.native.js.map +1 -1
- package/dist/jsx/frappeReact.mjs +11 -4
- package/dist/jsx/frappeReact.mjs.map +1 -1
- package/dist/jsx/frappeReact.native.js +10 -3
- package/dist/jsx/frappeReact.native.js.map +1 -1
- package/dist/jsx/plugin/index.mjs.map +1 -1
- package/dist/jsx/realtime.mjs.map +1 -1
- package/dist/jsx/realtime.native.js.map +1 -1
- package/dist/jsx/sync/backfill.mjs.map +1 -1
- package/dist/jsx/sync/filters.mjs.map +1 -1
- package/dist/jsx/sync/filters.native.js.map +1 -1
- package/dist/jsx/sync/index.mjs +6 -1
- package/dist/jsx/sync/index.mjs.map +1 -1
- package/dist/jsx/sync/index.native.js +6 -1
- package/dist/jsx/sync/index.native.js.map +1 -1
- package/dist/jsx/sync/merge.mjs.map +1 -1
- package/dist/jsx/sync/merge.native.js.map +1 -1
- package/dist/jsx/sync/mutationEngine.mjs +43 -19
- package/dist/jsx/sync/mutationEngine.mjs.map +1 -1
- package/dist/jsx/sync/mutationEngine.native.js +51 -21
- package/dist/jsx/sync/mutationEngine.native.js.map +1 -1
- package/dist/jsx/sync/subscriptionManager.mjs +4 -0
- package/dist/jsx/sync/subscriptionManager.mjs.map +1 -1
- package/dist/jsx/sync/subscriptionManager.native.js +4 -0
- package/dist/jsx/sync/subscriptionManager.native.js.map +1 -1
- package/dist/jsx/sync/types.mjs.map +1 -1
- package/dist/jsx/sync/types.native.js.map +1 -1
- package/dist/jsx/sync/virtualPageManager.mjs.map +1 -1
- package/package.json +6 -6
- package/src/collection.ts +53 -8
- package/src/db.spec.ts +70 -0
- package/src/db.ts +28 -2
- package/src/frappeReact.spec.ts +7 -1
- package/src/frappeReact.ts +30 -6
- package/src/frappeReactLiveQueryGc.spec.ts +44 -4
- package/src/sync/index.ts +10 -1
- package/src/sync/mutationEngine.ts +81 -20
- package/src/sync/optimisticCreateReconcile.spec.ts +372 -0
- package/src/sync/subscriptionManager.spec.ts +41 -0
- package/src/sync/subscriptionManager.ts +10 -0
- package/src/sync/subscriptions.spec.ts +4 -0
- package/src/sync/types.ts +9 -0
- package/types/collection.d.ts +12 -0
- package/types/collection.d.ts.map +1 -1
- package/types/db.d.ts.map +1 -1
- package/types/frappeReact.d.ts.map +1 -1
- package/types/sync/index.d.ts.map +1 -1
- package/types/sync/mutationEngine.d.ts.map +1 -1
- package/types/sync/subscriptionManager.d.ts.map +1 -1
- package/types/sync/types.d.ts +9 -0
- package/types/sync/types.d.ts.map +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","virtualPageManager_exports","__export","PlacementStrategy","VirtualPageManager","VirtualSubscription","module","exports","import_types","require","_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","calculateCheckpointFromDocs","docs","maxTimestamp","maxDate","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Symbol","iterator","_step","next","done","doc","modified","date","Date","Number","isNaN","getTime","unused","err","return","PlacementStrategy2","VirtualSubscription2","subscription","progressiveCache","viewWindow","id","query","checkpoint","cursor","docIds","boundaries","lockExpiry","pendingRehydration","metadata","tombstones","updateProgressiveCache","options","nextCursor","hasMore","lastFetchedAt","totalCount","getProgressiveCache","processDocuments","normalizedCache","arguments","calculateCheckpoint","updateNormalizedCache","map","doc2","name","upsert","removeDocuments","docId","index","indexOf","splice","_iteratorNormalCompletion1","_didIteratorError1","_iteratorError1","_iterator1","_step1","docId1","remove","doctype","VirtualPageManager2","db","Map","batchSize","getOrderByField","orderBy","Array","isArray","registerSubscription","subscriptionId","initialDocIds","pageSize","limit","virtualSub","currentPage","subscriptions","set","recordIsland","startPage","endPage","Math","ceil","startIndex","endIndex","fetchedVia","initializeSubscription","fetchInitialBatch","getPage","page","get","start","end","cache","ensureCached","fetchPageByOffset","pageDocIds","slice","mapIdsToDocuments","getNextBatch","cursorDocId","fetchFromCursor","getPageInfo","knownPages","totalPages","itemsInCache","getTotalPages","count","getCount","filters","determineOptimisticPlacement","newDoc","orderByField","sortField","field","strategy","newValue","position","firstDoc","lastDoc","firstValue","lastValue","isAscending","order","Order","Asc","binarySearchPosition","handleRemoteCreate","placement","currentDocIds","newDocIds","currentDocIds1","newDocIds1","shouldLimitCacheSize","pop","isViewingLastPage","fetchMorePages","needsRehydration","handleRemoteDelete","docName","pendingBackfill","handleRemoteUpdate","updatedDoc","currentIndex","oldDoc","placement1","invalidateCache","cacheGeneration","pageCache","clear","getSubscription","getPageIslands","islands","isIndexCached","some","island","findGaps","gaps","sorted","sort","a","b","push","currentEnd","nextStart","floor","getGapForIndex","find","gap","clearIslands","delete","getIslandCoverage","totalCached","islandCount","largestGap","reduce","sum","max","g"],"sources":["../../../src/sync/virtualPageManager.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["__defProp","Object","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__hasOwnProp","prototype","hasOwnProperty","__export","target","all","name","get","enumerable","__copyProps","to","from","except","desc","key","call","__toCommonJS","mod","value","virtualPageManager_exports","PlacementStrategy","VirtualPageManager","VirtualSubscription","module","exports","import_types","require","_class_call_check","instance","Constructor","TypeError","_defineProperties","props","i","length","descriptor","configurable","writable","_create_class","protoProps","staticProps","_define_property","obj","calculateCheckpointFromDocs","docs","maxTimestamp","maxDate","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Symbol","iterator","_step","next","done","doc","modified","date","Date","Number","isNaN","getTime","unused","err","return","PlacementStrategy2","VirtualSubscription2","subscription","progressiveCache","viewWindow","id","query","checkpoint","cursor","docIds","boundaries","lockExpiry","pendingRehydration","metadata","tombstones","updateProgressiveCache","options","nextCursor","hasMore","lastFetchedAt","totalCount","getProgressiveCache","processDocuments","normalizedCache","arguments","calculateCheckpoint","updateNormalizedCache","map","doc2","upsert","removeDocuments","docId","index","indexOf","splice","_iteratorNormalCompletion1","_didIteratorError1","_iteratorError1","_iterator1","_step1","docId1","remove","doctype","VirtualPageManager2","db","Map","batchSize","getOrderByField","orderBy","Array","isArray","registerSubscription","subscriptionId","initialDocIds","pageSize","limit","virtualSub","currentPage","subscriptions","set","recordIsland","startPage","endPage","Math","ceil","startIndex","endIndex","fetchedVia","initializeSubscription","fetchInitialBatch","getPage","page","start","end","cache","ensureCached","fetchPageByOffset","pageDocIds","slice","mapIdsToDocuments","getNextBatch","cursorDocId","fetchFromCursor","getPageInfo","knownPages","totalPages","itemsInCache","getTotalPages","count","getCount","filters","determineOptimisticPlacement","newDoc","orderByField","sortField","field","strategy","newValue","position","firstDoc","lastDoc","firstValue","lastValue","isAscending","order","Order","Asc","binarySearchPosition","handleRemoteCreate","placement","currentDocIds","newDocIds","currentDocIds1","newDocIds1","shouldLimitCacheSize","pop","isViewingLastPage","fetchMorePages","needsRehydration","handleRemoteDelete","docName","pendingBackfill","handleRemoteUpdate","updatedDoc","currentIndex","oldDoc","placement1","invalidateCache","cacheGeneration","pageCache","clear","getSubscription","getPageIslands","islands","isIndexCached","some","island","findGaps","gaps","sorted","sort","a","b","push","currentEnd","nextStart","floor","getGapForIndex","find","gap","clearIslands","delete","getIslandCoverage","totalCached","islandCount","largestGap","reduce","sum","max","g","updates","keys","fetchedDocs","currentCursor","targetSize","res","getDocList","fields","pagesLoaded","pageCount","targetDocCount","currentCount","neededCount","remainingNeeded","fetchSize","min","response","updatedDocIds","limitStart","existingIds","Set","newDocs","filter","has","requiredIndex","pagesNeeded","existing","merged","current","last","indexOverlap","pageOverlap","_this","Boolean","left","right","mid","midDoc","midValue","comparison","compareValues","ascending","result","maxItems","lastPage"],"sources":["virtualPageManager.native.js"],"sourcesContent":["\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar virtualPageManager_exports = {};\n__export(virtualPageManager_exports, {\n PlacementStrategy: () => PlacementStrategy,\n VirtualPageManager: () => VirtualPageManager,\n VirtualSubscription: () => VirtualSubscription\n});\nmodule.exports = __toCommonJS(virtualPageManager_exports);\nvar import_types = require(\"./types\");\nfunction _class_call_check(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\nfunction _create_class(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\nfunction _define_property(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nfunction calculateCheckpointFromDocs(docs) {\n if (docs.length === 0) return void 0;\n var maxTimestamp = \"\";\n var maxDate = null;\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = docs[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var doc = _step.value;\n var modified = doc.modified;\n if (!modified) continue;\n try {\n var date = new Date(modified);\n if (Number.isNaN(date.getTime())) continue;\n if (!maxDate || date > maxDate) {\n maxDate = date;\n maxTimestamp = modified;\n }\n } catch (unused) {\n if (!maxTimestamp || modified > maxTimestamp) {\n maxTimestamp = modified;\n }\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n return maxTimestamp || void 0;\n}\nvar PlacementStrategy = /* @__PURE__ */ (function(PlacementStrategy2) {\n PlacementStrategy2[\"AfterRange\"] = \"after-range\";\n PlacementStrategy2[\"BeforeRange\"] = \"before-range\";\n PlacementStrategy2[\"Uncertain\"] = \"uncertain\";\n PlacementStrategy2[\"WithinRange\"] = \"within-range\";\n return PlacementStrategy2;\n})({});\nvar VirtualSubscription = /* @__PURE__ */ (function() {\n \"use strict\";\n function VirtualSubscription2(subscription, progressiveCache, viewWindow) {\n _class_call_check(this, VirtualSubscription2);\n _define_property(this, \"progressiveCache\", void 0);\n _define_property(this, \"needsRehydration\", void 0);\n _define_property(this, \"pendingBackfill\", void 0);\n _define_property(this, \"viewWindow\", void 0);\n _define_property(this, \"id\", void 0);\n _define_property(this, \"query\", void 0);\n _define_property(this, \"checkpoint\", void 0);\n _define_property(this, \"cursor\", void 0);\n _define_property(this, \"docIds\", void 0);\n _define_property(this, \"boundaries\", void 0);\n _define_property(this, \"lockExpiry\", void 0);\n _define_property(this, \"pendingRehydration\", void 0);\n _define_property(this, \"metadata\", void 0);\n _define_property(this, \"tombstones\", void 0);\n this.id = subscription.id;\n this.query = subscription.query;\n this.checkpoint = subscription.checkpoint;\n this.cursor = subscription.cursor;\n this.docIds = subscription.docIds;\n this.boundaries = subscription.boundaries;\n this.lockExpiry = subscription.lockExpiry;\n this.pendingRehydration = subscription.pendingRehydration;\n this.metadata = subscription.metadata;\n this.tombstones = subscription.tombstones;\n this.progressiveCache = progressiveCache;\n this.viewWindow = viewWindow;\n }\n _create_class(VirtualSubscription2, [\n {\n /**\n * Update progressive cache with new data\n */\n key: \"updateProgressiveCache\",\n value: function updateProgressiveCache(options) {\n if (options.docIds) {\n this.progressiveCache.docIds = options.docIds;\n }\n if (options.nextCursor !== void 0) {\n this.progressiveCache.nextCursor = options.nextCursor;\n }\n if (options.hasMore !== void 0) {\n this.progressiveCache.hasMore = options.hasMore;\n }\n if (options.lastFetchedAt) {\n this.progressiveCache.lastFetchedAt = options.lastFetchedAt;\n }\n if (typeof options.totalCount === \"number\") {\n this.progressiveCache.totalCount = options.totalCount;\n }\n }\n },\n {\n /**\n * Get the progressive cache (read-only access)\n */\n key: \"getProgressiveCache\",\n value: function getProgressiveCache() {\n return {\n ...this.progressiveCache\n };\n }\n },\n {\n // Return copy to prevent external mutation\n /**\n * Process documents and update caches\n */\n key: \"processDocuments\",\n value: function processDocuments(docs, normalizedCache) {\n var options = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};\n var { calculateCheckpoint = true, updateNormalizedCache = true } = options;\n this.updateProgressiveCache({\n docIds: docs.map(function(doc2) {\n return doc2.name;\n }),\n nextCursor: docs.length > 0 ? docs[docs.length - 1].name : void 0,\n lastFetchedAt: /* @__PURE__ */ new Date()\n });\n if (updateNormalizedCache) {\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = docs[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var doc = _step.value;\n normalizedCache.upsert(doc);\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n }\n if (calculateCheckpoint) {\n this.checkpoint = calculateCheckpointFromDocs(docs);\n }\n }\n },\n {\n /**\n * Remove documents from progressive cache\n */\n key: \"removeDocuments\",\n value: function removeDocuments(docIds, normalizedCache) {\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = docIds[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var docId = _step.value;\n var index = this.progressiveCache.docIds.indexOf(docId);\n if (index !== -1) {\n this.progressiveCache.docIds.splice(index, 1);\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n var _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = void 0;\n try {\n for (var _iterator1 = docIds[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {\n var docId1 = _step1.value;\n normalizedCache.remove({\n doctype: this.query.doctype,\n name: docId1\n });\n }\n } catch (err) {\n _didIteratorError1 = true;\n _iteratorError1 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion1 && _iterator1.return != null) {\n _iterator1.return();\n }\n } finally {\n if (_didIteratorError1) {\n throw _iteratorError1;\n }\n }\n }\n }\n }\n ]);\n return VirtualSubscription2;\n})();\nvar VirtualPageManager = /* @__PURE__ */ (function() {\n \"use strict\";\n function VirtualPageManager2(normalizedCache, db) {\n var options = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};\n _class_call_check(this, VirtualPageManager2);\n _define_property(this, \"subscriptions\", /* @__PURE__ */ new Map());\n _define_property(this, \"pageCache\", /* @__PURE__ */ new Map());\n _define_property(this, \"cacheGeneration\", 0);\n _define_property(this, \"batchSize\", void 0);\n _define_property(this, \"islands\", /* @__PURE__ */ new Map());\n _define_property(this, \"normalizedCache\", void 0);\n _define_property(this, \"db\", void 0);\n this.normalizedCache = normalizedCache;\n this.db = db;\n this.batchSize = options.batchSize || 100;\n }\n _create_class(VirtualPageManager2, [\n {\n key: \"getOrderByField\",\n value: (\n /**\n * Helper to get the primary sort field from OrderBy\n */\n function getOrderByField(subscription) {\n var orderBy = subscription.query.orderBy;\n if (!orderBy) return void 0;\n return Array.isArray(orderBy) ? orderBy[0] : orderBy;\n }\n )\n },\n {\n /**\n * Registers a subscription with pre-fetched data, avoiding a duplicate\n * initial fetch. Used by SubscriptionManager when `progressive: true`.\n */\n key: \"registerSubscription\",\n value: function registerSubscription(subscriptionId, subscription, initialDocIds, cursor, hasMore) {\n var pageSize = subscription.query.limit || 20;\n var virtualSub = new VirtualSubscription(subscription, {\n docIds: [\n ...initialDocIds\n ],\n nextCursor: cursor !== null && cursor !== void 0 ? cursor : initialDocIds.length > 0 ? initialDocIds[initialDocIds.length - 1] : void 0,\n hasMore: hasMore !== null && hasMore !== void 0 ? hasMore : initialDocIds.length >= pageSize,\n totalCount: void 0,\n lastFetchedAt: /* @__PURE__ */ new Date()\n }, {\n currentPage: 1,\n pageSize\n });\n this.subscriptions.set(subscriptionId, virtualSub);\n if (initialDocIds.length > 0) {\n this.recordIsland(subscriptionId, {\n startPage: 1,\n endPage: Math.ceil(initialDocIds.length / pageSize) || 1,\n startIndex: 0,\n endIndex: initialDocIds.length,\n fetchedVia: \"cursor\"\n });\n }\n return virtualSub;\n }\n },\n {\n key: \"initializeSubscription\",\n value: async function initializeSubscription(subscriptionId, query) {\n var subscription = new VirtualSubscription({\n id: subscriptionId,\n query,\n docIds: []\n }, {\n docIds: [],\n nextCursor: void 0,\n hasMore: true,\n totalCount: void 0\n }, {\n currentPage: 1,\n pageSize: query.limit || 20\n });\n this.subscriptions.set(subscriptionId, subscription);\n await this.fetchInitialBatch(subscription);\n return subscription;\n }\n },\n {\n key: \"getPage\",\n value: async function getPage(subscriptionId, page) {\n var subscription = this.subscriptions.get(subscriptionId);\n if (!subscription) return [];\n var pageSize = subscription.viewWindow.pageSize;\n var start = (page - 1) * pageSize;\n var end = start + pageSize;\n var cache = subscription.getProgressiveCache();\n if (cache.docIds.length >= start) {\n await this.ensureCached(subscription, end);\n } else {\n await this.fetchPageByOffset(subscription, page);\n }\n subscription.viewWindow.currentPage = page;\n var pageDocIds = subscription.getProgressiveCache().docIds.slice(start, end);\n return this.mapIdsToDocuments(subscription.query.doctype, pageDocIds);\n }\n },\n {\n key: \"getNextBatch\",\n value: async function getNextBatch(subscriptionId, cursorDocId, limit) {\n var subscription = this.subscriptions.get(subscriptionId);\n if (!subscription) return [];\n var index = subscription.getProgressiveCache().docIds.indexOf(cursorDocId);\n if (index === -1) {\n await this.fetchFromCursor(subscription, cursorDocId);\n index = subscription.getProgressiveCache().docIds.indexOf(cursorDocId);\n if (index === -1) {\n return [];\n }\n }\n var start = index + 1;\n var end = start + limit;\n await this.ensureCached(subscription, end);\n var docIds = subscription.getProgressiveCache().docIds.slice(start, end);\n return this.mapIdsToDocuments(subscription.query.doctype, docIds);\n }\n },\n {\n /**\n * Get page information for UI\n */\n key: \"getPageInfo\",\n value: function getPageInfo(subscriptionId) {\n var subscription = this.subscriptions.get(subscriptionId);\n if (!subscription) {\n return {\n currentPage: 1,\n knownPages: 0,\n totalPages: \"unknown\",\n hasMore: false,\n itemsInCache: 0,\n pageSize: 20\n };\n }\n var knownPages = Math.ceil(subscription.getProgressiveCache().docIds.length / subscription.viewWindow.pageSize);\n return {\n currentPage: subscription.viewWindow.currentPage,\n knownPages,\n totalPages: subscription.getProgressiveCache().totalCount !== void 0 ? Math.ceil(subscription.getProgressiveCache().totalCount / subscription.viewWindow.pageSize) : \"unknown\",\n hasMore: subscription.getProgressiveCache().hasMore,\n itemsInCache: subscription.getProgressiveCache().docIds.length,\n pageSize: subscription.viewWindow.pageSize\n };\n }\n },\n {\n key: \"getTotalPages\",\n value: (\n /**\n * Get total page count (expensive - may require server call)\n */\n async function getTotalPages(subscriptionId) {\n var subscription = this.subscriptions.get(subscriptionId);\n if (!subscription) return \"unknown\";\n if (subscription.getProgressiveCache().totalCount === void 0) {\n if (!subscription.getProgressiveCache().hasMore) {\n subscription.updateProgressiveCache({\n totalCount: subscription.getProgressiveCache().docIds.length\n });\n } else {\n try {\n var count = await this.db.getCount(subscription.query.doctype, subscription.query.filters);\n subscription.updateProgressiveCache({\n totalCount: count\n });\n } catch (unused) {\n return \"unknown\";\n }\n }\n }\n return Math.ceil(subscription.getProgressiveCache().totalCount / subscription.viewWindow.pageSize);\n }\n )\n },\n {\n /**\n * Handle optimistic document placement\n */\n key: \"determineOptimisticPlacement\",\n value: function determineOptimisticPlacement(subscription, newDoc) {\n var orderByField = this.getOrderByField(subscription);\n var sortField = orderByField === null || orderByField === void 0 ? void 0 : orderByField.field;\n if (!sortField || !(sortField in newDoc)) {\n return {\n strategy: \"uncertain\"\n };\n }\n var newValue = newDoc[sortField];\n var docIds = subscription.getProgressiveCache().docIds;\n if (docIds.length === 0) {\n return {\n strategy: \"within-range\",\n position: 0\n };\n }\n var firstDoc = this.normalizedCache.get({\n doctype: subscription.query.doctype,\n name: docIds[0]\n });\n var lastDoc = this.normalizedCache.get({\n doctype: subscription.query.doctype,\n name: docIds[docIds.length - 1]\n });\n if (!firstDoc || !lastDoc) {\n return {\n strategy: \"uncertain\"\n };\n }\n var firstValue = firstDoc[sortField];\n var lastValue = lastDoc[sortField];\n var isAscending = (orderByField === null || orderByField === void 0 ? void 0 : orderByField.order) === import_types.Order.Asc;\n if (isAscending) {\n if (newValue != null && firstValue != null && newValue < firstValue) {\n return {\n strategy: \"before-range\"\n };\n }\n if (newValue != null && lastValue != null && newValue > lastValue) {\n return {\n strategy: \"after-range\"\n };\n }\n } else {\n if (newValue != null && firstValue != null && newValue > firstValue) {\n return {\n strategy: \"before-range\"\n };\n }\n if (newValue != null && lastValue != null && newValue < lastValue) {\n return {\n strategy: \"after-range\"\n };\n }\n }\n var position = this.binarySearchPosition(subscription, newDoc, sortField);\n return {\n strategy: \"within-range\",\n position\n };\n }\n },\n {\n key: \"handleRemoteCreate\",\n value: (\n /**\n * Update subscription after remote create\n */\n async function handleRemoteCreate(subscriptionId, newDoc) {\n var subscription = this.subscriptions.get(subscriptionId);\n if (!subscription) return false;\n var placement = this.determineOptimisticPlacement(subscription, newDoc);\n switch (placement.strategy) {\n case \"within-range\":\n if (placement.position !== void 0) {\n var currentDocIds = subscription.getProgressiveCache().docIds;\n var newDocIds = [\n ...currentDocIds\n ];\n newDocIds.splice(placement.position, 0, newDoc.name);\n subscription.updateProgressiveCache({\n docIds: newDocIds\n });\n return true;\n }\n break;\n case \"before-range\": {\n var currentDocIds1 = subscription.getProgressiveCache().docIds;\n var newDocIds1 = [\n newDoc.name,\n ...currentDocIds1\n ];\n if (this.shouldLimitCacheSize(subscription)) {\n newDocIds1.pop();\n }\n subscription.updateProgressiveCache({\n docIds: newDocIds1\n });\n return true;\n }\n case \"after-range\":\n if (this.isViewingLastPage(subscription)) {\n await this.fetchMorePages(subscription, 1);\n }\n return false;\n case \"uncertain\":\n subscription.needsRehydration = true;\n return false;\n }\n return false;\n }\n )\n },\n {\n key: \"handleRemoteDelete\",\n value: (\n /**\n * Update subscription after remote delete\n */\n async function handleRemoteDelete(subscriptionId, docName) {\n var subscription = this.subscriptions.get(subscriptionId);\n if (!subscription) return false;\n var currentDocIds = subscription.getProgressiveCache().docIds;\n var index = currentDocIds.indexOf(docName);\n if (index === -1) return false;\n var newDocIds = [\n ...currentDocIds\n ];\n newDocIds.splice(index, 1);\n subscription.updateProgressiveCache({\n docIds: newDocIds\n });\n subscription.pendingBackfill = true;\n return true;\n }\n )\n },\n {\n key: \"handleRemoteUpdate\",\n value: (\n /**\n * Update subscription after remote update\n */\n async function handleRemoteUpdate(subscriptionId, updatedDoc) {\n var subscription = this.subscriptions.get(subscriptionId);\n if (!subscription) return false;\n var currentIndex = subscription.getProgressiveCache().docIds.indexOf(updatedDoc.name);\n var orderByField = this.getOrderByField(subscription);\n var sortField = orderByField === null || orderByField === void 0 ? void 0 : orderByField.field;\n if (!sortField || !(sortField in updatedDoc)) {\n return currentIndex !== -1;\n }\n if (currentIndex === -1) {\n var placement = this.determineOptimisticPlacement(subscription, updatedDoc);\n if (placement.strategy === \"within-range\" && placement.position !== void 0) {\n var currentDocIds = subscription.getProgressiveCache().docIds;\n var newDocIds = [\n ...currentDocIds\n ];\n newDocIds.splice(placement.position, 0, updatedDoc.name);\n subscription.updateProgressiveCache({\n docIds: newDocIds\n });\n return true;\n }\n return false;\n }\n var oldDoc = this.normalizedCache.get({\n doctype: subscription.query.doctype,\n name: updatedDoc.name\n });\n if (oldDoc && oldDoc[sortField] !== updatedDoc[sortField]) {\n var currentDocIds1 = subscription.getProgressiveCache().docIds;\n var newDocIds1 = [\n ...currentDocIds1\n ];\n newDocIds1.splice(currentIndex, 1);\n var placement1 = this.determineOptimisticPlacement(subscription, updatedDoc);\n if (placement1.strategy === \"within-range\" && placement1.position !== void 0) {\n newDocIds1.splice(placement1.position, 0, updatedDoc.name);\n subscription.updateProgressiveCache({\n docIds: newDocIds1\n });\n } else {\n subscription.updateProgressiveCache({\n docIds: newDocIds1\n });\n subscription.pendingBackfill = true;\n }\n }\n return true;\n }\n )\n },\n {\n /**\n * Invalidate page cache (call after any change)\n */\n key: \"invalidateCache\",\n value: function invalidateCache() {\n this.cacheGeneration++;\n this.pageCache.clear();\n }\n },\n {\n /**\n * Get subscription by ID\n */\n key: \"getSubscription\",\n value: function getSubscription(subscriptionId) {\n return this.subscriptions.get(subscriptionId);\n }\n },\n {\n key: \"getPageIslands\",\n value: function getPageIslands(subscriptionId) {\n return this.islands.get(subscriptionId) || [];\n }\n },\n {\n /**\n * Check if a specific index is within a cached island\n */\n key: \"isIndexCached\",\n value: function isIndexCached(subscriptionId, index) {\n var islands = this.islands.get(subscriptionId) || [];\n return islands.some(function(island) {\n return index >= island.startIndex && index < island.endIndex;\n });\n }\n },\n {\n /**\n * Find all gaps between cached islands\n */\n key: \"findGaps\",\n value: function findGaps(subscriptionId) {\n var subscription = this.subscriptions.get(subscriptionId);\n if (!subscription) return [];\n var islands = this.islands.get(subscriptionId) || [];\n if (islands.length === 0) return [];\n var gaps = [];\n var pageSize = subscription.viewWindow.pageSize;\n var sorted = [\n ...islands\n ].sort(function(a, b) {\n return a.startIndex - b.startIndex;\n });\n if (sorted[0].startIndex > 0) {\n gaps.push({\n startIndex: 0,\n endIndex: sorted[0].startIndex,\n startPage: 1,\n endPage: Math.ceil(sorted[0].startIndex / pageSize)\n });\n }\n for (var i = 0; i < sorted.length - 1; i++) {\n var currentEnd = sorted[i].endIndex;\n var nextStart = sorted[i + 1].startIndex;\n if (nextStart > currentEnd) {\n gaps.push({\n startIndex: currentEnd,\n endIndex: nextStart,\n startPage: Math.floor(currentEnd / pageSize) + 1,\n endPage: Math.ceil(nextStart / pageSize)\n });\n }\n }\n return gaps;\n }\n },\n {\n /**\n * Get the gap that contains a specific index, if any\n */\n key: \"getGapForIndex\",\n value: function getGapForIndex(subscriptionId, index) {\n var gaps = this.findGaps(subscriptionId);\n return gaps.find(function(gap) {\n return index >= gap.startIndex && index < gap.endIndex;\n }) || null;\n }\n },\n {\n /**\n * Clear all islands for a subscription (used during full refresh)\n */\n key: \"clearIslands\",\n value: function clearIslands(subscriptionId) {\n this.islands.delete(subscriptionId);\n }\n },\n {\n /**\n * Get coverage statistics for a subscription\n */\n key: \"getIslandCoverage\",\n value: function getIslandCoverage(subscriptionId) {\n var subscription = this.subscriptions.get(subscriptionId);\n var islands = this.islands.get(subscriptionId) || [];\n if (!subscription || islands.length === 0) {\n return {\n totalCached: 0,\n islandCount: 0,\n gaps: 0,\n largestGap: 0\n };\n }\n var gaps = this.findGaps(subscriptionId);\n var totalCached = islands.reduce(function(sum, island) {\n return sum + (island.endIndex - island.startIndex);\n }, 0);\n var largestGap = gaps.length > 0 ? Math.max(...gaps.map(function(g) {\n return g.endIndex - g.startIndex;\n })) : 0;\n return {\n totalCached,\n islandCount: islands.length,\n gaps: gaps.length,\n largestGap\n };\n }\n },\n {\n /**\n * Update subscription's progressive cache\n */\n key: \"updateProgressiveCache\",\n value: function updateProgressiveCache(subscriptionId, docIds, nextCursor, hasMore) {\n var subscription = this.subscriptions.get(subscriptionId);\n if (!subscription) return;\n var updates = {};\n if (docIds !== void 0) updates.docIds = docIds;\n if (nextCursor !== void 0) updates.nextCursor = nextCursor !== null && nextCursor !== void 0 ? nextCursor : void 0;\n if (hasMore !== void 0) updates.hasMore = hasMore;\n if (Object.keys(updates).length > 0) {\n subscription.updateProgressiveCache(updates);\n }\n this.invalidateCache();\n }\n },\n {\n key: \"fetchInitialBatch\",\n value: (\n // Private helper methods\n async function fetchInitialBatch(subscription) {\n var fetchedDocs = [];\n var hasMore = true;\n var currentCursor;\n var targetSize = subscription.viewWindow.pageSize;\n while (fetchedDocs.length < targetSize && hasMore) {\n var res = await this.db.getDocList(subscription.query.doctype, {\n fields: subscription.query.fields,\n filters: subscription.query.filters,\n orderBy: subscription.query.orderBy,\n cursor: currentCursor,\n limit: this.batchSize\n });\n if (res.length === 0) {\n hasMore = false;\n break;\n }\n fetchedDocs = [\n ...fetchedDocs,\n ...res\n ];\n currentCursor = res.length > 0 ? res[res.length - 1].name : void 0;\n hasMore = res.length === this.batchSize;\n }\n subscription.processDocuments(fetchedDocs, this.normalizedCache);\n subscription.updateProgressiveCache({\n hasMore\n });\n var pagesLoaded = Math.ceil(fetchedDocs.length / subscription.viewWindow.pageSize) || 1;\n this.recordIsland(subscription.id, {\n startPage: 1,\n endPage: pagesLoaded,\n startIndex: 0,\n endIndex: fetchedDocs.length,\n fetchedVia: \"cursor\"\n });\n }\n )\n },\n {\n key: \"fetchMorePages\",\n value: async function fetchMorePages(subscription, pageCount) {\n var cache = subscription.getProgressiveCache();\n if (!cache.hasMore) return;\n var targetDocCount = subscription.viewWindow.pageSize * pageCount;\n var currentCount = cache.docIds.length;\n var neededCount = targetDocCount - currentCount;\n if (neededCount <= 0) return;\n var fetchedDocs = [];\n var hasMore = cache.hasMore;\n var currentCursor = cache.nextCursor;\n while (fetchedDocs.length < neededCount && hasMore) {\n var remainingNeeded = neededCount - fetchedDocs.length;\n var fetchSize = Math.min(this.batchSize, remainingNeeded);\n var response = await this.db.getDocList(subscription.query.doctype, {\n fields: subscription.query.fields,\n filters: subscription.query.filters,\n orderBy: subscription.query.orderBy,\n cursor: currentCursor || void 0,\n limit: fetchSize\n });\n if (response.length === 0) {\n hasMore = false;\n break;\n }\n fetchedDocs = [\n ...fetchedDocs,\n ...response\n ];\n currentCursor = response.length > 0 ? response[response.length - 1].name : void 0;\n hasMore = response.length === fetchSize && fetchedDocs.length < neededCount;\n }\n var newDocIds = fetchedDocs.map(function(doc2) {\n return doc2.name;\n });\n var currentDocIds = subscription.getProgressiveCache().docIds;\n var updatedDocIds = [\n ...currentDocIds,\n ...newDocIds\n ];\n subscription.updateProgressiveCache({\n docIds: updatedDocIds,\n nextCursor: fetchedDocs.length > 0 ? fetchedDocs[fetchedDocs.length - 1].name : void 0,\n hasMore,\n lastFetchedAt: /* @__PURE__ */ new Date()\n });\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = fetchedDocs[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var doc = _step.value;\n this.normalizedCache.upsert(doc);\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n var startIndex = currentCount;\n var endIndex = startIndex + fetchedDocs.length;\n var pageSize = subscription.viewWindow.pageSize;\n var startPage = Math.floor(startIndex / pageSize) + 1;\n var endPage = Math.ceil(endIndex / pageSize);\n this.recordIsland(subscription.id, {\n startPage,\n endPage,\n startIndex,\n endIndex,\n fetchedVia: \"cursor\"\n });\n }\n },\n {\n key: \"fetchPageByOffset\",\n value: async function fetchPageByOffset(subscription, page) {\n var pageSize = subscription.viewWindow.pageSize;\n var limitStart = (page - 1) * pageSize;\n var response = await this.db.getDocList(subscription.query.doctype, {\n fields: subscription.query.fields,\n filters: subscription.query.filters,\n orderBy: subscription.query.orderBy,\n limitStart,\n limit: pageSize\n });\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = response[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var doc = _step.value;\n if (!doc.doctype) doc.doctype = subscription.query.doctype;\n this.normalizedCache.upsert(doc);\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n var currentDocIds = [\n ...subscription.getProgressiveCache().docIds\n ];\n while (currentDocIds.length < limitStart) {\n currentDocIds.push(\"\");\n }\n for (var i = 0; i < response.length; i++) {\n currentDocIds[limitStart + i] = response[i].name;\n }\n subscription.updateProgressiveCache({\n docIds: currentDocIds,\n nextCursor: response.length > 0 ? response[response.length - 1].name : void 0,\n hasMore: response.length === pageSize,\n lastFetchedAt: /* @__PURE__ */ new Date()\n });\n this.recordIsland(subscription.id, {\n startPage: page,\n endPage: page,\n startIndex: limitStart,\n endIndex: limitStart + response.length,\n fetchedVia: \"offset\"\n });\n }\n },\n {\n key: \"fetchFromCursor\",\n value: async function fetchFromCursor(subscription, cursorDocId) {\n var response = await this.db.getDocList(subscription.query.doctype, {\n fields: subscription.query.fields,\n filters: subscription.query.filters,\n orderBy: subscription.query.orderBy,\n cursor: cursorDocId,\n limit: this.batchSize\n });\n if (response.length === 0) return;\n var existingIds = new Set(subscription.getProgressiveCache().docIds);\n var newDocs = response.filter(function(doc2) {\n return !existingIds.has(doc2.name);\n });\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = newDocs[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var doc = _step.value;\n if (!doc.doctype) doc.doctype = subscription.query.doctype;\n this.normalizedCache.upsert(doc);\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n var newDocIds = newDocs.map(function(doc2) {\n return doc2.name;\n });\n var updatedDocIds = [\n ...subscription.getProgressiveCache().docIds,\n ...newDocIds\n ];\n subscription.updateProgressiveCache({\n docIds: updatedDocIds,\n nextCursor: response.length > 0 ? response[response.length - 1].name : void 0,\n hasMore: response.length === this.batchSize,\n lastFetchedAt: /* @__PURE__ */ new Date()\n });\n }\n },\n {\n key: \"ensureCached\",\n value: async function ensureCached(subscription, requiredIndex) {\n var cache = subscription.getProgressiveCache();\n if (cache.docIds.length >= requiredIndex || !cache.hasMore) return;\n var pageSize = subscription.viewWindow.pageSize;\n var pagesNeeded = Math.ceil(requiredIndex / pageSize);\n await this.fetchMorePages(subscription, pagesNeeded);\n }\n },\n {\n key: \"recordIsland\",\n value: function recordIsland(subscriptionId, island) {\n var existing = this.islands.get(subscriptionId) || [];\n existing.push(island);\n existing.sort(function(a, b) {\n return a.startIndex - b.startIndex;\n });\n var merged = [];\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = existing[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var current = _step.value;\n if (merged.length === 0) {\n merged.push({\n ...current\n });\n continue;\n }\n var last = merged[merged.length - 1];\n var indexOverlap = current.startIndex <= last.endIndex + 1;\n var pageOverlap = current.startPage <= last.endPage + 1;\n if (indexOverlap || pageOverlap) {\n last.endIndex = Math.max(last.endIndex, current.endIndex);\n last.startIndex = Math.min(last.startIndex, current.startIndex);\n last.endPage = Math.max(last.endPage, current.endPage);\n last.startPage = Math.min(last.startPage, current.startPage);\n if (current.fetchedVia === \"cursor\" && last.fetchedVia === \"offset\") {\n last.fetchedVia = \"cursor\";\n }\n } else {\n merged.push({\n ...current\n });\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n this.islands.set(subscriptionId, merged);\n }\n },\n {\n key: \"mapIdsToDocuments\",\n value: function mapIdsToDocuments(doctype, docIds) {\n var _this = this;\n return docIds.filter(function(id) {\n return id !== \"\";\n }).map(function(id) {\n return _this.normalizedCache.get({\n doctype,\n name: id\n });\n }).filter(Boolean);\n }\n },\n {\n key: \"binarySearchPosition\",\n value: function binarySearchPosition(subscription, newDoc, sortField) {\n var docIds = subscription.getProgressiveCache().docIds;\n var orderByField = this.getOrderByField(subscription);\n var isAscending = (orderByField === null || orderByField === void 0 ? void 0 : orderByField.order) === import_types.Order.Asc;\n var left = 0;\n var right = docIds.length - 1;\n while (left <= right) {\n var mid = Math.floor((left + right) / 2);\n var midDoc = this.normalizedCache.get({\n doctype: subscription.query.doctype,\n name: docIds[mid]\n });\n if (!midDoc) {\n left = mid + 1;\n continue;\n }\n var midValue = midDoc[sortField];\n var newValue = newDoc[sortField];\n var comparison = this.compareValues(midValue, newValue, isAscending);\n if (comparison < 0) {\n left = mid + 1;\n } else {\n right = mid - 1;\n }\n }\n return left;\n }\n },\n {\n key: \"compareValues\",\n value: function compareValues(a, b, ascending) {\n if (a === b) return 0;\n if (a == null) return ascending ? -1 : 1;\n if (b == null) return ascending ? 1 : -1;\n var result = a < b ? -1 : 1;\n return ascending ? result : -result;\n }\n },\n {\n key: \"shouldLimitCacheSize\",\n value: function shouldLimitCacheSize(subscription) {\n var maxItems = Math.max(1e3, subscription.viewWindow.pageSize * 50);\n return subscription.getProgressiveCache().docIds.length > maxItems;\n }\n },\n {\n key: \"isViewingLastPage\",\n value: function isViewingLastPage(subscription) {\n var totalCached = subscription.getProgressiveCache().docIds.length;\n var pageSize = subscription.viewWindow.pageSize;\n var lastPage = Math.ceil(totalCached / pageSize);\n return subscription.viewWindow.currentPage >= lastPage;\n }\n }\n ]);\n return VirtualPageManager2;\n})();\n//# sourceMappingURL=virtualPageManager.js.map\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["__defProp","Object","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__hasOwnProp","prototype","hasOwnProperty","__export","target","all","name","get","enumerable","__copyProps","to","from","except","desc","key","call","__toCommonJS","mod","value","useLiveQuery_exports","useLiveQuery","module","exports","import_react_db","require","import_meta","SSR_LIVE_QUERY_RESULT","freeze","state","data","collection","status","isLoading","isReady","isIdle","isError","isCleanedUp","isEnabled","IS_SSR","_env","env","SSR","unused","useLiveQuery2","_len","arguments","length","args","Array","_key"],"sources":["useLiveQuery.native.js"],"sourcesContent":["\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar useLiveQuery_exports = {};\n__export(useLiveQuery_exports, {\n useLiveQuery: () => useLiveQuery\n});\nmodule.exports = __toCommonJS(useLiveQuery_exports);\nvar import_react_db = require(\"@tanstack/react-db\");\nconst import_meta = {};\nvar SSR_LIVE_QUERY_RESULT = Object.freeze({\n state: void 0,\n data: void 0,\n collection: void 0,\n status: \"loading\",\n isLoading: true,\n isReady: false,\n isIdle: false,\n isError: false,\n isCleanedUp: false,\n isEnabled: true\n});\nvar IS_SSR = (function() {\n try {\n var _env;\n return ((_env = import_meta.env) === null || _env === void 0 ? void 0 : _env.SSR) === true;\n } catch (unused) {\n return false;\n }\n})();\nvar useLiveQuery = function useLiveQuery2() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n if (IS_SSR) return SSR_LIVE_QUERY_RESULT;\n return (0, import_react_db.useLiveQuery)(...args);\n};\n//# sourceMappingURL=useLiveQuery.js.map\n"],"mappings":"AAAA,YAAY;;AACZ,IAAIA,SAAS,GAAGC,MAAM,CAACC,cAAc;AACrC,IAAIC,gBAAgB,GAAGF,MAAM,CAACG,wBAAwB;AACtD,IAAIC,iBAAiB,GAAGJ,MAAM,CAACK,mBAAmB;AAClD,IAAIC,YAAY,GAAGN,MAAM,CAACO,SAAS,CAACC,cAAc;AAClD,IAAIC,QAAQ,GAAGA,CAACC,MAAM,EAAEC,GAAG,KAAK;EAC9B,KAAK,IAAIC,IAAI,IAAID,GAAG,EAClBZ,SAAS,CAACW,MAAM,EAAEE,IAAI,EAAE;IAAEC,GAAG,EAAEF,GAAG,CAACC,IAAI,CAAC;IAAEE,UAAU,EAAE;EAAK,CAAC,CAAC;AACjE,CAAC;AACD,IAAIC,WAAW,GAAGA,CAACC,EAAE,EAAEC,IAAI,EAAEC,MAAM,EAAEC,IAAI,KAAK;EAC5C,IAAIF,IAAI,IAAI,OAAOA,IAAI,KAAK,QAAQ,IAAI,OAAOA,IAAI,KAAK,UAAU,EAAE;IAClE,KAAK,IAAIG,GAAG,IAAIhB,iBAAiB,CAACa,IAAI,CAAC,EACrC,IAAI,CAACX,YAAY,CAACe,IAAI,CAACL,EAAE,EAAEI,GAAG,CAAC,IAAIA,GAAG,KAAKF,MAAM,EAC/CnB,SAAS,CAACiB,EAAE,EAAEI,GAAG,EAAE;MAAEP,GAAG,EAAEA,CAAA,KAAMI,IAAI,CAACG,GAAG,CAAC;MAAEN,UAAU,EAAE,EAAEK,IAAI,GAAGjB,gBAAgB,CAACe,IAAI,EAAEG,GAAG,CAAC,CAAC,IAAID,IAAI,CAACL;IAAW,CAAC,CAAC;EACxH;EACA,OAAOE,EAAE;AACX,CAAC;AACD,IAAIM,YAAY,GAAIC,GAAG,IAAKR,WAAW,CAAChB,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE;EAAEyB,KAAK,EAAE;AAAK,CAAC,CAAC,EAAED,GAAG,CAAC;AAC1F,IAAIE,oBAAoB,GAAG,CAAC,CAAC;AAC7BhB,QAAQ,CAACgB,oBAAoB,EAAE;EAC7BC,YAAY,EAAEA,CAAA,KAAMA;AACtB,CAAC,CAAC;AACFC,MAAM,CAACC,OAAO,GAAGN,YAAY,CAACG,oBAAoB,CAAC;AACnD,IAAII,eAAe,GAAGC,OAAO,CAAC,oBAAoB,CAAC;AACnD,MAAMC,WAAW,GAAG,CAAC,CAAC;AACtB,IAAIC,qBAAqB,GAAGhC,MAAM,CAACiC,MAAM,CAAC;EACxCC,KAAK,EAAE,KAAK,CAAC;EACbC,IAAI,EAAE,KAAK,CAAC;EACZC,UAAU,EAAE,KAAK,CAAC;EAClBC,MAAM,EAAE,SAAS;EACjBC,SAAS,EAAE,IAAI;EACfC,OAAO,EAAE,KAAK;EACdC,MAAM,EAAE,KAAK;EACbC,OAAO,EAAE,KAAK;EACdC,WAAW,EAAE,KAAK;EAClBC,SAAS,EAAE;AACb,CAAC,CAAC;AACF,IAAIC,MAAM,GAAI,YAAW;EACvB,IAAI;IACF,IAAIC,IAAI;IACR,OAAO,CAAC,CAACA,IAAI,GAAGd,WAAW,CAACe,GAAG,MAAM,IAAI,IAAID,IAAI,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,IAAI,CAACE,GAAG,MAAM,IAAI;EAC5F,CAAC,CAAC,OAAOC,MAAM,EAAE;IACf,OAAO,KAAK;EACd;AACF,CAAC,CAAE,CAAC;AACJ,IAAItB,YAAY,GAAG,SAASuB,aAAaA,CAAA,EAAG;EAC1C,KAAK,IAAIC,IAAI,GAAGC,SAAS,CAACC,MAAM,EAAEC,IAAI,GAAG,IAAIC,KAAK,CAACJ,IAAI,CAAC,EAAEK,IAAI,GAAG,CAAC,EAAEA,IAAI,GAAGL,IAAI,EAAEK,IAAI,EAAE,EAAE;IACvFF,IAAI,CAACE,IAAI,CAAC,GAAGJ,SAAS,CAACI,IAAI,CAAC;EAC9B;EACA,IAAIX,MAAM,EAAE,OAAOZ,qBAAqB;EACxC,OAAO,CAAC,CAAC,EAAEH,eAAe,CAACH,YAAY,EAAE,GAAG2B,IAAI,CAAC;AACnD,CAAC","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["__defProp","Object","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__hasOwnProp","prototype","hasOwnProperty","__export","target","all","name","get","enumerable","__copyProps","to","from","except","desc","key","call","__toCommonJS","mod","value","util_exports","isBrowser","isGjs","module","exports","import_platform","require","_type_of","obj","Symbol","constructor","gjsImports","globalThis","imports","gi","unused","isNative","isWindowDefined"],"sources":["util.native.js"],"sourcesContent":["\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar util_exports = {};\n__export(util_exports, {\n isBrowser: () => isBrowser,\n isGjs: () => isGjs\n});\nmodule.exports = __toCommonJS(util_exports);\nvar import_platform = require(\"@multiplatform.one/platform\");\nfunction _type_of(obj) {\n \"@swc/helpers - typeof\";\n return obj && typeof Symbol !== \"undefined\" && obj.constructor === Symbol ? \"symbol\" : typeof obj;\n}\nfunction isGjs() {\n try {\n var gjsImports = globalThis.imports;\n return (typeof gjsImports === \"undefined\" ? \"undefined\" : _type_of(gjsImports)) === \"object\" && gjsImports !== null && _type_of(gjsImports.gi) === \"object\" && gjsImports.gi !== null;\n } catch (unused) {\n return false;\n }\n}\nfunction isBrowser() {\n return import_platform.isNative || import_platform.isWindowDefined || isGjs();\n}\n//# sourceMappingURL=util.js.map\n"],"mappings":"AAAA,YAAY;;AACZ,IAAIA,SAAS,GAAGC,MAAM,CAACC,cAAc;AACrC,IAAIC,gBAAgB,GAAGF,MAAM,CAACG,wBAAwB;AACtD,IAAIC,iBAAiB,GAAGJ,MAAM,CAACK,mBAAmB;AAClD,IAAIC,YAAY,GAAGN,MAAM,CAACO,SAAS,CAACC,cAAc;AAClD,IAAIC,QAAQ,GAAGA,CAACC,MAAM,EAAEC,GAAG,KAAK;EAC9B,KAAK,IAAIC,IAAI,IAAID,GAAG,EAClBZ,SAAS,CAACW,MAAM,EAAEE,IAAI,EAAE;IAAEC,GAAG,EAAEF,GAAG,CAACC,IAAI,CAAC;IAAEE,UAAU,EAAE;EAAK,CAAC,CAAC;AACjE,CAAC;AACD,IAAIC,WAAW,GAAGA,CAACC,EAAE,EAAEC,IAAI,EAAEC,MAAM,EAAEC,IAAI,KAAK;EAC5C,IAAIF,IAAI,IAAI,OAAOA,IAAI,KAAK,QAAQ,IAAI,OAAOA,IAAI,KAAK,UAAU,EAAE;IAClE,KAAK,IAAIG,GAAG,IAAIhB,iBAAiB,CAACa,IAAI,CAAC,EACrC,IAAI,CAACX,YAAY,CAACe,IAAI,CAACL,EAAE,EAAEI,GAAG,CAAC,IAAIA,GAAG,KAAKF,MAAM,EAC/CnB,SAAS,CAACiB,EAAE,EAAEI,GAAG,EAAE;MAAEP,GAAG,EAAEA,CAAA,KAAMI,IAAI,CAACG,GAAG,CAAC;MAAEN,UAAU,EAAE,EAAEK,IAAI,GAAGjB,gBAAgB,CAACe,IAAI,EAAEG,GAAG,CAAC,CAAC,IAAID,IAAI,CAACL;IAAW,CAAC,CAAC;EACxH;EACA,OAAOE,EAAE;AACX,CAAC;AACD,IAAIM,YAAY,GAAIC,GAAG,IAAKR,WAAW,CAAChB,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE;EAAEyB,KAAK,EAAE;AAAK,CAAC,CAAC,EAAED,GAAG,CAAC;AAC1F,IAAIE,YAAY,GAAG,CAAC,CAAC;AACrBhB,QAAQ,CAACgB,YAAY,EAAE;EACrBC,SAAS,EAAEA,CAAA,KAAMA,SAAS;EAC1BC,KAAK,EAAEA,CAAA,KAAMA;AACf,CAAC,CAAC;AACFC,MAAM,CAACC,OAAO,GAAGP,YAAY,CAACG,YAAY,CAAC;AAC3C,IAAIK,eAAe,GAAGC,OAAO,CAAC,6BAA6B,CAAC;AAC5D,SAASC,QAAQA,CAACC,GAAG,EAAE;EACrB,uBAAuB;;EACvB,OAAOA,GAAG,IAAI,OAAOC,MAAM,KAAK,WAAW,IAAID,GAAG,CAACE,WAAW,KAAKD,MAAM,GAAG,QAAQ,GAAG,OAAOD,GAAG;AACnG;AACA,SAASN,KAAKA,CAAA,EAAG;EACf,IAAI;IACF,IAAIS,UAAU,GAAGC,UAAU,CAACC,OAAO;IACnC,OAAO,CAAC,OAAOF,UAAU,KAAK,WAAW,GAAG,WAAW,GAAGJ,QAAQ,CAACI,UAAU,CAAC,MAAM,QAAQ,IAAIA,UAAU,KAAK,IAAI,IAAIJ,QAAQ,CAACI,UAAU,CAACG,EAAE,CAAC,KAAK,QAAQ,IAAIH,UAAU,CAACG,EAAE,KAAK,IAAI;EACvL,CAAC,CAAC,OAAOC,MAAM,EAAE;IACf,OAAO,KAAK;EACd;AACF;AACA,SAASd,SAASA,CAAA,EAAG;EACnB,OAAOI,eAAe,CAACW,QAAQ,IAAIX,eAAe,CAACY,eAAe,IAAIf,KAAK,CAAC,CAAC;AAC/E","ignoreList":[]}
|
|
@@ -1 +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"],"sources":["
|
|
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","AuthModule","AuthModule2","http","loginWithUsernamePassword","input","post","usr","username","pwd","password","getLoggedInUser","_ref","_payload","get","payload","message","logout","forgetPassword","email","user"],"sources":["auth.native.js"],"sourcesContent":["function _class_call_check(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\nfunction _create_class(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\nfunction _define_property(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nvar AuthModule = /* @__PURE__ */ (function() {\n \"use strict\";\n function AuthModule2(http) {\n _class_call_check(this, AuthModule2);\n _define_property(this, \"http\", void 0);\n this.http = http;\n }\n _create_class(AuthModule2, [\n {\n key: \"loginWithUsernamePassword\",\n value: async function loginWithUsernamePassword(input) {\n return this.http.post(\"/api/method/login\", {\n usr: input.username,\n pwd: input.password\n });\n }\n },\n {\n key: \"getLoggedInUser\",\n value: async function getLoggedInUser() {\n var _ref;\n var _payload;\n return (_ref = (_payload = (await this.http.get(\"/api/method/frappe.auth.get_logged_user\")).payload) === null || _payload === void 0 ? void 0 : _payload.message) !== null && _ref !== void 0 ? _ref : \"\";\n }\n },\n {\n key: \"logout\",\n value: async function logout() {\n return this.http.post(\"/api/method/logout\");\n }\n },\n {\n key: \"forgetPassword\",\n value: async function forgetPassword(email) {\n return this.http.post(\"/api/method/frappe.core.doctype.user.user.reset_password\", {\n user: email\n });\n }\n }\n ]);\n return AuthModule2;\n})();\nexport {\n AuthModule\n};\n//# sourceMappingURL=auth.js.map\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +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"],"sources":["
|
|
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","CallModule","CallModule2","http","get","method","params","post","body","put","_delete","delete"],"sources":["call.native.js"],"sourcesContent":["function _class_call_check(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\nfunction _create_class(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\nfunction _define_property(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nvar CallModule = /* @__PURE__ */ (function() {\n \"use strict\";\n function CallModule2(http) {\n _class_call_check(this, CallModule2);\n _define_property(this, \"http\", void 0);\n this.http = http;\n }\n _create_class(CallModule2, [\n {\n key: \"get\",\n value: function get(method, params) {\n return this.http.get(`/api/method/${method}`, params);\n }\n },\n {\n key: \"post\",\n value: function post(method, body) {\n return this.http.post(`/api/method/${method}`, body);\n }\n },\n {\n key: \"put\",\n value: function put(method, body) {\n return this.http.put(`/api/method/${method}`, body);\n }\n },\n {\n key: \"delete\",\n value: function _delete(method, body) {\n return this.http.delete(`/api/method/${method}`, body);\n }\n }\n ]);\n return CallModule2;\n})();\nexport {\n CallModule\n};\n//# sourceMappingURL=call.js.map\n"],"mappings":"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","ignoreList":[]}
|
package/dist/esm/collection.mjs
CHANGED
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
import { createCollection } from "@tanstack/db";
|
|
2
2
|
import { Operation } from "./sync/types.mjs";
|
|
3
|
+
const externalSyncReleases = /* @__PURE__ */new WeakMap();
|
|
4
|
+
function releaseFrappeCollectionSync(collection) {
|
|
5
|
+
const release = externalSyncReleases.get(collection);
|
|
6
|
+
if (!release) return false;
|
|
7
|
+
release();
|
|
8
|
+
return true;
|
|
9
|
+
}
|
|
3
10
|
function frappeCollectionOptions(doctype, config) {
|
|
4
11
|
const {
|
|
5
12
|
sync: syncModule,
|
|
@@ -20,6 +27,19 @@ function frappeCollectionOptions(doctype, config) {
|
|
|
20
27
|
let storeUnsubscribe;
|
|
21
28
|
let lastKnownNames = /* @__PURE__ */new Set();
|
|
22
29
|
let cancelled = false;
|
|
30
|
+
const releaseResources = () => {
|
|
31
|
+
cancelled = true;
|
|
32
|
+
if (storeUnsubscribe) {
|
|
33
|
+
storeUnsubscribe();
|
|
34
|
+
storeUnsubscribe = void 0;
|
|
35
|
+
}
|
|
36
|
+
if (subscriptionId) {
|
|
37
|
+
syncModule.unsubscribe(subscriptionId);
|
|
38
|
+
subscriptionId = void 0;
|
|
39
|
+
}
|
|
40
|
+
};
|
|
41
|
+
const syncedCollection = params.collection;
|
|
42
|
+
if (syncedCollection) externalSyncReleases.set(syncedCollection, releaseResources);
|
|
23
43
|
async function initSync() {
|
|
24
44
|
try {
|
|
25
45
|
const query = {
|
|
@@ -89,15 +109,10 @@ function frappeCollectionOptions(doctype, config) {
|
|
|
89
109
|
}
|
|
90
110
|
initSync();
|
|
91
111
|
return () => {
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
storeUnsubscribe();
|
|
95
|
-
storeUnsubscribe = void 0;
|
|
96
|
-
}
|
|
97
|
-
if (subscriptionId) {
|
|
98
|
-
syncModule.unsubscribe(subscriptionId);
|
|
99
|
-
subscriptionId = void 0;
|
|
112
|
+
if (syncedCollection && externalSyncReleases.get(syncedCollection) === releaseResources) {
|
|
113
|
+
externalSyncReleases.delete(syncedCollection);
|
|
100
114
|
}
|
|
115
|
+
releaseResources();
|
|
101
116
|
};
|
|
102
117
|
};
|
|
103
118
|
return {
|
|
@@ -260,5 +275,5 @@ function fixtureCollectionOptions(doctype, config) {
|
|
|
260
275
|
function createFixtureCollection(doctype, config) {
|
|
261
276
|
return createCollection(fixtureCollectionOptions(doctype, config));
|
|
262
277
|
}
|
|
263
|
-
export { createFixtureCollection, createFrappeCollection, fixtureCollectionOptions, frappeCollectionOptions };
|
|
278
|
+
export { createFixtureCollection, createFrappeCollection, fixtureCollectionOptions, frappeCollectionOptions, releaseFrappeCollectionSync };
|
|
264
279
|
//# sourceMappingURL=collection.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createCollection","Operation","frappeCollectionOptions","doctype","config","sync","syncModule","fields","filters","orderBy","limit","onSyncError","syncFn","params","begin","write","commit","markReady","subscriptionId","storeUnsubscribe","lastKnownNames","Set","cancelled","initSync","query","result","subscribe","
|
|
1
|
+
{"version":3,"names":["createCollection","Operation","externalSyncReleases","WeakMap","releaseFrappeCollectionSync","collection","release","get","frappeCollectionOptions","doctype","config","sync","syncModule","fields","filters","orderBy","limit","onSyncError","syncFn","params","begin","write","commit","markReady","subscriptionId","storeUnsubscribe","lastKnownNames","Set","cancelled","releaseResources","unsubscribe","syncedCollection","set","initSync","query","result","subscribe","initialDocs","getDocsForSubscription","length","doc","type","value","add","name","subscribeStore","currentDocs","currentNames","map","d","has","error","console","delete","id","getKey","onInsert","transaction","mutation","mutations","modified","mutate","mutationId","crypto","randomUUID","Math","random","toString","substring","operation","Create","onUpdate","changes","key","Update","onDelete","Delete","createFrappeCollection","fixtureCollectionOptions","fixtures","limitStart","orderByForFixture","Array","isArray","field","order","String","ob","docs","getList","fullDoc","createDoc","updateDoc","deleteDoc","createFixtureCollection"],"sources":["../../src/collection.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
import { createCollection } from "@tanstack/db";
|
|
2
|
-
import { Operation } from "./sync/types
|
|
2
|
+
import { Operation } from "./sync/types";
|
|
3
|
+
var externalSyncReleases = /* @__PURE__ */new WeakMap();
|
|
4
|
+
function releaseFrappeCollectionSync(collection) {
|
|
5
|
+
var release = externalSyncReleases.get(collection);
|
|
6
|
+
if (!release) return false;
|
|
7
|
+
release();
|
|
8
|
+
return true;
|
|
9
|
+
}
|
|
3
10
|
function frappeCollectionOptions(doctype, config) {
|
|
4
11
|
var _config_id;
|
|
5
12
|
var {
|
|
@@ -21,6 +28,19 @@ function frappeCollectionOptions(doctype, config) {
|
|
|
21
28
|
var storeUnsubscribe;
|
|
22
29
|
var lastKnownNames = /* @__PURE__ */new Set();
|
|
23
30
|
var cancelled = false;
|
|
31
|
+
var releaseResources = function releaseResources2() {
|
|
32
|
+
cancelled = true;
|
|
33
|
+
if (storeUnsubscribe) {
|
|
34
|
+
storeUnsubscribe();
|
|
35
|
+
storeUnsubscribe = void 0;
|
|
36
|
+
}
|
|
37
|
+
if (subscriptionId) {
|
|
38
|
+
syncModule.unsubscribe(subscriptionId);
|
|
39
|
+
subscriptionId = void 0;
|
|
40
|
+
}
|
|
41
|
+
};
|
|
42
|
+
var syncedCollection = params.collection;
|
|
43
|
+
if (syncedCollection) externalSyncReleases.set(syncedCollection, releaseResources);
|
|
24
44
|
async function initSync() {
|
|
25
45
|
try {
|
|
26
46
|
var query = {
|
|
@@ -149,15 +169,10 @@ function frappeCollectionOptions(doctype, config) {
|
|
|
149
169
|
}
|
|
150
170
|
initSync();
|
|
151
171
|
return function () {
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
storeUnsubscribe();
|
|
155
|
-
storeUnsubscribe = void 0;
|
|
156
|
-
}
|
|
157
|
-
if (subscriptionId) {
|
|
158
|
-
syncModule.unsubscribe(subscriptionId);
|
|
159
|
-
subscriptionId = void 0;
|
|
172
|
+
if (syncedCollection && externalSyncReleases.get(syncedCollection) === releaseResources) {
|
|
173
|
+
externalSyncReleases.delete(syncedCollection);
|
|
160
174
|
}
|
|
175
|
+
releaseResources();
|
|
161
176
|
};
|
|
162
177
|
};
|
|
163
178
|
return {
|
|
@@ -473,5 +488,5 @@ function fixtureCollectionOptions(doctype, config) {
|
|
|
473
488
|
function createFixtureCollection(doctype, config) {
|
|
474
489
|
return createCollection(fixtureCollectionOptions(doctype, config));
|
|
475
490
|
}
|
|
476
|
-
export { createFixtureCollection, createFrappeCollection, fixtureCollectionOptions, frappeCollectionOptions };
|
|
491
|
+
export { createFixtureCollection, createFrappeCollection, fixtureCollectionOptions, frappeCollectionOptions, releaseFrappeCollectionSync };
|
|
477
492
|
//# sourceMappingURL=collection.native.js.map
|