@highstate/designer 0.7.3 → 0.7.6

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 (240) hide show
  1. package/.output/nitro.json +15 -0
  2. package/.output/public/_nuxt/0cvrggvQ.js +6 -0
  3. package/.output/public/_nuxt/25W9uPmb.js +6 -0
  4. package/.output/public/_nuxt/4Ik7cdeQ.js +8 -0
  5. package/.output/public/_nuxt/5Rap-vPy.js +6 -0
  6. package/.output/public/_nuxt/B03wrqEc.js +6 -0
  7. package/.output/public/_nuxt/B5zXfXm9.js +6 -0
  8. package/.output/public/_nuxt/B9Xyijhd.js +6 -0
  9. package/.output/public/_nuxt/BFG1Mk7z.js +6 -0
  10. package/.output/public/_nuxt/BIHI7g3E.js +1 -0
  11. package/.output/public/_nuxt/BKlk5iyT.js +6 -0
  12. package/.output/public/_nuxt/BSkB5QuD.js +6 -0
  13. package/.output/public/_nuxt/BWmkvLm_.js +9 -0
  14. package/.output/public/_nuxt/BY4ic99o.js +1 -0
  15. package/.output/public/_nuxt/B_c3zf-v.js +6 -0
  16. package/.output/public/_nuxt/B_fMsGYe.js +6 -0
  17. package/.output/public/_nuxt/BaJupSGV.js +6 -0
  18. package/.output/public/_nuxt/BaLxmfj-.js +6 -0
  19. package/.output/public/_nuxt/BaiHcgzs.js +6 -0
  20. package/.output/public/_nuxt/Bc-ZgV77.js +6 -0
  21. package/.output/public/_nuxt/BfEKNvv3.js +7 -0
  22. package/.output/public/_nuxt/Bhzvs7bI.js +6 -0
  23. package/.output/public/_nuxt/Bio4gycK.js +6 -0
  24. package/.output/public/_nuxt/BoFRg7Ot.js +6 -0
  25. package/.output/public/_nuxt/Bqgm2twL.js +6 -0
  26. package/.output/public/_nuxt/BrdhNivz.js +1 -0
  27. package/.output/public/_nuxt/BrgZPUOV.js +6 -0
  28. package/.output/public/_nuxt/BsTHnhdd.js +7 -0
  29. package/.output/public/_nuxt/C5WLch3f.js +6 -0
  30. package/.output/public/_nuxt/C7NrX02N.js +6 -0
  31. package/.output/public/_nuxt/CCSDG5nI.js +6 -0
  32. package/.output/public/_nuxt/CDGzqUPQ.js +6 -0
  33. package/.output/public/_nuxt/CDntyWJ8.js +6 -0
  34. package/.output/public/_nuxt/CFKIUWau.js +6 -0
  35. package/.output/public/_nuxt/CFOPXBzS.js +6 -0
  36. package/.output/public/_nuxt/CLLBncYj.js +6 -0
  37. package/.output/public/_nuxt/COyEY5Pt.js +7 -0
  38. package/.output/public/_nuxt/CPajHgWi.js +6 -0
  39. package/.output/public/_nuxt/CVwtpugi.js +6 -0
  40. package/.output/public/_nuxt/CWsALi_N.js +6 -0
  41. package/.output/public/_nuxt/CX-rkNHf.js +6 -0
  42. package/.output/public/_nuxt/CXOwvkN_.js +6 -0
  43. package/.output/public/_nuxt/CdQndTaG.js +6 -0
  44. package/.output/public/_nuxt/Ce3n6wWz.js +6 -0
  45. package/.output/public/_nuxt/Cg7bfA9N.js +6 -0
  46. package/.output/public/_nuxt/Ch4PGxFq.js +6 -0
  47. package/.output/public/_nuxt/Cp1zYvxS.js +6 -0
  48. package/.output/public/_nuxt/CpIb_Oan.js +6 -0
  49. package/.output/public/_nuxt/Cpb6xl2v.js +6 -0
  50. package/.output/public/_nuxt/Cphgjts3.js +6 -0
  51. package/.output/public/_nuxt/CrUIUSRQ.js +1 -0
  52. package/.output/public/_nuxt/CwNk8-XU.js +6 -0
  53. package/.output/public/_nuxt/CxQiO5cn.js +8 -0
  54. package/.output/public/_nuxt/CzKuDChf.js +6 -0
  55. package/.output/public/_nuxt/D-MeaMDU.js +6 -0
  56. package/.output/public/_nuxt/D0A5LTnE.js +9 -0
  57. package/.output/public/_nuxt/D3h14YRZ.js +8 -0
  58. package/.output/public/_nuxt/D5C2fndG.js +6 -0
  59. package/.output/public/_nuxt/DDwshQtU.js +6 -0
  60. package/.output/public/_nuxt/DFGrbNda.js +16 -0
  61. package/.output/public/_nuxt/DGinXpNd.js +6 -0
  62. package/.output/public/_nuxt/DHaeiCBh.js +6 -0
  63. package/.output/public/_nuxt/DHbdnjwW.js +6 -0
  64. package/.output/public/_nuxt/DSZPf7rp.js +6 -0
  65. package/.output/public/_nuxt/DTECt2xU.js +6 -0
  66. package/.output/public/_nuxt/DXyYeYxl.js +6 -0
  67. package/.output/public/_nuxt/DYQUnd45.js +303 -0
  68. package/.output/public/_nuxt/Dd3NCNK9.js +6 -0
  69. package/.output/public/_nuxt/DfzH4Xui.js +6 -0
  70. package/.output/public/_nuxt/DgpMLyT9.js +6 -0
  71. package/.output/public/_nuxt/DgyLZaXg.js +6 -0
  72. package/.output/public/_nuxt/DnHyzjbg.js +6 -0
  73. package/.output/public/_nuxt/DqxlV1Dz.js +6 -0
  74. package/.output/public/_nuxt/DrQuvNYM.js +6 -0
  75. package/.output/public/_nuxt/Drc7WvVn.js +6 -0
  76. package/.output/public/_nuxt/DtSS2RIy.js +6 -0
  77. package/.output/public/_nuxt/DwJ7jVG9.js +8 -0
  78. package/.output/public/_nuxt/DwN8ib1V.js +1111 -0
  79. package/.output/public/_nuxt/DyP6w7ZV.js +6 -0
  80. package/.output/public/_nuxt/Tw7wswEv.js +6 -0
  81. package/.output/public/_nuxt/YWi4-JPR.js +6 -0
  82. package/.output/public/_nuxt/Zznr-cwX.js +6 -0
  83. package/.output/public/_nuxt/builds/latest.json +1 -0
  84. package/.output/public/_nuxt/builds/meta/652d9eb9-2c2b-4ab1-b1c2-d46efce134b3.json +1 -0
  85. package/.output/public/_nuxt/codicon.DCmgc-ay.ttf +0 -0
  86. package/.output/public/_nuxt/dUCx_-0o.js +6 -0
  87. package/.output/public/_nuxt/deUWdS0T.js +6 -0
  88. package/.output/public/_nuxt/edge-router-BFNVMcBx.js +4 -0
  89. package/.output/public/_nuxt/editor.worker-B6Jl4jUd.js +12 -0
  90. package/.output/public/_nuxt/entry.BD0Qz9HR.css +5 -0
  91. package/.output/public/_nuxt/error-404.D7tj2jQK.css +1 -0
  92. package/.output/public/_nuxt/error-500.TOCKLquH.css +1 -0
  93. package/.output/public/_nuxt/gYnoVL96.js +6 -0
  94. package/.output/public/_nuxt/graph-resolver-Y9hmyS-J.js +8 -0
  95. package/.output/public/_nuxt/i9-g7ZhI.js +6 -0
  96. package/.output/public/_nuxt/jDosRYr7.js +15 -0
  97. package/.output/public/_nuxt/materialdesignicons-webfont.B6OSyW2I.woff2 +0 -0
  98. package/.output/public/_nuxt/materialdesignicons-webfont.BpRar1d5.ttf +0 -0
  99. package/.output/public/_nuxt/materialdesignicons-webfont.Bvl3VxMs.woff +0 -0
  100. package/.output/public/_nuxt/materialdesignicons-webfont.TEmAk13K.eot +0 -0
  101. package/.output/public/_nuxt/nf6ki56Z.js +6 -0
  102. package/.output/public/_nuxt/pnP8ivHi.js +6 -0
  103. package/.output/public/_nuxt/rUNN04Wq.js +6 -0
  104. package/.output/public/_nuxt/tGk8EFnU.js +6 -0
  105. package/.output/public/_nuxt/yaml.worker-B8S0iqeR.js +411 -0
  106. package/.output/public/favicon.ico +0 -0
  107. package/.output/public/libavoid.wasm +0 -0
  108. package/.output/public/robots.txt +1 -0
  109. package/.output/server/index.mjs +13188 -0
  110. package/.output/server/index.mjs.map +1 -0
  111. package/.output/server/node_modules/@babel/parser/lib/index.js +14246 -0
  112. package/.output/server/node_modules/@babel/parser/package.json +50 -0
  113. package/.output/server/node_modules/@trpc/server/dist/adapters/fetch/fetchRequestHandler.mjs +74 -0
  114. package/.output/server/node_modules/@trpc/server/dist/adapters/fetch/index.mjs +1 -0
  115. package/.output/server/node_modules/@trpc/server/dist/adapters/node-http/incomingMessageToRequest.mjs +119 -0
  116. package/.output/server/node_modules/@trpc/server/dist/adapters/node-http/index.mjs +2 -0
  117. package/.output/server/node_modules/@trpc/server/dist/adapters/node-http/nodeHTTPRequestHandler.mjs +92 -0
  118. package/.output/server/node_modules/@trpc/server/dist/adapters/node-http/writeResponse.mjs +79 -0
  119. package/.output/server/node_modules/@trpc/server/dist/adapters/ws.mjs +521 -0
  120. package/.output/server/node_modules/@trpc/server/dist/index.mjs +12 -0
  121. package/.output/server/node_modules/@trpc/server/dist/observable/observable.mjs +175 -0
  122. package/.output/server/node_modules/@trpc/server/dist/unstable-core-do-not-import/createProxy.mjs +73 -0
  123. package/.output/server/node_modules/@trpc/server/dist/unstable-core-do-not-import/error/TRPCError.mjs +79 -0
  124. package/.output/server/node_modules/@trpc/server/dist/unstable-core-do-not-import/error/formatter.mjs +5 -0
  125. package/.output/server/node_modules/@trpc/server/dist/unstable-core-do-not-import/error/getErrorShape.mjs +29 -0
  126. package/.output/server/node_modules/@trpc/server/dist/unstable-core-do-not-import/http/abortError.mjs +10 -0
  127. package/.output/server/node_modules/@trpc/server/dist/unstable-core-do-not-import/http/contentType.mjs +229 -0
  128. package/.output/server/node_modules/@trpc/server/dist/unstable-core-do-not-import/http/getHTTPStatusCode.mjs +76 -0
  129. package/.output/server/node_modules/@trpc/server/dist/unstable-core-do-not-import/http/parseConnectionParams.mjs +39 -0
  130. package/.output/server/node_modules/@trpc/server/dist/unstable-core-do-not-import/http/resolveResponse.mjs +570 -0
  131. package/.output/server/node_modules/@trpc/server/dist/unstable-core-do-not-import/initTRPC.mjs +80 -0
  132. package/.output/server/node_modules/@trpc/server/dist/unstable-core-do-not-import/middleware.mjs +90 -0
  133. package/.output/server/node_modules/@trpc/server/dist/unstable-core-do-not-import/parser.mjs +52 -0
  134. package/.output/server/node_modules/@trpc/server/dist/unstable-core-do-not-import/procedure.mjs +7 -0
  135. package/.output/server/node_modules/@trpc/server/dist/unstable-core-do-not-import/procedureBuilder.mjs +198 -0
  136. package/.output/server/node_modules/@trpc/server/dist/unstable-core-do-not-import/rootConfig.mjs +6 -0
  137. package/.output/server/node_modules/@trpc/server/dist/unstable-core-do-not-import/router.mjs +278 -0
  138. package/.output/server/node_modules/@trpc/server/dist/unstable-core-do-not-import/rpc/codes.mjs +54 -0
  139. package/.output/server/node_modules/@trpc/server/dist/unstable-core-do-not-import/rpc/parseTRPCMessage.mjs +61 -0
  140. package/.output/server/node_modules/@trpc/server/dist/unstable-core-do-not-import/stream/jsonl.mjs +603 -0
  141. package/.output/server/node_modules/@trpc/server/dist/unstable-core-do-not-import/stream/sse.mjs +369 -0
  142. package/.output/server/node_modules/@trpc/server/dist/unstable-core-do-not-import/stream/tracked.mjs +25 -0
  143. package/.output/server/node_modules/@trpc/server/dist/unstable-core-do-not-import/stream/utils/asyncIterable.mjs +165 -0
  144. package/.output/server/node_modules/@trpc/server/dist/unstable-core-do-not-import/stream/utils/createDeferred.mjs +15 -0
  145. package/.output/server/node_modules/@trpc/server/dist/unstable-core-do-not-import/stream/utils/disposable.mjs +43 -0
  146. package/.output/server/node_modules/@trpc/server/dist/unstable-core-do-not-import/stream/utils/mergeAsyncIterables.mjs +239 -0
  147. package/.output/server/node_modules/@trpc/server/dist/unstable-core-do-not-import/stream/utils/readableStreamFrom.mjs +23 -0
  148. package/.output/server/node_modules/@trpc/server/dist/unstable-core-do-not-import/stream/utils/timerResource.mjs +23 -0
  149. package/.output/server/node_modules/@trpc/server/dist/unstable-core-do-not-import/stream/utils/withPing.mjs +127 -0
  150. package/.output/server/node_modules/@trpc/server/dist/unstable-core-do-not-import/transformer.mjs +101 -0
  151. package/.output/server/node_modules/@trpc/server/dist/unstable-core-do-not-import/utils.mjs +83 -0
  152. package/.output/server/node_modules/@trpc/server/dist/vendor/standard-schema-v1/error.mjs +26 -0
  153. package/.output/server/node_modules/@trpc/server/dist/vendor/unpromise/unpromise.mjs +289 -0
  154. package/.output/server/node_modules/@trpc/server/package.json +156 -0
  155. package/.output/server/node_modules/@vue/compiler-core/dist/compiler-core.cjs.prod.js +6690 -0
  156. package/.output/server/node_modules/@vue/compiler-core/package.json +58 -0
  157. package/.output/server/node_modules/@vue/compiler-dom/dist/compiler-dom.cjs.prod.js +686 -0
  158. package/.output/server/node_modules/@vue/compiler-dom/package.json +57 -0
  159. package/.output/server/node_modules/@vue/compiler-ssr/dist/compiler-ssr.cjs.js +1404 -0
  160. package/.output/server/node_modules/@vue/compiler-ssr/package.json +34 -0
  161. package/.output/server/node_modules/@vue/reactivity/dist/reactivity.cjs.prod.js +1789 -0
  162. package/.output/server/node_modules/@vue/reactivity/package.json +55 -0
  163. package/.output/server/node_modules/@vue/runtime-core/dist/runtime-core.cjs.prod.js +6654 -0
  164. package/.output/server/node_modules/@vue/runtime-core/package.json +52 -0
  165. package/.output/server/node_modules/@vue/runtime-dom/dist/runtime-dom.cjs.prod.js +1669 -0
  166. package/.output/server/node_modules/@vue/runtime-dom/package.json +60 -0
  167. package/.output/server/node_modules/@vue/server-renderer/dist/server-renderer.cjs.prod.js +857 -0
  168. package/.output/server/node_modules/@vue/server-renderer/package.json +55 -0
  169. package/.output/server/node_modules/@vue/shared/dist/shared.cjs.prod.js +594 -0
  170. package/.output/server/node_modules/@vue/shared/package.json +47 -0
  171. package/.output/server/node_modules/devalue/index.js +3 -0
  172. package/.output/server/node_modules/devalue/package.json +34 -0
  173. package/.output/server/node_modules/devalue/src/base64.js +110 -0
  174. package/.output/server/node_modules/devalue/src/constants.js +6 -0
  175. package/.output/server/node_modules/devalue/src/parse.js +160 -0
  176. package/.output/server/node_modules/devalue/src/stringify.js +232 -0
  177. package/.output/server/node_modules/devalue/src/uneval.js +351 -0
  178. package/.output/server/node_modules/devalue/src/utils.js +113 -0
  179. package/.output/server/node_modules/entities/lib/decode.js +536 -0
  180. package/.output/server/node_modules/entities/lib/decode_codepoint.js +76 -0
  181. package/.output/server/node_modules/entities/lib/generated/decode-data-html.js +9 -0
  182. package/.output/server/node_modules/entities/lib/generated/decode-data-xml.js +9 -0
  183. package/.output/server/node_modules/entities/package.json +90 -0
  184. package/.output/server/node_modules/estree-walker/dist/umd/estree-walker.js +344 -0
  185. package/.output/server/node_modules/estree-walker/package.json +37 -0
  186. package/.output/server/node_modules/hookable/dist/index.mjs +290 -0
  187. package/.output/server/node_modules/hookable/package.json +49 -0
  188. package/.output/server/node_modules/source-map-js/lib/array-set.js +121 -0
  189. package/.output/server/node_modules/source-map-js/lib/base64-vlq.js +140 -0
  190. package/.output/server/node_modules/source-map-js/lib/base64.js +67 -0
  191. package/.output/server/node_modules/source-map-js/lib/binary-search.js +111 -0
  192. package/.output/server/node_modules/source-map-js/lib/mapping-list.js +79 -0
  193. package/.output/server/node_modules/source-map-js/lib/quick-sort.js +132 -0
  194. package/.output/server/node_modules/source-map-js/lib/source-map-consumer.js +1188 -0
  195. package/.output/server/node_modules/source-map-js/lib/source-map-generator.js +444 -0
  196. package/.output/server/node_modules/source-map-js/lib/source-node.js +413 -0
  197. package/.output/server/node_modules/source-map-js/lib/util.js +594 -0
  198. package/.output/server/node_modules/source-map-js/package.json +71 -0
  199. package/.output/server/node_modules/source-map-js/source-map.js +8 -0
  200. package/.output/server/node_modules/ufo/dist/index.mjs +630 -0
  201. package/.output/server/node_modules/ufo/package.json +47 -0
  202. package/.output/server/node_modules/unhead/dist/plugins.mjs +94 -0
  203. package/.output/server/node_modules/unhead/dist/server.mjs +220 -0
  204. package/.output/server/node_modules/unhead/dist/shared/unhead.C13swrCa.mjs +48 -0
  205. package/.output/server/node_modules/unhead/dist/shared/unhead.CApf5sj3.mjs +148 -0
  206. package/.output/server/node_modules/unhead/dist/shared/unhead.Cp0iF6eN.mjs +177 -0
  207. package/.output/server/node_modules/unhead/dist/shared/unhead.DQc16pHI.mjs +196 -0
  208. package/.output/server/node_modules/unhead/dist/shared/unhead.DZbvapt-.mjs +70 -0
  209. package/.output/server/node_modules/unhead/dist/shared/unhead.DeCxexjU.mjs +166 -0
  210. package/.output/server/node_modules/unhead/dist/shared/unhead.Txd0XTIP.mjs +172 -0
  211. package/.output/server/node_modules/unhead/dist/shared/unhead.yem5I2v_.mjs +38 -0
  212. package/.output/server/node_modules/unhead/dist/utils.mjs +5 -0
  213. package/.output/server/node_modules/unhead/package.json +101 -0
  214. package/.output/server/node_modules/vue/dist/vue.cjs.js +80 -0
  215. package/.output/server/node_modules/vue/dist/vue.cjs.prod.js +66 -0
  216. package/.output/server/node_modules/vue/index.js +7 -0
  217. package/.output/server/node_modules/vue/index.mjs +1 -0
  218. package/.output/server/node_modules/vue/package.json +112 -0
  219. package/.output/server/node_modules/vue/server-renderer/index.mjs +1 -0
  220. package/.output/server/node_modules/vue-bundle-renderer/dist/runtime.mjs +196 -0
  221. package/.output/server/node_modules/vue-bundle-renderer/package.json +50 -0
  222. package/.output/server/node_modules/ws/lib/buffer-util.js +131 -0
  223. package/.output/server/node_modules/ws/lib/constants.js +18 -0
  224. package/.output/server/node_modules/ws/lib/event-target.js +292 -0
  225. package/.output/server/node_modules/ws/lib/extension.js +203 -0
  226. package/.output/server/node_modules/ws/lib/limiter.js +55 -0
  227. package/.output/server/node_modules/ws/lib/permessage-deflate.js +514 -0
  228. package/.output/server/node_modules/ws/lib/receiver.js +706 -0
  229. package/.output/server/node_modules/ws/lib/sender.js +602 -0
  230. package/.output/server/node_modules/ws/lib/stream.js +161 -0
  231. package/.output/server/node_modules/ws/lib/subprotocol.js +62 -0
  232. package/.output/server/node_modules/ws/lib/validation.js +152 -0
  233. package/.output/server/node_modules/ws/lib/websocket-server.js +540 -0
  234. package/.output/server/node_modules/ws/lib/websocket.js +1388 -0
  235. package/.output/server/node_modules/ws/package.json +69 -0
  236. package/.output/server/node_modules/ws/wrapper.mjs +8 -0
  237. package/.output/server/node_modules/zod/lib/index.mjs +4405 -0
  238. package/.output/server/node_modules/zod/package.json +122 -0
  239. package/.output/server/package.json +1 -0
  240. package/package.json +4 -4
