@multiplatform.one/frappe 7.11.0 → 7.15.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/cjs/auth.native.js.map +1 -1
- package/dist/cjs/call.native.js.map +1 -1
- package/dist/cjs/collection.native.js.map +1 -1
- package/dist/cjs/common/types.native.js.map +1 -1
- package/dist/cjs/core/http.native.js.map +1 -1
- package/dist/cjs/core/types.native.js.map +1 -1
- package/dist/cjs/core/wire.native.js.map +1 -1
- package/dist/cjs/db.native.js.map +1 -1
- package/dist/cjs/devtools/FrappeDevtoolsPanel.native.js.map +1 -1
- package/dist/cjs/devtools/index.native.js.map +1 -1
- package/dist/cjs/devtools/plugin.native.js.map +1 -1
- package/dist/cjs/devtools/theme.native.js.map +1 -1
- package/dist/cjs/doctype.cjs +25 -43
- package/dist/cjs/doctype.native.js +27 -43
- package/dist/cjs/doctype.native.js.map +1 -1
- package/dist/cjs/file.native.js.map +1 -1
- package/dist/cjs/fixtureDb.native.js.map +1 -1
- package/dist/cjs/fixtures.cjs +3 -0
- package/dist/cjs/fixtures.native.js +3 -0
- package/dist/cjs/fixtures.native.js.map +1 -1
- package/dist/cjs/frappeApp.native.js.map +1 -1
- package/dist/cjs/frappeReact.cjs +13 -1
- package/dist/cjs/frappeReact.native.js +20 -2
- package/dist/cjs/frappeReact.native.js.map +1 -1
- package/dist/cjs/index.cjs +6 -0
- package/dist/cjs/index.native.js +8 -2
- package/dist/cjs/index.native.js.map +1 -1
- package/dist/cjs/optimistic.native.js.map +1 -1
- package/dist/cjs/pacer.native.js.map +1 -1
- package/dist/cjs/plugin/index.native.js.map +1 -1
- package/dist/cjs/realtime.native.js.map +1 -1
- package/dist/cjs/serverLoaders.cjs +74 -0
- package/dist/cjs/serverLoaders.native.js +88 -0
- package/dist/cjs/serverLoaders.native.js.map +1 -0
- package/dist/cjs/sync/backfill.native.js.map +1 -1
- package/dist/cjs/sync/filters.native.js.map +1 -1
- package/dist/cjs/sync/index.cjs +8 -0
- package/dist/cjs/sync/index.native.js +10 -0
- package/dist/cjs/sync/index.native.js.map +1 -1
- package/dist/cjs/sync/merge.native.js.map +1 -1
- package/dist/cjs/sync/mutationEngine.native.js.map +1 -1
- package/dist/cjs/sync/mutationJournal.native.js.map +1 -1
- package/dist/cjs/sync/normalizedCache.native.js.map +1 -1
- package/dist/cjs/sync/persistence.native.js.map +1 -1
- package/dist/cjs/sync/realtime.native.js.map +1 -1
- package/dist/cjs/sync/rehydration.cjs +4 -0
- package/dist/cjs/sync/rehydration.native.js +6 -0
- package/dist/cjs/sync/rehydration.native.js.map +1 -1
- package/dist/cjs/sync/storage.native.js.map +1 -1
- package/dist/cjs/sync/subscriptionManager.native.js.map +1 -1
- package/dist/cjs/sync/types.native.js.map +1 -1
- package/dist/cjs/sync/virtualPageManager.native.js.map +1 -1
- package/dist/cjs/syncOptionsKey.native.js.map +1 -1
- package/dist/cjs/useLiveQuery.cjs +2 -20
- package/dist/cjs/useLiveQuery.native.js +1 -22
- package/dist/cjs/useLiveQuery.native.js.map +1 -1
- package/dist/cjs/util.native.js.map +1 -1
- package/dist/esm/auth.native.js.map +1 -1
- package/dist/esm/call.native.js.map +1 -1
- package/dist/esm/collection.native.js.map +1 -1
- package/dist/esm/common/types.native.js.map +1 -1
- package/dist/esm/core/http.native.js.map +1 -1
- package/dist/esm/core/types.native.js.map +1 -1
- package/dist/esm/core/wire.native.js.map +1 -1
- package/dist/esm/db.native.js.map +1 -1
- package/dist/esm/devtools/FrappeDevtoolsPanel.native.js.map +1 -1
- package/dist/esm/devtools/index.native.js.map +1 -1
- package/dist/esm/devtools/plugin.native.js.map +1 -1
- package/dist/esm/devtools/theme.native.js.map +1 -1
- package/dist/esm/doctype.mjs +23 -44
- package/dist/esm/doctype.mjs.map +1 -1
- package/dist/esm/doctype.native.js +25 -44
- package/dist/esm/doctype.native.js.map +1 -1
- package/dist/esm/file.native.js.map +1 -1
- package/dist/esm/fixtureDb.native.js.map +1 -1
- package/dist/esm/fixtures.mjs +3 -0
- package/dist/esm/fixtures.mjs.map +1 -1
- package/dist/esm/fixtures.native.js +3 -0
- package/dist/esm/fixtures.native.js.map +1 -1
- package/dist/esm/frappeApp.native.js.map +1 -1
- package/dist/esm/frappeReact.mjs +13 -1
- package/dist/esm/frappeReact.mjs.map +1 -1
- package/dist/esm/frappeReact.native.js +19 -1
- package/dist/esm/frappeReact.native.js.map +1 -1
- package/dist/esm/index.mjs +3 -2
- package/dist/esm/index.mjs.map +1 -1
- package/dist/esm/index.native.js +3 -2
- package/dist/esm/index.native.js.map +1 -1
- package/dist/esm/optimistic.native.js.map +1 -1
- package/dist/esm/pacer.native.js.map +1 -1
- package/dist/esm/plugin/index.native.js.map +1 -1
- package/dist/esm/realtime.native.js.map +1 -1
- package/dist/esm/serverLoaders.mjs +48 -0
- package/dist/esm/serverLoaders.mjs.map +1 -0
- package/dist/esm/serverLoaders.native.js +59 -0
- package/dist/esm/serverLoaders.native.js.map +1 -0
- package/dist/esm/sync/backfill.native.js.map +1 -1
- package/dist/esm/sync/filters.native.js.map +1 -1
- package/dist/esm/sync/index.mjs +8 -0
- package/dist/esm/sync/index.mjs.map +1 -1
- package/dist/esm/sync/index.native.js +10 -0
- package/dist/esm/sync/index.native.js.map +1 -1
- package/dist/esm/sync/merge.native.js.map +1 -1
- package/dist/esm/sync/mutationEngine.native.js.map +1 -1
- package/dist/esm/sync/mutationJournal.native.js.map +1 -1
- package/dist/esm/sync/normalizedCache.native.js.map +1 -1
- package/dist/esm/sync/persistence.native.js.map +1 -1
- package/dist/esm/sync/realtime.native.js.map +1 -1
- package/dist/esm/sync/rehydration.mjs +4 -0
- package/dist/esm/sync/rehydration.mjs.map +1 -1
- package/dist/esm/sync/rehydration.native.js +6 -0
- package/dist/esm/sync/rehydration.native.js.map +1 -1
- package/dist/esm/sync/storage.native.js.map +1 -1
- package/dist/esm/sync/subscriptionManager.native.js.map +1 -1
- package/dist/esm/sync/types.native.js.map +1 -1
- package/dist/esm/sync/virtualPageManager.native.js.map +1 -1
- package/dist/esm/syncOptionsKey.native.js.map +1 -1
- package/dist/esm/useLiveQuery.mjs +1 -19
- package/dist/esm/useLiveQuery.mjs.map +1 -1
- package/dist/esm/useLiveQuery.native.js +1 -22
- package/dist/esm/useLiveQuery.native.js.map +1 -1
- package/dist/esm/util.native.js.map +1 -1
- package/dist/jsx/auth.native.js.map +1 -1
- package/dist/jsx/call.native.js.map +1 -1
- package/dist/jsx/collection.native.js.map +1 -1
- package/dist/jsx/common/types.native.js.map +1 -1
- package/dist/jsx/core/http.native.js.map +1 -1
- package/dist/jsx/core/types.native.js.map +1 -1
- package/dist/jsx/core/wire.native.js.map +1 -1
- package/dist/jsx/db.native.js.map +1 -1
- package/dist/jsx/devtools/FrappeDevtoolsPanel.native.js.map +1 -1
- package/dist/jsx/devtools/index.native.js.map +1 -1
- package/dist/jsx/devtools/plugin.native.js.map +1 -1
- package/dist/jsx/devtools/theme.native.js.map +1 -1
- package/dist/jsx/doctype.mjs +23 -44
- package/dist/jsx/doctype.mjs.map +1 -1
- package/dist/jsx/doctype.native.js +27 -43
- package/dist/jsx/doctype.native.js.map +1 -1
- package/dist/jsx/file.native.js.map +1 -1
- package/dist/jsx/fixtureDb.native.js.map +1 -1
- package/dist/jsx/fixtures.mjs +3 -0
- package/dist/jsx/fixtures.mjs.map +1 -1
- package/dist/jsx/fixtures.native.js +3 -0
- package/dist/jsx/fixtures.native.js.map +1 -1
- package/dist/jsx/frappeApp.native.js.map +1 -1
- package/dist/jsx/frappeReact.mjs +13 -1
- package/dist/jsx/frappeReact.mjs.map +1 -1
- package/dist/jsx/frappeReact.native.js +20 -2
- package/dist/jsx/frappeReact.native.js.map +1 -1
- package/dist/jsx/index.js +3 -2
- package/dist/jsx/index.js.map +1 -1
- package/dist/jsx/index.mjs +3 -2
- package/dist/jsx/index.mjs.map +1 -1
- package/dist/jsx/index.native.js +8 -2
- package/dist/jsx/index.native.js.map +1 -1
- package/dist/jsx/optimistic.native.js.map +1 -1
- package/dist/jsx/pacer.native.js.map +1 -1
- package/dist/jsx/plugin/index.native.js.map +1 -1
- package/dist/jsx/realtime.native.js.map +1 -1
- package/dist/jsx/serverLoaders.mjs +48 -0
- package/dist/jsx/serverLoaders.mjs.map +1 -0
- package/dist/jsx/serverLoaders.native.js +88 -0
- package/dist/jsx/serverLoaders.native.js.map +1 -0
- package/dist/jsx/sync/backfill.native.js.map +1 -1
- package/dist/jsx/sync/filters.native.js.map +1 -1
- package/dist/jsx/sync/index.mjs +8 -0
- package/dist/jsx/sync/index.mjs.map +1 -1
- package/dist/jsx/sync/index.native.js +10 -0
- package/dist/jsx/sync/index.native.js.map +1 -1
- package/dist/jsx/sync/merge.native.js.map +1 -1
- package/dist/jsx/sync/mutationEngine.native.js.map +1 -1
- package/dist/jsx/sync/mutationJournal.native.js.map +1 -1
- package/dist/jsx/sync/normalizedCache.native.js.map +1 -1
- package/dist/jsx/sync/persistence.native.js.map +1 -1
- package/dist/jsx/sync/realtime.native.js.map +1 -1
- package/dist/jsx/sync/rehydration.mjs +4 -0
- package/dist/jsx/sync/rehydration.mjs.map +1 -1
- package/dist/jsx/sync/rehydration.native.js +6 -0
- package/dist/jsx/sync/rehydration.native.js.map +1 -1
- package/dist/jsx/sync/storage.native.js.map +1 -1
- package/dist/jsx/sync/subscriptionManager.native.js.map +1 -1
- package/dist/jsx/sync/types.native.js.map +1 -1
- package/dist/jsx/sync/virtualPageManager.native.js.map +1 -1
- package/dist/jsx/syncOptionsKey.native.js.map +1 -1
- package/dist/jsx/useLiveQuery.mjs +1 -19
- package/dist/jsx/useLiveQuery.mjs.map +1 -1
- package/dist/jsx/useLiveQuery.native.js +1 -22
- package/dist/jsx/useLiveQuery.native.js.map +1 -1
- package/dist/jsx/util.native.js.map +1 -1
- package/package.json +9 -9
- package/src/doctype.spec.ts +148 -5
- package/src/doctype.ts +202 -173
- package/src/fixtures.ts +1 -0
- package/src/frappeReact.hydration.spec.tsx +164 -0
- package/src/frappeReact.spec.ts +56 -0
- package/src/frappeReact.ts +31 -5
- package/src/index.ts +11 -0
- package/src/serverLoaders.ts +77 -0
- package/src/sync/index.ts +9 -0
- package/src/sync/rehydration.ts +5 -0
- package/src/sync/syncModule.spec.ts +20 -0
- package/src/useLiveQuery.hydration.spec.tsx +129 -0
- package/src/useLiveQuery.spec.ts +3 -11
- package/src/useLiveQuery.ts +3 -57
- package/types/doctype.d.ts +117 -33
- package/types/doctype.d.ts.map +1 -1
- package/types/fixtures.d.ts.map +1 -1
- package/types/frappeReact.d.ts +3 -2
- package/types/frappeReact.d.ts.map +1 -1
- package/types/index.d.ts +3 -2
- package/types/index.d.ts.map +1 -1
- package/types/serverLoaders.d.ts +40 -0
- package/types/serverLoaders.d.ts.map +1 -0
- package/types/sync/index.d.ts +6 -0
- package/types/sync/index.d.ts.map +1 -1
- package/types/sync/rehydration.d.ts +2 -0
- package/types/sync/rehydration.d.ts.map +1 -1
- package/types/useLiveQuery.d.ts +3 -13
- package/types/useLiveQuery.d.ts.map +1 -1
|
@@ -1 +1 @@
|
|
|
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":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["__defProp","Object","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__hasOwnProp","prototype","hasOwnProperty","__export","target","all","name","get","enumerable","__copyProps","to","from","except","desc","key","call","__toCommonJS","mod","value","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","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","removeEventListener","_event_lastEventId","data","emitToHandlers","reason","frame","lastEventId","mapFrame","mapped","console","warn","mappedEvent","payload","payload1","JSON","parse","logSSERoomNoticeOnce","sseRoomNoticeLogged","debug","softDisconnect","removeAllListeners","disconnect","close","attachedSocketEvents","socketEventHandlers","_manager_on","on","_this_socket","sid","id","error","attachSocketListener","handler","handler2","detachSocketListener","off","handlerSet","size","subscribeDoc","unsubscribeDoc","teardownWhenIdle","subscribeList","filters","unsubscribeList","connected","updateAuth","shouldReconnect","sseEmitNoticeLogged","getSocket","getEventSource","getDocRooms","getListRooms"],"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, \"eventSource\", 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, \"attachedSseEvents\", /* @__PURE__ */ new Set());\n _define_property(this, \"sseListeners\", /* @__PURE__ */ new Map());\n _define_property(this, \"sseRoomNoticeLogged\", false);\n _define_property(this, \"sseEmitNoticeLogged\", false);\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 if (this.config.socketBaseURL) {\n var socketBase = this.config.socketBaseURL.replace(/\\/$/, \"\");\n var siteName = this.config.siteName;\n if (!siteName) {\n try {\n siteName = new URL(base).hostname;\n } catch (unused) {\n siteName = base.replace(/^https?:\\/\\//, \"\").split(/[/:]/)[0];\n }\n }\n return `${socketBase}/${siteName}`;\n }\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 siteName1 = this.config.siteName || url.hostname;\n return `${url.protocol}//${host}/${siteName1}`;\n } catch (unused) {\n var result = base;\n if (this.config.socketPort) {\n result = result.replace(/(:\\d+)/, `:${this.config.socketPort}`);\n }\n var siteName2 = this.config.siteName || result.replace(/^https?:\\/\\//, \"\").split(/[/:]/)[0];\n return `${result}/${siteName2}`;\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: \"isSSE\",\n value: function isSSE() {\n return this.config.transport === \"sse\";\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 if (this.isHealthy()) 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 if (this.isHealthy()) return;\n if (!this.socket && !this.eventSource && !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: (\n /**\n * Open the realtime transport now. Room-driven auto-connect\n * (subscribeDoc/subscribeList) remains the primary lifecycle in both\n * transports — this is public for SSE consumers that use no doc/list room\n * bookkeeping: a one-way stream has nothing to emit on join, so nothing\n * else would ever open it. Idempotent while a transport exists or a\n * connect is in flight.\n */\n async function connect() {\n if (this.isSSE()) return this.connectSSE();\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 {\n key: \"connectSSE\",\n value: (\n /**\n * SSE branch of connect(): construct an EventSource against the configured\n * stream URL. EventSource connects at construction, auto-reconnects on\n * failure, and resumes missed frames itself by sending the stream's last\n * `id:` as the `Last-Event-ID` request header — none of that is\n * reimplemented here.\n */\n async function connectSSE() {\n if (this.eventSource || this.isConnecting) return;\n this.isConnecting = true;\n try {\n var _ref;\n var sse = this.config.sse;\n var EventSourceCtor = (_ref = sse === null || sse === void 0 ? void 0 : sse.EventSource) !== null && _ref !== void 0 ? _ref : globalThis.EventSource;\n if (!EventSourceCtor) {\n throw new Error('[RealtimeModule] transport \"sse\" needs an EventSource implementation, and this runtime has no global EventSource (React Native and Node < 22 ship none). Pass a constructor via config.sse.EventSource \\u2014 e.g. the \"eventsource\" npm package on Node or \"react-native-sse\" on React Native.');\n }\n var url = await this.buildSSEURL();\n this.eventSource = new EventSourceCtor(url, {\n withCredentials: sse === null || sse === void 0 ? void 0 : sse.withCredentials\n });\n this.initSSEHandlers();\n } catch (err) {\n this.isConnecting = false;\n this.resolveHealthyWaiters(false);\n throw err;\n }\n }\n )\n },\n {\n key: \"buildSSEURL\",\n value: async function buildSSEURL() {\n var _ref;\n var _this_config_sse;\n var sse = this.config.sse;\n var url;\n if (sse === null || sse === void 0 ? void 0 : sse.url) {\n url = sse.url;\n } else if (sse === null || sse === void 0 ? void 0 : sse.path) {\n var base = this.config.baseURL.replace(/\\/$/, \"\");\n url = `${base}${sse.path.startsWith(\"/\") ? \"\" : \"/\"}${sse.path}`;\n } else {\n throw new Error('[RealtimeModule] transport \"sse\" requires config.sse.url or config.sse.path. There is no default stream path: SSE endpoints are server-specific (the SHC daemon serves \"/api/method/shc.events.stream\"; a real Frappe bench has no SSE endpoint at all), so a framework default would only ever 404.');\n }\n var params = Object.entries((_ref = (_this_config_sse = this.config.sse) === null || _this_config_sse === void 0 ? void 0 : _this_config_sse.queryParams) !== null && _ref !== void 0 ? _ref : {});\n if (params.length === 0) return url;\n var parts = [];\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = params[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var [key, value] = _step.value;\n var resolved = typeof value === \"function\" ? await value() : value;\n parts.push(`${encodeURIComponent(key)}=${encodeURIComponent(resolved)}`);\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 `${url}${url.includes(\"?\") ? \"&\" : \"?\"}${parts.join(\"&\")}`;\n }\n },\n {\n key: \"initSSEHandlers\",\n value: function initSSEHandlers() {\n var _ref;\n var _this_config_sse;\n this.attachedSseEvents.clear();\n this.sseListeners.clear();\n this.attachSSEListener(\"open\");\n this.attachSSEListener(\"error\");\n this.attachSSEListener(\"message\");\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = ((_ref = (_this_config_sse = this.config.sse) === null || _this_config_sse === void 0 ? void 0 : _this_config_sse.events) !== null && _ref !== void 0 ? _ref : [])[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var type = _step.value;\n this.attachSSEListener(type);\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.handlerMap.keys()[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {\n var event = _step1.value;\n this.attachSSEListener(event);\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: \"attachSSEListener\",\n value: function attachSSEListener(type) {\n var _this = this;\n if (!this.eventSource || this.attachedSseEvents.has(type)) return;\n var listener = function listener2(event) {\n _this.handleSSEEvent(type, event);\n };\n this.sseListeners.set(type, listener);\n this.attachedSseEvents.add(type);\n this.eventSource.addEventListener(type, listener);\n }\n },\n {\n key: \"detachSSEListener\",\n value: function detachSSEListener(type) {\n if (this.isCoreSSEType(type)) return;\n if (!this.eventSource || !this.attachedSseEvents.has(type)) return;\n var listener = this.sseListeners.get(type);\n if (listener) {\n this.eventSource.removeEventListener(type, listener);\n this.sseListeners.delete(type);\n }\n this.attachedSseEvents.delete(type);\n }\n },\n {\n key: \"isCoreSSEType\",\n value: function isCoreSSEType(type) {\n var _ref;\n var _this_config_sse;\n return type === \"open\" || type === \"error\" || type === \"message\" || ((_ref = (_this_config_sse = this.config.sse) === null || _this_config_sse === void 0 ? void 0 : _this_config_sse.events) !== null && _ref !== void 0 ? _ref : []).includes(type);\n }\n },\n {\n key: \"handleSSEEvent\",\n value: (\n /**\n * Single entry point for everything the EventSource dispatches. Dataless\n * events are transport lifecycle (`open`/`error` as plain Events); anything\n * carrying `data` is a server frame — including frames the server\n * classified `event: error`, which arrive as MessageEvents WITH data and\n * must not be mistaken for connection errors.\n */\n function handleSSEEvent(type, event) {\n var _event_lastEventId;\n var _this_config_sse;\n if ((event === null || event === void 0 ? void 0 : event.data) === void 0) {\n if (type === \"open\") {\n this.isConnecting = false;\n this.socketHealthy = true;\n this.emitToHandlers(\"connected\", {\n transport: \"sse\"\n });\n this.resolveHealthyWaiters(true);\n } else if (type === \"error\") {\n this.isConnecting = false;\n this.socketHealthy = false;\n this.emitToHandlers(\"disconnect\", {\n reason: \"sse-error\"\n });\n this.resolveHealthyWaiters(false);\n }\n return;\n }\n var frame = {\n type,\n data: String(event.data),\n lastEventId: (_event_lastEventId = event.lastEventId) !== null && _event_lastEventId !== void 0 ? _event_lastEventId : \"\"\n };\n var mapFrame = (_this_config_sse = this.config.sse) === null || _this_config_sse === void 0 ? void 0 : _this_config_sse.mapFrame;\n if (mapFrame) {\n var mapped;\n try {\n mapped = mapFrame(frame);\n } catch (err) {\n console.warn(\"[RealtimeModule] sse.mapFrame threw; frame dropped:\", err);\n return;\n }\n if (!mapped) return;\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = mapped[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var { event: mappedEvent, payload } = _step.value;\n this.emitToHandlers(mappedEvent, 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 return;\n }\n var payload1 = frame.data;\n try {\n payload1 = JSON.parse(frame.data);\n } catch (unused) {\n }\n this.emitToHandlers(frame.type, payload1);\n }\n )\n },\n {\n key: \"logSSERoomNoticeOnce\",\n value: (\n /**\n * Logged once: SSE is one-way, so doc/list room membership can't be sent\n * upstream — rooms are recorded client-side (see getDocRooms/getListRooms)\n * for mapFrame-driven filtering and for a future two-way transport.\n */\n function logSSERoomNoticeOnce() {\n if (this.sseRoomNoticeLogged) return;\n this.sseRoomNoticeLogged = true;\n console.debug(\"[RealtimeModule] SSE transport is one-way: doc/list room subscriptions are recorded client-side only (getDocRooms()/getListRooms()) and nothing is sent to the server \\u2014 filter server-side via sse.queryParams or route frames with sse.mapFrame.\");\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 if (this.eventSource) {\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = this.sseListeners[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var [type, listener] = _step.value;\n this.eventSource.removeEventListener(type, listener);\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.eventSource.close();\n this.eventSource = void 0;\n }\n this.attachedSocketEvents.clear();\n this.socketEventHandlers.clear();\n this.attachedSseEvents.clear();\n this.sseListeners.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 if (this.isSSE()) {\n this.attachSSEListener(event);\n } else {\n this.attachSocketListener(event);\n }\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 if (this.isSSE()) {\n this.detachSSEListener(event);\n } else {\n this.detachSocketListener(event);\n }\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 if (this.isSSE()) this.logSSERoomNoticeOnce();\n await this.ensureConnected();\n if (!this.isSSE() && 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.isSSE() && 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 if (this.isSSE()) this.logSSERoomNoticeOnce();\n await this.ensureConnected();\n if (!this.isSSE() && 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.isSSE() && 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.eventSource && !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 if (this.isSSE()) return this.socketHealthy && this.eventSource !== void 0;\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 || this.isSSE() && this.eventSource !== void 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.isSSE()) {\n if (!this.sseEmitNoticeLogged) {\n this.sseEmitNoticeLogged = true;\n console.debug(\"[RealtimeModule] emit() is a no-op under the SSE transport \\u2014 SSE is one-way (server \\u2192 client). Use HTTP calls for client \\u2192 server communication.\");\n }\n return;\n }\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 /** Live EventSource when the SSE transport is connected (undefined otherwise). */\n key: \"getEventSource\",\n value: function getEventSource() {\n return this.eventSource;\n }\n },\n {\n /**\n * Doc rooms recorded by subscribeDoc. Under SSE these are client-side\n * bookkeeping only (nothing is emitted upstream) — mapFrame-driven apps\n * consult them to filter or route frames.\n */\n key: \"getDocRooms\",\n value: function getDocRooms() {\n return [\n ...this.docRooms.values()\n ];\n }\n },\n {\n /** List rooms recorded by subscribeList — same client-side semantics as getDocRooms. */\n key: \"getListRooms\",\n value: function getListRooms() {\n return [\n ...this.listRooms.values()\n ];\n }\n }\n ]);\n return RealtimeModule2;\n})();\n//# sourceMappingURL=realtime.js.map\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __export = (target, all) => {
|
|
6
|
+
for (var name in all) __defProp(target, name, {
|
|
7
|
+
get: all[name],
|
|
8
|
+
enumerable: true
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __copyProps = (to, from, except, desc) => {
|
|
12
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
13
|
+
for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
|
|
14
|
+
get: () => from[key],
|
|
15
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
|
|
21
|
+
value: true
|
|
22
|
+
}), mod);
|
|
23
|
+
var serverLoaders_exports = {};
|
|
24
|
+
__export(serverLoaders_exports, {
|
|
25
|
+
loadDoc: () => loadDoc,
|
|
26
|
+
loadDocList: () => loadDocList
|
|
27
|
+
});
|
|
28
|
+
module.exports = __toCommonJS(serverLoaders_exports);
|
|
29
|
+
var import_frappeApp = require("./frappeApp.cjs");
|
|
30
|
+
function serverApp(baseURL, request) {
|
|
31
|
+
const cookie = request.headers?.get("cookie") ?? void 0;
|
|
32
|
+
return new import_frappeApp.FrappeApp(baseURL, cookie ? {
|
|
33
|
+
cookie
|
|
34
|
+
} : {});
|
|
35
|
+
}
|
|
36
|
+
function isNotFound(error) {
|
|
37
|
+
return typeof error === "object" && error !== null && error.status === 404;
|
|
38
|
+
}
|
|
39
|
+
async function loadDocList({
|
|
40
|
+
baseURL,
|
|
41
|
+
doctype,
|
|
42
|
+
request,
|
|
43
|
+
...query
|
|
44
|
+
}) {
|
|
45
|
+
if (!request) return [];
|
|
46
|
+
try {
|
|
47
|
+
const rows = await serverApp(baseURL, request).db().getDocList(doctype, query);
|
|
48
|
+
return rows.map(row => ({
|
|
49
|
+
...row,
|
|
50
|
+
doctype
|
|
51
|
+
}));
|
|
52
|
+
} catch (error) {
|
|
53
|
+
console.error(`[loadDocList] ${doctype}:`, error);
|
|
54
|
+
return [];
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
async function loadDoc({
|
|
58
|
+
baseURL,
|
|
59
|
+
doctype,
|
|
60
|
+
name,
|
|
61
|
+
request
|
|
62
|
+
}) {
|
|
63
|
+
if (!request || !name) return null;
|
|
64
|
+
try {
|
|
65
|
+
const doc = await serverApp(baseURL, request).db().getDoc(doctype, name);
|
|
66
|
+
return doc ? {
|
|
67
|
+
...doc,
|
|
68
|
+
doctype
|
|
69
|
+
} : null;
|
|
70
|
+
} catch (error) {
|
|
71
|
+
if (!isNotFound(error)) console.error(`[loadDoc] ${doctype}/${name}:`, error);
|
|
72
|
+
return null;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
+
var __export = (target, all) => {
|
|
8
|
+
for (var name in all) __defProp(target, name, {
|
|
9
|
+
get: all[name],
|
|
10
|
+
enumerable: true
|
|
11
|
+
});
|
|
12
|
+
};
|
|
13
|
+
var __copyProps = (to, from, except, desc) => {
|
|
14
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
15
|
+
for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
|
|
16
|
+
get: () => from[key],
|
|
17
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
return to;
|
|
21
|
+
};
|
|
22
|
+
var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
|
|
23
|
+
value: true
|
|
24
|
+
}), mod);
|
|
25
|
+
var serverLoaders_exports = {};
|
|
26
|
+
__export(serverLoaders_exports, {
|
|
27
|
+
loadDoc: () => loadDoc,
|
|
28
|
+
loadDocList: () => loadDocList
|
|
29
|
+
});
|
|
30
|
+
module.exports = __toCommonJS(serverLoaders_exports);
|
|
31
|
+
var import_frappeApp = require("./frappeApp.native.js");
|
|
32
|
+
function _type_of(obj) {
|
|
33
|
+
"@swc/helpers - typeof";
|
|
34
|
+
|
|
35
|
+
return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
|
|
36
|
+
}
|
|
37
|
+
function serverApp(baseURL, request) {
|
|
38
|
+
var _ref;
|
|
39
|
+
var _request_headers;
|
|
40
|
+
var cookie = (_ref = (_request_headers = request.headers) === null || _request_headers === void 0 ? void 0 : _request_headers.get("cookie")) !== null && _ref !== void 0 ? _ref : void 0;
|
|
41
|
+
return new import_frappeApp.FrappeApp(baseURL, cookie ? {
|
|
42
|
+
cookie
|
|
43
|
+
} : {});
|
|
44
|
+
}
|
|
45
|
+
function isNotFound(error) {
|
|
46
|
+
return (typeof error === "undefined" ? "undefined" : _type_of(error)) === "object" && error !== null && error.status === 404;
|
|
47
|
+
}
|
|
48
|
+
async function loadDocList(param) {
|
|
49
|
+
var {
|
|
50
|
+
baseURL,
|
|
51
|
+
doctype,
|
|
52
|
+
request,
|
|
53
|
+
...query
|
|
54
|
+
} = param;
|
|
55
|
+
if (!request) return [];
|
|
56
|
+
try {
|
|
57
|
+
var rows = await serverApp(baseURL, request).db().getDocList(doctype, query);
|
|
58
|
+
return rows.map(function (row) {
|
|
59
|
+
return {
|
|
60
|
+
...row,
|
|
61
|
+
doctype
|
|
62
|
+
};
|
|
63
|
+
});
|
|
64
|
+
} catch (error) {
|
|
65
|
+
console.error(`[loadDocList] ${doctype}:`, error);
|
|
66
|
+
return [];
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
async function loadDoc(param) {
|
|
70
|
+
var {
|
|
71
|
+
baseURL,
|
|
72
|
+
doctype,
|
|
73
|
+
name,
|
|
74
|
+
request
|
|
75
|
+
} = param;
|
|
76
|
+
if (!request || !name) return null;
|
|
77
|
+
try {
|
|
78
|
+
var doc = await serverApp(baseURL, request).db().getDoc(doctype, name);
|
|
79
|
+
return doc ? {
|
|
80
|
+
...doc,
|
|
81
|
+
doctype
|
|
82
|
+
} : null;
|
|
83
|
+
} catch (error) {
|
|
84
|
+
if (!isNotFound(error)) console.error(`[loadDoc] ${doctype}/${name}:`, error);
|
|
85
|
+
return null;
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
//# sourceMappingURL=serverLoaders.native.js.map
|
|
@@ -0,0 +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","serverLoaders_exports","loadDoc","loadDocList","module","exports","import_frappeApp","require","_type_of","obj","Symbol","constructor","serverApp","baseURL","request","_ref","_request_headers","cookie","headers","FrappeApp","isNotFound","error","status","param","doctype","query","rows","db","getDocList","map","row","console","doc","getDoc"],"sources":["serverLoaders.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 serverLoaders_exports = {};\n__export(serverLoaders_exports, {\n loadDoc: () => loadDoc,\n loadDocList: () => loadDocList\n});\nmodule.exports = __toCommonJS(serverLoaders_exports);\nvar import_frappeApp = require(\"./frappeApp\");\nfunction _type_of(obj) {\n \"@swc/helpers - typeof\";\n return obj && typeof Symbol !== \"undefined\" && obj.constructor === Symbol ? \"symbol\" : typeof obj;\n}\nfunction serverApp(baseURL, request) {\n var _ref;\n var _request_headers;\n var cookie = (_ref = (_request_headers = request.headers) === null || _request_headers === void 0 ? void 0 : _request_headers.get(\"cookie\")) !== null && _ref !== void 0 ? _ref : void 0;\n return new import_frappeApp.FrappeApp(baseURL, cookie ? {\n cookie\n } : {});\n}\nfunction isNotFound(error) {\n return (typeof error === \"undefined\" ? \"undefined\" : _type_of(error)) === \"object\" && error !== null && error.status === 404;\n}\nasync function loadDocList(param) {\n var { baseURL, doctype, request, ...query } = param;\n if (!request) return [];\n try {\n var rows = await serverApp(baseURL, request).db().getDocList(doctype, query);\n return rows.map(function(row) {\n return {\n ...row,\n doctype\n };\n });\n } catch (error) {\n console.error(`[loadDocList] ${doctype}:`, error);\n return [];\n }\n}\nasync function loadDoc(param) {\n var { baseURL, doctype, name, request } = param;\n if (!request || !name) return null;\n try {\n var doc = await serverApp(baseURL, request).db().getDoc(doctype, name);\n return doc ? {\n ...doc,\n doctype\n } : null;\n } catch (error) {\n if (!isNotFound(error)) console.error(`[loadDoc] ${doctype}/${name}:`, error);\n return null;\n }\n}\n//# sourceMappingURL=serverLoaders.js.map\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
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":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["__defProp","Object","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__hasOwnProp","prototype","hasOwnProperty","__export","target","all","name","get","enumerable","__copyProps","to","from","except","desc","key","call","__toCommonJS","mod","value","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":[]}
|