@multiplatform.one/frappe 6.6.0 → 6.7.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.
Files changed (127) hide show
  1. package/dist/cjs/auth.native.js.map +1 -1
  2. package/dist/cjs/call.native.js.map +1 -1
  3. package/dist/cjs/collection.native.js.map +1 -1
  4. package/dist/cjs/common/types.native.js.map +1 -1
  5. package/dist/cjs/core/http.native.js.map +1 -1
  6. package/dist/cjs/core/types.native.js.map +1 -1
  7. package/dist/cjs/core/wire.native.js.map +1 -1
  8. package/dist/cjs/db.native.js.map +1 -1
  9. package/dist/cjs/devtools/FrappeDevtoolsPanel.native.js.map +1 -1
  10. package/dist/cjs/devtools/index.native.js.map +1 -1
  11. package/dist/cjs/devtools/plugin.native.js.map +1 -1
  12. package/dist/cjs/devtools/theme.native.js.map +1 -1
  13. package/dist/cjs/doctype.native.js.map +1 -1
  14. package/dist/cjs/file.native.js.map +1 -1
  15. package/dist/cjs/fixtureDb.native.js.map +1 -1
  16. package/dist/cjs/fixtures.native.js.map +1 -1
  17. package/dist/cjs/frappeApp.native.js.map +1 -1
  18. package/dist/cjs/frappeReact.native.js +1 -1
  19. package/dist/cjs/frappeReact.native.js.map +1 -1
  20. package/dist/cjs/index.cjs +1 -0
  21. package/dist/cjs/index.native.js +3 -2
  22. package/dist/cjs/index.native.js.map +1 -1
  23. package/dist/cjs/optimistic.native.js.map +1 -1
  24. package/dist/cjs/pacer.native.js.map +1 -1
  25. package/dist/cjs/plugin/index.native.js.map +1 -1
  26. package/dist/cjs/realtime.cjs +222 -11
  27. package/dist/cjs/realtime.native.js +352 -14
  28. package/dist/cjs/realtime.native.js.map +1 -1
  29. package/dist/cjs/sync/backfill.native.js.map +1 -1
  30. package/dist/cjs/sync/filters.native.js.map +1 -1
  31. package/dist/cjs/sync/index.native.js.map +1 -1
  32. package/dist/cjs/sync/merge.native.js.map +1 -1
  33. package/dist/cjs/sync/mutationEngine.native.js.map +1 -1
  34. package/dist/cjs/sync/mutationJournal.native.js.map +1 -1
  35. package/dist/cjs/sync/normalizedCache.native.js.map +1 -1
  36. package/dist/cjs/sync/persistence.native.js.map +1 -1
  37. package/dist/cjs/sync/realtime.native.js.map +1 -1
  38. package/dist/cjs/sync/rehydration.native.js.map +1 -1
  39. package/dist/cjs/sync/storage.native.js.map +1 -1
  40. package/dist/cjs/sync/subscriptionManager.native.js.map +1 -1
  41. package/dist/cjs/sync/types.native.js.map +1 -1
  42. package/dist/cjs/sync/virtualPageManager.native.js.map +1 -1
  43. package/dist/cjs/useLiveQuery.native.js.map +1 -1
  44. package/dist/cjs/util.native.js.map +1 -1
  45. package/dist/esm/auth.native.js.map +1 -1
  46. package/dist/esm/call.native.js.map +1 -1
  47. package/dist/esm/collection.native.js +1 -1
  48. package/dist/esm/collection.native.js.map +1 -1
  49. package/dist/esm/common/types.native.js.map +1 -1
  50. package/dist/esm/core/http.native.js +2 -2
  51. package/dist/esm/core/http.native.js.map +1 -1
  52. package/dist/esm/core/types.native.js.map +1 -1
  53. package/dist/esm/core/wire.native.js.map +1 -1
  54. package/dist/esm/db.native.js +1 -1
  55. package/dist/esm/db.native.js.map +1 -1
  56. package/dist/esm/devtools/FrappeDevtoolsPanel.native.js +2 -2
  57. package/dist/esm/devtools/FrappeDevtoolsPanel.native.js.map +1 -1
  58. package/dist/esm/devtools/index.native.js +2 -2
  59. package/dist/esm/devtools/index.native.js.map +1 -1
  60. package/dist/esm/devtools/plugin.native.js +1 -1
  61. package/dist/esm/devtools/plugin.native.js.map +1 -1
  62. package/dist/esm/devtools/theme.native.js.map +1 -1
  63. package/dist/esm/doctype.native.js +1 -1
  64. package/dist/esm/doctype.native.js.map +1 -1
  65. package/dist/esm/file.native.js.map +1 -1
  66. package/dist/esm/fixtureDb.native.js +1 -1
  67. package/dist/esm/fixtureDb.native.js.map +1 -1
  68. package/dist/esm/fixtures.native.js.map +1 -1
  69. package/dist/esm/frappeApp.native.js +7 -7
  70. package/dist/esm/frappeApp.native.js.map +1 -1
  71. package/dist/esm/frappeReact.native.js +7 -7
  72. package/dist/esm/frappeReact.native.js.map +1 -1
  73. package/dist/esm/index.mjs +2 -2
  74. package/dist/esm/index.mjs.map +1 -1
  75. package/dist/esm/index.native.js +22 -22
  76. package/dist/esm/index.native.js.map +1 -1
  77. package/dist/esm/optimistic.native.js.map +1 -1
  78. package/dist/esm/pacer.native.js +4 -4
  79. package/dist/esm/pacer.native.js.map +1 -1
  80. package/dist/esm/plugin/index.native.js.map +1 -1
  81. package/dist/esm/realtime.mjs +222 -11
  82. package/dist/esm/realtime.mjs.map +1 -1
  83. package/dist/esm/realtime.native.js +353 -15
  84. package/dist/esm/realtime.native.js.map +1 -1
  85. package/dist/esm/sync/backfill.native.js +1 -1
  86. package/dist/esm/sync/backfill.native.js.map +1 -1
  87. package/dist/esm/sync/filters.native.js.map +1 -1
  88. package/dist/esm/sync/index.native.js +8 -8
  89. package/dist/esm/sync/index.native.js.map +1 -1
  90. package/dist/esm/sync/merge.native.js.map +1 -1
  91. package/dist/esm/sync/mutationEngine.native.js +4 -4
  92. package/dist/esm/sync/mutationEngine.native.js.map +1 -1
  93. package/dist/esm/sync/mutationJournal.native.js +1 -1
  94. package/dist/esm/sync/mutationJournal.native.js.map +1 -1
  95. package/dist/esm/sync/normalizedCache.native.js.map +1 -1
  96. package/dist/esm/sync/persistence.native.js +2 -2
  97. package/dist/esm/sync/persistence.native.js.map +1 -1
  98. package/dist/esm/sync/realtime.native.js +1 -1
  99. package/dist/esm/sync/realtime.native.js.map +1 -1
  100. package/dist/esm/sync/rehydration.native.js +1 -1
  101. package/dist/esm/sync/rehydration.native.js.map +1 -1
  102. package/dist/esm/sync/storage.native.js.map +1 -1
  103. package/dist/esm/sync/subscriptionManager.native.js +4 -4
  104. package/dist/esm/sync/subscriptionManager.native.js.map +1 -1
  105. package/dist/esm/sync/types.native.js.map +1 -1
  106. package/dist/esm/sync/virtualPageManager.native.js +1 -1
  107. package/dist/esm/sync/virtualPageManager.native.js.map +1 -1
  108. package/dist/esm/useLiveQuery.native.js.map +1 -1
  109. package/dist/esm/util.native.js.map +1 -1
  110. package/dist/jsx/index.js +2 -2
  111. package/dist/jsx/index.js.map +1 -1
  112. package/dist/jsx/index.mjs +2 -2
  113. package/dist/jsx/index.mjs.map +1 -1
  114. package/dist/jsx/index.native.js +1 -0
  115. package/dist/jsx/index.native.js.map +1 -1
  116. package/dist/jsx/realtime.mjs +222 -11
  117. package/dist/jsx/realtime.mjs.map +1 -1
  118. package/dist/jsx/realtime.native.js +352 -14
  119. package/dist/jsx/realtime.native.js.map +1 -1
  120. package/package.json +7 -7
  121. package/src/index.ts +13 -1
  122. package/src/realtime.ts +406 -14
  123. package/src/realtimeSse.spec.ts +547 -0
  124. package/types/index.d.ts +2 -1
  125. package/types/index.d.ts.map +1 -1
  126. package/types/realtime.d.ts +166 -1
  127. package/types/realtime.d.ts.map +1 -1
