nitro 3.0.0 → 3.0.1-alpha.1

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 (293) hide show
  1. package/dist/_build/common.mjs +68 -0
  2. package/dist/_build/common2.mjs +772 -0
  3. package/dist/_build/rolldown.mjs +206 -0
  4. package/dist/_build/rollup.mjs +289 -0
  5. package/dist/_build/vite.build.mjs +56 -0
  6. package/dist/_build/vite.plugin.mjs +768 -0
  7. package/dist/_chunks/ANM1K1bE.mjs +304 -0
  8. package/dist/_chunks/B-D1JOIz.mjs +1355 -0
  9. package/dist/_chunks/BX9-zVkM.mjs +59 -0
  10. package/dist/_chunks/Bqks5huO.mjs +31 -0
  11. package/dist/_chunks/C7CbzoI1.mjs +39 -0
  12. package/dist/_dev.d.mts +12 -0
  13. package/dist/_dev.mjs +705 -0
  14. package/dist/_libs/acorn.mjs +5034 -0
  15. package/dist/_libs/c12.mjs +2858 -0
  16. package/dist/_libs/chokidar.mjs +1561 -0
  17. package/dist/_libs/citty.mjs +333 -0
  18. package/dist/_libs/commondir.mjs +22 -0
  19. package/dist/_libs/compatx.mjs +46 -0
  20. package/dist/_libs/confbox.mjs +2920 -0
  21. package/dist/_libs/deepmerge.mjs +86 -0
  22. package/dist/_libs/dot-prop.mjs +138 -0
  23. package/dist/_libs/duplexer.mjs +71 -0
  24. package/dist/_libs/escape-string-regexp.mjs +8 -0
  25. package/dist/_libs/estree-walker.mjs +330 -0
  26. package/dist/_libs/etag.mjs +80 -0
  27. package/dist/_libs/fdir.mjs +514 -0
  28. package/dist/_libs/function-bind.mjs +63 -0
  29. package/dist/_libs/gen-mapping.mjs +612 -0
  30. package/dist/_libs/giget.mjs +19289 -0
  31. package/dist/_libs/gzip-size.mjs +21 -0
  32. package/dist/_libs/hasown.mjs +14 -0
  33. package/dist/_libs/httpxy.mjs +410 -0
  34. package/dist/_libs/is-core-module.mjs +220 -0
  35. package/dist/_libs/is-module.mjs +13 -0
  36. package/dist/_libs/is-reference.mjs +32 -0
  37. package/dist/_libs/js-tokens.mjs +382 -0
  38. package/dist/_libs/klona.mjs +38 -0
  39. package/dist/_libs/knitwork.mjs +124 -0
  40. package/dist/_libs/local-pkg.mjs +1686 -0
  41. package/dist/_libs/magic-string.mjs +939 -0
  42. package/dist/_libs/mime.mjs +1391 -0
  43. package/dist/_libs/node-fetch-native.mjs +173 -0
  44. package/dist/_libs/path-parse.mjs +47 -0
  45. package/dist/_libs/pathe.mjs +41 -0
  46. package/dist/_libs/picomatch.mjs +1673 -0
  47. package/dist/_libs/plugin-alias.mjs +64 -0
  48. package/dist/_libs/plugin-commonjs.mjs +1491 -0
  49. package/dist/_libs/plugin-inject.mjs +135 -0
  50. package/dist/_libs/plugin-json.mjs +36 -0
  51. package/dist/_libs/plugin-node-resolve.mjs +1553 -0
  52. package/dist/_libs/plugin-replace.mjs +104 -0
  53. package/dist/_libs/pretty-bytes.mjs +116 -0
  54. package/dist/_libs/remapping.mjs +117 -0
  55. package/dist/_libs/rou3.mjs +319 -0
  56. package/dist/_libs/std-env.mjs +158 -0
  57. package/dist/_libs/strip-literal.mjs +51 -0
  58. package/dist/_libs/tinyglobby.mjs +292 -0
  59. package/dist/_libs/tsconfck.mjs +832 -0
  60. package/dist/_libs/ultrahtml.mjs +138 -0
  61. package/dist/_libs/unimport.mjs +3520 -0
  62. package/dist/_libs/untyped.mjs +271 -0
  63. package/dist/_libs/unwasm.mjs +5836 -0
  64. package/dist/_libs/vite-plugin-fullstack.mjs +561 -0
  65. package/dist/_presets.mjs +1752 -0
  66. package/dist/builder.d.mts +63 -0
  67. package/dist/builder.mjs +33 -0
  68. package/dist/cli/_chunks/build.mjs +48 -0
  69. package/dist/cli/_chunks/common.mjs +15 -0
  70. package/dist/cli/_chunks/detect-acorn.mjs +12 -0
  71. package/dist/cli/_chunks/dev.mjs +68 -0
  72. package/dist/cli/_chunks/dist.mjs +3 -0
  73. package/dist/cli/_chunks/dist2.mjs +3 -0
  74. package/dist/cli/_chunks/dist3.mjs +3 -0
  75. package/dist/cli/_chunks/dist4.mjs +4 -0
  76. package/dist/cli/_chunks/dist5.mjs +4 -0
  77. package/dist/cli/_chunks/esm.mjs +3 -0
  78. package/dist/cli/_chunks/json5.mjs +4 -0
  79. package/dist/cli/_chunks/jsonc.mjs +4 -0
  80. package/dist/cli/_chunks/list.mjs +27 -0
  81. package/dist/cli/_chunks/multipart-parser.mjs +6 -0
  82. package/dist/cli/_chunks/prepare.mjs +19 -0
  83. package/dist/cli/_chunks/run.mjs +55 -0
  84. package/dist/cli/_chunks/task.mjs +16 -0
  85. package/dist/cli/_chunks/toml.mjs +4 -0
  86. package/dist/cli/_chunks/yaml.mjs +4 -0
  87. package/dist/cli/index.d.mts +1 -1
  88. package/dist/cli/index.mjs +20 -476
  89. package/dist/node_modules/@poppinss/dumper/build/formatters/html/main.js +1 -1
  90. package/dist/node_modules/@poppinss/dumper/package.json +1 -1
  91. package/dist/node_modules/@sindresorhus/is/distribution/index.js +1 -1
  92. package/dist/node_modules/@sindresorhus/is/package.json +1 -1
  93. package/dist/node_modules/@speed-highlight/core/dist/index.js +2 -2
  94. package/dist/node_modules/@speed-highlight/core/dist/terminal.js +2 -2
  95. package/dist/node_modules/@speed-highlight/core/package.json +7 -3
  96. package/dist/node_modules/cookie-es/dist/index.mjs +262 -0
  97. package/dist/node_modules/cookie-es/package.json +37 -0
  98. package/dist/node_modules/hookable/dist/index.mjs +243 -266
  99. package/dist/node_modules/hookable/package.json +29 -26
  100. package/dist/node_modules/rendu/dist/index.mjs +380 -0
  101. package/dist/node_modules/rendu/package.json +47 -0
  102. package/dist/node_modules/youch/build/{chunk-VE4LENUR.js → chunk-F4I6KX4R.js} +2 -1
  103. package/dist/node_modules/youch/build/{chunk-JAN2TFI2.js → chunk-YYEJ3AGB.js} +4 -1
  104. package/dist/node_modules/youch/build/index.js +16 -8
  105. package/dist/node_modules/youch/build/public/error_stack/script.js +20 -22
  106. package/dist/node_modules/youch/build/public/header/script.js +0 -2
  107. package/dist/node_modules/youch/build/public/layout/script.js +0 -8
  108. package/dist/node_modules/youch/build/public/layout/style.css +4 -0
  109. package/dist/node_modules/youch/package.json +16 -17
  110. package/dist/presets/_nitro/runtime/nitro-dev.d.mts +1 -0
  111. package/dist/presets/_nitro/runtime/nitro-dev.mjs +48 -42
  112. package/dist/presets/_nitro/runtime/nitro-prerenderer.d.mts +2 -2
  113. package/dist/presets/_nitro/runtime/nitro-prerenderer.mjs +10 -14
  114. package/dist/presets/_nitro/runtime/service-worker.d.mts +1 -0
  115. package/dist/presets/_nitro/runtime/service-worker.mjs +15 -12
  116. package/dist/presets/aws-amplify/runtime/aws-amplify.d.mts +1 -0
  117. package/dist/presets/aws-amplify/runtime/aws-amplify.mjs +7 -6
  118. package/dist/presets/aws-lambda/runtime/_utils.d.mts +8 -13
  119. package/dist/presets/aws-lambda/runtime/_utils.mjs +95 -81
  120. package/dist/presets/aws-lambda/runtime/aws-lambda-streaming.d.mts +1 -2
  121. package/dist/presets/aws-lambda/runtime/aws-lambda-streaming.mjs +26 -28
  122. package/dist/presets/aws-lambda/runtime/aws-lambda.mjs +8 -8
  123. package/dist/presets/azure/runtime/_utils.mjs +43 -43
  124. package/dist/presets/azure/runtime/azure-swa.d.mts +2 -2
  125. package/dist/presets/azure/runtime/azure-swa.mjs +24 -22
  126. package/dist/presets/bun/runtime/bun.d.mts +2 -0
  127. package/dist/presets/bun/runtime/bun.mjs +34 -21
  128. package/dist/presets/cloudflare/runtime/_module-handler.d.mts +10 -7
  129. package/dist/presets/cloudflare/runtime/_module-handler.mjs +80 -88
  130. package/dist/presets/cloudflare/runtime/cloudflare-durable.d.mts +6 -14
  131. package/dist/presets/cloudflare/runtime/cloudflare-durable.mjs +60 -63
  132. package/dist/presets/cloudflare/runtime/cloudflare-module.d.mts +1 -7
  133. package/dist/presets/cloudflare/runtime/cloudflare-module.mjs +14 -16
  134. package/dist/presets/cloudflare/runtime/cloudflare-pages.d.mts +12 -12
  135. package/dist/presets/cloudflare/runtime/cloudflare-pages.mjs +40 -42
  136. package/dist/presets/cloudflare/runtime/plugin.dev.d.mts +2 -2
  137. package/dist/presets/cloudflare/runtime/plugin.dev.mjs +89 -82
  138. package/dist/presets/cloudflare/runtime/shims/workers.dev.mjs +27 -0
  139. package/dist/presets/deno/runtime/deno-deploy.d.mts +4 -0
  140. package/dist/presets/deno/runtime/deno-deploy.mjs +15 -12
  141. package/dist/presets/deno/runtime/deno-server.d.mts +0 -3
  142. package/dist/presets/deno/runtime/deno-server.mjs +32 -52
  143. package/dist/presets/netlify/runtime/netlify-edge.d.mts +2 -1
  144. package/dist/presets/netlify/runtime/netlify-edge.mjs +15 -12
  145. package/dist/presets/netlify/runtime/netlify.mjs +12 -18
  146. package/dist/presets/node/runtime/node-cluster.d.mts +3 -1
  147. package/dist/presets/node/runtime/node-cluster.mjs +50 -54
  148. package/dist/presets/node/runtime/node-middleware.d.mts +2 -3
  149. package/dist/presets/node/runtime/node-middleware.mjs +9 -8
  150. package/dist/presets/node/runtime/node-server.mjs +37 -34
  151. package/dist/presets/standard/runtime/server.d.mts +1 -3
  152. package/dist/presets/standard/runtime/server.mjs +2 -4
  153. package/dist/presets/stormkit/runtime/stormkit.d.mts +13 -13
  154. package/dist/presets/stormkit/runtime/stormkit.mjs +21 -21
  155. package/dist/presets/vercel/runtime/vercel.node.d.mts +3 -0
  156. package/dist/presets/vercel/runtime/vercel.node.mjs +15 -0
  157. package/dist/presets/vercel/runtime/{vercel.d.mts → vercel.web.d.mts} +3 -3
  158. package/dist/presets/vercel/runtime/vercel.web.mjs +20 -0
  159. package/dist/presets/winterjs/runtime/winterjs.d.mts +2 -0
  160. package/dist/presets/winterjs/runtime/winterjs.mjs +73 -69
  161. package/dist/presets/zeabur/runtime/zeabur.d.mts +1 -1
  162. package/dist/presets/zeabur/runtime/zeabur.mjs +1 -1
  163. package/dist/runtime/app.d.mts +1 -0
  164. package/dist/runtime/app.mjs +1 -0
  165. package/dist/runtime/cache.d.mts +1 -0
  166. package/dist/runtime/cache.mjs +1 -0
  167. package/dist/runtime/config.d.mts +3 -0
  168. package/dist/runtime/config.mjs +4 -0
  169. package/dist/runtime/context.d.mts +1 -0
  170. package/dist/runtime/context.mjs +1 -0
  171. package/dist/runtime/database.d.mts +1 -0
  172. package/dist/runtime/database.mjs +1 -0
  173. package/dist/runtime/internal/app.d.mts +11 -1
  174. package/dist/runtime/internal/app.mjs +188 -140
  175. package/dist/runtime/internal/cache.d.mts +9 -5
  176. package/dist/runtime/internal/cache.mjs +248 -219
  177. package/dist/runtime/internal/context.d.mts +9 -9
  178. package/dist/runtime/internal/context.mjs +17 -10
  179. package/dist/runtime/internal/database.mjs +8 -10
  180. package/dist/runtime/internal/error/dev.d.mts +5 -4
  181. package/dist/runtime/internal/error/dev.mjs +106 -105
  182. package/dist/runtime/internal/error/hooks.d.mts +1 -0
  183. package/dist/runtime/internal/error/hooks.mjs +9 -0
  184. package/dist/runtime/internal/error/prod.d.mts +5 -4
  185. package/dist/runtime/internal/error/prod.mjs +51 -59
  186. package/dist/runtime/internal/error/utils.d.mts +4 -4
  187. package/dist/runtime/internal/error/utils.mjs +1 -1
  188. package/dist/runtime/internal/meta.d.mts +1 -1
  189. package/dist/runtime/internal/meta.mjs +1 -1
  190. package/dist/runtime/internal/plugin.d.mts +2 -2
  191. package/dist/runtime/internal/plugin.mjs +1 -1
  192. package/dist/runtime/internal/route-rules.d.mts +8 -8
  193. package/dist/runtime/internal/route-rules.mjs +54 -52
  194. package/dist/runtime/internal/routes/dev-tasks.d.mts +1 -2
  195. package/dist/runtime/internal/routes/dev-tasks.mjs +16 -18
  196. package/dist/runtime/internal/routes/openapi.d.mts +1 -0
  197. package/dist/runtime/internal/routes/openapi.mjs +81 -87
  198. package/dist/runtime/internal/routes/renderer-template.d.mts +1 -1
  199. package/dist/runtime/internal/routes/renderer-template.dev.d.mts +1 -2
  200. package/dist/runtime/internal/routes/renderer-template.dev.mjs +15 -17
  201. package/dist/runtime/internal/routes/renderer-template.mjs +1 -1
  202. package/dist/runtime/internal/routes/scalar.d.mts +1 -0
  203. package/dist/runtime/internal/routes/scalar.mjs +22 -23
  204. package/dist/runtime/internal/routes/swagger.d.mts +1 -0
  205. package/dist/runtime/internal/routes/swagger.mjs +9 -11
  206. package/dist/runtime/internal/runtime-config.d.mts +4 -4
  207. package/dist/runtime/internal/runtime-config.mjs +40 -35
  208. package/dist/runtime/internal/static.mjs +63 -74
  209. package/dist/runtime/internal/storage.mjs +2 -2
  210. package/dist/runtime/internal/task.d.mts +6 -6
  211. package/dist/runtime/internal/task.mjs +56 -60
  212. package/dist/runtime/internal/vite/dev-entry.mjs +11 -1
  213. package/dist/runtime/internal/vite/dev-worker.mjs +9 -57
  214. package/dist/runtime/internal/vite/ssr-renderer.mjs +3 -1
  215. package/{lib/runtime-meta.d.mts → dist/runtime/meta.d.mts} +1 -1
  216. package/dist/runtime/meta.mjs +26 -0
  217. package/dist/runtime/nitro.d.mts +12 -0
  218. package/dist/runtime/nitro.mjs +32 -0
  219. package/dist/runtime/runtime-config.d.mts +1 -0
  220. package/dist/runtime/runtime-config.mjs +1 -0
  221. package/dist/runtime/storage.d.mts +1 -0
  222. package/dist/runtime/storage.mjs +1 -0
  223. package/dist/runtime/task.d.mts +1 -0
  224. package/dist/runtime/task.mjs +1 -0
  225. package/dist/runtime/vite-runtime.d.mts +8 -0
  226. package/dist/runtime/vite-runtime.mjs +9 -0
  227. package/dist/types/index.d.mts +2625 -2297
  228. package/dist/types/index.mjs +1 -1
  229. package/dist/vite.d.mts +49 -51
  230. package/dist/vite.mjs +44 -68
  231. package/lib/tsconfig.json +27 -0
  232. package/package.json +86 -76
  233. package/dist/_chunks/app.mjs +0 -19797
  234. package/dist/_chunks/build.mjs +0 -84
  235. package/dist/_chunks/build2.mjs +0 -318
  236. package/dist/_chunks/build3.mjs +0 -6452
  237. package/dist/_chunks/detect-acorn.mjs +0 -503
  238. package/dist/_chunks/index.mjs +0 -22242
  239. package/dist/_chunks/index2.mjs +0 -297
  240. package/dist/_chunks/index3.mjs +0 -1058
  241. package/dist/_chunks/index4.mjs +0 -1206
  242. package/dist/_chunks/info.mjs +0 -11157
  243. package/dist/_chunks/json5.mjs +0 -68
  244. package/dist/_chunks/jsonc.mjs +0 -51
  245. package/dist/_chunks/pathe.M-eThtNZ.mjs +0 -204
  246. package/dist/_chunks/plugin.mjs +0 -960
  247. package/dist/_chunks/server.mjs +0 -254
  248. package/dist/_chunks/snapshot.mjs +0 -284
  249. package/dist/_chunks/toml.mjs +0 -259
  250. package/dist/_chunks/yaml.mjs +0 -86
  251. package/dist/cli/build.mjs +0 -54
  252. package/dist/cli/common.mjs +0 -13
  253. package/dist/cli/dev.mjs +0 -95
  254. package/dist/cli/index2.mjs +0 -17
  255. package/dist/cli/list.mjs +0 -34
  256. package/dist/cli/prepare.mjs +0 -24
  257. package/dist/cli/run.mjs +0 -60
  258. package/dist/index.d.mts +0 -52
  259. package/dist/index.mjs +0 -55
  260. package/dist/node_modules/cookie/dist/index.js +0 -239
  261. package/dist/node_modules/cookie/package.json +0 -42
  262. package/dist/node_modules/klona/dist/index.mjs +0 -81
  263. package/dist/node_modules/klona/full/index.mjs +0 -53
  264. package/dist/node_modules/klona/package.json +0 -74
  265. package/dist/node_modules/std-env/dist/index.mjs +0 -1
  266. package/dist/node_modules/std-env/package.json +0 -46
  267. package/dist/presets/vercel/runtime/vercel.mjs +0 -17
  268. package/dist/presets.mjs +0 -2460
  269. package/dist/runtime/index.d.mts +0 -11
  270. package/dist/runtime/index.mjs +0 -17
  271. package/dist/runtime/internal/debug.d.mts +0 -2
  272. package/dist/runtime/internal/debug.mjs +0 -5
  273. package/dist/runtime/internal/empty.d.mts +0 -0
  274. package/dist/runtime/internal/index.d.mts +0 -3
  275. package/dist/runtime/internal/index.mjs +0 -3
  276. package/dist/runtime/internal/lib/http-graceful-shutdown.d.mts +0 -16
  277. package/dist/runtime/internal/lib/http-graceful-shutdown.mjs +0 -213
  278. package/dist/runtime/internal/renderer.d.mts +0 -3
  279. package/dist/runtime/internal/renderer.mjs +0 -36
  280. package/dist/runtime/internal/shutdown.d.mts +0 -9
  281. package/dist/runtime/internal/shutdown.mjs +0 -34
  282. package/dist/runtime/internal/utils.d.mts +0 -1
  283. package/dist/runtime/internal/utils.mjs +0 -15
  284. package/dist/runtime/internal/vite/dev-entry.d.mts +0 -1
  285. package/dist/runtime/internal/vite/dev-worker.d.mts +0 -1
  286. package/dist/runtime/internal/vite/prod-setup.d.mts +0 -4
  287. package/dist/runtime/internal/vite/prod-setup.mjs +0 -55
  288. package/dist/runtime/internal/vite/ssr-renderer.d.mts +0 -4
  289. package/lib/config.d.mts +0 -9
  290. package/lib/config.mjs +0 -5
  291. package/lib/meta.d.mts +0 -5
  292. package/lib/meta.mjs +0 -21
  293. package/lib/runtime-meta.mjs +0 -38
