zeed 0.24.21 → 0.24.22

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 (182) hide show
  1. package/dist/browser/index.cjs +3 -3
  2. package/dist/browser/index.js +2 -2
  3. package/dist/browser/localstorage.spec.cjs +18 -18
  4. package/dist/browser/localstorage.spec.js +18 -18
  5. package/dist/browser/log/index.cjs +3 -3
  6. package/dist/browser/log/index.js +2 -2
  7. package/dist/browser/log/log-browser.cjs +3 -3
  8. package/dist/browser/log/log-browser.js +2 -2
  9. package/dist/browser/log/log-context-browser.cjs +4 -4
  10. package/dist/browser/log/log-context-browser.js +3 -3
  11. package/dist/{chunk-54BCGEKW.js → chunk-2KMVAIXW.js} +2 -2
  12. package/dist/{chunk-SX5YQHZO.cjs → chunk-33B2TEAZ.cjs} +44 -2
  13. package/dist/chunk-33B2TEAZ.cjs.map +1 -0
  14. package/dist/{chunk-6O4C75LB.cjs → chunk-34N227RG.cjs} +3 -3
  15. package/dist/{chunk-6O4C75LB.cjs.map → chunk-34N227RG.cjs.map} +1 -1
  16. package/dist/{chunk-M36JIJIN.cjs → chunk-4I63E7RR.cjs} +4 -4
  17. package/dist/{chunk-M36JIJIN.cjs.map → chunk-4I63E7RR.cjs.map} +1 -1
  18. package/dist/{chunk-NFGPFSPO.cjs → chunk-5RMO25EO.cjs} +3 -3
  19. package/dist/{chunk-NFGPFSPO.cjs.map → chunk-5RMO25EO.cjs.map} +1 -1
  20. package/dist/{chunk-HNN5IHXG.js → chunk-6EAE53I3.js} +3 -3
  21. package/dist/{chunk-QH47PAYE.cjs → chunk-77IPGSEK.cjs} +3 -3
  22. package/dist/{chunk-QH47PAYE.cjs.map → chunk-77IPGSEK.cjs.map} +1 -1
  23. package/dist/{chunk-IGBQSN6M.js → chunk-7IG6OMGK.js} +2 -2
  24. package/dist/{chunk-WVAFGHBS.cjs → chunk-ANH22HI4.cjs} +3 -3
  25. package/dist/{chunk-WVAFGHBS.cjs.map → chunk-ANH22HI4.cjs.map} +1 -1
  26. package/dist/{chunk-SCQIUUXO.js → chunk-ARGGC4S7.js} +2 -2
  27. package/dist/{chunk-SIJXIZ4J.cjs → chunk-AW6BPYNX.cjs} +7 -7
  28. package/dist/{chunk-SIJXIZ4J.cjs.map → chunk-AW6BPYNX.cjs.map} +1 -1
  29. package/dist/{chunk-FLUN46S4.cjs → chunk-BCX254SL.cjs} +3 -3
  30. package/dist/{chunk-FLUN46S4.cjs.map → chunk-BCX254SL.cjs.map} +1 -1
  31. package/dist/{chunk-VMVGGE32.cjs → chunk-CRG6JERG.cjs} +3 -3
  32. package/dist/{chunk-VMVGGE32.cjs.map → chunk-CRG6JERG.cjs.map} +1 -1
  33. package/dist/{chunk-DHBQHOGQ.js → chunk-CYQGBI3Z.js} +2 -2
  34. package/dist/{chunk-HW2ATP66.js → chunk-F6BC7VBR.js} +2 -2
  35. package/dist/{chunk-WZB5LGZ4.cjs → chunk-HL7W3IJL.cjs} +3 -3
  36. package/dist/{chunk-WZB5LGZ4.cjs.map → chunk-HL7W3IJL.cjs.map} +1 -1
  37. package/dist/{chunk-QP3M4SXG.cjs → chunk-HWQNPGWU.cjs} +3 -3
  38. package/dist/{chunk-QP3M4SXG.cjs.map → chunk-HWQNPGWU.cjs.map} +1 -1
  39. package/dist/{chunk-DO72DWOL.js → chunk-IDWIANZR.js} +2 -2
  40. package/dist/{chunk-FJRY5GL6.cjs → chunk-IQ37FMAX.cjs} +5 -5
  41. package/dist/{chunk-FJRY5GL6.cjs.map → chunk-IQ37FMAX.cjs.map} +1 -1
  42. package/dist/{chunk-JLSAW4YK.js → chunk-IUSTZZ2Z.js} +2 -2
  43. package/dist/{chunk-D7LG5W7J.js → chunk-IX5ITV72.js} +2 -2
  44. package/dist/{chunk-QJVZDNUH.cjs → chunk-K3AEUCMR.cjs} +4 -4
  45. package/dist/{chunk-QJVZDNUH.cjs.map → chunk-K3AEUCMR.cjs.map} +1 -1
  46. package/dist/{chunk-D4QZEGYG.js → chunk-M742MR6R.js} +2 -2
  47. package/dist/{chunk-CG4A32PZ.js → chunk-MAZZNLXR.js} +2 -2
  48. package/dist/{chunk-QV2QPYMW.js → chunk-NNCJ3QL5.js} +44 -2
  49. package/dist/{chunk-QV2QPYMW.js.map → chunk-NNCJ3QL5.js.map} +1 -1
  50. package/dist/{chunk-IWJ5F3JF.js → chunk-NOJUZASU.js} +2 -2
  51. package/dist/{chunk-CSYN5J44.js → chunk-NRYO7FMY.js} +3 -3
  52. package/dist/{chunk-57AYOGMA.js → chunk-OD5GCLP6.js} +2 -2
  53. package/dist/{chunk-C57J5C7S.js → chunk-OYZDZI6A.js} +2 -2
  54. package/dist/{chunk-QRZCRLS4.cjs → chunk-VXJUCLJU.cjs} +5 -5
  55. package/dist/{chunk-QRZCRLS4.cjs.map → chunk-VXJUCLJU.cjs.map} +1 -1
  56. package/dist/{chunk-JDRJMOB6.cjs → chunk-WE7QYNN3.cjs} +3 -3
  57. package/dist/{chunk-JDRJMOB6.cjs.map → chunk-WE7QYNN3.cjs.map} +1 -1
  58. package/dist/{chunk-N764ZFOI.cjs → chunk-WJXIPQLF.cjs} +4 -4
  59. package/dist/{chunk-N764ZFOI.cjs.map → chunk-WJXIPQLF.cjs.map} +1 -1
  60. package/dist/common/bin/index.spec.cjs +23 -23
  61. package/dist/common/bin/index.spec.cjs.map +1 -1
  62. package/dist/common/bin/index.spec.js +23 -23
  63. package/dist/common/crypto.spec.cjs +18 -18
  64. package/dist/common/crypto.spec.js +18 -18
  65. package/dist/common/data/deep.spec.cjs +2 -2
  66. package/dist/common/data/deep.spec.js +2 -2
  67. package/dist/common/data/sorted.spec.cjs +18 -18
  68. package/dist/common/data/sorted.spec.cjs.map +1 -1
  69. package/dist/common/data/sorted.spec.js +18 -18
  70. package/dist/common/data/utils.spec.cjs +5 -5
  71. package/dist/common/data/utils.spec.js +5 -5
  72. package/dist/common/dispose-defer.spec.cjs +6 -6
  73. package/dist/common/dispose-defer.spec.js +6 -6
  74. package/dist/common/exec/index.cjs +6 -6
  75. package/dist/common/exec/index.js +5 -5
  76. package/dist/common/exec/pool.cjs +5 -5
  77. package/dist/common/exec/pool.js +4 -4
  78. package/dist/common/exec/pool.spec.cjs +6 -6
  79. package/dist/common/exec/pool.spec.js +4 -4
  80. package/dist/common/exec/progress.cjs +4 -4
  81. package/dist/common/exec/progress.js +3 -3
  82. package/dist/common/exec/progress.spec.cjs +6 -6
  83. package/dist/common/exec/progress.spec.js +3 -3
  84. package/dist/common/exec/queue.cjs +4 -4
  85. package/dist/common/exec/queue.js +3 -3
  86. package/dist/common/exec/queue.spec.cjs +7 -7
  87. package/dist/common/exec/queue.spec.js +3 -3
  88. package/dist/common/index.cjs +56 -28
  89. package/dist/common/index.cjs.map +1 -1
  90. package/dist/common/index.d.cts +1 -1
  91. package/dist/common/index.d.ts +1 -1
  92. package/dist/common/index.js +56 -28
  93. package/dist/common/log/index.cjs +3 -3
  94. package/dist/common/log/index.js +2 -2
  95. package/dist/common/log/log-memory.cjs +3 -3
  96. package/dist/common/log/log-memory.js +2 -2
  97. package/dist/common/log/log-memory.spec.cjs +3 -3
  98. package/dist/common/log/log-memory.spec.js +2 -2
  99. package/dist/common/msg/channel-debug.cjs +5 -5
  100. package/dist/common/msg/channel-debug.js +4 -4
  101. package/dist/common/msg/channel-local.cjs +5 -5
  102. package/dist/common/msg/channel-local.js +4 -4
  103. package/dist/common/msg/channel-resilient.cjs +5 -5
  104. package/dist/common/msg/channel-resilient.js +4 -4
  105. package/dist/common/msg/channel-resilient.spec.cjs +8 -8
  106. package/dist/common/msg/channel-resilient.spec.js +5 -5
  107. package/dist/common/msg/channel.cjs +4 -4
  108. package/dist/common/msg/channel.js +3 -3
  109. package/dist/common/msg/channel.spec.cjs +6 -6
  110. package/dist/common/msg/channel.spec.js +5 -5
  111. package/dist/common/msg/encoder.spec.cjs +18 -18
  112. package/dist/common/msg/encoder.spec.js +18 -18
  113. package/dist/common/msg/index.cjs +9 -9
  114. package/dist/common/msg/index.js +8 -8
  115. package/dist/common/msg/messages.cjs +4 -4
  116. package/dist/common/msg/messages.js +3 -3
  117. package/dist/common/msg/messages.spec.cjs +8 -8
  118. package/dist/common/msg/messages.spec.js +5 -5
  119. package/dist/common/msg/pubsub.cjs +4 -4
  120. package/dist/common/msg/pubsub.js +3 -3
  121. package/dist/common/msg/pubsub.spec.cjs +11 -11
  122. package/dist/common/msg/pubsub.spec.js +5 -5
  123. package/dist/common/msg/rpc.spec.cjs +11 -11
  124. package/dist/common/msg/rpc.spec.cjs.map +1 -1
  125. package/dist/common/msg/rpc.spec.js +8 -8
  126. package/dist/common/time.cjs +30 -2
  127. package/dist/common/time.cjs.map +1 -1
  128. package/dist/common/time.d.cts +17 -1
  129. package/dist/common/time.d.ts +17 -1
  130. package/dist/common/time.js +31 -3
  131. package/dist/common/time.spec.cjs +40 -18
  132. package/dist/common/time.spec.cjs.map +1 -1
  133. package/dist/common/time.spec.js +28 -6
  134. package/dist/common/time.spec.js.map +1 -1
  135. package/dist/common/uuid.cjs +3 -3
  136. package/dist/common/uuid.js +2 -2
  137. package/dist/common/uuid.spec.cjs +50 -50
  138. package/dist/common/uuid.spec.js +2 -2
  139. package/dist/index.all.cjs +59 -31
  140. package/dist/index.all.cjs.map +1 -1
  141. package/dist/index.all.d.cts +1 -1
  142. package/dist/index.all.d.ts +1 -1
  143. package/dist/index.all.js +59 -31
  144. package/dist/index.browser.cjs +58 -30
  145. package/dist/index.browser.cjs.map +1 -1
  146. package/dist/index.browser.d.cts +1 -1
  147. package/dist/index.browser.d.ts +1 -1
  148. package/dist/index.browser.js +58 -30
  149. package/dist/index.node.cjs +58 -30
  150. package/dist/index.node.cjs.map +1 -1
  151. package/dist/index.node.d.cts +1 -1
  152. package/dist/index.node.d.ts +1 -1
  153. package/dist/index.node.js +58 -30
  154. package/dist/node/index.cjs +3 -3
  155. package/dist/node/index.js +2 -2
  156. package/dist/node/log/index.cjs +3 -3
  157. package/dist/node/log/index.js +2 -2
  158. package/dist/node/log/log-context-node.cjs +4 -4
  159. package/dist/node/log/log-context-node.js +3 -3
  160. package/dist/node/log/log-file.spec.cjs +2 -2
  161. package/dist/node/log/log-file.spec.js +2 -2
  162. package/dist/node/log/log-node.cjs +3 -3
  163. package/dist/node/log/log-node.js +2 -2
  164. package/dist/node/log/log-node.spec.cjs +7 -7
  165. package/dist/node/log/log-node.spec.js +3 -3
  166. package/package.json +8 -8
  167. package/dist/chunk-SX5YQHZO.cjs.map +0 -1
  168. /package/dist/{chunk-54BCGEKW.js.map → chunk-2KMVAIXW.js.map} +0 -0
  169. /package/dist/{chunk-HNN5IHXG.js.map → chunk-6EAE53I3.js.map} +0 -0
  170. /package/dist/{chunk-IGBQSN6M.js.map → chunk-7IG6OMGK.js.map} +0 -0
  171. /package/dist/{chunk-SCQIUUXO.js.map → chunk-ARGGC4S7.js.map} +0 -0
  172. /package/dist/{chunk-DHBQHOGQ.js.map → chunk-CYQGBI3Z.js.map} +0 -0
  173. /package/dist/{chunk-HW2ATP66.js.map → chunk-F6BC7VBR.js.map} +0 -0
  174. /package/dist/{chunk-DO72DWOL.js.map → chunk-IDWIANZR.js.map} +0 -0
  175. /package/dist/{chunk-JLSAW4YK.js.map → chunk-IUSTZZ2Z.js.map} +0 -0
  176. /package/dist/{chunk-D7LG5W7J.js.map → chunk-IX5ITV72.js.map} +0 -0
  177. /package/dist/{chunk-D4QZEGYG.js.map → chunk-M742MR6R.js.map} +0 -0
  178. /package/dist/{chunk-CG4A32PZ.js.map → chunk-MAZZNLXR.js.map} +0 -0
  179. /package/dist/{chunk-IWJ5F3JF.js.map → chunk-NOJUZASU.js.map} +0 -0
  180. /package/dist/{chunk-CSYN5J44.js.map → chunk-NRYO7FMY.js.map} +0 -0
  181. /package/dist/{chunk-57AYOGMA.js.map → chunk-OD5GCLP6.js.map} +0 -0
  182. /package/dist/{chunk-C57J5C7S.js.map → chunk-OYZDZI6A.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/zeed/zeed/dist/chunk-QJVZDNUH.cjs","../src/common/msg/messages.ts"],"names":["name","result","error","opt"],"mappings":"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","file":"/home/runner/work/zeed/zeed/dist/chunk-QJVZDNUH.cjs","sourcesContent":[null,"import type { LogLevelAliasType } from '../log/log-base'\nimport type { Json } from '../types'\nimport type { Channel } from './channel'\nimport type { Encoder } from './encoder'\nimport { valueToString } from '../data/convert'\nimport { isPromise, tryTimeout } from '../exec/promise'\nimport { DefaultLogger } from '../log/log'\nimport { uname, uuid } from '../uuid'\nimport { JsonEncoder } from './encoder'\n\nexport interface MessageAction {\n name: string\n id: string\n args?: Json[]\n}\n\nexport interface MessageResult {\n id: string\n result?: Json\n error?: { stack?: string, name: string, message: string }\n}\n\nexport type Message = MessageAction | MessageResult\n\nexport interface MessagesOptions {\n timeout?: number\n}\n\nexport interface MessagesDefaultMethods<L> {\n dispose: () => void\n connect?: (channel: Channel) => void\n options: (opt: MessagesOptions) => L\n}\n\nexport type MessagesMethods<L> = L & MessagesDefaultMethods<L>\n\n// export type MessageDefinitions = {\n// [key: string]: (...args: any) => Promise<any>\n// }\n\nexport type MessageDefinitions = Record<any, (...args: any) => Promise<any>>\n\nexport interface MessageHub {\n dispose: () => void\n connect: (newChannel: Channel) => void\n listen: <L extends MessageDefinitions>(newHandlers: L) => void\n send: <L extends MessageDefinitions>() => MessagesMethods<L>\n}\n\n// The async proxy, waiting for a response\nexport function createPromiseProxy<P extends object>(fn: (name: string, args: any[], opt: any) => Promise<unknown>, opt: MessagesOptions, predefinedMethods: any = {}): P {\n return new Proxy<P>(predefinedMethods, {\n get: (target: any, name: any) => {\n if (name in target)\n return target[name]\n return (...args: any): any => fn(name, args, opt)\n },\n })\n}\n\n/**\n * RPC\n *\n * Features:\n * - Waits for connection\n * - Retries after fail\n * - Timeouts\n */\nexport function useMessageHub(\n opt: {\n name?: string\n channel?: Channel\n encoder?: Encoder\n retryAfter?: number\n ignoreUnhandled?: boolean\n debug?: boolean\n logLevel?: LogLevelAliasType\n } = {},\n): MessageHub {\n const {\n name = uname('hub'),\n encoder = new JsonEncoder(),\n retryAfter = 1000,\n ignoreUnhandled = true,\n logLevel = false,\n } = opt\n\n const log = DefaultLogger(name, logLevel)\n\n const handlers = {}\n let channel: Channel | undefined\n const queue: Message[] = []\n let queueRetryTimer: any\n const waitingForResponse: Record<string, [\n (result?: any) => any, // resolve\n (result?: any) => any, // reject\n ]> = {}\n\n const dispose = () => {\n clearTimeout(queueRetryTimer)\n }\n\n const postNext = async () => {\n clearTimeout(queueRetryTimer)\n if (channel) {\n if (channel.isConnected) {\n while (queue.length) {\n const message = queue[0]\n try {\n channel.postMessage(await encoder.encode(message))\n queue.shift() // remove from queue when done\n }\n catch (err) {\n log.warn('postMessage', err)\n break\n }\n }\n }\n if (queue.length > 0 && retryAfter > 0)\n queueRetryTimer = setTimeout(postNext, retryAfter)\n }\n }\n\n const postMessage = async (message: Message) => {\n log('enqueue postMessage', message)\n queue.push(message)\n await postNext()\n }\n\n const connect = async (newChannel: Channel) => {\n channel = newChannel\n\n channel.on('connect', postNext)\n\n channel.on('message', async (msg: any) => {\n log('onmessage', typeof msg)\n const { name, args, id, result, error } = await encoder.decode(msg.data)\n\n // Incoming new message\n if (name) {\n log(`name ${name} id ${id}`)\n try {\n // @ts-expect-error xxx\n if (handlers[name] == null)\n throw new Error(`handler for ${name} was not found`)\n\n // @ts-expect-error xxx\n let result = handlers[name](...args)\n if (isPromise(result))\n result = await result\n log(`result ${result}`)\n if (id)\n await postMessage({ id, result })\n }\n catch (error) {\n const err\n = error instanceof Error ? error : new Error(valueToString(error))\n log.warn('execution error', err.name)\n await postMessage({\n id,\n error: {\n message: err.message,\n stack: err.stack,\n name: err.name,\n },\n })\n }\n }\n\n // Incoming new response\n else if (id) {\n log(`response for id=${id}: result=${result}, error=${error}`)\n if (waitingForResponse[id] == null) {\n if (result === undefined)\n log(`skip response for ${id}`)\n else\n log.warn(`no response hook for ${id}`)\n }\n else {\n const [resolve, reject] = waitingForResponse[id]\n if (resolve && reject) {\n delete waitingForResponse[id]\n if (error) {\n const err = new Error(error.message)\n err.stack = error.stack\n err.name = error.name\n log.warn('reject', err.name)\n reject(err)\n }\n else {\n log('resolve', result)\n resolve(result)\n }\n }\n }\n }\n\n // Don't know what to do with it\n else if (!ignoreUnhandled) {\n log.warn('Unhandled message', msg)\n }\n })\n\n await postNext()\n }\n\n const fetchMessage = async (\n name: string,\n args: any[],\n opt: MessagesOptions = {},\n ): Promise<unknown> => {\n const { timeout = 5000 } = opt\n const id = uuid()\n await postMessage({\n name,\n args,\n id,\n })\n return tryTimeout(\n new Promise(\n (resolve, reject) => (waitingForResponse[id] = [resolve, reject]),\n ),\n timeout,\n )\n }\n\n if (opt.channel)\n void connect(opt.channel) // todo async\n\n return {\n dispose,\n\n connect,\n listen<L extends object>(newHandlers: L) {\n Object.assign(handlers, newHandlers)\n },\n send<L extends object>() {\n // The regular proxy without responding, just send\n return createPromiseProxy<L>(fetchMessage, {}, {\n options(perCallopt: MessagesOptions) {\n return createPromiseProxy<L>(fetchMessage, { ...perCallopt })\n },\n } as MessagesDefaultMethods<L>) as MessagesMethods<L>\n },\n }\n}\n"]}
1
+ {"version":3,"sources":["/home/runner/work/zeed/zeed/dist/chunk-K3AEUCMR.cjs","../src/common/msg/messages.ts"],"names":["name","result","error","opt"],"mappings":"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","file":"/home/runner/work/zeed/zeed/dist/chunk-K3AEUCMR.cjs","sourcesContent":[null,"import type { LogLevelAliasType } from '../log/log-base'\nimport type { Json } from '../types'\nimport type { Channel } from './channel'\nimport type { Encoder } from './encoder'\nimport { valueToString } from '../data/convert'\nimport { isPromise, tryTimeout } from '../exec/promise'\nimport { DefaultLogger } from '../log/log'\nimport { uname, uuid } from '../uuid'\nimport { JsonEncoder } from './encoder'\n\nexport interface MessageAction {\n name: string\n id: string\n args?: Json[]\n}\n\nexport interface MessageResult {\n id: string\n result?: Json\n error?: { stack?: string, name: string, message: string }\n}\n\nexport type Message = MessageAction | MessageResult\n\nexport interface MessagesOptions {\n timeout?: number\n}\n\nexport interface MessagesDefaultMethods<L> {\n dispose: () => void\n connect?: (channel: Channel) => void\n options: (opt: MessagesOptions) => L\n}\n\nexport type MessagesMethods<L> = L & MessagesDefaultMethods<L>\n\n// export type MessageDefinitions = {\n// [key: string]: (...args: any) => Promise<any>\n// }\n\nexport type MessageDefinitions = Record<any, (...args: any) => Promise<any>>\n\nexport interface MessageHub {\n dispose: () => void\n connect: (newChannel: Channel) => void\n listen: <L extends MessageDefinitions>(newHandlers: L) => void\n send: <L extends MessageDefinitions>() => MessagesMethods<L>\n}\n\n// The async proxy, waiting for a response\nexport function createPromiseProxy<P extends object>(fn: (name: string, args: any[], opt: any) => Promise<unknown>, opt: MessagesOptions, predefinedMethods: any = {}): P {\n return new Proxy<P>(predefinedMethods, {\n get: (target: any, name: any) => {\n if (name in target)\n return target[name]\n return (...args: any): any => fn(name, args, opt)\n },\n })\n}\n\n/**\n * RPC\n *\n * Features:\n * - Waits for connection\n * - Retries after fail\n * - Timeouts\n */\nexport function useMessageHub(\n opt: {\n name?: string\n channel?: Channel\n encoder?: Encoder\n retryAfter?: number\n ignoreUnhandled?: boolean\n debug?: boolean\n logLevel?: LogLevelAliasType\n } = {},\n): MessageHub {\n const {\n name = uname('hub'),\n encoder = new JsonEncoder(),\n retryAfter = 1000,\n ignoreUnhandled = true,\n logLevel = false,\n } = opt\n\n const log = DefaultLogger(name, logLevel)\n\n const handlers = {}\n let channel: Channel | undefined\n const queue: Message[] = []\n let queueRetryTimer: any\n const waitingForResponse: Record<string, [\n (result?: any) => any, // resolve\n (result?: any) => any, // reject\n ]> = {}\n\n const dispose = () => {\n clearTimeout(queueRetryTimer)\n }\n\n const postNext = async () => {\n clearTimeout(queueRetryTimer)\n if (channel) {\n if (channel.isConnected) {\n while (queue.length) {\n const message = queue[0]\n try {\n channel.postMessage(await encoder.encode(message))\n queue.shift() // remove from queue when done\n }\n catch (err) {\n log.warn('postMessage', err)\n break\n }\n }\n }\n if (queue.length > 0 && retryAfter > 0)\n queueRetryTimer = setTimeout(postNext, retryAfter)\n }\n }\n\n const postMessage = async (message: Message) => {\n log('enqueue postMessage', message)\n queue.push(message)\n await postNext()\n }\n\n const connect = async (newChannel: Channel) => {\n channel = newChannel\n\n channel.on('connect', postNext)\n\n channel.on('message', async (msg: any) => {\n log('onmessage', typeof msg)\n const { name, args, id, result, error } = await encoder.decode(msg.data)\n\n // Incoming new message\n if (name) {\n log(`name ${name} id ${id}`)\n try {\n // @ts-expect-error xxx\n if (handlers[name] == null)\n throw new Error(`handler for ${name} was not found`)\n\n // @ts-expect-error xxx\n let result = handlers[name](...args)\n if (isPromise(result))\n result = await result\n log(`result ${result}`)\n if (id)\n await postMessage({ id, result })\n }\n catch (error) {\n const err\n = error instanceof Error ? error : new Error(valueToString(error))\n log.warn('execution error', err.name)\n await postMessage({\n id,\n error: {\n message: err.message,\n stack: err.stack,\n name: err.name,\n },\n })\n }\n }\n\n // Incoming new response\n else if (id) {\n log(`response for id=${id}: result=${result}, error=${error}`)\n if (waitingForResponse[id] == null) {\n if (result === undefined)\n log(`skip response for ${id}`)\n else\n log.warn(`no response hook for ${id}`)\n }\n else {\n const [resolve, reject] = waitingForResponse[id]\n if (resolve && reject) {\n delete waitingForResponse[id]\n if (error) {\n const err = new Error(error.message)\n err.stack = error.stack\n err.name = error.name\n log.warn('reject', err.name)\n reject(err)\n }\n else {\n log('resolve', result)\n resolve(result)\n }\n }\n }\n }\n\n // Don't know what to do with it\n else if (!ignoreUnhandled) {\n log.warn('Unhandled message', msg)\n }\n })\n\n await postNext()\n }\n\n const fetchMessage = async (\n name: string,\n args: any[],\n opt: MessagesOptions = {},\n ): Promise<unknown> => {\n const { timeout = 5000 } = opt\n const id = uuid()\n await postMessage({\n name,\n args,\n id,\n })\n return tryTimeout(\n new Promise(\n (resolve, reject) => (waitingForResponse[id] = [resolve, reject]),\n ),\n timeout,\n )\n }\n\n if (opt.channel)\n void connect(opt.channel) // todo async\n\n return {\n dispose,\n\n connect,\n listen<L extends object>(newHandlers: L) {\n Object.assign(handlers, newHandlers)\n },\n send<L extends object>() {\n // The regular proxy without responding, just send\n return createPromiseProxy<L>(fetchMessage, {}, {\n options(perCallopt: MessagesOptions) {\n return createPromiseProxy<L>(fetchMessage, { ...perCallopt })\n },\n } as MessagesDefaultMethods<L>) as MessagesMethods<L>\n },\n }\n}\n"]}
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-OSX4VQOR.js";
4
4
  import {
5
5
  uname
6
- } from "./chunk-54BCGEKW.js";
6
+ } from "./chunk-2KMVAIXW.js";
7
7
  import {
8
8
  useDispose
9
9
  } from "./chunk-TRCJY7KG.js";
