@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":["Order","calculateCheckpointFromDocs","docs","length","maxTimestamp","maxDate","doc","modified","date","Date","Number","isNaN","getTime","PlacementStrategy","PlacementStrategy2","VirtualSubscription","progressiveCache","needsRehydration","pendingBackfill","viewWindow","id","query","checkpoint","cursor","docIds","boundaries","lockExpiry","pendingRehydration","metadata","tombstones","constructor","subscription","updateProgressiveCache","options","nextCursor","hasMore","lastFetchedAt","totalCount","getProgressiveCache","processDocuments","normalizedCache","calculateCheckpoint","updateNormalizedCache","map","name","upsert","removeDocuments","docId","index","indexOf","splice","remove","doctype","VirtualPageManager","subscriptions","Map","pageCache","cacheGeneration","batchSize","islands","db","getOrderByField","orderBy","Array","isArray","registerSubscription","subscriptionId","initialDocIds","pageSize","limit","virtualSub","currentPage","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","Asc","binarySearchPosition","handleRemoteCreate","placement","currentDocIds","newDocIds","shouldLimitCacheSize","pop","isViewingLastPage","fetchMorePages","handleRemoteDelete","docName","handleRemoteUpdate","updatedDoc","currentIndex","oldDoc","invalidateCache","clear","getSubscription","getPageIslands","isIndexCached","some","island","findGaps","gaps","sorted","sort","a","b","push","i","currentEnd","nextStart","floor","getGapForIndex","find","gap","clearIslands","delete","getIslandCoverage","totalCached","islandCount","largestGap","reduce","sum","max","g","updates","Object","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","Boolean","left","right","mid","midDoc","midValue","comparison","compareValues","ascending","result","maxItems","lastPage"],"sources":["../../../src/sync/virtualPageManager.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["Order","calculateCheckpointFromDocs","docs","length","maxTimestamp","maxDate","doc","modified","date","Date","Number","isNaN","getTime","PlacementStrategy","PlacementStrategy2","VirtualSubscription","progressiveCache","needsRehydration","pendingBackfill","viewWindow","id","query","checkpoint","cursor","docIds","boundaries","lockExpiry","pendingRehydration","metadata","tombstones","constructor","subscription","updateProgressiveCache","options","nextCursor","hasMore","lastFetchedAt","totalCount","getProgressiveCache","processDocuments","normalizedCache","calculateCheckpoint","updateNormalizedCache","map","name","upsert","removeDocuments","docId","index","indexOf","splice","remove","doctype","VirtualPageManager","subscriptions","Map","pageCache","cacheGeneration","batchSize","islands","db","getOrderByField","orderBy","Array","isArray","registerSubscription","subscriptionId","initialDocIds","pageSize","limit","virtualSub","currentPage","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","Asc","binarySearchPosition","handleRemoteCreate","placement","currentDocIds","newDocIds","shouldLimitCacheSize","pop","isViewingLastPage","fetchMorePages","handleRemoteDelete","docName","handleRemoteUpdate","updatedDoc","currentIndex","oldDoc","invalidateCache","clear","getSubscription","getPageIslands","isIndexCached","some","island","findGaps","gaps","sorted","sort","a","b","push","i","currentEnd","nextStart","floor","getGapForIndex","find","gap","clearIslands","delete","getIslandCoverage","totalCached","islandCount","largestGap","reduce","sum","max","g","updates","Object","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","Boolean","left","right","mid","midDoc","midValue","comparison","compareValues","ascending","result","maxItems","lastPage"],"sources":["../../../src/sync/virtualPageManager.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Order","_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","calculateCheckpointFromDocs","docs","maxTimestamp","maxDate","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Symbol","iterator","_step","next","done","doc","modified","date","Date","Number","isNaN","getTime","unused","err","return","PlacementStrategy","PlacementStrategy2","VirtualSubscription","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","VirtualPageManager","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","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":["Order","_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","calculateCheckpointFromDocs","docs","maxTimestamp","maxDate","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Symbol","iterator","_step","next","done","doc","modified","date","Date","Number","isNaN","getTime","unused","err","return","PlacementStrategy","PlacementStrategy2","VirtualSubscription","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","VirtualPageManager","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","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":["import { Order } from \"./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) === 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) === 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})();\nexport {\n PlacementStrategy,\n VirtualPageManager,\n VirtualSubscription\n};\n//# sourceMappingURL=virtualPageManager.js.map\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useLiveQuery","useLiveQueryBase","SSR_LIVE_QUERY_RESULT","Object","freeze","state","data","collection","status","isLoading","isReady","isIdle","isError","isCleanedUp","isEnabled","IS_SSR","_env","import","meta","env","SSR","unused","useLiveQuery2","_len","arguments","length","args","Array","_key"],"sources":["
|
|
1
|
+
{"version":3,"names":["useLiveQuery","useLiveQueryBase","SSR_LIVE_QUERY_RESULT","Object","freeze","state","data","collection","status","isLoading","isReady","isIdle","isError","isCleanedUp","isEnabled","IS_SSR","_env","import","meta","env","SSR","unused","useLiveQuery2","_len","arguments","length","args","Array","_key"],"sources":["useLiveQuery.native.js"],"sourcesContent":["import { useLiveQuery as useLiveQueryBase } from \"@tanstack/react-db\";\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 useLiveQueryBase(...args);\n};\nexport {\n useLiveQuery\n};\n//# sourceMappingURL=useLiveQuery.js.map\n"],"mappings":"AAAA,SAASA,YAAY,IAAIC,gBAAgB,QAAQ,oBAAoB;AACrE,IAAIC,qBAAqB,GAAGC,MAAM,CAACC,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,GAAGC,MAAM,CAACC,IAAI,CAACC,GAAG,MAAM,IAAI,IAAIH,IAAI,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,IAAI,CAACI,GAAG,MAAM,IAAI;EAC5F,CAAC,CAAC,OAAOC,MAAM,EAAE;IACf,OAAO,KAAK;EACd;AACF,CAAC,CAAE,CAAC;AACJ,IAAIrB,YAAY,GAAG,SAASsB,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,IAAIb,MAAM,EAAE,OAAOb,qBAAqB;EACxC,OAAOD,gBAAgB,CAAC,GAAGyB,IAAI,CAAC;AAClC,CAAC;AACD,SACE1B,YAAY","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["isNative","isWindowDefined","_type_of","obj","Symbol","constructor","isGjs","gjsImports","globalThis","imports","gi","unused"],"sources":["
|
|
1
|
+
{"version":3,"names":["isNative","isWindowDefined","_type_of","obj","Symbol","constructor","isGjs","gjsImports","globalThis","imports","gi","unused","isBrowser"],"sources":["util.native.js"],"sourcesContent":["import { isNative, isWindowDefined } from \"@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 isNative || isWindowDefined || isGjs();\n}\nexport {\n isBrowser,\n isGjs\n};\n//# sourceMappingURL=util.js.map\n"],"mappings":"AAAA,SAASA,QAAQ,EAAEC,eAAe,QAAQ,6BAA6B;AACvE,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,SAASG,KAAKA,CAAA,EAAG;EACf,IAAI;IACF,IAAIC,UAAU,GAAGC,UAAU,CAACC,OAAO;IACnC,OAAO,CAAC,OAAOF,UAAU,KAAK,WAAW,GAAG,WAAW,GAAGL,QAAQ,CAACK,UAAU,CAAC,MAAM,QAAQ,IAAIA,UAAU,KAAK,IAAI,IAAIL,QAAQ,CAACK,UAAU,CAACG,EAAE,CAAC,KAAK,QAAQ,IAAIH,UAAU,CAACG,EAAE,KAAK,IAAI;EACvL,CAAC,CAAC,OAAOC,MAAM,EAAE;IACf,OAAO,KAAK;EACd;AACF;AACA,SAASC,SAASA,CAAA,EAAG;EACnB,OAAOZ,QAAQ,IAAIC,eAAe,IAAIK,KAAK,CAAC,CAAC;AAC/C;AACA,SACEM,SAAS,EACTN,KAAK","ignoreList":[]}
|
package/dist/jsx/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":[]}
|
|
@@ -27,11 +27,19 @@ __export(collection_exports, {
|
|
|
27
27
|
createFixtureCollection: () => createFixtureCollection,
|
|
28
28
|
createFrappeCollection: () => createFrappeCollection,
|
|
29
29
|
fixtureCollectionOptions: () => fixtureCollectionOptions,
|
|
30
|
-
frappeCollectionOptions: () => frappeCollectionOptions
|
|
30
|
+
frappeCollectionOptions: () => frappeCollectionOptions,
|
|
31
|
+
releaseFrappeCollectionSync: () => releaseFrappeCollectionSync
|
|
31
32
|
});
|
|
32
33
|
module.exports = __toCommonJS(collection_exports);
|
|
33
34
|
var import_db = require("@tanstack/db");
|
|
34
35
|
var import_types = require("./sync/types.native.js");
|
|
36
|
+
var externalSyncReleases = /* @__PURE__ */new WeakMap();
|
|
37
|
+
function releaseFrappeCollectionSync(collection) {
|
|
38
|
+
var release = externalSyncReleases.get(collection);
|
|
39
|
+
if (!release) return false;
|
|
40
|
+
release();
|
|
41
|
+
return true;
|
|
42
|
+
}
|
|
35
43
|
function frappeCollectionOptions(doctype, config) {
|
|
36
44
|
var _config_id;
|
|
37
45
|
var {
|
|
@@ -53,6 +61,19 @@ function frappeCollectionOptions(doctype, config) {
|
|
|
53
61
|
var storeUnsubscribe;
|
|
54
62
|
var lastKnownNames = /* @__PURE__ */new Set();
|
|
55
63
|
var cancelled = false;
|
|
64
|
+
var releaseResources = function releaseResources2() {
|
|
65
|
+
cancelled = true;
|
|
66
|
+
if (storeUnsubscribe) {
|
|
67
|
+
storeUnsubscribe();
|
|
68
|
+
storeUnsubscribe = void 0;
|
|
69
|
+
}
|
|
70
|
+
if (subscriptionId) {
|
|
71
|
+
syncModule.unsubscribe(subscriptionId);
|
|
72
|
+
subscriptionId = void 0;
|
|
73
|
+
}
|
|
74
|
+
};
|
|
75
|
+
var syncedCollection = params.collection;
|
|
76
|
+
if (syncedCollection) externalSyncReleases.set(syncedCollection, releaseResources);
|
|
56
77
|
async function initSync() {
|
|
57
78
|
try {
|
|
58
79
|
var query = {
|
|
@@ -181,15 +202,10 @@ function frappeCollectionOptions(doctype, config) {
|
|
|
181
202
|
}
|
|
182
203
|
initSync();
|
|
183
204
|
return function () {
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
storeUnsubscribe();
|
|
187
|
-
storeUnsubscribe = void 0;
|
|
188
|
-
}
|
|
189
|
-
if (subscriptionId) {
|
|
190
|
-
syncModule.unsubscribe(subscriptionId);
|
|
191
|
-
subscriptionId = void 0;
|
|
205
|
+
if (syncedCollection && externalSyncReleases.get(syncedCollection) === releaseResources) {
|
|
206
|
+
externalSyncReleases.delete(syncedCollection);
|
|
192
207
|
}
|
|
208
|
+
releaseResources();
|
|
193
209
|
};
|
|
194
210
|
};
|
|
195
211
|
return {
|