@@ -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","subscriptionManager_exports","SubscriptionManager","module","exports","import_backfill","require","import_filters","import_types","import_virtualPageManager","_class_call_check","instance","Constructor","TypeError","_defineProperties","props","i","length","descriptor","configurable","writable","_create_class","protoProps","staticProps","_define_property","obj","_type_of","Symbol","constructor","_this_options_pageSize","SubscriptionManager2","db","normalizedCache","options","arguments","Map","virtualPageManager","VirtualPageManager","batchSize","backfillManager","BackfillManager","pageSize","maxPages","backfillMaxPages","subscribe","query","queryKey","JSON","stringify","existingId","queryKeyToSubId","subscriptions","has","subRefCounts","set","rows","getDocsForSubscription","checkpoint","subscriptionId","adopted","adoptRestoredSubscription","cryptoRandomId","rows1","cursor","checkpoint1","fetchInitialRows","subscription","id","docIds","map","row","tombstones","boundaries","firstItem","lastItem","offset","limitStart","limit","metadata","itemsBeforePage","itemsAfterPage","progressive","registerSubscription","_query_fields","queryFields","fields","Array","Set","singleName","extractSingleName","filters","document","getDoc","doctype","error","errorWithStatus","status","listOptions","orderBy","useCursorPagination","response","getDocList","data","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","iterator","_step","next","done","upsert","err","return","_iteratorNormalCompletion1","_didIteratorError1","_iteratorError1","_iterator1","_step1","row1","modified","restoredId","restoredByQueryKey","delete","restoredAt","refresh","refreshAdoptedSubscription","stale","ok","restoreSubscription","snapshotSub","_snapshotSub_query","activeId","previousId","isArray","Date","now","isRestoredSubscription","gcRestoredSubscriptions","_this_options_restoredSubscriptionTTL","ttl","restoredSubscriptionTTL","restoredAtMs","unsubscribe","refCount","persistKey","getSubscription","virtualSub","getProgressiveCache","filter","id2","out","push","out1","name1","document1","getPage","page","getNextBatch","cursorDocId","getPageInfo","backfill","args","scope","BackfillScope","All","values","backfillSub","Subscriptions","subscription1","Doctypes","doctypes","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_iterator2","_step2","subscription2","Docs","_iteratorNormalCompletion3","_didIteratorError3","_iteratorError3","_iterator3","docs","_step3","docTarget","_this_options_backfillMaxPages","deleted","_ref","_response_deleted","modifiedAfter","madeProgress","has_more","_this","_loop","deletedRef","deletedDoctype","remove","currentName","_this1","_loop1","match","matchesFilters","includes","firstDoc","lastDoc","_subscription_boundaries","_subscription_boundaries1","resortSubscriptionDocIds","cleanupTombstones","onBackfill","fetched","orderByArray","sort","firstId","secondId","secondDoc","orderByField","field","ascending","order","Order","Desc","firstValue","secondValue","firstIsNullish","secondIsNullish","updateSubscriptionMembership","doc","subscriptionsNeedingRehydration","isExisting","handleRemoteCreate","docId","handleRemoteDelete","handleRemoteUpdate","removeFromAllSubscriptions","affectedSubscriptions","hadDocument","getAllSubscriptions","getVirtualPageManager","insertDocumentIntoSubscription","insertIndex","findInsertionIndex","splice","left","right","mid","Math","floor","midDoc","comparison","compareDocuments","doc1","doc2","value1","value2","isAsc","isNull1","isNull2","name2","clear","_this_options_tombstoneMaxAge","_this_options_tombstoneMaxCount","maxAge","tombstoneMaxAge","maxCount","tombstoneMaxCount","subscriptionsToClean","Boolean","size","timestamp","entries","a","b","toRemove","slice","crypto","randomUUID","random","toString"],"sources":["subscriptionManager.native.js"],"sourcesContent":["\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar subscriptionManager_exports = {};\n__export(subscriptionManager_exports, {\n SubscriptionManager: () => SubscriptionManager\n});\nmodule.exports = __toCommonJS(subscriptionManager_exports);\nvar import_backfill = require(\"./backfill\");\nvar import_filters = require(\"./filters\");\nvar import_types = require(\"./types\");\nvar import_virtualPageManager = require(\"./virtualPageManager\");\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 _type_of(obj) {\n \"@swc/helpers - typeof\";\n return obj && typeof Symbol !== \"undefined\" && obj.constructor === Symbol ? \"symbol\" : typeof obj;\n}\nvar _this_options_pageSize;\nvar SubscriptionManager = /* @__PURE__ */ (function() {\n \"use strict\";\n function SubscriptionManager2(db, normalizedCache) {\n var options = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};\n _class_call_check(this, SubscriptionManager2);\n _define_property(this, \"subscriptions\", /* @__PURE__ */ new Map());\n _define_property(this, \"virtualPageManager\", void 0);\n _define_property(this, \"backfillManager\", void 0);\n _define_property(this, \"queryKeyToSubId\", /* @__PURE__ */ new Map());\n _define_property(this, \"subRefCounts\", /* @__PURE__ */ new Map());\n _define_property(this, \"restoredByQueryKey\", /* @__PURE__ */ new Map());\n _define_property(this, \"restoredAt\", /* @__PURE__ */ new Map());\n _define_property(this, \"db\", void 0);\n _define_property(this, \"normalizedCache\", void 0);\n _define_property(this, \"options\", void 0);\n this.db = db;\n this.normalizedCache = normalizedCache;\n this.options = options;\n this.virtualPageManager = new import_virtualPageManager.VirtualPageManager(this.normalizedCache, this.db, {\n batchSize: this.options.batchSize\n });\n this.backfillManager = new import_backfill.BackfillManager(this.db, this.normalizedCache, {\n pageSize: this.options.pageSize,\n maxPages: this.options.backfillMaxPages\n });\n }\n _create_class(SubscriptionManager2, [\n {\n key: \"subscribe\",\n value: async function subscribe(query) {\n var queryKey = JSON.stringify(query);\n var existingId = this.queryKeyToSubId.get(queryKey);\n if (existingId && this.subscriptions.has(existingId)) {\n this.subRefCounts.set(existingId, (this.subRefCounts.get(existingId) || 1) + 1);\n var rows = this.getDocsForSubscription(existingId);\n var checkpoint = this.subscriptions.get(existingId).checkpoint;\n return {\n subscriptionId: existingId,\n rows,\n checkpoint\n };\n }\n var adopted = this.adoptRestoredSubscription(queryKey, query);\n if (adopted) return adopted;\n var subscriptionId = cryptoRandomId();\n var { rows: rows1, cursor, checkpoint: checkpoint1 } = await this.fetchInitialRows(query);\n var subscription = {\n id: subscriptionId,\n query,\n checkpoint: checkpoint1,\n // For CDC backfill\n cursor,\n // For stable pagination\n docIds: rows1.map(function(row) {\n return row.name;\n }),\n tombstones: /* @__PURE__ */ new Map()\n };\n if (rows1.length > 0) {\n subscription.boundaries = {\n firstItem: rows1[0],\n lastItem: rows1[rows1.length - 1],\n offset: query.limitStart || 0,\n pageSize: query.limit || 20\n };\n }\n subscription.metadata = {\n itemsBeforePage: 0,\n itemsAfterPage: 0\n };\n this.subscriptions.set(subscriptionId, subscription);\n this.queryKeyToSubId.set(queryKey, subscriptionId);\n this.subRefCounts.set(subscriptionId, 1);\n if (query.progressive) {\n this.virtualPageManager.registerSubscription(subscriptionId, subscription, subscription.docIds, cursor);\n }\n return {\n subscriptionId,\n rows: rows1,\n checkpoint: checkpoint1\n };\n }\n },\n {\n key: \"fetchInitialRows\",\n value: (\n /**\n * Performs the initial subscription fetch (single doc via getDoc, lists via\n * getDocList), seeds the normalized cache, and computes the CDC checkpoint\n * as the max `modified` across returned rows. Shared by fresh subscribes\n * and adopted-subscription refreshes so both have identical semantics.\n */\n async function fetchInitialRows(query) {\n var _query_fields;\n var queryFields = ((_query_fields = query.fields) === null || _query_fields === void 0 ? void 0 : _query_fields.length) ? Array.from(/* @__PURE__ */ new Set([\n ...query.fields,\n \"modified\",\n \"name\"\n ])) : void 0;\n var rows = [];\n var cursor;\n var singleName = (0, import_filters.extractSingleName)(query.filters);\n if (singleName) {\n try {\n var document = await this.db.getDoc(query.doctype, singleName);\n rows = document ? [\n document\n ] : [];\n } catch (error) {\n var errorWithStatus = error;\n if ((errorWithStatus === null || errorWithStatus === void 0 ? void 0 : errorWithStatus.status) === 404) {\n rows = [];\n } else {\n throw error;\n }\n }\n } else {\n var listOptions = {\n fields: queryFields,\n filters: query.filters,\n orderBy: query.orderBy\n };\n if (query.limit != null) {\n listOptions.limit = query.limit;\n if (query.limitStart != null) listOptions.limitStart = query.limitStart;\n }\n if (this.options.useCursorPagination) listOptions.cursor = void 0;\n var response = await this.db.getDocList(query.doctype, listOptions);\n if ((typeof response === \"undefined\" ? \"undefined\" : _type_of(response)) === \"object\" && response !== null && \"data\" in response) {\n rows = response.data;\n cursor = response.cursor;\n } else {\n rows = response;\n }\n }\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = rows[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var row = _step.value;\n if (!row.doctype) row.doctype = query.doctype;\n this.normalizedCache.upsert(row);\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 checkpoint = void 0;\n var _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = void 0;\n try {\n for (var _iterator1 = rows[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {\n var row1 = _step1.value;\n if (!row1.modified) continue;\n if (!checkpoint || row1.modified > checkpoint) checkpoint = row1.modified;\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 return {\n rows,\n cursor,\n checkpoint\n };\n }\n )\n },\n {\n key: \"adoptRestoredSubscription\",\n value: (\n /**\n * Re-adopts a subscription restored from a persisted snapshot when an\n * identical query subscribes: the cached membership renders immediately and\n * a background refresh re-seeds from the network. Progressive queries are\n * excluded — their VirtualPageManager state is not persisted, so they take\n * the fresh-subscribe path.\n */\n function adoptRestoredSubscription(queryKey, query) {\n if (query.progressive) return void 0;\n var restoredId = this.restoredByQueryKey.get(queryKey);\n if (!restoredId) return void 0;\n var subscription = this.subscriptions.get(restoredId);\n this.restoredByQueryKey.delete(queryKey);\n this.restoredAt.delete(restoredId);\n if (!subscription) return void 0;\n this.queryKeyToSubId.set(queryKey, restoredId);\n this.subRefCounts.set(restoredId, 1);\n var refresh = this.refreshAdoptedSubscription(subscription);\n var rows = this.getDocsForSubscription(restoredId);\n return {\n subscriptionId: restoredId,\n rows,\n checkpoint: subscription.checkpoint,\n refresh\n };\n }\n )\n },\n {\n key: \"refreshAdoptedSubscription\",\n value: (\n /**\n * Network refresh for an adopted subscription with fresh-subscribe\n * semantics: an authoritative page fetch replaces membership and recomputes\n * the checkpoint (identical to what a brand-new subscribe would produce).\n * On failure (offline) the cached membership and the restored CDC\n * checkpoint are kept and the subscription is marked stale — the next\n * backfill trigger drains changes from that checkpoint. Never rejects.\n */\n async function refreshAdoptedSubscription(subscription) {\n try {\n var { rows, cursor, checkpoint } = await this.fetchInitialRows(subscription.query);\n subscription.checkpoint = checkpoint;\n subscription.cursor = cursor;\n subscription.docIds = rows.map(function(row) {\n return row.name;\n });\n if (rows.length > 0) {\n subscription.boundaries = {\n firstItem: rows[0],\n lastItem: rows[rows.length - 1],\n offset: subscription.query.limitStart || 0,\n pageSize: subscription.query.limit || 20\n };\n }\n subscription.metadata = {\n itemsBeforePage: 0,\n itemsAfterPage: 0\n };\n subscription.stale = false;\n return {\n ok: true\n };\n } catch (error) {\n subscription.stale = true;\n return {\n ok: false,\n error\n };\n }\n }\n )\n },\n {\n /**\n * Registers a subscription restored from a persisted snapshot. Restored\n * subscriptions are dormant: they hold the persisted query, CDC checkpoint,\n * and membership for cache-first re-adoption, but are skipped by backfill\n * fan-out until adopted. Duplicate snapshot entries for the same query\n * (accumulated by pre-GC versions) collapse last-wins.\n */\n key: \"restoreSubscription\",\n value: function restoreSubscription(snapshotSub) {\n var _snapshotSub_query;\n if (!(snapshotSub === null || snapshotSub === void 0 ? void 0 : snapshotSub.id) || !((_snapshotSub_query = snapshotSub.query) === null || _snapshotSub_query === void 0 ? void 0 : _snapshotSub_query.doctype)) return;\n if (this.subscriptions.has(snapshotSub.id)) return;\n var queryKey = JSON.stringify(snapshotSub.query);\n var activeId = this.queryKeyToSubId.get(queryKey);\n if (activeId && this.subscriptions.has(activeId)) return;\n var previousId = this.restoredByQueryKey.get(queryKey);\n if (previousId) {\n this.subscriptions.delete(previousId);\n this.restoredAt.delete(previousId);\n }\n var subscription = {\n id: snapshotSub.id,\n query: snapshotSub.query,\n checkpoint: snapshotSub.checkpoint,\n cursor: snapshotSub.cursor,\n docIds: Array.isArray(snapshotSub.docIds) ? snapshotSub.docIds : [],\n tombstones: /* @__PURE__ */ new Map(),\n metadata: {\n itemsBeforePage: 0,\n itemsAfterPage: 0\n }\n };\n this.subscriptions.set(subscription.id, subscription);\n this.restoredByQueryKey.set(queryKey, subscription.id);\n this.restoredAt.set(subscription.id, Date.now());\n }\n },\n {\n /** True when the subscription came from a snapshot and is not yet adopted. */\n key: \"isRestoredSubscription\",\n value: function isRestoredSubscription(subscriptionId) {\n return this.restoredAt.has(subscriptionId);\n }\n },\n {\n /**\n * Drops restored subscriptions that no query re-adopted within\n * `restoredSubscriptionTTL` (default 30 minutes). Called before every\n * persistence snapshot so expired entries also leave the snapshot.\n */\n key: \"gcRestoredSubscriptions\",\n value: function gcRestoredSubscriptions() {\n var now = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : Date.now();\n var _this_options_restoredSubscriptionTTL;\n var ttl = (_this_options_restoredSubscriptionTTL = this.options.restoredSubscriptionTTL) !== null && _this_options_restoredSubscriptionTTL !== void 0 ? _this_options_restoredSubscriptionTTL : 30 * 60 * 1e3;\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = this.restoredAt[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var [subscriptionId, restoredAtMs] = _step.value;\n if (now - restoredAtMs <= ttl) continue;\n this.restoredAt.delete(subscriptionId);\n this.subscriptions.delete(subscriptionId);\n var _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = void 0;\n try {\n for (var _iterator1 = this.restoredByQueryKey[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {\n var [key, id] = _step1.value;\n if (id === subscriptionId) {\n this.restoredByQueryKey.delete(key);\n break;\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 } 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 },\n {\n /**\n * Removes a subscription by id. Cached docs remain until evicted by\n * realtime/backfill or explicit resets. This keeps other subs fast if they\n * share the same doctypes.\n *\n * With persistence enabled (`persistKey`), the released subscription is\n * detached into the restored pool instead of deleted: its query,\n * checkpoint, and membership stay in the snapshot so a remount (or a\n * cold offline reload) can re-adopt it cache-first. Detached subscriptions\n * are excluded from backfill and GC'd after `restoredSubscriptionTTL`.\n */\n key: \"unsubscribe\",\n value: function unsubscribe(subscriptionId) {\n var refCount = (this.subRefCounts.get(subscriptionId) || 1) - 1;\n if (refCount > 0) {\n this.subRefCounts.set(subscriptionId, refCount);\n return;\n }\n this.subRefCounts.delete(subscriptionId);\n var queryKey;\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = this.queryKeyToSubId[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var [key, id] = _step.value;\n if (id === subscriptionId) {\n queryKey = key;\n this.queryKeyToSubId.delete(key);\n break;\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 subscription = this.subscriptions.get(subscriptionId);\n if (this.options.persistKey && subscription && queryKey && !subscription.query.progressive && !this.restoredByQueryKey.has(queryKey)) {\n this.restoredByQueryKey.set(queryKey, subscriptionId);\n this.restoredAt.set(subscriptionId, Date.now());\n return;\n }\n this.subscriptions.delete(subscriptionId);\n }\n },\n {\n /** Returns subscription metadata by id. */\n key: \"getSubscription\",\n value: function getSubscription(id) {\n return this.subscriptions.get(id);\n }\n },\n {\n /**\n * Returns current rows for a subscription from the cache.\n * Note: This is local-only; authoritative refresh happens via backfill/realtime.\n */\n key: \"getDocsForSubscription\",\n value: function getDocsForSubscription(id) {\n var virtualSub = this.virtualPageManager.getSubscription(id);\n if (virtualSub) {\n var docIds = virtualSub.getProgressiveCache().docIds.filter(function(id2) {\n return id2 !== \"\";\n });\n var out = [];\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 name = _step.value;\n var document = this.normalizedCache.get({\n doctype: virtualSub.query.doctype,\n name\n });\n if (document) out.push(document);\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 out;\n }\n var subscription = this.subscriptions.get(id);\n if (!subscription) return [];\n var out1 = [];\n var _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = void 0;\n try {\n for (var _iterator1 = subscription.docIds[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {\n var name1 = _step1.value;\n var document1 = this.normalizedCache.get({\n doctype: subscription.query.doctype,\n name: name1\n });\n if (document1) out1.push(document1);\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 return out1;\n }\n },\n {\n key: \"getPage\",\n value: (\n /**\n * Get a specific page of documents using virtual pagination\n */\n async function getPage(subscriptionId, page) {\n return this.virtualPageManager.getPage(subscriptionId, page);\n }\n )\n },\n {\n key: \"getNextBatch\",\n value: (\n /**\n * Get documents after a cursor (for infinite scroll)\n */\n async function getNextBatch(subscriptionId, cursorDocId, limit) {\n return this.virtualPageManager.getNextBatch(subscriptionId, cursorDocId, limit);\n }\n )\n },\n {\n /**\n * Get page information\n */\n key: \"getPageInfo\",\n value: function getPageInfo(subscriptionId) {\n return this.virtualPageManager.getPageInfo(subscriptionId);\n }\n },\n {\n key: \"backfill\",\n value: (\n /**\n * Reconciles local state by fetching changes since stored cursors.\n *\n * Scopes\n * - all: iterate all subscriptions\n * - subscriptions: selected subscription ids\n * - doctypes: all subscriptions matching any of these doctypes\n * - docs: refetch specific documents (authority refresh)\n */\n async function backfill(args) {\n if (args.scope === import_types.BackfillScope.All) {\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = this.subscriptions.values()[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var subscription = _step.value;\n if (this.restoredAt.has(subscription.id)) continue;\n await this.backfillSub(subscription, args.pageSize);\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;\n }\n if (args.scope === import_types.BackfillScope.Subscriptions) {\n var _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = void 0;\n try {\n for (var _iterator1 = (args.subscriptions || [])[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {\n var subscriptionId = _step1.value;\n var subscription1 = this.subscriptions.get(subscriptionId);\n if (subscription1) await this.backfillSub(subscription1, args.pageSize);\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 return;\n }\n if (args.scope === import_types.BackfillScope.Doctypes) {\n var set = new Set(args.doctypes || []);\n var _iteratorNormalCompletion2 = true, _didIteratorError2 = false, _iteratorError2 = void 0;\n try {\n for (var _iterator2 = this.subscriptions.values()[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n var subscription2 = _step2.value;\n if (this.restoredAt.has(subscription2.id)) continue;\n if (set.has(subscription2.query.doctype)) await this.backfillSub(subscription2, args.pageSize);\n }\n } catch (err) {\n _didIteratorError2 = true;\n _iteratorError2 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion2 && _iterator2.return != null) {\n _iterator2.return();\n }\n } finally {\n if (_didIteratorError2) {\n throw _iteratorError2;\n }\n }\n }\n return;\n }\n if (args.scope === import_types.BackfillScope.Docs) {\n var _iteratorNormalCompletion3 = true, _didIteratorError3 = false, _iteratorError3 = void 0;\n try {\n for (var _iterator3 = (args.docs || [])[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) {\n var docTarget = _step3.value;\n var document = await this.db.getDoc(docTarget.doctype, docTarget.name);\n this.normalizedCache.upsert(document);\n }\n } catch (err) {\n _didIteratorError3 = true;\n _iteratorError3 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion3 && _iterator3.return != null) {\n _iterator3.return();\n }\n } finally {\n if (_didIteratorError3) {\n throw _iteratorError3;\n }\n }\n }\n }\n }\n )\n },\n {\n key: \"backfillSub\",\n value: (\n /**\n * Backfills one subscription using CDC checkpoint and updates membership.\n *\n * Algorithm\n * - Query backfill using checkpoint for CDC (Change Data Capture),\n * draining follow-up pages while the server reports has_more (bounded)\n * so reconnect catch-up is complete rather than one page deep\n * - Upsert each row to cache\n * - For each row: test client-side filters; add/remove membership accordingly\n * - Track tombstones for deleted documents\n * - Advance checkpoint to response checkpoint\n * - If no filters were specified, derive membership directly from returned rows\n */\n async function backfillSub(subscription) {\n var pageSize = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : (_this_options_pageSize = this.options.pageSize) !== null && _this_options_pageSize !== void 0 ? _this_options_pageSize : 200;\n var _this_options_backfillMaxPages;\n var maxPages = (_this_options_backfillMaxPages = this.options.backfillMaxPages) !== null && _this_options_backfillMaxPages !== void 0 ? _this_options_backfillMaxPages : 20;\n var rows = [];\n var deleted = [];\n for (var page = 0; page < maxPages; page++) {\n var _ref;\n var _response_deleted;\n var response = await this.db.backfill({\n doctype: subscription.query.doctype,\n fields: subscription.query.fields,\n filters: subscription.query.filters,\n modifiedAfter: subscription.checkpoint,\n // CDC checkpoint\n limit: pageSize\n });\n if (Array.isArray(response.deleted)) {\n deleted.push(...response.deleted);\n }\n rows.push(...response.rows);\n if (response.checkpoint) subscription.checkpoint = response.checkpoint;\n var madeProgress = response.rows.length > 0 || ((_ref = (_response_deleted = response.deleted) === null || _response_deleted === void 0 ? void 0 : _response_deleted.length) !== null && _ref !== void 0 ? _ref : 0) > 0;\n if (!response.has_more || !response.checkpoint || !madeProgress) break;\n }\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n var _this, _loop = function() {\n var deletedRef = _step.value;\n if (!(deletedRef === null || deletedRef === void 0 ? void 0 : deletedRef.name)) return \"continue\";\n var deletedDoctype = deletedRef.doctype || subscription.query.doctype;\n if (deletedDoctype === subscription.query.doctype && subscription.tombstones) {\n subscription.tombstones.set(deletedRef.name, Date.now());\n }\n _this.normalizedCache.remove({\n doctype: deletedDoctype,\n name: deletedRef.name\n });\n if (deletedDoctype === subscription.query.doctype) subscription.docIds = subscription.docIds.filter(function(currentName) {\n return currentName !== deletedRef.name;\n });\n };\n for (var _iterator = deleted[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) _this = this, _loop();\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 var _this1, _loop1 = function() {\n var row = _step1.value;\n if (!row.doctype) row.doctype = subscription.query.doctype;\n _this1.normalizedCache.upsert(row);\n var name = row.name;\n if (!name) return \"continue\";\n var match = (0, import_filters.matchesFilters)(row, subscription.query.filters);\n if (match && !subscription.docIds.includes(name)) subscription.docIds.push(name);\n if (!match) subscription.docIds = subscription.docIds.filter(function(currentName) {\n return currentName !== name;\n });\n };\n for (var _iterator1 = rows[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) _this1 = this, _loop1();\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 if (rows.length && !subscription.query.filters) subscription.docIds = rows.map(function(row) {\n return row.name;\n });\n if (subscription.docIds.length > 0) {\n var firstDoc = this.normalizedCache.get({\n doctype: subscription.query.doctype,\n name: subscription.docIds[0]\n });\n var lastDoc = this.normalizedCache.get({\n doctype: subscription.query.doctype,\n name: subscription.docIds[subscription.docIds.length - 1]\n });\n if (firstDoc && lastDoc) {\n var _subscription_boundaries, _subscription_boundaries1;\n subscription.boundaries = {\n firstItem: firstDoc,\n lastItem: lastDoc,\n offset: ((_subscription_boundaries = subscription.boundaries) === null || _subscription_boundaries === void 0 ? void 0 : _subscription_boundaries.offset) || 0,\n pageSize: ((_subscription_boundaries1 = subscription.boundaries) === null || _subscription_boundaries1 === void 0 ? void 0 : _subscription_boundaries1.pageSize) || subscription.query.limit || 20\n };\n }\n }\n this.resortSubscriptionDocIds(subscription);\n this.cleanupTombstones(subscription.id);\n subscription.stale = false;\n if (this.options.onBackfill) this.options.onBackfill({\n doctype: subscription.query.doctype,\n fetched: rows.length,\n checkpoint: subscription.checkpoint\n });\n }\n )\n },\n {\n key: \"resortSubscriptionDocIds\",\n value: function resortSubscriptionDocIds(subscription) {\n var _this = this;\n var { orderBy, doctype } = subscription.query;\n if (!orderBy) return;\n var orderByArray = Array.isArray(orderBy) ? orderBy : [\n orderBy\n ];\n subscription.docIds.sort(function(firstId, secondId) {\n var firstDoc = _this.normalizedCache.get({\n doctype,\n name: firstId\n });\n var secondDoc = _this.normalizedCache.get({\n doctype,\n name: secondId\n });\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = orderByArray[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var orderByField = _step.value;\n var field = orderByField.field;\n var ascending = orderByField.order !== import_types.Order.Desc;\n var firstValue = firstDoc === null || firstDoc === void 0 ? void 0 : firstDoc[field];\n var secondValue = secondDoc === null || secondDoc === void 0 ? void 0 : secondDoc[field];\n var firstIsNullish = firstValue === null || firstValue === void 0;\n var secondIsNullish = secondValue === null || secondValue === void 0;\n if (firstIsNullish && !secondIsNullish) return ascending ? -1 : 1;\n if (secondIsNullish && !firstIsNullish) return ascending ? 1 : -1;\n if (firstIsNullish && secondIsNullish) continue;\n if (firstIsNullish || secondIsNullish) continue;\n if (firstValue < secondValue) return ascending ? -1 : 1;\n if (firstValue > secondValue) return ascending ? 1 : -1;\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 firstId < secondId ? -1 : firstId > secondId ? 1 : 0;\n });\n }\n },\n {\n key: \"updateSubscriptionMembership\",\n value: function updateSubscriptionMembership(doc) {\n var subscriptionsNeedingRehydration = [];\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = this.subscriptions.values()[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var subscription = _step.value;\n if (this.restoredAt.has(subscription.id)) continue;\n if (subscription.query.doctype !== doc.doctype) continue;\n var match = (0, import_filters.matchesFilters)(doc, subscription.query.filters);\n var isExisting = subscription.docIds.includes(doc.name);\n if (match && !isExisting) {\n subscriptionsNeedingRehydration.push(subscription);\n this.virtualPageManager.handleRemoteCreate(subscription.id, doc);\n } else if (isExisting) {\n if (!match) {\n subscription.docIds = subscription.docIds.filter(function(docId) {\n return docId !== doc.name;\n });\n this.virtualPageManager.handleRemoteDelete(subscription.id, doc.name);\n } else {\n this.virtualPageManager.handleRemoteUpdate(subscription.id, doc);\n }\n this.resortSubscriptionDocIds(subscription);\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 subscriptionsNeedingRehydration;\n }\n },\n {\n /**\n * Removes a document from all subscription memberships.\n * Returns subscriptions that had the document removed (for potential backfill).\n */\n key: \"removeFromAllSubscriptions\",\n value: function removeFromAllSubscriptions(doctype, name) {\n var affectedSubscriptions = [];\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = this.subscriptions.values()[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var subscription = _step.value;\n if (subscription.query.doctype !== doctype) continue;\n var hadDocument = subscription.docIds.includes(name);\n if (hadDocument) {\n subscription.docIds = subscription.docIds.filter(function(docId) {\n return docId !== name;\n });\n this.virtualPageManager.handleRemoteDelete(subscription.id, name);\n affectedSubscriptions.push(subscription);\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 affectedSubscriptions;\n }\n },\n {\n /** Gets all active subscriptions. */\n key: \"getAllSubscriptions\",\n value: function getAllSubscriptions() {\n return this.subscriptions;\n }\n },\n {\n key: \"getVirtualPageManager\",\n value: function getVirtualPageManager() {\n return this.virtualPageManager;\n }\n },\n {\n key: \"insertDocumentIntoSubscription\",\n value: function insertDocumentIntoSubscription(subscription, doc) {\n if (subscription.docIds.includes(doc.name)) return;\n if (!subscription.query.orderBy || subscription.docIds.length === 0) {\n return subscription.docIds.push(doc.name);\n }\n var insertIndex = this.findInsertionIndex(subscription, doc);\n subscription.docIds.splice(insertIndex, 0, doc.name);\n }\n },\n {\n key: \"findInsertionIndex\",\n value: function findInsertionIndex(subscription, doc) {\n var { docIds, query } = subscription;\n var orderByArray = Array.isArray(query.orderBy) ? query.orderBy : [\n query.orderBy\n ];\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: query.doctype,\n name: docIds[mid]\n });\n if (!midDoc) {\n return docIds.length;\n }\n var comparison = this.compareDocuments(doc, midDoc, orderByArray);\n if (comparison <= 0) {\n right = mid - 1;\n } else {\n left = mid + 1;\n }\n }\n return left;\n }\n },\n {\n key: \"compareDocuments\",\n value: function compareDocuments(doc1, doc2, orderByArray) {\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = orderByArray[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var { field, order } = _step.value;\n var value1 = doc1[field];\n var value2 = doc2[field];\n var isAsc = order !== import_types.Order.Desc;\n var isNull1 = value1 == null;\n var isNull2 = value2 == null;\n if (isNull1 && !isNull2) return isAsc ? -1 : 1;\n if (!isNull1 && isNull2) return isAsc ? 1 : -1;\n if (isNull1 && isNull2) continue;\n if (value1 < value2) return isAsc ? -1 : 1;\n if (value1 > value2) return isAsc ? 1 : -1;\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 name1 = doc1.name || \"\";\n var name2 = doc2.name || \"\";\n return name1 < name2 ? -1 : name1 > name2 ? 1 : 0;\n }\n },\n {\n key: \"clear\",\n value: function clear() {\n this.subscriptions.clear();\n this.queryKeyToSubId.clear();\n this.subRefCounts.clear();\n this.restoredByQueryKey.clear();\n this.restoredAt.clear();\n }\n },\n {\n /**\n * Cleans up expired tombstones based on age and count limits.\n * Should be called periodically or after backfill operations.\n */\n key: \"cleanupTombstones\",\n value: function cleanupTombstones(subscriptionId) {\n var _this_options_tombstoneMaxAge, _this_options_tombstoneMaxCount;\n var maxAge = (_this_options_tombstoneMaxAge = this.options.tombstoneMaxAge) !== null && _this_options_tombstoneMaxAge !== void 0 ? _this_options_tombstoneMaxAge : 30 * 60 * 1e3;\n var maxCount = (_this_options_tombstoneMaxCount = this.options.tombstoneMaxCount) !== null && _this_options_tombstoneMaxCount !== void 0 ? _this_options_tombstoneMaxCount : 1e3;\n var now = Date.now();\n var subscriptionsToClean = subscriptionId ? [\n this.subscriptions.get(subscriptionId)\n ].filter(Boolean) : [\n ...this.subscriptions.values()\n ];\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = subscriptionsToClean[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var subscription = _step.value;\n if (!(subscription === null || subscription === void 0 ? void 0 : subscription.tombstones) || subscription.tombstones.size === 0) continue;\n var _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = void 0;\n try {\n for (var _iterator1 = subscription.tombstones[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {\n var [name, timestamp] = _step1.value;\n if (now - timestamp > maxAge) {\n subscription.tombstones.delete(name);\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 if (subscription.tombstones.size > maxCount) {\n var entries = [\n ...subscription.tombstones.entries()\n ];\n entries.sort(function(a, b) {\n return a[1] - b[1];\n });\n var toRemove = entries.slice(0, subscription.tombstones.size - maxCount);\n var _iteratorNormalCompletion2 = true, _didIteratorError2 = false, _iteratorError2 = void 0;\n try {\n for (var _iterator2 = toRemove[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n var [name1] = _step2.value;\n subscription.tombstones.delete(name1);\n }\n } catch (err) {\n _didIteratorError2 = true;\n _iteratorError2 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion2 && _iterator2.return != null) {\n _iterator2.return();\n }\n } finally {\n if (_didIteratorError2) {\n throw _iteratorError2;\n }\n }\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 }\n }\n ]);\n return SubscriptionManager2;\n})();\nfunction cryptoRandomId() {\n if (typeof crypto !== \"undefined\" && \"randomUUID\" in crypto) {\n return crypto.randomUUID();\n }\n return Math.random().toString(36).slice(2);\n}\n//# sourceMappingURL=subscriptionManager.js.map\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","subscriptionManager_exports","__export","SubscriptionManager","module","exports","import_backfill","require","import_filters","import_types","import_virtualPageManager","_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","_type_of","Symbol","constructor","_this_options_pageSize","SubscriptionManager2","db","normalizedCache","options","arguments","Map","virtualPageManager","VirtualPageManager","batchSize","backfillManager","BackfillManager","pageSize","maxPages","backfillMaxPages","subscribe","query","queryKey","JSON","stringify","existingId","queryKeyToSubId","get","subscriptions","has","subRefCounts","set","rows","getDocsForSubscription","checkpoint","subscriptionId","adopted","adoptRestoredSubscription","cryptoRandomId","rows1","cursor","checkpoint1","fetchInitialRows","subscription","id","docIds","map","row","name","tombstones","boundaries","firstItem","lastItem","offset","limitStart","limit","metadata","itemsBeforePage","itemsAfterPage","progressive","registerSubscription","_query_fields","queryFields","fields","Array","from","Set","singleName","extractSingleName","filters","document","getDoc","doctype","error","errorWithStatus","status","listOptions","orderBy","useCursorPagination","response","getDocList","data","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","iterator","_step","next","done","upsert","err","return","_iteratorNormalCompletion1","_didIteratorError1","_iteratorError1","_iterator1","_step1","row1","modified","restoredId","restoredByQueryKey","delete","restoredAt","refresh","refreshAdoptedSubscription","stale","ok","restoreSubscription","snapshotSub","_snapshotSub_query","activeId","previousId","isArray","Date","now","isRestoredSubscription","gcRestoredSubscriptions","_this_options_restoredSubscriptionTTL","ttl","restoredSubscriptionTTL","restoredAtMs","unsubscribe","refCount","persistKey","getSubscription","virtualSub","getProgressiveCache","filter","id2","out","push","out1","name1","document1","getPage","page","getNextBatch","cursorDocId","getPageInfo","backfill","args","scope","BackfillScope","All","values","backfillSub","Subscriptions","subscription1"],"sources":["../../../src/sync/subscriptionManager.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -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","types_exports","BackfillScope","MutationBatchStatus","Operation","Order","PendingRehydrationType","PlacementType","RealtimeEventType","RehydrationReason","RehydrationStrategyType","Status","module","exports","Order2","PlacementType2","PendingRehydrationType2","Operation2","Status2","BackfillScope2","RealtimeEventType2","RehydrationStrategyType2","RehydrationReason2","MutationBatchStatus2"],"sources":["types.native.js"],"sourcesContent":["\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar types_exports = {};\n__export(types_exports, {\n BackfillScope: () => BackfillScope,\n MutationBatchStatus: () => MutationBatchStatus,\n Operation: () => Operation,\n Order: () => Order,\n PendingRehydrationType: () => PendingRehydrationType,\n PlacementType: () => PlacementType,\n RealtimeEventType: () => RealtimeEventType,\n RehydrationReason: () => RehydrationReason,\n RehydrationStrategyType: () => RehydrationStrategyType,\n Status: () => Status\n});\nmodule.exports = __toCommonJS(types_exports);\nvar Order = /* @__PURE__ */ (function(Order2) {\n Order2[\"Asc\"] = \"asc\";\n Order2[\"Desc\"] = \"desc\";\n return Order2;\n})({});\nvar PlacementType = /* @__PURE__ */ (function(PlacementType2) {\n PlacementType2[\"Before\"] = \"before\";\n PlacementType2[\"Within\"] = \"within\";\n PlacementType2[\"After\"] = \"after\";\n PlacementType2[\"Unknown\"] = \"unknown\";\n return PlacementType2;\n})({});\nvar PendingRehydrationType = /* @__PURE__ */ (function(PendingRehydrationType2) {\n PendingRehydrationType2[\"ItemOnly\"] = \"item-only\";\n PendingRehydrationType2[\"FullRefresh\"] = \"full-refresh\";\n return PendingRehydrationType2;\n})({});\nvar Operation = /* @__PURE__ */ (function(Operation2) {\n Operation2[\"Create\"] = \"create\";\n Operation2[\"Update\"] = \"update\";\n Operation2[\"Delete\"] = \"delete\";\n return Operation2;\n})({});\nvar Status = /* @__PURE__ */ (function(Status2) {\n Status2[\"Pending\"] = \"pending\";\n Status2[\"Confirmed\"] = \"confirmed\";\n Status2[\"Failed\"] = \"failed\";\n return Status2;\n})({});\nvar BackfillScope = /* @__PURE__ */ (function(BackfillScope2) {\n BackfillScope2[\"All\"] = \"all\";\n BackfillScope2[\"Doctypes\"] = \"doctypes\";\n BackfillScope2[\"Subscriptions\"] = \"subscriptions\";\n BackfillScope2[\"Docs\"] = \"docs\";\n return BackfillScope2;\n})({});\nvar RealtimeEventType = /* @__PURE__ */ (function(RealtimeEventType2) {\n RealtimeEventType2[\"DocUpdate\"] = \"doc_update\";\n RealtimeEventType2[\"ListUpdate\"] = \"list_update\";\n RealtimeEventType2[\"DocChanged\"] = \"doc_changed\";\n RealtimeEventType2[\"DocDeleted\"] = \"doc_deleted\";\n RealtimeEventType2[\"Connected\"] = \"connected\";\n RealtimeEventType2[\"PermEpochBump\"] = \"perm_epoch_bump\";\n return RealtimeEventType2;\n})({});\nvar RehydrationStrategyType = /* @__PURE__ */ (function(RehydrationStrategyType2) {\n RehydrationStrategyType2[\"FetchItemOnly\"] = \"fetch-item-only\";\n RehydrationStrategyType2[\"FullRefresh\"] = \"full-refresh\";\n return RehydrationStrategyType2;\n})({});\nvar RehydrationReason = /* @__PURE__ */ (function(RehydrationReason2) {\n RehydrationReason2[\"Create\"] = \"create\";\n RehydrationReason2[\"Delete\"] = \"delete\";\n RehydrationReason2[\"Overflow\"] = \"overflow\";\n RehydrationReason2[\"RemoteCreate\"] = \"remote-create\";\n RehydrationReason2[\"Uncertain\"] = \"uncertain\";\n return RehydrationReason2;\n})({});\nvar MutationBatchStatus = /* @__PURE__ */ (function(MutationBatchStatus2) {\n MutationBatchStatus2[\"Pending\"] = \"pending\";\n MutationBatchStatus2[\"Processing\"] = \"processing\";\n MutationBatchStatus2[\"Completed\"] = \"completed\";\n MutationBatchStatus2[\"Failed\"] = \"failed\";\n return MutationBatchStatus2;\n})({});\n//# sourceMappingURL=types.js.map\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","types_exports","__export","BackfillScope","MutationBatchStatus","Operation","Order","PendingRehydrationType","PlacementType","RealtimeEventType","RehydrationReason","RehydrationStrategyType","Status","module","exports","Order2","PlacementType2","PendingRehydrationType2","Operation2","Status2","BackfillScope2","RealtimeEventType2","RehydrationStrategyType2","RehydrationReason2","MutationBatchStatus2"],"sources":["../../../src/sync/types.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,aAAA;AAAAC,QAAA,CAAAD,aAAA;EAAAE,aAAA,EAAAA,CAAA,KAAAA,aAAA;EAAAC,mBAAA,EAAAA,CAAA,KAAAA,mBAAA;EAAAC,SAAA,EAAAA,CAAA,KAAAA,SAAA;EAAAC,KAAA,EAAAA,CAAA,KAAAA,KAAA;EAAAC,sBAAA,EAAAA,CAAA,KAAAA,sBAAA;EAAAC,aAAA,EAAAA,CAAA,KAAAA,aAAA;EAAAC,iBAAA,EAAAA,CAAA,KAAAA,iBAAA;EAAAC,iBAAA,EAAAA,CAAA,KAAAA,iBAAA;EAAAC,uBAAA,EAAAA,CAAA,KAAAA,uBAAA;EAAAC,MAAA,EAAAA,CAAA,KAAAA;AAAA;AAGOC,MAAK,CAAAC,OAAL,GAAAlB,YAAA,CAAKK,aAAL;AACL,IAAAK,KAAA,kBAAM,UAAAS,MAAA;EACNT,MAAA,eAAO;EAFGS,MAAA;EAAA,OAAAA,MAAA;AA8BL,GAAK;AACV,IAAAP,aAAA,kBAAS,UAAAQ,cAAA;EACTR,cAAA,aAAS;EACTA,cAAA,aAAQ;EACRA,cAAA,mBAAU;EAJAQ,cAAA;EAAA,OAAAA,cAAA;AAiBL,GAAK;AACV,IAAAT,sBAAA,kBAAW,UAAAU,uBAAA;EACXV,uBAAA,0BAAc;EAFJU,uBAAA;EAAA,OAAAA,uBAAA;AAmCL,GAAK;AACV,IAAAZ,SAAA,kBAAS,UAAAa,UAAA;EACTb,UAAA,aAAS;EACTA,UAAA,aAAS;EAHCa,UAAA;EAAA,OAAAA,UAAA;AAML,GAAK;AACV,IAAAN,MAAA,kBAAU,UAAAO,OAAA;EACVP,OAAA,uBAAY;EACZA,OAAA,aAAS;EAHCO,OAAA;EAAA,OAAAA,OAAA;AAiDL,GAAK;AACV,IAAAhB,aAAA,kBAAM,UAAAiB,cAAA;EACNjB,cAAA,eAAW;EACXA,cAAA,yBAAgB;EAChBA,cAAA,gBAAO;EAJGiB,cAAA;EAAA,OAAAA,cAAA;AAgBL,GAAK;AAEV,IAAAX,iBAAA,kBAAY,UAAAY,kBAAA;EAEZZ,kBAAA,4BAAa;EAEbA,kBAAA,iBAAa;EAEbA,kBAAA,iBAAa;EACbA,kBAAA,iBAAY;EACZA,kBAAA,2BAAgB;EAVNY,kBAAA;EAAA,OAAAA,kBAAA;AA+GL,GAAK;AACV,IAAAV,uBAAA,kBAAgB,UAAAW,wBAAA;EAChBX,wBAAA,oBAAc;EAFJW,wBAAA;EAAA,OAAAA,wBAAA;AAoBL,GAAK;AACV,IAAAZ,iBAAA,kBAAS,UAAAa,kBAAA;EACTb,kBAAA,aAAS;EACTA,kBAAA,qBAAW;EACXA,kBAAA,yBAAe;EACfA,kBAAA,gBAAY;EALFa,kBAAA;EAAA,OAAAA,kBAAA;AAuBL,GAAK;AACV,IAAAnB,mBAAA,kBAAU,UAAAoB,oBAAA;EACVpB,oBAAA,uBAAa;EACbA,oBAAA,iBAAY;EACZA,oBAAA,aAAS;EAJCoB,oBAAA;EAAA,OAAAA,oBAAA","ignoreList":[]}
@@ -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","virtualPageManager_exports","PlacementStrategy","VirtualPageManager","VirtualSubscription","module","exports","import_types","require","_class_call_check","instance","Constructor","TypeError","_defineProperties","props","i","length","descriptor","configurable","writable","_create_class","protoProps","staticProps","_define_property","obj","calculateCheckpointFromDocs","docs","maxTimestamp","maxDate","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Symbol","iterator","_step","next","done","doc","modified","date","Date","Number","isNaN","getTime","unused","err","return","PlacementStrategy2","VirtualSubscription2","subscription","progressiveCache","viewWindow","id","query","checkpoint","cursor","docIds","boundaries","lockExpiry","pendingRehydration","metadata","tombstones","updateProgressiveCache","options","nextCursor","hasMore","lastFetchedAt","totalCount","getProgressiveCache","processDocuments","normalizedCache","arguments","calculateCheckpoint","updateNormalizedCache","map","doc2","upsert","removeDocuments","docId","index","indexOf","splice","_iteratorNormalCompletion1","_didIteratorError1","_iteratorError1","_iterator1","_step1","docId1","remove","doctype","VirtualPageManager2","db","Map","batchSize","getOrderByField","orderBy","Array","isArray","registerSubscription","subscriptionId","initialDocIds","pageSize","limit","virtualSub","currentPage","subscriptions","set","recordIsland","startPage","endPage","Math","ceil","startIndex","endIndex","fetchedVia","initializeSubscription","fetchInitialBatch","getPage","page","start","end","cache","ensureCached","fetchPageByOffset","pageDocIds","slice","mapIdsToDocuments","getNextBatch","cursorDocId","fetchFromCursor","getPageInfo","knownPages","totalPages","itemsInCache","getTotalPages","count","getCount","filters","determineOptimisticPlacement","newDoc","orderByField","sortField","field","strategy","newValue","position","firstDoc","lastDoc","firstValue","lastValue","isAscending","order","Order","Asc","binarySearchPosition","handleRemoteCreate","placement","currentDocIds","newDocIds","currentDocIds1","newDocIds1","shouldLimitCacheSize","pop","isViewingLastPage","fetchMorePages","needsRehydration","handleRemoteDelete","docName","pendingBackfill","handleRemoteUpdate","updatedDoc","currentIndex","oldDoc","placement1","invalidateCache","cacheGeneration","pageCache","clear","getSubscription","getPageIslands","islands","isIndexCached","some","island","findGaps","gaps","sorted","sort","a","b","push","currentEnd","nextStart","floor","getGapForIndex","find","gap","clearIslands","delete","getIslandCoverage","totalCached","islandCount","largestGap","reduce","sum","max","g","updates","keys","fetchedDocs","currentCursor","targetSize","res","getDocList","fields","pagesLoaded","pageCount","targetDocCount","currentCount","neededCount","remainingNeeded","fetchSize","min","response","updatedDocIds","limitStart","existingIds","Set","newDocs","filter","has","requiredIndex","pagesNeeded","existing","merged","current","last","indexOverlap","pageOverlap","_this","Boolean","left","right","mid","midDoc","midValue","comparison","compareValues","ascending","result","maxItems","lastPage"],"sources":["virtualPageManager.native.js"],"sourcesContent":["\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar virtualPageManager_exports = {};\n__export(virtualPageManager_exports, {\n PlacementStrategy: () => PlacementStrategy,\n VirtualPageManager: () => VirtualPageManager,\n VirtualSubscription: () => VirtualSubscription\n});\nmodule.exports = __toCommonJS(virtualPageManager_exports);\nvar import_types = require(\"./types\");\nfunction _class_call_check(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\nfunction _create_class(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\nfunction _define_property(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nfunction calculateCheckpointFromDocs(docs) {\n if (docs.length === 0) return void 0;\n var maxTimestamp = \"\";\n var maxDate = null;\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = docs[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var doc = _step.value;\n var modified = doc.modified;\n if (!modified) continue;\n try {\n var date = new Date(modified);\n if (Number.isNaN(date.getTime())) continue;\n if (!maxDate || date > maxDate) {\n maxDate = date;\n maxTimestamp = modified;\n }\n } catch (unused) {\n if (!maxTimestamp || modified > maxTimestamp) {\n maxTimestamp = modified;\n }\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n return maxTimestamp || void 0;\n}\nvar PlacementStrategy = /* @__PURE__ */ (function(PlacementStrategy2) {\n PlacementStrategy2[\"AfterRange\"] = \"after-range\";\n PlacementStrategy2[\"BeforeRange\"] = \"before-range\";\n PlacementStrategy2[\"Uncertain\"] = \"uncertain\";\n PlacementStrategy2[\"WithinRange\"] = \"within-range\";\n return PlacementStrategy2;\n})({});\nvar VirtualSubscription = /* @__PURE__ */ (function() {\n \"use strict\";\n function VirtualSubscription2(subscription, progressiveCache, viewWindow) {\n _class_call_check(this, VirtualSubscription2);\n _define_property(this, \"progressiveCache\", void 0);\n _define_property(this, \"needsRehydration\", void 0);\n _define_property(this, \"pendingBackfill\", void 0);\n _define_property(this, \"viewWindow\", void 0);\n _define_property(this, \"id\", void 0);\n _define_property(this, \"query\", void 0);\n _define_property(this, \"checkpoint\", void 0);\n _define_property(this, \"cursor\", void 0);\n _define_property(this, \"docIds\", void 0);\n _define_property(this, \"boundaries\", void 0);\n _define_property(this, \"lockExpiry\", void 0);\n _define_property(this, \"pendingRehydration\", void 0);\n _define_property(this, \"metadata\", void 0);\n _define_property(this, \"tombstones\", void 0);\n this.id = subscription.id;\n this.query = subscription.query;\n this.checkpoint = subscription.checkpoint;\n this.cursor = subscription.cursor;\n this.docIds = subscription.docIds;\n this.boundaries = subscription.boundaries;\n this.lockExpiry = subscription.lockExpiry;\n this.pendingRehydration = subscription.pendingRehydration;\n this.metadata = subscription.metadata;\n this.tombstones = subscription.tombstones;\n this.progressiveCache = progressiveCache;\n this.viewWindow = viewWindow;\n }\n _create_class(VirtualSubscription2, [\n {\n /**\n * Update progressive cache with new data\n */\n key: \"updateProgressiveCache\",\n value: function updateProgressiveCache(options) {\n if (options.docIds) {\n this.progressiveCache.docIds = options.docIds;\n }\n if (options.nextCursor !== void 0) {\n this.progressiveCache.nextCursor = options.nextCursor;\n }\n if (options.hasMore !== void 0) {\n this.progressiveCache.hasMore = options.hasMore;\n }\n if (options.lastFetchedAt) {\n this.progressiveCache.lastFetchedAt = options.lastFetchedAt;\n }\n if (typeof options.totalCount === \"number\") {\n this.progressiveCache.totalCount = options.totalCount;\n }\n }\n },\n {\n /**\n * Get the progressive cache (read-only access)\n */\n key: \"getProgressiveCache\",\n value: function getProgressiveCache() {\n return {\n ...this.progressiveCache\n };\n }\n },\n {\n // Return copy to prevent external mutation\n /**\n * Process documents and update caches\n */\n key: \"processDocuments\",\n value: function processDocuments(docs, normalizedCache) {\n var options = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};\n var { calculateCheckpoint = true, updateNormalizedCache = true } = options;\n this.updateProgressiveCache({\n docIds: docs.map(function(doc2) {\n return doc2.name;\n }),\n nextCursor: docs.length > 0 ? docs[docs.length - 1].name : void 0,\n lastFetchedAt: /* @__PURE__ */ new Date()\n });\n if (updateNormalizedCache) {\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = docs[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var doc = _step.value;\n normalizedCache.upsert(doc);\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n }\n if (calculateCheckpoint) {\n this.checkpoint = calculateCheckpointFromDocs(docs);\n }\n }\n },\n {\n /**\n * Remove documents from progressive cache\n */\n key: \"removeDocuments\",\n value: function removeDocuments(docIds, normalizedCache) {\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = docIds[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var docId = _step.value;\n var index = this.progressiveCache.docIds.indexOf(docId);\n if (index !== -1) {\n this.progressiveCache.docIds.splice(index, 1);\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n var _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = void 0;\n try {\n for (var _iterator1 = docIds[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {\n var docId1 = _step1.value;\n normalizedCache.remove({\n doctype: this.query.doctype,\n name: docId1\n });\n }\n } catch (err) {\n _didIteratorError1 = true;\n _iteratorError1 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion1 && _iterator1.return != null) {\n _iterator1.return();\n }\n } finally {\n if (_didIteratorError1) {\n throw _iteratorError1;\n }\n }\n }\n }\n }\n ]);\n return VirtualSubscription2;\n})();\nvar VirtualPageManager = /* @__PURE__ */ (function() {\n \"use strict\";\n function VirtualPageManager2(normalizedCache, db) {\n var options = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};\n _class_call_check(this, VirtualPageManager2);\n _define_property(this, \"subscriptions\", /* @__PURE__ */ new Map());\n _define_property(this, \"pageCache\", /* @__PURE__ */ new Map());\n _define_property(this, \"cacheGeneration\", 0);\n _define_property(this, \"batchSize\", void 0);\n _define_property(this, \"islands\", /* @__PURE__ */ new Map());\n _define_property(this, \"normalizedCache\", void 0);\n _define_property(this, \"db\", void 0);\n this.normalizedCache = normalizedCache;\n this.db = db;\n this.batchSize = options.batchSize || 100;\n }\n _create_class(VirtualPageManager2, [\n {\n key: \"getOrderByField\",\n value: (\n /**\n * Helper to get the primary sort field from OrderBy\n */\n function getOrderByField(subscription) {\n var orderBy = subscription.query.orderBy;\n if (!orderBy) return void 0;\n return Array.isArray(orderBy) ? orderBy[0] : orderBy;\n }\n )\n },\n {\n /**\n * Registers a subscription with pre-fetched data, avoiding a duplicate\n * initial fetch. Used by SubscriptionManager when `progressive: true`.\n */\n key: \"registerSubscription\",\n value: function registerSubscription(subscriptionId, subscription, initialDocIds, cursor, hasMore) {\n var pageSize = subscription.query.limit || 20;\n var virtualSub = new VirtualSubscription(subscription, {\n docIds: [\n ...initialDocIds\n ],\n nextCursor: cursor !== null && cursor !== void 0 ? cursor : initialDocIds.length > 0 ? initialDocIds[initialDocIds.length - 1] : void 0,\n hasMore: hasMore !== null && hasMore !== void 0 ? hasMore : initialDocIds.length >= pageSize,\n totalCount: void 0,\n lastFetchedAt: /* @__PURE__ */ new Date()\n }, {\n currentPage: 1,\n pageSize\n });\n this.subscriptions.set(subscriptionId, virtualSub);\n if (initialDocIds.length > 0) {\n this.recordIsland(subscriptionId, {\n startPage: 1,\n endPage: Math.ceil(initialDocIds.length / pageSize) || 1,\n startIndex: 0,\n endIndex: initialDocIds.length,\n fetchedVia: \"cursor\"\n });\n }\n return virtualSub;\n }\n },\n {\n key: \"initializeSubscription\",\n value: async function initializeSubscription(subscriptionId, query) {\n var subscription = new VirtualSubscription({\n id: subscriptionId,\n query,\n docIds: []\n }, {\n docIds: [],\n nextCursor: void 0,\n hasMore: true,\n totalCount: void 0\n }, {\n currentPage: 1,\n pageSize: query.limit || 20\n });\n this.subscriptions.set(subscriptionId, subscription);\n await this.fetchInitialBatch(subscription);\n return subscription;\n }\n },\n {\n key: \"getPage\",\n value: async function getPage(subscriptionId, page) {\n var subscription = this.subscriptions.get(subscriptionId);\n if (!subscription) return [];\n var pageSize = subscription.viewWindow.pageSize;\n var start = (page - 1) * pageSize;\n var end = start + pageSize;\n var cache = subscription.getProgressiveCache();\n if (cache.docIds.length >= start) {\n await this.ensureCached(subscription, end);\n } else {\n await this.fetchPageByOffset(subscription, page);\n }\n subscription.viewWindow.currentPage = page;\n var pageDocIds = subscription.getProgressiveCache().docIds.slice(start, end);\n return this.mapIdsToDocuments(subscription.query.doctype, pageDocIds);\n }\n },\n {\n key: \"getNextBatch\",\n value: async function getNextBatch(subscriptionId, cursorDocId, limit) {\n var subscription = this.subscriptions.get(subscriptionId);\n if (!subscription) return [];\n var index = subscription.getProgressiveCache().docIds.indexOf(cursorDocId);\n if (index === -1) {\n await this.fetchFromCursor(subscription, cursorDocId);\n index = subscription.getProgressiveCache().docIds.indexOf(cursorDocId);\n if (index === -1) {\n return [];\n }\n }\n var start = index + 1;\n var end = start + limit;\n await this.ensureCached(subscription, end);\n var docIds = subscription.getProgressiveCache().docIds.slice(start, end);\n return this.mapIdsToDocuments(subscription.query.doctype, docIds);\n }\n },\n {\n /**\n * Get page information for UI\n */\n key: \"getPageInfo\",\n value: function getPageInfo(subscriptionId) {\n var subscription = this.subscriptions.get(subscriptionId);\n if (!subscription) {\n return {\n currentPage: 1,\n knownPages: 0,\n totalPages: \"unknown\",\n hasMore: false,\n itemsInCache: 0,\n pageSize: 20\n };\n }\n var knownPages = Math.ceil(subscription.getProgressiveCache().docIds.length / subscription.viewWindow.pageSize);\n return {\n currentPage: subscription.viewWindow.currentPage,\n knownPages,\n totalPages: subscription.getProgressiveCache().totalCount !== void 0 ? Math.ceil(subscription.getProgressiveCache().totalCount / subscription.viewWindow.pageSize) : \"unknown\",\n hasMore: subscription.getProgressiveCache().hasMore,\n itemsInCache: subscription.getProgressiveCache().docIds.length,\n pageSize: subscription.viewWindow.pageSize\n };\n }\n },\n {\n key: \"getTotalPages\",\n value: (\n /**\n * Get total page count (expensive - may require server call)\n */\n async function getTotalPages(subscriptionId) {\n var subscription = this.subscriptions.get(subscriptionId);\n if (!subscription) return \"unknown\";\n if (subscription.getProgressiveCache().totalCount === void 0) {\n if (!subscription.getProgressiveCache().hasMore) {\n subscription.updateProgressiveCache({\n totalCount: subscription.getProgressiveCache().docIds.length\n });\n } else {\n try {\n var count = await this.db.getCount(subscription.query.doctype, subscription.query.filters);\n subscription.updateProgressiveCache({\n totalCount: count\n });\n } catch (unused) {\n return \"unknown\";\n }\n }\n }\n return Math.ceil(subscription.getProgressiveCache().totalCount / subscription.viewWindow.pageSize);\n }\n )\n },\n {\n /**\n * Handle optimistic document placement\n */\n key: \"determineOptimisticPlacement\",\n value: function determineOptimisticPlacement(subscription, newDoc) {\n var orderByField = this.getOrderByField(subscription);\n var sortField = orderByField === null || orderByField === void 0 ? void 0 : orderByField.field;\n if (!sortField || !(sortField in newDoc)) {\n return {\n strategy: \"uncertain\"\n };\n }\n var newValue = newDoc[sortField];\n var docIds = subscription.getProgressiveCache().docIds;\n if (docIds.length === 0) {\n return {\n strategy: \"within-range\",\n position: 0\n };\n }\n var firstDoc = this.normalizedCache.get({\n doctype: subscription.query.doctype,\n name: docIds[0]\n });\n var lastDoc = this.normalizedCache.get({\n doctype: subscription.query.doctype,\n name: docIds[docIds.length - 1]\n });\n if (!firstDoc || !lastDoc) {\n return {\n strategy: \"uncertain\"\n };\n }\n var firstValue = firstDoc[sortField];\n var lastValue = lastDoc[sortField];\n var isAscending = (orderByField === null || orderByField === void 0 ? void 0 : orderByField.order) === import_types.Order.Asc;\n if (isAscending) {\n if (newValue != null && firstValue != null && newValue < firstValue) {\n return {\n strategy: \"before-range\"\n };\n }\n if (newValue != null && lastValue != null && newValue > lastValue) {\n return {\n strategy: \"after-range\"\n };\n }\n } else {\n if (newValue != null && firstValue != null && newValue > firstValue) {\n return {\n strategy: \"before-range\"\n };\n }\n if (newValue != null && lastValue != null && newValue < lastValue) {\n return {\n strategy: \"after-range\"\n };\n }\n }\n var position = this.binarySearchPosition(subscription, newDoc, sortField);\n return {\n strategy: \"within-range\",\n position\n };\n }\n },\n {\n key: \"handleRemoteCreate\",\n value: (\n /**\n * Update subscription after remote create\n */\n async function handleRemoteCreate(subscriptionId, newDoc) {\n var subscription = this.subscriptions.get(subscriptionId);\n if (!subscription) return false;\n var placement = this.determineOptimisticPlacement(subscription, newDoc);\n switch (placement.strategy) {\n case \"within-range\":\n if (placement.position !== void 0) {\n var currentDocIds = subscription.getProgressiveCache().docIds;\n var newDocIds = [\n ...currentDocIds\n ];\n newDocIds.splice(placement.position, 0, newDoc.name);\n subscription.updateProgressiveCache({\n docIds: newDocIds\n });\n return true;\n }\n break;\n case \"before-range\": {\n var currentDocIds1 = subscription.getProgressiveCache().docIds;\n var newDocIds1 = [\n newDoc.name,\n ...currentDocIds1\n ];\n if (this.shouldLimitCacheSize(subscription)) {\n newDocIds1.pop();\n }\n subscription.updateProgressiveCache({\n docIds: newDocIds1\n });\n return true;\n }\n case \"after-range\":\n if (this.isViewingLastPage(subscription)) {\n await this.fetchMorePages(subscription, 1);\n }\n return false;\n case \"uncertain\":\n subscription.needsRehydration = true;\n return false;\n }\n return false;\n }\n )\n },\n {\n key: \"handleRemoteDelete\",\n value: (\n /**\n * Update subscription after remote delete\n */\n async function handleRemoteDelete(subscriptionId, docName) {\n var subscription = this.subscriptions.get(subscriptionId);\n if (!subscription) return false;\n var currentDocIds = subscription.getProgressiveCache().docIds;\n var index = currentDocIds.indexOf(docName);\n if (index === -1) return false;\n var newDocIds = [\n ...currentDocIds\n ];\n newDocIds.splice(index, 1);\n subscription.updateProgressiveCache({\n docIds: newDocIds\n });\n subscription.pendingBackfill = true;\n return true;\n }\n )\n },\n {\n key: \"handleRemoteUpdate\",\n value: (\n /**\n * Update subscription after remote update\n */\n async function handleRemoteUpdate(subscriptionId, updatedDoc) {\n var subscription = this.subscriptions.get(subscriptionId);\n if (!subscription) return false;\n var currentIndex = subscription.getProgressiveCache().docIds.indexOf(updatedDoc.name);\n var orderByField = this.getOrderByField(subscription);\n var sortField = orderByField === null || orderByField === void 0 ? void 0 : orderByField.field;\n if (!sortField || !(sortField in updatedDoc)) {\n return currentIndex !== -1;\n }\n if (currentIndex === -1) {\n var placement = this.determineOptimisticPlacement(subscription, updatedDoc);\n if (placement.strategy === \"within-range\" && placement.position !== void 0) {\n var currentDocIds = subscription.getProgressiveCache().docIds;\n var newDocIds = [\n ...currentDocIds\n ];\n newDocIds.splice(placement.position, 0, updatedDoc.name);\n subscription.updateProgressiveCache({\n docIds: newDocIds\n });\n return true;\n }\n return false;\n }\n var oldDoc = this.normalizedCache.get({\n doctype: subscription.query.doctype,\n name: updatedDoc.name\n });\n if (oldDoc && oldDoc[sortField] !== updatedDoc[sortField]) {\n var currentDocIds1 = subscription.getProgressiveCache().docIds;\n var newDocIds1 = [\n ...currentDocIds1\n ];\n newDocIds1.splice(currentIndex, 1);\n var placement1 = this.determineOptimisticPlacement(subscription, updatedDoc);\n if (placement1.strategy === \"within-range\" && placement1.position !== void 0) {\n newDocIds1.splice(placement1.position, 0, updatedDoc.name);\n subscription.updateProgressiveCache({\n docIds: newDocIds1\n });\n } else {\n subscription.updateProgressiveCache({\n docIds: newDocIds1\n });\n subscription.pendingBackfill = true;\n }\n }\n return true;\n }\n )\n },\n {\n /**\n * Invalidate page cache (call after any change)\n */\n key: \"invalidateCache\",\n value: function invalidateCache() {\n this.cacheGeneration++;\n this.pageCache.clear();\n }\n },\n {\n /**\n * Get subscription by ID\n */\n key: \"getSubscription\",\n value: function getSubscription(subscriptionId) {\n return this.subscriptions.get(subscriptionId);\n }\n },\n {\n key: \"getPageIslands\",\n value: function getPageIslands(subscriptionId) {\n return this.islands.get(subscriptionId) || [];\n }\n },\n {\n /**\n * Check if a specific index is within a cached island\n */\n key: \"isIndexCached\",\n value: function isIndexCached(subscriptionId, index) {\n var islands = this.islands.get(subscriptionId) || [];\n return islands.some(function(island) {\n return index >= island.startIndex && index < island.endIndex;\n });\n }\n },\n {\n /**\n * Find all gaps between cached islands\n */\n key: \"findGaps\",\n value: function findGaps(subscriptionId) {\n var subscription = this.subscriptions.get(subscriptionId);\n if (!subscription) return [];\n var islands = this.islands.get(subscriptionId) || [];\n if (islands.length === 0) return [];\n var gaps = [];\n var pageSize = subscription.viewWindow.pageSize;\n var sorted = [\n ...islands\n ].sort(function(a, b) {\n return a.startIndex - b.startIndex;\n });\n if (sorted[0].startIndex > 0) {\n gaps.push({\n startIndex: 0,\n endIndex: sorted[0].startIndex,\n startPage: 1,\n endPage: Math.ceil(sorted[0].startIndex / pageSize)\n });\n }\n for (var i = 0; i < sorted.length - 1; i++) {\n var currentEnd = sorted[i].endIndex;\n var nextStart = sorted[i + 1].startIndex;\n if (nextStart > currentEnd) {\n gaps.push({\n startIndex: currentEnd,\n endIndex: nextStart,\n startPage: Math.floor(currentEnd / pageSize) + 1,\n endPage: Math.ceil(nextStart / pageSize)\n });\n }\n }\n return gaps;\n }\n },\n {\n /**\n * Get the gap that contains a specific index, if any\n */\n key: \"getGapForIndex\",\n value: function getGapForIndex(subscriptionId, index) {\n var gaps = this.findGaps(subscriptionId);\n return gaps.find(function(gap) {\n return index >= gap.startIndex && index < gap.endIndex;\n }) || null;\n }\n },\n {\n /**\n * Clear all islands for a subscription (used during full refresh)\n */\n key: \"clearIslands\",\n value: function clearIslands(subscriptionId) {\n this.islands.delete(subscriptionId);\n }\n },\n {\n /**\n * Get coverage statistics for a subscription\n */\n key: \"getIslandCoverage\",\n value: function getIslandCoverage(subscriptionId) {\n var subscription = this.subscriptions.get(subscriptionId);\n var islands = this.islands.get(subscriptionId) || [];\n if (!subscription || islands.length === 0) {\n return {\n totalCached: 0,\n islandCount: 0,\n gaps: 0,\n largestGap: 0\n };\n }\n var gaps = this.findGaps(subscriptionId);\n var totalCached = islands.reduce(function(sum, island) {\n return sum + (island.endIndex - island.startIndex);\n }, 0);\n var largestGap = gaps.length > 0 ? Math.max(...gaps.map(function(g) {\n return g.endIndex - g.startIndex;\n })) : 0;\n return {\n totalCached,\n islandCount: islands.length,\n gaps: gaps.length,\n largestGap\n };\n }\n },\n {\n /**\n * Update subscription's progressive cache\n */\n key: \"updateProgressiveCache\",\n value: function updateProgressiveCache(subscriptionId, docIds, nextCursor, hasMore) {\n var subscription = this.subscriptions.get(subscriptionId);\n if (!subscription) return;\n var updates = {};\n if (docIds !== void 0) updates.docIds = docIds;\n if (nextCursor !== void 0) updates.nextCursor = nextCursor !== null && nextCursor !== void 0 ? nextCursor : void 0;\n if (hasMore !== void 0) updates.hasMore = hasMore;\n if (Object.keys(updates).length > 0) {\n subscription.updateProgressiveCache(updates);\n }\n this.invalidateCache();\n }\n },\n {\n key: \"fetchInitialBatch\",\n value: (\n // Private helper methods\n async function fetchInitialBatch(subscription) {\n var fetchedDocs = [];\n var hasMore = true;\n var currentCursor;\n var targetSize = subscription.viewWindow.pageSize;\n while (fetchedDocs.length < targetSize && hasMore) {\n var res = await this.db.getDocList(subscription.query.doctype, {\n fields: subscription.query.fields,\n filters: subscription.query.filters,\n orderBy: subscription.query.orderBy,\n cursor: currentCursor,\n limit: this.batchSize\n });\n if (res.length === 0) {\n hasMore = false;\n break;\n }\n fetchedDocs = [\n ...fetchedDocs,\n ...res\n ];\n currentCursor = res.length > 0 ? res[res.length - 1].name : void 0;\n hasMore = res.length === this.batchSize;\n }\n subscription.processDocuments(fetchedDocs, this.normalizedCache);\n subscription.updateProgressiveCache({\n hasMore\n });\n var pagesLoaded = Math.ceil(fetchedDocs.length / subscription.viewWindow.pageSize) || 1;\n this.recordIsland(subscription.id, {\n startPage: 1,\n endPage: pagesLoaded,\n startIndex: 0,\n endIndex: fetchedDocs.length,\n fetchedVia: \"cursor\"\n });\n }\n )\n },\n {\n key: \"fetchMorePages\",\n value: async function fetchMorePages(subscription, pageCount) {\n var cache = subscription.getProgressiveCache();\n if (!cache.hasMore) return;\n var targetDocCount = subscription.viewWindow.pageSize * pageCount;\n var currentCount = cache.docIds.length;\n var neededCount = targetDocCount - currentCount;\n if (neededCount <= 0) return;\n var fetchedDocs = [];\n var hasMore = cache.hasMore;\n var currentCursor = cache.nextCursor;\n while (fetchedDocs.length < neededCount && hasMore) {\n var remainingNeeded = neededCount - fetchedDocs.length;\n var fetchSize = Math.min(this.batchSize, remainingNeeded);\n var response = await this.db.getDocList(subscription.query.doctype, {\n fields: subscription.query.fields,\n filters: subscription.query.filters,\n orderBy: subscription.query.orderBy,\n cursor: currentCursor || void 0,\n limit: fetchSize\n });\n if (response.length === 0) {\n hasMore = false;\n break;\n }\n fetchedDocs = [\n ...fetchedDocs,\n ...response\n ];\n currentCursor = response.length > 0 ? response[response.length - 1].name : void 0;\n hasMore = response.length === fetchSize && fetchedDocs.length < neededCount;\n }\n var newDocIds = fetchedDocs.map(function(doc2) {\n return doc2.name;\n });\n var currentDocIds = subscription.getProgressiveCache().docIds;\n var updatedDocIds = [\n ...currentDocIds,\n ...newDocIds\n ];\n subscription.updateProgressiveCache({\n docIds: updatedDocIds,\n nextCursor: fetchedDocs.length > 0 ? fetchedDocs[fetchedDocs.length - 1].name : void 0,\n hasMore,\n lastFetchedAt: /* @__PURE__ */ new Date()\n });\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = fetchedDocs[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var doc = _step.value;\n this.normalizedCache.upsert(doc);\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n var startIndex = currentCount;\n var endIndex = startIndex + fetchedDocs.length;\n var pageSize = subscription.viewWindow.pageSize;\n var startPage = Math.floor(startIndex / pageSize) + 1;\n var endPage = Math.ceil(endIndex / pageSize);\n this.recordIsland(subscription.id, {\n startPage,\n endPage,\n startIndex,\n endIndex,\n fetchedVia: \"cursor\"\n });\n }\n },\n {\n key: \"fetchPageByOffset\",\n value: async function fetchPageByOffset(subscription, page) {\n var pageSize = subscription.viewWindow.pageSize;\n var limitStart = (page - 1) * pageSize;\n var response = await this.db.getDocList(subscription.query.doctype, {\n fields: subscription.query.fields,\n filters: subscription.query.filters,\n orderBy: subscription.query.orderBy,\n limitStart,\n limit: pageSize\n });\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = response[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var doc = _step.value;\n if (!doc.doctype) doc.doctype = subscription.query.doctype;\n this.normalizedCache.upsert(doc);\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n var currentDocIds = [\n ...subscription.getProgressiveCache().docIds\n ];\n while (currentDocIds.length < limitStart) {\n currentDocIds.push(\"\");\n }\n for (var i = 0; i < response.length; i++) {\n currentDocIds[limitStart + i] = response[i].name;\n }\n subscription.updateProgressiveCache({\n docIds: currentDocIds,\n nextCursor: response.length > 0 ? response[response.length - 1].name : void 0,\n hasMore: response.length === pageSize,\n lastFetchedAt: /* @__PURE__ */ new Date()\n });\n this.recordIsland(subscription.id, {\n startPage: page,\n endPage: page,\n startIndex: limitStart,\n endIndex: limitStart + response.length,\n fetchedVia: \"offset\"\n });\n }\n },\n {\n key: \"fetchFromCursor\",\n value: async function fetchFromCursor(subscription, cursorDocId) {\n var response = await this.db.getDocList(subscription.query.doctype, {\n fields: subscription.query.fields,\n filters: subscription.query.filters,\n orderBy: subscription.query.orderBy,\n cursor: cursorDocId,\n limit: this.batchSize\n });\n if (response.length === 0) return;\n var existingIds = new Set(subscription.getProgressiveCache().docIds);\n var newDocs = response.filter(function(doc2) {\n return !existingIds.has(doc2.name);\n });\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = newDocs[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var doc = _step.value;\n if (!doc.doctype) doc.doctype = subscription.query.doctype;\n this.normalizedCache.upsert(doc);\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n var newDocIds = newDocs.map(function(doc2) {\n return doc2.name;\n });\n var updatedDocIds = [\n ...subscription.getProgressiveCache().docIds,\n ...newDocIds\n ];\n subscription.updateProgressiveCache({\n docIds: updatedDocIds,\n nextCursor: response.length > 0 ? response[response.length - 1].name : void 0,\n hasMore: response.length === this.batchSize,\n lastFetchedAt: /* @__PURE__ */ new Date()\n });\n }\n },\n {\n key: \"ensureCached\",\n value: async function ensureCached(subscription, requiredIndex) {\n var cache = subscription.getProgressiveCache();\n if (cache.docIds.length >= requiredIndex || !cache.hasMore) return;\n var pageSize = subscription.viewWindow.pageSize;\n var pagesNeeded = Math.ceil(requiredIndex / pageSize);\n await this.fetchMorePages(subscription, pagesNeeded);\n }\n },\n {\n key: \"recordIsland\",\n value: function recordIsland(subscriptionId, island) {\n var existing = this.islands.get(subscriptionId) || [];\n existing.push(island);\n existing.sort(function(a, b) {\n return a.startIndex - b.startIndex;\n });\n var merged = [];\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = existing[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var current = _step.value;\n if (merged.length === 0) {\n merged.push({\n ...current\n });\n continue;\n }\n var last = merged[merged.length - 1];\n var indexOverlap = current.startIndex <= last.endIndex + 1;\n var pageOverlap = current.startPage <= last.endPage + 1;\n if (indexOverlap || pageOverlap) {\n last.endIndex = Math.max(last.endIndex, current.endIndex);\n last.startIndex = Math.min(last.startIndex, current.startIndex);\n last.endPage = Math.max(last.endPage, current.endPage);\n last.startPage = Math.min(last.startPage, current.startPage);\n if (current.fetchedVia === \"cursor\" && last.fetchedVia === \"offset\") {\n last.fetchedVia = \"cursor\";\n }\n } else {\n merged.push({\n ...current\n });\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n this.islands.set(subscriptionId, merged);\n }\n },\n {\n key: \"mapIdsToDocuments\",\n value: function mapIdsToDocuments(doctype, docIds) {\n var _this = this;\n return docIds.filter(function(id) {\n return id !== \"\";\n }).map(function(id) {\n return _this.normalizedCache.get({\n doctype,\n name: id\n });\n }).filter(Boolean);\n }\n },\n {\n key: \"binarySearchPosition\",\n value: function binarySearchPosition(subscription, newDoc, sortField) {\n var docIds = subscription.getProgressiveCache().docIds;\n var orderByField = this.getOrderByField(subscription);\n var isAscending = (orderByField === null || orderByField === void 0 ? void 0 : orderByField.order) === import_types.Order.Asc;\n var left = 0;\n var right = docIds.length - 1;\n while (left <= right) {\n var mid = Math.floor((left + right) / 2);\n var midDoc = this.normalizedCache.get({\n doctype: subscription.query.doctype,\n name: docIds[mid]\n });\n if (!midDoc) {\n left = mid + 1;\n continue;\n }\n var midValue = midDoc[sortField];\n var newValue = newDoc[sortField];\n var comparison = this.compareValues(midValue, newValue, isAscending);\n if (comparison < 0) {\n left = mid + 1;\n } else {\n right = mid - 1;\n }\n }\n return left;\n }\n },\n {\n key: \"compareValues\",\n value: function compareValues(a, b, ascending) {\n if (a === b) return 0;\n if (a == null) return ascending ? -1 : 1;\n if (b == null) return ascending ? 1 : -1;\n var result = a < b ? -1 : 1;\n return ascending ? result : -result;\n }\n },\n {\n key: \"shouldLimitCacheSize\",\n value: function shouldLimitCacheSize(subscription) {\n var maxItems = Math.max(1e3, subscription.viewWindow.pageSize * 50);\n return subscription.getProgressiveCache().docIds.length > maxItems;\n }\n },\n {\n key: \"isViewingLastPage\",\n value: function isViewingLastPage(subscription) {\n var totalCached = subscription.getProgressiveCache().docIds.length;\n var pageSize = subscription.viewWindow.pageSize;\n var lastPage = Math.ceil(totalCached / pageSize);\n return subscription.viewWindow.currentPage >= lastPage;\n }\n }\n ]);\n return VirtualPageManager2;\n})();\n//# sourceMappingURL=virtualPageManager.js.map\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","virtualPageManager_exports","__export","PlacementStrategy","VirtualPageManager","VirtualSubscription","module","exports","import_types","require","_class_call_check","instance","Constructor","TypeError","_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","key","_create_class","protoProps","staticProps","prototype","_define_property","obj","calculateCheckpointFromDocs","docs","maxTimestamp","maxDate","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Symbol","iterator","_step","next","done","doc","modified","date","Date","Number","isNaN","getTime","unused","err","return","PlacementStrategy2","VirtualSubscription2","subscription","progressiveCache","viewWindow","id","query","checkpoint","cursor","docIds","boundaries","lockExpiry","pendingRehydration","metadata","tombstones","updateProgressiveCache","options","nextCursor","hasMore","lastFetchedAt","totalCount","getProgressiveCache","processDocuments","normalizedCache","arguments","calculateCheckpoint","updateNormalizedCache","map","doc2","name","upsert","removeDocuments","docId","index","indexOf","splice","_iteratorNormalCompletion1","_didIteratorError1","_iteratorError1","_iterator1","_step1","docId1","remove","doctype","VirtualPageManager2","db","Map","batchSize","getOrderByField","orderBy","Array","isArray","registerSubscription","subscriptionId","initialDocIds","pageSize","limit","virtualSub","currentPage","subscriptions","set","recordIsland","startPage","endPage","Math","ceil","startIndex","endIndex","fetchedVia","initializeSubscription","fetchInitialBatch","getPage","page","get","start","end","cache","ensureCached","fetchPageByOffset","pageDocIds","slice","mapIdsToDocuments","getNextBatch","cursorDocId","fetchFromCursor","getPageInfo","knownPages","totalPages","itemsInCache","getTotalPages","count","getCount","filters","determineOptimisticPlacement","newDoc","orderByField","sortField","field","strategy","newValue","position","firstDoc","lastDoc","firstValue","lastValue","isAscending","order","Order","Asc","binarySearchPosition","handleRemoteCreate","placement","currentDocIds","newDocIds","currentDocIds1","newDocIds1","shouldLimitCacheSize","pop","isViewingLastPage","fetchMorePages","needsRehydration","handleRemoteDelete","docName","pendingBackfill","handleRemoteUpdate","updatedDoc","currentIndex","oldDoc","placement1","invalidateCache","cacheGeneration","pageCache","clear","getSubscription","getPageIslands","islands","isIndexCached","some","island","findGaps","gaps","sorted","sort","a","b","push","currentEnd","nextStart","floor","getGapForIndex","find","gap","clearIslands","delete","getIslandCoverage","totalCached","islandCount","largestGap","reduce","sum","max","g"],"sources":["../../../src/sync/virtualPageManager.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}