@@ -157,4 +157,4 @@ var Progress = class _Progress extends Emitter {
157
157
  export {
158
158
  Progress
159
159
  };
160
- //# sourceMappingURL=chunk-D4QZEGYG.js.map
160
+ //# sourceMappingURL=chunk-M742MR6R.js.map
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-OSX4VQOR.js";
4
4
  import {
5
5
  uname
6
- } from "./chunk-54BCGEKW.js";
6
+ } from "./chunk-2KMVAIXW.js";
7
7
  import {
8
8
  DefaultLogger
9
9
  } from "./chunk-XYJV3SSU.js";
@@ -131,4 +131,4 @@ var SerialQueue = class extends Emitter {
131
131
  export {
132
132
  SerialQueue
133
133
  };
134
- //# sourceMappingURL=chunk-CG4A32PZ.js.map
134
+ //# sourceMappingURL=chunk-MAZZNLXR.js.map
@@ -65,6 +65,34 @@ function datetimeToUTC(fromDate) {
65
65
  fromDate.getMilliseconds()
66
66
  ));
67
67
  }
68
+ function timestampMillisecondsToSeconds(ts) {
69
+ if (ts <= 0)
70
+ return 0;
71
+ if (ts < 1e12) {
72
+ return ts;
73
+ }
74
+ return Math.floor(ts / 1e3);
75
+ }
76
+ function timestampSecondsToMilliseconds(ts) {
77
+ if (ts <= 0)
78
+ return 0;
79
+ if (ts > 1e12) {
80
+ return ts;
81
+ }
82
+ return Math.floor(ts * 1e3);
83
+ }
84
+ var TIME_YEAR_MS = 31536e6;
85
+ var TIME_YEAR_S = 31536e3;
86
+ var TIME_MONTH_MS = 2592e6;
87
+ var TIME_MONTH_S = 2592e3;
88
+ var TIME_WEEK_MS = 6048e5;
89
+ var TIME_WEEK_S = 604800;
90
+ var TIME_DAY_MS = 864e5;
91
+ var TIME_DAY_S = 86400;
92
+ var TIME_HOUR_MS = 36e5;
93
+ var TIME_HOUR_S = 3600;
94
+ var TIME_MINUTE_MS = 6e4;
95
+ var TIME_MINUTE_S = 60;
68
96
 
