@farm.js/core 0.1.17 → 0.1.19

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 (269) hide show
  1. package/dist/after.cjs +12 -225
  2. package/dist/agent-runtime.cjs +83 -2800
  3. package/dist/api/client.cjs +17 -4060
  4. package/dist/api/route-manager.cjs +34 -4354
  5. package/dist/api/runtime.cjs +29 -2696
  6. package/dist/api.cjs +88 -8434
  7. package/dist/app-markdown.cjs +39 -280
  8. package/dist/app-markdown.mjs +3 -3
  9. package/dist/cache.cjs +38 -1560
  10. package/dist/chunk-22GUSVNJ.cjs +351 -0
  11. package/dist/{chunk-EN7WTEAY.mjs → chunk-2ANEVVF7.mjs} +1 -1
  12. package/dist/chunk-2CQ74SP6.cjs +13 -0
  13. package/dist/{chunk-YD4J4XCI.mjs → chunk-2GNATDDE.mjs} +1 -1
  14. package/dist/chunk-2SJ4RQ6P.cjs +57 -0
  15. package/dist/chunk-3376ZTRC.cjs +1 -0
  16. package/dist/chunk-4PNUXIVU.cjs +472 -0
  17. package/dist/chunk-4PPEPOZZ.cjs +21 -0
  18. package/dist/chunk-4ZFL5GFN.cjs +520 -0
  19. package/dist/chunk-5OVTOKGH.cjs +65 -0
  20. package/dist/chunk-5QIKR7RR.cjs +224 -0
  21. package/dist/chunk-5ZSWG4UX.cjs +127 -0
  22. package/dist/chunk-62YJ2IEB.cjs +238 -0
  23. package/dist/chunk-6EODJYCX.cjs +183 -0
  24. package/dist/chunk-6EXBPJ24.cjs +434 -0
  25. package/dist/chunk-6QQDAAAZ.cjs +38 -0
  26. package/dist/chunk-6V4TDWEC.cjs +455 -0
  27. package/dist/chunk-72ADZ6GQ.cjs +19 -0
  28. package/dist/chunk-75BRBIFP.cjs +172 -0
  29. package/dist/{chunk-ZCNJKLA2.mjs → chunk-7BC6GAL7.mjs} +1 -1
  30. package/dist/chunk-7W3CPVXS.cjs +24 -0
  31. package/dist/chunk-A6WIQH5Z.cjs +31 -0
  32. package/dist/chunk-A777V5WU.cjs +725 -0
  33. package/dist/chunk-AFOD3LYZ.cjs +377 -0
  34. package/dist/chunk-AH7HOAQ3.cjs +151 -0
  35. package/dist/chunk-AMDMVWMI.cjs +39 -0
  36. package/dist/chunk-AORPIPNB.cjs +552 -0
  37. package/dist/chunk-ARJWXNQL.cjs +256 -0
  38. package/dist/chunk-AYJR42WX.cjs +711 -0
  39. package/dist/chunk-BBVSJVBZ.cjs +600 -0
  40. package/dist/chunk-BIDYX3SL.cjs +91 -0
  41. package/dist/chunk-BYODCJD6.cjs +663 -0
  42. package/dist/chunk-C3VRMB6H.cjs +85 -0
  43. package/dist/chunk-C5GUTBZK.cjs +173 -0
  44. package/dist/chunk-CIAGU2X4.cjs +337 -0
  45. package/dist/chunk-CMGMGHUZ.cjs +27 -0
  46. package/dist/chunk-CXP5U3RW.cjs +54 -0
  47. package/dist/chunk-D2ULAULS.cjs +166 -0
  48. package/dist/chunk-D7JTOLFK.cjs +285 -0
  49. package/dist/chunk-DVM4FKZL.cjs +169 -0
  50. package/dist/chunk-DYEJQTDN.cjs +49 -0
  51. package/dist/chunk-E2ROOWQC.cjs +2225 -0
  52. package/dist/chunk-E3UK5IIB.cjs +593 -0
  53. package/dist/chunk-EM6SBQKM.cjs +470 -0
  54. package/dist/chunk-FJSWYIR7.cjs +482 -0
  55. package/dist/chunk-FK6GO24V.cjs +54 -0
  56. package/dist/{chunk-MVIWBEJF.mjs → chunk-FVZGEVTO.mjs} +7 -7
  57. package/dist/chunk-FXUUWYAX.cjs +654 -0
  58. package/dist/chunk-G3HRIVEY.cjs +395 -0
  59. package/dist/chunk-G643DQCH.cjs +13 -0
  60. package/dist/chunk-G7HXGLEC.cjs +175 -0
  61. package/dist/chunk-GDSHDTJ4.cjs +152 -0
  62. package/dist/chunk-GPVTX3HT.cjs +1415 -0
  63. package/dist/chunk-H6G5INWM.cjs +1094 -0
  64. package/dist/{chunk-DHDVMXYK.mjs → chunk-HALDNTIV.mjs} +30 -4
  65. package/dist/chunk-HBTUGXHS.cjs +180 -0
  66. package/dist/chunk-HREOKQWT.cjs +45 -0
  67. package/dist/{chunk-5QOEPUYE.mjs → chunk-HSDL2AUR.mjs} +1 -1
  68. package/dist/chunk-I4J452B7.cjs +435 -0
  69. package/dist/chunk-I57LW5VZ.cjs +94 -0
  70. package/dist/chunk-I5YBCWQ6.cjs +40 -0
  71. package/dist/chunk-I7PUUDGY.cjs +389 -0
  72. package/dist/chunk-IAMRBF3Z.cjs +86 -0
  73. package/dist/chunk-IQXFRNY2.cjs +169 -0
  74. package/dist/chunk-ISTFC3MZ.cjs +1357 -0
  75. package/dist/chunk-IXTFU4PL.cjs +2355 -0
  76. package/dist/chunk-J3LOGE4T.cjs +42 -0
  77. package/dist/chunk-J7FSKED3.cjs +93 -0
  78. package/dist/chunk-JDNHKPTD.cjs +22 -0
  79. package/dist/chunk-JSROZYYO.cjs +164 -0
  80. package/dist/chunk-K6FNHVDR.cjs +696 -0
  81. package/dist/chunk-KGZIORNL.cjs +43 -0
  82. package/dist/chunk-KR6CKSXT.cjs +15 -0
  83. package/dist/chunk-KROWKCUH.cjs +185 -0
  84. package/dist/chunk-KVFPGF2M.cjs +46 -0
  85. package/dist/{chunk-TNBAYAWO.mjs → chunk-L4DVIHOC.mjs} +1 -1
  86. package/dist/chunk-LCCBO7PJ.cjs +46 -0
  87. package/dist/chunk-LIUGYUX3.cjs +22 -0
  88. package/dist/chunk-LTNGXMQ6.cjs +55 -0
  89. package/dist/chunk-M2L4MYDQ.cjs +14 -0
  90. package/dist/chunk-MCJLA63J.cjs +1 -0
  91. package/dist/chunk-MKB2EGIR.cjs +148 -0
  92. package/dist/chunk-MQ3H6LT5.cjs +202 -0
  93. package/dist/chunk-MT763TDW.cjs +43 -0
  94. package/dist/{chunk-XWAYMDLB.mjs → chunk-MVUREHPN.mjs} +1 -1
  95. package/dist/chunk-MWSK6C4J.cjs +18 -0
  96. package/dist/chunk-MWWVKDW3.cjs +169 -0
  97. package/dist/{chunk-6VQIKZZO.mjs → chunk-N255VYFP.mjs} +1 -1
  98. package/dist/chunk-NBAHDVOJ.cjs +2040 -0
  99. package/dist/chunk-NO3WWW3N.cjs +192 -0
  100. package/dist/chunk-NSFC3LHB.cjs +10244 -0
  101. package/dist/chunk-NZKJGRB3.cjs +230 -0
  102. package/dist/chunk-OAVTUMJP.cjs +1496 -0
  103. package/dist/{chunk-SXHV42UQ.mjs → chunk-OFEY6KHO.mjs} +88 -13
  104. package/dist/chunk-OHY2ZWUG.cjs +25 -0
  105. package/dist/chunk-OI6CMLWX.cjs +47 -0
  106. package/dist/chunk-OWOUTKIJ.cjs +558 -0
  107. package/dist/chunk-OX6O6WVA.cjs +74 -0
  108. package/dist/chunk-OXSIH4D6.cjs +476 -0
  109. package/dist/chunk-OYDRPBBV.cjs +453 -0
  110. package/dist/chunk-OYEUREB6.cjs +35 -0
  111. package/dist/chunk-PCOTGFSM.cjs +139 -0
  112. package/dist/{chunk-76DG3LF3.mjs → chunk-PGQBL5DN.mjs} +1 -1
  113. package/dist/chunk-PZYCPSCC.cjs +35 -0
  114. package/dist/chunk-QBK2AA4U.cjs +445 -0
  115. package/dist/{chunk-UTBVHYS3.mjs → chunk-QBPKKQTD.mjs} +2 -2
  116. package/dist/chunk-QBPXNZGV.cjs +487 -0
  117. package/dist/chunk-QNPEUFHQ.cjs +27 -0
  118. package/dist/chunk-QZRVZSPN.cjs +236 -0
  119. package/dist/chunk-R5A5KNVX.cjs +20 -0
  120. package/dist/chunk-R5JIFR6B.cjs +42 -0
  121. package/dist/chunk-R6AIILII.cjs +193 -0
  122. package/dist/chunk-RFYO7QUD.cjs +9 -0
  123. package/dist/chunk-RG3ZOTG5.cjs +34 -0
  124. package/dist/chunk-ROUTX2E5.cjs +390 -0
  125. package/dist/chunk-RTHIVJ2G.cjs +54 -0
  126. package/dist/chunk-S27FMYAM.cjs +644 -0
  127. package/dist/chunk-S3A45T7F.cjs +166 -0
  128. package/dist/chunk-S3JO3N4H.cjs +17 -0
  129. package/dist/chunk-SK35NQKK.cjs +27 -0
  130. package/dist/chunk-SU7MH53P.cjs +180 -0
  131. package/dist/chunk-SVRTJOUF.cjs +113 -0
  132. package/dist/chunk-SWN467MP.cjs +18 -0
  133. package/dist/chunk-SYQ3MOWW.cjs +73 -0
  134. package/dist/chunk-T5CERMEH.cjs +417 -0
  135. package/dist/chunk-TFAXUHWX.cjs +206 -0
  136. package/dist/chunk-TIWHTW3Q.cjs +24 -0
  137. package/dist/chunk-TKJZFIML.cjs +20 -0
  138. package/dist/chunk-TKNSDBBN.cjs +193 -0
  139. package/dist/chunk-U4KT7QP3.cjs +23 -0
  140. package/dist/chunk-U5BMPGS3.cjs +862 -0
  141. package/dist/chunk-UJ2C4ICS.cjs +277 -0
  142. package/dist/chunk-UQZ4AYTH.cjs +168 -0
  143. package/dist/chunk-US2QVW3E.cjs +36 -0
  144. package/dist/{chunk-QGVJVSNX.mjs → chunk-V4AICMQA.mjs} +2 -2
  145. package/dist/chunk-VB6UCX3V.cjs +421 -0
  146. package/dist/chunk-VEKFLAQM.cjs +300 -0
  147. package/dist/chunk-VQDBNVOO.cjs +14 -0
  148. package/dist/chunk-W4E7WMXE.cjs +71 -0
  149. package/dist/chunk-WJ3HK3LJ.cjs +1102 -0
  150. package/dist/chunk-WMAPPDMM.cjs +28 -0
  151. package/dist/chunk-WMOGFOUJ.cjs +223 -0
  152. package/dist/chunk-WPYFSQKK.cjs +37 -0
  153. package/dist/{chunk-56DAX2BE.mjs → chunk-WZXN4R5Y.mjs} +24 -13
  154. package/dist/chunk-XDGMADQM.cjs +14225 -0
  155. package/dist/chunk-XGC343EY.cjs +443 -0
  156. package/dist/chunk-XSKZORAS.cjs +727 -0
  157. package/dist/chunk-XWAWFQFS.cjs +82 -0
  158. package/dist/chunk-Y4YMF2NQ.cjs +460 -0
  159. package/dist/chunk-Y4YWHNKU.cjs +250 -0
  160. package/dist/chunk-Y53ZSFN6.cjs +504 -0
  161. package/dist/chunk-YA6LLTIJ.cjs +411 -0
  162. package/dist/chunk-YFPGHF5F.cjs +202 -0
  163. package/dist/chunk-YJRZR7VU.cjs +28 -0
  164. package/dist/chunk-YTAABQEV.cjs +1 -0
  165. package/dist/chunk-YX3DBN4M.cjs +18 -0
  166. package/dist/chunk-YZTASLPQ.cjs +64 -0
  167. package/dist/chunk-Z5HIWVDP.cjs +2173 -0
  168. package/dist/chunk-ZEG3OPIB.cjs +93 -0
  169. package/dist/chunk-ZMN3H73H.cjs +155 -0
  170. package/dist/client/lifecycle.cjs +6 -35
  171. package/dist/client-plugins.cjs +7 -448
  172. package/dist/client.cjs +171 -9808
  173. package/dist/config.cjs +8 -36
  174. package/dist/cron.cjs +24 -491
  175. package/dist/deferred.cjs +26 -475
  176. package/dist/deployment.cjs +39 -210
  177. package/dist/devtools-5KGPDVKL.cjs +388 -0
  178. package/dist/{devtools-UFVTMQX5.mjs → devtools-FY5R7TQ4.mjs} +3 -3
  179. package/dist/devtools-client-4WAPJY5L.cjs +254 -0
  180. package/dist/devtools-ui-5GBDIGMK.cjs +1296 -0
  181. package/dist/docs.cjs +46 -5657
  182. package/dist/docs.mjs +5 -5
  183. package/dist/env-types.cjs +5 -226
  184. package/dist/env.cjs +21 -338
  185. package/dist/environment/vite.cjs +8 -372
  186. package/dist/environment.cjs +12 -94
  187. package/dist/font.cjs +13 -63
  188. package/dist/headers.cjs +7 -123
  189. package/dist/i18n/client.cjs +55 -294
  190. package/dist/i18n/index.cjs +22 -209
  191. package/dist/i18n/server.cjs +22 -745
  192. package/dist/image/server.cjs +13 -729
  193. package/dist/image/sharp.cjs +33 -171
  194. package/dist/image.cjs +41 -85
  195. package/dist/index.cjs +1151 -68080
  196. package/dist/index.mjs +14 -14
  197. package/dist/instrumentation.cjs +12 -138
  198. package/dist/integration-orm-55F7CII5.cjs +13 -0
  199. package/dist/integrations.cjs +55 -4090
  200. package/dist/internal/app-markdown-runtime.cjs +27 -224
  201. package/dist/internal/app-markdown-runtime.mjs +2 -2
  202. package/dist/internal/build-runtime.cjs +120 -52259
  203. package/dist/internal/build-runtime.mjs +13 -13
  204. package/dist/internal/cli-runtime.cjs +67 -13811
  205. package/dist/internal/cli-runtime.mjs +7 -7
  206. package/dist/internal/client-error-overlay.cjs +80 -733
  207. package/dist/internal/client-error-overlay.mjs +1 -1
  208. package/dist/internal/client-runtime.cjs +81 -913
  209. package/dist/internal/compression-runtime.cjs +8 -214
  210. package/dist/internal/config-runtime.cjs +42 -6547
  211. package/dist/internal/config-runtime.mjs +3 -3
  212. package/dist/internal/docs-precompiled-runtime.cjs +26 -46
  213. package/dist/internal/infra-analytics-runtime.cjs +10 -536
  214. package/dist/internal/isolated-boundary.cjs +14 -414
  215. package/dist/internal/metadata-image-runtime.cjs +7 -285
  216. package/dist/internal/product-telemetry-runtime.cjs +42 -97
  217. package/dist/internal/product-telemetry-runtime.mjs +1 -1
  218. package/dist/internal/production-node-env.cjs +6 -63
  219. package/dist/internal/production-runtime.cjs +418 -7133
  220. package/dist/internal/production-runtime.mjs +3 -3
  221. package/dist/internal/request-cookies.cjs +6 -54
  222. package/dist/json-ld.cjs +24 -50
  223. package/dist/layers-E4WPJNY5.cjs +17 -0
  224. package/dist/manager-G4B2IPYE.cjs +14 -0
  225. package/dist/markdown.cjs +21 -547
  226. package/dist/markdown.mjs +1 -1
  227. package/dist/middleware.cjs +36 -2995
  228. package/dist/navigation.cjs +22 -2588
  229. package/dist/nitro-4I2MYLY2.cjs +652 -0
  230. package/dist/observability.cjs +22 -614
  231. package/dist/og.cjs +5 -28
  232. package/dist/plugin.cjs +106 -37442
  233. package/dist/plugin.mjs +9 -9
  234. package/dist/query/client.cjs +113 -449
  235. package/dist/query/index.cjs +26 -288
  236. package/dist/query/parsers.cjs +23 -247
  237. package/dist/query/server.cjs +36 -298
  238. package/dist/renderer/react/client.cjs +9 -43
  239. package/dist/renderer/react/server.cjs +40 -103
  240. package/dist/renderer/react/vite.cjs +7 -29
  241. package/dist/renderer-client.cjs +126 -4295
  242. package/dist/renderer.cjs +31 -249
  243. package/dist/request.cjs +5 -68
  244. package/dist/router.cjs +11 -474
  245. package/dist/routes.cjs +42 -2461
  246. package/dist/{schema-dev-notice-2IE2F2XI.mjs → schema-dev-notice-O67CPXJ6.mjs} +1 -1
  247. package/dist/schema-dev-notice-Y7MQEFGN.cjs +56 -0
  248. package/dist/schema.cjs +6 -33
  249. package/dist/search-client-G3RICOFU.cjs +13 -0
  250. package/dist/server-action-security.cjs +25 -541
  251. package/dist/server-fn-client.cjs +6 -337
  252. package/dist/server-fn.cjs +32 -1841
  253. package/dist/server-plugins.cjs +15 -884
  254. package/dist/server-query-client.cjs +15 -1883
  255. package/dist/server-query.cjs +16 -1838
  256. package/dist/server.cjs +296 -44681
  257. package/dist/server.mjs +11 -11
  258. package/dist/storage.cjs +57 -576
  259. package/dist/testing.cjs +89 -3186
  260. package/dist/theme/client.cjs +13 -108
  261. package/dist/theme/index.cjs +6 -68
  262. package/dist/theme/runtime.cjs +13 -78
  263. package/dist/theme/server.cjs +10 -179
  264. package/dist/version.cjs +4 -32
  265. package/dist/version.mjs +1 -1
  266. package/dist/vite.cjs +119 -37773
  267. package/dist/vite.mjs +9 -9
  268. package/dist/workflows.cjs +19 -1040
  269. package/package.json +1 -1
