@multiplatform.one/frappe 6.6.0 → 7.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (224) hide show
  1. package/README.md +1 -1
  2. package/dist/cjs/auth.native.js.map +1 -1
  3. package/dist/cjs/call.native.js.map +1 -1
  4. package/dist/cjs/collection.native.js.map +1 -1
  5. package/dist/cjs/common/types.native.js.map +1 -1
  6. package/dist/cjs/core/http.cjs +45 -1
  7. package/dist/cjs/core/http.native.js +72 -1
  8. package/dist/cjs/core/http.native.js.map +1 -1
  9. package/dist/cjs/core/types.native.js.map +1 -1
  10. package/dist/cjs/core/wire.native.js.map +1 -1
  11. package/dist/cjs/db.native.js.map +1 -1
  12. package/dist/cjs/devtools/FrappeDevtoolsPanel.native.js.map +1 -1
  13. package/dist/cjs/devtools/index.native.js.map +1 -1
  14. package/dist/cjs/devtools/plugin.native.js.map +1 -1
  15. package/dist/cjs/devtools/theme.native.js.map +1 -1
  16. package/dist/cjs/doctype.cjs +15 -2
  17. package/dist/cjs/doctype.native.js +22 -5
  18. package/dist/cjs/doctype.native.js.map +1 -1
  19. package/dist/cjs/file.native.js.map +1 -1
  20. package/dist/cjs/fixtureDb.native.js.map +1 -1
  21. package/dist/cjs/fixtures.native.js.map +1 -1
  22. package/dist/cjs/frappeApp.native.js.map +1 -1
  23. package/dist/cjs/frappeReact.cjs +55 -1
  24. package/dist/cjs/frappeReact.native.js +67 -2
  25. package/dist/cjs/frappeReact.native.js.map +1 -1
  26. package/dist/cjs/index.cjs +8 -0
  27. package/dist/cjs/index.native.js +10 -2
  28. package/dist/cjs/index.native.js.map +1 -1
  29. package/dist/cjs/optimistic.cjs +32 -2
  30. package/dist/cjs/optimistic.native.js +34 -1
  31. package/dist/cjs/optimistic.native.js.map +1 -1
  32. package/dist/cjs/pacer.native.js.map +1 -1
  33. package/dist/cjs/plugin/index.native.js.map +1 -1
  34. package/dist/cjs/realtime.cjs +234 -11
  35. package/dist/cjs/realtime.native.js +368 -18
  36. package/dist/cjs/realtime.native.js.map +1 -1
  37. package/dist/cjs/sync/backfill.native.js.map +1 -1
  38. package/dist/cjs/sync/filters.native.js.map +1 -1
  39. package/dist/cjs/sync/index.cjs +45 -1
  40. package/dist/cjs/sync/index.native.js +71 -1
  41. package/dist/cjs/sync/index.native.js.map +1 -1
  42. package/dist/cjs/sync/merge.native.js.map +1 -1
  43. package/dist/cjs/sync/mutationEngine.cjs +51 -15
  44. package/dist/cjs/sync/mutationEngine.native.js +69 -16
  45. package/dist/cjs/sync/mutationEngine.native.js.map +1 -1
  46. package/dist/cjs/sync/mutationJournal.cjs +8 -0
  47. package/dist/cjs/sync/mutationJournal.native.js +10 -0
  48. package/dist/cjs/sync/mutationJournal.native.js.map +1 -1
  49. package/dist/cjs/sync/normalizedCache.native.js.map +1 -1
  50. package/dist/cjs/sync/persistence.native.js.map +1 -1
  51. package/dist/cjs/sync/realtime.native.js.map +1 -1
  52. package/dist/cjs/sync/rehydration.native.js.map +1 -1
  53. package/dist/cjs/sync/storage.native.js.map +1 -1
  54. package/dist/cjs/sync/subscriptionManager.native.js.map +1 -1
  55. package/dist/cjs/sync/types.native.js.map +1 -1
  56. package/dist/cjs/sync/virtualPageManager.native.js.map +1 -1
  57. package/dist/cjs/useLiveQuery.native.js.map +1 -1
  58. package/dist/cjs/util.native.js.map +1 -1
  59. package/dist/esm/auth.native.js.map +1 -1
  60. package/dist/esm/call.native.js.map +1 -1
  61. package/dist/esm/collection.native.js +1 -1
  62. package/dist/esm/collection.native.js.map +1 -1
  63. package/dist/esm/common/types.native.js.map +1 -1
  64. package/dist/esm/core/http.mjs +45 -2
  65. package/dist/esm/core/http.mjs.map +1 -1
  66. package/dist/esm/core/http.native.js +74 -4
  67. package/dist/esm/core/http.native.js.map +1 -1
  68. package/dist/esm/core/types.native.js.map +1 -1
  69. package/dist/esm/core/wire.native.js.map +1 -1
  70. package/dist/esm/db.native.js +1 -1
  71. package/dist/esm/db.native.js.map +1 -1
  72. package/dist/esm/devtools/FrappeDevtoolsPanel.native.js +2 -2
  73. package/dist/esm/devtools/FrappeDevtoolsPanel.native.js.map +1 -1
  74. package/dist/esm/devtools/index.native.js +2 -2
  75. package/dist/esm/devtools/index.native.js.map +1 -1
  76. package/dist/esm/devtools/plugin.native.js +1 -1
  77. package/dist/esm/devtools/plugin.native.js.map +1 -1
  78. package/dist/esm/devtools/theme.native.js.map +1 -1
  79. package/dist/esm/doctype.mjs +15 -2
  80. package/dist/esm/doctype.mjs.map +1 -1
  81. package/dist/esm/doctype.native.js +23 -6
  82. package/dist/esm/doctype.native.js.map +1 -1
  83. package/dist/esm/file.native.js.map +1 -1
  84. package/dist/esm/fixtureDb.native.js +1 -1
  85. package/dist/esm/fixtureDb.native.js.map +1 -1
  86. package/dist/esm/fixtures.native.js.map +1 -1
  87. package/dist/esm/frappeApp.native.js +7 -7
  88. package/dist/esm/frappeApp.native.js.map +1 -1
  89. package/dist/esm/frappeReact.mjs +55 -3
  90. package/dist/esm/frappeReact.mjs.map +1 -1
  91. package/dist/esm/frappeReact.native.js +73 -10
  92. package/dist/esm/frappeReact.native.js.map +1 -1
  93. package/dist/esm/index.mjs +5 -5
  94. package/dist/esm/index.mjs.map +1 -1
  95. package/dist/esm/index.native.js +22 -22
  96. package/dist/esm/index.native.js.map +1 -1
  97. package/dist/esm/optimistic.mjs +27 -1
  98. package/dist/esm/optimistic.mjs.map +1 -1
  99. package/dist/esm/optimistic.native.js +30 -1
  100. package/dist/esm/optimistic.native.js.map +1 -1
  101. package/dist/esm/pacer.mjs.map +1 -1
  102. package/dist/esm/pacer.native.js +4 -4
  103. package/dist/esm/pacer.native.js.map +1 -1
  104. package/dist/esm/plugin/index.native.js.map +1 -1
  105. package/dist/esm/realtime.mjs +234 -11
  106. package/dist/esm/realtime.mjs.map +1 -1
  107. package/dist/esm/realtime.native.js +369 -19
  108. package/dist/esm/realtime.native.js.map +1 -1
  109. package/dist/esm/sync/backfill.native.js +1 -1
  110. package/dist/esm/sync/backfill.native.js.map +1 -1
  111. package/dist/esm/sync/filters.native.js.map +1 -1
  112. package/dist/esm/sync/index.mjs +45 -1
  113. package/dist/esm/sync/index.mjs.map +1 -1
  114. package/dist/esm/sync/index.native.js +79 -9
  115. package/dist/esm/sync/index.native.js.map +1 -1
  116. package/dist/esm/sync/merge.native.js.map +1 -1
  117. package/dist/esm/sync/mutationEngine.mjs +51 -15
  118. package/dist/esm/sync/mutationEngine.mjs.map +1 -1
  119. package/dist/esm/sync/mutationEngine.native.js +73 -20
  120. package/dist/esm/sync/mutationEngine.native.js.map +1 -1
  121. package/dist/esm/sync/mutationJournal.mjs +8 -0
  122. package/dist/esm/sync/mutationJournal.mjs.map +1 -1
  123. package/dist/esm/sync/mutationJournal.native.js +11 -1
  124. package/dist/esm/sync/mutationJournal.native.js.map +1 -1
  125. package/dist/esm/sync/normalizedCache.native.js.map +1 -1
  126. package/dist/esm/sync/persistence.native.js +2 -2
  127. package/dist/esm/sync/persistence.native.js.map +1 -1
  128. package/dist/esm/sync/realtime.native.js +1 -1
  129. package/dist/esm/sync/realtime.native.js.map +1 -1
  130. package/dist/esm/sync/rehydration.native.js +1 -1
  131. package/dist/esm/sync/rehydration.native.js.map +1 -1
  132. package/dist/esm/sync/storage.native.js.map +1 -1
  133. package/dist/esm/sync/subscriptionManager.native.js +4 -4
  134. package/dist/esm/sync/subscriptionManager.native.js.map +1 -1
  135. package/dist/esm/sync/types.mjs.map +1 -1
  136. package/dist/esm/sync/types.native.js.map +1 -1
  137. package/dist/esm/sync/virtualPageManager.native.js +1 -1
  138. package/dist/esm/sync/virtualPageManager.native.js.map +1 -1
  139. package/dist/esm/useLiveQuery.native.js.map +1 -1
  140. package/dist/esm/util.native.js.map +1 -1
  141. package/dist/jsx/core/http.mjs +45 -2
  142. package/dist/jsx/core/http.mjs.map +1 -1
  143. package/dist/jsx/core/http.native.js +72 -1
  144. package/dist/jsx/core/http.native.js.map +1 -1
  145. package/dist/jsx/doctype.mjs +15 -2
  146. package/dist/jsx/doctype.mjs.map +1 -1
  147. package/dist/jsx/doctype.native.js +22 -5
  148. package/dist/jsx/doctype.native.js.map +1 -1
  149. package/dist/jsx/frappeReact.mjs +55 -3
  150. package/dist/jsx/frappeReact.mjs.map +1 -1
  151. package/dist/jsx/frappeReact.native.js +66 -1
  152. package/dist/jsx/frappeReact.native.js.map +1 -1
  153. package/dist/jsx/index.js +5 -5
  154. package/dist/jsx/index.js.map +1 -1
  155. package/dist/jsx/index.mjs +5 -5
  156. package/dist/jsx/index.mjs.map +1 -1
  157. package/dist/jsx/index.native.js +8 -0
  158. package/dist/jsx/index.native.js.map +1 -1
  159. package/dist/jsx/optimistic.mjs +27 -1
  160. package/dist/jsx/optimistic.mjs.map +1 -1
  161. package/dist/jsx/optimistic.native.js +34 -1
  162. package/dist/jsx/optimistic.native.js.map +1 -1
  163. package/dist/jsx/pacer.mjs.map +1 -1
  164. package/dist/jsx/pacer.native.js.map +1 -1
  165. package/dist/jsx/realtime.mjs +234 -11
  166. package/dist/jsx/realtime.mjs.map +1 -1
  167. package/dist/jsx/realtime.native.js +368 -18
  168. package/dist/jsx/realtime.native.js.map +1 -1
  169. package/dist/jsx/sync/index.mjs +45 -1
  170. package/dist/jsx/sync/index.mjs.map +1 -1
  171. package/dist/jsx/sync/index.native.js +71 -1
  172. package/dist/jsx/sync/index.native.js.map +1 -1
  173. package/dist/jsx/sync/mutationEngine.mjs +51 -15
  174. package/dist/jsx/sync/mutationEngine.mjs.map +1 -1
  175. package/dist/jsx/sync/mutationEngine.native.js +69 -16
  176. package/dist/jsx/sync/mutationEngine.native.js.map +1 -1
  177. package/dist/jsx/sync/mutationJournal.mjs +8 -0
  178. package/dist/jsx/sync/mutationJournal.mjs.map +1 -1
  179. package/dist/jsx/sync/mutationJournal.native.js +10 -0
  180. package/dist/jsx/sync/mutationJournal.native.js.map +1 -1
  181. package/dist/jsx/sync/types.mjs.map +1 -1
  182. package/dist/jsx/sync/types.native.js.map +1 -1
  183. package/package.json +8 -8
  184. package/src/core/http.spec.ts +81 -0
  185. package/src/core/http.ts +80 -3
  186. package/src/doctype.spec.ts +82 -3
  187. package/src/doctype.ts +51 -7
  188. package/src/frappeReact.ts +126 -4
  189. package/src/index.ts +28 -3
  190. package/src/optimistic.spec.ts +113 -2
  191. package/src/optimistic.ts +95 -0
  192. package/src/pacer.ts +8 -0
  193. package/src/realtime.spec.ts +62 -0
  194. package/src/realtime.ts +440 -14
  195. package/src/realtimeSse.spec.ts +547 -0
  196. package/src/sync/index.ts +44 -1
  197. package/src/sync/mutationEngine.spec.ts +7 -2
  198. package/src/sync/mutationEngine.ts +83 -27
  199. package/src/sync/mutationJournal.ts +9 -0
  200. package/src/sync/mutations.spec.ts +1 -1
  201. package/src/sync/syncModule.spec.ts +255 -1
  202. package/src/sync/types.ts +20 -0
  203. package/types/core/http.d.ts +11 -0
  204. package/types/core/http.d.ts.map +1 -1
  205. package/types/doctype.d.ts +7 -0
  206. package/types/doctype.d.ts.map +1 -1
  207. package/types/frappeReact.d.ts +50 -2
  208. package/types/frappeReact.d.ts.map +1 -1
  209. package/types/index.d.ts +8 -6
  210. package/types/index.d.ts.map +1 -1
  211. package/types/optimistic.d.ts +38 -0
  212. package/types/optimistic.d.ts.map +1 -1
  213. package/types/pacer.d.ts +8 -0
  214. package/types/pacer.d.ts.map +1 -1
  215. package/types/realtime.d.ts +183 -1
  216. package/types/realtime.d.ts.map +1 -1
  217. package/types/sync/index.d.ts +16 -1
  218. package/types/sync/index.d.ts.map +1 -1
  219. package/types/sync/mutationEngine.d.ts +7 -0
  220. package/types/sync/mutationEngine.d.ts.map +1 -1
  221. package/types/sync/mutationJournal.d.ts +6 -0
  222. package/types/sync/mutationJournal.d.ts.map +1 -1
  223. package/types/sync/types.d.ts +20 -0
  224. package/types/sync/types.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","realtime_exports","RealtimeModule","RealtimePlatform","module","exports","import_platform","require","import_socket","import_util","_class_call_check","instance","Constructor","TypeError","_defineProperties","props","i","length","descriptor","configurable","writable","_create_class","protoProps","staticProps","_define_property","obj","RealtimePlatform2","docRoomKey","doctype","RealtimeModule2","config","Map","Set","platform","detectPlatform","_navigator_userAgent","isGjs","isNative","navigator","product","userAgent","includes","isBrowser","getSocketURL","base","baseURL","replace","url","URL","port","socketPort","String","host","hostname","siteName","protocol","unused","result","siteName1","split","getAuthOptions","_this_config_auth","_this_config_auth1","authOptions","extraHeaders","Origin","origin","auth","sessionId","Cookie","useToken","token","authType","type","Authorization","transportOptions","websocket","polling","refreshSocketAuth","_this","socket","Promise","resolve","authRefreshInflight","manager","io","opts","assign","resolveHealthyWaiters","ok","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","healthyWaiters","Symbol","iterator","_step","next","done","err","return","clear","waitUntilHealthy","timeoutMs","arguments","_this_socket","socketHealthy","connected","timer","setTimeout","delete","onReady","onReady2","clearTimeout","add","ensureConnected","isConnecting","connect","resubscribeRooms","docRooms","values","room","emit","_iteratorNormalCompletion1","_didIteratorError1","_iteratorError1","_iterator1","listRooms","_step1","room1","socketURL","transports","autoConnect","path","randomizationFactor","reconnection","reconnectionAttempts","Number","POSITIVE_INFINITY","reconnectionDelay","reconnectionDelayMax","timeout","withCredentials","socketOptions","initHandlers","softDisconnect","removeAllListeners","disconnect","attachedSocketEvents","socketEventHandlers","_manager_on","on","emitToHandlers","sid","id","reason","error","handlerMap","keys","event","attachSocketListener","has","handler","handler2","payload","set","detachSocketListener","off","handlerSet","size","subscribeDoc","unsubscribeDoc","teardownWhenIdle","subscribeList","filters","unsubscribeList","isHealthy","updateAuth","shouldReconnect","data","getSocket"],"sources":["realtime.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 realtime_exports = {};\n__export(realtime_exports, {\n RealtimeModule: () => RealtimeModule,\n RealtimePlatform: () => RealtimePlatform\n});\nmodule.exports = __toCommonJS(realtime_exports);\nvar import_platform = require(\"@multiplatform.one/platform\");\nvar import_socket = require(\"socket.io-client\");\nvar import_util = require(\"./util\");\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}\nvar RealtimePlatform = /* @__PURE__ */ (function(RealtimePlatform2) {\n RealtimePlatform2[\"Node\"] = \"node\";\n RealtimePlatform2[\"Web\"] = \"web\";\n RealtimePlatform2[\"ReactNative\"] = \"react-native\";\n return RealtimePlatform2;\n})({});\nfunction docRoomKey(doctype, name) {\n return `${doctype}\\0${name}`;\n}\nvar RealtimeModule = /* @__PURE__ */ (function() {\n \"use strict\";\n function RealtimeModule2(config) {\n _class_call_check(this, RealtimeModule2);\n _define_property(this, \"socket\", void 0);\n _define_property(this, \"handlerMap\", /* @__PURE__ */ new Map());\n _define_property(this, \"attachedSocketEvents\", /* @__PURE__ */ new Set());\n _define_property(this, \"socketEventHandlers\", /* @__PURE__ */ new Map());\n _define_property(this, \"docRooms\", /* @__PURE__ */ new Map());\n _define_property(this, \"listRooms\", /* @__PURE__ */ new Map());\n _define_property(this, \"socketHealthy\", false);\n _define_property(this, \"isConnecting\", false);\n _define_property(this, \"healthyWaiters\", /* @__PURE__ */ new Set());\n _define_property(this, \"config\", void 0);\n _define_property(this, \"authRefreshInflight\", void 0);\n this.config = {\n ...config,\n platform: config.platform || this.detectPlatform()\n };\n }\n _create_class(RealtimeModule2, [\n {\n key: \"detectPlatform\",\n value: function detectPlatform() {\n var _navigator_userAgent;\n if ((0, import_util.isGjs)()) return \"node\";\n if (import_platform.isNative || typeof navigator !== \"undefined\" && (navigator.product === \"ReactNative\" || ((_navigator_userAgent = navigator.userAgent) === null || _navigator_userAgent === void 0 ? void 0 : _navigator_userAgent.includes(\"ReactNative\")))) {\n return \"react-native\";\n }\n if (!(0, import_util.isBrowser)()) return \"node\";\n return \"web\";\n }\n },\n {\n key: \"getSocketURL\",\n value: function getSocketURL() {\n var base = this.config.baseURL.replace(/\\/$/, \"\");\n try {\n var url = new URL(base);\n var port = this.config.socketPort ? String(this.config.socketPort) : url.port;\n var host = port ? `${url.hostname}:${port}` : url.hostname;\n var siteName = this.config.siteName || url.hostname;\n return `${url.protocol}//${host}/${siteName}`;\n } catch (unused) {\n var result = base;\n if (this.config.socketPort) {\n result = result.replace(/(:\\d+)/, `:${this.config.socketPort}`);\n }\n var siteName1 = this.config.siteName || result.replace(/^https?:\\/\\//, \"\").split(/[/:]/)[0];\n return `${result}/${siteName1}`;\n }\n }\n },\n {\n key: \"getAuthOptions\",\n value: async function getAuthOptions() {\n var _this_config_auth, _this_config_auth1;\n var authOptions = {};\n if (this.config.platform !== \"web\") {\n try {\n authOptions.extraHeaders = {\n Origin: new URL(this.config.baseURL).origin\n };\n } catch (unused) {\n authOptions.extraHeaders = {\n Origin: this.config.baseURL.replace(/\\/$/, \"\")\n };\n }\n }\n if (this.config.platform !== \"web\" && ((_this_config_auth = this.config.auth) === null || _this_config_auth === void 0 ? void 0 : _this_config_auth.sessionId)) {\n var sessionId = typeof this.config.auth.sessionId === \"function\" ? await this.config.auth.sessionId() : this.config.auth.sessionId;\n var Cookie = `sid=${sessionId}`;\n authOptions.extraHeaders = {\n ...authOptions.extraHeaders,\n Cookie\n };\n }\n if (((_this_config_auth1 = this.config.auth) === null || _this_config_auth1 === void 0 ? void 0 : _this_config_auth1.useToken) && this.config.auth.token) {\n var token = typeof this.config.auth.token === \"function\" ? await this.config.auth.token() : this.config.auth.token;\n if (token) {\n var authType = this.config.auth.type || \"Bearer\";\n if (!authOptions.extraHeaders) authOptions.extraHeaders = {};\n authOptions.extraHeaders.Authorization = authType === \"Bearer\" ? `Bearer ${token}` : `token ${token}`;\n }\n }\n if (authOptions.extraHeaders) {\n authOptions.transportOptions = {\n websocket: {\n extraHeaders: {\n ...authOptions.extraHeaders\n }\n },\n polling: {\n extraHeaders: {\n ...authOptions.extraHeaders\n }\n }\n };\n }\n return authOptions;\n }\n },\n {\n key: \"refreshSocketAuth\",\n value: (\n /**\n * Re-resolve credentials (token function / session id) and swap them into\n * the LIVE manager options in place. Socket.IO constructs a fresh engine\n * from `manager.opts` on every (re)connect attempt, so mutating the opts\n * makes the next handshake carry the refreshed token — without tearing\n * down handlers or room subscriptions. Called on disconnect and before\n * reconnect attempts so a token that rotated mid-session (e.g. Keycloak\n * refresh) never strands the socket in an auth-rejected retry loop.\n */\n function refreshSocketAuth() {\n var _this = this;\n var socket = this.socket;\n if (!socket) return Promise.resolve();\n if (this.authRefreshInflight) return this.authRefreshInflight;\n this.authRefreshInflight = (async function() {\n try {\n var authOptions = await _this.getAuthOptions();\n var manager = socket.io;\n if (manager === null || manager === void 0 ? void 0 : manager.opts) Object.assign(manager.opts, authOptions);\n } catch (unused) {\n } finally {\n _this.authRefreshInflight = void 0;\n }\n })();\n return this.authRefreshInflight;\n }\n )\n },\n {\n key: \"resolveHealthyWaiters\",\n value: function resolveHealthyWaiters(ok) {\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = this.healthyWaiters[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var resolve = _step.value;\n resolve(ok);\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.healthyWaiters.clear();\n }\n },\n {\n key: \"waitUntilHealthy\",\n value: function waitUntilHealthy() {\n var _this = this;\n var timeoutMs = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : 2e4;\n var _this_socket;\n if (this.socketHealthy && ((_this_socket = this.socket) === null || _this_socket === void 0 ? void 0 : _this_socket.connected)) return Promise.resolve(true);\n return new Promise(function(resolve) {\n var timer = setTimeout(function() {\n _this.healthyWaiters.delete(onReady);\n resolve(false);\n }, timeoutMs);\n var onReady = function onReady2(ok) {\n clearTimeout(timer);\n resolve(ok);\n };\n _this.healthyWaiters.add(onReady);\n });\n }\n },\n {\n key: \"ensureConnected\",\n value: async function ensureConnected() {\n var _this_socket;\n if (this.socketHealthy && ((_this_socket = this.socket) === null || _this_socket === void 0 ? void 0 : _this_socket.connected)) return;\n if (!this.socket && !this.isConnecting) {\n await this.connect();\n }\n await this.waitUntilHealthy();\n }\n },\n {\n key: \"resubscribeRooms\",\n value: function resubscribeRooms() {\n if (!this.socket || !this.socketHealthy) return;\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = this.docRooms.values()[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var room = _step.value;\n this.socket.emit(\"doc_subscribe\", room.doctype, room.name);\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 = this.listRooms.values()[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {\n var room1 = _step1.value;\n this.socket.emit(\"doctype_subscribe\", room1.doctype);\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 key: \"connect\",\n value: async function connect() {\n if (this.socket || this.isConnecting) return;\n this.isConnecting = true;\n try {\n var authOptions = await this.getAuthOptions();\n var socketURL = this.getSocketURL();\n var transports = this.config.platform === \"web\" ? [\n \"polling\",\n \"websocket\"\n ] : [\n \"websocket\",\n \"polling\"\n ];\n this.socket = (0, import_socket.io)(socketURL, {\n autoConnect: false,\n path: \"/socket.io\",\n randomizationFactor: 0.5,\n reconnection: true,\n reconnectionAttempts: Number.POSITIVE_INFINITY,\n reconnectionDelay: 1e3,\n reconnectionDelayMax: 5e3,\n timeout: 2e4,\n transports,\n withCredentials: true,\n ...authOptions,\n ...this.config.socketOptions\n });\n this.initHandlers();\n this.socket.connect();\n } catch (err) {\n this.isConnecting = false;\n this.resolveHealthyWaiters(false);\n throw err;\n }\n }\n },\n {\n key: \"softDisconnect\",\n value: (\n /**\n * Tear down the socket without clearing app handlers or room subscriptions.\n * Used by auth refresh so listeners/rooms survive credential rotation.\n */\n function softDisconnect() {\n if (this.socket) {\n if (typeof this.socket.removeAllListeners === \"function\") {\n this.socket.removeAllListeners();\n }\n this.socket.disconnect();\n this.socket = void 0;\n }\n this.attachedSocketEvents.clear();\n this.socketEventHandlers.clear();\n this.socketHealthy = false;\n this.isConnecting = false;\n this.resolveHealthyWaiters(false);\n }\n )\n },\n {\n key: \"initHandlers\",\n value: function initHandlers() {\n var _this = this;\n var _manager_on;\n if (!this.socket) return;\n this.attachedSocketEvents.clear();\n this.socketEventHandlers.clear();\n this.socket.on(\"connect\", function() {\n var _this_socket;\n _this.isConnecting = false;\n _this.socketHealthy = true;\n _this.resubscribeRooms();\n _this.emitToHandlers(\"connected\", {\n sid: (_this_socket = _this.socket) === null || _this_socket === void 0 ? void 0 : _this_socket.id\n });\n _this.resolveHealthyWaiters(true);\n });\n this.socket.on(\"disconnect\", function(reason) {\n _this.socketHealthy = false;\n void _this.refreshSocketAuth();\n _this.emitToHandlers(\"disconnect\", {\n reason\n });\n });\n this.socket.on(\"connect_error\", function(error) {\n _this.isConnecting = false;\n void _this.refreshSocketAuth();\n _this.emitToHandlers(\"connect_error\", error);\n _this.resolveHealthyWaiters(false);\n });\n var manager = this.socket.io;\n manager === null || manager === void 0 ? void 0 : (_manager_on = manager.on) === null || _manager_on === void 0 ? void 0 : _manager_on.call(manager, \"reconnect_attempt\", function() {\n void _this.refreshSocketAuth();\n });\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = this.handlerMap.keys()[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var event = _step.value;\n this.attachSocketListener(event);\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 key: \"attachSocketListener\",\n value: (\n /**\n * Attaches a socket listener for an event, storing the reference to prevent duplicates.\n */\n function attachSocketListener(event) {\n var _this = this;\n if (!this.socket || this.attachedSocketEvents.has(event)) return;\n var handler = function handler2(payload) {\n _this.emitToHandlers(event, payload);\n };\n this.socketEventHandlers.set(event, handler);\n this.attachedSocketEvents.add(event);\n this.socket.on(event, handler);\n }\n )\n },\n {\n key: \"detachSocketListener\",\n value: (\n /**\n * Removes a socket listener for an event.\n */\n function detachSocketListener(event) {\n if (!this.socket || !this.attachedSocketEvents.has(event)) return;\n var handler = this.socketEventHandlers.get(event);\n if (handler) {\n this.socket.off(event, handler);\n this.socketEventHandlers.delete(event);\n }\n this.attachedSocketEvents.delete(event);\n }\n )\n },\n {\n key: \"emitToHandlers\",\n value: function emitToHandlers(event, payload) {\n var handlerSet = this.handlerMap.get(event);\n if (!handlerSet) return;\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = handlerSet[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var handler = _step.value;\n handler(payload);\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 key: \"on\",\n value: async function on(event, handler) {\n var handlerSet = this.handlerMap.get(event);\n if (!handlerSet) {\n handlerSet = /* @__PURE__ */ new Set();\n this.handlerMap.set(event, handlerSet);\n }\n handlerSet.add(handler);\n this.attachSocketListener(event);\n }\n },\n {\n key: \"off\",\n value: function off(event, handler) {\n var handlerSet = this.handlerMap.get(event);\n if (!handlerSet) return;\n handlerSet.delete(handler);\n if (handlerSet.size === 0) {\n this.handlerMap.delete(event);\n this.detachSocketListener(event);\n }\n }\n },\n {\n key: \"subscribeDoc\",\n value: async function subscribeDoc(doctype, name) {\n this.docRooms.set(docRoomKey(doctype, name), {\n doctype,\n name\n });\n await this.ensureConnected();\n if (this.socket && this.socketHealthy) {\n this.socket.emit(\"doc_subscribe\", doctype, name);\n }\n }\n },\n {\n key: \"unsubscribeDoc\",\n value: function unsubscribeDoc(doctype, name) {\n this.docRooms.delete(docRoomKey(doctype, name));\n if (this.socket && this.socketHealthy) {\n this.socket.emit(\"doc_unsubscribe\", doctype, name);\n }\n this.teardownWhenIdle();\n }\n },\n {\n key: \"subscribeList\",\n value: (\n /**\n * Subscribe to list-level updates for a doctype (`list_update` events).\n *\n * `filters` are tracked client-side only: frappe's realtime server has a\n * single room per doctype (`doctype_subscribe`) and does not support\n * filtered list rooms.\n */\n async function subscribeList(doctype, filters) {\n this.listRooms.set(doctype, {\n doctype,\n filters\n });\n await this.ensureConnected();\n if (this.socket && this.socketHealthy) {\n this.socket.emit(\"doctype_subscribe\", doctype);\n }\n }\n )\n },\n {\n key: \"unsubscribeList\",\n value: function unsubscribeList(doctype) {\n this.listRooms.delete(doctype);\n if (this.socket && this.socketHealthy) {\n this.socket.emit(\"doctype_unsubscribe\", doctype);\n }\n this.teardownWhenIdle();\n }\n },\n {\n key: \"teardownWhenIdle\",\n value: (\n /**\n * Tears the socket down when the last room is released. Room membership is\n * the socket's reason to exist: while any subscription holds a room, the\n * infinite Socket.IO reconnection loop is the reconnect catch-up protocol\n * working as designed — but once nothing is subscribed, that same loop is\n * a leak (unmounted consumers leaving a dead-host socket reconnect-polling\n * forever). Handlers and any re-added rooms survive: the next\n * subscribeDoc/subscribeList reconnects and re-attaches everything.\n */\n function teardownWhenIdle() {\n if (this.docRooms.size > 0 || this.listRooms.size > 0) return;\n if (!this.socket && !this.isConnecting) return;\n this.emitToHandlers(\"disconnect\", {\n reason: \"idle-teardown\"\n });\n this.softDisconnect();\n }\n )\n },\n {\n key: \"isHealthy\",\n value: function isHealthy() {\n var _this_socket;\n return this.socketHealthy && ((_this_socket = this.socket) === null || _this_socket === void 0 ? void 0 : _this_socket.connected) === true;\n }\n },\n {\n key: \"disconnect\",\n value: function disconnect() {\n this.softDisconnect();\n this.handlerMap.clear();\n this.docRooms.clear();\n this.listRooms.clear();\n }\n },\n {\n key: \"updateAuth\",\n value: async function updateAuth(auth) {\n this.config.auth = auth;\n var shouldReconnect = this.docRooms.size > 0 || this.listRooms.size > 0;\n this.softDisconnect();\n if (shouldReconnect) {\n await this.connect();\n }\n }\n },\n {\n key: \"emit\",\n value: function emit(event, data) {\n if (this.socket && this.socketHealthy) {\n this.socket.emit(event, data);\n }\n }\n },\n {\n key: \"getSocket\",\n value: function getSocket() {\n return this.socket;\n }\n }\n ]);\n return RealtimeModule2;\n})();\n//# sourceMappingURL=realtime.js.map\n"],"mappings":"AAAA,YAAY;;AACZ,IAAIA,SAAS,GAAGC,MAAM,CAACC,cAAc;AACrC,IAAIC,gBAAgB,GAAGF,MAAM,CAACG,wBAAwB;AACtD,IAAIC,iBAAiB,GAAGJ,MAAM,CAACK,mBAAmB;AAClD,IAAIC,YAAY,GAAGN,MAAM,CAACO,SAAS,CAACC,cAAc;AAClD,IAAIC,QAAQ,GAAGA,CAACC,MAAM,EAAEC,GAAG,KAAK;EAC9B,KAAK,IAAIC,IAAI,IAAID,GAAG,EAClBZ,SAAS,CAACW,MAAM,EAAEE,IAAI,EAAE;IAAEC,GAAG,EAAEF,GAAG,CAACC,IAAI,CAAC;IAAEE,UAAU,EAAE;EAAK,CAAC,CAAC;AACjE,CAAC;AACD,IAAIC,WAAW,GAAGA,CAACC,EAAE,EAAEC,IAAI,EAAEC,MAAM,EAAEC,IAAI,KAAK;EAC5C,IAAIF,IAAI,IAAI,OAAOA,IAAI,KAAK,QAAQ,IAAI,OAAOA,IAAI,KAAK,UAAU,EAAE;IAClE,KAAK,IAAIG,GAAG,IAAIhB,iBAAiB,CAACa,IAAI,CAAC,EACrC,IAAI,CAACX,YAAY,CAACe,IAAI,CAACL,EAAE,EAAEI,GAAG,CAAC,IAAIA,GAAG,KAAKF,MAAM,EAC/CnB,SAAS,CAACiB,EAAE,EAAEI,GAAG,EAAE;MAAEP,GAAG,EAAEA,CAAA,KAAMI,IAAI,CAACG,GAAG,CAAC;MAAEN,UAAU,EAAE,EAAEK,IAAI,GAAGjB,gBAAgB,CAACe,IAAI,EAAEG,GAAG,CAAC,CAAC,IAAID,IAAI,CAACL;IAAW,CAAC,CAAC;EACxH;EACA,OAAOE,EAAE;AACX,CAAC;AACD,IAAIM,YAAY,GAAIC,GAAG,IAAKR,WAAW,CAAChB,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE;EAAEyB,KAAK,EAAE;AAAK,CAAC,CAAC,EAAED,GAAG,CAAC;AAC1F,IAAIE,gBAAgB,GAAG,CAAC,CAAC;AACzBhB,QAAQ,CAACgB,gBAAgB,EAAE;EACzBC,cAAc,EAAEA,CAAA,KAAMA,cAAc;EACpCC,gBAAgB,EAAEA,CAAA,KAAMA;AAC1B,CAAC,CAAC;AACFC,MAAM,CAACC,OAAO,GAAGP,YAAY,CAACG,gBAAgB,CAAC;AAC/C,IAAIK,eAAe,GAAGC,OAAO,CAAC,6BAA6B,CAAC;AAC5D,IAAIC,aAAa,GAAGD,OAAO,CAAC,kBAAkB,CAAC;AAC/C,IAAIE,WAAW,GAAGF,OAAO,CAAC,kBAAQ,CAAC;AACnC,SAASG,iBAAiBA,CAACC,QAAQ,EAAEC,WAAW,EAAE;EAChD,IAAI,EAAED,QAAQ,YAAYC,WAAW,CAAC,EAAE;IACtC,MAAM,IAAIC,SAAS,CAAC,mCAAmC,CAAC;EAC1D;AACF;AACA,SAASC,iBAAiBA,CAAC5B,MAAM,EAAE6B,KAAK,EAAE;EACxC,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGD,KAAK,CAACE,MAAM,EAAED,CAAC,EAAE,EAAE;IACrC,IAAIE,UAAU,GAAGH,KAAK,CAACC,CAAC,CAAC;IACzBE,UAAU,CAAC5B,UAAU,GAAG4B,UAAU,CAAC5B,UAAU,IAAI,KAAK;IACtD4B,UAAU,CAACC,YAAY,GAAG,IAAI;IAC9B,IAAI,OAAO,IAAID,UAAU,EAAEA,UAAU,CAACE,QAAQ,GAAG,IAAI;IACrD5C,MAAM,CAACC,cAAc,CAACS,MAAM,EAAEgC,UAAU,CAACtB,GAAG,EAAEsB,UAAU,CAAC;EAC3D;AACF;AACA,SAASG,aAAaA,CAACT,WAAW,EAAEU,UAAU,EAAEC,WAAW,EAAE;EAC3D,IAAID,UAAU,EAAER,iBAAiB,CAACF,WAAW,CAAC7B,SAAS,EAAEuC,UAAU,CAAC;EACpE,IAAIC,WAAW,EAAET,iBAAiB,CAACF,WAAW,EAAEW,WAAW,CAAC;EAC5D,OAAOX,WAAW;AACpB;AACA,SAASY,gBAAgBA,CAACC,GAAG,EAAE7B,GAAG,EAAEI,KAAK,EAAE;EACzC,IAAIJ,GAAG,IAAI6B,GAAG,EAAE;IACdjD,MAAM,CAACC,cAAc,CAACgD,GAAG,EAAE7B,GAAG,EAAE;MAC9BI,KAAK;MACLV,UAAU,EAAE,IAAI;MAChB6B,YAAY,EAAE,IAAI;MAClBC,QAAQ,EAAE;IACZ,CAAC,CAAC;EACJ,CAAC,MAAM;IACLK,GAAG,CAAC7B,GAAG,CAAC,GAAGI,KAAK;EAClB;EACA,OAAOyB,GAAG;AACZ;AACA,IAAItB,gBAAgB,GAAG,eAAiB,UAASuB,iBAAiB,EAAE;EAClEA,iBAAiB,CAAC,MAAM,CAAC,GAAG,MAAM;EAClCA,iBAAiB,CAAC,KAAK,CAAC,GAAG,KAAK;EAChCA,iBAAiB,CAAC,aAAa,CAAC,GAAG,cAAc;EACjD,OAAOA,iBAAiB;AAC1B,CAAC,CAAE,CAAC,CAAC,CAAC;AACN,SAASC,UAAUA,CAACC,OAAO,EAAExC,IAAI,EAAE;EACjC,OAAO,GAAGwC,OAAO,KAAKxC,IAAI,EAAE;AAC9B;AACA,IAAIc,cAAc,GAAG,eAAiB,YAAW;EAC/C,YAAY;;EACZ,SAAS2B,eAAeA,CAACC,MAAM,EAAE;IAC/BpB,iBAAiB,CAAC,IAAI,EAAEmB,eAAe,CAAC;IACxCL,gBAAgB,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;IACxCA,gBAAgB,CAAC,IAAI,EAAE,YAAY,EAAE,eAAgB,IAAIO,GAAG,CAAC,CAAC,CAAC;IAC/DP,gBAAgB,CAAC,IAAI,EAAE,sBAAsB,EAAE,eAAgB,IAAIQ,GAAG,CAAC,CAAC,CAAC;IACzER,gBAAgB,CAAC,IAAI,EAAE,qBAAqB,EAAE,eAAgB,IAAIO,GAAG,CAAC,CAAC,CAAC;IACxEP,gBAAgB,CAAC,IAAI,EAAE,UAAU,EAAE,eAAgB,IAAIO,GAAG,CAAC,CAAC,CAAC;IAC7DP,gBAAgB,CAAC,IAAI,EAAE,WAAW,EAAE,eAAgB,IAAIO,GAAG,CAAC,CAAC,CAAC;IAC9DP,gBAAgB,CAAC,IAAI,EAAE,eAAe,EAAE,KAAK,CAAC;IAC9CA,gBAAgB,CAAC,IAAI,EAAE,cAAc,EAAE,KAAK,CAAC;IAC7CA,gBAAgB,CAAC,IAAI,EAAE,gBAAgB,EAAE,eAAgB,IAAIQ,GAAG,CAAC,CAAC,CAAC;IACnER,gBAAgB,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;IACxCA,gBAAgB,CAAC,IAAI,EAAE,qBAAqB,EAAE,KAAK,CAAC,CAAC;IACrD,IAAI,CAACM,MAAM,GAAG;MACZ,GAAGA,MAAM;MACTG,QAAQ,EAAEH,MAAM,CAACG,QAAQ,IAAI,IAAI,CAACC,cAAc,CAAC;IACnD,CAAC;EACH;EACAb,aAAa,CAACQ,eAAe,EAAE,CAC7B;IACEjC,GAAG,EAAE,gBAAgB;IACrBI,KAAK,EAAE,SAASkC,cAAcA,CAAA,EAAG;MAC/B,IAAIC,oBAAoB;MACxB,IAAI,CAAC,CAAC,EAAE1B,WAAW,CAAC2B,KAAK,EAAE,CAAC,EAAE,OAAO,MAAM;MAC3C,IAAI9B,eAAe,CAAC+B,QAAQ,IAAI,OAAOC,SAAS,KAAK,WAAW,KAAKA,SAAS,CAACC,OAAO,KAAK,aAAa,KAAK,CAACJ,oBAAoB,GAAGG,SAAS,CAACE,SAAS,MAAM,IAAI,IAAIL,oBAAoB,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,oBAAoB,CAACM,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE;QAC/P,OAAO,cAAc;MACvB;MACA,IAAI,CAAC,CAAC,CAAC,EAAEhC,WAAW,CAACiC,SAAS,EAAE,CAAC,EAAE,OAAO,MAAM;MAChD,OAAO,KAAK;IACd;EACF,CAAC,EACD;IACE9C,GAAG,EAAE,cAAc;IACnBI,KAAK,EAAE,SAAS2C,YAAYA,CAAA,EAAG;MAC7B,IAAIC,IAAI,GAAG,IAAI,CAACd,MAAM,CAACe,OAAO,CAACC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;MACjD,IAAI;QACF,IAAIC,GAAG,GAAG,IAAIC,GAAG,CAACJ,IAAI,CAAC;QACvB,IAAIK,IAAI,GAAG,IAAI,CAACnB,MAAM,CAACoB,UAAU,GAAGC,MAAM,CAAC,IAAI,CAACrB,MAAM,CAACoB,UAAU,CAAC,GAAGH,GAAG,CAACE,IAAI;QAC7E,IAAIG,IAAI,GAAGH,IAAI,GAAG,GAAGF,GAAG,CAACM,QAAQ,IAAIJ,IAAI,EAAE,GAAGF,GAAG,CAACM,QAAQ;QAC1D,IAAIC,QAAQ,GAAG,IAAI,CAACxB,MAAM,CAACwB,QAAQ,IAAIP,GAAG,CAACM,QAAQ;QACnD,OAAO,GAAGN,GAAG,CAACQ,QAAQ,KAAKH,IAAI,IAAIE,QAAQ,EAAE;MAC/C,CAAC,CAAC,OAAOE,MAAM,EAAE;QACf,IAAIC,MAAM,GAAGb,IAAI;QACjB,IAAI,IAAI,CAACd,MAAM,CAACoB,UAAU,EAAE;UAC1BO,MAAM,GAAGA,MAAM,CAACX,OAAO,CAAC,QAAQ,EAAE,IAAI,IAAI,CAAChB,MAAM,CAACoB,UAAU,EAAE,CAAC;QACjE;QACA,IAAIQ,SAAS,GAAG,IAAI,CAAC5B,MAAM,CAACwB,QAAQ,IAAIG,MAAM,CAACX,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAACa,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAC3F,OAAO,GAAGF,MAAM,IAAIC,SAAS,EAAE;MACjC;IACF;EACF,CAAC,EACD;IACE9D,GAAG,EAAE,gBAAgB;IACrBI,KAAK,EAAE,eAAe4D,cAAcA,CAAA,EAAG;MACrC,IAAIC,iBAAiB,EAAEC,kBAAkB;MACzC,IAAIC,WAAW,GAAG,CAAC,CAAC;MACpB,IAAI,IAAI,CAACjC,MAAM,CAACG,QAAQ,KAAK,KAAK,EAAE;QAClC,IAAI;UACF8B,WAAW,CAACC,YAAY,GAAG;YACzBC,MAAM,EAAE,IAAIjB,GAAG,CAAC,IAAI,CAAClB,MAAM,CAACe,OAAO,CAAC,CAACqB;UACvC,CAAC;QACH,CAAC,CAAC,OAAOV,MAAM,EAAE;UACfO,WAAW,CAACC,YAAY,GAAG;YACzBC,MAAM,EAAE,IAAI,CAACnC,MAAM,CAACe,OAAO,CAACC,OAAO,CAAC,KAAK,EAAE,EAAE;UAC/C,CAAC;QACH;MACF;MACA,IAAI,IAAI,CAAChB,MAAM,CAACG,QAAQ,KAAK,KAAK,KAAK,CAAC4B,iBAAiB,GAAG,IAAI,CAAC/B,MAAM,CAACqC,IAAI,MAAM,IAAI,IAAIN,iBAAiB,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,iBAAiB,CAACO,SAAS,CAAC,EAAE;QAC9J,IAAIA,SAAS,GAAG,OAAO,IAAI,CAACtC,MAAM,CAACqC,IAAI,CAACC,SAAS,KAAK,UAAU,GAAG,MAAM,IAAI,CAACtC,MAAM,CAACqC,IAAI,CAACC,SAAS,CAAC,CAAC,GAAG,IAAI,CAACtC,MAAM,CAACqC,IAAI,CAACC,SAAS;QAClI,IAAIC,MAAM,GAAG,OAAOD,SAAS,EAAE;QAC/BL,WAAW,CAACC,YAAY,GAAG;UACzB,GAAGD,WAAW,CAACC,YAAY;UAC3BK;QACF,CAAC;MACH;MACA,IAAI,CAAC,CAACP,kBAAkB,GAAG,IAAI,CAAChC,MAAM,CAACqC,IAAI,MAAM,IAAI,IAAIL,kBAAkB,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,kBAAkB,CAACQ,QAAQ,KAAK,IAAI,CAACxC,MAAM,CAACqC,IAAI,CAACI,KAAK,EAAE;QACxJ,IAAIA,KAAK,GAAG,OAAO,IAAI,CAACzC,MAAM,CAACqC,IAAI,CAACI,KAAK,KAAK,UAAU,GAAG,MAAM,IAAI,CAACzC,MAAM,CAACqC,IAAI,CAACI,KAAK,CAAC,CAAC,GAAG,IAAI,CAACzC,MAAM,CAACqC,IAAI,CAACI,KAAK;QAClH,IAAIA,KAAK,EAAE;UACT,IAAIC,QAAQ,GAAG,IAAI,CAAC1C,MAAM,CAACqC,IAAI,CAACM,IAAI,IAAI,QAAQ;UAChD,IAAI,CAACV,WAAW,CAACC,YAAY,EAAED,WAAW,CAACC,YAAY,GAAG,CAAC,CAAC;UAC5DD,WAAW,CAACC,YAAY,CAACU,aAAa,GAAGF,QAAQ,KAAK,QAAQ,GAAG,UAAUD,KAAK,EAAE,GAAG,SAASA,KAAK,EAAE;QACvG;MACF;MACA,IAAIR,WAAW,CAACC,YAAY,EAAE;QAC5BD,WAAW,CAACY,gBAAgB,GAAG;UAC7BC,SAAS,EAAE;YACTZ,YAAY,EAAE;cACZ,GAAGD,WAAW,CAACC;YACjB;UACF,CAAC;UACDa,OAAO,EAAE;YACPb,YAAY,EAAE;cACZ,GAAGD,WAAW,CAACC;YACjB;UACF;QACF,CAAC;MACH;MACA,OAAOD,WAAW;IACpB;EACF,CAAC,EACD;IACEnE,GAAG,EAAE,mBAAmB;IACxBI,KAAK;IACH;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACQ,SAAS8E,iBAAiBA,CAAA,EAAG;MAC3B,IAAIC,KAAK,GAAG,IAAI;MAChB,IAAIC,MAAM,GAAG,IAAI,CAACA,MAAM;MACxB,IAAI,CAACA,MAAM,EAAE,OAAOC,OAAO,CAACC,OAAO,CAAC,CAAC;MACrC,IAAI,IAAI,CAACC,mBAAmB,EAAE,OAAO,IAAI,CAACA,mBAAmB;MAC7D,IAAI,CAACA,mBAAmB,GAAI,kBAAiB;QAC3C,IAAI;UACF,IAAIpB,WAAW,GAAG,MAAMgB,KAAK,CAACnB,cAAc,CAAC,CAAC;UAC9C,IAAIwB,OAAO,GAAGJ,MAAM,CAACK,EAAE;UACvB,IAAID,OAAO,KAAK,IAAI,IAAIA,OAAO,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,OAAO,CAACE,IAAI,EAAE9G,MAAM,CAAC+G,MAAM,CAACH,OAAO,CAACE,IAAI,EAAEvB,WAAW,CAAC;QAC9G,CAAC,CAAC,OAAOP,MAAM,EAAE,CACjB,CAAC,SAAS;UACRuB,KAAK,CAACI,mBAAmB,GAAG,KAAK,CAAC;QACpC;MACF,CAAC,CAAE,CAAC;MACJ,OAAO,IAAI,CAACA,mBAAmB;IACjC,CAAC;EAEL,CAAC,EACD;IACEvF,GAAG,EAAE,uBAAuB;IAC5BI,KAAK,EAAE,SAASwF,qBAAqBA,CAACC,EAAE,EAAE;MACxC,IAAIC,yBAAyB,GAAG,IAAI;QAAEC,iBAAiB,GAAG,KAAK;QAAEC,cAAc,GAAG,KAAK,CAAC;MACxF,IAAI;QACF,KAAK,IAAIC,SAAS,GAAG,IAAI,CAACC,cAAc,CAACC,MAAM,CAACC,QAAQ,CAAC,CAAC,CAAC,EAAEC,KAAK,EAAE,EAAEP,yBAAyB,GAAG,CAACO,KAAK,GAAGJ,SAAS,CAACK,IAAI,CAAC,CAAC,EAAEC,IAAI,CAAC,EAAET,yBAAyB,GAAG,IAAI,EAAE;UACpK,IAAIR,OAAO,GAAGe,KAAK,CAACjG,KAAK;UACzBkF,OAAO,CAACO,EAAE,CAAC;QACb;MACF,CAAC,CAAC,OAAOW,GAAG,EAAE;QACZT,iBAAiB,GAAG,IAAI;QACxBC,cAAc,GAAGQ,GAAG;MACtB,CAAC,SAAS;QACR,IAAI;UACF,IAAI,CAACV,yBAAyB,IAAIG,SAAS,CAACQ,MAAM,IAAI,IAAI,EAAE;YAC1DR,SAAS,CAACQ,MAAM,CAAC,CAAC;UACpB;QACF,CAAC,SAAS;UACR,IAAIV,iBAAiB,EAAE;YACrB,MAAMC,cAAc;UACtB;QACF;MACF;MACA,IAAI,CAACE,cAAc,CAACQ,KAAK,CAAC,CAAC;IAC7B;EACF,CAAC,EACD;IACE1G,GAAG,EAAE,kBAAkB;IACvBI,KAAK,EAAE,SAASuG,gBAAgBA,CAAA,EAAG;MACjC,IAAIxB,KAAK,GAAG,IAAI;MAChB,IAAIyB,SAAS,GAAGC,SAAS,CAACxF,MAAM,GAAG,CAAC,IAAIwF,SAAS,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,GAAGA,SAAS,CAAC,CAAC,CAAC,GAAG,GAAG;MACpF,IAAIC,YAAY;MAChB,IAAI,IAAI,CAACC,aAAa,KAAK,CAACD,YAAY,GAAG,IAAI,CAAC1B,MAAM,MAAM,IAAI,IAAI0B,YAAY,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,YAAY,CAACE,SAAS,CAAC,EAAE,OAAO3B,OAAO,CAACC,OAAO,CAAC,IAAI,CAAC;MAC5J,OAAO,IAAID,OAAO,CAAC,UAASC,OAAO,EAAE;QACnC,IAAI2B,KAAK,GAAGC,UAAU,CAAC,YAAW;UAChC/B,KAAK,CAACe,cAAc,CAACiB,MAAM,CAACC,OAAO,CAAC;UACpC9B,OAAO,CAAC,KAAK,CAAC;QAChB,CAAC,EAAEsB,SAAS,CAAC;QACb,IAAIQ,OAAO,GAAG,SAASC,QAAQA,CAACxB,EAAE,EAAE;UAClCyB,YAAY,CAACL,KAAK,CAAC;UACnB3B,OAAO,CAACO,EAAE,CAAC;QACb,CAAC;QACDV,KAAK,CAACe,cAAc,CAACqB,GAAG,CAACH,OAAO,CAAC;MACnC,CAAC,CAAC;IACJ;EACF,CAAC,EACD;IACEpH,GAAG,EAAE,iBAAiB;IACtBI,KAAK,EAAE,eAAeoH,eAAeA,CAAA,EAAG;MACtC,IAAIV,YAAY;MAChB,IAAI,IAAI,CAACC,aAAa,KAAK,CAACD,YAAY,GAAG,IAAI,CAAC1B,MAAM,MAAM,IAAI,IAAI0B,YAAY,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,YAAY,CAACE,SAAS,CAAC,EAAE;MAChI,IAAI,CAAC,IAAI,CAAC5B,MAAM,IAAI,CAAC,IAAI,CAACqC,YAAY,EAAE;QACtC,MAAM,IAAI,CAACC,OAAO,CAAC,CAAC;MACtB;MACA,MAAM,IAAI,CAACf,gBAAgB,CAAC,CAAC;IAC/B;EACF,CAAC,EACD;IACE3G,GAAG,EAAE,kBAAkB;IACvBI,KAAK,EAAE,SAASuH,gBAAgBA,CAAA,EAAG;MACjC,IAAI,CAAC,IAAI,CAACvC,MAAM,IAAI,CAAC,IAAI,CAAC2B,aAAa,EAAE;MACzC,IAAIjB,yBAAyB,GAAG,IAAI;QAAEC,iBAAiB,GAAG,KAAK;QAAEC,cAAc,GAAG,KAAK,CAAC;MACxF,IAAI;QACF,KAAK,IAAIC,SAAS,GAAG,IAAI,CAAC2B,QAAQ,CAACC,MAAM,CAAC,CAAC,CAAC1B,MAAM,CAACC,QAAQ,CAAC,CAAC,CAAC,EAAEC,KAAK,EAAE,EAAEP,yBAAyB,GAAG,CAACO,KAAK,GAAGJ,SAAS,CAACK,IAAI,CAAC,CAAC,EAAEC,IAAI,CAAC,EAAET,yBAAyB,GAAG,IAAI,EAAE;UACvK,IAAIgC,IAAI,GAAGzB,KAAK,CAACjG,KAAK;UACtB,IAAI,CAACgF,MAAM,CAAC2C,IAAI,CAAC,eAAe,EAAED,IAAI,CAAC9F,OAAO,EAAE8F,IAAI,CAACtI,IAAI,CAAC;QAC5D;MACF,CAAC,CAAC,OAAOgH,GAAG,EAAE;QACZT,iBAAiB,GAAG,IAAI;QACxBC,cAAc,GAAGQ,GAAG;MACtB,CAAC,SAAS;QACR,IAAI;UACF,IAAI,CAACV,yBAAyB,IAAIG,SAAS,CAACQ,MAAM,IAAI,IAAI,EAAE;YAC1DR,SAAS,CAACQ,MAAM,CAAC,CAAC;UACpB;QACF,CAAC,SAAS;UACR,IAAIV,iBAAiB,EAAE;YACrB,MAAMC,cAAc;UACtB;QACF;MACF;MACA,IAAIgC,0BAA0B,GAAG,IAAI;QAAEC,kBAAkB,GAAG,KAAK;QAAEC,eAAe,GAAG,KAAK,CAAC;MAC3F,IAAI;QACF,KAAK,IAAIC,UAAU,GAAG,IAAI,CAACC,SAAS,CAACP,MAAM,CAAC,CAAC,CAAC1B,MAAM,CAACC,QAAQ,CAAC,CAAC,CAAC,EAAEiC,MAAM,EAAE,EAAEL,0BAA0B,GAAG,CAACK,MAAM,GAAGF,UAAU,CAAC7B,IAAI,CAAC,CAAC,EAAEC,IAAI,CAAC,EAAEyB,0BAA0B,GAAG,IAAI,EAAE;UAC9K,IAAIM,KAAK,GAAGD,MAAM,CAACjI,KAAK;UACxB,IAAI,CAACgF,MAAM,CAAC2C,IAAI,CAAC,mBAAmB,EAAEO,KAAK,CAACtG,OAAO,CAAC;QACtD;MACF,CAAC,CAAC,OAAOwE,GAAG,EAAE;QACZyB,kBAAkB,GAAG,IAAI;QACzBC,eAAe,GAAG1B,GAAG;MACvB,CAAC,SAAS;QACR,IAAI;UACF,IAAI,CAACwB,0BAA0B,IAAIG,UAAU,CAAC1B,MAAM,IAAI,IAAI,EAAE;YAC5D0B,UAAU,CAAC1B,MAAM,CAAC,CAAC;UACrB;QACF,CAAC,SAAS;UACR,IAAIwB,kBAAkB,EAAE;YACtB,MAAMC,eAAe;UACvB;QACF;MACF;IACF;EACF,CAAC,EACD;IACElI,GAAG,EAAE,SAAS;IACdI,KAAK,EAAE,eAAesH,OAAOA,CAAA,EAAG;MAC9B,IAAI,IAAI,CAACtC,MAAM,IAAI,IAAI,CAACqC,YAAY,EAAE;MACtC,IAAI,CAACA,YAAY,GAAG,IAAI;MACxB,IAAI;QACF,IAAItD,WAAW,GAAG,MAAM,IAAI,CAACH,cAAc,CAAC,CAAC;QAC7C,IAAIuE,SAAS,GAAG,IAAI,CAACxF,YAAY,CAAC,CAAC;QACnC,IAAIyF,UAAU,GAAG,IAAI,CAACtG,MAAM,CAACG,QAAQ,KAAK,KAAK,GAAG,CAChD,SAAS,EACT,WAAW,CACZ,GAAG,CACF,WAAW,EACX,SAAS,CACV;QACD,IAAI,CAAC+C,MAAM,GAAG,CAAC,CAAC,EAAExE,aAAa,CAAC6E,EAAE,EAAE8C,SAAS,EAAE;UAC7CE,WAAW,EAAE,KAAK;UAClBC,IAAI,EAAE,YAAY;UAClBC,mBAAmB,EAAE,GAAG;UACxBC,YAAY,EAAE,IAAI;UAClBC,oBAAoB,EAAEC,MAAM,CAACC,iBAAiB;UAC9CC,iBAAiB,EAAE,GAAG;UACtBC,oBAAoB,EAAE,GAAG;UACzBC,OAAO,EAAE,GAAG;UACZV,UAAU;UACVW,eAAe,EAAE,IAAI;UACrB,GAAGhF,WAAW;UACd,GAAG,IAAI,CAACjC,MAAM,CAACkH;QACjB,CAAC,CAAC;QACF,IAAI,CAACC,YAAY,CAAC,CAAC;QACnB,IAAI,CAACjE,MAAM,CAACsC,OAAO,CAAC,CAAC;MACvB,CAAC,CAAC,OAAOlB,GAAG,EAAE;QACZ,IAAI,CAACiB,YAAY,GAAG,KAAK;QACzB,IAAI,CAAC7B,qBAAqB,CAAC,KAAK,CAAC;QACjC,MAAMY,GAAG;MACX;IACF;EACF,CAAC,EACD;IACExG,GAAG,EAAE,gBAAgB;IACrBI,KAAK;IACH;AACR;AACA;AACA;IACQ,SAASkJ,cAAcA,CAAA,EAAG;MACxB,IAAI,IAAI,CAAClE,MAAM,EAAE;QACf,IAAI,OAAO,IAAI,CAACA,MAAM,CAACmE,kBAAkB,KAAK,UAAU,EAAE;UACxD,IAAI,CAACnE,MAAM,CAACmE,kBAAkB,CAAC,CAAC;QAClC;QACA,IAAI,CAACnE,MAAM,CAACoE,UAAU,CAAC,CAAC;QACxB,IAAI,CAACpE,MAAM,GAAG,KAAK,CAAC;MACtB;MACA,IAAI,CAACqE,oBAAoB,CAAC/C,KAAK,CAAC,CAAC;MACjC,IAAI,CAACgD,mBAAmB,CAAChD,KAAK,CAAC,CAAC;MAChC,IAAI,CAACK,aAAa,GAAG,KAAK;MAC1B,IAAI,CAACU,YAAY,GAAG,KAAK;MACzB,IAAI,CAAC7B,qBAAqB,CAAC,KAAK,CAAC;IACnC,CAAC;EAEL,CAAC,EACD;IACE5F,GAAG,EAAE,cAAc;IACnBI,KAAK,EAAE,SAASiJ,YAAYA,CAAA,EAAG;MAC7B,IAAIlE,KAAK,GAAG,IAAI;MAChB,IAAIwE,WAAW;MACf,IAAI,CAAC,IAAI,CAACvE,MAAM,EAAE;MAClB,IAAI,CAACqE,oBAAoB,CAAC/C,KAAK,CAAC,CAAC;MACjC,IAAI,CAACgD,mBAAmB,CAAChD,KAAK,CAAC,CAAC;MAChC,IAAI,CAACtB,MAAM,CAACwE,EAAE,CAAC,SAAS,EAAE,YAAW;QACnC,IAAI9C,YAAY;QAChB3B,KAAK,CAACsC,YAAY,GAAG,KAAK;QAC1BtC,KAAK,CAAC4B,aAAa,GAAG,IAAI;QAC1B5B,KAAK,CAACwC,gBAAgB,CAAC,CAAC;QACxBxC,KAAK,CAAC0E,cAAc,CAAC,WAAW,EAAE;UAChCC,GAAG,EAAE,CAAChD,YAAY,GAAG3B,KAAK,CAACC,MAAM,MAAM,IAAI,IAAI0B,YAAY,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,YAAY,CAACiD;QACjG,CAAC,CAAC;QACF5E,KAAK,CAACS,qBAAqB,CAAC,IAAI,CAAC;MACnC,CAAC,CAAC;MACF,IAAI,CAACR,MAAM,CAACwE,EAAE,CAAC,YAAY,EAAE,UAASI,MAAM,EAAE;QAC5C7E,KAAK,CAAC4B,aAAa,GAAG,KAAK;QAC3B,KAAK5B,KAAK,CAACD,iBAAiB,CAAC,CAAC;QAC9BC,KAAK,CAAC0E,cAAc,CAAC,YAAY,EAAE;UACjCG;QACF,CAAC,CAAC;MACJ,CAAC,CAAC;MACF,IAAI,CAAC5E,MAAM,CAACwE,EAAE,CAAC,eAAe,EAAE,UAASK,KAAK,EAAE;QAC9C9E,KAAK,CAACsC,YAAY,GAAG,KAAK;QAC1B,KAAKtC,KAAK,CAACD,iBAAiB,CAAC,CAAC;QAC9BC,KAAK,CAAC0E,cAAc,CAAC,eAAe,EAAEI,KAAK,CAAC;QAC5C9E,KAAK,CAACS,qBAAqB,CAAC,KAAK,CAAC;MACpC,CAAC,CAAC;MACF,IAAIJ,OAAO,GAAG,IAAI,CAACJ,MAAM,CAACK,EAAE;MAC5BD,OAAO,KAAK,IAAI,IAAIA,OAAO,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,CAACmE,WAAW,GAAGnE,OAAO,CAACoE,EAAE,MAAM,IAAI,IAAID,WAAW,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,WAAW,CAAC1J,IAAI,CAACuF,OAAO,EAAE,mBAAmB,EAAE,YAAW;QACnL,KAAKL,KAAK,CAACD,iBAAiB,CAAC,CAAC;MAChC,CAAC,CAAC;MACF,IAAIY,yBAAyB,GAAG,IAAI;QAAEC,iBAAiB,GAAG,KAAK;QAAEC,cAAc,GAAG,KAAK,CAAC;MACxF,IAAI;QACF,KAAK,IAAIC,SAAS,GAAG,IAAI,CAACiE,UAAU,CAACC,IAAI,CAAC,CAAC,CAAChE,MAAM,CAACC,QAAQ,CAAC,CAAC,CAAC,EAAEC,KAAK,EAAE,EAAEP,yBAAyB,GAAG,CAACO,KAAK,GAAGJ,SAAS,CAACK,IAAI,CAAC,CAAC,EAAEC,IAAI,CAAC,EAAET,yBAAyB,GAAG,IAAI,EAAE;UACvK,IAAIsE,KAAK,GAAG/D,KAAK,CAACjG,KAAK;UACvB,IAAI,CAACiK,oBAAoB,CAACD,KAAK,CAAC;QAClC;MACF,CAAC,CAAC,OAAO5D,GAAG,EAAE;QACZT,iBAAiB,GAAG,IAAI;QACxBC,cAAc,GAAGQ,GAAG;MACtB,CAAC,SAAS;QACR,IAAI;UACF,IAAI,CAACV,yBAAyB,IAAIG,SAAS,CAACQ,MAAM,IAAI,IAAI,EAAE;YAC1DR,SAAS,CAACQ,MAAM,CAAC,CAAC;UACpB;QACF,CAAC,SAAS;UACR,IAAIV,iBAAiB,EAAE;YACrB,MAAMC,cAAc;UACtB;QACF;MACF;IACF;EACF,CAAC,EACD;IACEhG,GAAG,EAAE,sBAAsB;IAC3BI,KAAK;IACH;AACR;AACA;IACQ,SAASiK,oBAAoBA,CAACD,KAAK,EAAE;MACnC,IAAIjF,KAAK,GAAG,IAAI;MAChB,IAAI,CAAC,IAAI,CAACC,MAAM,IAAI,IAAI,CAACqE,oBAAoB,CAACa,GAAG,CAACF,KAAK,CAAC,EAAE;MAC1D,IAAIG,OAAO,GAAG,SAASC,QAAQA,CAACC,OAAO,EAAE;QACvCtF,KAAK,CAAC0E,cAAc,CAACO,KAAK,EAAEK,OAAO,CAAC;MACtC,CAAC;MACD,IAAI,CAACf,mBAAmB,CAACgB,GAAG,CAACN,KAAK,EAAEG,OAAO,CAAC;MAC5C,IAAI,CAACd,oBAAoB,CAAClC,GAAG,CAAC6C,KAAK,CAAC;MACpC,IAAI,CAAChF,MAAM,CAACwE,EAAE,CAACQ,KAAK,EAAEG,OAAO,CAAC;IAChC,CAAC;EAEL,CAAC,EACD;IACEvK,GAAG,EAAE,sBAAsB;IAC3BI,KAAK;IACH;AACR;AACA;IACQ,SAASuK,oBAAoBA,CAACP,KAAK,EAAE;MACnC,IAAI,CAAC,IAAI,CAAChF,MAAM,IAAI,CAAC,IAAI,CAACqE,oBAAoB,CAACa,GAAG,CAACF,KAAK,CAAC,EAAE;MAC3D,IAAIG,OAAO,GAAG,IAAI,CAACb,mBAAmB,CAACjK,GAAG,CAAC2K,KAAK,CAAC;MACjD,IAAIG,OAAO,EAAE;QACX,IAAI,CAACnF,MAAM,CAACwF,GAAG,CAACR,KAAK,EAAEG,OAAO,CAAC;QAC/B,IAAI,CAACb,mBAAmB,CAACvC,MAAM,CAACiD,KAAK,CAAC;MACxC;MACA,IAAI,CAACX,oBAAoB,CAACtC,MAAM,CAACiD,KAAK,CAAC;IACzC,CAAC;EAEL,CAAC,EACD;IACEpK,GAAG,EAAE,gBAAgB;IACrBI,KAAK,EAAE,SAASyJ,cAAcA,CAACO,KAAK,EAAEK,OAAO,EAAE;MAC7C,IAAII,UAAU,GAAG,IAAI,CAACX,UAAU,CAACzK,GAAG,CAAC2K,KAAK,CAAC;MAC3C,IAAI,CAACS,UAAU,EAAE;MACjB,IAAI/E,yBAAyB,GAAG,IAAI;QAAEC,iBAAiB,GAAG,KAAK;QAAEC,cAAc,GAAG,KAAK,CAAC;MACxF,IAAI;QACF,KAAK,IAAIC,SAAS,GAAG4E,UAAU,CAAC1E,MAAM,CAACC,QAAQ,CAAC,CAAC,CAAC,EAAEC,KAAK,EAAE,EAAEP,yBAAyB,GAAG,CAACO,KAAK,GAAGJ,SAAS,CAACK,IAAI,CAAC,CAAC,EAAEC,IAAI,CAAC,EAAET,yBAAyB,GAAG,IAAI,EAAE;UAC3J,IAAIyE,OAAO,GAAGlE,KAAK,CAACjG,KAAK;UACzBmK,OAAO,CAACE,OAAO,CAAC;QAClB;MACF,CAAC,CAAC,OAAOjE,GAAG,EAAE;QACZT,iBAAiB,GAAG,IAAI;QACxBC,cAAc,GAAGQ,GAAG;MACtB,CAAC,SAAS;QACR,IAAI;UACF,IAAI,CAACV,yBAAyB,IAAIG,SAAS,CAACQ,MAAM,IAAI,IAAI,EAAE;YAC1DR,SAAS,CAACQ,MAAM,CAAC,CAAC;UACpB;QACF,CAAC,SAAS;UACR,IAAIV,iBAAiB,EAAE;YACrB,MAAMC,cAAc;UACtB;QACF;MACF;IACF;EACF,CAAC,EACD;IACEhG,GAAG,EAAE,IAAI;IACTI,KAAK,EAAE,eAAewJ,EAAEA,CAACQ,KAAK,EAAEG,OAAO,EAAE;MACvC,IAAIM,UAAU,GAAG,IAAI,CAACX,UAAU,CAACzK,GAAG,CAAC2K,KAAK,CAAC;MAC3C,IAAI,CAACS,UAAU,EAAE;QACfA,UAAU,GAAG,eAAgB,IAAIzI,GAAG,CAAC,CAAC;QACtC,IAAI,CAAC8H,UAAU,CAACQ,GAAG,CAACN,KAAK,EAAES,UAAU,CAAC;MACxC;MACAA,UAAU,CAACtD,GAAG,CAACgD,OAAO,CAAC;MACvB,IAAI,CAACF,oBAAoB,CAACD,KAAK,CAAC;IAClC;EACF,CAAC,EACD;IACEpK,GAAG,EAAE,KAAK;IACVI,KAAK,EAAE,SAASwK,GAAGA,CAACR,KAAK,EAAEG,OAAO,EAAE;MAClC,IAAIM,UAAU,GAAG,IAAI,CAACX,UAAU,CAACzK,GAAG,CAAC2K,KAAK,CAAC;MAC3C,IAAI,CAACS,UAAU,EAAE;MACjBA,UAAU,CAAC1D,MAAM,CAACoD,OAAO,CAAC;MAC1B,IAAIM,UAAU,CAACC,IAAI,KAAK,CAAC,EAAE;QACzB,IAAI,CAACZ,UAAU,CAAC/C,MAAM,CAACiD,KAAK,CAAC;QAC7B,IAAI,CAACO,oBAAoB,CAACP,KAAK,CAAC;MAClC;IACF;EACF,CAAC,EACD;IACEpK,GAAG,EAAE,cAAc;IACnBI,KAAK,EAAE,eAAe2K,YAAYA,CAAC/I,OAAO,EAAExC,IAAI,EAAE;MAChD,IAAI,CAACoI,QAAQ,CAAC8C,GAAG,CAAC3I,UAAU,CAACC,OAAO,EAAExC,IAAI,CAAC,EAAE;QAC3CwC,OAAO;QACPxC;MACF,CAAC,CAAC;MACF,MAAM,IAAI,CAACgI,eAAe,CAAC,CAAC;MAC5B,IAAI,IAAI,CAACpC,MAAM,IAAI,IAAI,CAAC2B,aAAa,EAAE;QACrC,IAAI,CAAC3B,MAAM,CAAC2C,IAAI,CAAC,eAAe,EAAE/F,OAAO,EAAExC,IAAI,CAAC;MAClD;IACF;EACF,CAAC,EACD;IACEQ,GAAG,EAAE,gBAAgB;IACrBI,KAAK,EAAE,SAAS4K,cAAcA,CAAChJ,OAAO,EAAExC,IAAI,EAAE;MAC5C,IAAI,CAACoI,QAAQ,CAACT,MAAM,CAACpF,UAAU,CAACC,OAAO,EAAExC,IAAI,CAAC,CAAC;MAC/C,IAAI,IAAI,CAAC4F,MAAM,IAAI,IAAI,CAAC2B,aAAa,EAAE;QACrC,IAAI,CAAC3B,MAAM,CAAC2C,IAAI,CAAC,iBAAiB,EAAE/F,OAAO,EAAExC,IAAI,CAAC;MACpD;MACA,IAAI,CAACyL,gBAAgB,CAAC,CAAC;IACzB;EACF,CAAC,EACD;IACEjL,GAAG,EAAE,eAAe;IACpBI,KAAK;IACH;AACR;AACA;AACA;AACA;AACA;AACA;IACQ,eAAe8K,aAAaA,CAAClJ,OAAO,EAAEmJ,OAAO,EAAE;MAC7C,IAAI,CAAC/C,SAAS,CAACsC,GAAG,CAAC1I,OAAO,EAAE;QAC1BA,OAAO;QACPmJ;MACF,CAAC,CAAC;MACF,MAAM,IAAI,CAAC3D,eAAe,CAAC,CAAC;MAC5B,IAAI,IAAI,CAACpC,MAAM,IAAI,IAAI,CAAC2B,aAAa,EAAE;QACrC,IAAI,CAAC3B,MAAM,CAAC2C,IAAI,CAAC,mBAAmB,EAAE/F,OAAO,CAAC;MAChD;IACF,CAAC;EAEL,CAAC,EACD;IACEhC,GAAG,EAAE,iBAAiB;IACtBI,KAAK,EAAE,SAASgL,eAAeA,CAACpJ,OAAO,EAAE;MACvC,IAAI,CAACoG,SAAS,CAACjB,MAAM,CAACnF,OAAO,CAAC;MAC9B,IAAI,IAAI,CAACoD,MAAM,IAAI,IAAI,CAAC2B,aAAa,EAAE;QACrC,IAAI,CAAC3B,MAAM,CAAC2C,IAAI,CAAC,qBAAqB,EAAE/F,OAAO,CAAC;MAClD;MACA,IAAI,CAACiJ,gBAAgB,CAAC,CAAC;IACzB;EACF,CAAC,EACD;IACEjL,GAAG,EAAE,kBAAkB;IACvBI,KAAK;IACH;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACQ,SAAS6K,gBAAgBA,CAAA,EAAG;MAC1B,IAAI,IAAI,CAACrD,QAAQ,CAACkD,IAAI,GAAG,CAAC,IAAI,IAAI,CAAC1C,SAAS,CAAC0C,IAAI,GAAG,CAAC,EAAE;MACvD,IAAI,CAAC,IAAI,CAAC1F,MAAM,IAAI,CAAC,IAAI,CAACqC,YAAY,EAAE;MACxC,IAAI,CAACoC,cAAc,CAAC,YAAY,EAAE;QAChCG,MAAM,EAAE;MACV,CAAC,CAAC;MACF,IAAI,CAACV,cAAc,CAAC,CAAC;IACvB,CAAC;EAEL,CAAC,EACD;IACEtJ,GAAG,EAAE,WAAW;IAChBI,KAAK,EAAE,SAASiL,SAASA,CAAA,EAAG;MAC1B,IAAIvE,YAAY;MAChB,OAAO,IAAI,CAACC,aAAa,IAAI,CAAC,CAACD,YAAY,GAAG,IAAI,CAAC1B,MAAM,MAAM,IAAI,IAAI0B,YAAY,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,YAAY,CAACE,SAAS,MAAM,IAAI;IAC5I;EACF,CAAC,EACD;IACEhH,GAAG,EAAE,YAAY;IACjBI,KAAK,EAAE,SAASoJ,UAAUA,CAAA,EAAG;MAC3B,IAAI,CAACF,cAAc,CAAC,CAAC;MACrB,IAAI,CAACY,UAAU,CAACxD,KAAK,CAAC,CAAC;MACvB,IAAI,CAACkB,QAAQ,CAAClB,KAAK,CAAC,CAAC;MACrB,IAAI,CAAC0B,SAAS,CAAC1B,KAAK,CAAC,CAAC;IACxB;EACF,CAAC,EACD;IACE1G,GAAG,EAAE,YAAY;IACjBI,KAAK,EAAE,eAAekL,UAAUA,CAAC/G,IAAI,EAAE;MACrC,IAAI,CAACrC,MAAM,CAACqC,IAAI,GAAGA,IAAI;MACvB,IAAIgH,eAAe,GAAG,IAAI,CAAC3D,QAAQ,CAACkD,IAAI,GAAG,CAAC,IAAI,IAAI,CAAC1C,SAAS,CAAC0C,IAAI,GAAG,CAAC;MACvE,IAAI,CAACxB,cAAc,CAAC,CAAC;MACrB,IAAIiC,eAAe,EAAE;QACnB,MAAM,IAAI,CAAC7D,OAAO,CAAC,CAAC;MACtB;IACF;EACF,CAAC,EACD;IACE1H,GAAG,EAAE,MAAM;IACXI,KAAK,EAAE,SAAS2H,IAAIA,CAACqC,KAAK,EAAEoB,IAAI,EAAE;MAChC,IAAI,IAAI,CAACpG,MAAM,IAAI,IAAI,CAAC2B,aAAa,EAAE;QACrC,IAAI,CAAC3B,MAAM,CAAC2C,IAAI,CAACqC,KAAK,EAAEoB,IAAI,CAAC;MAC/B;IACF;EACF,CAAC,EACD;IACExL,GAAG,EAAE,WAAW;IAChBI,KAAK,EAAE,SAASqL,SAASA,CAAA,EAAG;MAC1B,OAAO,IAAI,CAACrG,MAAM;IACpB;EACF,CAAC,CACF,CAAC;EACF,OAAOnD,eAAe;AACxB,CAAC,CAAE,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","realtime_exports","__export","RealtimeModule","RealtimePlatform","module","exports","import_platform","require","import_socket","import_util","_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","RealtimePlatform2","docRoomKey","doctype","name","RealtimeModule2","config","Map","Set","platform","detectPlatform","_navigator_userAgent","isGjs","isNative","navigator","product","userAgent","includes","isBrowser","getSocketURL","base","baseURL","replace","socketBaseURL","socketBase","siteName","URL","hostname","unused","split","url","port","socketPort","String","host","siteName1","protocol","result","siteName2","getAuthOptions","_this_config_auth","_this_config_auth1","authOptions","extraHeaders","Origin","origin","auth","sessionId","Cookie","useToken","token","authType","type","Authorization","transportOptions","websocket","polling","refreshSocketAuth","_this","socket","Promise","resolve","authRefreshInflight","manager","io","opts","assign","resolveHealthyWaiters","ok","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","healthyWaiters","Symbol","iterator","_step","next","done","err","return","clear","isSSE","transport","waitUntilHealthy","timeoutMs","arguments","isHealthy","timer","setTimeout","delete","onReady","onReady2","clearTimeout","add","ensureConnected","eventSource","isConnecting","connect","resubscribeRooms","socketHealthy","docRooms","values","room","emit","_iteratorNormalCompletion1","_didIteratorError1","_iteratorError1","_iterator1","listRooms","_step1","room1","connectSSE","socketURL","transports","autoConnect","path","randomizationFactor","reconnection","reconnectionAttempts","Number","POSITIVE_INFINITY","reconnectionDelay","reconnectionDelayMax","timeout","withCredentials","socketOptions","initHandlers","_ref","sse","EventSourceCtor","EventSource","globalThis","Error","buildSSEURL","initSSEHandlers","_this_config_sse","startsWith","params","entries","queryParams","parts","resolved","push","encodeURIComponent","join","attachedSseEvents","sseListeners","attachSSEListener","events","handlerMap","keys","event","has","listener","listener2","handleSSEEvent","set","addEventListener","detachSSEListener","isCoreSSEType","get","removeEventListener","_event_lastEventId","data","emitToHandlers","reason","frame","lastEventId","mapFrame","mapped","console","warn","mappedEvent","payload"],"sources":["../../src/realtime.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,gBAAA;AAAAC,QAAA,CAAAD,gBAAA;EAAAE,cAAA,EAAAA,CAAA,KAAAA,cAAA;EAAAC,gBAAA,EAAAA,CAAA,KAAAA;AAAA;AAAAC,MAAA,CAAAC,OAAA,GAAAV,YAAyB,CAAAK,gBAAA;AAEzB,IAAAM,eAAA,GAAmBC,OAAA;AAEnB,IAAAC,aAAA,GAAiCD,OAAA;AAI1B,IAAKE,WAAA,GAAAF,OAAL;AACL,SAAAG,iBAAAP,CAAAQ,QAAO,EAAAC,WAAA;EACP,MAAAD,QAAA,YAAAC,WAAM;IACN,UAAAC,SAAA,oCAAc;EAHJ;AAAA;AAyKZ,SAASC,iBAAWA,CAAAC,MAAiB,EAAcC,KAAA;EACjD,SAAOC,CAAG,MAAAA,CAAO,GAAAD,KAAK,CAAIE,MAAA,EAAAD,CAAA;IAC5B,IAAAE,UAAA,GAAAH,KAAA,CAAAC,CAAA;IAEOE,UAAM,CAAAC,UAAe,GAAAD,UAAA,CAAAC,UAAA;IAClBD,UAAA,CAAAE,YAAA;IAAA,eAAAF,UAAA,EAAAA,UAAA,CAAAG,QAAA;IAEAC,MAAA,CAAAC,cAAA,CAAAT,MAAA,EAAAI,UAAA,CAAAM,GAAA,EAAAN,UAAA;EACA;AAA2C;AAAA,SAE3CO,cAAAd,WAAuB,EAAAe,UAAI,EAAAC,WAAY;EAAA,IAAAD,UAAA,EAAAb,iBAAA,CAAAF,WAAA,CAAAiB,SAAA,EAAAF,UAAA;EAEvC,IAAAC,WAAA,EAAAd,iBAAsB,CAAAF,WAA4C,EAAAgB,WAAA;EAAA,OAAAhB,WAAA;AAAA;AAE9B,SAAAkB,iBAAAC,GAAA,EAAAN,GAAA,EAAA1B,KAAA;EAEpC,IAAA0B,GAAA,IAAAM,GAAA,EAAe;IAAsDR,MAAA,CAAAC,cAAA,CAAAO,GAAA,EAAAN,GAAA;MAErE1B,KAAA;MACAqB,UAAA;MAAsBC,YAAA;MAEtBC,QAAW;IAAyB;EAEpC;IACAS,GAAA,CAAAN,GAAA,IAAA1B,KAAgB;EAChB;EACA,OAAAgC,GAAA;AAAgD;AAChD,IAAA5B,gBAAA,4BAAA6B,iBAAA;EAEAA,iBAAA;EAERA,iBAAY,MAAwB;EAClCA,iBAAc;EAAA,OACTA,iBAAA;AAAA,KACH;AAAiD,SACnDC,WAAAC,OAAA,EAAAC,IAAA;EACF,UAAAD,OAAA,KAAAC,IAAA;AAAA;AASE,IAAAjC,cAAI,kBAAS,YAAO;EAOpB,YACE;;EAIA,SAAAkC,eAAOA,CAAAC,MAAA;IACT3B,iBAAA,OAAA0B,eAAA;IACAN,gBAAK,iBAAU,KAAG;IAClBA,gBAAO;IACTA,gBAAA,wCAAAQ,GAAA;IAEQR,gBAAuB,kDAAAS,GAAA;IAC7BT,gBAAa,KAAK,uBAAuB,iBAAS,IAAAQ,GAAA;IAMlDR,gBAAgB,0BAAe,qBAAAS,GAAA;IAC7BT,gBAAM,KAAa,gBAAY,iBAAsB,IAAAQ,GAAO,EAAE;IAC9DR,gBAAI,CAAW,MAAK,qBAAO;IAC3BA,gBAAK,CAAU;IACbA,gBAAI,sCAAAQ,GAAA;IACFR,gBAAA,CAAW,IAAI,aAAU,qBAAAQ,GAAA;IAAAR,gBACnB;IACNA,gBAAA,CAAW,MAAK,cAAQ;IAAmCA,gBAC7D,4CAAAS,GAAA;IAAAT,gBACF;IACAA,gBAAU,OAAU,qBAAY;IAClC,KAAAO,MAAA;MACA,GAAIA,MAAA;MACFG,QAAM,EAAAH,MAAU,CAAAG,QAAQ,SAAAC,cAAA;IAMxB;EACA;EAGAf,aAAM,CAAAU,eAAgB,GACtB;IACFX,GAAA,kBAAQ;IAEN1B,KAAI,WAAS0C,eAAA;MACb,IAAIC,oBAAY;MACd,QAAAjC,WAAgB,CAAAkC,KAAQ,YAAU,MAAS;MAC7C,IAAArC,eAAA,CAAAsC,QAAA,WAAAC,SAAA,qBAAAA,SAAA,CAAAC,OAAA,wBAAAJ,oBAAA,GAAAG,SAAA,CAAAE,SAAA,cAAAL,oBAAA,uBAAAA,oBAAA,CAAAM,QAAA;QACA,OAAM,cAAgB;MACtB;MACF,SAAAvC,WAAA,CAAAwC,SAAA;MACF;IAEA;EACE,GACA;IAYExB,GAAA,EAAI;IACF1B,KAAA,WAAYmD,aAAA,EAAiB;MAC/B,IAAAC,IAAQ,QAAAd,MAAA,CAAAe,OAAA,CAAAC,OAAA;MACN,SAAAhB,MAAY,CAAAiB,aAAiB;QAC/B,IAAAC,UAAA,QAAAlB,MAAA,CAAAiB,aAAA,CAAAD,OAAA;QACF,IAAAG,QAAA,QAAAnB,MAAA,CAAAmB,QAAA;QACI,IAAK,CAAAA,QAAO;UACR;YAIAA,QAAS,OAAOC,GAAA,CAAAN,IAAS,EAAAO,QAAA;UAC/B,SAAYC,MAAA;YACPH,QAAA,GAAYL,IAAA,CAAAE,OAAA,qBAAAO,KAAA;UACf;QACF;QACF,UAAAL,UAAA,IAAAC,QAAA;MACI;MACF,IAAM;QAOF,IAAAK,GAAO,OAAAJ,GAAA,CAAAN,IAAA;QACT,IAAMW,IAAA,OAAW,CAAAzB,MAAK,CAAA0B,UAAY,GAAAC,MAAQ,MAAA3B,MAAA,CAAA0B,UAAA,IAAAF,GAAA,CAAAC,IAAA;QAC1C,IAAKG,IAAA,GAAAH,IAAY,MAAAD,GAAA,CAAAH,QAAc,IAAAI,IAAY,KAAAD,GAAA,CAAAH,QAAgB;QAC3D,IAAAQ,SAAY,QAAA7B,MAAa,CAAAmB,QAAA,IACvBK,GAAA,CAAAH,QAAa;QACjB,UAAAG,GAAA,CAAAM,QAAA,KAAAF,IAAA,IAAAC,SAAA;MACF,SAAAP,MAAA;QACI,IAAAS,MAAY,GAAAjB,IAAA;QAKd,QAAY,CAAAd,MAAA,CAAA0B,UAAA,EAAmB;UAC7BK,MAAA,GAAaA,MAAA,CAAAf,OAAc,SAAK,UAAY,CAAAhB,MAAA,CAAA0B,UAAe;QAC3D;QACF,IAAAM,SAAA,QAAAhC,MAAA,CAAAmB,QAAA,IAAAY,MAAA,CAAAf,OAAA,qBAAAO,KAAA;QACF,UAAAQ,MAAA,IAAAC,SAAA;MACA;IACF;EAAA;IAAA5C,GAAA;IAAA1B,KAAA,iBAAAuE,eAAA;MAAA,IAAAC,iBAAA,EAAAC,kBAAA;MAAA,IAAAC,WAAA;MAAA,SAAApC,MAAA,CAAAG,QAAA;QAAA;UAAAiC,WAAA,CAAAC,YAAA;YAWQC,MAAA,EAAmC,IAAAlB,GAAA,MAAApB,MAAA,CAAAe,OAAA,EAAAwB;UACnC;QACD,SAAQjB,MAAO;UAChBc,WAAK,CAAAC,YAAqB;YACzBC,MAAA,OAAAtC,MAAuB,CAAAe,OAAA,CAAAC,OAAY;UAClC;QACF;MACA;MACA,IAAI,KAAAhB,MAAS,CAAAG,QAAM,KAAO,KAAO,MAAA+B,iBAAc,GAAW,KAAAlC,MAAA,CAAAwC,IAAA,cAAAN,iBAAA,uBAAAA,iBAAA,CAAAO,SAAA;QAC5D,IAAQA,SAAA,eAAAzC,MAAA,CAAAwC,IAAA,CAAAC,SAAA,6BAAAzC,MAAA,CAAAwC,IAAA,CAAAC,SAAA,UAAAzC,MAAA,CAAAwC,IAAA,CAAAC,SAAA;QAGR,IAAAC,MAAE,UAAAD,SAAA;QACAL,WAAK,CAAAC,YAAA,GAAsB;UAC7B,GAAAD,WAAA,CAAAC,YAAA;UACCK;QACH,CAAO;MACT;MAEQ,MAAAP,kBAAmC,QAAAnC,MAAA,CAAAwC,IAAA,cAAAL,kBAAA,uBAAAA,kBAAA,CAAAQ,QAAA,UAAA3C,MAAA,CAAAwC,IAAA,CAAAI,KAAA;QACzC,IAAAA,KAAW,UAAW,IAAK,CAAA5C,MAAA,CAAAwC,IAAA,CAAgBI,KAAA,KAAQ,UAAE,cAAA5C,MAAA,CAAAwC,IAAA,CAAAI,KAAA,UAAA5C,MAAA,CAAAwC,IAAA,CAAAI,KAAA;QAChD,IAAAA,KAAA;UACP,IAAAC,QAAA,QAAA7C,MAAA,CAAAwC,IAAA,CAAAM,IAAA;UAEyB,KAAAV,WAAA,CAAAC,YAAA,EAAAD,WAAA,CAAAC,YAAA;UAChBD,WAAY,CAAAC,YAAA,CAAcU,aAAA,GAAAF,QAAA,0BAAAD,KAAA,cAAAA,KAAA;QACnC;MAEQ;MACF,IAAAR,WAAe,CAAAC,YAAU;QAC7BD,WAAW,CAAAY,gBAAqB;UACxBC,SAAQ;YACPZ,YAAA,EAAe;cACZ,GAAAD,WAAK,CAAAC;YACZ;UACG;UACJa,OAAA,EAAa;YACbb,YAAU;cACZ,GAAAD,WAAA,CAAAC;YACK;UACN;QACH;MAEc;MACR,OAAKD,WAAa;IACtB;EACE,GACF;IACAhD,GAAA,EAAM,mBAAK;IACb1B,KAAA;IAEQ;AACN;AAGA;AACE;AAAyD;AAE3D;AACE;AAAkD;AACpD;IACF,SAAAyF,kBAAA;MAAA,IAAAC,KAAA;MAAA,IAAAC,MAAA,QAAAA,MAAA;MAAA,KAAAA,MAAA,SAAAC,OAAA,CAAAC,OAAA;MAAA,SAAAC,mBAAA,cAAAA,mBAAA;MAAA,KAAAA,mBAAA;QAAA;UAAA,IAAApB,WAAA,SAAAgB,KAAA,CAAAnB,cAAA;UAUM,IAAyBwB,OAAA,GAAAJ,MAAA,CAAAK,EAAA;UACpB,IAAAD,OAAS,KAAO,IAAK,IAAAA,OAAW,uBAAAA,OAAA,CAAAE,IAAA,EAAAzE,MAAA,CAAA0E,MAAA,CAAAH,OAAA,CAAAE,IAAA,EAAAvB,WAAA;QACrC,CAAK,QAAAd,MAAU,EAAK,CACnB;UACD8B,KAAA,CAAAI,mBAAA;QACI;MACN,EAAM;MAUN,OAAM,KAAAA,mBACQ;IAGd;EACe,GACP;IACepE,GACrB,yBAAc;IAAA1B,KACd,WAAAmG,qBAA6BA,CAAAC,EAAA;MAC7B,IAAAC,yBAAmB;QAAAC,iBAAA;QAAAC,cAAA;MACnB;QACA,SAASC,SAAA,QAAAC,cAAA,CAAAC,MAAA,CAAAC,QAAA,KAAAC,KAAA,IAAAP,yBAAA,IAAAO,KAAA,GAAAJ,SAAA,CAAAK,IAAA,IAAAC,IAAA,GAAAT,yBAAA;UACT,IAAAR,OAAA,GAAAe,KAAA,CAAA5G,KAAA;UACA6F,OAAA,CAAAO,EAAA;QACA;MACA,SAAQW,GAAA;QACTT,iBAAA;QACDC,cAAkB,GAAAQ,GAAA;MAClB,UAAY;QACd,IAAS;UACF,KAAAV,yBAAe,IAAAG,SAAA,CAAAQ,MAAA;YACfR,SAAA,CAAAQ,MAAA;UACC;QACR;UACF,IAAAV,iBAAA;YAAA,MAAAC,cAAA;UAAA;QAAA;MAAA;MAAA,KAAAE,cAAA,CAAAQ,KAAA;IAAA;EAAA,GASA;IACEvF,GAAI,SAAK;IACT1B,KAAK,WAAAkH,KAAeA,CAAA;MAChB,YAAA5E,MAAA,CAAA6E,SAAA;IACF;EACA,GAEA;IACEzF,GAAA,oBAAU;IAAA1B,KACR,WAAAoH,iBAAA;MAIF,IAAA1B,KAAA;MACF,IAAA2B,SAAA,GAAAC,SAAA,CAAAnG,MAAA,QAAAmG,SAAA,iBAAAA,SAAA;MACA,IAAM,KAAAC,SAAY,IAAK,OAAA3B,OAAY,CAAAC,OAAA;MACnC,OAAK,IAAAD,OAAc,WAAIC,OAAA,EAAgB;QACrC,IAAA2B,KAAA,GAAAC,UAAsB;UACvB/B,KAAA,CAAAe,cAAA,CAAAiB,MAAA,CAAAC,OAAA;UACI9B,OAAA;QACP,GAASwB,SAAK;QACZ,IAAKM,OAAA,YAAeC,SAAAxB,EAAA;UACfyB,YAAA,CAAAL,KAAA;UACC3B,OAAA,CAAAO,EAAA;QACR;QACFV,KAAA,CAAAe,cAAA,CAAAqB,GAAA,CAAAH,OAAA;MAEc;IACZ;EACA,GACA;IACEjG,GAAA,mBAAU;IACZ1B,KAAA,iBAAsB+H,gBAAA;MACpB,IAAM,KAAAR,SAAY;MAClB,IAAM,KAAG,CAAA5B,MAAO,IAAI,KAAK,CAAAqC,WAAc,IAAI,KAAK,CAAAC,YAAU,EAAI;QAChE,MAAO,KAAAC,OAAA;MACL;MACE,WAAAd,gBAAA;IAIF;EACF,GACA;IACA1F,GAAI,oBAAqB;IAIzB1B,KAAM,WAAmBmI,iBAAA;MACzB,SAAY,CAAAxC,MAAK,IAAK,KAAK,CAAAyC,aAAQ;MACjC,IAAM/B,yBAAkB,GAAU;QAAAC,iBAAmB,GAAM,KAAI;QAAAC,cAAA;MAC/D,IAAM;QACR,SAAAC,SAAA,QAAA6B,QAAA,CAAAC,MAAA,GAAA5B,MAAA,CAAAC,QAAA,KAAAC,KAAA,IAAAP,yBAAA,IAAAO,KAAA,GAAAJ,SAAA,CAAAK,IAAA,IAAAC,IAAA,GAAAT,yBAAA;UACO,IAAGkC,IAAM,GAAA3B,KAAI,CAAA5G,KAAS;UAC/B,KAAA2F,MAAA,CAAA6C,IAAA,kBAAAD,IAAA,CAAApG,OAAA,EAAAoG,IAAA,CAAAnG,IAAA;QAEQ;MAEN,CAAK,QAAA2E,GAAA;QACAT,iBAAa,GAAM;QAEnBC,cAAA,GAAkBQ,GAAA;MACvB,CAAK;QACA;UAIL,IAAW,CAAAV,yBAAyB,IAAAG,SAAc,CAAAQ,MAAA;YAC3CR,SAAA,CAAAQ,MAAkB;UACzB;QAGA,UAAW;UACJ,IAAAV,iBAAkB,EAAK;YAC9B,MAAAC,cAAA;UACF;QAEQ;MACF;MACJ,IAAMkC,0BAA2C;QAAAC,kBAAA;QAAAC,eAAA;MAC/C,IAAK;QACP,SAAAC,UAAA,QAAAC,SAAA,CAAAP,MAAA,GAAA5B,MAAA,CAAAC,QAAA,KAAAmC,MAAA,IAAAL,0BAAA,IAAAK,MAAA,GAAAF,UAAA,CAAA/B,IAAA,IAAAC,IAAA,GAAA2B,0BAAA;UACK,IAAAM,KAAA,GAAaD,MAAI,CAAA9I,KAAM;UACvB,KAAA2F,MAAA,CAAA6C,IAAkB,oBAAQ,EAAAO,KAAA,CAAA5G,OAAA;QAC1B;MACP,SAAA4E,GAAA;QAEQ2B,kBAAsC;QAIxCC,eAAK,GAAc5B,GAAI;MACvB,CAAC,SAAK;QACJ;UACF,KAAA0B,0BAAU,IAAAG,UAAA,CAAA5B,MAAA;YACP4B,UAAY,CAAA5B,MAAA;UACZ;QACP;UACK,IAAA0B,kBAAyB;YAChC,MAAAC,eAAA;UAEQ;QACN;MAMF;IAAA;EAAA;IAAAjH,GAAA;IAAA1B,KAAA;IAAA;AAAA;AAAA;AAUE;AACE;AACE;AACA;AACA;IACA,eAAKkI,QAAA;MACP,QAAW,CAAAhB,KAAA,EAAS,SAAS,KAAA8B,UAAA;MAM3B,IAAK,KAAArD,MAAA,IAAe,KAAAsC,YAAA;MACpB,IAAK,CAAAA,YAAA,GAAgB;MACrB,IAAK;QACL,IAAKvD,WAAA,SAAsB,IAAK,CAAAH,cAAA;QAClC,IAAA0E,SAAA,QAAA9F,YAAA;QACA,IAAA+F,UAAA,QAAA5G,MAAA,CAAAG,QAAA,cACF,WACM,WAAkB,CACtB,IACM,WAAa,EACnB,SAAa,CACf;QACM,KAAAkD,MAAW,GAAK,IAAAlF,aAAY,CAAAuF,EAAA,EAAAiD,SAAA;UAC9BE,WAAU;UACRC,IAAA;UACAC,mBAAA;UACFC,YAAkB,MAAK;UACzBC,oBAAc,EAAAC,MAAA,CAAAC,iBAAA;UAEZC,iBAAa;UACbC,oBAAA;UACFC,OAAA;UACKV,UAAQ;UACbW,eAAoB;UACb,GAAAnF,WAAe;UACtB,QAAApC,MAAA,CAAAwH;QACA;QACF,KAAAC,YAAA;QAGI,KAAApE,MAAmB,CAAMuC,OAAA;MACzB,SAAAnB,GAAA;QACF,IAAU,CAAAkB,YAAW,QAAU;QACzB,KAAA9B,qBAAA;QAER,MAAAY,GAAA;MACK;IACP;EAAA;IAAArF,GAAA;IAAA1B,KAAA;IAOQ;AACN;AACA;AACA;AAAQ;AACN;AAGF;IACF,eAAAgJ,WAAA;MAAA,SAAAhB,WAAA,SAAAC,YAAA;MAAA,KAAAA,YAAA;MAAA;QAMQ,IAAA+B,IAAuB;QACzB,IAAKC,GAAA,GAAQ,KAAA3H,MAAA,CAAA2H,GAAA;QAEX,IAAAC,eAAmB,IAAAF,IAAA,GAAAC,GAAA,SAAuB,IAAAA,GAAA,KAAY,kBAAAA,GAAA,CAAAE,WAAA,cAAAH,IAAA,cAAAA,IAAA,GAAAI,UAAA,CAAAD,WAAA;QACxD,IAAK,CAAAD,eAAO;UACd,UAAAG,KAAA;QACK;QACA,IAAAvG,GAAA,GAAS,WAAAwG,WAAA;QAChB,KAAAtC,WAAA,OAAAkC,eAAA,CAAApG,GAAA;UACS+F,eAAa,EAAAI,GAAA,aAAAA,GAAA,uBAAAA,GAAA,CAAAJ;QACpB;QACE,IAAK,CAAAU,eAAY;MACnB,SAAAxD,GAAA;QACK,KAAAkB,YAAkB;QAClB,KAAA9B,qBAAc;QACrB,MAAAY,GAAA;MACK;IACL,CAAK;EAEL,GACA;IACArF,GAAK,eAAe;IACpB1B,KAAK,iBAAAsK,WAA2BA,CAAA;MAClC,IAAAN,IAAA;MAEQ,IAAAQ,gBAAqB;MACvB,IAACP,GAAK,OAAQ,CAAA3H,MAAA,CAAA2H,GAAA;MAElB,IAAKnG,GAAA;MACL,IAAKmG,GAAA,aAAAA,GAAoB,KAAM,kBAAAA,GAAA,CAAAnG,GAAA;QAC1BA,GAAA,GAAOmG,GAAG,CAAAnG,GAAA;MACb,OAAK,IAAAmG,GAAA,KAAe,QAAAA,GAAA,uBAAAA,GAAA,CAAAb,IAAA;QACpB,IAAKhG,IAAA,QAAAd,MAAgB,CAAAe,OAAA,CAAAC,OAAA;QACrBQ,GAAK,MAAAV,IAAA,GAAA6G,GAAiB,CAAAb,IAAA,CAAAqB,UAAA,mBAAAR,GAAA,CAAAb,IAAA;MACtB,OAAK;QACL,MAAK,IAAAiB,KAAA,uSAA0B;MAChC;MACD,IAAKK,MAAO,GAAGlJ,MAAA,CAAAmJ,OAAe,EAAAX,IAAA,IAAWQ,gBAAA,QAAAlI,MAAA,CAAA2H,GAAA,cAAAO,gBAAA,uBAAAA,gBAAA,CAAAI,WAAA,cAAAZ,IAAA,cAAAA,IAAA;MACvC,IAAKU,MAAA,CAAAvJ,MAAA,KAAgB,UAAA2C,GAAA;MAGrB,IAAK+G,KAAK;MACV,IAAKxE,yBAAe,GAAc,IAAE;QAAAC,iBAAQ;QAAAC,cAAA;MAC7C;QACI,SAAUC,SAAA,GAAAkE,MAAkB,CAAAhE,MAAA,CAAAC,QAAU,KAAAC,KAAA,IAAAP,yBAAA,IAAAO,KAAA,GAAAJ,SAAA,CAAAK,IAAA,IAAAC,IAAA,GAAAT,yBAAA;UACpC,KAAA3E,GAAA,EAAA1B,KAAe,IAAA4G,KAAA,CAAA5G,KAAA;UAGf,IAAK8K,QAAA,UAAkB9K,KAAA,wBAAAA,KAAA,KAAAA,KAAA;UACvB6K,KAAA,CAAAE,IAAA,IAAeC,kBAAiB,CAAAtJ,GAAK,KAAAsJ,kBAAA,CAAAF,QAAA;QAC1C;MACD,SAAA/D,GAAA;QAIKT,iBAAgB,OAAkE;QACxFC,cAAc,GAAAQ,GAAA;MACZ,UAAU;QACX;UAED,IAAW,CAAAV,yBAAyB,IAAKG,SAAG,CAAAQ,MAAA;YACrCR,SAAA,CAAAQ,MAAA,EAAqB;UAC5B;QACF;UAAA,IAAAV,iBAAA;YAAA,MAAAC,cAAA;UAAA;QAKQ;MACF;MAEJ,OAAM,GAAAzC,GAAW,GAAAA,GAAA,CAAAb,QAAqB,oBAAA4H,KAAA,CAAAI,IAAA;IACpC;EACF,GACA;IACAvJ,GAAK;IACL1B,KAAK,WAAUuK,eAAcA,CAAA;MAC/B,IAAAP,IAAA;MAAA,IAAAQ,gBAAA;MAAA,KAAAU,iBAAA,CAAAjE,KAAA;MAAA,KAAAkE,YAAA,CAAAlE,KAAA;MAKQ,KAAAmE,iBAA0C;MAC5C,IAAC,CAAAA,iBAAqB;MAE1B,IAAM,CAAAA,iBAAe;MACjB,IAAA/E,yBAAS;QAAAC,iBAAA;QAAAC,cAAA;MACX,IAAK;QACL,KAAK,IAAAC,SAAA,GAAoB,EAAAwD,IAAA,GAAO,CAAAQ,gBAAK,QAAAlI,MAAA,CAAA2H,GAAA,cAAAO,gBAAA,uBAAAA,gBAAA,CAAAa,MAAA,cAAArB,IAAA,cAAAA,IAAA,OAAAtD,MAAA,CAAAC,QAAA,KAAAC,KAAA,IAAAP,yBAAA,IAAAO,KAAA,GAAAJ,SAAA,CAAAK,IAAA,IAAAC,IAAA,GAAAT,yBAAA;UACvC,IAAAjB,IAAA,GAAAwB,KAAA,CAAA5G,KAAA;UACK,KAAAoL,iBAAqB,CAAAhG,IAAO;QACnC;MAEQ,SAAe2B,GAAA;QACfT,iBAAa,GAAK;QACnBC,cAAY,GAAAQ,GAAA;MACjB,UAAW;QACT,IAAQ;UACV,KAAAV,yBAAA,IAAAG,SAAA,CAAAQ,MAAA;YACFR,SAAA,CAAAQ,MAAA;UAES;QACH;UACC,IAAAV,iBAAY;YACf,MAAaC,cAAA;UACR;QACP;MACA;MASI,IAAAkC,0BAAc;QAAAC,kBAAA;QAAAC,eAAA;MAChB,IAAK;QACP,KAAO,IAAAC,UAAA,QAAA0C,UAAA,CAAAC,IAAA,GAAA7E,MAAA,CAAAC,QAAA,KAAAmC,MAAA,IAAAL,0BAAA,IAAAK,MAAA,GAAAF,UAAA,CAAA/B,IAAA,IAAAC,IAAA,GAAA2B,0BAAA;UACA,IAAA+C,KAAA,GAAA1C,MAAA,CAAA9I,KAAqB;UAC5B,KAAAoL,iBAAA,CAAAI,KAAA;QACF;MAEI,SAAezE,GAAA,EAAwB;QACnC2B,kBAAkB;QACnBC,eAAY,GAAA5B,GAAA;MACjB,UAAW;QACP;UACG,KAAA0B,0BAAuB,IAAAG,UAAA,CAAA5B,MAAA;YACxB4B,UAAc,CAAA5B,MAAA;UAChB;QACF,UAAO;UACL,IAAK0B,kBAAqB;YAC5B,MAAAC,eAAA;UACF;QACF;MAEM;IACJ;EAKA,GACA;IACAjH,GAAK,qBAAqB;IAExB1B,KAAK,WAAOoL,iBAAKA,CAAiBhG,IAAA;MACpC,IAAAM,KAAA;MACF,UAAAsC,WAAA,SAAAkD,iBAAA,CAAAO,GAAA,CAAArG,IAAA;MAEA,IAAAsG,QAAe,YAAqCC,UAAAH,KAAA;QAC7C9F,KAAA,CAAAkG,cAAgB,CAAAxG,IAAA,EAAWoG,KAAA;MAC5B,CAAC;MACH,IAAK,CAAAL,YAAY,CAAAU,GAAA,CAAAzG,IAAA,EAAAsG,QAAmB;MACtC,KAAAR,iBAAA,CAAApD,GAAA,CAAA1C,IAAA;MACA,IAAK,CAAA4C,WAAA,CAAA8D,gBAAiB,CAAA1G,IAAA,EAAAsG,QAAA;IACxB;EAAA;IAAAhK,GAAA;IAAA1B,KAAA,WAAA+L,kBAAA3G,IAAA;MAAA,SAAA4G,aAAA,CAAA5G,IAAA;MAAA,UAAA4C,WAAA,UAAAkD,iBAAA,CAAAO,GAAA,CAAArG,IAAA;MAAA,IAAAsG,QAAA,QAAAP,YAAA,CAAAc,GAAA,CAAA7G,IAAA;MASM,IAAAsG,QAAA,EAAc;QACb,KAAA1D,WAAc,CAAAkE,mBAAoB,CAAA9G,IAAQ,EAACsG,QAAA;QAC5C,IAAK,CAAAP,YAAc,CAAAzD,MAAA,CAAAtC,IAAA;MACvB;MACI,IAAC,CAAA8F,iBAAqB,CAAAxD,MAAA,CAAAtC,IAAU;IAClC;EACF,GACF;IAEA1D,GAAA,iBAAgB;IACd1B,KAAK,WAAUgM,aAAcA,CAAA5G,IAAA;MACzB,IAAC4E,IAAK;MACR,IAAKQ,gBAAY;MACnB,OAAApF,IAAA,eAAAA,IAAA,gBAAAA,IAAA,oBAAA4E,IAAA,IAAAQ,gBAAA,QAAAlI,MAAA,CAAA2H,GAAA,cAAAO,gBAAA,uBAAAA,gBAAA,CAAAa,MAAA,cAAArB,IAAA,cAAAA,IAAA,OAAA/G,QAAA,CAAAmC,IAAA;IACA;EACF;IAAA1D,GAAA;IAAA1B,KAAA;IAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;IAYM,SAAK4L,cAAgBA,CAAAxG,IAAK,EAAAoG,KAAK;MAC9B,IAAKW,kBAAgB;MAGrB,IAAA3B,gBAAe;MACf,KAAAgB,KAAA,KAAe,QAAAA,KAAA,uBAAAA,KAAA,CAAAY,IAAA;QACtB,IAAAhH,IAAA;UAEY,KAAA6C,YAAA;UAGD,KAAMG,aAAU,GAAK;UACvB,IAAK,CAAAiE,cAAiB,YAAK,EAAQ;YAC5ClF,SAAA;UAEA,CAAmB;UACZ,KAAAhB,qBAAe;QACf,WAAWf,IAAM;UACjB,IAAS,CAAA6C,YAAM;UACf,KAAUG,aAAM;UACvB,KAAAiE,cAAA;YAEMC,MAAW;UACV,EAAO;UAcN,KAAAnG,qBACC,MAAS;QAKX;QACD;MACF;MACF,IAAAoG,KAAA;QACFnH,IAAA;QAEKgH,IAAe,EAAAnI,MAAe,CAAAuH,KAAA,CAAAY,IAAA;QAC7BI,WAAc,GAAAL,kBAAA,GAAAX,KAAA,CAAAgB,WAAA,cAAAL,kBAAA,cAAAA,kBAAA;MAGZ,CAAC;MACH,IAAKM,QAAA,IAAAjC,gBAAsB,QAAAlI,MAAA,CAAA2H,GAAA,cAAAO,gBAAA,uBAAAA,gBAAA,CAAAiC,QAAA;MAC3B,IAAAA,QAAQ;QACN,IAAAC,MAAA;QAEF;UACFA,MAAA,GAAAD,QAAA,CAAAF,KAAA;QACA,SAAAxF,GAAA;UACF4F,OAAA,CAAAC,IAAA,wDAAA7F,GAAA;UACS;QACF;QACP,KAAA2F,MAAA;QACF,IAAArG,yBAAA;UAAAC,iBAAA;UAAAC,cAAA;QAEA,IAAY;UACH,KAAK,IAAAC,SAAA,GAAAkG,MAAA,CAAAhG,MAAA,CAAAC,QAAA,KAAAC,KAAA,IAAAP,yBAAA,IAAAO,KAAA,GAAAJ,SAAA,CAAAK,IAAA,IAAAC,IAAA,GAAAT,yBAAA;YACd;cAAAmF,KAAA,EAAAqB,WAAA;cAAAC;YAAA,IAAAlG,KAAA,CAAA5G,KAAA;YAAA,KAAAqM,cAAA,CAAAQ,WAAA,EAAAC,OAAA;UAGA;QACS,SAAK/F,GAAA;UACdT,iBAAA;UAAAC,cAAA,GAAAQ,GAAA;QAAA;UAAA;YAAA,KAAAV,yBAAA,IAAAG,SAAA,CAAAQ,MAAA;cAAAR,SAAA,CAAAQ,MAAA;YAOyB;UACf,CAAG,SAAK;YAClB,IAAAV,iBAAA;cAAA,MAAAC,cAAA;YAGA;UACU;QACV;QACF","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","backfill_exports","BackfillManager","BackfillReason","BackfillStrategy","module","exports","import_filters","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","log","console","BackfillReason2","BackfillStrategy2","BackfillManager2","db","normalizedCache","options","arguments","Map","backfill","subscription","reason","subscriptionId","id","activeBackfills","has","queueBackfill","backfillPromise","performBackfill","set","backfillSucceeded","error","delete","queued","backfillQueue","_$reason","shift","catch","backfillOne","getProgressiveCache","hasMore","fetchWithCursor","processDocuments","calculateCheckpoint","updateProgressiveCache","rehydrateCurrentPage","pageSize","viewWindow","currentPage","start","response","getDocList","query","doctype","fields","filters","orderBy","limitStart","limit","newDocIds","map","doc2","currentDocIds","docIds","updatedDocIds","splice","upsert","needsRehydration","strategy","determineStrategy","fullRefresh","incrementalBackfill","pageBackfill","gapBackfill","cursorFetch","nextCursor","checkpoint","batchSize","_this_options_maxPages","maxPages","page","_response_checkpoint","_ref","_response_deleted","modifiedAfter","Array","isArray","deleted","deletedDocIds","filter","deletion","removeDocuments","rows","exists","includes","matches","matchesFilters","madeProgress","has_more","pendingBackfill","cursor","queue","push"],"sources":["backfill.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 backfill_exports = {};\n__export(backfill_exports, {\n BackfillManager: () => BackfillManager,\n BackfillReason: () => BackfillReason,\n BackfillStrategy: () => BackfillStrategy\n});\nmodule.exports = __toCommonJS(backfill_exports);\nvar import_filters = require(\"./filters\");\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 log = console;\nvar BackfillReason = /* @__PURE__ */ (function(BackfillReason2) {\n BackfillReason2[\"DeleteGap\"] = \"delete-gap\";\n BackfillReason2[\"Initial\"] = \"initial\";\n BackfillReason2[\"Pagination\"] = \"pagination\";\n BackfillReason2[\"Periodic\"] = \"periodic\";\n BackfillReason2[\"Recovery\"] = \"recovery\";\n BackfillReason2[\"Rehydration\"] = \"rehydration\";\n BackfillReason2[\"RemoteCreate\"] = \"remote-create\";\n BackfillReason2[\"RemoteUpdate\"] = \"remote-update\";\n return BackfillReason2;\n})({});\nvar BackfillStrategy = /* @__PURE__ */ (function(BackfillStrategy2) {\n BackfillStrategy2[\"CursorFetch\"] = \"cursor-fetch\";\n BackfillStrategy2[\"FullRefresh\"] = \"full-refresh\";\n BackfillStrategy2[\"GapFill\"] = \"gap-fill\";\n BackfillStrategy2[\"Incremental\"] = \"incremental\";\n BackfillStrategy2[\"PageOnly\"] = \"page-only\";\n return BackfillStrategy2;\n})({});\nvar BackfillManager = /* @__PURE__ */ (function() {\n \"use strict\";\n function BackfillManager2(db, normalizedCache) {\n var options = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};\n _class_call_check(this, BackfillManager2);\n _define_property(this, \"activeBackfills\", /* @__PURE__ */ new Map());\n _define_property(this, \"backfillQueue\", /* @__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 }\n _create_class(BackfillManager2, [\n {\n key: \"backfill\",\n value: async function backfill(subscription, reason) {\n var subscriptionId = subscription.id;\n if (this.activeBackfills.has(subscriptionId)) {\n this.queueBackfill(subscriptionId, reason);\n return this.activeBackfills.get(subscriptionId);\n }\n var backfillPromise = this.performBackfill(subscription, reason);\n this.activeBackfills.set(subscriptionId, backfillPromise);\n var backfillSucceeded = false;\n try {\n await backfillPromise;\n backfillSucceeded = true;\n } catch (err) {\n log.error(err);\n } finally {\n this.activeBackfills.delete(subscriptionId);\n if (backfillSucceeded) {\n var queued = this.backfillQueue.get(subscriptionId);\n if (queued && queued.length > 0) {\n var _$reason = queued.shift();\n if (queued.length === 0) this.backfillQueue.delete(subscriptionId);\n if (_$reason) this.backfill(subscription, _$reason).catch(log.error);\n }\n } else {\n this.backfillQueue.delete(subscriptionId);\n }\n }\n }\n },\n {\n key: \"backfillOne\",\n value: (\n /**\n * Backfill one item to fill a gap\n */\n async function backfillOne(subscription) {\n if (!subscription.getProgressiveCache().hasMore) {\n return null;\n }\n try {\n var docs = await this.fetchWithCursor(subscription, 1);\n if (docs.length > 0) {\n var doc = docs[0];\n subscription.processDocuments([\n doc\n ], this.normalizedCache, {\n calculateCheckpoint: false\n });\n return doc;\n }\n subscription.updateProgressiveCache({\n hasMore: false\n });\n return null;\n } catch (error) {\n console.error(\"Failed to backfill one item:\", error);\n return null;\n }\n }\n )\n },\n {\n key: \"rehydrateCurrentPage\",\n value: (\n /**\n * Rehydrate current page\n */\n async function rehydrateCurrentPage(subscription) {\n var pageSize = subscription.viewWindow.pageSize;\n var currentPage = subscription.viewWindow.currentPage;\n var start = (currentPage - 1) * pageSize;\n try {\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: start,\n limit: pageSize\n });\n var newDocIds = response.map(function(doc2) {\n return doc2.name;\n });\n var currentDocIds = subscription.getProgressiveCache().docIds;\n var updatedDocIds = [\n ...currentDocIds\n ];\n updatedDocIds.splice(start, pageSize, ...newDocIds);\n subscription.updateProgressiveCache({\n docIds: updatedDocIds\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 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 subscription.needsRehydration = false;\n } catch (error) {\n console.error(\"Failed to rehydrate current page:\", error);\n throw error;\n }\n }\n )\n },\n {\n key: \"performBackfill\",\n value: async function performBackfill(subscription, reason) {\n var strategy = this.determineStrategy(subscription, reason);\n switch (strategy) {\n case \"full-refresh\":\n await this.fullRefresh(subscription);\n break;\n case \"incremental\":\n await this.incrementalBackfill(subscription);\n break;\n case \"page-only\":\n await this.pageBackfill(subscription);\n break;\n case \"gap-fill\":\n await this.gapBackfill(subscription);\n break;\n case \"cursor-fetch\":\n await this.cursorFetch(subscription);\n break;\n }\n }\n },\n {\n key: \"determineStrategy\",\n value: function determineStrategy(subscription, reason) {\n switch (reason) {\n case \"initial\":\n return \"full-refresh\";\n case \"pagination\":\n return subscription.getProgressiveCache().nextCursor ? \"cursor-fetch\" : \"incremental\";\n case \"delete-gap\":\n return \"gap-fill\";\n case \"remote-create\":\n case \"remote-update\":\n case \"rehydration\":\n return \"page-only\";\n case \"periodic\":\n return subscription.checkpoint ? \"incremental\" : \"full-refresh\";\n case \"recovery\":\n return subscription.checkpoint ? \"incremental\" : \"full-refresh\";\n default:\n return \"incremental\";\n }\n }\n },\n {\n key: \"fullRefresh\",\n value: async function fullRefresh(subscription) {\n var batchSize = this.options.batchSize || this.options.pageSize || 100;\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 limit: batchSize,\n limitStart: 0\n });\n subscription.processDocuments(response, this.normalizedCache);\n subscription.updateProgressiveCache({\n hasMore: response.length === batchSize\n });\n }\n },\n {\n key: \"incrementalBackfill\",\n value: async function incrementalBackfill(subscription) {\n if (!subscription.checkpoint) {\n return this.fullRefresh(subscription);\n }\n try {\n var _this_options_maxPages;\n var maxPages = (_this_options_maxPages = this.options.maxPages) !== null && _this_options_maxPages !== void 0 ? _this_options_maxPages : 20;\n for (var page = 0; page < maxPages; page++) {\n var _response_checkpoint, _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 limit: this.options.pageSize || 200\n });\n if (\"deleted\" in response && Array.isArray(response.deleted)) {\n var deletedDocIds = response.deleted.filter(function(deletion) {\n return deletion === null || deletion === void 0 ? void 0 : deletion.name;\n }).map(function(deletion) {\n return deletion.name;\n });\n if (deletedDocIds.length > 0) {\n subscription.removeDocuments(deletedDocIds, this.normalizedCache);\n }\n }\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = response.rows[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var doc = _step.value;\n var exists = subscription.getProgressiveCache().docIds.includes(doc.name);\n var matches = (0, import_filters.matchesFilters)(doc, subscription.query.filters);\n if (exists && !matches) {\n subscription.removeDocuments([\n doc.name\n ], this.normalizedCache);\n } else if (!exists && matches) {\n subscription.needsRehydration = true;\n } else if (exists) {\n this.normalizedCache.upsert(doc);\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 subscription.checkpoint = (_response_checkpoint = response.checkpoint) !== null && _response_checkpoint !== void 0 ? _response_checkpoint : calculateCheckpointFromDocs(response.rows);\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 } catch (error) {\n console.error(\"Incremental backfill failed:\", error);\n await this.fullRefresh(subscription);\n }\n }\n },\n {\n key: \"pageBackfill\",\n value: async function pageBackfill(subscription) {\n var pageSize = subscription.viewWindow.pageSize;\n var currentPage = subscription.viewWindow.currentPage;\n var start = (currentPage - 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: start,\n limit: pageSize\n });\n var newDocIds = response.map(function(doc2) {\n return doc2.name;\n });\n var currentDocIds = subscription.getProgressiveCache().docIds;\n var updatedDocIds = [\n ...currentDocIds\n ];\n updatedDocIds.splice(start, pageSize, ...newDocIds);\n subscription.updateProgressiveCache({\n docIds: updatedDocIds\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 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 subscription.needsRehydration = false;\n }\n },\n {\n key: \"gapBackfill\",\n value: async function gapBackfill(subscription) {\n await this.backfillOne(subscription);\n subscription.pendingBackfill = false;\n }\n },\n {\n key: \"cursorFetch\",\n value: async function cursorFetch(subscription) {\n if (!subscription.getProgressiveCache().hasMore) return;\n var batchSize = this.options.batchSize || this.options.pageSize || 100;\n var docs = await this.fetchWithCursor(subscription, batchSize);\n subscription.updateProgressiveCache({\n docIds: [\n ...subscription.getProgressiveCache().docIds,\n ...docs.map(function(doc2) {\n return doc2.name;\n })\n ],\n nextCursor: docs.length > 0 ? docs[docs.length - 1].name : subscription.getProgressiveCache().nextCursor,\n hasMore: docs.length === batchSize\n });\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 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 }\n },\n {\n key: \"fetchWithCursor\",\n value: async function fetchWithCursor(subscription, limit) {\n return this.db.getDocList(subscription.query.doctype, {\n fields: subscription.query.fields,\n filters: subscription.query.filters,\n orderBy: subscription.query.orderBy,\n cursor: subscription.getProgressiveCache().nextCursor,\n limit\n });\n }\n },\n {\n key: \"queueBackfill\",\n value: function queueBackfill(subscriptionId, reason) {\n if (!this.backfillQueue.has(subscriptionId)) {\n this.backfillQueue.set(subscriptionId, []);\n }\n var queue = this.backfillQueue.get(subscriptionId);\n if (!queue.includes(reason)) queue.push(reason);\n }\n }\n ]);\n return BackfillManager2;\n})();\n//# sourceMappingURL=backfill.js.map\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","backfill_exports","__export","BackfillManager","BackfillReason","BackfillStrategy","module","exports","import_filters","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","log","console","BackfillReason2","BackfillStrategy2","BackfillManager2","db","normalizedCache","options","arguments","Map","backfill","subscription","reason","subscriptionId","id","activeBackfills","has","queueBackfill","get","backfillPromise","performBackfill","set","backfillSucceeded","error","delete","queued","backfillQueue","_$reason","shift","catch","backfillOne","getProgressiveCache","hasMore","fetchWithCursor","processDocuments","calculateCheckpoint","updateProgressiveCache","rehydrateCurrentPage","pageSize","viewWindow","currentPage","start","response","getDocList","query","doctype","fields","filters","orderBy","limitStart","limit","newDocIds","map","doc2","name","currentDocIds","docIds","updatedDocIds","splice","upsert","needsRehydration","strategy","determineStrategy","fullRefresh","incrementalBackfill","pageBackfill","gapBackfill","cursorFetch","nextCursor","checkpoint","batchSize"],"sources":["../../../src/sync/backfill.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,gBAAA;AAAAC,QAAA,CAAAD,gBAAA;EAAAE,eAAA,EAAAA,CAAA,KAAAA,eAAA;EAAAC,cAAA,EAAAA,CAAA,KAAAA,cAAA;EAAAC,gBAAA,EAAAA,CAAA,KAAAA;AAAA;AAEAC,MAAA,CAAAC,OAAA,GAAAX,YAA+B,CAAAK,gBAAA;AAM/B,IAAAO,cAAS,GAAAC,OAAA,sBAA4B;AACnC,SAAIC,iBAAmBA,CAAAC,QAAO,EAAAC,WAAA;EAE9B,IAAI,EAAAD,QAAA,YAAeC,WAAA;IACnB,MAAI,IAAAC,SAAuB;EAE3B;AACE;AACA,SAAKC,iBAAUA,CAAAC,MAAA,EAAAC,KAAA;EAEf,SAAIC,CAAA,MAAAA,CAAA,GAAAD,KAAA,CAAAE,MAAA,EAAAD,CAAA;IACF,IAAAE,UAAM,GAAOH,KAAI,CAAAC,CAAK;IACtBE,UAAI,CAAAC,UAAa,GAAKD,UAAS,CAAGC,UAAA;IAElCD,UAAK,CAAAE,YAAW,GAAO;IACrB,eAAUF,UAAA,EAAAA,UAAA,CAAAG,QAAA;IACVC,MAAA,CAAAC,cAAe,CAAAT,MAAA,EAAAI,UAAA,CAAAM,GAAA,EAAAN,UAAA;EAAA;AACjB;AAGA,SAAAO,aAAKA,CAAAd,WAAgB,EAAAe,UAAW,EAAAC,WAAc;EAC5C,IAAAD,UAAA,EAAAb,iBAAe,CAAAF,WAAA,CAAAiB,SAAA,EAAAF,UAAA;EAAA,IACjBC,WAAA,EAAAd,iBAAA,CAAAF,WAAA,EAAAgB,WAAA;EAAA,OACFhB,WAAA;AAAA;AAGF,SAAOkB,gBAAgBA,CAAAC,GAAA,EAAAN,GAAA,EAAAzB,KAAA;EACzB,IAAAyB,GAAA,IAAAM,GAAA;IAIAR,MAAM,CAAAC,cAAM,CAAAO,GAAA,EAAAN,GAAA;MAEAzB,KAAA;MACVoB,UAAA;MACAC,YAAA;MACAC,QAAA;IACA;EACA;IACAS,GAAA,CAAAN,GAAA,IAAAzB,KAAA;EACA;EACA,OAAA+B,GAAA;AARU;AAAA,SAAAC,4BAAAC,IAAA;EAWL,IAAKA,IAAA,CAAAf,MAAA,MAAL;EACL,IAAAgB,YAAA;EACA,IAAAC,OAAA;EACA,IAAAC,yBAAA,GAAU;IAAAC,iBAAA;IAAAC,cAAA;EACV;IACA,SAAAC,SAAA,GAAAN,IAAA,CAAAO,MAAW,CAAAC,QAAA,KAAAC,KAAA,IAAAN,yBAAA,IAAAM,KAAA,GAAAH,SAAA,CAAAI,IAAA,IAAAC,IAAA,GAAAR,yBAAA;MALD,IAAAS,GAAA,GAAAH,KAAA,CAAA1C,KAAA;MAAA,IAAA8C,QAAA,GAAAD,GAAA,CAAAC,QAAA;MAqBC,KAAAA,QAAA;MACH;QACA,IAAAC,IAAA,GAAgB,IAAAC,IAAA,CAAAF,QAAA;QAChB,IAAAG,MAAA,CAAAC,KAAA,CAAAH,IAAA,CAAAI,OAAA;QACA,KAAAhB,OAAA,IAAAY,IAAA,GAAAZ,OAAA;UACAA,OAAA,GAAAY,IAAA;UAERb,YAA0B,GAAAY,QAAA;QACxB;MACA,SAAKM,MAAA;QACL,IAAK,CAAAlB,YAAU,IAAAY,QAAA,GAAAZ,YAAA;UACjBA,YAAA,GAAAY,QAAA;QAEM;MACJ;IACA;EACE,SAAKO,GAAA;IACLhB,iBAAY;IACdC,cAAA,GAAAe,GAAA;EACA,UAAM;IACN;MACA,IAAI,CAAAjB,yBAAoB,IAAAG,SAAA,CAAAe,MAAA;QACpBf,SAAA,CAAAe,MAAA;MACF;IACA;MACF,IAAAjB,iBAAc;QACZ,MAAIC,cAAS;MACf;IACE;EACA;EACE,OAAAJ,YAAM,IAAS,KAAK;AACpB;AACE,IAAAqB,GAAA,GAAAC,OAAM;AACN,IAAApD,cAAI,GAAO,eAAc,UAAKqD,eAAqB;EACnDA,eAAI,YAAa,gBAAS;EAAqCA,eACjE;EAAAA,eACK;EACLA,eAAK,WAAc,cAAO;EAAcA,eAC1C;EAAAA,eACF;EACFA,eAAA;EAAAA,eAAA;EAAA,OAAAA,eAAA;AAAA;AAAA,IAKApD,gBAAkB,kBAA6E,UAAAqD,iBAAA;EAC7FA,iBAAK,cAAa,kBAAsB;EACtCA,iBAAO;EAAAA,iBACT;EAEAA,iBAAI;EAEFA,iBAAa,WAAW;EAExB,OAAAA,iBAAkB;AAChB;AAGA,IAAAvD,eAAA,GAAa,eAAkB,YAAW;EAAiB,YACzD;;EAAqB,SAAAwD,iBAAAC,EAAA,EAAAC,eAAA;IAAA,IACvBC,OAAC,GAAAC,SAAA,CAAA7C,MAAA,QAAA6C,SAAA,iBAAAA,SAAA;IAEDrD,iBAAO,OAAAiD,gBAAA;IAAA7B,gBACT,6CAAAkC,GAAA;IAGAlC,gBAAa,sBAAuB,EAAE,eAAgB,IAAAkC,GAAA;IACtDlC,gBAAO;IACTA,gBAAgB;IACdA,gBAAc;IACd,KAAA8B,EAAA,GAAOA,EAAA;IACT,KAAAC,eAAA,GAAAA,eAAA;IACF,KAAAC,OAAA,GAAAA,OAAA;EAAA;EAAApC,aAAA,CAAAiC,gBAAA;IAKAlC,GAAM;IACJzB,KAAM,iBAAWiE,QAAaA,CAAAC,YAAW,EAAAC,MAAA;MACzC,IAAMC,cAAc,GAAAF,YAAa,CAAAG,EAAA;MACjC,IAAM,KAAAC,eAAS,CAAcC,GAAA,CAAAH,cAAK;QAE9B,KAAAI,aAAA,CAAAJ,cAAA,EAAAD,MAAA;QAEF,OAAM,KAAAG,eAAyB,CAAAG,GAAA,CAAAL,cAAW;MACxC;MACA,IAAAM,eAAS,GAAa,KAAAC,eAAM,CAAAT,YAAA,EAAAC,MAAA;MAC5B,KAAAG,eAAS,CAAAM,GAAa,CAAAR,cAAM,EAAAM,eAAA;MAC5B,IAAAG,iBAAY;MACZ;QACD,MAAAH,eAAA;QAGDG,iBAAkB,OAAS;MAC3B,SAAMxB,GAAA;QACNE,GAAM,CAAAuB,KAAA,CAAAzB,GAAA;MACN;QACA,KAAAiB,eAAa,CAAAS,MAAA,CAAAX,cAAiC;QAG9C,IAAAS,iBAAkB;UAChB,IAAKG,MAAA,OAAgB,CAAAC,aAAU,CAAAR,GAAA,CAAAL,cAAA;UACjC,IAAAY,MAAA,IAAAA,MAAA,CAAA9D,MAAA;YAGA,IAAAgE,QAAa,GAAAF,MAAA,CAAAG,KAAmB;YACzB,IAAAH,MAAO,CAAA9D,MAAA,aAAA+D,aAAA,CAAAF,MAAA,CAAAX,cAAA;YACN,IAAAc,QAAM,OAAAjB,QAAA,CAAAC,YAAA,EAAAgB,QAA0C,EAAAE,KAAA,CAAA7B,GAAA,CAAAuB,KAAA;UAClD;QACR;UACF,KAAAG,aAAA,CAAAF,MAAA,CAAAX,cAAA;QAEc;MAIZ;IACA;EAAkB,GAEd;IACA3C,GAAA;IACFzB,KAAK;IACH;AACA;AAAA;IAEA,eAAWqF,WAAaA,CAAAnB,YAAY;MACpC,KAAAA,YAAA,CAAAoB,mBAAA,GAAAC,OAAA;QACG;MACH;MACA;QACG,IAAAtD,IAAA,cAAAuD,eAAA,CAAAtB,YAAA;QACH,IAAMjC,IAAK,CAAAf,MAAA,IAAY;UACvB,IAAA2B,GAAA,GAAAZ,IAAA;UACJiC,YAAA,CAAAuB,gBAAA,EACF5C,GAAA,CAEQ,MACN,CAAAgB,eACA;YAEQ6B,mBAAQ;UACT;UACH,OAAO7C,GAAA;QACJ;QACHqB,YAAO,CAAAyB,sBAAa,CAAoB;UAGrCJ,OAAA;QACH;QACG;MACL,CAAK,QAAAT,KAAA;QACAtB,OAAA,CAAAsB,KAAA,iCAAAA,KAAA;QACH,OAAO;MACT;IACE;EAIA,GAEI;IAEJrD,GAAA,wBAAO;IACXzB,KAAA;IACF;AAAA;AAGE;IACA,eAAiB4F,oBAAcA,CAAA1B,YAAW;MACxC,IAAQ2B,QAAA,GAAA3B,YAAmB,CAAA4B,UAAA,CAAAD,QAAA;MAC3B,IAAAE,WAAS,GAAa7B,YAAM,CAAA4B,UAAA,CAAAC,WAAA;MAC5B,IAAAC,KAAS,IAAAD,WAAmB,QAAAF,QAAA;MAC5B,IAAO;QACP,IAAAI,QAAY,cAAArC,EAAA,CAAAsC,UAAA,CAAAhC,YAAA,CAAAiC,KAAA,CAAAC,OAAA;UACbC,MAAA,EAAAnC,YAAA,CAAAiC,KAAA,CAAAE,MAAA;UAEDC,OAAa,EAAApC,YAAiB,CAAAiC,KAAA,CAAAG,OAAe;UAC7CC,OAAa,EAAArC,YAAA,CAAAiC,KAAuB,CAAAI,OAAA;UAClCC,UAAkB,EAAAR,KAAA;UACnBS,KAAA,EAAAZ;QACH;QAEc,IAAAa,SAAA,GAAoBT,QAAA,CAAAU,GAAA,WAAkDC,IAAA;UAC7E,OAAAA,IAAa,CAAAC,IAAA;QAChB,CAAO;QACT,IAAAC,aAAA,GAAA5C,YAAA,CAAAoB,mBAAA,GAAAyB,MAAA;QAEI,IAAAC,aAAA,IAGI,GAAAF,aAAgB,CACtB;QACEE,aAAiB,CAAAC,MAAM,CAAAjB,KAAK,EAAGH,QAAS,KAAAa,SAAA;QACtCxC,YAAS,CAAAyB,sBAAmB;UAC5BoB,MAAQ,EAAAC;QACR;QACA,IAAA5E,yBAA4B;UAAAC,iBAAA;UAAAC,cAAA;QAC5B;UACD,SAAAC,SAAA,GAAA0D,QAAA,CAAAzD,MAAA,CAAAC,QAAA,KAAAC,KAAA,IAAAN,yBAAA,IAAAM,KAAA,GAAAH,SAAA,CAAAI,IAAA,IAAAC,IAAA,GAAAR,yBAAA;YAGG,IAAAS,GAAA,GAAaH,KAAA,CAAA1C,KAAY;YACrB,KAAA6D,eAAiB,CAAAqD,MAAS,CAAArE,GAAA;UAI5B;QACF,SAAAQ,GAAA,EAAa;UACfhB,iBAAA;UACFC,cAAA,GAAAe,GAAA;QAGA,UAAW;UACT,IAAM;YACA,KAAAjB,yBAAU,IAAAG,SAAA,CAAAe,MAAA;cACdf,SAAA,CAAAe,MAAA;YACA;UACF;YAEI,IAAAjB,iBAAoB;cAEtB,MAAAC,cAAa;YACf;UAEE;QACF;QAEE4B,YAAK,CAAAiD,gBAAuB,GAAG;MACjC,SAAArC,KAAA;QACFtB,OAAA,CAAAsB,KAAA,sCAAAA,KAAA;QAIA,MAAAA,KAAa;MAEb;IACA;EAEJ,GACE;IAEArD,GAAA,mBAAW;IACbzB,KAAA,iBAAA2E,gBAAAT,YAAA,EAAAC,MAAA;MACF,IAAAiD,QAAA,QAAAC,iBAAA,CAAAnD,YAAA,EAAAC,MAAA;MAEc,QAAAiD,QAAa;QACnB,mBAAW;UACX,WAAAE,WAAc,CAAApD,YAAa,CAAW;UACtC;QAGA,kBAAiB;UACrB,MAAQ,KAAAqD,mBAAmB,CAAArD,YAAA;UAC3B;QACA,KAAS;UACT,MAAY,KAAAsD,YAAA,CAAAtD,YAAA;UACZ;QACD;UAGK,UAAY,CAAAuD,WAAS,CAAIvD,YAAS,CAAI;UACtC;QACA,mBAAiB;UACvB,MAAc,KAAAwD,WAAc,CAAAxD,YAAa;UACzC;MAGA;IACE;EACF,GAGA;IACFzC,GAAA;IAEAzB,KAAc,WAAYqH,iBAAkDA,CAAAnD,YAAA,EAAAC,MAAA;MAE1E,QAAWA,MAAA;QAGX,cAAa;UACf;QAEc,iBAAY;UACnB,OAAAD,YAAa,CAAAoB,mBAAsB,CAAS,EAAAqC,UAAA;QAC3C,iBAAiB;UACjB,OAAO,UAAW;QAGxB,oBAAa;QACX,KAAS,eAAG;QACZ,kBACO;UAGP,OAAS,WAAK;QACf;UAGD,OAAWzD,YAAa,CAAA0D,UAAA;QACtB,KAAK;UACP,OAAA1D,YAAA,CAAA0D,UAAA;QACF;UAEc,oBACZ;MAGA;IACE;EAA2B,GACC;IAE5BnG,GAAA,eAAQ;IACRzB,KAAA,iBAAAsH,YAAApD,YAAA;MACD,IAAA2D,SAAA,QAAA/D,OAAA,CAAA+D,SAAA,SAAA/D,OAAA,CAAA+B,QAAA;MACH,IAAAI,QAAA,cAAArC,EAAA,CAAAsC,UAAA,CAAAhC,YAAA,CAAAiC,KAAA,CAAAC,OAAA;QAEQC,MAAc,EAAAnC,YAAA,CAAAiC,KAAwB,CAAAE,MAA8B;QACrEC,OAAK,EAAApC,YAAc,CAAIiC,KAAA,CAAAG,OAAA;QAC1BC,OAAK,EAAArC,YAAkB,CAAAiC,KAAA,CAAAI,OAAgB;QACzCE,KAAA,EAAAoB,SAAA;QACMrB,UAAQ;MACV,CAAC;MACPtC,YAAA,CAAAuB,gBAAA,CAAAQ,QAAA,OAAApC,eAAA;MACFK,YAAA,CAAAyB,sBAAA","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","filters_exports","FilterOperator","canEvaluateClientSide","extractFilterFields","extractSingleName","formatFilter","getClientEvaluationBlockers","hasServerOnlyOperators","isTreeOperator","matchesFilters","normalizeFilters","validateFilters","module","exports","_type_of","obj","Symbol","constructor","FilterOperator2","normalizeOperator","operator","String","toLowerCase","doc","filters","Array","isArray","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","iterator","_step","next","done","filterTuple","fieldName","operatorRaw","expectedValue","documentValue","evaluateFilterCondition","err","return","_iteratorNormalCompletion1","_didIteratorError1","_iteratorError1","_iterator1","entries","_step1","fieldName1","expectedValue1","isOperator","_len","arguments","length","enumValues","_key","some","enumValue","areComparableValues","a","b","compareAsNumbers","comparison","numberA","Number","numberB","isNaN","includes","evaluateLikePattern","min","max","pattern","negate","patternStr","valueStr","matches","startsWith","endsWith","slice","normalizedOperator","STANDARD_FIELDS","Set","TEXT_FIELD_TYPES","COMPARABLE_FIELD_TYPES","VALID_OPERATORS","values","map","v","schema","options","errors","warnings","strict","valid","fieldMap","Map","f","fieldname","schemaField","has","push","field","message","code","fieldType","fieldtype","keys","schemaField1","param","normalized","c","condition","displayValue","JSON","stringify","join","SERVER_ONLY_OPERATORS","blockers","normalizedOp"],"sources":["filters.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 filters_exports = {};\n__export(filters_exports, {\n FilterOperator: () => FilterOperator,\n canEvaluateClientSide: () => canEvaluateClientSide,\n extractFilterFields: () => extractFilterFields,\n extractSingleName: () => extractSingleName,\n formatFilter: () => formatFilter,\n getClientEvaluationBlockers: () => getClientEvaluationBlockers,\n hasServerOnlyOperators: () => hasServerOnlyOperators,\n isTreeOperator: () => isTreeOperator,\n matchesFilters: () => matchesFilters,\n normalizeFilters: () => normalizeFilters,\n validateFilters: () => validateFilters\n});\nmodule.exports = __toCommonJS(filters_exports);\nfunction _type_of(obj) {\n \"@swc/helpers - typeof\";\n return obj && typeof Symbol !== \"undefined\" && obj.constructor === Symbol ? \"symbol\" : typeof obj;\n}\nvar FilterOperator = /* @__PURE__ */ (function(FilterOperator2) {\n FilterOperator2[\"AncestorsOf\"] = \"ancestors of\";\n FilterOperator2[\"Between\"] = \"between\";\n FilterOperator2[\"DescendantsOf\"] = \"descendants of\";\n FilterOperator2[\"DoubleEquals\"] = \"==\";\n FilterOperator2[\"Equals\"] = \"=\";\n FilterOperator2[\"GreaterThan\"] = \">\";\n FilterOperator2[\"GreaterThanOrEqual\"] = \">=\";\n FilterOperator2[\"In\"] = \"in\";\n FilterOperator2[\"Is\"] = \"is\";\n FilterOperator2[\"IsNot\"] = \"is not\";\n FilterOperator2[\"LessThan\"] = \"<\";\n FilterOperator2[\"LessThanOrEqual\"] = \"<=\";\n FilterOperator2[\"Like\"] = \"like\";\n FilterOperator2[\"NotAncestorsOf\"] = \"not ancestors of\";\n FilterOperator2[\"NotDescendantsOf\"] = \"not descendants of\";\n FilterOperator2[\"NotEquals\"] = \"!=\";\n FilterOperator2[\"NotEqualsAngle\"] = \"<>\";\n FilterOperator2[\"NotIn\"] = \"not in\";\n FilterOperator2[\"NotLike\"] = \"not like\";\n return FilterOperator2;\n})({});\nfunction normalizeOperator(operator) {\n return String(operator).toLowerCase();\n}\nfunction matchesFilters(doc, filters) {\n if (!filters) return true;\n if (Array.isArray(filters)) {\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = filters[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var filterTuple = _step.value;\n var [fieldName, operatorRaw, expectedValue] = filterTuple;\n var documentValue = doc === null || doc === void 0 ? void 0 : doc[fieldName];\n var operator = normalizeOperator(operatorRaw);\n if (!evaluateFilterCondition(documentValue, operator, expectedValue)) {\n return false;\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 true;\n }\n if ((typeof filters === \"undefined\" ? \"undefined\" : _type_of(filters)) === \"object\") {\n var _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = void 0;\n try {\n for (var _iterator1 = Object.entries(filters)[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {\n var [fieldName1, expectedValue1] = _step1.value;\n if ((doc === null || doc === void 0 ? void 0 : doc[fieldName1]) !== expectedValue1) return false;\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 true;\n }\n return true;\n}\nfunction isOperator(operator) {\n for (var _len = arguments.length, enumValues = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n enumValues[_key - 1] = arguments[_key];\n }\n return enumValues.some(function(enumValue) {\n return enumValue.toLowerCase() === operator.toLowerCase();\n });\n}\nfunction areComparableValues(a, b) {\n return a != null && b != null && (typeof a === \"number\" || typeof a === \"string\") && (typeof b === \"number\" || typeof b === \"string\");\n}\nfunction compareAsNumbers(a, b, comparison) {\n if (!areComparableValues(a, b)) return false;\n var numberA = Number(a);\n var numberB = Number(b);\n if (Number.isNaN(numberA) || Number.isNaN(numberB)) return false;\n return comparison(numberA, numberB);\n}\nfunction evaluateFilterCondition(documentValue, operator, expectedValue) {\n if (isOperator(operator, \"=\", \"==\")) {\n return documentValue === expectedValue;\n }\n if (isOperator(operator, \"!=\", \"<>\")) {\n return documentValue !== expectedValue;\n }\n if (isOperator(operator, \"<\")) {\n return compareAsNumbers(documentValue, expectedValue, function(a, b) {\n return a < b;\n });\n }\n if (isOperator(operator, \"<=\")) {\n return compareAsNumbers(documentValue, expectedValue, function(a, b) {\n return a <= b;\n });\n }\n if (isOperator(operator, \">\")) {\n return compareAsNumbers(documentValue, expectedValue, function(a, b) {\n return a > b;\n });\n }\n if (isOperator(operator, \">=\")) {\n return compareAsNumbers(documentValue, expectedValue, function(a, b) {\n return a >= b;\n });\n }\n if (isOperator(operator, \"in\")) {\n return Array.isArray(expectedValue) && expectedValue.includes(documentValue);\n }\n if (isOperator(operator, \"not in\")) {\n return !Array.isArray(expectedValue) || !expectedValue.includes(documentValue);\n }\n if (isOperator(operator, \"like\")) {\n return evaluateLikePattern(documentValue, expectedValue, false);\n }\n if (isOperator(operator, \"not like\")) {\n return !evaluateLikePattern(documentValue, expectedValue, false);\n }\n if (isOperator(operator, \"is\") && (expectedValue === null || expectedValue === \"null\")) {\n return documentValue === null || documentValue === void 0;\n }\n if (isOperator(operator, \"is not\") && (expectedValue === null || expectedValue === \"null\")) {\n return documentValue !== null && documentValue !== void 0;\n }\n if (isOperator(operator, \"between\") && Array.isArray(expectedValue) && expectedValue.length === 2) {\n var [min, max] = expectedValue;\n return compareAsNumbers(documentValue, min, function(a, b) {\n return a >= b;\n }) && compareAsNumbers(documentValue, max, function(a, b) {\n return a <= b;\n });\n }\n return false;\n}\nfunction evaluateLikePattern(documentValue, pattern, negate) {\n var patternStr = String(pattern || \"\").toLowerCase();\n var valueStr = String(documentValue || \"\").toLowerCase();\n var matches = false;\n if (patternStr.startsWith(\"%\") && patternStr.endsWith(\"%\")) {\n matches = valueStr.includes(patternStr.slice(1, -1));\n } else if (patternStr.startsWith(\"%\")) {\n matches = valueStr.endsWith(patternStr.slice(1));\n } else if (patternStr.endsWith(\"%\")) {\n matches = valueStr.startsWith(patternStr.slice(0, -1));\n } else {\n matches = valueStr.includes(patternStr);\n }\n return negate ? !matches : matches;\n}\nfunction extractSingleName(filters) {\n if (!filters) return void 0;\n if (Array.isArray(filters)) {\n if (filters.length === 1) {\n var [fieldName, operatorRaw, value] = filters[0];\n var normalizedOperator = normalizeOperator(operatorRaw);\n if (fieldName === \"name\" && isOperator(normalizedOperator, \"=\", \"==\")) {\n return typeof value === \"string\" ? value : void 0;\n }\n }\n return;\n }\n if ((typeof filters === \"undefined\" ? \"undefined\" : _type_of(filters)) === \"object\" && filters.name && typeof filters.name === \"string\") {\n return filters.name;\n }\n}\nvar STANDARD_FIELDS = /* @__PURE__ */ new Set([\n \"name\",\n \"creation\",\n \"modified\",\n \"modified_by\",\n \"owner\",\n \"docstatus\",\n \"idx\",\n \"doctype\",\n \"_user_tags\",\n \"_comments\",\n \"_assign\",\n \"_liked_by\"\n]);\nvar TEXT_FIELD_TYPES = /* @__PURE__ */ new Set([\n \"Data\",\n \"Text\",\n \"Small Text\",\n \"Long Text\",\n \"Link\",\n \"Select\",\n \"Dynamic Link\",\n \"Text Editor\",\n \"Code\",\n \"HTML Editor\",\n \"Markdown Editor\",\n \"Password\",\n \"Read Only\"\n]);\nvar COMPARABLE_FIELD_TYPES = /* @__PURE__ */ new Set([\n \"Int\",\n \"Float\",\n \"Currency\",\n \"Percent\",\n \"Date\",\n \"Datetime\",\n \"Time\",\n \"Duration\",\n \"Rating\"\n]);\nvar VALID_OPERATORS = new Set(Object.values(FilterOperator).map(function(v) {\n return v.toLowerCase();\n}));\nfunction validateFilters(filters, schema) {\n var options = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};\n var errors = [];\n var warnings = [];\n var { strict = false } = options;\n if (!filters) {\n return {\n valid: true,\n errors,\n warnings\n };\n }\n var fieldMap = new Map(schema.map(function(f) {\n return [\n f.fieldname,\n f\n ];\n }));\n if (Array.isArray(filters)) {\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = filters[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var filterTuple = _step.value;\n var [fieldName, operatorRaw, value] = filterTuple;\n var schemaField = fieldMap.get(fieldName);\n var operator = normalizeOperator(operatorRaw);\n if (!schemaField && !STANDARD_FIELDS.has(fieldName)) {\n if (strict) {\n errors.push({\n field: fieldName,\n message: `Unknown field \"${fieldName}\" in doctype schema`,\n code: \"unknown_field\"\n });\n } else {\n warnings.push(`Field \"${fieldName}\" not found in schema - may be a virtual or custom field`);\n }\n continue;\n }\n if (!VALID_OPERATORS.has(operator)) {\n errors.push({\n field: fieldName,\n message: `Invalid operator \"${operatorRaw}\" for field \"${fieldName}\"`,\n code: \"invalid_operator\"\n });\n continue;\n }\n if (schemaField) {\n var fieldType = schemaField.fieldtype;\n if (isOperator(operator, \"like\", \"not like\") && !TEXT_FIELD_TYPES.has(fieldType)) {\n warnings.push(`LIKE operator on non-text field \"${fieldName}\" (${fieldType}) may not work as expected`);\n }\n if (isOperator(operator, \">\", \"<\", \">=\", \"<=\", \"between\") && !COMPARABLE_FIELD_TYPES.has(fieldType)) {\n warnings.push(`Comparison operator on non-numeric/date field \"${fieldName}\" (${fieldType}) may not work as expected`);\n }\n if (isOperator(operator, \"in\", \"not in\") && !Array.isArray(value)) {\n errors.push({\n field: fieldName,\n message: `IN/NOT IN operator requires an array value for field \"${fieldName}\"`,\n code: \"invalid_value\"\n });\n }\n if (isOperator(operator, \"between\")) {\n if (!Array.isArray(value) || value.length !== 2) {\n errors.push({\n field: fieldName,\n message: `BETWEEN operator requires an array of exactly 2 values for field \"${fieldName}\"`,\n code: \"invalid_value\"\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 } else if ((typeof filters === \"undefined\" ? \"undefined\" : _type_of(filters)) === \"object\") {\n var _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = void 0;\n try {\n for (var _iterator1 = Object.keys(filters)[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {\n var fieldName1 = _step1.value;\n var schemaField1 = fieldMap.get(fieldName1);\n if (!schemaField1 && !STANDARD_FIELDS.has(fieldName1)) {\n if (strict) {\n errors.push({\n field: fieldName1,\n message: `Unknown field \"${fieldName1}\" in doctype schema`,\n code: \"unknown_field\"\n });\n } else {\n warnings.push(`Field \"${fieldName1}\" not found in schema - may be a virtual or custom field`);\n }\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 return {\n valid: errors.length === 0,\n errors,\n warnings\n };\n}\nfunction normalizeFilters(filters) {\n if (!filters) return [];\n if (Array.isArray(filters)) {\n return filters;\n }\n return Object.entries(filters).map(function(param) {\n var [field, value] = param;\n return [\n field,\n \"=\",\n value\n ];\n });\n}\nfunction extractFilterFields(filters) {\n if (!filters) return [];\n var normalized = normalizeFilters(filters);\n return [\n ...new Set(normalized.map(function(c) {\n return c[0];\n }))\n ];\n}\nfunction formatFilter(condition) {\n var [field, operator, value] = condition;\n var displayValue;\n if (value === null || value === void 0) {\n displayValue = \"null\";\n } else if (Array.isArray(value)) {\n displayValue = \"[\" + value.map(function(v) {\n return JSON.stringify(v);\n }).join(\", \") + \"]\";\n } else if (typeof value === \"string\") {\n displayValue = JSON.stringify(value);\n } else {\n displayValue = String(value);\n }\n return `${field} ${operator} ${displayValue}`;\n}\nvar SERVER_ONLY_OPERATORS = /* @__PURE__ */ new Set([\n \"ancestors of\".toLowerCase(),\n \"descendants of\".toLowerCase(),\n \"not ancestors of\".toLowerCase(),\n \"not descendants of\".toLowerCase()\n]);\nfunction hasServerOnlyOperators(filters) {\n if (!filters) return false;\n var normalized = normalizeFilters(filters);\n return normalized.some(function(param) {\n var [, operator] = param;\n return SERVER_ONLY_OPERATORS.has(normalizeOperator(operator));\n });\n}\nfunction canEvaluateClientSide(filters) {\n return !hasServerOnlyOperators(filters);\n}\nfunction isTreeOperator(operator) {\n return SERVER_ONLY_OPERATORS.has(normalizeOperator(operator));\n}\nfunction getClientEvaluationBlockers(filters) {\n if (!filters) return [];\n var blockers = [];\n var normalized = normalizeFilters(filters);\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = normalized[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var [field, operator] = _step.value;\n var normalizedOp = normalizeOperator(operator);\n if (SERVER_ONLY_OPERATORS.has(normalizedOp)) {\n blockers.push(`Field \"${field}\" uses tree operator \"${operator}\" which requires server-side evaluation`);\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 blockers;\n}\n//# sourceMappingURL=filters.js.map\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","filters_exports","__export","FilterOperator","canEvaluateClientSide","extractFilterFields","extractSingleName","formatFilter","getClientEvaluationBlockers","hasServerOnlyOperators","isTreeOperator","matchesFilters","normalizeFilters","validateFilters","module","exports","_type_of","obj","Symbol","constructor","FilterOperator2","normalizeOperator","operator","String","toLowerCase","doc","filters","Array","isArray","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","iterator","_step","next","done","filterTuple","fieldName","operatorRaw","expectedValue","documentValue","evaluateFilterCondition","err","return","_iteratorNormalCompletion1","_didIteratorError1","_iteratorError1","_iterator1","Object","entries","_step1","fieldName1","expectedValue1","isOperator","_len","arguments","length","enumValues","_key","some","enumValue","areComparableValues","a","b","compareAsNumbers","comparison","numberA","Number","numberB","isNaN","includes","evaluateLikePattern","min","max","pattern","negate","patternStr","valueStr","matches","startsWith","endsWith","slice","normalizedOperator","name","STANDARD_FIELDS","Set","TEXT_FIELD_TYPES","COMPARABLE_FIELD_TYPES","VALID_OPERATORS","values","map","v","schema","options","errors","warnings","strict","valid","fieldMap","Map","f","fieldname","schemaField","get","has","push","field","message","code","fieldType","fieldtype","keys","schemaField1"],"sources":["../../../src/sync/filters.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -73,7 +73,14 @@ class SyncModule {
73
73
  });