69
97
  export {
70
98
  getTimestamp,
@@ -75,6 +103,20 @@ export {
75
103
  getPerformanceTimestamp,
76
104
  duration,
77
105
  datetimeToLocal,
78
- datetimeToUTC
106
+ datetimeToUTC,
107
+ timestampMillisecondsToSeconds,
108
+ timestampSecondsToMilliseconds,
109
+ TIME_YEAR_MS,
110
+ TIME_YEAR_S,
111
+ TIME_MONTH_MS,
112
+ TIME_MONTH_S,
113
+ TIME_WEEK_MS,
114
+ TIME_WEEK_S,
115
+ TIME_DAY_MS,
116
+ TIME_DAY_S,
117
+ TIME_HOUR_MS,
118
+ TIME_HOUR_S,
119
+ TIME_MINUTE_MS,
120
+ TIME_MINUTE_S
79
121
  };
80
- //# sourceMappingURL=chunk-QV2QPYMW.js.map
122
+ //# sourceMappingURL=chunk-NNCJ3QL5.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/common/time.ts"],"sourcesContent":["/**\n * @returns Timestamp in miliseconds\n */\nexport function getTimestamp(): number {\n return Date.now()\n}\n\n/**\n * @returns Timestamp in seconds\n */\nexport function getTimestampInSeconds(): number {\n return Math.floor(Date.now() / 1000)\n}\n\n/**\n * @returns Timestamp in seconds\n */\nexport function dateFromSeconds(ts: number): Date {\n return new Date(ts * 1000)\n}\n\n// typeof performance !== \"undefined\" ? performance.now() : new Date().getTime()\n\nexport function formatMilliseconds(ms: number): string {\n return ms > 999 ? `${(ms / 1000).toFixed(1)} s` : `${ms.toFixed(2)} ms`\n}\n\n/**\n * Parses the given date candidates and returns the first valid Date object found.\n *\n * @param dateCandidates - The date candidates to parse, which can be either strings or Date objects.\n * @returns The parsed Date object, or undefined if no valid date is found.\n */\nexport function parseDate(\n ...dateCandidates: (string | Date)[]\n): Date | undefined {\n for (const dateCandidate of dateCandidates) {\n if (dateCandidate instanceof Date)\n return dateCandidate\n\n if (typeof dateCandidate === 'string') {\n let date = null\n if (dateCandidate.includes(':')) {\n try {\n date = new Date(dateCandidate)\n }\n catch (err) {}\n }\n if (!(date instanceof Date)) {\n const m = /(\\d\\d\\d\\d)-(\\d\\d)-(\\d\\d)/.exec(dateCandidate)\n if (m)\n date = new Date(+m[1], +m[2] - 1, +m[3], 12, 0)\n }\n if (date instanceof Date)\n return date\n }\n }\n}\n\n/**\n * @returns Timestamp in miliseconds\n */\nexport function getPerformanceTimestamp(): number {\n return typeof performance !== 'undefined' ? performance.now() : Date.now()\n}\n\nexport function duration() {\n const t0 = getPerformanceTimestamp()\n\n return function () {\n const duration = getPerformanceTimestamp() - t0\n return formatMilliseconds(duration)\n\n // if (duration > 500)\n // return `${(duration / 1000).toFixed(4)}s`\n\n // // https://elijahmanor.com/format-js-numbers\n // // https://tc39.es/proposal-unified-intl-numberformat/section6/locales-currencies-tz_proposed_out.html#sec-issanctionedsimpleunitidentifier\n // return duration.toLocaleString('en-US', {\n // style: 'unit',\n // unit: 'millisecond',\n // notation: 'compact',\n // compactDisplay: 'long',\n // })\n }\n}\n\n/** If you parsed a date without time zone, you may need to shift it to local time */\nexport function datetimeToLocal(fromDate: Date): Date {\n return new Date(\n fromDate.getUTCFullYear(),\n fromDate.getUTCMonth(),\n fromDate.getUTCDate(),\n fromDate.getUTCHours(),\n fromDate.getUTCMinutes(),\n fromDate.getUTCSeconds(),\n fromDate.getUTCMilliseconds(),\n )\n}\n\n/** If you parsed a date without time zone, you may need to shift it to UTC time */\nexport function datetimeToUTC(fromDate: Date): Date {\n return new Date(Date.UTC(\n fromDate.getFullYear(),\n fromDate.getMonth(),\n fromDate.getDate(),\n fromDate.getHours(),\n fromDate.getMinutes(),\n fromDate.getSeconds(),\n fromDate.getMilliseconds(),\n ))\n}\n"],"mappings":";AAGO,SAAS,eAAuB;AACrC,SAAO,KAAK,IAAI;AAClB;AAKO,SAAS,wBAAgC;AAC9C,SAAO,KAAK,MAAM,KAAK,IAAI,IAAI,GAAI;AACrC;AAKO,SAAS,gBAAgB,IAAkB;AAChD,SAAO,IAAI,KAAK,KAAK,GAAI;AAC3B;AAIO,SAAS,mBAAmB,IAAoB;AACrD,SAAO,KAAK,MAAM,IAAI,KAAK,KAAM,QAAQ,CAAC,CAAC,OAAO,GAAG,GAAG,QAAQ,CAAC,CAAC;AACpE;AAQO,SAAS,aACX,gBACe;AAClB,aAAW,iBAAiB,gBAAgB;AAC1C,QAAI,yBAAyB;AAC3B,aAAO;AAET,QAAI,OAAO,kBAAkB,UAAU;AACrC,UAAI,OAAO;AACX,UAAI,cAAc,SAAS,GAAG,GAAG;AAC/B,YAAI;AACF,iBAAO,IAAI,KAAK,aAAa;AAAA,QAC/B,SACO,KAAK;AAAA,QAAC;AAAA,MACf;AACA,UAAI,EAAE,gBAAgB,OAAO;AAC3B,cAAM,IAAI,2BAA2B,KAAK,aAAa;AACvD,YAAI;AACF,iBAAO,IAAI,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC;AAAA,MAClD;AACA,UAAI,gBAAgB;AAClB,eAAO;AAAA,IACX;AAAA,EACF;AACF;AAKO,SAAS,0BAAkC;AAChD,SAAO,OAAO,gBAAgB,cAAc,YAAY,IAAI,IAAI,KAAK,IAAI;AAC3E;AAEO,SAAS,WAAW;AACzB,QAAM,KAAK,wBAAwB;AAEnC,SAAO,WAAY;AACjB,UAAMA,YAAW,wBAAwB,IAAI;AAC7C,WAAO,mBAAmBA,SAAQ;AAAA,EAapC;AACF;AAGO,SAAS,gBAAgB,UAAsB;AACpD,SAAO,IAAI;AAAA,IACT,SAAS,eAAe;AAAA,IACxB,SAAS,YAAY;AAAA,IACrB,SAAS,WAAW;AAAA,IACpB,SAAS,YAAY;AAAA,IACrB,SAAS,cAAc;AAAA,IACvB,SAAS,cAAc;AAAA,IACvB,SAAS,mBAAmB;AAAA,EAC9B;AACF;AAGO,SAAS,cAAc,UAAsB;AAClD,SAAO,IAAI,KAAK,KAAK;AAAA,IACnB,SAAS,YAAY;AAAA,IACrB,SAAS,SAAS;AAAA,IAClB,SAAS,QAAQ;AAAA,IACjB,SAAS,SAAS;AAAA,IAClB,SAAS,WAAW;AAAA,IACpB,SAAS,WAAW;AAAA,IACpB,SAAS,gBAAgB;AAAA,EAC3B,CAAC;AACH;","names":["duration"]}
1
+ {"version":3,"sources":["../src/common/time.ts"],"sourcesContent":["/**\n * @returns Timestamp in miliseconds\n */\nexport function getTimestamp(): number {\n return Date.now()\n}\n\n/**\n * @returns Timestamp in seconds\n */\nexport function getTimestampInSeconds(): number {\n return Math.floor(Date.now() / 1000)\n}\n\n/**\n * @returns Timestamp in seconds\n */\nexport function dateFromSeconds(ts: number): Date {\n return new Date(ts * 1000)\n}\n\n// typeof performance !== \"undefined\" ? performance.now() : new Date().getTime()\n\nexport function formatMilliseconds(ms: number): string {\n return ms > 999 ? `${(ms / 1000).toFixed(1)} s` : `${ms.toFixed(2)} ms`\n}\n\n/**\n * Parses the given date candidates and returns the first valid Date object found.\n *\n * @param dateCandidates - The date candidates to parse, which can be either strings or Date objects.\n * @returns The parsed Date object, or undefined if no valid date is found.\n */\nexport function parseDate(\n ...dateCandidates: (string | Date)[]\n): Date | undefined {\n for (const dateCandidate of dateCandidates) {\n if (dateCandidate instanceof Date)\n return dateCandidate\n\n if (typeof dateCandidate === 'string') {\n let date = null\n if (dateCandidate.includes(':')) {\n try {\n date = new Date(dateCandidate)\n }\n catch (err) {}\n }\n if (!(date instanceof Date)) {\n const m = /(\\d\\d\\d\\d)-(\\d\\d)-(\\d\\d)/.exec(dateCandidate)\n if (m)\n date = new Date(+m[1], +m[2] - 1, +m[3], 12, 0)\n }\n if (date instanceof Date)\n return date\n }\n }\n}\n\n/**\n * @returns Timestamp in miliseconds\n */\nexport function getPerformanceTimestamp(): number {\n return typeof performance !== 'undefined' ? performance.now() : Date.now()\n}\n\nexport function duration() {\n const t0 = getPerformanceTimestamp()\n\n return function () {\n const duration = getPerformanceTimestamp() - t0\n return formatMilliseconds(duration)\n\n // if (duration > 500)\n // return `${(duration / 1000).toFixed(4)}s`\n\n // // https://elijahmanor.com/format-js-numbers\n // // https://tc39.es/proposal-unified-intl-numberformat/section6/locales-currencies-tz_proposed_out.html#sec-issanctionedsimpleunitidentifier\n // return duration.toLocaleString('en-US', {\n // style: 'unit',\n // unit: 'millisecond',\n // notation: 'compact',\n // compactDisplay: 'long',\n // })\n }\n}\n\n/** If you parsed a date without time zone, you may need to shift it to local time */\nexport function datetimeToLocal(fromDate: Date): Date {\n return new Date(\n fromDate.getUTCFullYear(),\n fromDate.getUTCMonth(),\n fromDate.getUTCDate(),\n fromDate.getUTCHours(),\n fromDate.getUTCMinutes(),\n fromDate.getUTCSeconds(),\n fromDate.getUTCMilliseconds(),\n )\n}\n\n/** If you parsed a date without time zone, you may need to shift it to UTC time */\nexport function datetimeToUTC(fromDate: Date): Date {\n return new Date(Date.UTC(\n fromDate.getFullYear(),\n fromDate.getMonth(),\n fromDate.getDate(),\n fromDate.getHours(),\n fromDate.getMinutes(),\n fromDate.getSeconds(),\n fromDate.getMilliseconds(),\n ))\n}\n\n/** ms -> s with simple check */\nexport function timestampMillisecondsToSeconds(ts: number) {\n if (ts <= 0)\n return 0\n if (ts < 1000000000000) {\n return ts\n // log.warn('Timestamp might already be in seconds?', ts)\n }\n return Math.floor(ts / 1000)\n}\n\n/** s -> ms with simple check */\nexport function timestampSecondsToMilliseconds(ts: number) {\n if (ts <= 0)\n return 0\n if (ts > 1000000000000) {\n return ts\n // log.warn('Timestamp might already be in milliseconds?', ts)\n }\n return Math.floor(ts * 1000)\n}\n\nexport const TIME_YEAR_MS = 31536000000 // 365 * 24 * 60 * 60 * 1000\nexport const TIME_YEAR_S = 31536000 // 365 * 24 * 60 * 60\nexport const TIME_MONTH_MS = 2592000000 // 30 * 24 * 60 * 60 * 1000\nexport const TIME_MONTH_S = 2592000 // 30 * 24 * 60 * 60\nexport const TIME_WEEK_MS = 604800000 // 7 * 24 * 60 * 60 * 1000\nexport const TIME_WEEK_S = 604800 // 7 * 24 * 60 * 60\nexport const TIME_DAY_MS = 86400000 // 24 * 60 * 60 * 1000\nexport const TIME_DAY_S = 86400 // 24 * 60 * 60\nexport const TIME_HOUR_MS = 3600000 // 60 * 60 * 1000\nexport const TIME_HOUR_S = 3600 // 60 * 60\nexport const TIME_MINUTE_MS = 60000 // 60 * 1000\nexport const TIME_MINUTE_S = 60 // 60\n"],"mappings":";AAGO,SAAS,eAAuB;AACrC,SAAO,KAAK,IAAI;AAClB;AAKO,SAAS,wBAAgC;AAC9C,SAAO,KAAK,MAAM,KAAK,IAAI,IAAI,GAAI;AACrC;AAKO,SAAS,gBAAgB,IAAkB;AAChD,SAAO,IAAI,KAAK,KAAK,GAAI;AAC3B;AAIO,SAAS,mBAAmB,IAAoB;AACrD,SAAO,KAAK,MAAM,IAAI,KAAK,KAAM,QAAQ,CAAC,CAAC,OAAO,GAAG,GAAG,QAAQ,CAAC,CAAC;AACpE;AAQO,SAAS,aACX,gBACe;AAClB,aAAW,iBAAiB,gBAAgB;AAC1C,QAAI,yBAAyB;AAC3B,aAAO;AAET,QAAI,OAAO,kBAAkB,UAAU;AACrC,UAAI,OAAO;AACX,UAAI,cAAc,SAAS,GAAG,GAAG;AAC/B,YAAI;AACF,iBAAO,IAAI,KAAK,aAAa;AAAA,QAC/B,SACO,KAAK;AAAA,QAAC;AAAA,MACf;AACA,UAAI,EAAE,gBAAgB,OAAO;AAC3B,cAAM,IAAI,2BAA2B,KAAK,aAAa;AACvD,YAAI;AACF,iBAAO,IAAI,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC;AAAA,MAClD;AACA,UAAI,gBAAgB;AAClB,eAAO;AAAA,IACX;AAAA,EACF;AACF;AAKO,SAAS,0BAAkC;AAChD,SAAO,OAAO,gBAAgB,cAAc,YAAY,IAAI,IAAI,KAAK,IAAI;AAC3E;AAEO,SAAS,WAAW;AACzB,QAAM,KAAK,wBAAwB;AAEnC,SAAO,WAAY;AACjB,UAAMA,YAAW,wBAAwB,IAAI;AAC7C,WAAO,mBAAmBA,SAAQ;AAAA,EAapC;AACF;AAGO,SAAS,gBAAgB,UAAsB;AACpD,SAAO,IAAI;AAAA,IACT,SAAS,eAAe;AAAA,IACxB,SAAS,YAAY;AAAA,IACrB,SAAS,WAAW;AAAA,IACpB,SAAS,YAAY;AAAA,IACrB,SAAS,cAAc;AAAA,IACvB,SAAS,cAAc;AAAA,IACvB,SAAS,mBAAmB;AAAA,EAC9B;AACF;AAGO,SAAS,cAAc,UAAsB;AAClD,SAAO,IAAI,KAAK,KAAK;AAAA,IACnB,SAAS,YAAY;AAAA,IACrB,SAAS,SAAS;AAAA,IAClB,SAAS,QAAQ;AAAA,IACjB,SAAS,SAAS;AAAA,IAClB,SAAS,WAAW;AAAA,IACpB,SAAS,WAAW;AAAA,IACpB,SAAS,gBAAgB;AAAA,EAC3B,CAAC;AACH;AAGO,SAAS,+BAA+B,IAAY;AACzD,MAAI,MAAM;AACR,WAAO;AACT,MAAI,KAAK,MAAe;AACtB,WAAO;AAAA,EAET;AACA,SAAO,KAAK,MAAM,KAAK,GAAI;AAC7B;AAGO,SAAS,+BAA+B,IAAY;AACzD,MAAI,MAAM;AACR,WAAO;AACT,MAAI,KAAK,MAAe;AACtB,WAAO;AAAA,EAET;AACA,SAAO,KAAK,MAAM,KAAK,GAAI;AAC7B;AAEO,IAAM,eAAe;AACrB,IAAM,cAAc;AACpB,IAAM,gBAAgB;AACtB,IAAM,eAAe;AACrB,IAAM,eAAe;AACrB,IAAM,cAAc;AACpB,IAAM,cAAc;AACpB,IAAM,aAAa;AACnB,IAAM,eAAe;AACrB,IAAM,cAAc;AACpB,IAAM,iBAAiB;AACvB,IAAM,gBAAgB;","names":["duration"]}
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  Channel
3
- } from "./chunk-DO72DWOL.js";
3
+ } from "./chunk-IDWIANZR.js";
4
4
  import {
5
5
  useDisposeWithUtils
6
6
  } from "./chunk-JRC62CQG.js";