@@ -0,0 +1,224 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } } function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
2
+
3
+ var _chunkQNPEUFHQcjs = require('./chunk-QNPEUFHQ.cjs');
4
+
5
+
6
+ var _chunkUS2QVW3Ecjs = require('./chunk-US2QVW3E.cjs');
7
+
8
+
9
+
10
+
11
+ var _chunkNO3WWW3Ncjs = require('./chunk-NO3WWW3N.cjs');
12
+
13
+
14
+ var _chunkS3JO3N4Hcjs = require('./chunk-S3JO3N4H.cjs');
15
+
16
+ // src/utils.ts
17
+ var _path = require('path'); var _path2 = _interopRequireDefault(_path);
18
+ function parseRoutePath(filePath) {
19
+ const segments = [];
20
+ const normalizedPath = filePath.replace(/\\/g, "/");
21
+ const pathParts = normalizedPath.split("/").filter(Boolean);
22
+ const fileName = pathParts.pop() || "";
23
+ const fileType = getRouteType(fileName);
24
+ const routePath = `/${pathParts.join("/")}`;
25
+ _chunkNO3WWW3Ncjs.assertBrowserStableRoutePath.call(void 0, routePath);
26
+ _chunkNO3WWW3Ncjs.assertTerminalCatchAll.call(void 0, routePath);
27
+ _chunkNO3WWW3Ncjs.assertUniqueRouteParameters.call(void 0, routePath);
28
+ for (const part of pathParts) {
29
+ if (part.startsWith("(") && part.endsWith(")")) continue;
30
+ if (part.startsWith("[") && part.endsWith("]")) {
31
+ let segment = part.slice(1, -1);
32
+ const isDynamic = true;
33
+ let isOptional = false;
34
+ let isCatchAll = false;
35
+ if (segment.startsWith("[") && segment.endsWith("]")) {
36
+ isOptional = true;
37
+ segment = segment.slice(1, -1);
38
+ if (segment.startsWith("...")) {
39
+ segment = segment.slice(3);
40
+ isCatchAll = true;
41
+ }
42
+ } else if (segment.startsWith("...")) {
43
+ segment = segment.slice(3);
44
+ isCatchAll = true;
45
+ }
46
+ segments.push({ segment, isDynamic, isOptional, isCatchAll });
47
+ } else {
48
+ segments.push({
49
+ segment: part,
50
+ isDynamic: false,
51
+ isOptional: false,
52
+ isCatchAll: false
53
+ });
54
+ }
55
+ }
56
+ return {
57
+ segments,
58
+ filePath: normalizedPath,
59
+ type: fileType
60
+ };
61
+ }
62
+ _chunkS3JO3N4Hcjs.__name.call(void 0, parseRoutePath, "parseRoutePath");
63
+ function getRouteType(fileName) {
64
+ const baseName = fileName.replace(/\.(tsx?|jsx?|vue|svelte|mdx?|markdown)$/, "");
65
+ switch (baseName) {
66
+ case "page":
67
+ return "page";
68
+ case "layout":
69
+ return "layout";
70
+ case "loading":
71
+ return "loading";
72
+ case "error":
73
+ return "error";
74
+ case "not-found":
75
+ return "not-found";
76
+ default:
77
+ return "page";
78
+ }
79
+ }
80
+ _chunkS3JO3N4Hcjs.__name.call(void 0, getRouteType, "getRouteType");
81
+ function segmentsToPattern(segments) {
82
+ if (segments.length === 0) return "/";
83
+ return "/" + segments.map((segment) => {
84
+ if (!segment.isDynamic) return segment.segment;
85
+ if (segment.isCatchAll) {
86
+ return segment.isOptional ? `*${segment.segment}?` : `*${segment.segment}`;
87
+ }
88
+ return `:${segment.segment}`;
89
+ }).join("/");
90
+ }
91
+ _chunkS3JO3N4Hcjs.__name.call(void 0, segmentsToPattern, "segmentsToPattern");
92
+ function matchRoute(url, segments) {
93
+ return matchRouteParts(splitRoutePath(url), segments);
94
+ }
95
+ _chunkS3JO3N4Hcjs.__name.call(void 0, matchRoute, "matchRoute");
96
+ function splitRoutePath(url) {
97
+ return url.split("/").filter(Boolean).map(_chunkUS2QVW3Ecjs.decodeRouteSegment);
98
+ }
99
+ _chunkS3JO3N4Hcjs.__name.call(void 0, splitRoutePath, "splitRoutePath");
100
+ function matchRouteParts(urlParts, segments) {
101
+ const params = {};
102
+ if (segments.length === 0) {
103
+ return { params, matches: urlParts.length === 0 };
104
+ }
105
+ let urlIndex = 0;
106
+ let segmentIndex = 0;
107
+ while (segmentIndex < segments.length && urlIndex <= urlParts.length) {
108
+ const segment = segments[segmentIndex];
109
+ if (!segment.isDynamic) {
110
+ if (urlParts[urlIndex] !== segment.segment) {
111
+ return { params: {}, matches: false };
112
+ }
113
+ urlIndex++;
114
+ segmentIndex++;
115
+ } else if (segment.isCatchAll) {
116
+ const remainingParts = urlParts.slice(urlIndex);
117
+ if (remainingParts.length === 0 && !segment.isOptional) {
118
+ return { params: {}, matches: false };
119
+ }
120
+ params[segment.segment] = remainingParts.join("/");
121
+ urlIndex = urlParts.length;
122
+ segmentIndex++;
123
+ } else {
124
+ if (urlIndex >= urlParts.length) {
125
+ return { params: {}, matches: false };
126
+ }
127
+ params[segment.segment] = urlParts[urlIndex];
128
+ urlIndex++;
129
+ segmentIndex++;
130
+ }
131
+ }
132
+ const matches = segmentIndex === segments.length && urlIndex === urlParts.length;
133
+ return { params, matches };
134
+ }
135
+ _chunkS3JO3N4Hcjs.__name.call(void 0, matchRouteParts, "matchRouteParts");
136
+ function matchRoutePrefix(url, segments) {
137
+ return matchRoutePrefixParts(splitRoutePath(url), segments);
138
+ }
139
+ _chunkS3JO3N4Hcjs.__name.call(void 0, matchRoutePrefix, "matchRoutePrefix");
140
+ function matchRoutePrefixParts(urlParts, segments) {
141
+ let urlIndex = 0;
142
+ for (const segment of segments) {
143
+ if (segment.isCatchAll) {
144
+ return segment.isOptional || urlIndex < urlParts.length;
145
+ }
146
+ const urlPart = urlParts[urlIndex];
147
+ if (urlPart === void 0) return false;
148
+ if (!segment.isDynamic && segment.segment !== urlPart) return false;
149
+ urlIndex++;
150
+ }
151
+ return true;
152
+ }
153
+ _chunkS3JO3N4Hcjs.__name.call(void 0, matchRoutePrefixParts, "matchRoutePrefixParts");
154
+ function resolveAppPath(root, ...paths) {
155
+ return _path2.default.resolve(root, ...paths);
156
+ }
157
+ _chunkS3JO3N4Hcjs.__name.call(void 0, resolveAppPath, "resolveAppPath");
158
+ function toRootRelativeUrlPath(absolutePath, projectRoot) {
159
+ if (absolutePath === projectRoot) return "";
160
+ if (absolutePath.startsWith(`${projectRoot}/`) || absolutePath.startsWith(`${projectRoot}\\`)) {
161
+ return absolutePath.slice(projectRoot.length).replace(/\\/g, "/");
162
+ }
163
+ return void 0;
164
+ }
165
+ _chunkS3JO3N4Hcjs.__name.call(void 0, toRootRelativeUrlPath, "toRootRelativeUrlPath");
166
+ function toPosixPath(filePath) {
167
+ return filePath.replace(/\\/g, "/");
168
+ }
169
+ _chunkS3JO3N4Hcjs.__name.call(void 0, toPosixPath, "toPosixPath");
170
+ function toViteModuleId(filePath, root) {
171
+ if (!_path2.default.isAbsolute(filePath)) return filePath;
172
+ const relativePath = _path2.default.relative(root, filePath);
173
+ if (relativePath && !relativePath.startsWith("..") && !_path2.default.isAbsolute(relativePath)) {
174
+ return `/${relativePath.split(_path2.default.sep).join("/")}`;
175
+ }
176
+ const normalizedPath = filePath.replace(/\\/g, "/");
177
+ return normalizedPath.startsWith("/") ? `/@fs${normalizedPath}` : `/@fs/${normalizedPath}`;
178
+ }
179
+ _chunkS3JO3N4Hcjs.__name.call(void 0, toViteModuleId, "toViteModuleId");
180
+ async function fileExists(filePath) {
181
+ try {
182
+ const fs = await import("fs/promises");
183
+ await fs.access(filePath);
184
+ return true;
185
+ } catch (e) {
186
+ return false;
187
+ }
188
+ }
189
+ _chunkS3JO3N4Hcjs.__name.call(void 0, fileExists, "fileExists");
190
+ async function globFiles(pattern, cwd) {
191
+ const glob = await import("fast-glob");
192
+ return glob.default(pattern, { cwd, absolute: false });
193
+ }
194
+ _chunkS3JO3N4Hcjs.__name.call(void 0, globFiles, "globFiles");
195
+ function parseSearchParams(searchParams) {
196
+ return _chunkQNPEUFHQcjs.searchParamsToObject.call(void 0, searchParams);
197
+ }
198
+ _chunkS3JO3N4Hcjs.__name.call(void 0, parseSearchParams, "parseSearchParams");
199
+ var logger = {
200
+ info: /* @__PURE__ */ _chunkS3JO3N4Hcjs.__name.call(void 0, (message) => console.log(`[info] ${message}`), "info"),
201
+ success: /* @__PURE__ */ _chunkS3JO3N4Hcjs.__name.call(void 0, (message) => console.log(`[success] ${message}`), "success"),
202
+ warn: /* @__PURE__ */ _chunkS3JO3N4Hcjs.__name.call(void 0, (message) => console.warn(`\u26A0\uFE0F ${message}`), "warn"),
203
+ error: /* @__PURE__ */ _chunkS3JO3N4Hcjs.__name.call(void 0, (message) => console.error(`\u274C ${message}`), "error"),
204
+ ready: /* @__PURE__ */ _chunkS3JO3N4Hcjs.__name.call(void 0, (message) => console.log(`${message}`), "ready"),
205
+ event: /* @__PURE__ */ _chunkS3JO3N4Hcjs.__name.call(void 0, (message) => console.log(` ${message}`), "event")
206
+ };
207
+
208
+
209
+
210
+
211
+
212
+
213
+
214
+
215
+
216
+
217
+
218
+
219
+
220
+
221
+
222
+
223
+
224
+ exports.parseRoutePath = parseRoutePath; exports.segmentsToPattern = segmentsToPattern; exports.matchRoute = matchRoute; exports.splitRoutePath = splitRoutePath; exports.matchRouteParts = matchRouteParts; exports.matchRoutePrefix = matchRoutePrefix; exports.matchRoutePrefixParts = matchRoutePrefixParts; exports.resolveAppPath = resolveAppPath; exports.toRootRelativeUrlPath = toRootRelativeUrlPath; exports.toPosixPath = toPosixPath; exports.toViteModuleId = toViteModuleId; exports.fileExists = fileExists; exports.globFiles = globFiles; exports.parseSearchParams = parseSearchParams; exports.logger = logger;
@@ -0,0 +1,127 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
2
+
3
+ var _chunkU4KT7QP3cjs = require('./chunk-U4KT7QP3.cjs');
4
+
5
+
6
+ var _chunkS3JO3N4Hcjs = require('./chunk-S3JO3N4H.cjs');
7
+
8
+ // src/server/request.ts
9
+ var _async_hooks = require('async_hooks');
10
+ var _stream = require('stream');
11
+ var REQUEST_STORAGE_KEY = /* @__PURE__ */ Symbol.for("@farm.js/core/request-storage");
12
+ function getRequestStore() {
13
+ const runtime = globalThis;
14
+ const existing = runtime[REQUEST_STORAGE_KEY];
15
+ if (existing instanceof _async_hooks.AsyncLocalStorage) {
16
+ return existing;
17
+ }
18
+ const storage = new (0, _async_hooks.AsyncLocalStorage)();
19
+ runtime[REQUEST_STORAGE_KEY] = storage;
20
+ return storage;
21
+ }
22
+ _chunkS3JO3N4Hcjs.__name.call(void 0, getRequestStore, "getRequestStore");
23
+ var requestStore = getRequestStore();
24
+ _chunkU4KT7QP3cjs._setCurrentRequestResolver.call(void 0, () => requestStore.getStore());
25
+ function resolveFarmRequestURL(req, options = {}) {
26
+ if (options.origin) {
27
+ return new URL(req.url || "/", options.origin);
28
+ }
29
+ const forwardedHost = options.trustProxy ? firstForwardedHeaderValue(req.headers["x-forwarded-host"]) : void 0;
30
+ const fallbackHost = firstForwardedHeaderValue(req.headers.host) || "localhost";
31
+ const forwardedProto = options.trustProxy ? firstForwardedHeaderValue(req.headers["x-forwarded-proto"]) : void 0;
32
+ const normalizedProto = _optionalChain([forwardedProto, 'optionalAccess', _ => _.toLowerCase, 'call', _2 => _2()]);
33
+ const proto = normalizedProto === "https" || normalizedProto === "http" ? normalizedProto : isEncryptedFarmRequest(req) ? "https" : "http";
34
+ return new URL(req.url || "/", resolveRequestOrigin(proto, forwardedHost, fallbackHost));
35
+ }
36
+ _chunkS3JO3N4Hcjs.__name.call(void 0, resolveFarmRequestURL, "resolveFarmRequestURL");
37
+ function resolveFarmWebRequestOrigin(request, options = {}) {
38
+ const url = new URL(request.url);
39
+ if (!options.trustProxy) return url.origin;
40
+ const forwardedHost = firstForwardedHeaderValue(
41
+ _nullishCoalesce(request.headers.get("x-forwarded-host"), () => ( void 0))
42
+ );
43
+ const forwardedProto = _optionalChain([firstForwardedHeaderValue, 'call', _3 => _3(
44
+ _nullishCoalesce(request.headers.get("x-forwarded-proto"), () => ( void 0))
45
+ ), 'optionalAccess', _4 => _4.toLowerCase, 'call', _5 => _5()]);
46
+ const proto = forwardedProto === "https" || forwardedProto === "http" ? forwardedProto : url.protocol === "https:" ? "https" : "http";
47
+ return resolveRequestOrigin(proto, forwardedHost, url.host);
48
+ }
49
+ _chunkS3JO3N4Hcjs.__name.call(void 0, resolveFarmWebRequestOrigin, "resolveFarmWebRequestOrigin");
50
+ function createWebRequestFromFarmRequest(req, options = {}) {
51
+ const fullUrl = resolveFarmRequestURL(req, options).toString();
52
+ const headers = new Headers();
53
+ for (const [key, value] of Object.entries(req.headers)) {
54
+ if (value == null) {
55
+ continue;
56
+ }
57
+ if (Array.isArray(value)) {
58
+ for (const item of value) {
59
+ headers.append(key, item);
60
+ }
61
+ continue;
62
+ }
63
+ headers.set(key, value);
64
+ }
65
+ const method = (req.method || "GET").toUpperCase();
66
+ const init = {
67
+ method: req.method,
68
+ headers
69
+ };
70
+ if (method !== "GET" && method !== "HEAD") {
71
+ init.body = _stream.Readable.toWeb(req);
72
+ init.duplex = "half";
73
+ }
74
+ return new Request(fullUrl, init);
75
+ }
76
+ _chunkS3JO3N4Hcjs.__name.call(void 0, createWebRequestFromFarmRequest, "createWebRequestFromFarmRequest");
77
+ function isEncryptedFarmRequest(req) {
78
+ return Boolean(_optionalChain([req, 'access', _6 => _6.socket, 'optionalAccess', _7 => _7.encrypted]));
79
+ }
80
+ _chunkS3JO3N4Hcjs.__name.call(void 0, isEncryptedFarmRequest, "isEncryptedFarmRequest");
81
+ function firstForwardedHeaderValue(value) {
82
+ const first = Array.isArray(value) ? value[0] : value;
83
+ const token = _optionalChain([first, 'optionalAccess', _8 => _8.split, 'call', _9 => _9(",", 1), 'access', _10 => _10[0], 'optionalAccess', _11 => _11.trim, 'call', _12 => _12()]);
84
+ return token || void 0;
85
+ }
86
+ _chunkS3JO3N4Hcjs.__name.call(void 0, firstForwardedHeaderValue, "firstForwardedHeaderValue");
87
+ function resolveRequestOrigin(proto, host, fallback) {
88
+ for (const candidate of [host, fallback, "localhost"]) {
89
+ if (!candidate) continue;
90
+ if (/[\s/?#@\\]/u.test(candidate)) continue;
91
+ try {
92
+ const url = new URL(`${proto}://${candidate}`);
93
+ if (url.username || url.password || url.pathname !== "/" || url.search || url.hash) continue;
94
+ return url.origin;
95
+ } catch (e) {
96
+ }
97
+ }
98
+ return `${proto}://localhost`;
99
+ }
100
+ _chunkS3JO3N4Hcjs.__name.call(void 0, resolveRequestOrigin, "resolveRequestOrigin");
101
+ async function _runWithCurrentRequest(request, fn) {
102
+ return requestStore.run(request, fn);
103
+ }
104
+ _chunkS3JO3N4Hcjs.__name.call(void 0, _runWithCurrentRequest, "_runWithCurrentRequest");
105
+ function getCurrentRequest() {
106
+ const request = requestStore.getStore();
107
+ if (!request) {
108
+ throw new Error(
109
+ "No current request is available. getCurrentRequest() can only be used during server rendering."
110
+ );
111
+ }
112
+ return request;
113
+ }
114
+ _chunkS3JO3N4Hcjs.__name.call(void 0, getCurrentRequest, "getCurrentRequest");
115
+ function getCurrentRequestOrNull() {
116
+ return _nullishCoalesce(requestStore.getStore(), () => ( null));
117
+ }
118
+ _chunkS3JO3N4Hcjs.__name.call(void 0, getCurrentRequestOrNull, "getCurrentRequestOrNull");
119
+
120
+
121
+
122
+
123
+
124
+
125
+
126
+
127
+ exports.resolveFarmRequestURL = resolveFarmRequestURL; exports.resolveFarmWebRequestOrigin = resolveFarmWebRequestOrigin; exports.createWebRequestFromFarmRequest = createWebRequestFromFarmRequest; exports._runWithCurrentRequest = _runWithCurrentRequest; exports.getCurrentRequest = getCurrentRequest; exports.getCurrentRequestOrNull = getCurrentRequestOrNull;
@@ -0,0 +1,238 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
2
+
3
+ var _chunkSU7MH53Pcjs = require('./chunk-SU7MH53P.cjs');
4
+
5
+
6
+
7
+
8
+
9
+
10
+ var _chunkWJ3HK3LJcjs = require('./chunk-WJ3HK3LJ.cjs');
11
+
12
+
13
+ var _chunk5OVTOKGHcjs = require('./chunk-5OVTOKGH.cjs');
14
+
15
+
16
+ var _chunkU4KT7QP3cjs = require('./chunk-U4KT7QP3.cjs');
17
+
18
+
19
+ var _chunkBIDYX3SLcjs = require('./chunk-BIDYX3SL.cjs');
20
+
21
+
22
+
23
+
24
+
25
+ var _chunkI57LW5VZcjs = require('./chunk-I57LW5VZ.cjs');
26
+
27
+
28
+ var _chunkS3JO3N4Hcjs = require('./chunk-S3JO3N4H.cjs');
29
+
30
+ // src/client/router.ts
31
+ var _react = require('react');
32
+ function shouldBlockUnload(options) {
33
+ const path = window.location.pathname + window.location.search;
34
+ const context = {
35
+ from: path,
36
+ to: path,
37
+ action: "replace"
38
+ };
39
+ const when = typeof options.when === "function" ? options.when(context) : options.when;
40
+ if (!when) return false;
41
+ if (!options.shouldBlock) return true;
42
+ try {
43
+ const result = options.shouldBlock(context);
44
+ if (typeof result === "boolean") return result;
45
+ void result.catch(() => void 0);
46
+ return true;
47
+ } catch (e) {
48
+ return true;
49
+ }
50
+ }
51
+ _chunkS3JO3N4Hcjs.__name.call(void 0, shouldBlockUnload, "shouldBlockUnload");
52
+ function navigateViaRouter(href, basePath, replace) {
53
+ if (typeof window === "undefined") return;
54
+ const url = _chunkI57LW5VZcjs.applyFarmBasePath.call(void 0, href, basePath);
55
+ const spaRouter = _chunkWJ3HK3LJcjs.getInstalledFarmSPARouter.call(void 0, );
56
+ if (spaRouter) {
57
+ void spaRouter.navigate(url, { replace });
58
+ return;
59
+ }
60
+ if (replace) {
61
+ window.history.replaceState(null, "", url);
62
+ } else {
63
+ window.history.pushState(null, "", url);
64
+ }
65
+ _chunkWJ3HK3LJcjs.notifyHistoryChange.call(void 0, "url-search");
66
+ }
67
+ _chunkS3JO3N4Hcjs.__name.call(void 0, navigateViaRouter, "navigateViaRouter");
68
+ function useRouter(options = {}) {
69
+ const basePath = options.basePath === void 0 ? _chunkI57LW5VZcjs.getFarmBasePath.call(void 0, ) : _chunkI57LW5VZcjs.normalizeFarmBasePath.call(void 0, options.basePath);
70
+ const routes = options.routes;
71
+ const routeKey = _optionalChain([routes, 'optionalAccess', _ => _.map, 'call', _2 => _2((route) => typeof route === "string" ? route : route.path), 'access', _3 => _3.join, 'call', _4 => _4("\n")]) || "";
72
+ const routeMatcher = _react.useMemo.call(void 0,
73
+ () => routeKey ? _chunkSU7MH53Pcjs.createFarmRouter.call(void 0, routeKey.split("\n")) : null,
74
+ [routeKey]
75
+ );
76
+ const [state, setState] = _react.useState.call(void 0, () => {
77
+ return readRouterState(basePath, routeMatcher);
78
+ });
79
+ _react.useEffect.call(void 0, () => {
80
+ if (typeof window === "undefined") return;
81
+ const handlePopState = /* @__PURE__ */ _chunkS3JO3N4Hcjs.__name.call(void 0, () => {
82
+ setState(readRouterState(basePath, routeMatcher));
83
+ }, "handlePopState");
84
+ handlePopState();
85
+ const unsubscribe = _chunkWJ3HK3LJcjs.subscribeHistoryChange.call(void 0, handlePopState);
86
+ return unsubscribe;
87
+ }, [basePath, routeMatcher]);
88
+ const push = /* @__PURE__ */ _chunkS3JO3N4Hcjs.__name.call(void 0, (href) => {
89
+ navigateViaRouter(href, basePath, false);
90
+ }, "push");
91
+ const replace = /* @__PURE__ */ _chunkS3JO3N4Hcjs.__name.call(void 0, (href) => {
92
+ navigateViaRouter(href, basePath, true);
93
+ }, "replace");
94
+ const pushState = /* @__PURE__ */ _chunkS3JO3N4Hcjs.__name.call(void 0, (pageState, href) => {
95
+ if (typeof window === "undefined") return;
96
+ _chunkWJ3HK3LJcjs.getRouter.call(void 0, ).pushState(pageState, resolveClientHref(href, basePath));
97
+ }, "pushState");
98
+ const replaceState = /* @__PURE__ */ _chunkS3JO3N4Hcjs.__name.call(void 0, (pageState, href) => {
99
+ if (typeof window === "undefined") return;
100
+ _chunkWJ3HK3LJcjs.getRouter.call(void 0, ).replaceState(pageState, resolveClientHref(href, basePath));
101
+ }, "replaceState");
102
+ const back = /* @__PURE__ */ _chunkS3JO3N4Hcjs.__name.call(void 0, () => {
103
+ if (typeof window !== "undefined") {
104
+ window.history.back();
105
+ }
106
+ }, "back");
107
+ const forward = /* @__PURE__ */ _chunkS3JO3N4Hcjs.__name.call(void 0, () => {
108
+ if (typeof window !== "undefined") {
109
+ window.history.forward();
110
+ }
111
+ }, "forward");
112
+ return {
113
+ ...state,
114
+ push,
115
+ replace,
116
+ pushState,
117
+ replaceState,
118
+ back,
119
+ forward
120
+ };
121
+ }
122
+ _chunkS3JO3N4Hcjs.__name.call(void 0, useRouter, "useRouter");
123
+ function usePageState() {
124
+ const [state, setState] = _react.useState.call(void 0, () => _chunkWJ3HK3LJcjs.readPageState.call(void 0, ));
125
+ _react.useEffect.call(void 0, () => {
126
+ if (typeof window === "undefined") return;
127
+ const handlePopState = /* @__PURE__ */ _chunkS3JO3N4Hcjs.__name.call(void 0, () => {
128
+ setState(_chunkWJ3HK3LJcjs.readPageState.call(void 0, ));
129
+ }, "handlePopState");
130
+ handlePopState();
131
+ return _chunkWJ3HK3LJcjs.subscribeHistoryChange.call(void 0, handlePopState);
132
+ }, []);
133
+ return state;
134
+ }
135
+ _chunkS3JO3N4Hcjs.__name.call(void 0, usePageState, "usePageState");
136
+ function useNavigation() {
137
+ const [state, setState] = _react.useState.call(void 0,
138
+ () => _chunkWJ3HK3LJcjs.getRouter.call(void 0, ).getNavigationState()
139
+ );
140
+ _react.useEffect.call(void 0, () => {
141
+ if (typeof window === "undefined") return;
142
+ return _chunkWJ3HK3LJcjs.getRouter.call(void 0, ).subscribeNavigation(setState);
143
+ }, []);
144
+ return state;
145
+ }
146
+ _chunkS3JO3N4Hcjs.__name.call(void 0, useNavigation, "useNavigation");
147
+ function useBlocker(options) {
148
+ const optionsRef = _react.useRef.call(void 0, options);
149
+ optionsRef.current = options;
150
+ const active = Boolean(options.when);
151
+ _react.useEffect.call(void 0, () => {
152
+ if (typeof window === "undefined" || !active) {
153
+ return;
154
+ }
155
+ return _chunkWJ3HK3LJcjs.getRouter.call(void 0, ).addBlocker(
156
+ async (context) => {
157
+ const current = optionsRef.current;
158
+ const when = typeof current.when === "function" ? current.when(context) : current.when;
159
+ if (!when) return false;
160
+ if (current.shouldBlock && !await current.shouldBlock(context)) {
161
+ return false;
162
+ }
163
+ if (current.message && typeof window.confirm === "function") {
164
+ return !window.confirm(current.message);
165
+ }
166
+ return true;
167
+ },
168
+ () => shouldBlockUnload(optionsRef.current)
169
+ );
170
+ }, [active]);
171
+ return { active };
172
+ }
173
+ _chunkS3JO3N4Hcjs.__name.call(void 0, useBlocker, "useBlocker");
174
+ function useScrollRestoration(key) {
175
+ const ref = _react.useRef.call(void 0, null);
176
+ _react.useEffect.call(void 0, () => {
177
+ const element = ref.current;
178
+ if (!element) return;
179
+ return _chunkWJ3HK3LJcjs.getRouter.call(void 0, ).registerScrollElement(key, element);
180
+ }, [key]);
181
+ return ref;
182
+ }
183
+ _chunkS3JO3N4Hcjs.__name.call(void 0, useScrollRestoration, "useScrollRestoration");
184
+ function readRouterState(basePath, routeMatcher) {
185
+ const url = readCurrentUrl();
186
+ if (!url) {
187
+ return {
188
+ pathname: "/",
189
+ searchParams: new URLSearchParams(),
190
+ params: {},
191
+ pageState: null
192
+ };
193
+ }
194
+ const pathname = normalizeClientPathname(url.pathname, basePath);
195
+ const i18n = _chunk5OVTOKGHcjs.getFarmI18nClientState.call(void 0, );
196
+ const routePathname = i18n ? _chunkBIDYX3SLcjs.stripFarmLocaleFromPathname.call(void 0, pathname, i18n) : pathname;
197
+ return {
198
+ pathname,
199
+ searchParams: url.searchParams,
200
+ params: _optionalChain([routeMatcher, 'optionalAccess', _5 => _5.match, 'call', _6 => _6(routePathname), 'optionalAccess', _7 => _7.params]) || {},
201
+ pageState: typeof window === "undefined" ? null : _chunkWJ3HK3LJcjs.readPageState.call(void 0, )
202
+ };
203
+ }
204
+ _chunkS3JO3N4Hcjs.__name.call(void 0, readRouterState, "readRouterState");
205
+ function readCurrentUrl() {
206
+ if (typeof window !== "undefined") {
207
+ try {
208
+ return new URL(window.location.href);
209
+ } catch (e2) {
210
+ return void 0;
211
+ }
212
+ }
213
+ const request = _chunkU4KT7QP3cjs._resolveCurrentRequest.call(void 0, );
214
+ if (!request) return void 0;
215
+ try {
216
+ return new URL(request.url);
217
+ } catch (e3) {
218
+ return void 0;
219
+ }
220
+ }
221
+ _chunkS3JO3N4Hcjs.__name.call(void 0, readCurrentUrl, "readCurrentUrl");
222
+ function normalizeClientPathname(pathname, basePath) {
223
+ return _chunkI57LW5VZcjs.stripFarmBasePath.call(void 0, pathname, basePath);
224
+ }
225
+ _chunkS3JO3N4Hcjs.__name.call(void 0, normalizeClientPathname, "normalizeClientPathname");
226
+ function resolveClientHref(href, basePath) {
227
+ if (!href) return void 0;
228
+ return _chunkI57LW5VZcjs.applyFarmBasePath.call(void 0, href, basePath);
229
+ }
230
+ _chunkS3JO3N4Hcjs.__name.call(void 0, resolveClientHref, "resolveClientHref");
231
+
232
+
233
+
234
+
235
+
236
+
237
+
238
+ exports.useRouter = useRouter; exports.usePageState = usePageState; exports.useNavigation = useNavigation; exports.useBlocker = useBlocker; exports.useScrollRestoration = useScrollRestoration;