@multiplatform.one/frappe 6.4.3 → 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.native.js +2 -2
- package/dist/esm/core/http.native.js.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.native.js.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.native.js +1 -1
- package/dist/esm/sync/backfill.native.js.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.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.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/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/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/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/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","_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 {
|
|
@@ -1 +1 @@
|
|
|
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","collection_exports","createFixtureCollection","createFrappeCollection","fixtureCollectionOptions","frappeCollectionOptions","module","exports","import_db","require","import_types","doctype","config","_config_id","sync","syncModule","fields","filters","orderBy","limit","onSyncError","syncFn","syncFn2","params","begin","write","commit","markReady","subscriptionId","storeUnsubscribe","lastKnownNames","Set","cancelled","initSync","query","result","subscribe","
|
|
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","collection_exports","createFixtureCollection","createFrappeCollection","fixtureCollectionOptions","frappeCollectionOptions","releaseFrappeCollectionSync","module","exports","import_db","require","import_types","externalSyncReleases","WeakMap","collection","release","doctype","config","_config_id","sync","syncModule","fields","filters","orderBy","limit","onSyncError","syncFn","syncFn2","params","begin","write","commit","markReady","subscriptionId","storeUnsubscribe","lastKnownNames","Set","cancelled","releaseResources","releaseResources2","unsubscribe","syncedCollection","set","initSync","query","result","subscribe","initialDocs","getDocsForSubscription","length","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Symbol","iterator","_step","next","done","doc","type","add","err","return","subscribeStore","currentDocs","currentNames","map","d","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_iterator2","_step2","doc2","has","_iteratorNormalCompletion1","_didIteratorError1","_iteratorError1","_iterator1","_step1","error","console","delete","id","getKey","onInsert","param","transaction"],"sources":["../../src/collection.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/dist/jsx/db.mjs
CHANGED
|
@@ -89,7 +89,8 @@ class DbModule {
|
|
|
89
89
|
if (client_mutation_id) {
|
|
90
90
|
headers["Idempotency-Key"] = client_mutation_id;
|
|
91
91
|
}
|
|
92
|
-
|
|
92
|
+
const raw = (await this.http.post(`/api/method/${this.endpoints.createDoc}`, cleanDoc, headers)).payload;
|
|
93
|
+
return unwrapMethodDoc(raw);
|
|
93
94
|
}
|
|
94
95
|
async updateDoc(doc) {
|
|
95
96
|
const headers = {};
|
|
@@ -106,11 +107,12 @@ class DbModule {
|
|
|
106
107
|
if (base_modified) {
|
|
107
108
|
headers["If-Match"] = base_modified;
|
|
108
109
|
}
|
|
109
|
-
|
|
110
|
+
const raw = (await this.http.post(`/api/method/${this.endpoints.updateDoc}`, {
|
|
110
111
|
doctype,
|
|
111
112
|
name,
|
|
112
113
|
data
|
|
113
114
|
}, headers)).payload;
|
|
115
|
+
return unwrapMethodDoc(raw);
|
|
114
116
|
}
|
|
115
117
|
async deleteDoc(doc) {
|
|
116
118
|
const headers = {};
|
|
@@ -188,6 +190,15 @@ function normalizeFilters(filters) {
|
|
|
188
190
|
if (Array.isArray(filters)) return filters;
|
|
189
191
|
return Object.entries(filters).map(([k, v]) => [k, "=", v]);
|
|
190
192
|
}
|
|
193
|
+
function unwrapMethodDoc(raw) {
|
|
194
|
+
if (raw && typeof raw === "object" && !("name" in raw)) {
|
|
195
|
+
const message = raw.message;
|
|
196
|
+
if (message && typeof message === "object" && !Array.isArray(message)) {
|
|
197
|
+
return message;
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
return raw;
|
|
201
|
+
}
|
|
191
202
|
function formatOrderBy(orderBy) {
|
|
192
203
|
if (!orderBy) return void 0;
|
|
193
204
|
const orderByArray = Array.isArray(orderBy) ? orderBy : [orderBy];
|
package/dist/jsx/db.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Order","log","console","buildEndpoints","appName","customEndpoints","prefix","createDoc","updateDoc","deleteDoc","backfill","getListWithCursor","batchMutations","listSince","DbModule","endpoints","http","constructor","config","getAppName","getEndpoints","getDoc","doctype","name","res","get","encodeURIComponent","payload","data","getDocVersion","head","headers","err","error","getDocList","options","params","fields","filters","normalizeFilters","orFilters","or_filters","cursor","limitStart","limit_start","limit","limit_page_length","orderBy","orderByArray","Array","isArray","order_by","map","ob","field","order","join","groupBy","group_by","asDict","as_dict","signal","getCount","_cache","_debug","count","message","Number","isFinite","doc","client_mutation_id","base_modified","_base_modified","cleanDoc","post","renameDoc","newName","merge","old_name","new_name","args","method","raw","modified_after","modifiedAfter","wrapped","response","formatOrderBy","mutations","atomic","Object","entries","k","v","TreeDbModule","db","getChildren","parentField","getParentField","normalizeFiltersForTree","parent","push","Asc","getAncestors","docs","includeSelf","self","getDescendants","buildTree","maxDepth","buildNode","depth","children","childNodes","Promise","all","child","length","roots","root","toLowerCase","replace"],"sources":["../../src/db.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["Order","log","console","buildEndpoints","appName","customEndpoints","prefix","createDoc","updateDoc","deleteDoc","backfill","getListWithCursor","batchMutations","listSince","DbModule","endpoints","http","constructor","config","getAppName","getEndpoints","getDoc","doctype","name","res","get","encodeURIComponent","payload","data","getDocVersion","head","headers","err","error","getDocList","options","params","fields","filters","normalizeFilters","orFilters","or_filters","cursor","limitStart","limit_start","limit","limit_page_length","orderBy","orderByArray","Array","isArray","order_by","map","ob","field","order","join","groupBy","group_by","asDict","as_dict","signal","getCount","_cache","_debug","count","message","Number","isFinite","doc","client_mutation_id","base_modified","_base_modified","cleanDoc","raw","post","unwrapMethodDoc","renameDoc","newName","merge","old_name","new_name","args","method","modified_after","modifiedAfter","wrapped","response","formatOrderBy","mutations","atomic","Object","entries","k","v","TreeDbModule","db","getChildren","parentField","getParentField","normalizeFiltersForTree","parent","push","Asc","getAncestors","docs","includeSelf","self","getDescendants","buildTree","maxDepth","buildNode","depth","children","childNodes","Promise","all","child","length","roots","root","toLowerCase","replace"],"sources":["../../src/db.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|