@@ -67,4 +67,4 @@ var ResillientChannel = class extends Channel {
67
67
  export {
68
68
  ResillientChannel
69
69
  };
70
- //# sourceMappingURL=chunk-IWJ5F3JF.js.map
70
+ //# sourceMappingURL=chunk-NOJUZASU.js.map
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  Channel
3
- } from "./chunk-DO72DWOL.js";
3
+ } from "./chunk-IDWIANZR.js";
4
4
  import {
5
5
  uuid
6
- } from "./chunk-54BCGEKW.js";
6
+ } from "./chunk-2KMVAIXW.js";
7
7
 
8
8
  // src/common/msg/channel-local.ts
9
9
  var LocalChannel = class extends Channel {
@@ -32,4 +32,4 @@ export {
32
32
  LocalChannel,
33
33
  createLocalChannelPair
34
34
  };
35
- //# sourceMappingURL=chunk-CSYN5J44.js.map
35
+ //# sourceMappingURL=chunk-NRYO7FMY.js.map
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-OTNF3VVH.js";
4
4
  import {
5
5
  LoggerNodeHandler
6
- } from "./chunk-JLSAW4YK.js";
6
+ } from "./chunk-IUSTZZ2Z.js";
7
7
  import {
8
8
  toPath
9
9
  } from "./chunk-YIU6EKNX.js";
@@ -44,4 +44,4 @@ export {
44
44
  Logger,
45
45
  LoggerFromConfig
46
46
  };
47
- //# sourceMappingURL=chunk-57AYOGMA.js.map
47
+ //# sourceMappingURL=chunk-OD5GCLP6.js.map
@@ -6,7 +6,7 @@ import {
6
6
  } from "./chunk-OSX4VQOR.js";
7
7
  import {
8
8
  uname
9
- } from "./chunk-54BCGEKW.js";
9
+ } from "./chunk-2KMVAIXW.js";
10
10
  import {
11
11
  DefaultLogger
12
12
  } from "./chunk-XYJV3SSU.js";
@@ -74,4 +74,4 @@ export {
74
74
  PubSub,
75
75
  usePubSub
76
76
  };
77
- //# sourceMappingURL=chunk-C57J5C7S.js.map
77
+ //# sourceMappingURL=chunk-OYZDZI6A.js.map
@@ -1,12 +1,12 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
2
2
 
3
- var _chunkJDRJMOB6cjs = require('./chunk-JDRJMOB6.cjs');
3
+ var _chunkWE7QYNN3cjs = require('./chunk-WE7QYNN3.cjs');
4
4
 
5
5
 
6
- var _chunkFLUN46S4cjs = require('./chunk-FLUN46S4.cjs');
6
+ var _chunkBCX254SLcjs = require('./chunk-BCX254SL.cjs');
7
7
 
8
8
  // src/common/msg/channel-local.ts
9
- var LocalChannel = class extends _chunkJDRJMOB6cjs.Channel {
9
+ var LocalChannel = class extends _chunkWE7QYNN3cjs.Channel {
10
10
  constructor() {
11
11
  super(...arguments);
12
12
  this.isConnected = true;
@@ -16,7 +16,7 @@ var LocalChannel = class extends _chunkJDRJMOB6cjs.Channel {
16
16
  data,
17
17
  // : cloneObject(data),
18
18
  origin: "local",
19
- lastEventId: _chunkFLUN46S4cjs.uuid.call(void 0, )
19
+ lastEventId: _chunkBCX254SLcjs.uuid.call(void 0, )
20
20
  })]);
21
21
  }
22
22
  };
