one 1.1.390 → 1.1.391
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/cjs/Root.cjs +6 -17
- package/dist/cjs/Root.js +9 -13
- package/dist/cjs/Root.js.map +1 -1
- package/dist/cjs/Root.native.js +4 -12
- package/dist/cjs/Root.native.js.map +1 -1
- package/dist/cjs/fork/NavigationContainer.cjs +49 -31
- package/dist/cjs/fork/NavigationContainer.js +40 -21
- package/dist/cjs/fork/NavigationContainer.js.map +2 -2
- package/dist/cjs/fork/NavigationContainer.native.js +51 -29
- package/dist/cjs/fork/NavigationContainer.native.js.map +2 -2
- package/dist/cjs/fork/createMemoryHistory.cjs +4 -3
- package/dist/cjs/fork/createMemoryHistory.js +3 -2
- package/dist/cjs/fork/createMemoryHistory.js.map +1 -1
- package/dist/cjs/fork/createMemoryHistory.native.js +8 -4
- package/dist/cjs/fork/createMemoryHistory.native.js.map +2 -2
- package/dist/cjs/fork/extractPathFromURL.cjs +48 -28
- package/dist/cjs/fork/extractPathFromURL.js +44 -21
- package/dist/cjs/fork/extractPathFromURL.js.map +2 -2
- package/dist/cjs/fork/extractPathFromURL.native.js +58 -26
- package/dist/cjs/fork/extractPathFromURL.native.js.map +2 -2
- package/dist/cjs/fork/findFocusedRoute.js.map +1 -1
- package/dist/cjs/fork/findFocusedRoute.native.js.map +1 -1
- package/dist/cjs/fork/getPathFromState-mods.cjs +65 -0
- package/dist/cjs/fork/getPathFromState-mods.js +56 -0
- package/dist/cjs/fork/getPathFromState-mods.js.map +6 -0
- package/dist/cjs/fork/getPathFromState-mods.native.js +70 -0
- package/dist/cjs/fork/getPathFromState-mods.native.js.map +6 -0
- package/dist/cjs/fork/getPathFromState.cjs +75 -224
- package/dist/cjs/fork/getPathFromState.js +68 -223
- package/dist/cjs/fork/getPathFromState.js.map +2 -2
- package/dist/cjs/fork/getPathFromState.native.js +79 -261
- package/dist/cjs/fork/getPathFromState.native.js.map +2 -2
- package/dist/cjs/fork/getStateFromPath-mods.cjs +187 -0
- package/dist/cjs/fork/getStateFromPath-mods.js +199 -0
- package/dist/cjs/fork/getStateFromPath-mods.js.map +6 -0
- package/dist/cjs/fork/getStateFromPath-mods.native.js +284 -0
- package/dist/cjs/fork/getStateFromPath-mods.native.js.map +6 -0
- package/dist/cjs/fork/getStateFromPath.cjs +181 -263
- package/dist/cjs/fork/getStateFromPath.js +148 -264
- package/dist/cjs/fork/getStateFromPath.js.map +2 -2
- package/dist/cjs/fork/getStateFromPath.native.js +164 -304
- package/dist/cjs/fork/getStateFromPath.native.js.map +2 -2
- package/dist/cjs/fork/useBackButton.js.map +1 -1
- package/dist/cjs/fork/useBackButton.native.js.map +1 -1
- package/dist/cjs/fork/useDocumentTitle.js +4 -1
- package/dist/cjs/fork/useDocumentTitle.js.map +1 -1
- package/dist/cjs/fork/useDocumentTitle.native.js +1 -1
- package/dist/cjs/fork/useDocumentTitle.native.js.map +2 -2
- package/dist/cjs/fork/useLinking.cjs +21 -24
- package/dist/cjs/fork/useLinking.js +21 -25
- package/dist/cjs/fork/useLinking.js.map +2 -2
- package/dist/cjs/fork/useLinking.native.js +68 -66
- package/dist/cjs/fork/useLinking.native.js.map +2 -2
- package/dist/cjs/fork/useThenable.js.map +1 -1
- package/dist/cjs/fork/useThenable.native.js.map +1 -1
- package/dist/cjs/fork/validatePathConfig.cjs +32 -11
- package/dist/cjs/fork/validatePathConfig.js +41 -11
- package/dist/cjs/fork/validatePathConfig.js.map +1 -1
- package/dist/cjs/fork/validatePathConfig.native.js +47 -18
- package/dist/cjs/fork/validatePathConfig.native.js.map +2 -2
- package/dist/cjs/layouts/withLayoutContext.cjs +1 -1
- package/dist/cjs/layouts/withLayoutContext.js +1 -1
- package/dist/cjs/layouts/withLayoutContext.js.map +1 -1
- package/dist/cjs/layouts/withLayoutContext.native.js +1 -1
- package/dist/cjs/layouts/withLayoutContext.native.js.map +1 -1
- package/dist/cjs/link/linking.cjs +4 -4
- package/dist/cjs/link/linking.js +3 -3
- package/dist/cjs/link/linking.js.map +2 -2
- package/dist/cjs/link/linking.native.js +3 -3
- package/dist/cjs/link/linking.native.js.map +1 -1
- package/dist/cjs/link/useLinkTo.cjs +2 -2
- package/dist/cjs/link/useLinkTo.js +2 -2
- package/dist/cjs/link/useLinkTo.js.map +1 -1
- package/dist/cjs/link/useLinkTo.native.js +2 -2
- package/dist/cjs/link/useLinkTo.native.js.map +1 -1
- package/dist/cjs/router/getNormalizedStatePath.cjs +2 -2
- package/dist/cjs/router/getNormalizedStatePath.js +2 -2
- package/dist/cjs/router/getNormalizedStatePath.js.map +1 -1
- package/dist/cjs/router/getNormalizedStatePath.native.js +2 -2
- package/dist/cjs/router/getNormalizedStatePath.native.js.map +1 -1
- package/dist/cjs/router/router.cjs +19 -3
- package/dist/cjs/router/router.js +25 -3
- package/dist/cjs/router/router.js.map +1 -1
- package/dist/cjs/router/router.native.js +39 -3
- package/dist/cjs/router/router.native.js.map +2 -2
- package/dist/esm/Root.js +6 -2
- package/dist/esm/Root.js.map +1 -1
- package/dist/esm/Root.mjs +1 -1
- package/dist/esm/Root.mjs.map +1 -1
- package/dist/esm/Root.native.js +1 -1
- package/dist/esm/Root.native.js.map +2 -2
- package/dist/esm/fork/NavigationContainer.js +43 -20
- package/dist/esm/fork/NavigationContainer.js.map +1 -1
- package/dist/esm/fork/NavigationContainer.mjs +42 -24
- package/dist/esm/fork/NavigationContainer.mjs.map +1 -1
- package/dist/esm/fork/NavigationContainer.native.js +44 -24
- package/dist/esm/fork/NavigationContainer.native.js.map +2 -2
- package/dist/esm/fork/createMemoryHistory.js +3 -2
- package/dist/esm/fork/createMemoryHistory.js.map +1 -1
- package/dist/esm/fork/createMemoryHistory.mjs +4 -3
- package/dist/esm/fork/createMemoryHistory.mjs.map +1 -1
- package/dist/esm/fork/createMemoryHistory.native.js +4 -4
- package/dist/esm/fork/createMemoryHistory.native.js.map +2 -2
- package/dist/esm/fork/extractPathFromURL.js +42 -11
- package/dist/esm/fork/extractPathFromURL.js.map +1 -1
- package/dist/esm/fork/extractPathFromURL.mjs +39 -11
- package/dist/esm/fork/extractPathFromURL.mjs.map +1 -1
- package/dist/esm/fork/extractPathFromURL.native.js +52 -15
- package/dist/esm/fork/extractPathFromURL.native.js.map +2 -2
- package/dist/esm/fork/findFocusedRoute.js.map +1 -1
- package/dist/esm/fork/findFocusedRoute.mjs.map +1 -1
- package/dist/esm/fork/findFocusedRoute.native.js.map +1 -1
- package/dist/esm/fork/getPathFromState-mods.js +40 -0
- package/dist/esm/fork/getPathFromState-mods.js.map +6 -0
- package/dist/esm/fork/getPathFromState-mods.mjs +40 -0
- package/dist/esm/fork/getPathFromState-mods.mjs.map +1 -0
- package/dist/esm/fork/getPathFromState-mods.native.js +47 -0
- package/dist/esm/fork/getPathFromState-mods.native.js.map +6 -0
- package/dist/esm/fork/getPathFromState.js +71 -228
- package/dist/esm/fork/getPathFromState.js.map +2 -2
- package/dist/esm/fork/getPathFromState.mjs +73 -221
- package/dist/esm/fork/getPathFromState.mjs.map +1 -1
- package/dist/esm/fork/getPathFromState.native.js +79 -260
- package/dist/esm/fork/getPathFromState.native.js.map +2 -2
- package/dist/esm/fork/getStateFromPath-mods.js +176 -0
- package/dist/esm/fork/getStateFromPath-mods.js.map +6 -0
- package/dist/esm/fork/getStateFromPath-mods.mjs +143 -0
- package/dist/esm/fork/getStateFromPath-mods.mjs.map +1 -0
- package/dist/esm/fork/getStateFromPath-mods.native.js +246 -0
- package/dist/esm/fork/getStateFromPath-mods.native.js.map +6 -0
- package/dist/esm/fork/getStateFromPath.js +160 -265
- package/dist/esm/fork/getStateFromPath.js.map +2 -2
- package/dist/esm/fork/getStateFromPath.mjs +181 -260
- package/dist/esm/fork/getStateFromPath.mjs.map +1 -1
- package/dist/esm/fork/getStateFromPath.native.js +164 -302
- package/dist/esm/fork/getStateFromPath.native.js.map +2 -2
- package/dist/esm/fork/useBackButton.js.map +1 -1
- package/dist/esm/fork/useBackButton.mjs.map +1 -1
- package/dist/esm/fork/useBackButton.native.js.map +1 -1
- package/dist/esm/fork/useDocumentTitle.js +4 -1
- package/dist/esm/fork/useDocumentTitle.js.map +1 -1
- package/dist/esm/fork/useDocumentTitle.mjs.map +1 -1
- package/dist/esm/fork/useDocumentTitle.native.js +1 -1
- package/dist/esm/fork/useDocumentTitle.native.js.map +2 -2
- package/dist/esm/fork/useLinking.js +22 -26
- package/dist/esm/fork/useLinking.js.map +1 -1
- package/dist/esm/fork/useLinking.mjs +20 -23
- package/dist/esm/fork/useLinking.mjs.map +1 -1
- package/dist/esm/fork/useLinking.native.js +65 -67
- package/dist/esm/fork/useLinking.native.js.map +2 -2
- package/dist/esm/fork/useThenable.js.map +1 -1
- package/dist/esm/fork/useThenable.mjs.map +1 -1
- package/dist/esm/fork/useThenable.native.js.map +1 -1
- package/dist/esm/fork/validatePathConfig.js +41 -11
- package/dist/esm/fork/validatePathConfig.js.map +1 -1
- package/dist/esm/fork/validatePathConfig.mjs +32 -11
- package/dist/esm/fork/validatePathConfig.mjs.map +1 -1
- package/dist/esm/fork/validatePathConfig.native.js +43 -18
- package/dist/esm/fork/validatePathConfig.native.js.map +2 -2
- package/dist/esm/layouts/withLayoutContext.js +1 -1
- package/dist/esm/layouts/withLayoutContext.js.map +1 -1
- package/dist/esm/layouts/withLayoutContext.mjs +1 -1
- package/dist/esm/layouts/withLayoutContext.mjs.map +1 -1
- package/dist/esm/layouts/withLayoutContext.native.js +1 -1
- package/dist/esm/layouts/withLayoutContext.native.js.map +1 -1
- package/dist/esm/link/linking.js +2 -2
- package/dist/esm/link/linking.js.map +1 -1
- package/dist/esm/link/linking.mjs +2 -2
- package/dist/esm/link/linking.mjs.map +1 -1
- package/dist/esm/link/linking.native.js +2 -2
- package/dist/esm/link/linking.native.js.map +1 -1
- package/dist/esm/link/useLinkTo.js +1 -1
- package/dist/esm/link/useLinkTo.mjs +1 -1
- package/dist/esm/link/useLinkTo.native.js +1 -1
- package/dist/esm/router/getNormalizedStatePath.js +1 -1
- package/dist/esm/router/getNormalizedStatePath.mjs +1 -1
- package/dist/esm/router/getNormalizedStatePath.native.js +1 -1
- package/dist/esm/router/router.js +24 -2
- package/dist/esm/router/router.js.map +1 -1
- package/dist/esm/router/router.mjs +18 -2
- package/dist/esm/router/router.mjs.map +1 -1
- package/dist/esm/router/router.native.js +38 -2
- package/dist/esm/router/router.native.js.map +2 -2
- package/package.json +8 -9
- package/src/Root.tsx +6 -2
- package/src/fork/NavigationContainer.tsx +101 -39
- package/src/fork/createMemoryHistory.tsx +15 -13
- package/src/fork/extractPathFromURL.ts +85 -40
- package/src/fork/findFocusedRoute.tsx +9 -1
- package/src/fork/getPathFromState-mods.ts +142 -0
- package/src/fork/getPathFromState.ts +244 -501
- package/src/fork/getStateFromPath-mods.ts +400 -0
- package/src/fork/getStateFromPath.ts +447 -538
- package/src/fork/useBackButton.native.tsx +16 -2
- package/src/fork/useBackButton.tsx +11 -2
- package/src/fork/useDocumentTitle.native.tsx +9 -4
- package/src/fork/useDocumentTitle.tsx +12 -7
- package/src/fork/useLinking.native.ts +71 -63
- package/src/fork/useLinking.ts +75 -40
- package/src/fork/useThenable.tsx +7 -1
- package/src/fork/validatePathConfig.ts +64 -12
- package/src/layouts/withLayoutContext.tsx +1 -1
- package/src/link/linking.ts +2 -2
- package/src/link/useLinkTo.tsx +1 -1
- package/src/router/getNormalizedStatePath.tsx +1 -1
- package/src/router/router.ts +41 -2
- package/types/Root.d.ts.map +1 -1
- package/types/fork/NavigationContainer.d.ts +19 -8
- package/types/fork/NavigationContainer.d.ts.map +1 -1
- package/types/fork/createMemoryHistory.d.ts +10 -1
- package/types/fork/createMemoryHistory.d.ts.map +1 -1
- package/types/fork/extractPathFromURL.d.ts +7 -1
- package/types/fork/extractPathFromURL.d.ts.map +1 -1
- package/types/fork/findFocusedRoute.d.ts +9 -0
- package/types/fork/findFocusedRoute.d.ts.map +1 -1
- package/types/fork/getPathFromState-mods.d.ts +23 -0
- package/types/fork/getPathFromState-mods.d.ts.map +1 -0
- package/types/fork/getPathFromState.d.ts +15 -14
- package/types/fork/getPathFromState.d.ts.map +1 -1
- package/types/fork/getStateFromPath-mods.d.ts +58 -0
- package/types/fork/getStateFromPath-mods.d.ts.map +1 -0
- package/types/fork/getStateFromPath.d.ts +28 -29
- package/types/fork/getStateFromPath.d.ts.map +1 -1
- package/types/fork/useBackButton.d.ts +6 -0
- package/types/fork/useBackButton.d.ts.map +1 -1
- package/types/fork/useBackButton.native.d.ts +9 -1
- package/types/fork/useBackButton.native.d.ts.map +1 -1
- package/types/fork/useDocumentTitle.d.ts +8 -6
- package/types/fork/useDocumentTitle.d.ts.map +1 -1
- package/types/fork/useDocumentTitle.native.d.ts +5 -2
- package/types/fork/useDocumentTitle.native.d.ts.map +1 -1
- package/types/fork/useLinking.d.ts +8 -1
- package/types/fork/useLinking.d.ts.map +1 -1
- package/types/fork/useLinking.native.d.ts +9 -2
- package/types/fork/useLinking.native.d.ts.map +1 -1
- package/types/fork/useThenable.d.ts +6 -0
- package/types/fork/useThenable.d.ts.map +1 -1
- package/types/fork/validatePathConfig.d.ts +8 -1
- package/types/fork/validatePathConfig.d.ts.map +1 -1
- package/types/link/linking.d.ts +2 -2
- package/types/link/linking.d.ts.map +1 -1
@@ -0,0 +1,70 @@
|
|
1
|
+
"use strict";
|
2
|
+
var __defProp = Object.defineProperty;
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
6
|
+
var __export = (target, all) => {
|
7
|
+
for (var name in all)
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: !0 });
|
9
|
+
}, __copyProps = (to, from, except, desc) => {
|
10
|
+
if (from && typeof from == "object" || typeof from == "function")
|
11
|
+
for (let key of __getOwnPropNames(from))
|
12
|
+
!__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
13
|
+
return to;
|
14
|
+
};
|
15
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
|
16
|
+
var getPathFromState_mods_exports = {};
|
17
|
+
__export(getPathFromState_mods_exports, {
|
18
|
+
appendBaseUrl: () => appendBaseUrl,
|
19
|
+
getParamName: () => getParamName,
|
20
|
+
getPathWithConventionsCollapsed: () => getPathWithConventionsCollapsed
|
21
|
+
});
|
22
|
+
module.exports = __toCommonJS(getPathFromState_mods_exports);
|
23
|
+
var import_matchers = require("../router/matchers");
|
24
|
+
function getPathWithConventionsCollapsed(param) {
|
25
|
+
var { pattern, route, params, preserveGroups, preserveDynamicRoutes, shouldEncodeURISegment = !0, initialRouteName } = param, segments = pattern.split("/");
|
26
|
+
return segments.map(function(p, i) {
|
27
|
+
var name = getParamName(p);
|
28
|
+
if (p.startsWith("*"))
|
29
|
+
return preserveDynamicRoutes ? name === "not-found" ? "+not-found" : `[...${name}]` : params[name] ? Array.isArray(params[name]) ? params[name].join("/") : params[name] : route.name.startsWith("[") && route.name.endsWith("]") || p === "*not-found" ? "" : route.name;
|
30
|
+
if (p.startsWith(":")) {
|
31
|
+
if (preserveDynamicRoutes)
|
32
|
+
return `[${name}]`;
|
33
|
+
var value = params[name];
|
34
|
+
if (value === void 0 && p.endsWith("?"))
|
35
|
+
return;
|
36
|
+
var _ref;
|
37
|
+
return (_ref = shouldEncodeURISegment ? encodeURISegment(value) : value) !== null && _ref !== void 0 ? _ref : "undefined";
|
38
|
+
}
|
39
|
+
return !preserveGroups && (0, import_matchers.matchGroupName)(p) != null ? segments.length - 1 === i && initialRouteName ? segmentMatchesConvention(initialRouteName) ? "" : shouldEncodeURISegment ? encodeURISegment(initialRouteName, {
|
40
|
+
preserveBrackets: !0
|
41
|
+
}) : initialRouteName : "" : shouldEncodeURISegment ? encodeURISegment(p, {
|
42
|
+
preserveBrackets: !0
|
43
|
+
}) : p;
|
44
|
+
}).map(function(v) {
|
45
|
+
return v ?? "";
|
46
|
+
}).join("/");
|
47
|
+
}
|
48
|
+
var getParamName = function(pattern) {
|
49
|
+
return pattern.replace(/^[:*]/, "").replace(/\?$/, "");
|
50
|
+
};
|
51
|
+
function appendBaseUrl(path) {
|
52
|
+
var baseUrl = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : process.env.EXPO_BASE_URL;
|
53
|
+
return process.env.NODE_ENV !== "development" && baseUrl ? `/${baseUrl.replace(/^\/+/, "").replace(/\/$/, "")}${path}` : path;
|
54
|
+
}
|
55
|
+
function segmentMatchesConvention(segment) {
|
56
|
+
return segment === "index" || (0, import_matchers.matchDynamicName)(segment) != null || (0, import_matchers.matchGroupName)(segment) != null || (0, import_matchers.matchDeepDynamicRouteName)(segment) != null;
|
57
|
+
}
|
58
|
+
function encodeURISegment(str) {
|
59
|
+
var { preserveBrackets = !1 } = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
60
|
+
return str = String(str).replace(/[^A-Za-z0-9\-._~!$&'()*+,;=:@]/g, function(char) {
|
61
|
+
return encodeURIComponent(char);
|
62
|
+
}), preserveBrackets && (str = str.replace(/%5B/g, "[").replace(/%5D/g, "]")), str;
|
63
|
+
}
|
64
|
+
// Annotate the CommonJS export names for ESM import in node:
|
65
|
+
0 && (module.exports = {
|
66
|
+
appendBaseUrl,
|
67
|
+
getParamName,
|
68
|
+
getPathWithConventionsCollapsed
|
69
|
+
});
|
70
|
+
//# sourceMappingURL=getPathFromState-mods.js.map
|
@@ -0,0 +1,6 @@
|
|
1
|
+
{
|
2
|
+
"version": 3,
|
3
|
+
"sources": ["../../../src/fork/Users/n8/one/packages/one/src/fork/getPathFromState-mods.ts"],
|
4
|
+
"mappings": ";;;;;;;;;;;;;;;AAAA;;;;;;;AAQA,sBAA4E;AAarE,SAASA,gCAAgC,OAa/C;MAb+C,EAC9CC,SACAC,OACAC,QACAC,gBACAC,uBACAC,yBAAyB,IACzBC,iBAAgB,IAP8B,OAcxCC,WAAWP,QAAQQ,MAAM,GAAA;AAE/B,SAAOD,SACJE,IAAI,SAACC,GAAGC,GAAAA;AACP,QAAMC,OAAOC,aAAaH,CAAAA;AAI1B,QAAIA,EAAEI,WAAW,GAAA;AACf,aAAIV,wBACEQ,SAAS,cACJ,eAGF,OAAOA,IAAAA,MAGZV,OAAOU,IAAAA,IACLG,MAAMC,QAAQd,OAAOU,IAAAA,CAAK,IACrBV,OAAOU,IAAAA,EAAMK,KAAK,GAAA,IAEpBf,OAAOU,IAAAA,IAGZX,MAAMW,KAAKE,WAAW,GAAA,KAAQb,MAAMW,KAAKM,SAAS,GAAA,KAIlDR,MAAM,eACD,KAGFT,MAAMW;AAIf,QAAIF,EAAEI,WAAW,GAAA,GAAM;AACrB,UAAIV;AACF,eAAO,IAAIQ,IAAAA;AAGb,UAAMO,QAAQjB,OAAOU,IAAAA;AACrB,UAAIO,UAAUC,UAAaV,EAAEQ,SAAS,GAAA;AACpC;UAGMb;AAAR,cAAQA,OAAAA,yBAAyBgB,iBAAiBF,KAAAA,IAASA,WAAAA,QAAnDd,SAAAA,SAAAA,OAA6D;IACvE;AAEA,WAAI,CAACF,sBAAkBmB,gCAAeZ,CAAAA,KAAM,OAItCH,SAASgB,SAAS,MAAMZ,KACtBL,mBAEEkB,yBAAyBlB,gBAAAA,IACpB,KAEFD,yBACHgB,iBAAiBf,kBAAkB;MAAEmB,kBAAkB;IAAK,CAAA,IAC5DnB,mBAGD,KAGFD,yBAAyBgB,iBAAiBX,GAAG;MAAEe,kBAAkB;IAAK,CAAA,IAAKf;EACpF,CAAA,EACCD,IAAI,SAACiB,GAAAA;WAAMA,KAAK;KAChBT,KAAK,GAAA;AACV;AAEO,IAAMJ,eAAe,SAACb,SAAAA;SAAoBA,QAAQ2B,QAAQ,SAAS,EAAA,EAAIA,QAAQ,OAAO,EAAA;;AAEtF,SAASC,cACdC,MAAY;MACZC,UAAAA,UAAAA,SAAAA,KAAAA,UAAAA,CAAAA,MAAAA,SAAAA,UAAAA,CAAAA,IAA8BC,QAAQC,IAAIC;AAE1C,SAAIF,QAAQC,IAAIE,aAAa,iBACvBJ,UACK,IAAIA,QAAQH,QAAQ,QAAQ,EAAA,EAAIA,QAAQ,OAAO,EAAA,CAAA,GAAME,IAAAA,KAGzDA;AACT;AAEA,SAASL,yBAAyBW,SAAe;AAC/C,SACEA,YAAY,eACZC,kCAAiBD,OAAAA,KAAY,YAC7Bb,gCAAea,OAAAA,KAAY,YAC3BE,2CAA0BF,OAAAA,KAAY;AAE1C;AAEA,SAASd,iBAAiBiB,KAAW;MAAE,EAAEb,mBAAmB,GAAK,IAA1B,UAAA,SAAA,KAAA,UAAA,CAAA,MAAA,SAAA,UAAA,CAAA,IAA+B,CAAC;AAGrEa,eAAMC,OAAOD,GAAAA,EAAKX,QAAQ,mCAAmC,SAACa,MAAAA;WAASC,mBAAmBD,IAAAA;MAEtFf,qBAEFa,MAAMA,IAAIX,QAAQ,QAAQ,GAAA,EAAKA,QAAQ,QAAQ,GAAA,IAE1CW;AACT;",
|
5
|
+
"names": ["getPathWithConventionsCollapsed", "pattern", "route", "params", "preserveGroups", "preserveDynamicRoutes", "shouldEncodeURISegment", "initialRouteName", "segments", "split", "map", "p", "i", "name", "getParamName", "startsWith", "Array", "isArray", "join", "endsWith", "value", "undefined", "encodeURISegment", "matchGroupName", "length", "segmentMatchesConvention", "preserveBrackets", "v", "replace", "appendBaseUrl", "path", "baseUrl", "process", "env", "EXPO_BASE_URL", "NODE_ENV", "segment", "matchDynamicName", "matchDeepDynamicRouteName", "str", "String", "char", "encodeURIComponent"]
|
6
|
+
}
|
@@ -20,239 +20,90 @@ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
|
|
20
20
|
}), mod);
|
21
21
|
var getPathFromState_exports = {};
|
22
22
|
__export(getPathFromState_exports, {
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
getPathDataFromState: () => getPathDataFromState
|
23
|
+
default: () => getPathFromState_default,
|
24
|
+
getPathDataFromState: () => getPathDataFromState,
|
25
|
+
getPathFromState: () => getPathFromState
|
27
26
|
});
|
28
27
|
module.exports = __toCommonJS(getPathFromState_exports);
|
29
|
-
var
|
30
|
-
|
31
|
-
const
|
32
|
-
getActiveRoute = state => {
|
28
|
+
var import_getPathFromState_mods = require("./getPathFromState-mods.cjs"),
|
29
|
+
import_validatePathConfig = require("./validatePathConfig.cjs");
|
30
|
+
const getActiveRoute = state => {
|
33
31
|
const route = typeof state.index == "number" ? state.routes[state.index] : state.routes[state.routes.length - 1];
|
34
|
-
return route.state ? getActiveRoute(route.state) : route
|
35
|
-
}
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
routes: [{
|
44
|
-
key: "UNKNOWN",
|
45
|
-
name: params.screen,
|
46
|
-
params: params.params,
|
47
|
-
path: params.path
|
48
|
-
}]
|
32
|
+
return route.state ? getActiveRoute(route.state) : route;
|
33
|
+
},
|
34
|
+
cachedNormalizedConfigs = /* @__PURE__ */new WeakMap(),
|
35
|
+
getNormalizedConfigs = options => {
|
36
|
+
if (!options?.screens) return {};
|
37
|
+
const cached = cachedNormalizedConfigs.get(options?.screens);
|
38
|
+
if (cached) return cached;
|
39
|
+
const normalizedConfigs = createNormalizedConfigs(options.screens);
|
40
|
+
return cachedNormalizedConfigs.set(options.screens, normalizedConfigs), normalizedConfigs;
|
49
41
|
};
|
42
|
+
function getPathFromState(state, options) {
|
43
|
+
return getPathDataFromState(state, options).path;
|
50
44
|
}
|
51
|
-
function
|
52
|
-
return segment === "index" || (0, import_matchers.matchDynamicName)(segment) != null || (0, import_matchers.matchGroupName)(segment) != null || (0, import_matchers.matchDeepDynamicRouteName)(segment) != null;
|
53
|
-
}
|
54
|
-
function encodeURIComponentPreservingBrackets(str) {
|
55
|
-
return encodeURIComponent(str).replace(/%5B/g, "[").replace(/%5D/g, "]");
|
56
|
-
}
|
57
|
-
function getPathFromState(state, _options) {
|
58
|
-
return getPathDataFromState(state, _options).path;
|
59
|
-
}
|
60
|
-
function getPathDataFromState(state, _options = {
|
61
|
-
screens: DEFAULT_SCREENS
|
62
|
-
}) {
|
45
|
+
function getPathDataFromState(state, options) {
|
63
46
|
if (state == null) throw Error("Got 'undefined' for the navigation state. You must pass a valid state object.");
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
} = _options;
|
69
|
-
if ((0, import_core.validatePathConfig)(options), Object.is(options.screens, DEFAULT_SCREENS)) throw Error("You must pass a 'screens' object to 'getPathFromState' to generate a path.");
|
70
|
-
return getPathFromResolvedState(state,
|
71
|
-
// Create a normalized configs object which will be easier to use
|
72
|
-
createNormalizedConfigs(options.screens), {
|
73
|
-
preserveGroups,
|
74
|
-
preserveDynamicRoutes
|
75
|
-
});
|
76
|
-
}
|
77
|
-
function processParamsWithUserSettings(configItem, params) {
|
78
|
-
const stringify = configItem?.stringify;
|
79
|
-
return Object.fromEntries(Object.entries(params).map(([key, value]) => [key,
|
80
|
-
// TODO: Strip nullish values here.
|
81
|
-
stringify?.[key] ? stringify[key](value) :
|
82
|
-
// Preserve rest params
|
83
|
-
Array.isArray(value) ? value : String(value)]));
|
84
|
-
}
|
85
|
-
function deepEqual(a, b) {
|
86
|
-
if (a === b) return !0;
|
87
|
-
if (Array.isArray(a) && Array.isArray(b)) {
|
88
|
-
if (a.length !== b.length) return !1;
|
89
|
-
for (let i = 0; i < a.length; i++) if (!deepEqual(a[i], b[i])) return !1;
|
90
|
-
return !0;
|
91
|
-
}
|
92
|
-
if (typeof a == "object" && typeof b == "object") {
|
93
|
-
const keysA = Object.keys(a),
|
94
|
-
keysB = Object.keys(b);
|
95
|
-
if (keysA.length !== keysB.length) return !1;
|
96
|
-
for (const key of keysA) if (!deepEqual(a[key], b[key])) return !1;
|
97
|
-
return !0;
|
98
|
-
}
|
99
|
-
return !1;
|
100
|
-
}
|
101
|
-
function walkConfigItems(route, focusedRoute, configs, {
|
102
|
-
preserveDynamicRoutes
|
103
|
-
}) {
|
104
|
-
!route.state && isInvalidParams(route.params);
|
105
|
-
let pattern = null,
|
106
|
-
focusedParams,
|
107
|
-
hash;
|
108
|
-
const collectedParams = {};
|
109
|
-
for (; route.name in configs;) {
|
110
|
-
const configItem = configs[route.name],
|
111
|
-
inputPattern = configItem.pattern;
|
112
|
-
if (inputPattern == null) throw new Error("Unexpected: No pattern found for route " + route.name);
|
113
|
-
if (pattern = inputPattern, route.params) {
|
114
|
-
route.params["#"] && (hash = route.params["#"], delete route.params["#"]);
|
115
|
-
const params = processParamsWithUserSettings(configItem, route.params);
|
116
|
-
pattern != null && Object.assign(collectedParams, params), deepEqual(focusedRoute, route) && (preserveDynamicRoutes ? focusedParams = params : focusedParams = getParamsWithConventionsCollapsed({
|
117
|
-
params,
|
118
|
-
pattern,
|
119
|
-
routeName: route.name
|
120
|
-
}));
|
121
|
-
}
|
122
|
-
if (!route.state && isInvalidParams(route.params), !configItem.screens || route.state === void 0) {
|
123
|
-
configItem.initialRouteName && configItem.screens && configItem.initialRouteName in configItem.screens && configItem.screens[configItem.initialRouteName]?.pattern && (pattern = configItem.screens[configItem.initialRouteName].pattern, focusedParams && (preserveDynamicRoutes || (focusedParams = getParamsWithConventionsCollapsed({
|
124
|
-
params: focusedParams,
|
125
|
-
pattern,
|
126
|
-
routeName: route.name
|
127
|
-
}))));
|
128
|
-
break;
|
129
|
-
}
|
130
|
-
const index = route.state.index ?? route.state.routes.length - 1,
|
131
|
-
nextRoute = route.state.routes[index],
|
132
|
-
nestedScreens = configItem.screens;
|
133
|
-
if (nestedScreens && nextRoute.name in nestedScreens) route = nextRoute, configs = nestedScreens;else break;
|
134
|
-
}
|
135
|
-
if (pattern == null) throw new Error(`No pattern found for route "${route.name}". Options are: ${Object.keys(configs).join(", ")}.`);
|
136
|
-
return pattern && !focusedParams && focusedRoute.params && (preserveDynamicRoutes ? focusedParams = focusedRoute.params : focusedParams = getParamsWithConventionsCollapsed({
|
137
|
-
params: focusedRoute.params,
|
138
|
-
pattern,
|
139
|
-
routeName: route.name
|
140
|
-
}), focusedParams = {
|
141
|
-
...focusedParams,
|
142
|
-
...collectedParams
|
143
|
-
}), {
|
144
|
-
pattern,
|
145
|
-
nextRoute: route,
|
146
|
-
focusedParams,
|
147
|
-
hash,
|
148
|
-
params: collectedParams
|
149
|
-
};
|
150
|
-
}
|
151
|
-
function getPathFromResolvedState(state, configs, {
|
152
|
-
preserveGroups,
|
153
|
-
preserveDynamicRoutes
|
154
|
-
}) {
|
155
|
-
let path = "",
|
156
|
-
current = state,
|
157
|
-
hash;
|
47
|
+
options && (0, import_validatePathConfig.validatePathConfig)(options);
|
48
|
+
const configs = getNormalizedConfigs(options);
|
49
|
+
let path = "/",
|
50
|
+
current = state;
|
158
51
|
const allParams = {};
|
159
52
|
for (; current;) {
|
160
|
-
|
161
|
-
|
162
|
-
!route.state && isInvalidParams(route.params);
|
163
|
-
const {
|
53
|
+
let index = typeof current.index == "number" ? current.index : 0,
|
54
|
+
route = current.routes[index],
|
164
55
|
pattern,
|
165
|
-
|
166
|
-
|
167
|
-
|
168
|
-
|
169
|
-
|
170
|
-
|
171
|
-
|
172
|
-
|
173
|
-
|
174
|
-
|
56
|
+
focusedParams;
|
57
|
+
const focusedRoute = getActiveRoute(state);
|
58
|
+
let currentOptions = configs;
|
59
|
+
const nestedRouteNames = [];
|
60
|
+
let hasNext = !0;
|
61
|
+
for (; route.name in currentOptions && hasNext;) {
|
62
|
+
if (pattern = currentOptions[route.name].pattern, nestedRouteNames.push(route.name), route.params) {
|
63
|
+
const stringify = currentOptions[route.name]?.stringify,
|
64
|
+
currentParams = Object.fromEntries(Object.entries(route.params).flatMap(([key, value]) => key === "screen" || key === "params" ? [] : [[key, stringify?.[key] ? stringify[key](value) : Array.isArray(value) ? value.map(String) : String(value)]]));
|
65
|
+
Object.assign(allParams, currentParams), focusedRoute === route && (focusedParams = {
|
66
|
+
...currentParams
|
67
|
+
}, pattern?.split("/").filter(p => p.startsWith(":")).forEach(p => {
|
68
|
+
const name = getParamName(p);
|
69
|
+
focusedParams && delete focusedParams[name];
|
70
|
+
}));
|
71
|
+
}
|
72
|
+
if (!currentOptions[route.name].screens || route.state === void 0) {
|
73
|
+
const screens = currentOptions[route.name].screens,
|
74
|
+
screen = route.params && "screen" in route.params ? route.params.screen?.toString() : screens ? Object.keys(screens)[0] : void 0;
|
75
|
+
screen && screens && currentOptions[route.name].screens?.[screen] ? (route = {
|
76
|
+
...screens[screen],
|
77
|
+
name: screen,
|
78
|
+
key: screen
|
79
|
+
}, currentOptions = screens) : hasNext = !1;
|
80
|
+
} else {
|
81
|
+
index = typeof route.state.index == "number" ? route.state.index : route.state.routes.length - 1;
|
82
|
+
const nextRoute = route.state.routes[index],
|
83
|
+
nestedConfig = currentOptions[route.name].screens;
|
84
|
+
nestedConfig && nextRoute.name in nestedConfig ? (route = nextRoute, currentOptions = nestedConfig) : hasNext = !1;
|
85
|
+
}
|
86
|
+
}
|
87
|
+
if (currentOptions[route.name] !== void 0 ? (pattern === void 0 && (pattern = nestedRouteNames.join("/")), path += (0, import_getPathFromState_mods.getPathWithConventionsCollapsed)({
|
88
|
+
...options,
|
175
89
|
pattern,
|
176
|
-
|
90
|
+
route,
|
177
91
|
params: allParams,
|
178
|
-
initialRouteName: configs[
|
179
|
-
|
180
|
-
|
181
|
-
|
182
|
-
|
183
|
-
|
184
|
-
// Because of this, we need to check if the next route is valid before continuing, otherwise our more strict
|
185
|
-
// implementation will throw an error.
|
186
|
-
configs[nextRoute.state.routes?.[nextRoute.state?.index ?? 0]?.name]) current = nextRoute.state;else {
|
187
|
-
if (focusedParams &&
|
188
|
-
// note: using [...route] is returning an array which shouldn't go on search, this is just
|
189
|
-
// an initial hacky test to work around this as we dont want to pass that to search
|
190
|
-
!Array.isArray(focusedParams)) {
|
191
|
-
for (const param in focusedParams) focusedParams[param] === "undefined" && delete focusedParams[param];
|
192
|
-
const query = new URLSearchParams(focusedParams).toString();
|
193
|
-
query && (path += `?${query}`);
|
194
|
-
}
|
195
|
-
break;
|
92
|
+
initialRouteName: configs[route.name]?.initialRouteName
|
93
|
+
})) : route.name.startsWith("+") || (path += encodeURIComponent(route.name)), focusedParams || (focusedParams = focusedRoute.params), route.state) path += "/";else if (focusedParams) {
|
94
|
+
for (const param in focusedParams) focusedParams[param] === "undefined" && delete focusedParams[param];
|
95
|
+
delete focusedParams["#"];
|
96
|
+
const query = new URLSearchParams(focusedParams).toString();
|
97
|
+
query && (path += `?${query}`);
|
196
98
|
}
|
99
|
+
current = route.state;
|
197
100
|
}
|
198
|
-
|
199
|
-
|
200
|
-
|
201
|
-
path: appendBaseUrl(basicSanitizePath(path)),
|
202
|
-
params
|
101
|
+
return path = path.replace(/\/+/g, "/"), path = path.length > 1 ? path.replace(/\/$/, "") : path, options?.path && (path = joinPaths(options.path, path)), path = (0, import_getPathFromState_mods.appendBaseUrl)(path), allParams["#"] && (path += `#${allParams["#"]}`), {
|
102
|
+
path,
|
103
|
+
params: allParams
|
203
104
|
};
|
204
105
|
}
|
205
|
-
|
206
|
-
const parsed = {};
|
207
|
-
for (const [key, value] of Object.entries(params)) try {
|
208
|
-
Array.isArray(value) ? parsed[key] = value.map(v => decodeURIComponent(v)) : parsed[key] = decodeURIComponent(value);
|
209
|
-
} catch {
|
210
|
-
parsed[key] = value;
|
211
|
-
}
|
212
|
-
return parsed;
|
213
|
-
}
|
214
|
-
function getPathWithConventionsCollapsed({
|
215
|
-
pattern,
|
216
|
-
routePath,
|
217
|
-
params,
|
218
|
-
preserveGroups,
|
219
|
-
preserveDynamicRoutes,
|
220
|
-
initialRouteName
|
221
|
-
}) {
|
222
|
-
const segments = pattern.split("/");
|
223
|
-
return segments.map((p, i) => {
|
224
|
-
const name = getParamName(p);
|
225
|
-
return p.startsWith("*") ? preserveDynamicRoutes ? name === "not-found" ? "+not-found" : `[...${name}]` : params[name] ? Array.isArray(params[name]) ? params[name].join("/") : params[name] : i === 0 ? routePath : routePath?.split("/").slice(i + 1).join("/") : p.startsWith(":") ? preserveDynamicRoutes ? `[${name}]` : params[name] : !preserveGroups && (0, import_matchers.matchGroupName)(p) != null ? segments.length - 1 === i && initialRouteName ? segmentMatchesConvention(initialRouteName) ? "" : encodeURIComponentPreservingBrackets(initialRouteName) : "" : encodeURIComponentPreservingBrackets(p);
|
226
|
-
}).map(v => v ?? "").join("/");
|
227
|
-
}
|
228
|
-
function getParamsWithConventionsCollapsed({
|
229
|
-
pattern,
|
230
|
-
routeName,
|
231
|
-
params
|
232
|
-
}) {
|
233
|
-
const processedParams = {
|
234
|
-
...params
|
235
|
-
},
|
236
|
-
segments = pattern.split("/");
|
237
|
-
if (segments.filter(segment => segment.startsWith(":")).forEach(segment => {
|
238
|
-
const name = getParamName(segment);
|
239
|
-
delete processedParams[name];
|
240
|
-
}), segments.some(segment => segment.startsWith("*"))) {
|
241
|
-
const name = (0, import_matchers.testNotFound)(routeName) ? "not-found" : (0, import_matchers.matchDeepDynamicRouteName)(routeName) ?? routeName;
|
242
|
-
delete processedParams[name];
|
243
|
-
}
|
244
|
-
return processedParams;
|
245
|
-
}
|
246
|
-
function basicSanitizePath(path) {
|
247
|
-
const simplifiedPath = path.replace(/\/+/g, "/");
|
248
|
-
return simplifiedPath.length <= 1 ? simplifiedPath : simplifiedPath.replace(/\/$/, "");
|
249
|
-
}
|
250
|
-
function isInvalidParams(params) {
|
251
|
-
return params ? "params" in params && typeof params.params == "object" && params.params ? !0 : "initial" in params && typeof params.initial == "boolean" &&
|
252
|
-
// "path" in params &&
|
253
|
-
"screen" in params : !1;
|
254
|
-
}
|
255
|
-
const getParamName = pattern => pattern.replace(/^[:*]/, "").replace(/\?$/, ""),
|
106
|
+
const getParamName = pattern => pattern.replace(/^:/, "").replace(/\?$/, ""),
|
256
107
|
joinPaths = (...paths) => [].concat(...paths.map(p => p.split("/"))).filter(Boolean).join("/"),
|
257
108
|
createConfigItem = (config, parentPattern) => {
|
258
109
|
if (typeof config == "string") return {
|
@@ -265,11 +116,11 @@ const getParamName = pattern => pattern.replace(/^[:*]/, "").replace(/\?$/, ""),
|
|
265
116
|
// Normalize pattern to remove any leading, trailing slashes, duplicate slashes etc.
|
266
117
|
pattern: pattern?.split("/").filter(Boolean).join("/"),
|
267
118
|
stringify: config.stringify,
|
268
|
-
screens
|
269
|
-
initialRouteName: config.initialRouteName
|
119
|
+
screens
|
270
120
|
};
|
271
121
|
},
|
272
|
-
createNormalizedConfigs = (options, pattern) => Object.fromEntries(Object.entries(options).map(([name, c]) =>
|
273
|
-
|
274
|
-
|
275
|
-
}
|
122
|
+
createNormalizedConfigs = (options, pattern) => Object.fromEntries(Object.entries(options).map(([name, c]) => {
|
123
|
+
const result = createConfigItem(c, pattern);
|
124
|
+
return [name, result];
|
125
|
+
}));
|
126
|
+
var getPathFromState_default = getPathFromState;
|