@@ -0,0 +1,61 @@
1
+ import { procedureTypes } from '../procedure.mjs';
2
+ import { isObject } from '../utils.mjs';
3
+
4
+ /* istanbul ignore next -- @preserve */ function assertIsObject(obj) {
5
+ if (!isObject(obj)) {
6
+ throw new Error('Not an object');
7
+ }
8
+ }
9
+ /* istanbul ignore next -- @preserve */ function assertIsProcedureType(obj) {
10
+ if (!procedureTypes.includes(obj)) {
11
+ throw new Error('Invalid procedure type');
12
+ }
13
+ }
14
+ /* istanbul ignore next -- @preserve */ function assertIsRequestId(obj) {
15
+ if (obj !== null && typeof obj === 'number' && isNaN(obj) && typeof obj !== 'string') {
16
+ throw new Error('Invalid request id');
17
+ }
18
+ }
19
+ /* istanbul ignore next -- @preserve */ function assertIsString(obj) {
20
+ if (typeof obj !== 'string') {
21
+ throw new Error('Invalid string');
22
+ }
23
+ }
24
+ /* istanbul ignore next -- @preserve */ function assertIsJSONRPC2OrUndefined(obj) {
25
+ if (typeof obj !== 'undefined' && obj !== '2.0') {
26
+ throw new Error('Must be JSONRPC 2.0');
27
+ }
28
+ }
29
+ /** @public */ function parseTRPCMessage(obj, transformer) {
30
+ assertIsObject(obj);
31
+ const { id, jsonrpc, method, params } = obj;
32
+ assertIsRequestId(id);
33
+ assertIsJSONRPC2OrUndefined(jsonrpc);
34
+ if (method === 'subscription.stop') {
35
+ return {
36
+ id,
37
+ jsonrpc,
38
+ method
39
+ };
40
+ }
41
+ assertIsProcedureType(method);
42
+ assertIsObject(params);
43
+ const { input: rawInput, path, lastEventId } = params;
44
+ assertIsString(path);
45
+ if (lastEventId !== undefined) {
46
+ assertIsString(lastEventId);
47
+ }
48
+ const input = transformer.input.deserialize(rawInput);
49
+ return {
50
+ id,
51
+ jsonrpc,
52
+ method,
53
+ params: {
54
+ input,
55
+ path,
56
+ lastEventId
57
+ }
58
+ };
59
+ }
60
+
61
+ export { parseTRPCMessage };
@@ -0,0 +1,603 @@
1
+ import { isObject, isFunction, run, isAsyncIterable } from '../utils.mjs';
2
+ import { iteratorResource } from './utils/asyncIterable.mjs';
3
+ import { createDeferred } from './utils/createDeferred.mjs';
4
+ import { makeResource } from './utils/disposable.mjs';
5
+ import { mergeAsyncIterables } from './utils/mergeAsyncIterables.mjs';
6
+ import { readableStreamFrom } from './utils/readableStreamFrom.mjs';
7
+ import { PING_SYM, withPing } from './utils/withPing.mjs';
8
+
9
+ function _define_property(obj, key, value) {
10
+ if (key in obj) {
11
+ Object.defineProperty(obj, key, {
12
+ value: value,
13
+ enumerable: true,
14
+ configurable: true,
15
+ writable: true
16
+ });
17
+ } else {
18
+ obj[key] = value;
19
+ }
20
+ return obj;
21
+ }
22
+ function _ts_add_disposable_resource(env, value, async) {
23
+ if (value !== null && value !== void 0) {
24
+ if (typeof value !== "object" && typeof value !== "function") throw new TypeError("Object expected.");
25
+ var dispose, inner;
26
+ if (async) {
27
+ if (!Symbol.asyncDispose) throw new TypeError("Symbol.asyncDispose is not defined.");
28
+ dispose = value[Symbol.asyncDispose];
29
+ }
30
+ if (dispose === void 0) {
31
+ if (!Symbol.dispose) throw new TypeError("Symbol.dispose is not defined.");
32
+ dispose = value[Symbol.dispose];
33
+ if (async) inner = dispose;
34
+ }
35
+ if (typeof dispose !== "function") throw new TypeError("Object not disposable.");
36
+ if (inner) dispose = function() {
37
+ try {
38
+ inner.call(this);
39
+ } catch (e) {
40
+ return Promise.reject(e);
41
+ }
42
+ };
43
+ env.stack.push({
44
+ value: value,
45
+ dispose: dispose,
46
+ async: async
47
+ });
48
+ } else if (async) {
49
+ env.stack.push({
50
+ async: true
51
+ });
52
+ }
53
+ return value;
54
+ }
55
+ function _ts_dispose_resources(env) {
56
+ var _SuppressedError = typeof SuppressedError === "function" ? SuppressedError : function(error, suppressed, message) {
57
+ var e = new Error(message);
58
+ return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
59
+ };
60
+ return (_ts_dispose_resources = function _ts_dispose_resources(env) {
61
+ function fail(e) {
62
+ env.error = env.hasError ? new _SuppressedError(e, env.error, "An error was suppressed during disposal.") : e;
63
+ env.hasError = true;
64
+ }
65
+ var r, s = 0;
66
+ function next() {
67
+ while(r = env.stack.pop()){
68
+ try {
69
+ if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);
70
+ if (r.dispose) {
71
+ var result = r.dispose.call(r.value);
72
+ if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) {
73
+ fail(e);
74
+ return next();
75
+ });
76
+ } else s |= 1;
77
+ } catch (e) {
78
+ fail(e);
79
+ }
80
+ }
81
+ if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();
82
+ if (env.hasError) throw env.error;
83
+ }
84
+ return next();
85
+ })(env);
86
+ }
87
+ function isPlainObject(value) {
88
+ return Object.prototype.toString.call(value) === '[object Object]';
89
+ }
90
+ // ---------- types
91
+ const CHUNK_VALUE_TYPE_PROMISE = 0;
92
+ const CHUNK_VALUE_TYPE_ASYNC_ITERABLE = 1;
93
+ const PROMISE_STATUS_FULFILLED = 0;
94
+ const PROMISE_STATUS_REJECTED = 1;
95
+ const ASYNC_ITERABLE_STATUS_RETURN = 0;
96
+ const ASYNC_ITERABLE_STATUS_YIELD = 1;
97
+ const ASYNC_ITERABLE_STATUS_ERROR = 2;
98
+ function isPromise(value) {
99
+ return (isObject(value) || isFunction(value)) && typeof value?.['then'] === 'function' && typeof value?.['catch'] === 'function';
100
+ }
101
+ class MaxDepthError extends Error {
102
+ constructor(path){
103
+ super('Max depth reached at path: ' + path.join('.')), _define_property(this, "path", void 0), this.path = path;
104
+ }
105
+ }
106
+ async function* createBatchStreamProducer(opts) {
107
+ const { data } = opts;
108
+ let counter = 0;
109
+ const placeholder = 0;
110
+ const mergedIterables = mergeAsyncIterables();
111
+ function registerAsync(callback) {
112
+ const idx = counter++;
113
+ const iterable = callback(idx);
114
+ mergedIterables.add(iterable);
115
+ return idx;
116
+ }
117
+ function encodePromise(promise, path) {
118
+ return registerAsync(async function*(idx) {
119
+ const error = checkMaxDepth(path);
120
+ if (error) {
121
+ // Catch any errors from the original promise to ensure they're reported
122
+ promise.catch((cause)=>{
123
+ opts.onError?.({
124
+ error: cause,
125
+ path
126
+ });
127
+ });
128
+ // Replace the promise with a rejected one containing the max depth error
129
+ promise = Promise.reject(error);
130
+ }
131
+ try {
132
+ const next = await promise;
133
+ yield [
134
+ idx,
135
+ PROMISE_STATUS_FULFILLED,
136
+ encode(next, path)
137
+ ];
138
+ } catch (cause) {
139
+ opts.onError?.({
140
+ error: cause,
141
+ path
142
+ });
143
+ yield [
144
+ idx,
145
+ PROMISE_STATUS_REJECTED,
146
+ opts.formatError?.({
147
+ error: cause,
148
+ path
149
+ })
150
+ ];
151
+ }
152
+ });
153
+ }
154
+ function encodeAsyncIterable(iterable, path) {
155
+ return registerAsync(async function*(idx) {
156
+ const env = {
157
+ stack: [],
158
+ error: void 0,
159
+ hasError: false
160
+ };
161
+ try {
162
+ const error = checkMaxDepth(path);
163
+ if (error) {
164
+ throw error;
165
+ }
166
+ const iterator = _ts_add_disposable_resource(env, iteratorResource(iterable), true);
167
+ ;
168
+ try {
169
+ while(true){
170
+ const next = await iterator.next();
171
+ if (next.done) {
172
+ yield [
173
+ idx,
174
+ ASYNC_ITERABLE_STATUS_RETURN,
175
+ encode(next.value, path)
176
+ ];
177
+ break;
178
+ }
179
+ yield [
180
+ idx,
181
+ ASYNC_ITERABLE_STATUS_YIELD,
182
+ encode(next.value, path)
183
+ ];
184
+ }
185
+ } catch (cause) {
186
+ opts.onError?.({
187
+ error: cause,
188
+ path
189
+ });
190
+ yield [
191
+ idx,
192
+ ASYNC_ITERABLE_STATUS_ERROR,
193
+ opts.formatError?.({
194
+ error: cause,
195
+ path
196
+ })
197
+ ];
198
+ }
199
+ } catch (e) {
200
+ env.error = e;
201
+ env.hasError = true;
202
+ } finally{
203
+ const result = _ts_dispose_resources(env);
204
+ if (result) await result;
205
+ }
206
+ });
207
+ }
208
+ function checkMaxDepth(path) {
209
+ if (opts.maxDepth && path.length > opts.maxDepth) {
210
+ return new MaxDepthError(path);
211
+ }
212
+ return null;
213
+ }
214
+ function encodeAsync(value, path) {
215
+ if (isPromise(value)) {
216
+ return [
217
+ CHUNK_VALUE_TYPE_PROMISE,
218
+ encodePromise(value, path)
219
+ ];
220
+ }
221
+ if (isAsyncIterable(value)) {
222
+ if (opts.maxDepth && path.length >= opts.maxDepth) {
223
+ throw new Error('Max depth reached');
224
+ }
225
+ return [
226
+ CHUNK_VALUE_TYPE_ASYNC_ITERABLE,
227
+ encodeAsyncIterable(value, path)
228
+ ];
229
+ }
230
+ return null;
231
+ }
232
+ function encode(value, path) {
233
+ if (value === undefined) {
234
+ return [
235
+ []
236
+ ];
237
+ }
238
+ const reg = encodeAsync(value, path);
239
+ if (reg) {
240
+ return [
241
+ [
242
+ placeholder
243
+ ],
244
+ [
245
+ null,
246
+ ...reg
247
+ ]
248
+ ];
249
+ }
250
+ if (!isPlainObject(value)) {
251
+ return [
252
+ [
253
+ value
254
+ ]
255
+ ];
256
+ }
257
+ const newObj = {};
258
+ const asyncValues = [];
259
+ for (const [key, item] of Object.entries(value)){
260
+ const transformed = encodeAsync(item, [
261
+ ...path,
262
+ key
263
+ ]);
264
+ if (!transformed) {
265
+ newObj[key] = item;
266
+ continue;
267
+ }
268
+ newObj[key] = placeholder;
269
+ asyncValues.push([
270
+ key,
271
+ ...transformed
272
+ ]);
273
+ }
274
+ return [
275
+ [
276
+ newObj
277
+ ],
278
+ ...asyncValues
279
+ ];
280
+ }
281
+ const newHead = {};
282
+ for (const [key, item] of Object.entries(data)){
283
+ newHead[key] = encode(item, [
284
+ key
285
+ ]);
286
+ }
287
+ yield newHead;
288
+ let iterable = mergedIterables;
289
+ if (opts.pingMs) {
290
+ iterable = withPing(mergedIterables, opts.pingMs);
291
+ }
292
+ for await (const value of iterable){
293
+ yield value;
294
+ }
295
+ }
296
+ /**
297
+ * JSON Lines stream producer
298
+ * @see https://jsonlines.org/
299
+ */ function jsonlStreamProducer(opts) {
300
+ let stream = readableStreamFrom(createBatchStreamProducer(opts));
301
+ const { serialize } = opts;
302
+ if (serialize) {
303
+ stream = stream.pipeThrough(new TransformStream({
304
+ transform (chunk, controller) {
305
+ if (chunk === PING_SYM) {
306
+ controller.enqueue(PING_SYM);
307
+ } else {
308
+ controller.enqueue(serialize(chunk));
309
+ }
310
+ }
311
+ }));
312
+ }
313
+ return stream.pipeThrough(new TransformStream({
314
+ transform (chunk, controller) {
315
+ if (chunk === PING_SYM) {
316
+ controller.enqueue(' ');
317
+ } else {
318
+ controller.enqueue(JSON.stringify(chunk) + '\n');
319
+ }
320
+ }
321
+ })).pipeThrough(new TextEncoderStream());
322
+ }
323
+ class AsyncError extends Error {
324
+ constructor(data){
325
+ super('Received error from server'), _define_property(this, "data", void 0), this.data = data;
326
+ }
327
+ }
328
+ const nodeJsStreamToReaderEsque = (source)=>{
329
+ return {
330
+ getReader () {
331
+ const stream = new ReadableStream({
332
+ start (controller) {
333
+ source.on('data', (chunk)=>{
334
+ controller.enqueue(chunk);
335
+ });
336
+ source.on('end', ()=>{
337
+ controller.close();
338
+ });
339
+ source.on('error', (error)=>{
340
+ controller.error(error);
341
+ });
342
+ }
343
+ });
344
+ return stream.getReader();
345
+ }
346
+ };
347
+ };
348
+ function createLineAccumulator(from) {
349
+ const reader = 'getReader' in from ? from.getReader() : nodeJsStreamToReaderEsque(from).getReader();
350
+ let lineAggregate = '';
351
+ return new ReadableStream({
352
+ async pull (controller) {
353
+ const { done, value } = await reader.read();
354
+ if (done) {
355
+ controller.close();
356
+ } else {
357
+ controller.enqueue(value);
358
+ }
359
+ },
360
+ cancel () {
361
+ return reader.cancel();
362
+ }
363
+ }).pipeThrough(new TextDecoderStream()).pipeThrough(new TransformStream({
364
+ transform (chunk, controller) {
365
+ lineAggregate += chunk;
366
+ const parts = lineAggregate.split('\n');
367
+ lineAggregate = parts.pop() ?? '';
368
+ for (const part of parts){
369
+ controller.enqueue(part);
370
+ }
371
+ }
372
+ }));
373
+ }
374
+ function createConsumerStream(from) {
375
+ const stream = createLineAccumulator(from);
376
+ let sentHead = false;
377
+ return stream.pipeThrough(new TransformStream({
378
+ transform (line, controller) {
379
+ if (!sentHead) {
380
+ const head = JSON.parse(line);
381
+ controller.enqueue(head);
382
+ sentHead = true;
383
+ } else {
384
+ const chunk = JSON.parse(line);
385
+ controller.enqueue(chunk);
386
+ }
387
+ }
388
+ }));
389
+ }
390
+ /**
391
+ * Creates a handler for managing stream controllers and their lifecycle
392
+ */ function createStreamsManager(abortController) {
393
+ const controllerMap = new Map();
394
+ /**
395
+ * Checks if there are no pending controllers or deferred promises
396
+ */ function isEmpty() {
397
+ return Array.from(controllerMap.values()).every((c)=>c.closed);
398
+ }
399
+ /**
400
+ * Creates a stream controller
401
+ */ function createStreamController() {
402
+ let originalController;
403
+ const stream = new ReadableStream({
404
+ start (controller) {
405
+ originalController = controller;
406
+ }
407
+ });
408
+ const streamController = {
409
+ enqueue: (v)=>originalController.enqueue(v),
410
+ close: ()=>{
411
+ originalController.close();
412
+ clear();
413
+ if (isEmpty()) {
414
+ abortController.abort();
415
+ }
416
+ },
417
+ closed: false,
418
+ getReaderResource: ()=>{
419
+ const reader = stream.getReader();
420
+ return makeResource(reader, ()=>{
421
+ reader.releaseLock();
422
+ streamController.close();
423
+ });
424
+ },
425
+ error: (reason)=>{
426
+ originalController.error(reason);
427
+ clear();
428
+ }
429
+ };
430
+ function clear() {
431
+ Object.assign(streamController, {
432
+ closed: true,
433
+ close: ()=>{
434
+ // noop
435
+ },
436
+ enqueue: ()=>{
437
+ // noop
438
+ },
439
+ getReaderResource: null,
440
+ error: ()=>{
441
+ // noop
442
+ }
443
+ });
444
+ }
445
+ return streamController;
446
+ }
447
+ /**
448
+ * Gets or creates a stream controller
449
+ */ function getOrCreate(chunkId) {
450
+ let c = controllerMap.get(chunkId);
451
+ if (!c) {
452
+ c = createStreamController();
453
+ controllerMap.set(chunkId, c);
454
+ }
455
+ return c;
456
+ }
457
+ /**
458
+ * Cancels all pending controllers and rejects deferred promises
459
+ */ function cancelAll(reason) {
460
+ for (const controller of controllerMap.values()){
461
+ controller.error(reason);
462
+ }
463
+ }
464
+ return {
465
+ getOrCreate,
466
+ isEmpty,
467
+ cancelAll
468
+ };
469
+ }
470
+ /**
471
+ * JSON Lines stream consumer
472
+ * @see https://jsonlines.org/
473
+ */ async function jsonlStreamConsumer(opts) {
474
+ const { deserialize = (v)=>v } = opts;
475
+ let source = createConsumerStream(opts.from);
476
+ if (deserialize) {
477
+ source = source.pipeThrough(new TransformStream({
478
+ transform (chunk, controller) {
479
+ controller.enqueue(deserialize(chunk));
480
+ }
481
+ }));
482
+ }
483
+ let headDeferred = createDeferred();
484
+ const streamManager = createStreamsManager(opts.abortController);
485
+ function decodeChunkDefinition(value) {
486
+ const [_path, type, chunkId] = value;
487
+ const controller = streamManager.getOrCreate(chunkId);
488
+ switch(type){
489
+ case CHUNK_VALUE_TYPE_PROMISE:
490
+ {
491
+ return run(async ()=>{
492
+ const env = {
493
+ stack: [],
494
+ error: void 0,
495
+ hasError: false
496
+ };
497
+ try {
498
+ const reader = _ts_add_disposable_resource(env, controller.getReaderResource(), false);
499
+ ;
500
+ const { value } = await reader.read();
501
+ const [_chunkId, status, data] = value;
502
+ switch(status){
503
+ case PROMISE_STATUS_FULFILLED:
504
+ return decode(data);
505
+ case PROMISE_STATUS_REJECTED:
506
+ throw opts.formatError?.({
507
+ error: data
508
+ }) ?? new AsyncError(data);
509
+ }
510
+ } catch (e) {
511
+ env.error = e;
512
+ env.hasError = true;
513
+ } finally{
514
+ _ts_dispose_resources(env);
515
+ }
516
+ });
517
+ }
518
+ case CHUNK_VALUE_TYPE_ASYNC_ITERABLE:
519
+ {
520
+ return run(async function*() {
521
+ const env = {
522
+ stack: [],
523
+ error: void 0,
524
+ hasError: false
525
+ };
526
+ try {
527
+ const reader = _ts_add_disposable_resource(env, controller.getReaderResource(), false);
528
+ ;
529
+ while(true){
530
+ const { value } = await reader.read();
531
+ const [_chunkId, status, data] = value;
532
+ switch(status){
533
+ case ASYNC_ITERABLE_STATUS_YIELD:
534
+ yield decode(data);
535
+ break;
536
+ case ASYNC_ITERABLE_STATUS_RETURN:
537
+ return decode(data);
538
+ case ASYNC_ITERABLE_STATUS_ERROR:
539
+ throw opts.formatError?.({
540
+ error: data
541
+ }) ?? new AsyncError(data);
542
+ }
543
+ }
544
+ } catch (e) {
545
+ env.error = e;
546
+ env.hasError = true;
547
+ } finally{
548
+ _ts_dispose_resources(env);
549
+ }
550
+ });
551
+ }
552
+ }
553
+ }
554
+ function decode(value) {
555
+ const [[data], ...asyncProps] = value;
556
+ for (const value of asyncProps){
557
+ const [key] = value;
558
+ const decoded = decodeChunkDefinition(value);
559
+ if (key === null) {
560
+ return decoded;
561
+ }
562
+ data[key] = decoded;
563
+ }
564
+ return data;
565
+ }
566
+ const closeOrAbort = (reason)=>{
567
+ headDeferred?.reject(reason);
568
+ streamManager.cancelAll(reason);
569
+ };
570
+ source.pipeTo(new WritableStream({
571
+ write (chunkOrHead) {
572
+ if (headDeferred) {
573
+ const head = chunkOrHead;
574
+ for (const [key, value] of Object.entries(chunkOrHead)){
575
+ const parsed = decode(value);
576
+ head[key] = parsed;
577
+ }
578
+ headDeferred.resolve(head);
579
+ headDeferred = null;
580
+ return;
581
+ }
582
+ const chunk = chunkOrHead;
583
+ const [idx] = chunk;
584
+ const controller = streamManager.getOrCreate(idx);
585
+ controller.enqueue(chunk);
586
+ },
587
+ close: ()=>closeOrAbort(new Error('Stream closed')),
588
+ abort: closeOrAbort
589
+ }), {
590
+ signal: opts.abortController.signal
591
+ }).catch((error)=>{
592
+ opts.onError?.({
593
+ error
594
+ });
595
+ closeOrAbort(error);
596
+ });
597
+ return [
598
+ await headDeferred.promise,
599
+ streamManager
600
+ ];
601
+ }
602
+
603
+ export { isPromise, jsonlStreamConsumer, jsonlStreamProducer };