@@ -32,4 +32,4 @@ function createLocalChannelPair() {
32
32
 
33
33
 
34
34
  exports.LocalChannel = LocalChannel; exports.createLocalChannelPair = createLocalChannelPair;
35
- //# sourceMappingURL=chunk-QRZCRLS4.cjs.map
35
+ //# sourceMappingURL=chunk-VXJUCLJU.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/zeed/zeed/dist/chunk-QRZCRLS4.cjs","../src/common/msg/channel-local.ts"],"names":[],"mappings":"AAAA;AACE;AACF,wDAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B;AACA;ACHO,IAAM,aAAA,EAAN,MAAA,QAA2B,0BAAQ;AAAA,EAAnC,WAAA,CAAA,EAAA;AAAA,IAAA,KAAA,CAAA,GAAA,SAAA,CAAA;AACL,IAAA,IAAA,CAAA,YAAA,EAAc,IAAA;AAAA,EAAA;AAAA,EAId,WAAA,CAAY,IAAA,EAAW;AACrB,IAAA,qBAAK,IAAA,mBAAK,KAAA,6BAAO,IAAA,mBAAK,SAAA,EAAW;AAAA,MAC/B,IAAA;AAAA;AAAA,MACA,MAAA,EAAQ,OAAA;AAAA,MACR,WAAA,EAAa,oCAAA;AAAK,IACpB,CAAC,GAAA;AAAA,EACH;AACF,CAAA;AAEO,SAAS,sBAAA,CAAA,EAAuD;AACrE,EAAA,MAAM,GAAA,EAAK,IAAI,YAAA,CAAa,CAAA;AAC5B,EAAA,MAAM,GAAA,EAAK,IAAI,YAAA,CAAa,CAAA;AAE5B,EAAA,EAAA,CAAG,MAAA,EAAQ,EAAA;AACX,EAAA,EAAA,CAAG,MAAA,EAAQ,EAAA;AAEX,EAAA,OAAO,CAAC,EAAA,EAAI,EAAE,CAAA;AAChB;ADGA;AACA;AACE;AACA;AACF,6FAAC","file":"/home/runner/work/zeed/zeed/dist/chunk-QRZCRLS4.cjs","sourcesContent":[null,"import { uuid } from '../uuid'\nimport { Channel } from './channel'\n\n/** Very basic channel demonstrating local communication */\nexport class LocalChannel extends Channel {\n isConnected = true\n\n other?: LocalChannel\n\n postMessage(data: any) {\n void this.other?.emit('message', {\n data, // : cloneObject(data),\n origin: 'local',\n lastEventId: uuid(),\n })\n }\n}\n\nexport function createLocalChannelPair(): [LocalChannel, LocalChannel] {\n const w1 = new LocalChannel()\n const w2 = new LocalChannel()\n\n w1.other = w2\n w2.other = w1\n\n return [w1, w2]\n}\n"]}
1
+ {"version":3,"sources":["/home/runner/work/zeed/zeed/dist/chunk-VXJUCLJU.cjs","../src/common/msg/channel-local.ts"],"names":[],"mappings":"AAAA;AACE;AACF,wDAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B;AACA;ACHO,IAAM,aAAA,EAAN,MAAA,QAA2B,0BAAQ;AAAA,EAAnC,WAAA,CAAA,EAAA;AAAA,IAAA,KAAA,CAAA,GAAA,SAAA,CAAA;AACL,IAAA,IAAA,CAAA,YAAA,EAAc,IAAA;AAAA,EAAA;AAAA,EAId,WAAA,CAAY,IAAA,EAAW;AACrB,IAAA,qBAAK,IAAA,mBAAK,KAAA,6BAAO,IAAA,mBAAK,SAAA,EAAW;AAAA,MAC/B,IAAA;AAAA;AAAA,MACA,MAAA,EAAQ,OAAA;AAAA,MACR,WAAA,EAAa,oCAAA;AAAK,IACpB,CAAC,GAAA;AAAA,EACH;AACF,CAAA;AAEO,SAAS,sBAAA,CAAA,EAAuD;AACrE,EAAA,MAAM,GAAA,EAAK,IAAI,YAAA,CAAa,CAAA;AAC5B,EAAA,MAAM,GAAA,EAAK,IAAI,YAAA,CAAa,CAAA;AAE5B,EAAA,EAAA,CAAG,MAAA,EAAQ,EAAA;AACX,EAAA,EAAA,CAAG,MAAA,EAAQ,EAAA;AAEX,EAAA,OAAO,CAAC,EAAA,EAAI,EAAE,CAAA;AAChB;ADGA;AACA;AACE;AACA;AACF,6FAAC","file":"/home/runner/work/zeed/zeed/dist/chunk-VXJUCLJU.cjs","sourcesContent":[null,"import { uuid } from '../uuid'\nimport { Channel } from './channel'\n\n/** Very basic channel demonstrating local communication */\nexport class LocalChannel extends Channel {\n isConnected = true\n\n other?: LocalChannel\n\n postMessage(data: any) {\n void this.other?.emit('message', {\n data, // : cloneObject(data),\n origin: 'local',\n lastEventId: uuid(),\n })\n }\n}\n\nexport function createLocalChannelPair(): [LocalChannel, LocalChannel] {\n const w1 = new LocalChannel()\n const w2 = new LocalChannel()\n\n w1.other = w2\n w2.other = w1\n\n return [w1, w2]\n}\n"]}
@@ -3,7 +3,7 @@
3
3
  var _chunk34HB56WEcjs = require('./chunk-34HB56WE.cjs');
4
4
 
5
5
 
6
- var _chunkFLUN46S4cjs = require('./chunk-FLUN46S4.cjs');
6
+ var _chunkBCX254SLcjs = require('./chunk-BCX254SL.cjs');
7
7
 
8
8
 
9
9
  var _chunk64ZMDALJcjs = require('./chunk-64ZMDALJ.cjs');
@@ -12,7 +12,7 @@ var _chunk64ZMDALJcjs = require('./chunk-64ZMDALJ.cjs');
12
12
  var Channel = class extends _chunk34HB56WEcjs.Emitter {
13
13
  constructor() {
14
14
  super(...arguments);
15
- this.id = _chunkFLUN46S4cjs.uuid.call(void 0, );
15
+ this.id = _chunkBCX254SLcjs.uuid.call(void 0, );
16
16
  this.dispose = _chunk64ZMDALJcjs.useDispose.call(void 0, );
17
17
  }
18
18
  /** @deprecated use .dispose() */
@@ -24,4 +24,4 @@ var Channel = class extends _chunk34HB56WEcjs.Emitter {
24
24
 
25
25
 
26
26
  exports.Channel = Channel;
27
- //# sourceMappingURL=chunk-JDRJMOB6.cjs.map
27
+ //# sourceMappingURL=chunk-WE7QYNN3.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/zeed/zeed/dist/chunk-JDRJMOB6.cjs","../src/common/msg/channel.ts"],"names":[],"mappings":"AAAA;AACE;AACF,wDAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B;AACA;ACMO,IAAe,QAAA,EAAf,MAAA,QAAwC,0BAM5C;AAAA,EANI,WAAA,CAAA,EAAA;AAAA,IAAA,KAAA,CAAA,GAAA,SAAA,CAAA;AAOL,IAAA,IAAA,CAAA,GAAA,EAAa,oCAAA,CAAK;AAIlB,IAAA,IAAA,CAAA,QAAA,EAAU,0CAAA,CAAW;AAAA,EAAA;AAAA;AAAA,EAGrB,KAAA,CAAA,EAAQ;AACN,IAAA,KAAK,IAAA,CAAK,OAAA,CAAQ,CAAA;AAAA,EACpB;AACF,CAAA;ADXA;AACA;AACE;AACF,0BAAC","file":"/home/runner/work/zeed/zeed/dist/chunk-JDRJMOB6.cjs","sourcesContent":[null,"import { useDispose } from '../dispose-defer'\nimport { uuid } from '../uuid'\nimport { Emitter } from './emitter'\n\n/** See http://developer.mozilla.org/en-US/docs/Web/API/MessageEvent */\nexport interface ChannelMessageEvent<T = any> {\n data: T\n origin?: string\n lastEventId?: string\n}\n\n/**\n * Inspired by\n * http://developer.mozilla.org/en-US/docs/Web/API/BroadcastChannel\n * https://deno.com/deploy/docs/runtime-broadcast-channel\n */\nexport abstract class Channel<T = any> extends Emitter<{\n message: (event: ChannelMessageEvent<T>) => void\n messageerror: (event: ChannelMessageEvent<T>) => void // optional\n connect: () => void // optional\n disconnect: () => void // optional\n close: () => void\n}> {\n id: string = uuid()\n abstract isConnected?: boolean\n abstract postMessage(data: T): void\n\n dispose = useDispose()\n\n /** @deprecated use .dispose() */\n close() {\n void this.dispose()\n }\n}\n"]}
1
+ {"version":3,"sources":["/home/runner/work/zeed/zeed/dist/chunk-WE7QYNN3.cjs","../src/common/msg/channel.ts"],"names":[],"mappings":"AAAA;AACE;AACF,wDAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B;AACA;ACMO,IAAe,QAAA,EAAf,MAAA,QAAwC,0BAM5C;AAAA,EANI,WAAA,CAAA,EAAA;AAAA,IAAA,KAAA,CAAA,GAAA,SAAA,CAAA;AAOL,IAAA,IAAA,CAAA,GAAA,EAAa,oCAAA,CAAK;AAIlB,IAAA,IAAA,CAAA,QAAA,EAAU,0CAAA,CAAW;AAAA,EAAA;AAAA;AAAA,EAGrB,KAAA,CAAA,EAAQ;AACN,IAAA,KAAK,IAAA,CAAK,OAAA,CAAQ,CAAA;AAAA,EACpB;AACF,CAAA;ADXA;AACA;AACE;AACF,0BAAC","file":"/home/runner/work/zeed/zeed/dist/chunk-WE7QYNN3.cjs","sourcesContent":[null,"import { useDispose } from '../dispose-defer'\nimport { uuid } from '../uuid'\nimport { Emitter } from './emitter'\n\n/** See http://developer.mozilla.org/en-US/docs/Web/API/MessageEvent */\nexport interface ChannelMessageEvent<T = any> {\n data: T\n origin?: string\n lastEventId?: string\n}\n\n/**\n * Inspired by\n * http://developer.mozilla.org/en-US/docs/Web/API/BroadcastChannel\n * https://deno.com/deploy/docs/runtime-broadcast-channel\n */\nexport abstract class Channel<T = any> extends Emitter<{\n message: (event: ChannelMessageEvent<T>) => void\n messageerror: (event: ChannelMessageEvent<T>) => void // optional\n connect: () => void // optional\n disconnect: () => void // optional\n close: () => void\n}> {\n id: string = uuid()\n abstract isConnected?: boolean\n abstract postMessage(data: T): void\n\n dispose = useDispose()\n\n /** @deprecated use .dispose() */\n close() {\n void this.dispose()\n }\n}\n"]}
@@ -3,7 +3,7 @@
3
3
  var _chunk34HB56WEcjs = require('./chunk-34HB56WE.cjs');
4
4
 
5
5
 
6
- var _chunkFLUN46S4cjs = require('./chunk-FLUN46S4.cjs');
6
+ var _chunkBCX254SLcjs = require('./chunk-BCX254SL.cjs');
7
7
 
8
8
 
9
9
  var _chunk2AGPRCO5cjs = require('./chunk-2AGPRCO5.cjs');
@@ -20,7 +20,7 @@ var SerialQueue = class extends _chunk34HB56WEcjs.Emitter {
20
20
  this.countMax = 0;
21
21
  this.countResolved = 0;
22
22
  this.paused = false;
23
- const { name = _chunkFLUN46S4cjs.uname.call(void 0, "queue"), logLevel } = opt;
23
+ const { name = _chunkBCX254SLcjs.uname.call(void 0, "queue"), logLevel } = opt;
24
24
  this.name = name;
25
25
  this.log = _chunk2AGPRCO5cjs.DefaultLogger.call(void 0, `zeed:queue:${name}`, _nullishCoalesce(logLevel, () => ( _chunkJ42M6DF3cjs.LogLevelOff)));
26
26
  }
@@ -66,7 +66,7 @@ var SerialQueue = class extends _chunk34HB56WEcjs.Emitter {
66
66
  }
67
67
  /** Enqueue task to be executed when all other tasks are done. Except `immediate = true`. */
68
68
  async enqueue(task, opt = {}) {
69
- const { immediate = false, name = _chunkFLUN46S4cjs.uname.call(void 0, this.name) } = opt;
69
+ const { immediate = false, name = _chunkBCX254SLcjs.uname.call(void 0, this.name) } = opt;
70
70
  if (immediate) {
71
71
  this.log.info(`immediate execution ${name}`);
72
72
  return await task();
@@ -131,4 +131,4 @@ var SerialQueue = class extends _chunk34HB56WEcjs.Emitter {
131
131
 
132
132
 
133
133
  exports.SerialQueue = SerialQueue;
134
- //# sourceMappingURL=chunk-N764ZFOI.cjs.map
134
+ //# sourceMappingURL=chunk-WJXIPQLF.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/zeed/zeed/dist/chunk-N764ZFOI.cjs","../src/common/exec/queue.ts"],"names":[],"mappings":"AAAA;AACE;AACF,wDAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B;AACA;ACgBO,IAAM,YAAA,EAAN,MAAA,QAA0B,0BAAoB;AAAA,EAYnD,WAAA,CAAY,IAAA,EAA8C,CAAC,CAAA,EAAG;AAC5D,IAAA,KAAA,CAAM,CAAA;AAZR,IAAA,IAAA,CAAQ,MAAA,EAAoB,CAAC,CAAA;AAC7B,IAAA,IAAA,CAAQ,aAAA,EAA+B,CAAC,CAAA;AAGxC,IAAA,IAAA,CAAQ,SAAA,EAAW,CAAA;AACnB,IAAA,IAAA,CAAQ,cAAA,EAAgB,CAAA;AAExB,IAAA,IAAA,CAAQ,OAAA,EAAS,KAAA;AAMf,IAAA,MAAM,EAAE,KAAA,EAAO,qCAAA,OAAa,CAAA,EAAG,SAAS,EAAA,EAAI,GAAA;AAC5C,IAAA,IAAA,CAAK,KAAA,EAAO,IAAA;AACZ,IAAA,IAAA,CAAK,IAAA,EAAM,6CAAA,CAAc,WAAA,EAAc,IAAI,CAAA,CAAA;AAC7C,EAAA;AAE4B,EAAA;AACc,IAAA;AAEV,IAAA;AACnB,MAAA;AACT,MAAA;AACF,IAAA;AAEiB,IAAA;AACN,MAAA;AACT,MAAA;AACF,IAAA;AAEyC,IAAA;AACT,MAAA;AACS,MAAA;AAE3B,MAAA;AACV,QAAA;AAEyB,MAAA;AACe,QAAA;AAEV,MAAA;AACR,MAAA;AACpB,MAAA;AACA,MAAA;AACgC,QAAA;AACd,QAAA;AACU,QAAA;AAEpB,MAAA;AAC6B,QAAA;AACzC,MAAA;AAEc,MAAA;AACK,MAAA;AAEG,MAAA;AACW,MAAA;AACnC,IAAA;AAE6B,IAAA;AACD,MAAA;AACV,MAAA;AACK,MAAA;AACvB,IAAA;AAEkC,IAAA;AACN,MAAA;AAC9B,EAAA;AAAA;AAMc,EAAA;AAC4B,IAAA;AACzB,IAAA;AAC4B,MAAA;AACvB,MAAA;AACpB,IAAA;AAE0B,IAAA;AACM,IAAA;AACd,MAAA;AACd,QAAA;AACA,QAAA;AACA,QAAA;AACD,MAAA;AAEgB,MAAA;AACgB,MAAA;AAEX,MAAA;AACvB,IAAA;AACH,EAAA;AAAA;AAMc,EAAA;AACc,IAAA;AACO,MAAA;AACrB,MAAA;AACX,IAAA;AACH,EAAA;AAAA;AAGiC,EAAA;AACX,IAAA;AACM,IAAA;AACc,IAAA;AAC1B,IAAA;AACoB,IAAA;AAClB,IAAA;AAClB,EAAA;AAAA;AAGc,EAAA;AACI,IAAA;AACF,IAAA;AACE,IAAA;AAClB,EAAA;AAAA;AAGS,EAAA;AACU,IAAA;AACH,IAAA;AACQ,IAAA;AACxB,EAAA;AAAA;AAGa,EAAA;AACI,IAAA;AAC6B,IAAA;AAC1C,MAAA;AAE8B,IAAA;AACA,MAAA;AAC/B,IAAA;AACH,EAAA;AAE+B,EAAA;AACjB,IAAA;AACd,EAAA;AAE+B,EAAA;AACA,IAAA;AAC/B,EAAA;AACF;ADlDgD;AACA;AACA;AACA","file":"/home/runner/work/zeed/zeed/dist/chunk-N764ZFOI.cjs","sourcesContent":[null,"// Can learn from here https://github.com/sindresorhus/p-queue\n\nimport type { LoggerInterface, LogLevel } from '../log/log-base'\nimport { DefaultLogger } from '../log/log'\nimport { LogLevelOff } from '../log/log-base'\nimport { Emitter } from '../msg/emitter'\nimport { uname } from '../uuid'\n\ntype TaskResolver = any\n\nexport type TaskFn<T = any> = () => Promise<T>\n\ninterface TaskInfo {\n name: string\n task: TaskFn\n resolve: TaskResolver\n}\n\nexport interface TaskEvents {\n didUpdate: (max: number, resolved: number) => void\n didStart: (max: number) => void\n didCancel: () => void\n didFinish: () => void\n // didResolve(value: any): void\n // didReject(error: any): void\n // didPause(max: number): void\n}\n\n/** Guarentee serial execution of tasks. Able to wait, pause, resume and cancel all. */\nexport class SerialQueue extends Emitter<TaskEvents> {\n private queue: TaskInfo[] = []\n private waitToFinish: TaskResolver[] = []\n private currentTask?: Promise<any>\n private log: LoggerInterface\n private countMax = 0\n private countResolved = 0\n\n private paused = false\n\n name: string\n\n constructor(opt: { name?: string, logLevel?: LogLevel } = {}) {\n super()\n const { name = uname('queue'), logLevel } = opt\n this.name = name\n this.log = DefaultLogger(`zeed:queue:${name}`, logLevel ?? LogLevelOff)\n }\n\n private async performNext() {\n this.log('performNext, queue.length =', this.queue.length)\n\n if (this.currentTask != null) {\n this.log('performNext => skip while another task is running')\n return\n }\n\n if (this.paused) {\n this.log('performNext => skip while is paused')\n return\n }\n\n while (this.currentTask == null && !this.paused) {\n const info = this.queue.shift()\n this.log(`performNext => ${info?.name}`)\n\n if (info == null)\n break\n\n if (this.countResolved === 0)\n void this.emit('didStart', this.countMax)\n\n const { name, task, resolve } = info\n this.currentTask = task()\n let result\n try {\n this.log.info(`start task ${name}`)\n result = await this.currentTask\n this.log(`finished task ${name} with result =`, result)\n }\n catch (err) {\n this.log.warn('Error performing task', err)\n }\n\n resolve(result)\n this.currentTask = undefined\n\n this.countResolved += 1\n void this.emit('didUpdate', this.countMax, this.countResolved)\n }\n\n if (this.queue.length === 0) {\n void this.emit('didFinish')\n this.countMax = 0\n this.countResolved = 0\n }\n\n while (this.waitToFinish.length > 0)\n this.waitToFinish.shift()()\n }\n\n /** Enqueue task to be executed when all other tasks are done. Except `immediate = true`. */\n async enqueue<T>(\n task: TaskFn<T>,\n opt: { immediate?: boolean, name?: string } = {},\n ): Promise<T> {\n const { immediate = false, name = uname(this.name) } = opt\n if (immediate) {\n this.log.info(`immediate execution ${name}`)\n return await task()\n }\n\n this.log(`enqueue ${name}`)\n return new Promise((resolve) => {\n this.queue.push({\n name,\n task,\n resolve,\n })\n\n this.countMax += 1\n void this.emit('didUpdate', this.countMax, this.countResolved)\n\n void this.performNext()\n })\n }\n\n /** If a task is already performing, execute immediately. Otherwise enqueue as usual. */\n async enqueueReentrant<T>(\n task: TaskFn<T>,\n opt: { name?: string } = {},\n ): Promise<T> {\n return this.enqueue(task, {\n immediate: this.currentTask != null,\n name: opt.name,\n })\n }\n\n /** Remove all tasks from queue that are not yet executing. */\n async cancelAll(_unblock = true) {\n this.log('cancelAll')\n void this.emit('didCancel')\n const resolver = this.queue.map(task => task.resolve)\n this.queue = []\n resolver.forEach(r => r(undefined))\n await this.wait()\n }\n\n /** Pause execution after current task is finished. */\n async pause() {\n this.log('pause')\n this.paused = true\n await this.wait()\n }\n\n /** Resume paused queue. */\n resume() {\n this.log('resume')\n this.paused = false\n void this.performNext()\n }\n\n /** Wait for all tasks to finish */\n async wait() {\n this.log('wait')\n if (this.currentTask == null && (this.queue.length === 0 || this.paused))\n return\n\n return new Promise((resolve) => {\n this.waitToFinish.push(resolve)\n })\n }\n\n public get isPaused(): boolean {\n return this.paused\n }\n\n public get hasTasks(): boolean {\n return this.queue.length !== 0\n }\n}\n"]}
1
+ {"version":3,"sources":["/home/runner/work/zeed/zeed/dist/chunk-WJXIPQLF.cjs","../src/common/exec/queue.ts"],"names":[],"mappings":"AAAA;AACE;AACF,wDAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B;AACA;ACgBO,IAAM,YAAA,EAAN,MAAA,QAA0B,0BAAoB;AAAA,EAYnD,WAAA,CAAY,IAAA,EAA8C,CAAC,CAAA,EAAG;AAC5D,IAAA,KAAA,CAAM,CAAA;AAZR,IAAA,IAAA,CAAQ,MAAA,EAAoB,CAAC,CAAA;AAC7B,IAAA,IAAA,CAAQ,aAAA,EAA+B,CAAC,CAAA;AAGxC,IAAA,IAAA,CAAQ,SAAA,EAAW,CAAA;AACnB,IAAA,IAAA,CAAQ,cAAA,EAAgB,CAAA;AAExB,IAAA,IAAA,CAAQ,OAAA,EAAS,KAAA;AAMf,IAAA,MAAM,EAAE,KAAA,EAAO,qCAAA,OAAa,CAAA,EAAG,SAAS,EAAA,EAAI,GAAA;AAC5C,IAAA,IAAA,CAAK,KAAA,EAAO,IAAA;AACZ,IAAA,IAAA,CAAK,IAAA,EAAM,6CAAA,CAAc,WAAA,EAAc,IAAI,CAAA,CAAA;AAC7C,EAAA;AAE4B,EAAA;AACc,IAAA;AAEV,IAAA;AACnB,MAAA;AACT,MAAA;AACF,IAAA;AAEiB,IAAA;AACN,MAAA;AACT,MAAA;AACF,IAAA;AAEyC,IAAA;AACT,MAAA;AACS,MAAA;AAE3B,MAAA;AACV,QAAA;AAEyB,MAAA;AACe,QAAA;AAEV,MAAA;AACR,MAAA;AACpB,MAAA;AACA,MAAA;AACgC,QAAA;AACd,QAAA;AACU,QAAA;AAEpB,MAAA;AAC6B,QAAA;AACzC,MAAA;AAEc,MAAA;AACK,MAAA;AAEG,MAAA;AACW,MAAA;AACnC,IAAA;AAE6B,IAAA;AACD,MAAA;AACV,MAAA;AACK,MAAA;AACvB,IAAA;AAEkC,IAAA;AACN,MAAA;AAC9B,EAAA;AAAA;AAMc,EAAA;AAC4B,IAAA;AACzB,IAAA;AAC4B,MAAA;AACvB,MAAA;AACpB,IAAA;AAE0B,IAAA;AACM,IAAA;AACd,MAAA;AACd,QAAA;AACA,QAAA;AACA,QAAA;AACD,MAAA;AAEgB,MAAA;AACgB,MAAA;AAEX,MAAA;AACvB,IAAA;AACH,EAAA;AAAA;AAMc,EAAA;AACc,IAAA;AACO,MAAA;AACrB,MAAA;AACX,IAAA;AACH,EAAA;AAAA;AAGiC,EAAA;AACX,IAAA;AACM,IAAA;AACc,IAAA;AAC1B,IAAA;AACoB,IAAA;AAClB,IAAA;AAClB,EAAA;AAAA;AAGc,EAAA;AACI,IAAA;AACF,IAAA;AACE,IAAA;AAClB,EAAA;AAAA;AAGS,EAAA;AACU,IAAA;AACH,IAAA;AACQ,IAAA;AACxB,EAAA;AAAA;AAGa,EAAA;AACI,IAAA;AAC6B,IAAA;AAC1C,MAAA;AAE8B,IAAA;AACA,MAAA;AAC/B,IAAA;AACH,EAAA;AAE+B,EAAA;AACjB,IAAA;AACd,EAAA;AAE+B,EAAA;AACA,IAAA;AAC/B,EAAA;AACF;ADlDgD;AACA;AACA;AACA","file":"/home/runner/work/zeed/zeed/dist/chunk-WJXIPQLF.cjs","sourcesContent":[null,"// Can learn from here https://github.com/sindresorhus/p-queue\n\nimport type { LoggerInterface, LogLevel } from '../log/log-base'\nimport { DefaultLogger } from '../log/log'\nimport { LogLevelOff } from '../log/log-base'\nimport { Emitter } from '../msg/emitter'\nimport { uname } from '../uuid'\n\ntype TaskResolver = any\n\nexport type TaskFn<T = any> = () => Promise<T>\n\ninterface TaskInfo {\n name: string\n task: TaskFn\n resolve: TaskResolver\n}\n\nexport interface TaskEvents {\n didUpdate: (max: number, resolved: number) => void\n didStart: (max: number) => void\n didCancel: () => void\n didFinish: () => void\n // didResolve(value: any): void\n // didReject(error: any): void\n // didPause(max: number): void\n}\n\n/** Guarentee serial execution of tasks. Able to wait, pause, resume and cancel all. */\nexport class SerialQueue extends Emitter<TaskEvents> {\n private queue: TaskInfo[] = []\n private waitToFinish: TaskResolver[] = []\n private currentTask?: Promise<any>\n private log: LoggerInterface\n private countMax = 0\n private countResolved = 0\n\n private paused = false\n\n name: string\n\n constructor(opt: { name?: string, logLevel?: LogLevel } = {}) {\n super()\n const { name = uname('queue'), logLevel } = opt\n this.name = name\n this.log = DefaultLogger(`zeed:queue:${name}`, logLevel ?? LogLevelOff)\n }\n\n private async performNext() {\n this.log('performNext, queue.length =', this.queue.length)\n\n if (this.currentTask != null) {\n this.log('performNext => skip while another task is running')\n return\n }\n\n if (this.paused) {\n this.log('performNext => skip while is paused')\n return\n }\n\n while (this.currentTask == null && !this.paused) {\n const info = this.queue.shift()\n this.log(`performNext => ${info?.name}`)\n\n if (info == null)\n break\n\n if (this.countResolved === 0)\n void this.emit('didStart', this.countMax)\n\n const { name, task, resolve } = info\n this.currentTask = task()\n let result\n try {\n this.log.info(`start task ${name}`)\n result = await this.currentTask\n this.log(`finished task ${name} with result =`, result)\n }\n catch (err) {\n this.log.warn('Error performing task', err)\n }\n\n resolve(result)\n this.currentTask = undefined\n\n this.countResolved += 1\n void this.emit('didUpdate', this.countMax, this.countResolved)\n }\n\n if (this.queue.length === 0) {\n void this.emit('didFinish')\n this.countMax = 0\n this.countResolved = 0\n }\n\n while (this.waitToFinish.length > 0)\n this.waitToFinish.shift()()\n }\n\n /** Enqueue task to be executed when all other tasks are done. Except `immediate = true`. */\n async enqueue<T>(\n task: TaskFn<T>,\n opt: { immediate?: boolean, name?: string } = {},\n ): Promise<T> {\n const { immediate = false, name = uname(this.name) } = opt\n if (immediate) {\n this.log.info(`immediate execution ${name}`)\n return await task()\n }\n\n this.log(`enqueue ${name}`)\n return new Promise((resolve) => {\n this.queue.push({\n name,\n task,\n resolve,\n })\n\n this.countMax += 1\n void this.emit('didUpdate', this.countMax, this.countResolved)\n\n void this.performNext()\n })\n }\n\n /** If a task is already performing, execute immediately. Otherwise enqueue as usual. */\n async enqueueReentrant<T>(\n task: TaskFn<T>,\n opt: { name?: string } = {},\n ): Promise<T> {\n return this.enqueue(task, {\n immediate: this.currentTask != null,\n name: opt.name,\n })\n }\n\n /** Remove all tasks from queue that are not yet executing. */\n async cancelAll(_unblock = true) {\n this.log('cancelAll')\n void this.emit('didCancel')\n const resolver = this.queue.map(task => task.resolve)\n this.queue = []\n resolver.forEach(r => r(undefined))\n await this.wait()\n }\n\n /** Pause execution after current task is finished. */\n async pause() {\n this.log('pause')\n this.paused = true\n await this.wait()\n }\n\n /** Resume paused queue. */\n resume() {\n this.log('resume')\n this.paused = false\n void this.performNext()\n }\n\n /** Wait for all tasks to finish */\n async wait() {\n this.log('wait')\n if (this.currentTask == null && (this.queue.length === 0 || this.paused))\n return\n\n return new Promise((resolve) => {\n this.waitToFinish.push(resolve)\n })\n }\n\n public get isPaused(): boolean {\n return this.paused\n }\n\n public get hasTasks(): boolean {\n return this.queue.length !== 0\n }\n}\n"]}
@@ -8,24 +8,13 @@ require('../../chunk-2Q4Q3VX6.cjs');
8
8
  require('../../chunk-HN6JW3BL.cjs');
9
9
  require('../../chunk-HEYAOG5D.cjs');
10
10
  require('../../chunk-O33QJMGR.cjs');
11
- require('../../chunk-QJVZDNUH.cjs');
12
- require('../../chunk-WVAFGHBS.cjs');
11
+ require('../../chunk-K3AEUCMR.cjs');
12
+ require('../../chunk-ANH22HI4.cjs');
13
13
  require('../../chunk-X5MWXWOA.cjs');
14
- require('../../chunk-NFGPFSPO.cjs');
15
- require('../../chunk-QH47PAYE.cjs');
16
- require('../../chunk-QRZCRLS4.cjs');
17
- require('../../chunk-JDRJMOB6.cjs');
18
-
19
-
20
-
21
-
22
-
23
- var _chunkZK5AZXA2cjs = require('../../chunk-ZK5AZXA2.cjs');
24
- require('../../chunk-UFTHLJFJ.cjs');
25
- require('../../chunk-V3MFEGRK.cjs');
26
- require('../../chunk-2UTQQDPY.cjs');
27
- require('../../chunk-SFUIGVPA.cjs');
28
- require('../../chunk-X23ZSPZC.cjs');
14
+ require('../../chunk-5RMO25EO.cjs');
15
+ require('../../chunk-77IPGSEK.cjs');
16
+ require('../../chunk-VXJUCLJU.cjs');
17
+ require('../../chunk-WE7QYNN3.cjs');
29
18
  require('../../chunk-VFIICDKU.cjs');
30
19
  require('../../chunk-KMMN6P2X.cjs');
31
20
  require('../../chunk-PDXKNB3S.cjs');
@@ -45,6 +34,17 @@ require('../../chunk-SFVQNT7T.cjs');
45
34
  require('../../chunk-Z4FNOCPD.cjs');
46
35
  require('../../chunk-GYJO5LFO.cjs');
47
36
  require('../../chunk-B3U4FDQH.cjs');
37
+
38
+
39
+
40
+
41
+
42
+ var _chunkZK5AZXA2cjs = require('../../chunk-ZK5AZXA2.cjs');
43
+ require('../../chunk-UFTHLJFJ.cjs');
44
+ require('../../chunk-V3MFEGRK.cjs');
45
+ require('../../chunk-2UTQQDPY.cjs');
46
+ require('../../chunk-SFUIGVPA.cjs');
47
+ require('../../chunk-X23ZSPZC.cjs');
48
48
  require('../../chunk-DRU33ZUG.cjs');
49
49
  require('../../chunk-TUWUD5A6.cjs');
50
50
  require('../../chunk-3TNVJY4F.cjs');
@@ -57,18 +57,18 @@ require('../../chunk-MPD2DJAD.cjs');
57
57
  require('../../chunk-7BEQHGH5.cjs');
58
58
  require('../../chunk-FLTWM56V.cjs');
59
59
  require('../../chunk-4B2XCWGL.cjs');
60
- require('../../chunk-6O4C75LB.cjs');
60
+ require('../../chunk-34N227RG.cjs');
61
61
  require('../../chunk-5CIFX7O6.cjs');
62
62
  require('../../chunk-RLHQ6YHC.cjs');
63
63
  require('../../chunk-NU2LARFE.cjs');
64
64
  require('../../chunk-5G52PYZN.cjs');
65
- require('../../chunk-SIJXIZ4J.cjs');
66
- require('../../chunk-QP3M4SXG.cjs');
67
- require('../../chunk-N764ZFOI.cjs');
65
+ require('../../chunk-AW6BPYNX.cjs');
66
+ require('../../chunk-HWQNPGWU.cjs');
67
+ require('../../chunk-WJXIPQLF.cjs');
68
68
  require('../../chunk-F2L2RVEN.cjs');
69
69
  require('../../chunk-34HB56WE.cjs');
70
70
  require('../../chunk-XTDX3HZA.cjs');
71
- require('../../chunk-FLUN46S4.cjs');
71
+ require('../../chunk-BCX254SL.cjs');
72
72
  require('../../chunk-RHWKNEUH.cjs');
73
73
  require('../../chunk-WPWV7ZEM.cjs');
74
74
  require('../../chunk-LENLRWSH.cjs');
@@ -90,7 +90,7 @@ var _chunkHHZVPIBDcjs = require('../../chunk-HHZVPIBD.cjs');
90
90
  require('../../chunk-TMDQ3JIT.cjs');
91
91
  require('../../chunk-CUGOCLWN.cjs');
92
92
  require('../../chunk-N46W55MH.cjs');
93
- require('../../chunk-SX5YQHZO.cjs');
93
+ require('../../chunk-33B2TEAZ.cjs');
94
94
  require('../../chunk-UKD65B23.cjs');
95
95
  require('../../chunk-TZXDYORA.cjs');
96
96
  require('../../chunk-J42M6DF3.cjs');
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/zeed/zeed/dist/common/bin/index.spec.cjs","../../../src/common/bin/index.spec.ts"],"names":[],"mappings":"AAAA,iDAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC;AACE;AACA;AACA;AACA;AACF,4DAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC;AACE;AACA;AACA;AACF,4DAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC;AACA;ACnGA,QAAA,CAAS,SAAA,EAAW,CAAA,EAAA,GAAM;AACxB,EAAA,EAAA,CAAG,uBAAA,EAAyB,CAAA,EAAA,GAAM;AAChC,IAAA,MAAM,OAAA,EAAS,yDAAA,CAA0B;AAEzC,IAAA,MAAA,CAAO,WAAA,CAAY,CAAC,CAAA;AACpB,IAAA,MAAA,CAAO,KAAA,CAAM,EAAE,CAAA,EAAG,KAAK,CAAC,CAAA;AACxB,IAAA,MAAA,CAAO,UAAA,CAAW,CAAC,CAAA,EAAG,CAAA,EAAG,CAAC,CAAA,EAAG,CAAC,CAAA;AAC9B,IAAA,MAAA,CAAO,KAAA,CAAM,GAAG,CAAA;AAEhB,IAAA,MAAM,IAAA,EAAM,MAAA,CAAO,aAAA,CAAc,CAAA;AAEjC,IAAA,MAAA,CAAO,mDAAA,GAAuB,CAAC,CAAA,CAAE,qBAAA,CAAsB,CAAA;AAAA;AAAA;AAAA,IAAA,CAGtD,CAAA;AAED,IAAA,MAAA,CAAO,MAAA,CAAO,SAAA,CAAU,CAAC,CAAA,CAAE,IAAA,CAAK,EAAE,CAAA;AAElC,IAAA,MAAM,WAAA,EAAa,yDAAA,GAA6B,CAAA;AAChD,IAAA,MAAA,CAAO,UAAA,CAAW,SAAA,CAAU,CAAC,CAAA,CAAE,IAAA,CAAK,CAAC,CAAA;AACrC,IAAA,MAAA,CAAO,UAAA,CAAW,UAAA,CAAW,CAAC,CAAA,CAAE,IAAA,CAAK,CAAC,CAAA;AACtC,IAAA,MAAA,CAAO,UAAA,CAAW,SAAA,CAAU,CAAC,CAAA,CAAE,IAAA,CAAK,CAAC,CAAA;AACrC,IAAA,MAAA,CAAO,UAAA,CAAW,IAAA,CAAK,CAAC,CAAA,CAAE,OAAA,CAAQ,EAAE,CAAA,EAAG,KAAK,CAAC,CAAA;AAC7C,IAAA,MAAA,CAAO,UAAA,CAAW,SAAA,CAAU,CAAC,CAAC,CAAA,CAAE,qBAAA,CAAsB,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,CAMzD,CAAA;AACG,IAAA,MAAA,CAAO,UAAA,CAAW,IAAA,CAAK,CAAC,CAAA,CAAE,IAAA,CAAK,GAAG,CAAA;AAClC,IAAA,MAAA,CAAO,UAAA,CAAW,SAAA,CAAU,CAAC,CAAA,CAAE,IAAA,CAAK,GAAA,CAAI,MAAM,CAAA;AAAA,EAChD,CAAC,CAAA;AAED,EAAA,EAAA,CAAG,iBAAA,EAAmB,CAAA,EAAA,GAAM;AAC1B,IAAA,MAAM,GAAA,EAAK,wCAAA,CAAU,CAAA;AACrB,IAAA,EAAA,CAAG,MAAA,CAAO,CAAC,CAAA;AACX,IAAA,MAAA,CAAO,EAAA,CAAG,QAAA,CAAS,CAAC,CAAA,CAAE,IAAA,CAAK,EAAO,CAAA;AAClC,IAAA,EAAA,CAAG,MAAA,CAAO,CAAA,EAAG,KAAK,CAAA;AAClB,IAAA,MAAA,CAAO,EAAA,CAAG,QAAA,CAAS,CAAC,CAAA,CAAE,IAAA,CAAK,EAAO,CAAA;AAClC,IAAA,EAAA,CAAG,MAAA,CAAO,CAAC,CAAA;AACX,IAAA,EAAA,CAAG,MAAA,CAAO,CAAC,CAAA;AACX,IAAA,EAAA,CAAG,MAAA,CAAO,EAAE,CAAA;AACZ,IAAA,MAAA,CAAO,EAAA,CAAG,QAAA,CAAS,CAAA,CAAE,QAAA,CAAS,CAAC,CAAC,CAAA,CAAE,qBAAA;AAAA,MAChC;AAAA,IACF,CAAA;AACA,IAAA,MAAA,CAAO,EAAA,CAAG,QAAA,CAAS,CAAC,CAAA,CAAE,IAAA,CAAK,KAAmB,CAAA;AAC9C,IAAA,MAAA,CAAO,EAAA,CAAG,MAAA,CAAO,CAAC,CAAC,CAAA,CAAE,IAAA,CAAK,KAAK,CAAA;AAC/B,IAAA,MAAA,CAAO,EAAA,CAAG,MAAA,CAAO,CAAC,CAAC,CAAA,CAAE,IAAA,CAAK,IAAI,CAAA;AAC9B,IAAA,EAAA,CAAG,SAAA,CAAU,CAAC,CAAA;AACd,IAAA,MAAA,CAAO,EAAA,CAAG,MAAA,CAAO,CAAC,CAAC,CAAA,CAAE,IAAA,CAAK,KAAK,CAAA;AAC/B,IAAA,MAAA,CAAO,EAAA,CAAG,QAAA,CAAS,CAAC,CAAA,CAAE,IAAA,CAAK,KAAmB,CAAA;AAAA,EAChD,CAAC,CAAA;AAED,EAAA,EAAA,CAAG,gBAAA,EAAkB,CAAA,EAAA,GAAM;AACzB,IAAA,SAAS,GAAA,CAAI,CAAA,EAAW;AACtB,MAAA,MAAM,EAAA,EAAI,yDAAA,CAA0B;AACpC,MAAA,CAAA,CAAE,WAAA,CAAY,CAAC,CAAA;AACf,MAAA,OAAO,qCAAA,CAAM,CAAE,aAAA,CAAc,CAAC,CAAA;AAAA,IAChC;AAEA,IAAA,MAAA,CAAO,GAAA,CAAI,CAAC,CAAC,CAAA,CAAE,qBAAA,CAAsB,MAAM,CAAA;AAC3C,IAAA,MAAA,CAAO,GAAA,CAAI,GAAG,CAAC,CAAA,CAAE,qBAAA,CAAsB,QAAQ,CAAA;AAC/C,IAAA,MAAA,CAAO,GAAA,CAAI,CAAA,CAAE,CAAC,CAAA,CAAE,qBAAA,CAAsB,MAAM,CAAA;AAC5C,IAAA,MAAA,CAAO,GAAA,CAAI,CAAA,SAAU,CAAC,CAAA,CAAE,qBAAA,CAAsB,cAAc,CAAA;AAC5D,IAAA,MAAA,CAAO,GAAA,CAAI,SAAS,CAAC,CAAA,CAAE,qBAAA,CAAsB,cAAc,CAAA;AAAA,EAC7D,CAAC,CAAA;AAED,EAAA,EAAA,CAAG,qBAAA,EAAuB,CAAA,EAAA,GAAM;AAC9B,IAAA,SAAS,GAAA,CAAI,CAAA,EAAW;AACtB,MAAA,MAAM,EAAA,EAAI,yDAAA,CAA0B;AACpC,MAAA,CAAA,CAAE,YAAA,CAAa,CAAC,CAAA;AAChB,MAAA,OAAO,qCAAA,CAAM,CAAE,aAAA,CAAc,CAAC,CAAA;AAAA,IAChC;AAEA,IAAA,MAAA,CAAO,GAAA,CAAI,CAAC,CAAC,CAAA,CAAE,qBAAA,CAAsB,MAAM,CAAA;AAC3C,IAAA,MAAA,CAAO,GAAA,CAAI,GAAG,CAAC,CAAA,CAAE,qBAAA,CAAsB,MAAM,CAAA;AAC7C,IAAA,MAAA,CAAO,GAAA,CAAI,GAAG,CAAC,CAAA,CAAE,qBAAA,CAAsB,CAAA,MAAA,CAAQ,CAAA;AAC/C,IAAA,MAAA,CAAO,GAAA,CAAI,GAAG,CAAC,CAAA,CAAE,qBAAA,CAAsB,QAAQ,CAAA;AAC/C,IAAA,MAAA,CAAO,GAAA,CAAI,GAAG,CAAC,CAAA,CAAE,qBAAA,CAAsB,QAAQ,CAAA;AAC/C,IAAA,MAAA,CAAO,GAAA,CAAI,SAAS,CAAC,CAAA,CAAE,qBAAA,CAAsB,cAAc,CAAA;AAAA,EAC7D,CAAC,CAAA;AAED,EAAA,EAAA,CAAG,sBAAA,EAAwB,CAAA,EAAA,GAAM;AAC/B,IAAA,MAAM,KAAA,EAAO,0CAAA;AAAW,MACtB,CAAA,EAAG,CAAA;AAAA,MACH,CAAA,EAAG;AAAA,IACL,CAAC,CAAA;AACD,IAAA,MAAM,KAAA,EAAO,0CAAA;AAAW,MACtB,CAAA,EAAG,CAAA;AAAA,MACH,CAAA,EAAG;AAAA,IACL,CAAC,CAAA;AACD,IAAA,MAAA,CAAO,2CAAA,IAAY,EAAM,IAAI,CAAC,CAAA,CAAE,IAAA,CAAK,IAAI,CAAA;AAAA,EAC3C,CAAC,CAAA;AAaH,CAAC,CAAA","file":"/home/runner/work/zeed/zeed/dist/common/bin/index.spec.cjs","sourcesContent":[null,"import { bitfield, createBinaryStreamDecoder, createBinaryStreamEncoder, encodeJson } from '.'\nimport { equalBinary, toHex, Uint8ArrayToHexDump } from '..'\n\ndescribe('encoder', () => {\n it('should write a stream', () => {\n const stream = createBinaryStreamEncoder()\n\n stream.writeUint32(1)\n stream.write({ a: '99' })\n stream.writeBytes([1, 2, 3], 3)\n stream.write(123)\n\n const bin = stream.getUint8Array()\n\n expect(Uint8ArrayToHexDump(bin)).toMatchInlineSnapshot(`\n \"0000 01 00 00 00 76 01 01 61 77 02 39 39 01 02 03 7d ....v..aw.99...}\n 0010 bb 01 ». \"\n `)\n\n expect(stream.getLength()).toBe(18)\n\n const readStream = createBinaryStreamDecoder(bin)\n expect(readStream.getOffset()).toBe(0)\n expect(readStream.readUint32()).toBe(1)\n expect(readStream.getOffset()).toBe(4)\n expect(readStream.read()).toEqual({ a: '99' })\n expect(readStream.readBytes(3)).toMatchInlineSnapshot(`\nUint8Array [\n 1,\n 2,\n 3,\n]\n`)\n expect(readStream.read()).toBe(123)\n expect(readStream.getOffset()).toBe(bin.length)\n })\n\n it('should bitfield', () => {\n const bf = bitfield(1)\n bf.setBit(4)\n expect(bf.getValue()).toBe(0b10001)\n bf.setBit(0, false)\n expect(bf.getValue()).toBe(0b10000)\n bf.setBit(1)\n bf.setBit(5)\n bf.setBit(16)\n expect(bf.getValue().toString(2)).toMatchInlineSnapshot(\n '\"10000000000110010\"',\n )\n expect(bf.getValue()).toBe(0b10000000000110010)\n expect(bf.getBit(0)).toBe(false)\n expect(bf.getBit(4)).toBe(true)\n bf.toggleBit(4)\n expect(bf.getBit(4)).toBe(false)\n expect(bf.getValue()).toBe(0b10000000000100010)\n })\n\n it('should var bin', () => {\n function enc(v: number) {\n const e = createBinaryStreamEncoder()\n e.writeIntVar(v)\n return toHex(e.getUint8Array())\n }\n\n expect(enc(1)).toMatchInlineSnapshot('\"01\"')\n expect(enc(128)).toMatchInlineSnapshot('\"8002\"')\n expect(enc(-1)).toMatchInlineSnapshot('\"41\"')\n expect(enc(-691529286)).toMatchInlineSnapshot('\"c699bf9305\"')\n expect(enc(691529286)).toMatchInlineSnapshot('\"8699bf9305\"')\n })\n\n it('should var bin uint', () => {\n function enc(v: number) {\n const e = createBinaryStreamEncoder()\n e.writeUintVar(v)\n return toHex(e.getUint8Array())\n }\n\n expect(enc(1)).toMatchInlineSnapshot('\"01\"')\n expect(enc(127)).toMatchInlineSnapshot('\"7f\"')\n expect(enc(128)).toMatchInlineSnapshot(`\"8001\"`)\n expect(enc(255)).toMatchInlineSnapshot('\"ff01\"')\n expect(enc(256)).toMatchInlineSnapshot('\"8002\"')\n expect(enc(691529286)).toMatchInlineSnapshot('\"c6ccdfc902\"')\n })\n\n it('should be consistent', () => {\n const bin1 = encodeJson({\n a: 1,\n b: 2,\n })\n const bin2 = encodeJson({\n b: 2,\n a: 1,\n })\n expect(equalBinary(bin1, bin2)).toBe(true)\n })\n\n // it('should be consistent JSON', () => {\n // const bin1 = JSON.stringify({\n // a: 1,\n // b: 2,\n // })\n // const bin2 = JSON.stringify({\n // b: 2,\n // a: 1,\n // })\n // expect(bin1 !== bin2).toBe(true)\n // })\n})\n"]}
1
+ {"version":3,"sources":["/home/runner/work/zeed/zeed/dist/common/bin/index.spec.cjs","../../../src/common/bin/index.spec.ts"],"names":[],"mappings":"AAAA,iDAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC;AACE;AACA;AACA;AACA;AACF,4DAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC;AACE;AACA;AACA;AACF,4DAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC;AACA;ACnGA,QAAA,CAAS,SAAA,EAAW,CAAA,EAAA,GAAM;AACxB,EAAA,EAAA,CAAG,uBAAA,EAAyB,CAAA,EAAA,GAAM;AAChC,IAAA,MAAM,OAAA,EAAS,yDAAA,CAA0B;AAEzC,IAAA,MAAA,CAAO,WAAA,CAAY,CAAC,CAAA;AACpB,IAAA,MAAA,CAAO,KAAA,CAAM,EAAE,CAAA,EAAG,KAAK,CAAC,CAAA;AACxB,IAAA,MAAA,CAAO,UAAA,CAAW,CAAC,CAAA,EAAG,CAAA,EAAG,CAAC,CAAA,EAAG,CAAC,CAAA;AAC9B,IAAA,MAAA,CAAO,KAAA,CAAM,GAAG,CAAA;AAEhB,IAAA,MAAM,IAAA,EAAM,MAAA,CAAO,aAAA,CAAc,CAAA;AAEjC,IAAA,MAAA,CAAO,mDAAA,GAAuB,CAAC,CAAA,CAAE,qBAAA,CAAsB,CAAA;AAAA;AAAA;AAAA,IAAA,CAGtD,CAAA;AAED,IAAA,MAAA,CAAO,MAAA,CAAO,SAAA,CAAU,CAAC,CAAA,CAAE,IAAA,CAAK,EAAE,CAAA;AAElC,IAAA,MAAM,WAAA,EAAa,yDAAA,GAA6B,CAAA;AAChD,IAAA,MAAA,CAAO,UAAA,CAAW,SAAA,CAAU,CAAC,CAAA,CAAE,IAAA,CAAK,CAAC,CAAA;AACrC,IAAA,MAAA,CAAO,UAAA,CAAW,UAAA,CAAW,CAAC,CAAA,CAAE,IAAA,CAAK,CAAC,CAAA;AACtC,IAAA,MAAA,CAAO,UAAA,CAAW,SAAA,CAAU,CAAC,CAAA,CAAE,IAAA,CAAK,CAAC,CAAA;AACrC,IAAA,MAAA,CAAO,UAAA,CAAW,IAAA,CAAK,CAAC,CAAA,CAAE,OAAA,CAAQ,EAAE,CAAA,EAAG,KAAK,CAAC,CAAA;AAC7C,IAAA,MAAA,CAAO,UAAA,CAAW,SAAA,CAAU,CAAC,CAAC,CAAA,CAAE,qBAAA,CAAsB,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,CAMzD,CAAA;AACG,IAAA,MAAA,CAAO,UAAA,CAAW,IAAA,CAAK,CAAC,CAAA,CAAE,IAAA,CAAK,GAAG,CAAA;AAClC,IAAA,MAAA,CAAO,UAAA,CAAW,SAAA,CAAU,CAAC,CAAA,CAAE,IAAA,CAAK,GAAA,CAAI,MAAM,CAAA;AAAA,EAChD,CAAC,CAAA;AAED,EAAA,EAAA,CAAG,iBAAA,EAAmB,CAAA,EAAA,GAAM;AAC1B,IAAA,MAAM,GAAA,EAAK,wCAAA,CAAU,CAAA;AACrB,IAAA,EAAA,CAAG,MAAA,CAAO,CAAC,CAAA;AACX,IAAA,MAAA,CAAO,EAAA,CAAG,QAAA,CAAS,CAAC,CAAA,CAAE,IAAA,CAAK,EAAO,CAAA;AAClC,IAAA,EAAA,CAAG,MAAA,CAAO,CAAA,EAAG,KAAK,CAAA;AAClB,IAAA,MAAA,CAAO,EAAA,CAAG,QAAA,CAAS,CAAC,CAAA,CAAE,IAAA,CAAK,EAAO,CAAA;AAClC,IAAA,EAAA,CAAG,MAAA,CAAO,CAAC,CAAA;AACX,IAAA,EAAA,CAAG,MAAA,CAAO,CAAC,CAAA;AACX,IAAA,EAAA,CAAG,MAAA,CAAO,EAAE,CAAA;AACZ,IAAA,MAAA,CAAO,EAAA,CAAG,QAAA,CAAS,CAAA,CAAE,QAAA,CAAS,CAAC,CAAC,CAAA,CAAE,qBAAA;AAAA,MAChC;AAAA,IACF,CAAA;AACA,IAAA,MAAA,CAAO,EAAA,CAAG,QAAA,CAAS,CAAC,CAAA,CAAE,IAAA,CAAK,KAAmB,CAAA;AAC9C,IAAA,MAAA,CAAO,EAAA,CAAG,MAAA,CAAO,CAAC,CAAC,CAAA,CAAE,IAAA,CAAK,KAAK,CAAA;AAC/B,IAAA,MAAA,CAAO,EAAA,CAAG,MAAA,CAAO,CAAC,CAAC,CAAA,CAAE,IAAA,CAAK,IAAI,CAAA;AAC9B,IAAA,EAAA,CAAG,SAAA,CAAU,CAAC,CAAA;AACd,IAAA,MAAA,CAAO,EAAA,CAAG,MAAA,CAAO,CAAC,CAAC,CAAA,CAAE,IAAA,CAAK,KAAK,CAAA;AAC/B,IAAA,MAAA,CAAO,EAAA,CAAG,QAAA,CAAS,CAAC,CAAA,CAAE,IAAA,CAAK,KAAmB,CAAA;AAAA,EAChD,CAAC,CAAA;AAED,EAAA,EAAA,CAAG,gBAAA,EAAkB,CAAA,EAAA,GAAM;AACzB,IAAA,SAAS,GAAA,CAAI,CAAA,EAAW;AACtB,MAAA,MAAM,EAAA,EAAI,yDAAA,CAA0B;AACpC,MAAA,CAAA,CAAE,WAAA,CAAY,CAAC,CAAA;AACf,MAAA,OAAO,qCAAA,CAAM,CAAE,aAAA,CAAc,CAAC,CAAA;AAAA,IAChC;AAEA,IAAA,MAAA,CAAO,GAAA,CAAI,CAAC,CAAC,CAAA,CAAE,qBAAA,CAAsB,MAAM,CAAA;AAC3C,IAAA,MAAA,CAAO,GAAA,CAAI,GAAG,CAAC,CAAA,CAAE,qBAAA,CAAsB,QAAQ,CAAA;AAC/C,IAAA,MAAA,CAAO,GAAA,CAAI,CAAA,CAAE,CAAC,CAAA,CAAE,qBAAA,CAAsB,MAAM,CAAA;AAC5C,IAAA,MAAA,CAAO,GAAA,CAAI,CAAA,SAAU,CAAC,CAAA,CAAE,qBAAA,CAAsB,cAAc,CAAA;AAC5D,IAAA,MAAA,CAAO,GAAA,CAAI,SAAS,CAAC,CAAA,CAAE,qBAAA,CAAsB,cAAc,CAAA;AAAA,EAC7D,CAAC,CAAA;AAED,EAAA,EAAA,CAAG,qBAAA,EAAuB,CAAA,EAAA,GAAM;AAC9B,IAAA,SAAS,GAAA,CAAI,CAAA,EAAW;AACtB,MAAA,MAAM,EAAA,EAAI,yDAAA,CAA0B;AACpC,MAAA,CAAA,CAAE,YAAA,CAAa,CAAC,CAAA;AAChB,MAAA,OAAO,qCAAA,CAAM,CAAE,aAAA,CAAc,CAAC,CAAA;AAAA,IAChC;AAEA,IAAA,MAAA,CAAO,GAAA,CAAI,CAAC,CAAC,CAAA,CAAE,qBAAA,CAAsB,MAAM,CAAA;AAC3C,IAAA,MAAA,CAAO,GAAA,CAAI,GAAG,CAAC,CAAA,CAAE,qBAAA,CAAsB,MAAM,CAAA;AAC7C,IAAA,MAAA,CAAO,GAAA,CAAI,GAAG,CAAC,CAAA,CAAE,qBAAA,CAAsB,CAAA,MAAA,CAAQ,CAAA;AAC/C,IAAA,MAAA,CAAO,GAAA,CAAI,GAAG,CAAC,CAAA,CAAE,qBAAA,CAAsB,QAAQ,CAAA;AAC/C,IAAA,MAAA,CAAO,GAAA,CAAI,GAAG,CAAC,CAAA,CAAE,qBAAA,CAAsB,QAAQ,CAAA;AAC/C,IAAA,MAAA,CAAO,GAAA,CAAI,SAAS,CAAC,CAAA,CAAE,qBAAA,CAAsB,cAAc,CAAA;AAAA,EAC7D,CAAC,CAAA;AAED,EAAA,EAAA,CAAG,sBAAA,EAAwB,CAAA,EAAA,GAAM;AAC/B,IAAA,MAAM,KAAA,EAAO,0CAAA;AAAW,MACtB,CAAA,EAAG,CAAA;AAAA,MACH,CAAA,EAAG;AAAA,IACL,CAAC,CAAA;AACD,IAAA,MAAM,KAAA,EAAO,0CAAA;AAAW,MACtB,CAAA,EAAG,CAAA;AAAA,MACH,CAAA,EAAG;AAAA,IACL,CAAC,CAAA;AACD,IAAA,MAAA,CAAO,2CAAA,IAAY,EAAM,IAAI,CAAC,CAAA,CAAE,IAAA,CAAK,IAAI,CAAA;AAAA,EAC3C,CAAC,CAAA;AAaH,CAAC,CAAA","file":"/home/runner/work/zeed/zeed/dist/common/bin/index.spec.cjs","sourcesContent":[null,"import { bitfield, createBinaryStreamDecoder, createBinaryStreamEncoder, encodeJson } from '.'\nimport { equalBinary, toHex, Uint8ArrayToHexDump } from '..'\n\ndescribe('encoder', () => {\n it('should write a stream', () => {\n const stream = createBinaryStreamEncoder()\n\n stream.writeUint32(1)\n stream.write({ a: '99' })\n stream.writeBytes([1, 2, 3], 3)\n stream.write(123)\n\n const bin = stream.getUint8Array()\n\n expect(Uint8ArrayToHexDump(bin)).toMatchInlineSnapshot(`\n \"0000 01 00 00 00 76 01 01 61 77 02 39 39 01 02 03 7d ....v..aw.99...}\n 0010 bb 01 ». \"\n `)\n\n expect(stream.getLength()).toBe(18)\n\n const readStream = createBinaryStreamDecoder(bin)\n expect(readStream.getOffset()).toBe(0)\n expect(readStream.readUint32()).toBe(1)\n expect(readStream.getOffset()).toBe(4)\n expect(readStream.read()).toEqual({ a: '99' })\n expect(readStream.readBytes(3)).toMatchInlineSnapshot(`\nUint8Array [\n 1,\n 2,\n 3,\n]\n`)\n expect(readStream.read()).toBe(123)\n expect(readStream.getOffset()).toBe(bin.length)\n })\n\n it('should bitfield', () => {\n const bf = bitfield(1)\n bf.setBit(4)\n expect(bf.getValue()).toBe(0b10001)\n bf.setBit(0, false)\n expect(bf.getValue()).toBe(0b10000)\n bf.setBit(1)\n bf.setBit(5)\n bf.setBit(16)\n expect(bf.getValue().toString(2)).toMatchInlineSnapshot(\n '\"10000000000110010\"',\n )\n expect(bf.getValue()).toBe(0b10000000000110010)\n expect(bf.getBit(0)).toBe(false)\n expect(bf.getBit(4)).toBe(true)\n bf.toggleBit(4)\n expect(bf.getBit(4)).toBe(false)\n expect(bf.getValue()).toBe(0b10000000000100010)\n })\n\n it('should var bin', () => {\n function enc(v: number) {\n const e = createBinaryStreamEncoder()\n e.writeIntVar(v)\n return toHex(e.getUint8Array())\n }\n\n expect(enc(1)).toMatchInlineSnapshot('\"01\"')\n expect(enc(128)).toMatchInlineSnapshot('\"8002\"')\n expect(enc(-1)).toMatchInlineSnapshot('\"41\"')\n expect(enc(-691529286)).toMatchInlineSnapshot('\"c699bf9305\"')\n expect(enc(691529286)).toMatchInlineSnapshot('\"8699bf9305\"')\n })\n\n it('should var bin uint', () => {\n function enc(v: number) {\n const e = createBinaryStreamEncoder()\n e.writeUintVar(v)\n return toHex(e.getUint8Array())\n }\n\n expect(enc(1)).toMatchInlineSnapshot('\"01\"')\n expect(enc(127)).toMatchInlineSnapshot('\"7f\"')\n expect(enc(128)).toMatchInlineSnapshot(`\"8001\"`)\n expect(enc(255)).toMatchInlineSnapshot('\"ff01\"')\n expect(enc(256)).toMatchInlineSnapshot('\"8002\"')\n expect(enc(691529286)).toMatchInlineSnapshot('\"c6ccdfc902\"')\n })\n\n it('should be consistent', () => {\n const bin1 = encodeJson({\n a: 1,\n b: 2,\n })\n const bin2 = encodeJson({\n b: 2,\n a: 1,\n })\n expect(equalBinary(bin1, bin2)).toBe(true)\n })\n\n // it('should be consistent JSON', () => {\n // const bin1 = JSON.stringify({\n // a: 1,\n // b: 2,\n // })\n // const bin2 = JSON.stringify({\n // b: 2,\n // a: 1,\n // })\n // expect(bin1 !== bin2).toBe(true)\n // })\n})\n"]}
@@ -8,24 +8,13 @@ import "../../chunk-HIX6EHLQ.js";
8
8
  import "../../chunk-RSB2DP4K.js";
9
9
  import "../../chunk-HOPWS6D4.js";
10
10
  import "../../chunk-OWFULLVR.js";
11
- import "../../chunk-D7LG5W7J.js";
12
- import "../../chunk-C57J5C7S.js";
11
+ import "../../chunk-IX5ITV72.js";
12
+ import "../../chunk-OYZDZI6A.js";
13
13
  import "../../chunk-VWNQ7U34.js";
14
- import "../../chunk-DHBQHOGQ.js";
15
- import "../../chunk-IWJ5F3JF.js";
16
- import "../../chunk-CSYN5J44.js";
17
- import "../../chunk-DO72DWOL.js";
18
- import {
19
- bitfield,
20
- createBinaryStreamDecoder,
21
- createBinaryStreamEncoder,
22
- encodeJson
23
- } from "../../chunk-VQEYIAV2.js";
24
- import "../../chunk-DVBRAJ3X.js";
25
- import "../../chunk-SZJLXMYP.js";
26
- import "../../chunk-GKKLBSFA.js";
27
- import "../../chunk-RNL46FQ3.js";
28
- import "../../chunk-MWUFUBY5.js";
14
+ import "../../chunk-CYQGBI3Z.js";
15
+ import "../../chunk-NOJUZASU.js";
16
+ import "../../chunk-NRYO7FMY.js";
17
+ import "../../chunk-IDWIANZR.js";
29
18
  import "../../chunk-3KKFLSLG.js";
30
19
  import "../../chunk-O4GTSXBN.js";
31
20
  import "../../chunk-PLBFBDKH.js";
@@ -45,6 +34,17 @@ import "../../chunk-EDNCPFSF.js";
45
34
  import "../../chunk-3KQS63H6.js";
46
35
  import "../../chunk-XC5GAA5P.js";
47
36
  import "../../chunk-5DS3NT57.js";
37
+ import {
38
+ bitfield,
39
+ createBinaryStreamDecoder,
40
+ createBinaryStreamEncoder,
41
+ encodeJson
42
+ } from "../../chunk-VQEYIAV2.js";
43
+ import "../../chunk-DVBRAJ3X.js";
44
+ import "../../chunk-SZJLXMYP.js";
45
+ import "../../chunk-GKKLBSFA.js";
46
+ import "../../chunk-RNL46FQ3.js";
47
+ import "../../chunk-MWUFUBY5.js";
48
48
  import "../../chunk-QUQRUDWG.js";
49
49
  import "../../chunk-X56GIAWQ.js";
50
50
  import "../../chunk-FLFB2K34.js";
@@ -57,18 +57,18 @@ import "../../chunk-FL5CT6MC.js";
57
57
  import "../../chunk-LAWEUL6N.js";
58
58
  import "../../chunk-3YFOOUF5.js";
59
59
  import "../../chunk-TSCDX4AS.js";
60
- import "../../chunk-IGBQSN6M.js";
60
+ import "../../chunk-7IG6OMGK.js";
61
61
  import "../../chunk-D6B6MYVG.js";
62
62
  import "../../chunk-MLCD7TOL.js";
63
63
  import "../../chunk-EW6FHLFK.js";
64
64
  import "../../chunk-2VA3UGW7.js";
65
- import "../../chunk-HNN5IHXG.js";
66
- import "../../chunk-D4QZEGYG.js";
67
- import "../../chunk-CG4A32PZ.js";
65
+ import "../../chunk-6EAE53I3.js";
66
+ import "../../chunk-M742MR6R.js";
67
+ import "../../chunk-MAZZNLXR.js";
68
68
  import "../../chunk-5OVSRAPG.js";
69
69
  import "../../chunk-OSX4VQOR.js";
70
70
  import "../../chunk-7QYVSWCZ.js";
71
- import "../../chunk-54BCGEKW.js";
71
+ import "../../chunk-2KMVAIXW.js";
72
72
  import "../../chunk-UO7L7NBK.js";
73
73
  import "../../chunk-HST4VI64.js";
74
74
  import "../../chunk-JRC62CQG.js";
@@ -90,7 +90,7 @@ import {
90
90
  import "../../chunk-EBLXU5RX.js";
91
91
  import "../../chunk-PN34O4SN.js";
92
92
  import "../../chunk-I45WP5PM.js";
93
- import "../../chunk-QV2QPYMW.js";
93
+ import "../../chunk-NNCJ3QL5.js";
94
94
  import "../../chunk-MIZOLME5.js";
95
95
  import "../../chunk-AQUNU3KH.js";
96
96
  import "../../chunk-YX6CL4KH.js";