74
74
  this.subscriptionManager = new import_subscriptionManager.SubscriptionManager(this.db, this.normalizedCache, this.options);
75
75
  this.rehydrationManager = new import_rehydration.RehydrationManager(this.db, this.normalizedCache, this.subscriptionManager, this.mutationJournal, () => this.emit());
76
- this.mutationEngine = new import_mutationEngine.MutationEngine(this.db, this.realtime, this.normalizedCache, this.mutationJournal, this.subscriptionManager, this.rehydrationManager, this.options);
76
+ this.mutationEngine = new import_mutationEngine.MutationEngine(this.db, this.realtime, this.normalizedCache, this.mutationJournal, this.subscriptionManager, this.rehydrationManager, {
77
+ ...this.options,
78
+ // Bridge engine-internal optimistic applies to store listeners so
79
+ // pending state paints BEFORE the server round trip. Without this,
80
+ // subscribeStore consumers only re-read after the ack (mutate()'s
81
+ // trailing emit) and the in-memory optimism was invisible to them.
82
+ onStoreChange: () => this.emit()
83
+ });
77
84
  const realtimeOptions = {
78
85
  ...this.options,
79
86
  onResetCache: () => this.resetCache(),
@@ -163,6 +170,43 @@ class SyncModule {
163
170
  await this.mutationEngine.replayPending();
164
171
  this.emit();
165
172
  }
173
+ /**
174
+ * Public read of the mutation ledger: journal entries still awaiting the
175
+ * server (`Status.Pending`) or rejected by it (`Status.Failed`), ordered
176
+ * by submission sequence. Confirmed entries are dropped from the journal
177
+ * and never appear here. Read inside a `subscribeStore` callback for a
178
+ * reactive pending/error surface (see `useFrappePendingMutations`).
179
+ */
180
+ getMutationEntries(doctype) {
181
+ const entries = [];
182
+ for (const {
183
+ id,
184
+ entry
185
+ } of this.mutationJournal.listPending()) {
186
+ if (doctype && entry.doctype !== doctype) continue;
187
+ entries.push({
188
+ id,
189
+ operation: entry.operation,
190
+ doctype: entry.doctype,
191
+ docname: entry.docname,
192
+ status: entry.status,
193
+ createdAt: entry.createdAt ?? 0,
194
+ retryCount: entry.retryCount ?? 0,
195
+ error: entry.error ? entry.error.message ?? String(entry.error) : void 0
196
+ });
197
+ }
198
+ return entries;
199
+ }
200
+ /**
201
+ * Drops a failed (or still-pending) ledger entry without retrying it —
202
+ * the "dismiss" half of the rejected-write contract. The optimistic
203
+ * rollback already ran when the mutation failed; this only clears the
204
+ * error affordance.
205
+ */
206
+ dismissMutation(id) {
207
+ this.mutationJournal.remove(id);
208
+ this.emit();
209
+ }
166
210
  /** Reads a single document from the local cache. */
167
211
  getDocFromCache(doctype, name) {
168
212
  return this.normalizedCache.get({
@@ -107,7 +107,16 @@ var SyncModule = /* @__PURE__ */function () {
107
107
  this.rehydrationManager = new import_rehydration.RehydrationManager(this.db, this.normalizedCache, this.subscriptionManager, this.mutationJournal, function () {
108
108
  return _this.emit();
109
109
  });
110
- this.mutationEngine = new import_mutationEngine.MutationEngine(this.db, this.realtime, this.normalizedCache, this.mutationJournal, this.subscriptionManager, this.rehydrationManager, this.options);
110
+ this.mutationEngine = new import_mutationEngine.MutationEngine(this.db, this.realtime, this.normalizedCache, this.mutationJournal, this.subscriptionManager, this.rehydrationManager, {
111
+ ...this.options,
112
+ // Bridge engine-internal optimistic applies to store listeners so
113
+ // pending state paints BEFORE the server round trip. Without this,
114
+ // subscribeStore consumers only re-read after the ack (mutate()'s
115
+ // trailing emit) and the in-memory optimism was invisible to them.
116
+ onStoreChange: function onStoreChange() {
117
+ return _this.emit();
118
+ }
119
+ });
111
120
  var realtimeOptions = {
112
121
  ...this.options,
113
122
  onResetCache: function onResetCache() {
@@ -253,6 +262,67 @@ var SyncModule = /* @__PURE__ */function () {
253
262
  await this.mutationEngine.replayPending();
254
263
  this.emit();
255
264
  })
265
+ }, {
266
+ /**
267
+ * Public read of the mutation ledger: journal entries still awaiting the
268
+ * server (`Status.Pending`) or rejected by it (`Status.Failed`), ordered
269
+ * by submission sequence. Confirmed entries are dropped from the journal
270
+ * and never appear here. Read inside a `subscribeStore` callback for a
271
+ * reactive pending/error surface (see `useFrappePendingMutations`).
272
+ */
273
+ key: "getMutationEntries",
274
+ value: function getMutationEntries(doctype) {
275
+ var entries = [];
276
+ var _iteratorNormalCompletion = true,
277
+ _didIteratorError = false,
278
+ _iteratorError = void 0;
279
+ try {
280
+ for (var _iterator = this.mutationJournal.listPending()[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
281
+ var {
282
+ id,
283
+ entry
284
+ } = _step.value;
285
+ var _entry_createdAt, _entry_retryCount, _entry_error_message;
286
+ if (doctype && entry.doctype !== doctype) continue;
287
+ entries.push({
288
+ id,
289
+ operation: entry.operation,
290
+ doctype: entry.doctype,
291
+ docname: entry.docname,
292
+ status: entry.status,
293
+ createdAt: (_entry_createdAt = entry.createdAt) !== null && _entry_createdAt !== void 0 ? _entry_createdAt : 0,
294
+ retryCount: (_entry_retryCount = entry.retryCount) !== null && _entry_retryCount !== void 0 ? _entry_retryCount : 0,
295
+ error: entry.error ? (_entry_error_message = entry.error.message) !== null && _entry_error_message !== void 0 ? _entry_error_message : String(entry.error) : void 0
296
+ });
297
+ }
298
+ } catch (err) {
299
+ _didIteratorError = true;
300
+ _iteratorError = err;
301
+ } finally {
302
+ try {
303
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
304
+ _iterator.return();
305
+ }
306
+ } finally {
307
+ if (_didIteratorError) {
308
+ throw _iteratorError;
309
+ }
310
+ }
311
+ }
312
+ return entries;
313
+ }
314
+ }, {
315
+ /**
316
+ * Drops a failed (or still-pending) ledger entry without retrying it —
317
+ * the "dismiss" half of the rejected-write contract. The optimistic
318
+ * rollback already ran when the mutation failed; this only clears the
319
+ * error affordance.
320
+ */
321
+ key: "dismissMutation",
322
+ value: function dismissMutation(id) {
323
+ this.mutationJournal.remove(id);
324
+ this.emit();
325
+ }
256
326
  }, {
257
327
  /** Reads a single document from the local cache. */
258
328
  key: "getDocFromCache",