@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.
- package/dist/after.cjs +12 -225
- package/dist/agent-runtime.cjs +83 -2800
- package/dist/api/client.cjs +17 -4060
- package/dist/api/route-manager.cjs +34 -4354
- package/dist/api/runtime.cjs +29 -2696
- package/dist/api.cjs +88 -8434
- package/dist/app-markdown.cjs +39 -280
- package/dist/app-markdown.mjs +3 -3
- package/dist/cache.cjs +38 -1560
- package/dist/chunk-22GUSVNJ.cjs +351 -0
- package/dist/{chunk-EN7WTEAY.mjs → chunk-2ANEVVF7.mjs} +1 -1
- package/dist/chunk-2CQ74SP6.cjs +13 -0
- package/dist/{chunk-YD4J4XCI.mjs → chunk-2GNATDDE.mjs} +1 -1
- package/dist/chunk-2SJ4RQ6P.cjs +57 -0
- package/dist/chunk-3376ZTRC.cjs +1 -0
- package/dist/chunk-4PNUXIVU.cjs +472 -0
- package/dist/chunk-4PPEPOZZ.cjs +21 -0
- package/dist/chunk-4ZFL5GFN.cjs +520 -0
- package/dist/chunk-5OVTOKGH.cjs +65 -0
- package/dist/chunk-5QIKR7RR.cjs +224 -0
- package/dist/chunk-5ZSWG4UX.cjs +127 -0
- package/dist/chunk-62YJ2IEB.cjs +238 -0
- package/dist/chunk-6EODJYCX.cjs +183 -0
- package/dist/chunk-6EXBPJ24.cjs +434 -0
- package/dist/chunk-6QQDAAAZ.cjs +38 -0
- package/dist/chunk-6V4TDWEC.cjs +455 -0
- package/dist/chunk-72ADZ6GQ.cjs +19 -0
- package/dist/chunk-75BRBIFP.cjs +172 -0
- package/dist/{chunk-ZCNJKLA2.mjs → chunk-7BC6GAL7.mjs} +1 -1
- package/dist/chunk-7W3CPVXS.cjs +24 -0
- package/dist/chunk-A6WIQH5Z.cjs +31 -0
- package/dist/chunk-A777V5WU.cjs +725 -0
- package/dist/chunk-AFOD3LYZ.cjs +377 -0
- package/dist/chunk-AH7HOAQ3.cjs +151 -0
- package/dist/chunk-AMDMVWMI.cjs +39 -0
- package/dist/chunk-AORPIPNB.cjs +552 -0
- package/dist/chunk-ARJWXNQL.cjs +256 -0
- package/dist/chunk-AYJR42WX.cjs +711 -0
- package/dist/chunk-BBVSJVBZ.cjs +600 -0
- package/dist/chunk-BIDYX3SL.cjs +91 -0
- package/dist/chunk-BYODCJD6.cjs +663 -0
- package/dist/chunk-C3VRMB6H.cjs +85 -0
- package/dist/chunk-C5GUTBZK.cjs +173 -0
- package/dist/chunk-CIAGU2X4.cjs +337 -0
- package/dist/chunk-CMGMGHUZ.cjs +27 -0
- package/dist/chunk-CXP5U3RW.cjs +54 -0
- package/dist/chunk-D2ULAULS.cjs +166 -0
- package/dist/chunk-D7JTOLFK.cjs +285 -0
- package/dist/chunk-DVM4FKZL.cjs +169 -0
- package/dist/chunk-DYEJQTDN.cjs +49 -0
- package/dist/chunk-E2ROOWQC.cjs +2225 -0
- package/dist/chunk-E3UK5IIB.cjs +593 -0
- package/dist/chunk-EM6SBQKM.cjs +470 -0
- package/dist/chunk-FJSWYIR7.cjs +482 -0
- package/dist/chunk-FK6GO24V.cjs +54 -0
- package/dist/{chunk-MVIWBEJF.mjs → chunk-FVZGEVTO.mjs} +7 -7
- package/dist/chunk-FXUUWYAX.cjs +654 -0
- package/dist/chunk-G3HRIVEY.cjs +395 -0
- package/dist/chunk-G643DQCH.cjs +13 -0
- package/dist/chunk-G7HXGLEC.cjs +175 -0
- package/dist/chunk-GDSHDTJ4.cjs +152 -0
- package/dist/chunk-GPVTX3HT.cjs +1415 -0
- package/dist/chunk-H6G5INWM.cjs +1094 -0
- package/dist/{chunk-DHDVMXYK.mjs → chunk-HALDNTIV.mjs} +30 -4
- package/dist/chunk-HBTUGXHS.cjs +180 -0
- package/dist/chunk-HREOKQWT.cjs +45 -0
- package/dist/{chunk-5QOEPUYE.mjs → chunk-HSDL2AUR.mjs} +1 -1
- package/dist/chunk-I4J452B7.cjs +435 -0
- package/dist/chunk-I57LW5VZ.cjs +94 -0
- package/dist/chunk-I5YBCWQ6.cjs +40 -0
- package/dist/chunk-I7PUUDGY.cjs +389 -0
- package/dist/chunk-IAMRBF3Z.cjs +86 -0
- package/dist/chunk-IQXFRNY2.cjs +169 -0
- package/dist/chunk-ISTFC3MZ.cjs +1357 -0
- package/dist/chunk-IXTFU4PL.cjs +2355 -0
- package/dist/chunk-J3LOGE4T.cjs +42 -0
- package/dist/chunk-J7FSKED3.cjs +93 -0
- package/dist/chunk-JDNHKPTD.cjs +22 -0
- package/dist/chunk-JSROZYYO.cjs +164 -0
- package/dist/chunk-K6FNHVDR.cjs +696 -0
- package/dist/chunk-KGZIORNL.cjs +43 -0
- package/dist/chunk-KR6CKSXT.cjs +15 -0
- package/dist/chunk-KROWKCUH.cjs +185 -0
- package/dist/chunk-KVFPGF2M.cjs +46 -0
- package/dist/{chunk-TNBAYAWO.mjs → chunk-L4DVIHOC.mjs} +1 -1
- package/dist/chunk-LCCBO7PJ.cjs +46 -0
- package/dist/chunk-LIUGYUX3.cjs +22 -0
- package/dist/chunk-LTNGXMQ6.cjs +55 -0
- package/dist/chunk-M2L4MYDQ.cjs +14 -0
- package/dist/chunk-MCJLA63J.cjs +1 -0
- package/dist/chunk-MKB2EGIR.cjs +148 -0
- package/dist/chunk-MQ3H6LT5.cjs +202 -0
- package/dist/chunk-MT763TDW.cjs +43 -0
- package/dist/{chunk-XWAYMDLB.mjs → chunk-MVUREHPN.mjs} +1 -1
- package/dist/chunk-MWSK6C4J.cjs +18 -0
- package/dist/chunk-MWWVKDW3.cjs +169 -0
- package/dist/{chunk-6VQIKZZO.mjs → chunk-N255VYFP.mjs} +1 -1
- package/dist/chunk-NBAHDVOJ.cjs +2040 -0
- package/dist/chunk-NO3WWW3N.cjs +192 -0
- package/dist/chunk-NSFC3LHB.cjs +10244 -0
- package/dist/chunk-NZKJGRB3.cjs +230 -0
- package/dist/chunk-OAVTUMJP.cjs +1496 -0
- package/dist/{chunk-SXHV42UQ.mjs → chunk-OFEY6KHO.mjs} +88 -13
- package/dist/chunk-OHY2ZWUG.cjs +25 -0
- package/dist/chunk-OI6CMLWX.cjs +47 -0
- package/dist/chunk-OWOUTKIJ.cjs +558 -0
- package/dist/chunk-OX6O6WVA.cjs +74 -0
- package/dist/chunk-OXSIH4D6.cjs +476 -0
- package/dist/chunk-OYDRPBBV.cjs +453 -0
- package/dist/chunk-OYEUREB6.cjs +35 -0
- package/dist/chunk-PCOTGFSM.cjs +139 -0
- package/dist/{chunk-76DG3LF3.mjs → chunk-PGQBL5DN.mjs} +1 -1
- package/dist/chunk-PZYCPSCC.cjs +35 -0
- package/dist/chunk-QBK2AA4U.cjs +445 -0
- package/dist/{chunk-UTBVHYS3.mjs → chunk-QBPKKQTD.mjs} +2 -2
- package/dist/chunk-QBPXNZGV.cjs +487 -0
- package/dist/chunk-QNPEUFHQ.cjs +27 -0
- package/dist/chunk-QZRVZSPN.cjs +236 -0
- package/dist/chunk-R5A5KNVX.cjs +20 -0
- package/dist/chunk-R5JIFR6B.cjs +42 -0
- package/dist/chunk-R6AIILII.cjs +193 -0
- package/dist/chunk-RFYO7QUD.cjs +9 -0
- package/dist/chunk-RG3ZOTG5.cjs +34 -0
- package/dist/chunk-ROUTX2E5.cjs +390 -0
- package/dist/chunk-RTHIVJ2G.cjs +54 -0
- package/dist/chunk-S27FMYAM.cjs +644 -0
- package/dist/chunk-S3A45T7F.cjs +166 -0
- package/dist/chunk-S3JO3N4H.cjs +17 -0
- package/dist/chunk-SK35NQKK.cjs +27 -0
- package/dist/chunk-SU7MH53P.cjs +180 -0
- package/dist/chunk-SVRTJOUF.cjs +113 -0
- package/dist/chunk-SWN467MP.cjs +18 -0
- package/dist/chunk-SYQ3MOWW.cjs +73 -0
- package/dist/chunk-T5CERMEH.cjs +417 -0
- package/dist/chunk-TFAXUHWX.cjs +206 -0
- package/dist/chunk-TIWHTW3Q.cjs +24 -0
- package/dist/chunk-TKJZFIML.cjs +20 -0
- package/dist/chunk-TKNSDBBN.cjs +193 -0
- package/dist/chunk-U4KT7QP3.cjs +23 -0
- package/dist/chunk-U5BMPGS3.cjs +862 -0
- package/dist/chunk-UJ2C4ICS.cjs +277 -0
- package/dist/chunk-UQZ4AYTH.cjs +168 -0
- package/dist/chunk-US2QVW3E.cjs +36 -0
- package/dist/{chunk-QGVJVSNX.mjs → chunk-V4AICMQA.mjs} +2 -2
- package/dist/chunk-VB6UCX3V.cjs +421 -0
- package/dist/chunk-VEKFLAQM.cjs +300 -0
- package/dist/chunk-VQDBNVOO.cjs +14 -0
- package/dist/chunk-W4E7WMXE.cjs +71 -0
- package/dist/chunk-WJ3HK3LJ.cjs +1102 -0
- package/dist/chunk-WMAPPDMM.cjs +28 -0
- package/dist/chunk-WMOGFOUJ.cjs +223 -0
- package/dist/chunk-WPYFSQKK.cjs +37 -0
- package/dist/{chunk-56DAX2BE.mjs → chunk-WZXN4R5Y.mjs} +24 -13
- package/dist/chunk-XDGMADQM.cjs +14225 -0
- package/dist/chunk-XGC343EY.cjs +443 -0
- package/dist/chunk-XSKZORAS.cjs +727 -0
- package/dist/chunk-XWAWFQFS.cjs +82 -0
- package/dist/chunk-Y4YMF2NQ.cjs +460 -0
- package/dist/chunk-Y4YWHNKU.cjs +250 -0
- package/dist/chunk-Y53ZSFN6.cjs +504 -0
- package/dist/chunk-YA6LLTIJ.cjs +411 -0
- package/dist/chunk-YFPGHF5F.cjs +202 -0
- package/dist/chunk-YJRZR7VU.cjs +28 -0
- package/dist/chunk-YTAABQEV.cjs +1 -0
- package/dist/chunk-YX3DBN4M.cjs +18 -0
- package/dist/chunk-YZTASLPQ.cjs +64 -0
- package/dist/chunk-Z5HIWVDP.cjs +2173 -0
- package/dist/chunk-ZEG3OPIB.cjs +93 -0
- package/dist/chunk-ZMN3H73H.cjs +155 -0
- package/dist/client/lifecycle.cjs +6 -35
- package/dist/client-plugins.cjs +7 -448
- package/dist/client.cjs +171 -9808
- package/dist/config.cjs +8 -36
- package/dist/cron.cjs +24 -491
- package/dist/deferred.cjs +26 -475
- package/dist/deployment.cjs +39 -210
- package/dist/devtools-5KGPDVKL.cjs +388 -0
- package/dist/{devtools-UFVTMQX5.mjs → devtools-FY5R7TQ4.mjs} +3 -3
- package/dist/devtools-client-4WAPJY5L.cjs +254 -0
- package/dist/devtools-ui-5GBDIGMK.cjs +1296 -0
- package/dist/docs.cjs +46 -5657
- package/dist/docs.mjs +5 -5
- package/dist/env-types.cjs +5 -226
- package/dist/env.cjs +21 -338
- package/dist/environment/vite.cjs +8 -372
- package/dist/environment.cjs +12 -94
- package/dist/font.cjs +13 -63
- package/dist/headers.cjs +7 -123
- package/dist/i18n/client.cjs +55 -294
- package/dist/i18n/index.cjs +22 -209
- package/dist/i18n/server.cjs +22 -745
- package/dist/image/server.cjs +13 -729
- package/dist/image/sharp.cjs +33 -171
- package/dist/image.cjs +41 -85
- package/dist/index.cjs +1151 -68080
- package/dist/index.mjs +14 -14
- package/dist/instrumentation.cjs +12 -138
- package/dist/integration-orm-55F7CII5.cjs +13 -0
- package/dist/integrations.cjs +55 -4090
- package/dist/internal/app-markdown-runtime.cjs +27 -224
- package/dist/internal/app-markdown-runtime.mjs +2 -2
- package/dist/internal/build-runtime.cjs +120 -52259
- package/dist/internal/build-runtime.mjs +13 -13
- package/dist/internal/cli-runtime.cjs +67 -13811
- package/dist/internal/cli-runtime.mjs +7 -7
- package/dist/internal/client-error-overlay.cjs +80 -733
- package/dist/internal/client-error-overlay.mjs +1 -1
- package/dist/internal/client-runtime.cjs +81 -913
- package/dist/internal/compression-runtime.cjs +8 -214
- package/dist/internal/config-runtime.cjs +42 -6547
- package/dist/internal/config-runtime.mjs +3 -3
- package/dist/internal/docs-precompiled-runtime.cjs +26 -46
- package/dist/internal/infra-analytics-runtime.cjs +10 -536
- package/dist/internal/isolated-boundary.cjs +14 -414
- package/dist/internal/metadata-image-runtime.cjs +7 -285
- package/dist/internal/product-telemetry-runtime.cjs +42 -97
- package/dist/internal/product-telemetry-runtime.mjs +1 -1
- package/dist/internal/production-node-env.cjs +6 -63
- package/dist/internal/production-runtime.cjs +418 -7133
- package/dist/internal/production-runtime.mjs +3 -3
- package/dist/internal/request-cookies.cjs +6 -54
- package/dist/json-ld.cjs +24 -50
- package/dist/layers-E4WPJNY5.cjs +17 -0
- package/dist/manager-G4B2IPYE.cjs +14 -0
- package/dist/markdown.cjs +21 -547
- package/dist/markdown.mjs +1 -1
- package/dist/middleware.cjs +36 -2995
- package/dist/navigation.cjs +22 -2588
- package/dist/nitro-4I2MYLY2.cjs +652 -0
- package/dist/observability.cjs +22 -614
- package/dist/og.cjs +5 -28
- package/dist/plugin.cjs +106 -37442
- package/dist/plugin.mjs +9 -9
- package/dist/query/client.cjs +113 -449
- package/dist/query/index.cjs +26 -288
- package/dist/query/parsers.cjs +23 -247
- package/dist/query/server.cjs +36 -298
- package/dist/renderer/react/client.cjs +9 -43
- package/dist/renderer/react/server.cjs +40 -103
- package/dist/renderer/react/vite.cjs +7 -29
- package/dist/renderer-client.cjs +126 -4295
- package/dist/renderer.cjs +31 -249
- package/dist/request.cjs +5 -68
- package/dist/router.cjs +11 -474
- package/dist/routes.cjs +42 -2461
- package/dist/{schema-dev-notice-2IE2F2XI.mjs → schema-dev-notice-O67CPXJ6.mjs} +1 -1
- package/dist/schema-dev-notice-Y7MQEFGN.cjs +56 -0
- package/dist/schema.cjs +6 -33
- package/dist/search-client-G3RICOFU.cjs +13 -0
- package/dist/server-action-security.cjs +25 -541
- package/dist/server-fn-client.cjs +6 -337
- package/dist/server-fn.cjs +32 -1841
- package/dist/server-plugins.cjs +15 -884
- package/dist/server-query-client.cjs +15 -1883
- package/dist/server-query.cjs +16 -1838
- package/dist/server.cjs +296 -44681
- package/dist/server.mjs +11 -11
- package/dist/storage.cjs +57 -576
- package/dist/testing.cjs +89 -3186
- package/dist/theme/client.cjs +13 -108
- package/dist/theme/index.cjs +6 -68
- package/dist/theme/runtime.cjs +13 -78
- package/dist/theme/server.cjs +10 -179
- package/dist/version.cjs +4 -32
- package/dist/version.mjs +1 -1
- package/dist/vite.cjs +119 -37773
- package/dist/vite.mjs +9 -9
- package/dist/workflows.cjs +19 -1040
- 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;
|