@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,175 @@
1
+ /** @public */ function isObservable(x) {
2
+ return typeof x === 'object' && x !== null && 'subscribe' in x;
3
+ }
4
+ /** @public */ function observable(subscribe) {
5
+ const self = {
6
+ subscribe (observer) {
7
+ let teardownRef = null;
8
+ let isDone = false;
9
+ let unsubscribed = false;
10
+ let teardownImmediately = false;
11
+ function unsubscribe() {
12
+ if (teardownRef === null) {
13
+ teardownImmediately = true;
14
+ return;
15
+ }
16
+ if (unsubscribed) {
17
+ return;
18
+ }
19
+ unsubscribed = true;
20
+ if (typeof teardownRef === 'function') {
21
+ teardownRef();
22
+ } else if (teardownRef) {
23
+ teardownRef.unsubscribe();
24
+ }
25
+ }
26
+ teardownRef = subscribe({
27
+ next (value) {
28
+ if (isDone) {
29
+ return;
30
+ }
31
+ observer.next?.(value);
32
+ },
33
+ error (err) {
34
+ if (isDone) {
35
+ return;
36
+ }
37
+ isDone = true;
38
+ observer.error?.(err);
39
+ unsubscribe();
40
+ },
41
+ complete () {
42
+ if (isDone) {
43
+ return;
44
+ }
45
+ isDone = true;
46
+ observer.complete?.();
47
+ unsubscribe();
48
+ }
49
+ });
50
+ if (teardownImmediately) {
51
+ unsubscribe();
52
+ }
53
+ return {
54
+ unsubscribe
55
+ };
56
+ },
57
+ pipe (...operations) {
58
+ return operations.reduce(pipeReducer, self);
59
+ }
60
+ };
61
+ return self;
62
+ }
63
+ function pipeReducer(prev, fn) {
64
+ return fn(prev);
65
+ }
66
+ /** @internal */ function observableToPromise(observable) {
67
+ const ac = new AbortController();
68
+ const promise = new Promise((resolve, reject)=>{
69
+ let isDone = false;
70
+ function onDone() {
71
+ if (isDone) {
72
+ return;
73
+ }
74
+ isDone = true;
75
+ obs$.unsubscribe();
76
+ }
77
+ ac.signal.addEventListener('abort', ()=>{
78
+ reject(ac.signal.reason);
79
+ });
80
+ const obs$ = observable.subscribe({
81
+ next (data) {
82
+ isDone = true;
83
+ resolve(data);
84
+ onDone();
85
+ },
86
+ error (data) {
87
+ reject(data);
88
+ },
89
+ complete () {
90
+ ac.abort();
91
+ onDone();
92
+ }
93
+ });
94
+ });
95
+ return promise;
96
+ }
97
+ /**
98
+ * @internal
99
+ */ function observableToReadableStream(observable, signal) {
100
+ let unsub = null;
101
+ const onAbort = ()=>{
102
+ unsub?.unsubscribe();
103
+ unsub = null;
104
+ signal.removeEventListener('abort', onAbort);
105
+ };
106
+ return new ReadableStream({
107
+ start (controller) {
108
+ unsub = observable.subscribe({
109
+ next (data) {
110
+ controller.enqueue({
111
+ ok: true,
112
+ value: data
113
+ });
114
+ },
115
+ error (error) {
116
+ controller.enqueue({
117
+ ok: false,
118
+ error
119
+ });
120
+ controller.close();
121
+ },
122
+ complete () {
123
+ controller.close();
124
+ }
125
+ });
126
+ if (signal.aborted) {
127
+ onAbort();
128
+ } else {
129
+ signal.addEventListener('abort', onAbort, {
130
+ once: true
131
+ });
132
+ }
133
+ },
134
+ cancel () {
135
+ onAbort();
136
+ }
137
+ });
138
+ }
139
+ /** @internal */ function observableToAsyncIterable(observable, signal) {
140
+ const stream = observableToReadableStream(observable, signal);
141
+ const reader = stream.getReader();
142
+ const iterator = {
143
+ async next () {
144
+ const value = await reader.read();
145
+ if (value.done) {
146
+ return {
147
+ value: undefined,
148
+ done: true
149
+ };
150
+ }
151
+ const { value: result } = value;
152
+ if (!result.ok) {
153
+ throw result.error;
154
+ }
155
+ return {
156
+ value: result.value,
157
+ done: false
158
+ };
159
+ },
160
+ async return () {
161
+ await reader.cancel();
162
+ return {
163
+ value: undefined,
164
+ done: true
165
+ };
166
+ }
167
+ };
168
+ return {
169
+ [Symbol.asyncIterator] () {
170
+ return iterator;
171
+ }
172
+ };
173
+ }
174
+
175
+ export { isObservable, observable, observableToAsyncIterable, observableToPromise };
@@ -0,0 +1,73 @@
1
+ const noop = ()=>{
2
+ // noop
3
+ };
4
+ const freezeIfAvailable = (obj)=>{
5
+ if (Object.freeze) {
6
+ Object.freeze(obj);
7
+ }
8
+ };
9
+ function createInnerProxy(callback, path, memo) {
10
+ var _memo, _cacheKey;
11
+ const cacheKey = path.join('.');
12
+ (_memo = memo)[_cacheKey = cacheKey] ?? (_memo[_cacheKey] = new Proxy(noop, {
13
+ get (_obj, key) {
14
+ if (typeof key !== 'string' || key === 'then') {
15
+ // special case for if the proxy is accidentally treated
16
+ // like a PromiseLike (like in `Promise.resolve(proxy)`)
17
+ return undefined;
18
+ }
19
+ return createInnerProxy(callback, [
20
+ ...path,
21
+ key
22
+ ], memo);
23
+ },
24
+ apply (_1, _2, args) {
25
+ const lastOfPath = path[path.length - 1];
26
+ let opts = {
27
+ args,
28
+ path
29
+ };
30
+ // special handling for e.g. `trpc.hello.call(this, 'there')` and `trpc.hello.apply(this, ['there'])
31
+ if (lastOfPath === 'call') {
32
+ opts = {
33
+ args: args.length >= 2 ? [
34
+ args[1]
35
+ ] : [],
36
+ path: path.slice(0, -1)
37
+ };
38
+ } else if (lastOfPath === 'apply') {
39
+ opts = {
40
+ args: args.length >= 2 ? args[1] : [],
41
+ path: path.slice(0, -1)
42
+ };
43
+ }
44
+ freezeIfAvailable(opts.args);
45
+ freezeIfAvailable(opts.path);
46
+ return callback(opts);
47
+ }
48
+ }));
49
+ return memo[cacheKey];
50
+ }
51
+ /**
52
+ * Creates a proxy that calls the callback with the path and arguments
53
+ *
54
+ * @internal
55
+ */ const createRecursiveProxy = (callback)=>createInnerProxy(callback, [], Object.create(null));
56
+ /**
57
+ * Used in place of `new Proxy` where each handler will map 1 level deep to another value.
58
+ *
59
+ * @internal
60
+ */ const createFlatProxy = (callback)=>{
61
+ return new Proxy(noop, {
62
+ get (_obj, name) {
63
+ if (name === 'then') {
64
+ // special case for if the proxy is accidentally treated
65
+ // like a PromiseLike (like in `Promise.resolve(proxy)`)
66
+ return undefined;
67
+ }
68
+ return callback(name);
69
+ }
70
+ });
71
+ };
72
+
73
+ export { createFlatProxy, createRecursiveProxy };
@@ -0,0 +1,79 @@
1
+ import { isObject } from '../utils.mjs';
2
+
3
+ function _define_property(obj, key, value) {
4
+ if (key in obj) {
5
+ Object.defineProperty(obj, key, {
6
+ value: value,
7
+ enumerable: true,
8
+ configurable: true,
9
+ writable: true
10
+ });
11
+ } else {
12
+ obj[key] = value;
13
+ }
14
+ return obj;
15
+ }
16
+ class UnknownCauseError extends Error {
17
+ }
18
+ function getCauseFromUnknown(cause) {
19
+ if (cause instanceof Error) {
20
+ return cause;
21
+ }
22
+ const type = typeof cause;
23
+ if (type === 'undefined' || type === 'function' || cause === null) {
24
+ return undefined;
25
+ }
26
+ // Primitive types just get wrapped in an error
27
+ if (type !== 'object') {
28
+ // eslint-disable-next-line @typescript-eslint/no-base-to-string
29
+ return new Error(String(cause));
30
+ }
31
+ // If it's an object, we'll create a synthetic error
32
+ if (isObject(cause)) {
33
+ const err = new UnknownCauseError();
34
+ for(const key in cause){
35
+ err[key] = cause[key];
36
+ }
37
+ return err;
38
+ }
39
+ return undefined;
40
+ }
41
+ function getTRPCErrorFromUnknown(cause) {
42
+ if (cause instanceof TRPCError) {
43
+ return cause;
44
+ }
45
+ if (cause instanceof Error && cause.name === 'TRPCError') {
46
+ // https://github.com/trpc/trpc/pull/4848
47
+ return cause;
48
+ }
49
+ const trpcError = new TRPCError({
50
+ code: 'INTERNAL_SERVER_ERROR',
51
+ cause
52
+ });
53
+ // Inherit stack from error
54
+ if (cause instanceof Error && cause.stack) {
55
+ trpcError.stack = cause.stack;
56
+ }
57
+ return trpcError;
58
+ }
59
+ class TRPCError extends Error {
60
+ constructor(opts){
61
+ const cause = getCauseFromUnknown(opts.cause);
62
+ const message = opts.message ?? cause?.message ?? opts.code;
63
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
64
+ // @ts-ignore https://github.com/tc39/proposal-error-cause
65
+ super(message, {
66
+ cause
67
+ }), // eslint-disable-next-line @typescript-eslint/ban-ts-comment
68
+ // @ts-ignore override doesn't work in all environments due to "This member cannot have an 'override' modifier because it is not declared in the base class 'Error'"
69
+ _define_property(this, "cause", void 0), _define_property(this, "code", void 0);
70
+ this.code = opts.code;
71
+ this.name = 'TRPCError';
72
+ if (!this.cause) {
73
+ // < ES2022 / < Node 16.9.0 compatability
74
+ this.cause = cause;
75
+ }
76
+ }
77
+ }
78
+
79
+ export { TRPCError, getCauseFromUnknown, getTRPCErrorFromUnknown };
@@ -0,0 +1,5 @@
1
+ const defaultFormatter = ({ shape })=>{
2
+ return shape;
3
+ };
4
+
5
+ export { defaultFormatter };
@@ -0,0 +1,29 @@
1
+ import { getHTTPStatusCodeFromError } from '../http/getHTTPStatusCode.mjs';
2
+ import { TRPC_ERROR_CODES_BY_KEY } from '../rpc/codes.mjs';
3
+
4
+ /**
5
+ * @internal
6
+ */ function getErrorShape(opts) {
7
+ const { path, error, config } = opts;
8
+ const { code } = opts.error;
9
+ const shape = {
10
+ message: error.message,
11
+ code: TRPC_ERROR_CODES_BY_KEY[code],
12
+ data: {
13
+ code,
14
+ httpStatus: getHTTPStatusCodeFromError(error)
15
+ }
16
+ };
17
+ if (config.isDev && typeof opts.error.stack === 'string') {
18
+ shape.data.stack = opts.error.stack;
19
+ }
20
+ if (typeof path === 'string') {
21
+ shape.data.path = path;
22
+ }
23
+ return config.errorFormatter({
24
+ ...opts,
25
+ shape
26
+ });
27
+ }
28
+
29
+ export { getErrorShape };
@@ -0,0 +1,10 @@
1
+ import { isObject } from '../utils.mjs';
2
+
3
+ function isAbortError(error) {
4
+ return isObject(error) && error['name'] === 'AbortError';
5
+ }
6
+ function throwAbortError(message = 'AbortError') {
7
+ throw new DOMException(message, 'AbortError');
8
+ }
9
+
10
+ export { isAbortError, throwAbortError };
@@ -0,0 +1,229 @@
1
+ import { TRPCError } from '../error/TRPCError.mjs';
2
+ import { getProcedureAtPath } from '../router.mjs';
3
+ import { isObject, unsetMarker } from '../utils.mjs';
4
+ import { parseConnectionParamsFromString } from './parseConnectionParams.mjs';
5
+
6
+ /**
7
+ * Memoize a function that takes no arguments
8
+ * @internal
9
+ */ function memo(fn) {
10
+ let promise = null;
11
+ let value = unsetMarker;
12
+ return {
13
+ /**
14
+ * Lazily read the value
15
+ */ read: async ()=>{
16
+ if (value !== unsetMarker) {
17
+ return value;
18
+ }
19
+ if (promise === null) {
20
+ // dedupes promises and catches errors
21
+ promise = fn().catch((cause)=>{
22
+ if (cause instanceof TRPCError) {
23
+ throw cause;
24
+ }
25
+ throw new TRPCError({
26
+ code: 'BAD_REQUEST',
27
+ message: cause instanceof Error ? cause.message : 'Invalid input',
28
+ cause
29
+ });
30
+ });
31
+ }
32
+ value = await promise;
33
+ promise = null;
34
+ return value;
35
+ },
36
+ /**
37
+ * Get an already stored result
38
+ */ result: ()=>{
39
+ return value !== unsetMarker ? value : undefined;
40
+ }
41
+ };
42
+ }
43
+ const jsonContentTypeHandler = {
44
+ isMatch (req) {
45
+ return !!req.headers.get('content-type')?.startsWith('application/json');
46
+ },
47
+ async parse (opts) {
48
+ const { req } = opts;
49
+ const isBatchCall = opts.searchParams.get('batch') === '1';
50
+ const paths = isBatchCall ? opts.path.split(',') : [
51
+ opts.path
52
+ ];
53
+ const getInputs = memo(async ()=>{
54
+ let inputs = undefined;
55
+ if (req.method === 'GET') {
56
+ const queryInput = opts.searchParams.get('input');
57
+ if (queryInput) {
58
+ inputs = JSON.parse(queryInput);
59
+ }
60
+ } else {
61
+ inputs = await req.json();
62
+ }
63
+ if (inputs === undefined) {
64
+ return {};
65
+ }
66
+ if (!isBatchCall) {
67
+ return {
68
+ 0: opts.router._def._config.transformer.input.deserialize(inputs)
69
+ };
70
+ }
71
+ if (!isObject(inputs)) {
72
+ throw new TRPCError({
73
+ code: 'BAD_REQUEST',
74
+ message: '"input" needs to be an object when doing a batch call'
75
+ });
76
+ }
77
+ const acc = {};
78
+ for (const index of paths.keys()){
79
+ const input = inputs[index];
80
+ if (input !== undefined) {
81
+ acc[index] = opts.router._def._config.transformer.input.deserialize(input);
82
+ }
83
+ }
84
+ return acc;
85
+ });
86
+ const calls = await Promise.all(paths.map(async (path, index)=>{
87
+ const procedure = await getProcedureAtPath(opts.router, path);
88
+ return {
89
+ path,
90
+ procedure,
91
+ getRawInput: async ()=>{
92
+ const inputs = await getInputs.read();
93
+ let input = inputs[index];
94
+ if (procedure?._def.type === 'subscription') {
95
+ const lastEventId = opts.headers.get('last-event-id') ?? opts.searchParams.get('lastEventId') ?? opts.searchParams.get('Last-Event-Id');
96
+ if (lastEventId) {
97
+ if (isObject(input)) {
98
+ input = {
99
+ ...input,
100
+ lastEventId: lastEventId
101
+ };
102
+ } else {
103
+ input ?? (input = {
104
+ lastEventId: lastEventId
105
+ });
106
+ }
107
+ }
108
+ }
109
+ return input;
110
+ },
111
+ result: ()=>{
112
+ return getInputs.result()?.[index];
113
+ }
114
+ };
115
+ }));
116
+ const types = new Set(calls.map((call)=>call.procedure?._def.type).filter(Boolean));
117
+ /* istanbul ignore if -- @preserve */ if (types.size > 1) {
118
+ throw new TRPCError({
119
+ code: 'BAD_REQUEST',
120
+ message: `Cannot mix procedure types in call: ${Array.from(types).join(', ')}`
121
+ });
122
+ }
123
+ const type = types.values().next().value ?? 'unknown';
124
+ const connectionParamsStr = opts.searchParams.get('connectionParams');
125
+ const info = {
126
+ isBatchCall,
127
+ accept: req.headers.get('trpc-accept'),
128
+ calls,
129
+ type,
130
+ connectionParams: connectionParamsStr === null ? null : parseConnectionParamsFromString(connectionParamsStr),
131
+ signal: req.signal,
132
+ url: opts.url
133
+ };
134
+ return info;
135
+ }
136
+ };
137
+ const formDataContentTypeHandler = {
138
+ isMatch (req) {
139
+ return !!req.headers.get('content-type')?.startsWith('multipart/form-data');
140
+ },
141
+ async parse (opts) {
142
+ const { req } = opts;
143
+ if (req.method !== 'POST') {
144
+ throw new TRPCError({
145
+ code: 'METHOD_NOT_SUPPORTED',
146
+ message: 'Only POST requests are supported for multipart/form-data requests'
147
+ });
148
+ }
149
+ const getInputs = memo(async ()=>{
150
+ const fd = await req.formData();
151
+ return fd;
152
+ });
153
+ const procedure = await getProcedureAtPath(opts.router, opts.path);
154
+ return {
155
+ accept: null,
156
+ calls: [
157
+ {
158
+ path: opts.path,
159
+ getRawInput: getInputs.read,
160
+ result: getInputs.result,
161
+ procedure
162
+ }
163
+ ],
164
+ isBatchCall: false,
165
+ type: 'mutation',
166
+ connectionParams: null,
167
+ signal: req.signal,
168
+ url: opts.url
169
+ };
170
+ }
171
+ };
172
+ const octetStreamContentTypeHandler = {
173
+ isMatch (req) {
174
+ return !!req.headers.get('content-type')?.startsWith('application/octet-stream');
175
+ },
176
+ async parse (opts) {
177
+ const { req } = opts;
178
+ if (req.method !== 'POST') {
179
+ throw new TRPCError({
180
+ code: 'METHOD_NOT_SUPPORTED',
181
+ message: 'Only POST requests are supported for application/octet-stream requests'
182
+ });
183
+ }
184
+ const getInputs = memo(async ()=>{
185
+ return req.body;
186
+ });
187
+ return {
188
+ calls: [
189
+ {
190
+ path: opts.path,
191
+ getRawInput: getInputs.read,
192
+ result: getInputs.result,
193
+ procedure: await getProcedureAtPath(opts.router, opts.path)
194
+ }
195
+ ],
196
+ isBatchCall: false,
197
+ accept: null,
198
+ type: 'mutation',
199
+ connectionParams: null,
200
+ signal: req.signal,
201
+ url: opts.url
202
+ };
203
+ }
204
+ };
205
+ const handlers = [
206
+ jsonContentTypeHandler,
207
+ formDataContentTypeHandler,
208
+ octetStreamContentTypeHandler
209
+ ];
210
+ function getContentTypeHandler(req) {
211
+ const handler = handlers.find((handler)=>handler.isMatch(req));
212
+ if (handler) {
213
+ return handler;
214
+ }
215
+ if (!handler && req.method === 'GET') {
216
+ // fallback to JSON for get requests so GET-requests can be opened in browser easily
217
+ return jsonContentTypeHandler;
218
+ }
219
+ throw new TRPCError({
220
+ code: 'UNSUPPORTED_MEDIA_TYPE',
221
+ message: req.headers.has('content-type') ? `Unsupported content-type "${req.headers.get('content-type')}` : 'Missing content-type header'
222
+ });
223
+ }
224
+ async function getRequestInfo(opts) {
225
+ const handler = getContentTypeHandler(opts.req);
226
+ return await handler.parse(opts);
227
+ }
228
+
229
+ export { getRequestInfo };
@@ -0,0 +1,76 @@
1
+ import { TRPC_ERROR_CODES_BY_NUMBER } from '../rpc/codes.mjs';
2
+ import { isObject } from '../utils.mjs';
3
+
4
+ const JSONRPC2_TO_HTTP_CODE = {
5
+ PARSE_ERROR: 400,
6
+ BAD_REQUEST: 400,
7
+ UNAUTHORIZED: 401,
8
+ FORBIDDEN: 403,
9
+ NOT_FOUND: 404,
10
+ METHOD_NOT_SUPPORTED: 405,
11
+ TIMEOUT: 408,
12
+ CONFLICT: 409,
13
+ PRECONDITION_FAILED: 412,
14
+ PAYLOAD_TOO_LARGE: 413,
15
+ UNSUPPORTED_MEDIA_TYPE: 415,
16
+ UNPROCESSABLE_CONTENT: 422,
17
+ TOO_MANY_REQUESTS: 429,
18
+ CLIENT_CLOSED_REQUEST: 499,
19
+ INTERNAL_SERVER_ERROR: 500,
20
+ NOT_IMPLEMENTED: 501,
21
+ BAD_GATEWAY: 502,
22
+ SERVICE_UNAVAILABLE: 503,
23
+ GATEWAY_TIMEOUT: 504
24
+ };
25
+ const HTTP_CODE_TO_JSONRPC2 = {
26
+ 400: 'BAD_REQUEST',
27
+ 401: 'UNAUTHORIZED',
28
+ 403: 'FORBIDDEN',
29
+ 404: 'NOT_FOUND',
30
+ 405: 'METHOD_NOT_SUPPORTED',
31
+ 408: 'TIMEOUT',
32
+ 409: 'CONFLICT',
33
+ 412: 'PRECONDITION_FAILED',
34
+ 413: 'PAYLOAD_TOO_LARGE',
35
+ 415: 'UNSUPPORTED_MEDIA_TYPE',
36
+ 422: 'UNPROCESSABLE_CONTENT',
37
+ 429: 'TOO_MANY_REQUESTS',
38
+ 499: 'CLIENT_CLOSED_REQUEST',
39
+ 500: 'INTERNAL_SERVER_ERROR',
40
+ 501: 'NOT_IMPLEMENTED',
41
+ 502: 'BAD_GATEWAY',
42
+ 503: 'SERVICE_UNAVAILABLE',
43
+ 504: 'GATEWAY_TIMEOUT'
44
+ };
45
+ function getStatusCodeFromKey(code) {
46
+ return JSONRPC2_TO_HTTP_CODE[code] ?? 500;
47
+ }
48
+ function getStatusKeyFromCode(code) {
49
+ return HTTP_CODE_TO_JSONRPC2[code] ?? 'INTERNAL_SERVER_ERROR';
50
+ }
51
+ function getHTTPStatusCode(json) {
52
+ const arr = Array.isArray(json) ? json : [
53
+ json
54
+ ];
55
+ const httpStatuses = new Set(arr.map((res)=>{
56
+ if ('error' in res && isObject(res.error.data)) {
57
+ if (typeof res.error.data?.['httpStatus'] === 'number') {
58
+ return res.error.data['httpStatus'];
59
+ }
60
+ const code = TRPC_ERROR_CODES_BY_NUMBER[res.error.code];
61
+ return getStatusCodeFromKey(code);
62
+ }
63
+ return 200;
64
+ }));
65
+ if (httpStatuses.size !== 1) {
66
+ return 207;
67
+ }
68
+ const httpStatus = httpStatuses.values().next().value;
69
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
70
+ return httpStatus;
71
+ }
72
+ function getHTTPStatusCodeFromError(error) {
73
+ return getStatusCodeFromKey(error.code);
74
+ }
75
+
76
+ export { HTTP_CODE_TO_JSONRPC2, JSONRPC2_TO_HTTP_CODE, getHTTPStatusCode, getHTTPStatusCodeFromError, getStatusCodeFromKey, getStatusKeyFromCode };