@@ -0,0 +1,104 @@
1
+ import { t as MagicString } from "./magic-string.mjs";
2
+ import { r as createFilter } from "./plugin-commonjs.mjs";
3
+
4
+ //#region node_modules/.pnpm/@rollup+plugin-replace@6.0.3_rollup@4.53.2/node_modules/@rollup/plugin-replace/dist/es/index.js
5
+ function escape(str) {
6
+ return str.replace(/[-[\]/{}()*+?.\\^$|]/g, "\\$&");
7
+ }
8
+ function ensureFunction(functionOrValue) {
9
+ if (typeof functionOrValue === "function") return functionOrValue;
10
+ return function() {
11
+ return functionOrValue;
12
+ };
13
+ }
14
+ function longest(a, b) {
15
+ return b.length - a.length;
16
+ }
17
+ function getReplacements(options) {
18
+ if (options.values) return Object.assign({}, options.values);
19
+ var values = Object.assign({}, options);
20
+ delete values.delimiters;
21
+ delete values.include;
22
+ delete values.exclude;
23
+ delete values.sourcemap;
24
+ delete values.sourceMap;
25
+ delete values.objectGuards;
26
+ delete values.preventAssignment;
27
+ return values;
28
+ }
29
+ function mapToFunctions(object) {
30
+ return Object.keys(object).reduce(function(fns, key) {
31
+ var functions = Object.assign({}, fns);
32
+ functions[key] = ensureFunction(object[key]);
33
+ return functions;
34
+ }, {});
35
+ }
36
+ var objKeyRegEx = /^([_$a-zA-Z\xA0-\uFFFF][_$a-zA-Z0-9\xA0-\uFFFF]*)(\.([_$a-zA-Z\xA0-\uFFFF][_$a-zA-Z0-9\xA0-\uFFFF]*))+$/;
37
+ function expandTypeofReplacements(replacements) {
38
+ Object.keys(replacements).forEach(function(key) {
39
+ var objMatch = key.match(objKeyRegEx);
40
+ if (!objMatch) return;
41
+ var dotIndex = objMatch[1].length;
42
+ do {
43
+ replacements["typeof " + key.slice(0, dotIndex)] = "\"object\"";
44
+ dotIndex = key.indexOf(".", dotIndex + 1);
45
+ } while (dotIndex !== -1);
46
+ });
47
+ }
48
+ function replace(options) {
49
+ if (options === void 0) options = {};
50
+ var filter = createFilter(options.include, options.exclude);
51
+ var delimiters = options.delimiters;
52
+ if (delimiters === void 0) delimiters = ["(?<![_$a-zA-Z0-9\\xA0-\\uFFFF])", "(?![_$a-zA-Z0-9\\xA0-\\uFFFF])(?!\\.)"];
53
+ var preventAssignment = options.preventAssignment;
54
+ var objectGuards = options.objectGuards;
55
+ var replacements = getReplacements(options);
56
+ if (objectGuards) expandTypeofReplacements(replacements);
57
+ var functionValues = mapToFunctions(replacements);
58
+ var keys = Object.keys(functionValues).sort(longest).map(escape);
59
+ var lookbehind = preventAssignment ? "(?<!\\b(?:const|let|var)\\s*)" : "";
60
+ var lookahead = preventAssignment ? "(?!\\s*=[^=])" : "";
61
+ var pattern = new RegExp("" + lookbehind + delimiters[0] + "(" + keys.join("|") + ")" + delimiters[1] + lookahead, "g");
62
+ return {
63
+ name: "replace",
64
+ buildStart: function buildStart() {
65
+ if (![true, false].includes(preventAssignment)) this.warn({ message: "@rollup/plugin-replace: 'preventAssignment' currently defaults to false. It is recommended to set this option to `true`, as the next major version will default this option to `true`." });
66
+ },
67
+ renderChunk: function renderChunk(code, chunk) {
68
+ var id = chunk.fileName;
69
+ if (!keys.length) return null;
70
+ if (!filter(id)) return null;
71
+ return executeReplacement(code, id);
72
+ },
73
+ transform: function transform(code, id) {
74
+ if (!keys.length) return null;
75
+ if (!filter(id)) return null;
76
+ return executeReplacement(code, id);
77
+ }
78
+ };
79
+ function executeReplacement(code, id) {
80
+ var magicString = new MagicString(code);
81
+ if (!codeHasReplacements(code, id, magicString)) return null;
82
+ var result = { code: magicString.toString() };
83
+ if (isSourceMapEnabled()) result.map = magicString.generateMap({ hires: true });
84
+ return result;
85
+ }
86
+ function codeHasReplacements(code, id, magicString) {
87
+ var result = false;
88
+ var match;
89
+ while (match = pattern.exec(code)) {
90
+ result = true;
91
+ var start = match.index;
92
+ var end = start + match[0].length;
93
+ var replacement = String(functionValues[match[1]](id));
94
+ magicString.overwrite(start, end, replacement);
95
+ }
96
+ return result;
97
+ }
98
+ function isSourceMapEnabled() {
99
+ return options.sourceMap !== false && options.sourcemap !== false;
100
+ }
101
+ }
102
+
103
+ //#endregion
104
+ export { replace as t };
@@ -0,0 +1,116 @@
1
+ //#region node_modules/.pnpm/pretty-bytes@7.1.0/node_modules/pretty-bytes/index.js
2
+ const BYTE_UNITS = [
3
+ "B",
4
+ "kB",
5
+ "MB",
6
+ "GB",
7
+ "TB",
8
+ "PB",
9
+ "EB",
10
+ "ZB",
11
+ "YB"
12
+ ];
13
+ const BIBYTE_UNITS = [
14
+ "B",
15
+ "KiB",
16
+ "MiB",
17
+ "GiB",
18
+ "TiB",
19
+ "PiB",
20
+ "EiB",
21
+ "ZiB",
22
+ "YiB"
23
+ ];
24
+ const BIT_UNITS = [
25
+ "b",
26
+ "kbit",
27
+ "Mbit",
28
+ "Gbit",
29
+ "Tbit",
30
+ "Pbit",
31
+ "Ebit",
32
+ "Zbit",
33
+ "Ybit"
34
+ ];
35
+ const BIBIT_UNITS = [
36
+ "b",
37
+ "kibit",
38
+ "Mibit",
39
+ "Gibit",
40
+ "Tibit",
41
+ "Pibit",
42
+ "Eibit",
43
+ "Zibit",
44
+ "Yibit"
45
+ ];
46
+ const toLocaleString = (number, locale, options) => {
47
+ let result = number;
48
+ if (typeof locale === "string" || Array.isArray(locale)) result = number.toLocaleString(locale, options);
49
+ else if (locale === true || options !== void 0) result = number.toLocaleString(void 0, options);
50
+ return result;
51
+ };
52
+ const log10 = (numberOrBigInt) => {
53
+ if (typeof numberOrBigInt === "number") return Math.log10(numberOrBigInt);
54
+ const string = numberOrBigInt.toString(10);
55
+ return string.length + Math.log10(`0.${string.slice(0, 15)}`);
56
+ };
57
+ const log = (numberOrBigInt) => {
58
+ if (typeof numberOrBigInt === "number") return Math.log(numberOrBigInt);
59
+ return log10(numberOrBigInt) * Math.log(10);
60
+ };
61
+ const divide = (numberOrBigInt, divisor) => {
62
+ if (typeof numberOrBigInt === "number") return numberOrBigInt / divisor;
63
+ const integerPart = numberOrBigInt / BigInt(divisor);
64
+ const remainder = numberOrBigInt % BigInt(divisor);
65
+ return Number(integerPart) + Number(remainder) / divisor;
66
+ };
67
+ const applyFixedWidth = (result, fixedWidth) => {
68
+ if (fixedWidth === void 0) return result;
69
+ if (typeof fixedWidth !== "number" || !Number.isSafeInteger(fixedWidth) || fixedWidth < 0) throw new TypeError(`Expected fixedWidth to be a non-negative integer, got ${typeof fixedWidth}: ${fixedWidth}`);
70
+ if (fixedWidth === 0) return result;
71
+ return result.length < fixedWidth ? result.padStart(fixedWidth, " ") : result;
72
+ };
73
+ const buildLocaleOptions = (options) => {
74
+ const { minimumFractionDigits, maximumFractionDigits } = options;
75
+ if (minimumFractionDigits === void 0 && maximumFractionDigits === void 0) return;
76
+ return {
77
+ ...minimumFractionDigits !== void 0 && { minimumFractionDigits },
78
+ ...maximumFractionDigits !== void 0 && { maximumFractionDigits },
79
+ roundingMode: "trunc"
80
+ };
81
+ };
82
+ function prettyBytes(number, options) {
83
+ if (typeof number !== "bigint" && !Number.isFinite(number)) throw new TypeError(`Expected a finite number, got ${typeof number}: ${number}`);
84
+ options = {
85
+ bits: false,
86
+ binary: false,
87
+ space: true,
88
+ nonBreakingSpace: false,
89
+ ...options
90
+ };
91
+ const UNITS = options.bits ? options.binary ? BIBIT_UNITS : BIT_UNITS : options.binary ? BIBYTE_UNITS : BYTE_UNITS;
92
+ const separator = options.space ? options.nonBreakingSpace ? "\xA0" : " " : "";
93
+ const isZero = typeof number === "number" ? number === 0 : number === 0n;
94
+ if (options.signed && isZero) return applyFixedWidth(` 0${separator}${UNITS[0]}`, options.fixedWidth);
95
+ const isNegative = number < 0;
96
+ const prefix = isNegative ? "-" : options.signed ? "+" : "";
97
+ if (isNegative) number = -number;
98
+ const localeOptions = buildLocaleOptions(options);
99
+ let result;
100
+ if (number < 1) result = prefix + toLocaleString(number, options.locale, localeOptions) + separator + UNITS[0];
101
+ else {
102
+ const exponent = Math.min(Math.floor(options.binary ? log(number) / Math.log(1024) : log10(number) / 3), UNITS.length - 1);
103
+ number = divide(number, (options.binary ? 1024 : 1e3) ** exponent);
104
+ if (!localeOptions) {
105
+ const minPrecision = Math.max(3, Math.floor(number).toString().length);
106
+ number = number.toPrecision(minPrecision);
107
+ }
108
+ const numberString = toLocaleString(Number(number), options.locale, localeOptions);
109
+ const unit = UNITS[exponent];
110
+ result = prefix + numberString + separator + unit;
111
+ }
112
+ return applyFixedWidth(result, options.fixedWidth);
113
+ }
114
+
115
+ //#endregion
116
+ export { prettyBytes as t };
@@ -0,0 +1,117 @@
1
+ import { a as toDecodedMap, c as decodedMappings, i as setSourceContent, l as traceSegment, n as maybeAddSegment, o as toEncodedMap, r as setIgnore, s as TraceMap, t as GenMapping } from "./gen-mapping.mjs";
2
+
3
+ //#region node_modules/.pnpm/@jridgewell+remapping@2.3.5/node_modules/@jridgewell/remapping/dist/remapping.mjs
4
+ var SOURCELESS_MAPPING = /* @__PURE__ */ SegmentObject("", -1, -1, "", null, false);
5
+ var EMPTY_SOURCES = [];
6
+ function SegmentObject(source, line, column, name, content, ignore) {
7
+ return {
8
+ source,
9
+ line,
10
+ column,
11
+ name,
12
+ content,
13
+ ignore
14
+ };
15
+ }
16
+ function Source(map, sources, source, content, ignore) {
17
+ return {
18
+ map,
19
+ sources,
20
+ source,
21
+ content,
22
+ ignore
23
+ };
24
+ }
25
+ function MapSource(map, sources) {
26
+ return Source(map, sources, "", null, false);
27
+ }
28
+ function OriginalSource(source, content, ignore) {
29
+ return Source(null, EMPTY_SOURCES, source, content, ignore);
30
+ }
31
+ function traceMappings(tree) {
32
+ const gen = new GenMapping({ file: tree.map.file });
33
+ const { sources: rootSources, map } = tree;
34
+ const rootNames = map.names;
35
+ const rootMappings = decodedMappings(map);
36
+ for (let i = 0; i < rootMappings.length; i++) {
37
+ const segments = rootMappings[i];
38
+ for (let j = 0; j < segments.length; j++) {
39
+ const segment = segments[j];
40
+ const genCol = segment[0];
41
+ let traced = SOURCELESS_MAPPING;
42
+ if (segment.length !== 1) {
43
+ const source2 = rootSources[segment[1]];
44
+ traced = originalPositionFor(source2, segment[2], segment[3], segment.length === 5 ? rootNames[segment[4]] : "");
45
+ if (traced == null) continue;
46
+ }
47
+ const { column, line, name, content, source, ignore } = traced;
48
+ maybeAddSegment(gen, i, genCol, source, line, column, name);
49
+ if (source && content != null) setSourceContent(gen, source, content);
50
+ if (ignore) setIgnore(gen, source, true);
51
+ }
52
+ }
53
+ return gen;
54
+ }
55
+ function originalPositionFor(source, line, column, name) {
56
+ if (!source.map) return SegmentObject(source.source, line, column, name, source.content, source.ignore);
57
+ const segment = traceSegment(source.map, line, column);
58
+ if (segment == null) return null;
59
+ if (segment.length === 1) return SOURCELESS_MAPPING;
60
+ return originalPositionFor(source.sources[segment[1]], segment[2], segment[3], segment.length === 5 ? source.map.names[segment[4]] : name);
61
+ }
62
+ function asArray(value) {
63
+ if (Array.isArray(value)) return value;
64
+ return [value];
65
+ }
66
+ function buildSourceMapTree(input, loader) {
67
+ const maps = asArray(input).map((m) => new TraceMap(m, ""));
68
+ const map = maps.pop();
69
+ for (let i = 0; i < maps.length; i++) if (maps[i].sources.length > 1) throw new Error(`Transformation map ${i} must have exactly one source file.
70
+ Did you specify these with the most recent transformation maps first?`);
71
+ let tree = build(map, loader, "", 0);
72
+ for (let i = maps.length - 1; i >= 0; i--) tree = MapSource(maps[i], [tree]);
73
+ return tree;
74
+ }
75
+ function build(map, loader, importer, importerDepth) {
76
+ const { resolvedSources, sourcesContent, ignoreList } = map;
77
+ const depth = importerDepth + 1;
78
+ return MapSource(map, resolvedSources.map((sourceFile, i) => {
79
+ const ctx = {
80
+ importer,
81
+ depth,
82
+ source: sourceFile || "",
83
+ content: void 0,
84
+ ignore: void 0
85
+ };
86
+ const sourceMap = loader(ctx.source, ctx);
87
+ const { source, content, ignore } = ctx;
88
+ if (sourceMap) return build(new TraceMap(sourceMap, source), loader, source, depth);
89
+ return OriginalSource(source, content !== void 0 ? content : sourcesContent ? sourcesContent[i] : null, ignore !== void 0 ? ignore : ignoreList ? ignoreList.includes(i) : false);
90
+ }));
91
+ }
92
+ var SourceMap = class {
93
+ constructor(map, options) {
94
+ const out = options.decodedMappings ? toDecodedMap(map) : toEncodedMap(map);
95
+ this.version = out.version;
96
+ this.file = out.file;
97
+ this.mappings = out.mappings;
98
+ this.names = out.names;
99
+ this.ignoreList = out.ignoreList;
100
+ this.sourceRoot = out.sourceRoot;
101
+ this.sources = out.sources;
102
+ if (!options.excludeContent) this.sourcesContent = out.sourcesContent;
103
+ }
104
+ toString() {
105
+ return JSON.stringify(this);
106
+ }
107
+ };
108
+ function remapping(input, loader, options) {
109
+ const opts = typeof options === "object" ? options : {
110
+ excludeContent: !!options,
111
+ decodedMappings: false
112
+ };
113
+ return new SourceMap(traceMappings(buildSourceMapTree(input, loader)), opts);
114
+ }
115
+
116
+ //#endregion
117
+ export { remapping as t };
@@ -0,0 +1,319 @@
1
+ //#region node_modules/.pnpm/rou3@0.7.10/node_modules/rou3/dist/index.mjs
2
+ const NullProtoObj = /* @__PURE__ */ (() => {
3
+ const e = function() {};
4
+ return e.prototype = Object.create(null), Object.freeze(e.prototype), e;
5
+ })();
6
+ /**
7
+ * Create a new router context.
8
+ */
9
+ function createRouter() {
10
+ return {
11
+ root: { key: "" },
12
+ static: new NullProtoObj()
13
+ };
14
+ }
15
+ function splitPath(path) {
16
+ const [_, ...s] = path.split("/");
17
+ return s[s.length - 1] === "" ? s.slice(0, -1) : s;
18
+ }
19
+ function getMatchParams(segments, paramsMap) {
20
+ const params = new NullProtoObj();
21
+ for (const [index, name] of paramsMap) {
22
+ const segment = index < 0 ? segments.slice(-1 * index).join("/") : segments[index];
23
+ if (typeof name === "string") params[name] = segment;
24
+ else {
25
+ const match = segment.match(name);
26
+ if (match) for (const key in match.groups) params[key] = match.groups[key];
27
+ }
28
+ }
29
+ return params;
30
+ }
31
+ /**
32
+ * Add a route to the router context.
33
+ */
34
+ function addRoute(ctx, method = "", path, data) {
35
+ method = method.toUpperCase();
36
+ if (path.charCodeAt(0) !== 47) path = `/${path}`;
37
+ const segments = splitPath(path);
38
+ let node = ctx.root;
39
+ let _unnamedParamIndex = 0;
40
+ const paramsMap = [];
41
+ const paramsRegexp = [];
42
+ for (let i = 0; i < segments.length; i++) {
43
+ const segment = segments[i];
44
+ if (segment.startsWith("**")) {
45
+ if (!node.wildcard) node.wildcard = { key: "**" };
46
+ node = node.wildcard;
47
+ paramsMap.push([
48
+ -i,
49
+ segment.split(":")[1] || "_",
50
+ segment.length === 2
51
+ ]);
52
+ break;
53
+ }
54
+ if (segment === "*" || segment.includes(":")) {
55
+ if (!node.param) node.param = { key: "*" };
56
+ node = node.param;
57
+ if (segment === "*") paramsMap.push([
58
+ i,
59
+ `_${_unnamedParamIndex++}`,
60
+ true
61
+ ]);
62
+ else if (segment.includes(":", 1)) {
63
+ const regexp = getParamRegexp(segment);
64
+ paramsRegexp[i] = regexp;
65
+ node.hasRegexParam = true;
66
+ paramsMap.push([
67
+ i,
68
+ regexp,
69
+ false
70
+ ]);
71
+ } else paramsMap.push([
72
+ i,
73
+ segment.slice(1),
74
+ false
75
+ ]);
76
+ continue;
77
+ }
78
+ const child = node.static?.[segment];
79
+ if (child) node = child;
80
+ else {
81
+ const staticNode = { key: segment };
82
+ if (!node.static) node.static = new NullProtoObj();
83
+ node.static[segment] = staticNode;
84
+ node = staticNode;
85
+ }
86
+ }
87
+ const hasParams = paramsMap.length > 0;
88
+ if (!node.methods) node.methods = new NullProtoObj();
89
+ node.methods[method] ??= [];
90
+ node.methods[method].push({
91
+ data: data || null,
92
+ paramsRegexp,
93
+ paramsMap: hasParams ? paramsMap : void 0
94
+ });
95
+ if (!hasParams) ctx.static[path] = node;
96
+ }
97
+ function getParamRegexp(segment) {
98
+ const regex = segment.replace(/:(\w+)/g, (_, id) => `(?<${id}>[^/]+)`).replace(/\./g, "\\.");
99
+ return /* @__PURE__ */ new RegExp(`^${regex}$`);
100
+ }
101
+ /**
102
+ * Find a route by path.
103
+ */
104
+ function findRoute(ctx, method = "", path, opts) {
105
+ if (path.charCodeAt(path.length - 1) === 47) path = path.slice(0, -1);
106
+ const staticNode = ctx.static[path];
107
+ if (staticNode && staticNode.methods) {
108
+ const staticMatch = staticNode.methods[method] || staticNode.methods[""];
109
+ if (staticMatch !== void 0) return staticMatch[0];
110
+ }
111
+ const segments = splitPath(path);
112
+ const match = _lookupTree(ctx, ctx.root, method, segments, 0)?.[0];
113
+ if (match === void 0) return;
114
+ if (opts?.params === false) return match;
115
+ return {
116
+ data: match.data,
117
+ params: match.paramsMap ? getMatchParams(segments, match.paramsMap) : void 0
118
+ };
119
+ }
120
+ function _lookupTree(ctx, node, method, segments, index) {
121
+ if (index === segments.length) {
122
+ if (node.methods) {
123
+ const match = node.methods[method] || node.methods[""];
124
+ if (match) return match;
125
+ }
126
+ if (node.param && node.param.methods) {
127
+ const match = node.param.methods[method] || node.param.methods[""];
128
+ if (match) {
129
+ const pMap = match[0].paramsMap;
130
+ if (pMap?.[pMap?.length - 1]?.[2]) return match;
131
+ }
132
+ }
133
+ if (node.wildcard && node.wildcard.methods) {
134
+ const match = node.wildcard.methods[method] || node.wildcard.methods[""];
135
+ if (match) {
136
+ const pMap = match[0].paramsMap;
137
+ if (pMap?.[pMap?.length - 1]?.[2]) return match;
138
+ }
139
+ }
140
+ return;
141
+ }
142
+ const segment = segments[index];
143
+ if (node.static) {
144
+ const staticChild = node.static[segment];
145
+ if (staticChild) {
146
+ const match = _lookupTree(ctx, staticChild, method, segments, index + 1);
147
+ if (match) return match;
148
+ }
149
+ }
150
+ if (node.param) {
151
+ const match = _lookupTree(ctx, node.param, method, segments, index + 1);
152
+ if (match) {
153
+ if (node.param.hasRegexParam) {
154
+ const exactMatch = match.find((m) => m.paramsRegexp[index]?.test(segment)) || match.find((m) => !m.paramsRegexp[index]);
155
+ return exactMatch ? [exactMatch] : void 0;
156
+ }
157
+ return match;
158
+ }
159
+ }
160
+ if (node.wildcard && node.wildcard.methods) return node.wildcard.methods[method] || node.wildcard.methods[""];
161
+ }
162
+ /**
163
+ * Find all route patterns that match the given path.
164
+ */
165
+ function findAllRoutes(ctx, method = "", path, opts) {
166
+ if (path.charCodeAt(path.length - 1) === 47) path = path.slice(0, -1);
167
+ const segments = splitPath(path);
168
+ const matches = _findAll(ctx, ctx.root, method, segments, 0);
169
+ if (opts?.params === false) return matches;
170
+ return matches.map((m) => {
171
+ return {
172
+ data: m.data,
173
+ params: m.paramsMap ? getMatchParams(segments, m.paramsMap) : void 0
174
+ };
175
+ });
176
+ }
177
+ function _findAll(ctx, node, method, segments, index, matches = []) {
178
+ const segment = segments[index];
179
+ if (node.wildcard && node.wildcard.methods) {
180
+ const match = node.wildcard.methods[method] || node.wildcard.methods[""];
181
+ if (match) matches.push(...match);
182
+ }
183
+ if (node.param) {
184
+ _findAll(ctx, node.param, method, segments, index + 1, matches);
185
+ if (index === segments.length && node.param.methods) {
186
+ const match = node.param.methods[method] || node.param.methods[""];
187
+ if (match) {
188
+ const pMap = match[0].paramsMap;
189
+ if (pMap?.[pMap?.length - 1]?.[2]) matches.push(...match);
190
+ }
191
+ }
192
+ }
193
+ const staticChild = node.static?.[segment];
194
+ if (staticChild) _findAll(ctx, staticChild, method, segments, index + 1, matches);
195
+ if (index === segments.length && node.methods) {
196
+ const match = node.methods[method] || node.methods[""];
197
+ if (match) matches.push(...match);
198
+ }
199
+ return matches;
200
+ }
201
+
202
+ //#endregion
203
+ //#region node_modules/.pnpm/rou3@0.7.10/node_modules/rou3/dist/compiler.mjs
204
+ /**
205
+ * Compile the router instance into a compact runnable code.
206
+ *
207
+ * **IMPORTANT:** Route data must be serializable to JSON (i.e., no functions or classes) or implement the `toJSON()` method to render custom code or you can pass custom `serialize` function in options.
208
+ *
209
+ * @example
210
+ * import { createRouter, addRoute } from "rou3";
211
+ * import { compileRouterToString } from "rou3/compiler";
212
+ * const router = createRouter();
213
+ * // [add some routes with serializable data]
214
+ * const compilerCode = compileRouterToString(router, "findRoute");
215
+ * // "const findRoute=(m, p) => {}"
216
+ */
217
+ function compileRouterToString(router, functionName, opts) {
218
+ const ctx = {
219
+ opts: opts || {},
220
+ router,
221
+ data: [],
222
+ compileToString: true
223
+ };
224
+ let compiled = `(m,p)=>{${compileRouteMatch(ctx)}}`;
225
+ if (ctx.data.length > 0) compiled = `/* @__PURE__ */ (() => { ${`const ${ctx.data.map((v, i) => `$${i}=${v}`).join(",")};`}; return ${compiled}})()`;
226
+ return functionName ? `const ${functionName}=${compiled};` : compiled;
227
+ }
228
+ function compileRouteMatch(ctx) {
229
+ let code = "";
230
+ const staticNodes = /* @__PURE__ */ new Set();
231
+ for (const key in ctx.router.static) {
232
+ const node = ctx.router.static[key];
233
+ if (node?.methods) {
234
+ staticNodes.add(node);
235
+ code += `if(p===${JSON.stringify(key.replace(/\/$/, "") || "/")}){${compileMethodMatch(ctx, node.methods, [], -1)}}`;
236
+ }
237
+ }
238
+ const match = compileNode(ctx, ctx.router.root, [], 0, staticNodes);
239
+ if (match) code += `let s=p.split("/"),l=s.length-1;${match}`;
240
+ if (!code) return ctx.opts?.matchAll ? `return [];` : "";
241
+ return `${ctx.opts?.matchAll ? `let r=[];` : ""}if(p.charCodeAt(p.length-1)===47)p=p.slice(0,-1)||"/";${code}${ctx.opts?.matchAll ? "return r;" : ""}`;
242
+ }
243
+ function compileMethodMatch(ctx, methods, params, currentIdx) {
244
+ let code = "";
245
+ for (const key in methods) {
246
+ const matchers = methods[key];
247
+ if (matchers && matchers?.length > 0) {
248
+ if (key !== "") code += `if(m==="${key}")${matchers.length > 1 ? "{" : ""}`;
249
+ const _matchers = matchers.map((m) => compileFinalMatch(ctx, m, currentIdx, params)).sort((a, b) => b.weight - a.weight);
250
+ for (const matcher of _matchers) code += matcher.code;
251
+ if (key !== "") code += matchers.length > 1 ? "}" : "";
252
+ }
253
+ }
254
+ return code;
255
+ }
256
+ function compileFinalMatch(ctx, data, currentIdx, params) {
257
+ let ret = `{data:${serializeData(ctx, data.data)}`;
258
+ const conditions = [];
259
+ const { paramsMap, paramsRegexp } = data;
260
+ if (paramsMap && paramsMap.length > 0) {
261
+ if (!paramsMap[paramsMap.length - 1][2] && currentIdx !== -1) conditions.push(`l>=${currentIdx}`);
262
+ for (let i = 0; i < paramsRegexp.length; i++) {
263
+ const regexp = paramsRegexp[i];
264
+ if (!regexp) continue;
265
+ conditions.push(`${regexp.toString()}.test(s[${i + 1}])`);
266
+ }
267
+ ret += ",params:{";
268
+ for (let i = 0; i < paramsMap.length; i++) {
269
+ const map = paramsMap[i];
270
+ ret += typeof map[1] === "string" ? `${JSON.stringify(map[1])}:${params[i]},` : `...(${map[1].toString()}.exec(${params[i]}))?.groups,`;
271
+ }
272
+ ret += "}";
273
+ }
274
+ return {
275
+ code: (conditions.length > 0 ? `if(${conditions.join("&&")})` : "") + (ctx.opts?.matchAll ? `r.unshift(${ret}});` : `return ${ret}};`),
276
+ weight: conditions.length
277
+ };
278
+ }
279
+ function compileNode(ctx, node, params, startIdx, staticNodes) {
280
+ let code = "";
281
+ if (node.methods && !staticNodes.has(node)) {
282
+ const match = compileMethodMatch(ctx, node.methods, params, node.key === "*" ? startIdx : -1);
283
+ if (match) {
284
+ const hasLastOptionalParam = node.key === "*";
285
+ code += `if(l===${startIdx}${hasLastOptionalParam ? `||l===${startIdx - 1}` : ""}){${match}}`;
286
+ }
287
+ }
288
+ if (node.static) for (const key in node.static) {
289
+ const match = compileNode(ctx, node.static[key], params, startIdx + 1, staticNodes);
290
+ if (match) code += `if(s[${startIdx + 1}]===${JSON.stringify(key)}){${match}}`;
291
+ }
292
+ if (node.param) {
293
+ const match = compileNode(ctx, node.param, [...params, `s[${startIdx + 1}]`], startIdx + 1, staticNodes);
294
+ if (match) code += match;
295
+ }
296
+ if (node.wildcard) {
297
+ const { wildcard } = node;
298
+ if (wildcard.static || wildcard.param || wildcard.wildcard) throw new Error("Compiler mode does not support patterns after wildcard");
299
+ if (wildcard.methods) {
300
+ const match = compileMethodMatch(ctx, wildcard.methods, [...params, `s.slice(${startIdx + 1}).join('/')`], startIdx);
301
+ if (match) code += match;
302
+ }
303
+ }
304
+ return code;
305
+ }
306
+ function serializeData(ctx, value) {
307
+ if (ctx.compileToString) if (ctx.opts?.serialize) value = ctx.opts.serialize(value);
308
+ else if (typeof value?.toJSON === "function") value = value.toJSON();
309
+ else value = JSON.stringify(value);
310
+ let index = ctx.data.indexOf(value);
311
+ if (index === -1) {
312
+ ctx.data.push(value);
313
+ index = ctx.data.length - 1;
314
+ }
315
+ return `$${index}`;
316
+ }
317
+
318
+ //#endregion
319
+ export { findRoute as a, findAllRoutes as i, addRoute as n, createRouter as r, compileRouterToString as t };