@farm.js/core 0.1.43 → 0.1.44
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/{agent-mcp-3KDz4hr9.d.mts → agent-mcp-CWI-awqd.d.mts} +1 -1
- package/dist/{agent-mcp-6yRebHk7.d.ts → agent-mcp-EnzWYv_X.d.ts} +1 -1
- package/dist/agent-runtime.cjs +3 -2
- package/dist/agent-runtime.d.mts +1 -1
- package/dist/agent-runtime.d.ts +1 -1
- package/dist/agent-runtime.mjs +2 -1
- package/dist/api/route-manager.d.mts +3 -3
- package/dist/api/route-manager.d.ts +3 -3
- package/dist/api/runtime.d.mts +2 -2
- package/dist/api/runtime.d.ts +2 -2
- package/dist/api.d.mts +3 -3
- package/dist/api.d.ts +3 -3
- package/dist/{app-8Db1zR-2.d.ts → app-CAN_2Cqo.d.ts} +4 -4
- package/dist/{app-DlTWv4cn.d.mts → app-DG3dE8v5.d.mts} +4 -4
- package/dist/{app-manifest-TRzS7ZZ9.d.mts → app-manifest-8x5VjZ0L.d.mts} +1 -1
- package/dist/{app-manifest-cO2jkG1F.d.ts → app-manifest-DazjgQya.d.ts} +1 -1
- package/dist/app-markdown.d.mts +2 -2
- package/dist/app-markdown.d.ts +2 -2
- package/dist/{chunk-OYSGGV6O.mjs → chunk-2MKTHHEU.mjs} +5 -5
- package/dist/{chunk-AX7S67YV.mjs → chunk-37VKVISD.mjs} +9 -173
- package/dist/chunk-3SAWHWDH.cjs +186 -0
- package/dist/{chunk-YBDSTNMH.cjs → chunk-3YJMBQ27.cjs} +1 -1
- package/dist/{chunk-JDJAPCR2.cjs → chunk-5GBL2LKD.cjs} +92 -90
- package/dist/{chunk-VIVQERJ5.cjs → chunk-AI3WVJNP.cjs} +57 -57
- package/dist/{chunk-RHGK2JEN.cjs → chunk-B6XAA7V6.cjs} +18 -182
- package/dist/{chunk-RQYTOFQM.cjs → chunk-CW6SNEN2.cjs} +2 -2
- package/dist/{chunk-T7J7E63D.cjs → chunk-E22SWCXB.cjs} +2 -2
- package/dist/{chunk-4OCEMK72.mjs → chunk-ERA5RP3L.mjs} +10 -8
- package/dist/{chunk-RACQTC7K.cjs → chunk-GA6JM4L6.cjs} +52 -52
- package/dist/chunk-GZWHCWLB.mjs +186 -0
- package/dist/{chunk-XARSG2TG.mjs → chunk-IOMVXBLZ.mjs} +1 -1
- package/dist/{chunk-VLXNGUKO.mjs → chunk-JVXW76I7.mjs} +1 -1
- package/dist/{chunk-LVABUXLA.cjs → chunk-LPE3ED4R.cjs} +2 -2
- package/dist/{chunk-NXO75WY4.mjs → chunk-OYZGFRPA.mjs} +1 -1
- package/dist/{chunk-7SCCY6SI.mjs → chunk-QGFKXYC7.mjs} +3 -3
- package/dist/{chunk-YGZH4T2X.mjs → chunk-R4J2UOV4.mjs} +1 -1
- package/dist/{chunk-BKPXWRTT.cjs → chunk-T44ECMEP.cjs} +6 -6
- package/dist/{chunk-4MRQ5OKQ.mjs → chunk-WWYXIECF.mjs} +1 -1
- package/dist/{chunk-GVNCWSQV.cjs → chunk-XPSGGECF.cjs} +4 -4
- package/dist/{chunk-ZYWJIPKQ.mjs → chunk-XUHIRBXY.mjs} +1 -1
- package/dist/{chunk-TESO7EFU.mjs → chunk-YFLBG2W3.mjs} +2 -2
- package/dist/{chunk-HUMEHX24.cjs → chunk-YN2QEMMO.cjs} +2 -2
- package/dist/{client-plugins-kwQuZcWq.d.ts → client-plugins-BGS0wqzc.d.ts} +16 -15
- package/dist/{client-plugins-Cv0OJtnM.d.mts → client-plugins-nQ0tYt4l.d.mts} +16 -15
- package/dist/client-plugins.d.mts +1 -1
- package/dist/client-plugins.d.ts +1 -1
- package/dist/client.d.mts +5 -5
- package/dist/client.d.ts +5 -5
- package/dist/config.d.mts +1 -1
- package/dist/config.d.ts +1 -1
- package/dist/{devtools-MLB3JJMC.cjs → devtools-5Q7VRKVH.cjs} +4 -3
- package/dist/{devtools-M22FEFPK.mjs → devtools-LJ4IGYGW.mjs} +3 -2
- package/dist/docs.cjs +5 -4
- package/dist/docs.d.mts +2 -2
- package/dist/docs.d.ts +2 -2
- package/dist/docs.mjs +4 -3
- package/dist/{index-DAl0QTZS.d.ts → index-Cy26isrh.d.ts} +1 -1
- package/dist/{index-CQOp8EmB.d.mts → index-y1jgR74U.d.mts} +1 -1
- package/dist/index.cjs +13 -11
- package/dist/index.d.mts +15 -15
- package/dist/index.d.ts +15 -15
- package/dist/index.mjs +14 -12
- package/dist/integrations.cjs +5 -3
- package/dist/integrations.d.mts +1 -1
- package/dist/integrations.d.ts +1 -1
- package/dist/integrations.mjs +6 -4
- package/dist/internal/app-markdown-runtime.d.mts +2 -2
- package/dist/internal/app-markdown-runtime.d.ts +2 -2
- package/dist/internal/build-runtime.cjs +11 -10
- package/dist/internal/build-runtime.d.mts +3 -3
- package/dist/internal/build-runtime.d.ts +3 -3
- package/dist/internal/build-runtime.mjs +10 -9
- package/dist/internal/cli-runtime.cjs +5 -4
- package/dist/internal/cli-runtime.mjs +4 -3
- package/dist/internal/client-error-overlay.cjs +4 -4
- package/dist/internal/client-error-overlay.mjs +1 -1
- package/dist/internal/compression-runtime.d.mts +1 -1
- package/dist/internal/compression-runtime.d.ts +1 -1
- package/dist/internal/config-runtime.cjs +4 -3
- package/dist/internal/config-runtime.d.mts +2 -2
- package/dist/internal/config-runtime.d.ts +2 -2
- package/dist/internal/config-runtime.mjs +3 -2
- package/dist/internal/product-telemetry-runtime.cjs +2 -2
- package/dist/internal/product-telemetry-runtime.mjs +1 -1
- package/dist/internal/production-runtime.cjs +5 -11
- package/dist/internal/production-runtime.d.mts +10 -10
- package/dist/internal/production-runtime.d.ts +10 -10
- package/dist/internal/production-runtime.mjs +4 -10
- package/dist/markdown.d.mts +1 -1
- package/dist/markdown.d.ts +1 -1
- package/dist/middleware.d.mts +3 -3
- package/dist/middleware.d.ts +3 -3
- package/dist/navigation.d.mts +4 -4
- package/dist/navigation.d.ts +4 -4
- package/dist/plugin.cjs +7 -6
- package/dist/plugin.d.mts +3 -3
- package/dist/plugin.d.ts +3 -3
- package/dist/plugin.mjs +6 -5
- package/dist/{production-runtime-5nArjFpn.d.ts → production-runtime-BVMDgHrA.d.ts} +1 -1
- package/dist/{production-runtime-BzsF2z5F.d.mts → production-runtime-ClFA_1KQ.d.mts} +1 -1
- package/dist/{render-plan-B9yQorV4.d.mts → render-plan-CoSovy_O.d.mts} +1 -1
- package/dist/{render-plan-fg6E_HvL.d.ts → render-plan-y2DefWf8.d.ts} +1 -1
- package/dist/renderer-client.d.mts +3 -3
- package/dist/renderer-client.d.ts +3 -3
- package/dist/{request-gz8vFK0n.d.ts → request-aG5Wovm5.d.ts} +1 -1
- package/dist/{request-C4j_g-BH.d.mts → request-cNM09Q7e.d.mts} +1 -1
- package/dist/request.d.mts +2 -2
- package/dist/request.d.ts +2 -2
- package/dist/{route-rendering-DamyKVi3.d.ts → route-rendering-B3uQmCWX.d.ts} +1 -1
- package/dist/{route-rendering-iTTOwz1f.d.mts → route-rendering-EyInfsjI.d.mts} +1 -1
- package/dist/{router-OVjDqVo8.d.ts → router-DNUf-Bg1.d.ts} +1 -1
- package/dist/{router-EoSzHlos.d.mts → router-Devibh4r.d.mts} +1 -1
- package/dist/routes.d.mts +1 -1
- package/dist/routes.d.ts +1 -1
- package/dist/{rsc-pipeline-YCDRJME4.cjs → rsc-pipeline-4ZJ6GUVQ.cjs} +5 -4
- package/dist/{rsc-pipeline-LK4K5JFK.mjs → rsc-pipeline-KK6GFDET.mjs} +4 -3
- package/dist/{runtime-DDH4tiuF.d.mts → runtime-9KZb8AI5.d.mts} +1 -1
- package/dist/{runtime-CwiuozLd.d.ts → runtime-CLr9P5kn.d.ts} +1 -1
- package/dist/server-plugins.d.mts +2 -2
- package/dist/server-plugins.d.ts +2 -2
- package/dist/server.cjs +22 -21
- package/dist/server.d.mts +9 -9
- package/dist/server.d.ts +9 -9
- package/dist/server.mjs +8 -7
- package/dist/{spa-router-Br4qFCWf.d.mts → spa-router-BIxh4IY-.d.mts} +2 -2
- package/dist/{spa-router-BsWUKH73.d.ts → spa-router-Ds6R_oe-.d.ts} +2 -2
- package/dist/{ssg-Donyfcxy.d.mts → ssg-ByrOVYdM.d.mts} +2 -2
- package/dist/{ssg-Csy2vwpi.d.ts → ssg-XnMHCyEc.d.ts} +2 -2
- package/dist/testing.d.mts +1 -1
- package/dist/testing.d.ts +1 -1
- package/dist/{utils-Luk72LXC.d.ts → utils-BN70ueSN.d.ts} +1 -1
- package/dist/{utils-d_k1ZZw0.d.mts → utils-BrjR5xRs.d.mts} +1 -1
- package/dist/version.cjs +2 -2
- package/dist/version.mjs +1 -1
- package/dist/vite.cjs +7 -6
- package/dist/vite.d.mts +4 -4
- package/dist/vite.d.ts +4 -4
- package/dist/vite.mjs +6 -5
- package/package.json +1 -1
|
@@ -0,0 +1,186 @@
|
|
|
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
|
+
|
|
4
|
+
var _chunkALPWLT27cjs = require('./chunk-ALPWLT27.cjs');
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
var _chunkKNBBQHO2cjs = require('./chunk-KNBBQHO2.cjs');
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
var _chunkUS2QVW3Ecjs = require('./chunk-US2QVW3E.cjs');
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
var _chunkBIDYX3SLcjs = require('./chunk-BIDYX3SL.cjs');
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
var _chunkI57LW5VZcjs = require('./chunk-I57LW5VZ.cjs');
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
var _chunkS3JO3N4Hcjs = require('./chunk-S3JO3N4H.cjs');
|
|
22
|
+
|
|
23
|
+
// src/integration-middleware-matcher.ts
|
|
24
|
+
function isFarmIntegration(value) {
|
|
25
|
+
return !!value && typeof value === "object" && value.kind === "farm-integration";
|
|
26
|
+
}
|
|
27
|
+
_chunkS3JO3N4Hcjs.__name.call(void 0, isFarmIntegration, "isFarmIntegration");
|
|
28
|
+
var compiledIntegrationGuards = /* @__PURE__ */ new WeakMap();
|
|
29
|
+
var noMiddlewareContext = {};
|
|
30
|
+
function resolveIntegrationMiddlewareParams(entry, pathname, config) {
|
|
31
|
+
const params = resolveMatcherParams(entry.matcher, pathname);
|
|
32
|
+
if (params || !entry.matcher) return params;
|
|
33
|
+
const routePathname = resolveIntegrationRoutePathname(pathname, config);
|
|
34
|
+
const candidates = [.../* @__PURE__ */ new Set([pathname, ...getIntegrationAPIPathnames(config)(routePathname)])];
|
|
35
|
+
for (const candidate of candidates) {
|
|
36
|
+
if (candidate === pathname) continue;
|
|
37
|
+
const routeParams = resolveMatcherParams(entry.matcher, candidate);
|
|
38
|
+
if (routeParams) return routeParams;
|
|
39
|
+
}
|
|
40
|
+
let compiled = compiledIntegrationGuards.get(entry);
|
|
41
|
+
if (!compiled) {
|
|
42
|
+
compiled = _chunkALPWLT27cjs.compileMiddlewareConfig.call(void 0, {
|
|
43
|
+
matcher: typeof entry.matcher === "string" ? entry.matcher : [...entry.matcher]
|
|
44
|
+
});
|
|
45
|
+
compiledIntegrationGuards.set(entry, compiled);
|
|
46
|
+
}
|
|
47
|
+
for (const candidate of candidates) {
|
|
48
|
+
const result = _chunkALPWLT27cjs.matchesCompiledMiddlewareConfig.call(void 0, candidate, compiled, noMiddlewareContext);
|
|
49
|
+
if (result.matched) return _nullishCoalesce(result.params, () => ( {}));
|
|
50
|
+
}
|
|
51
|
+
return null;
|
|
52
|
+
}
|
|
53
|
+
_chunkS3JO3N4Hcjs.__name.call(void 0, resolveIntegrationMiddlewareParams, "resolveIntegrationMiddlewareParams");
|
|
54
|
+
function integrationMiddlewareMayHandlePath(integrations, pathname, catchAllProbe) {
|
|
55
|
+
if (!integrations) return false;
|
|
56
|
+
const covers = /* @__PURE__ */ _chunkS3JO3N4Hcjs.__name.call(void 0, (entry) => resolveIntegrationMiddlewareParams(entry, pathname, void 0) !== null, "covers");
|
|
57
|
+
return Object.values(integrations).some(
|
|
58
|
+
(integration) => isFarmIntegration(integration) && (integration.middleware || []).some((entry) => {
|
|
59
|
+
if (catchAllProbe === void 0) return covers(entry);
|
|
60
|
+
if (!entry.matcher) return false;
|
|
61
|
+
const specific = (Array.isArray(entry.matcher) ? entry.matcher : [entry.matcher]).filter(
|
|
62
|
+
(matcher) => resolveIntegrationMiddlewareParams({ matcher }, catchAllProbe, void 0) === null
|
|
63
|
+
);
|
|
64
|
+
return specific.length > 0 && covers({ matcher: specific });
|
|
65
|
+
})
|
|
66
|
+
);
|
|
67
|
+
}
|
|
68
|
+
_chunkS3JO3N4Hcjs.__name.call(void 0, integrationMiddlewareMayHandlePath, "integrationMiddlewareMayHandlePath");
|
|
69
|
+
var FARM_INTEGRATION_API_BASE_PATH_KEY = "__farmAPIServerBasePath";
|
|
70
|
+
var integrationAPIPathnames = /* @__PURE__ */ new WeakMap();
|
|
71
|
+
function getIntegrationAPIPathnames(config) {
|
|
72
|
+
if (!config) return (pathname) => [pathname];
|
|
73
|
+
let toPathnames = integrationAPIPathnames.get(config);
|
|
74
|
+
if (!toPathnames) {
|
|
75
|
+
const recorded = config[FARM_INTEGRATION_API_BASE_PATH_KEY];
|
|
76
|
+
const api = config.api;
|
|
77
|
+
const serverBasePath = typeof recorded === "string" ? recorded : typeof _optionalChain([api, 'optionalAccess', _ => _.baseURL]) === "string" && typeof api.basePath === "string" ? _chunkKNBBQHO2cjs.resolveFarmAPIServerBasePath.call(void 0, api) : void 0;
|
|
78
|
+
toPathnames = _chunkKNBBQHO2cjs.createFarmAPIMiddlewarePathnames.call(void 0, serverBasePath);
|
|
79
|
+
integrationAPIPathnames.set(config, toPathnames);
|
|
80
|
+
}
|
|
81
|
+
return toPathnames;
|
|
82
|
+
}
|
|
83
|
+
_chunkS3JO3N4Hcjs.__name.call(void 0, getIntegrationAPIPathnames, "getIntegrationAPIPathnames");
|
|
84
|
+
function resolveIntegrationRoutePathname(pathname, config) {
|
|
85
|
+
const basePath = typeof _optionalChain([config, 'optionalAccess', _2 => _2.basePath]) === "string" ? config.basePath : void 0;
|
|
86
|
+
let routePathname = basePath ? _chunkI57LW5VZcjs.stripFarmBasePath.call(void 0, pathname, basePath) : pathname;
|
|
87
|
+
const i18n = _optionalChain([config, 'optionalAccess', _3 => _3.i18n]);
|
|
88
|
+
if (i18n && Array.isArray(i18n.locales) && i18n.locales.length > 0) {
|
|
89
|
+
routePathname = _chunkBIDYX3SLcjs.resolveFarmLocalePath.call(void 0, routePathname, {
|
|
90
|
+
locales: i18n.locales,
|
|
91
|
+
defaultLocale: i18n.defaultLocale,
|
|
92
|
+
routing: i18n.routing || "prefix-except-default"
|
|
93
|
+
}).pathname;
|
|
94
|
+
}
|
|
95
|
+
return routePathname;
|
|
96
|
+
}
|
|
97
|
+
_chunkS3JO3N4Hcjs.__name.call(void 0, resolveIntegrationRoutePathname, "resolveIntegrationRoutePathname");
|
|
98
|
+
function resolveMatcherParams(matcher, pathname) {
|
|
99
|
+
if (!matcher) {
|
|
100
|
+
return {};
|
|
101
|
+
}
|
|
102
|
+
const list = Array.isArray(matcher) ? matcher : [matcher];
|
|
103
|
+
let canonicalPathname;
|
|
104
|
+
let canonicalSegments;
|
|
105
|
+
for (const item of list) {
|
|
106
|
+
if (item === "/(.*)" || item === "*") {
|
|
107
|
+
return {};
|
|
108
|
+
}
|
|
109
|
+
if (item.endsWith("(.*)")) {
|
|
110
|
+
_nullishCoalesce(canonicalPathname, () => ( (canonicalPathname = _chunkUS2QVW3Ecjs.canonicalizeRequestPathname.call(void 0, pathname))));
|
|
111
|
+
const prefix = item.slice(0, -4);
|
|
112
|
+
if (canonicalPathname === prefix || canonicalPathname.startsWith(`${prefix}/`)) {
|
|
113
|
+
return {};
|
|
114
|
+
}
|
|
115
|
+
continue;
|
|
116
|
+
}
|
|
117
|
+
_nullishCoalesce(canonicalSegments, () => ( (canonicalSegments = _chunkUS2QVW3Ecjs.canonicalizeRequestPathSegments.call(void 0, pathname))));
|
|
118
|
+
const params = matchPathSegments(splitPath(item), canonicalSegments);
|
|
119
|
+
if (params) {
|
|
120
|
+
return params;
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
return null;
|
|
124
|
+
}
|
|
125
|
+
_chunkS3JO3N4Hcjs.__name.call(void 0, resolveMatcherParams, "resolveMatcherParams");
|
|
126
|
+
function matchPathSegments(routeSegments, pathSegments) {
|
|
127
|
+
const params = {};
|
|
128
|
+
let routeIndex = 0;
|
|
129
|
+
let pathIndex = 0;
|
|
130
|
+
while (routeIndex < routeSegments.length && pathIndex < pathSegments.length) {
|
|
131
|
+
const routeSegment = routeSegments[routeIndex];
|
|
132
|
+
const pathSegment = pathSegments[pathIndex];
|
|
133
|
+
if (isCatchAllSegment(routeSegment)) {
|
|
134
|
+
params[getSegmentParamName(routeSegment)] = pathSegments.slice(pathIndex);
|
|
135
|
+
return params;
|
|
136
|
+
}
|
|
137
|
+
if (isDynamicSegment(routeSegment)) {
|
|
138
|
+
params[getSegmentParamName(routeSegment)] = pathSegment;
|
|
139
|
+
routeIndex += 1;
|
|
140
|
+
pathIndex += 1;
|
|
141
|
+
continue;
|
|
142
|
+
}
|
|
143
|
+
if (routeSegment !== pathSegment) {
|
|
144
|
+
return null;
|
|
145
|
+
}
|
|
146
|
+
routeIndex += 1;
|
|
147
|
+
pathIndex += 1;
|
|
148
|
+
}
|
|
149
|
+
if (routeIndex === routeSegments.length && pathIndex === pathSegments.length) {
|
|
150
|
+
return params;
|
|
151
|
+
}
|
|
152
|
+
if (routeIndex === routeSegments.length - 1 && isCatchAllSegment(routeSegments[routeIndex])) {
|
|
153
|
+
params[getSegmentParamName(routeSegments[routeIndex])] = [];
|
|
154
|
+
return params;
|
|
155
|
+
}
|
|
156
|
+
return null;
|
|
157
|
+
}
|
|
158
|
+
_chunkS3JO3N4Hcjs.__name.call(void 0, matchPathSegments, "matchPathSegments");
|
|
159
|
+
function splitPath(value) {
|
|
160
|
+
return value.split("/").filter(Boolean);
|
|
161
|
+
}
|
|
162
|
+
_chunkS3JO3N4Hcjs.__name.call(void 0, splitPath, "splitPath");
|
|
163
|
+
function isDynamicSegment(segment) {
|
|
164
|
+
return segment.startsWith("[") && segment.endsWith("]");
|
|
165
|
+
}
|
|
166
|
+
_chunkS3JO3N4Hcjs.__name.call(void 0, isDynamicSegment, "isDynamicSegment");
|
|
167
|
+
function isCatchAllSegment(segment) {
|
|
168
|
+
return segment.startsWith("[...") && segment.endsWith("]");
|
|
169
|
+
}
|
|
170
|
+
_chunkS3JO3N4Hcjs.__name.call(void 0, isCatchAllSegment, "isCatchAllSegment");
|
|
171
|
+
function getSegmentParamName(segment) {
|
|
172
|
+
if (isCatchAllSegment(segment)) {
|
|
173
|
+
return segment.slice(4, -1);
|
|
174
|
+
}
|
|
175
|
+
return segment.slice(1, -1);
|
|
176
|
+
}
|
|
177
|
+
_chunkS3JO3N4Hcjs.__name.call(void 0, getSegmentParamName, "getSegmentParamName");
|
|
178
|
+
|
|
179
|
+
|
|
180
|
+
|
|
181
|
+
|
|
182
|
+
|
|
183
|
+
|
|
184
|
+
|
|
185
|
+
|
|
186
|
+
exports.isFarmIntegration = isFarmIntegration; exports.resolveIntegrationMiddlewareParams = resolveIntegrationMiddlewareParams; exports.integrationMiddlewareMayHandlePath = integrationMiddlewareMayHandlePath; exports.FARM_INTEGRATION_API_BASE_PATH_KEY = FARM_INTEGRATION_API_BASE_PATH_KEY; exports.matchPathSegments = matchPathSegments; exports.splitPath = splitPath;
|