@react-navigation/core 8.0.0-alpha.35 → 8.0.0-alpha.36
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/lib/module/getPathFromState.js +11 -7
- package/lib/module/getPathFromState.js.map +1 -1
- package/lib/module/getStateFromPath.js +1 -1
- package/lib/module/getStateFromPath.js.map +1 -1
- package/lib/module/queryString.js +71 -0
- package/lib/module/queryString.js.map +1 -0
- package/lib/typescript/src/getPathFromState.d.ts.map +1 -1
- package/lib/typescript/src/queryString.d.ts +5 -0
- package/lib/typescript/src/queryString.d.ts.map +1 -0
- package/package.json +2 -3
- package/src/getPathFromState.tsx +7 -5
- package/src/getStateFromPath.tsx +1 -1
- package/src/queryString.ts +109 -0
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import queryString from 'query-string';
|
|
4
3
|
import { combinePatternParts, getPatternParts } from "./getPatternParts.js";
|
|
5
4
|
import { getStateFromRouteParams } from "./getStateFromRouteParams.js";
|
|
5
|
+
import * as queryString from "./queryString.js";
|
|
6
6
|
import { validatePathConfig } from "./validatePathConfig.js";
|
|
7
7
|
const serializeParamValue = value => value === null ? null : Array.isArray(value) ? value.map(String) : String(value);
|
|
8
8
|
const encodePathParam = value => {
|
|
@@ -122,7 +122,9 @@ export function getPathFromState(state, options) {
|
|
|
122
122
|
if (route.params) {
|
|
123
123
|
const options = config;
|
|
124
124
|
const params = route.params;
|
|
125
|
-
const currentParams = {
|
|
125
|
+
const currentParams = {
|
|
126
|
+
__proto__: null
|
|
127
|
+
};
|
|
126
128
|
for (const key in params) {
|
|
127
129
|
const value = params[key];
|
|
128
130
|
if (value === undefined) {
|
|
@@ -154,7 +156,9 @@ export function getPathFromState(state, options) {
|
|
|
154
156
|
// If this is the focused route, keep the params for later use
|
|
155
157
|
// We save it here since it's been stringified already
|
|
156
158
|
// Params claimed by the pattern shouldn't be repeated in the query string
|
|
157
|
-
focusedParams = {
|
|
159
|
+
focusedParams = {
|
|
160
|
+
__proto__: null
|
|
161
|
+
};
|
|
158
162
|
for (const key in currentParams) {
|
|
159
163
|
const value = currentParams[key];
|
|
160
164
|
if (!claimedParams.has(key) && value !== undefined && value !== 'undefined') {
|
|
@@ -255,7 +259,9 @@ export function getPathFromState(state, options) {
|
|
|
255
259
|
path += encodeURIComponent(route.name);
|
|
256
260
|
}
|
|
257
261
|
if (!focusedParams && focusedRoute.params) {
|
|
258
|
-
focusedParams = {
|
|
262
|
+
focusedParams = {
|
|
263
|
+
__proto__: null
|
|
264
|
+
};
|
|
259
265
|
const params = focusedRoute.params;
|
|
260
266
|
for (const key in params) {
|
|
261
267
|
const value = serializeParamValue(params[key]);
|
|
@@ -267,9 +273,7 @@ export function getPathFromState(state, options) {
|
|
|
267
273
|
if (routeState) {
|
|
268
274
|
path += '/';
|
|
269
275
|
} else if (focusedParams) {
|
|
270
|
-
const query = queryString.stringify(focusedParams
|
|
271
|
-
sort: false
|
|
272
|
-
});
|
|
276
|
+
const query = queryString.stringify(focusedParams);
|
|
273
277
|
if (query) {
|
|
274
278
|
path += `?${query}`;
|
|
275
279
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["queryString","combinePatternParts","getPatternParts","getStateFromRouteParams","validatePathConfig","serializeParamValue","value","Array","isArray","map","String","encodePathParam","result","char","charCode","charCodeAt","safe","includes","encodeURIComponent","getActiveRoute","state","configs","getRouteState","route","index","routes","length","Error","config","name","routeState","screens","cachedNormalizedConfigs","WeakMap","getNormalizedConfigs","options","cached","get","normalizedConfigs","createNormalizedConfigs","set","getPathFromState","cachedRouteStates","Map","hasScreenParams","params","screen","hasStateParams","undefined","has","focusedRoute","path","current","initialRoute","parts","partValues","focusedParams","currentOptions","nestedRouteNames","hasNext","ownParts","push","currentParams","key","canBeOmitted","part","optional","repeat","stringify","claimedParams","Set","add","nextRoute","nestedConfig","segment","values","split","some","item","replace","join","query","sort","endsWith","slice","startsWith","createConfigItem","parentParts","exact"],"sourceRoot":"../../src","sources":["getPathFromState.tsx"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["combinePatternParts","getPatternParts","getStateFromRouteParams","queryString","validatePathConfig","serializeParamValue","value","Array","isArray","map","String","encodePathParam","result","char","charCode","charCodeAt","safe","includes","encodeURIComponent","getActiveRoute","state","configs","getRouteState","route","index","routes","length","Error","config","name","routeState","screens","cachedNormalizedConfigs","WeakMap","getNormalizedConfigs","options","cached","get","normalizedConfigs","createNormalizedConfigs","set","getPathFromState","cachedRouteStates","Map","hasScreenParams","params","screen","hasStateParams","undefined","has","focusedRoute","path","current","initialRoute","parts","partValues","focusedParams","currentOptions","nestedRouteNames","hasNext","ownParts","push","currentParams","__proto__","key","canBeOmitted","part","optional","repeat","stringify","claimedParams","Set","add","nextRoute","nestedConfig","segment","values","split","some","item","replace","join","query","endsWith","slice","startsWith","createConfigItem","parentParts","exact"],"sourceRoot":"../../src","sources":["getPathFromState.tsx"],"mappings":";;AAEA,SACEA,mBAAmB,EACnBC,eAAe,QAEV,sBAAmB;AAC1B,SAASC,uBAAuB,QAAQ,8BAA2B;AACnE,OAAO,KAAKC,WAAW,MAAM,kBAAe;AAE5C,SAASC,kBAAkB,QAAQ,yBAAsB;AAqBzD,MAAMC,mBAAmB,GAAIC,KAAc,IACzCA,KAAK,KAAK,IAAI,GACV,IAAI,GACJC,KAAK,CAACC,OAAO,CAACF,KAAK,CAAC,GAClBA,KAAK,CAACG,GAAG,CAACC,MAAM,CAAC,GACjBA,MAAM,CAACJ,KAAK,CAAC;AAErB,MAAMK,eAAe,GAAIL,KAAa,IAAK;EACzC,IAAIM,MAAM,GAAG,EAAE;EAEf,KAAK,MAAMC,IAAI,IAAIP,KAAK,EAAE;IACxB,MAAMQ,QAAQ,GAAGD,IAAI,CAACE,UAAU,CAAC,CAAC,CAAC;IACnC,MAAMC,IAAI,GACPF,QAAQ,IAAI,EAAE,IAAIA,QAAQ,IAAI,EAAE,IAChCA,QAAQ,IAAI,EAAE,IAAIA,QAAQ,IAAI,GAAI,IAClCA,QAAQ,IAAI,EAAE,IAAIA,QAAQ,IAAI,EAAG,IAClC,mBAAmB,CAACG,QAAQ,CAACJ,IAAI,CAAC;IAEpCD,MAAM,IAAII,IAAI,GAAGH,IAAI,GAAGK,kBAAkB,CAACL,IAAI,CAAC;EAClD;EAEA,OAAOD,MAAM;AACf,CAAC;AAED,MAAMO,cAAc,GAAGA,CACrBC,KAAY,EACZC,OAA+C,EAC/CC,aAGsB,KAC4B;EAClD,MAAMC,KAAK,GACT,OAAOH,KAAK,CAACI,KAAK,KAAK,QAAQ,GAC3BJ,KAAK,CAACK,MAAM,CAACL,KAAK,CAACI,KAAK,CAAC,GACzBJ,KAAK,CAACK,MAAM,CAACL,KAAK,CAACK,MAAM,CAACC,MAAM,GAAG,CAAC,CAAC;EAE3C,IAAIH,KAAK,IAAI,IAAI,EAAE;IACjB,MAAM,IAAII,KAAK,CAAC,iCAAiC,CAAC;EACpD;EAEA,MAAMC,MAAM,GAAGP,OAAO,GAAGE,KAAK,CAACM,IAAI,CAAC;EACpC,MAAMC,UAAU,GAAGR,aAAa,CAACC,KAAK,EAAEK,MAAM,CAAC;EAE/C,IAAIE,UAAU,EAAE;IACd,OAAOX,cAAc,CAACW,UAAU,EAAEF,MAAM,EAAEG,OAAO,EAAET,aAAa,CAAC;EACnE;EAEA,OAAOC,KAAK;AACd,CAAC;AAED,MAAMS,uBAAuB,GAAG,IAAIC,OAAO,CAGzC,CAAC;AAEH,MAAMC,oBAAoB,GAAIC,OAAqB,IAAK;EACtD,IAAI,CAACA,OAAO,EAAE;IACZ,OAAO,CAAC,CAAC;EACX;EAEA,MAAMC,MAAM,GAAGJ,uBAAuB,CAACK,GAAG,CAACF,OAAO,CAAC;EAEnD,IAAIC,MAAM,EAAE;IACV,OAAOA,MAAM;EACf;EAEAhC,kBAAkB,CAAC+B,OAAO,CAAC;EAE3B,MAAMG,iBAAiB,GAAGC,uBAAuB,CAACJ,OAAO,CAACJ,OAAO,CAAC;EAElEC,uBAAuB,CAACQ,GAAG,CAACL,OAAO,EAAEG,iBAAiB,CAAC;EAEvD,OAAOA,iBAAiB;AAC1B,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASG,gBAAgBA,CAC9BrB,KAAY,EACZe,OAA4B,EACpB;EACR,IAAIf,KAAK,IAAI,IAAI,EAAE;IACjB,MAAMO,KAAK,CACT,QAAQjB,MAAM,CAACU,KAAK,CAAC,iEACvB,CAAC;EACH;EAEA,MAAMC,OAAO,GAAGa,oBAAoB,CAACC,OAAO,CAAC;EAC7C,MAAMO,iBAAiB,GAAG,IAAIC,GAAG,CAA4B,CAAC;EAE9D,MAAMrB,aAAa,GAAGA,CACpBC,KAA8B,EAC9BK,MAA8B,KAC3B;IACH,IAAIL,KAAK,CAACH,KAAK,EAAE;MACf,OAAOG,KAAK,CAACH,KAAK;IACpB;IAEA,MAAMwB,eAAe,GACnBrB,KAAK,CAACsB,MAAM,IACZ,QAAQ,IAAItB,KAAK,CAACsB,MAAM,IACxB,OAAOtB,KAAK,CAACsB,MAAM,CAACC,MAAM,KAAK,QAAQ,IACvClB,MAAM,EAAEG,OAAO,GAAGR,KAAK,CAACsB,MAAM,CAACC,MAAM,CAAC;IAExC,MAAMC,cAAc,GAClBxB,KAAK,CAACsB,MAAM,IAAI,OAAO,IAAItB,KAAK,CAACsB,MAAM,IAAIjB,MAAM,EAAEG,OAAO;IAE5D,IACE,CAACR,KAAK,CAACsB,MAAM,IACb,CAACjB,MAAM,EAAEG,OAAO,IACf,CAACa,eAAe,IAAI,CAACG,cAAe,EACrC;MACA,OAAOC,SAAS;IAClB;IAEA,IAAI,CAACN,iBAAiB,CAACO,GAAG,CAAC1B,KAAK,CAAC,EAAE;MACjCmB,iBAAiB,CAACF,GAAG,CAACjB,KAAK,EAAErB,uBAAuB,CAACqB,KAAK,CAACsB,MAAM,CAAC,CAAC;IACrE;IAEA,OAAOH,iBAAiB,CAACL,GAAG,CAACd,KAAK,CAAC;EACrC,CAAC;EAED,MAAM2B,YAAY,GAAG/B,cAAc,CAACC,KAAK,EAAEC,OAAO,EAAEC,aAAa,CAAC;EAElE,IAAI6B,IAAI,GAAG,GAAG;EACd,IAAIC,OAA0B,GAAGhC,KAAK;EAEtC,OAAOgC,OAAO,EAAE;IACd,IAAI5B,KAAa,GAAG,OAAO4B,OAAO,CAAC5B,KAAK,KAAK,QAAQ,GAAG4B,OAAO,CAAC5B,KAAK,GAAG,CAAC;IAEzE,MAAM6B,YAAiD,GACrDD,OAAO,CAAC3B,MAAM,CAACD,KAAK,CAAC;IAEvB,IAAI6B,YAAY,IAAI,IAAI,EAAE;MACxB,MAAM,IAAI1B,KAAK,CAAC,kCAAkCH,KAAK,GAAG,CAAC;IAC7D;IAEA,IAAID,KAA8B,GAAG8B,YAAY;IAEjD,IAAIC,KAAgC;;IAEpC;IACA;IACA,MAAMC,UAAU,GAAG,IAAIZ,GAAG,CAAgD,CAAC;IAE3E,IAAIa,aAA+D;IACnE,IAAIC,cAAc,GAAGpC,OAAO;;IAE5B;IACA,MAAMqC,gBAAgB,GAAG,EAAE;IAE3B,IAAIC,OAAO,GAAG,IAAI;IAElB,OAAOA,OAAO,EAAE;MACd,MAAM/B,MAAM,GAAG6B,cAAc,CAAClC,KAAK,CAACM,IAAI,CAAC;MAEzC,IAAID,MAAM,IAAI,IAAI,EAAE;QAClB;MACF;MAEA0B,KAAK,GAAG1B,MAAM,CAAC0B,KAAK;MAEpB,MAAMM,QAAQ,GAAGhC,MAAM,CAACgC,QAAQ;MAEhCF,gBAAgB,CAACG,IAAI,CAACtC,KAAK,CAACM,IAAI,CAAC;MAEjC,IAAIN,KAAK,CAACsB,MAAM,EAAE;QAChB,MAAMV,OAAO,GAAGP,MAAM;QACtB,MAAMiB,MAAM,GAAGtB,KAAK,CAACsB,MAAiC;QACtD,MAAMiB,aAAmD,GAAG;UAC1DC,SAAS,EAAE;QACb,CAAC;QAED,KAAK,MAAMC,GAAG,IAAInB,MAAM,EAAE;UACxB,MAAMvC,KAAK,GAAGuC,MAAM,CAACmB,GAAG,CAAC;UAEzB,IAAI1D,KAAK,KAAK0C,SAAS,EAAE;YACvB,IAAIiB,YAAY,GAAG,KAAK;YAExB,KAAK,MAAMC,IAAI,IAAIN,QAAQ,EAAE;cAC3B,IAAIM,IAAI,CAACrC,IAAI,KAAKmC,GAAG,EAAE;gBACrBC,YAAY,GAAGC,IAAI,CAACC,QAAQ,KAAK,IAAI,IAAID,IAAI,CAACE,MAAM,IAAI,IAAI;gBAC5D;cACF;YACF;YAEA,IAAIH,YAAY,EAAE;cAChB;YACF;UACF;UAEA,MAAMI,SAAS,GAAGlC,OAAO,CAACkC,SAAS,GAAGL,GAAG,CAAC;UAE1CF,aAAa,CAACE,GAAG,CAAC,GAAGK,SAAS,GAC1BA,SAAS,CAAC/D,KAAK,CAAC,GAChBD,mBAAmB,CAACC,KAAK,CAAC;QAChC;QAEA,MAAMgE,aAAa,GAAG,IAAIC,GAAG,CAAS,CAAC;QAEvC,KAAK,MAAML,IAAI,IAAIN,QAAQ,EAAE;UAC3B,IAAIM,IAAI,CAACrC,IAAI,IAAIqC,IAAI,CAACrC,IAAI,IAAIiC,aAAa,EAAE;YAC3C,MAAMxD,KAAK,GAAGwD,aAAa,CAACI,IAAI,CAACrC,IAAI,CAAC;YAEtC,IAAIvB,KAAK,KAAK0C,SAAS,EAAE;cACvBO,UAAU,CAACf,GAAG,CAAC0B,IAAI,EAAE5D,KAAK,CAAC;cAC3BgE,aAAa,CAACE,GAAG,CAACN,IAAI,CAACrC,IAAI,CAAC;YAC9B;UACF;QACF;QAEA,IAAIqB,YAAY,KAAK3B,KAAK,EAAE;UAC1B;UACA;UACA;UACAiC,aAAa,GAAG;YAAEO,SAAS,EAAE;UAAK,CAAC;UAEnC,KAAK,MAAMC,GAAG,IAAIF,aAAa,EAAE;YAC/B,MAAMxD,KAAK,GAAGwD,aAAa,CAACE,GAAG,CAAC;YAEhC,IACE,CAACM,aAAa,CAACrB,GAAG,CAACe,GAAG,CAAC,IACvB1D,KAAK,KAAK0C,SAAS,IACnB1C,KAAK,KAAK,WAAW,EACrB;cACAkD,aAAa,CAACQ,GAAG,CAAC,GAAG1D,KAAK;YAC5B;UACF;QACF;MACF;MAEA,KAAK,MAAM4D,IAAI,IAAIN,QAAQ,EAAE;QAC3B,IAAIM,IAAI,CAACrC,IAAI,IAAI,CAAC0B,UAAU,CAACN,GAAG,CAACiB,IAAI,CAAC,EAAE;UACtCX,UAAU,CAACf,GAAG,CAAC0B,IAAI,EAAElB,SAAS,CAAC;QACjC;MACF;;MAEA;MACA,MAAMlB,UAAU,GAAGR,aAAa,CAACC,KAAK,EAAEK,MAAM,CAAC;MAE/C,IAAI,CAACA,MAAM,CAACG,OAAO,IAAID,UAAU,IAAI,IAAI,EAAE;QACzC6B,OAAO,GAAG,KAAK;MACjB,CAAC,MAAM;QACLnC,KAAK,GACH,OAAOM,UAAU,CAACN,KAAK,KAAK,QAAQ,GAChCM,UAAU,CAACN,KAAK,GAChBM,UAAU,CAACL,MAAM,CAACC,MAAM,GAAG,CAAC;QAElC,MAAM+C,SAA8C,GAClD3C,UAAU,CAACL,MAAM,CAACD,KAAK,CAAC;QAE1B,IAAIiD,SAAS,IAAI,IAAI,EAAE;UACrB,MAAM,IAAI9C,KAAK,CAAC,kCAAkCH,KAAK,GAAG,CAAC;QAC7D;QAEA,MAAMkD,YAAY,GAAG9C,MAAM,CAACG,OAAO;;QAEnC;QACA,IAAI0C,SAAS,CAAC5C,IAAI,IAAI6C,YAAY,EAAE;UAClCnD,KAAK,GAAGkD,SAAS;UACjBhB,cAAc,GAAGiB,YAAY;QAC/B,CAAC,MAAM;UACL;UACAf,OAAO,GAAG,KAAK;QACjB;MACF;IACF;IAEA,MAAM7B,UAAU,GAAGR,aAAa,CAACC,KAAK,EAAEkC,cAAc,CAAClC,KAAK,CAACM,IAAI,CAAC,CAAC;IAEnE,IAAI4B,cAAc,CAAClC,KAAK,CAACM,IAAI,CAAC,IAAI,IAAI,EAAE;MACtC,IAAIyB,KAAK,EAAE;QACT,IAAI9B,KAAK,GAAG,CAAC;QAEb,KAAK,MAAM0C,IAAI,IAAIZ,KAAK,EAAE;UACxB,MAAM;YAAEqB,OAAO;YAAE9C,IAAI;YAAEsC,QAAQ;YAAEC;UAAO,CAAC,GAAGF,IAAI;UAEhD,IAAI1C,KAAK,GAAG,CAAC,EAAE;YACb2B,IAAI,IAAI,GAAG;UACb;UAEA3B,KAAK,EAAE;;UAEP;UACA;UACA;UACA,IAAImD,OAAO,KAAK,GAAG,EAAE;YACnBxB,IAAI,IAAI5B,KAAK,CAACM,IAAI;YAClB;UACF;;UAEA;UACA,IAAIA,IAAI,EAAE;YACR,MAAMvB,KAAK,GAAGiD,UAAU,CAAClB,GAAG,CAAC6B,IAAI,CAAC;YAElC,IAAI5D,KAAK,KAAK0C,SAAS,IAAImB,QAAQ,EAAE;cACnC;cACA;YACF;YAEA,IAAIC,MAAM,EAAE;cACV,IAAI9D,KAAK,KAAK,IAAI,EAAE;gBAClB,MAAM,IAAIqB,KAAK,CACb,qBAAqBgD,OAAO,oCAAoC9C,IAAI,IACtE,CAAC;cACH;cAEA,IAAItB,KAAK,CAACC,OAAO,CAACF,KAAK,CAAC,EAAE;gBACxB,MAAM,IAAIqB,KAAK,CACb,qBAAqBgD,OAAO,kCAAkC9C,IAAI,IACpE,CAAC;cACH;cAEA,MAAM+C,MAAM,GACVtE,KAAK,KAAK0C,SAAS,IAAI1C,KAAK,KAAK,EAAE,GAAG,EAAE,GAAGA,KAAK,CAACuE,KAAK,CAAC,GAAG,CAAC;cAE7D,IAAIT,MAAM,KAAK,aAAa,IAAIQ,MAAM,CAAClD,MAAM,KAAK,CAAC,EAAE;gBACnD,MAAM,IAAIC,KAAK,CACb,qBAAqBgD,OAAO,4CAA4C9C,IAAI,IAC9E,CAAC;cACH;cAEA,IAAI+C,MAAM,CAACE,IAAI,CAAEC,IAAI,IAAKA,IAAI,CAACrD,MAAM,KAAK,CAAC,CAAC,EAAE;gBAC5C,MAAM,IAAIC,KAAK,CACb,qBAAqBgD,OAAO,4CAA4C9C,IAAI,IAC9E,CAAC;cACH;cAEA,IAAI+C,MAAM,CAAClD,MAAM,KAAK,CAAC,EAAE;gBACvByB,IAAI,GAAGA,IAAI,CAAC6B,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;cAChC;cAEA7B,IAAI,IAAIyB,MAAM,CAACnE,GAAG,CAACE,eAAe,CAAC,CAACsE,IAAI,CAAC,GAAG,CAAC;cAC7C;YACF;;YAEA;YACA;YACA9B,IAAI,IAAIxC,eAAe,CAACD,MAAM,CAACJ,KAAK,CAAC,CAAC;YACtC;UACF;UAEA6C,IAAI,IAAIjC,kBAAkB,CAACyD,OAAO,CAAC;QACrC;MACF;IACF,CAAC,MAAM;MACLxB,IAAI,IAAIjC,kBAAkB,CAACK,KAAK,CAACM,IAAI,CAAC;IACxC;IAEA,IAAI,CAAC2B,aAAa,IAAIN,YAAY,CAACL,MAAM,EAAE;MACzCW,aAAa,GAAG;QAAEO,SAAS,EAAE;MAAK,CAAC;MAEnC,MAAMlB,MAAM,GAAGK,YAAY,CAACL,MAAiC;MAE7D,KAAK,MAAMmB,GAAG,IAAInB,MAAM,EAAE;QACxB,MAAMvC,KAAK,GAAGD,mBAAmB,CAACwC,MAAM,CAACmB,GAAG,CAAC,CAAC;QAE9C,IAAI1D,KAAK,KAAK,WAAW,EAAE;UACzBkD,aAAa,CAACQ,GAAG,CAAC,GAAG1D,KAAK;QAC5B;MACF;IACF;IAEA,IAAIwB,UAAU,EAAE;MACdqB,IAAI,IAAI,GAAG;IACb,CAAC,MAAM,IAAIK,aAAa,EAAE;MACxB,MAAM0B,KAAK,GAAG/E,WAAW,CAACkE,SAAS,CAACb,aAAa,CAAC;MAElD,IAAI0B,KAAK,EAAE;QACT/B,IAAI,IAAI,IAAI+B,KAAK,EAAE;MACrB;IACF;IAEA9B,OAAO,GAAGtB,UAAU;EACtB;;EAEA;EACA,IAAIK,OAAO,EAAEgB,IAAI,EAAE;IACjBA,IAAI,GAAG,GAAGhB,OAAO,CAACgB,IAAI,IAAIA,IAAI,EAAE;EAClC;;EAEA;EACA,IAAIA,IAAI,CAAClC,QAAQ,CAAC,IAAI,CAAC,EAAE;IACvBkC,IAAI,GAAGA,IAAI,CAAC6B,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;EAClC;EAEA,IAAI7B,IAAI,CAACzB,MAAM,GAAG,CAAC,IAAIyB,IAAI,CAACgC,QAAQ,CAAC,GAAG,CAAC,EAAE;IACzChC,IAAI,GAAGA,IAAI,CAACiC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;EAC1B;;EAEA;EACA;EACA,IAAI,CAACjC,IAAI,CAACkC,UAAU,CAAC,GAAG,CAAC,EAAE;IACzBlC,IAAI,GAAG,IAAIA,IAAI,EAAE;EACnB;EAEA,OAAOA,IAAI;AACb;AAEA,MAAMmC,gBAAgB,GAAGA,CACvB1D,MAA+B,EAC/B2D,WAA2B,KACZ;EACf,IAAI,OAAO3D,MAAM,KAAK,QAAQ,EAAE;IAC9B,MAAMgC,QAAQ,GAAG3D,eAAe,CAAC2B,MAAM,CAAC;IAExC,IAAI2D,WAAW,EAAE;MACf,OAAO;QACLjC,KAAK,EAAEtD,mBAAmB,CAACuF,WAAW,EAAE3B,QAAQ,CAAC;QACjDA;MACF,CAAC;IACH;IAEA,OAAO;MAAEN,KAAK,EAAEM,QAAQ;MAAEA;IAAS,CAAC;EACtC;EAEA,IAAIhC,MAAM,CAAC4D,KAAK,IAAI5D,MAAM,CAACuB,IAAI,KAAKH,SAAS,EAAE;IAC7C,MAAM,IAAIrB,KAAK,CACb,sJACF,CAAC;EACH;;EAEA;EACA;EACA,MAAMiC,QAAQ,GAAGhC,MAAM,CAACuB,IAAI,GAAGlD,eAAe,CAAC2B,MAAM,CAACuB,IAAI,CAAC,GAAG,EAAE;EAChE,MAAMG,KAAK,GACT1B,MAAM,CAAC4D,KAAK,KAAK,IAAI,GACjBxF,mBAAmB,CAACuF,WAAW,IAAI,EAAE,EAAE3B,QAAQ,CAAC,GAChDA,QAAQ,CAAClC,MAAM,GACbkC,QAAQ,GACRZ,SAAS;EAEjB,MAAMjB,OAAO,GACX,SAAS,IAAIH,MAAM,IAAIA,MAAM,CAACG,OAAO,GACjCQ,uBAAuB,CAACX,MAAM,CAACG,OAAO,EAAEuB,KAAK,CAAC,GAC9CN,SAAS;EAEf,OAAO;IACLM,KAAK;IACLM,QAAQ;IACRS,SAAS,EAAEzC,MAAM,CAACyC,SAAS;IAC3BtC;EACF,CAAC;AACH,CAAC;AAED,MAAMQ,uBAAuB,GAAGA,CAC9BJ,OAA8B,EAC9BmB,KAAqB,KACU;EAC/B,MAAMjC,OAAmC,GAAG,CAAC,CAAC;EAC9C,MAAMU,OAAO,GAAGI,OAAkD;EAElE,KAAK,MAAMN,IAAI,IAAIE,OAAO,EAAE;IAC1B,MAAMH,MAAM,GAAGG,OAAO,CAACF,IAAI,CAAC;IAE5B,IAAID,MAAM,KAAKoB,SAAS,EAAE;MACxB3B,OAAO,CAACQ,IAAI,CAAC,GAAGyD,gBAAgB,CAAC1D,MAAM,EAAE0B,KAAK,CAAC;IACjD;EACF;EAEA,OAAOjC,OAAO;AAChB,CAAC","ignoreList":[]}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import queryString from 'query-string';
|
|
4
3
|
import { arrayStartsWith } from "./arrayStartsWith.js";
|
|
5
4
|
import { combinePatternParts, getPatternParts } from "./getPatternParts.js";
|
|
6
5
|
import { isArrayEqual } from "./isArrayEqual.js";
|
|
6
|
+
import * as queryString from "./queryString.js";
|
|
7
7
|
import { validatePathConfig } from "./validatePathConfig.js";
|
|
8
8
|
const INVALID_SCHEMA_RESULT_ERROR = 'Invalid validation result from schema. It should be an object with either "value" or "issues" property and cannot be asynchronous.';
|
|
9
9
|
const INVALID_PARSER_ERROR = 'Invalid parser. Expected a function or a Standard Schema V1 object.';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["queryString","arrayStartsWith","combinePatternParts","getPatternParts","isArrayEqual","validatePathConfig","INVALID_SCHEMA_RESULT_ERROR","INVALID_PARSER_ERROR","PARAM_GROUP_PREFIX","NESTED_SCREEN_PARAM_NAMES","REGEX_SYNTAX_CHAR","HEX_DIGITS","getStaticSegmentPattern","segment","pattern","char","code","charCodeAt","escaped","test","percentEncoded","length","charAt","encodeURIComponent","getExplicitParamNames","parse","names","name","push","Set","undefined","getStandardSchema","parser","version","validate","getValidationResult","schema","value","result","Array","isArray","issues","Error","getStateFromPath","path","options","previous","initialRoutes","configs","configsWithZeroOrMore","configsByScreen","configsByPattern","prefixRegex","getConfigResources","screens","resolveSharedConfig","config","shared","candidates","selectSharedConfig","remaining","replace","m","toUpperCase","endsWith","prefixMatch","match","slice","routes","split","decodeURIComponent","createNestedStateObject","find","state","routeNames","map","matchAgainstConfig","selectedConfig","selectedRoutes","rematchedRoutes","firstRawSegment","firstDecodedSegment","canMatchFirstSegment","segments","configSegment","decodedSegment","rawSegment","startsWith","cachedConfigResources","WeakMap","prepareConfigResources","cached","get","resources","set","getInitialRoutes","getSortedNormalizedConfigs","prefix","normalizedPrefix","prefixPattern","join","RegExp","c","params","some","param","repeat","screen","existing","checkForDuplicatedConfigs","initialRouteName","parentScreens","key","setupNormalizedConfigs","order","sort","a","b","i","Math","max","rank","segmentRanks","getSegmentRank","regex","includes","intersects","validationFailed","matchedRoutes","index","routeName","entries","routeConfig","hasParams","groups","decoded","decodedSegments","values","rawValues","item","getRoutePatternParts","part","type","optional","initials","parts","configParts","createConfigItem","nestedScreens","hasNestedScreens","currentParts","exact","aliasConfigs","alias","nestedConfig","pop","pathParamNames","regexString","reg","encodedReg","repeatedReg","add","explicitParamNames","focusedRouteNames","current","route","score","focused","initial","selected","best","candidate","better","findInitialRoute","sameParents","parentScreen","configParentScreen","localeCompare","createStateObject","initialRoute","isEmpty","focusedRoute","queryParams","parseQueryParams","valid","shift","nestedState","nextRoute","nestedStateIndex","nestedRoute","parseConfig","routeParams","queryIndex","indexOf","query","has","Object","hasOwn","keys"],"sourceRoot":"../../src","sources":["getStateFromPath.tsx"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["arrayStartsWith","combinePatternParts","getPatternParts","isArrayEqual","queryString","validatePathConfig","INVALID_SCHEMA_RESULT_ERROR","INVALID_PARSER_ERROR","PARAM_GROUP_PREFIX","NESTED_SCREEN_PARAM_NAMES","REGEX_SYNTAX_CHAR","HEX_DIGITS","getStaticSegmentPattern","segment","pattern","char","code","charCodeAt","escaped","test","percentEncoded","length","charAt","encodeURIComponent","getExplicitParamNames","parse","names","name","push","Set","undefined","getStandardSchema","parser","version","validate","getValidationResult","schema","value","result","Array","isArray","issues","Error","getStateFromPath","path","options","previous","initialRoutes","configs","configsWithZeroOrMore","configsByScreen","configsByPattern","prefixRegex","getConfigResources","screens","resolveSharedConfig","config","shared","candidates","selectSharedConfig","remaining","replace","m","toUpperCase","endsWith","prefixMatch","match","slice","routes","split","decodeURIComponent","createNestedStateObject","find","state","routeNames","map","matchAgainstConfig","selectedConfig","selectedRoutes","rematchedRoutes","firstRawSegment","firstDecodedSegment","canMatchFirstSegment","segments","configSegment","decodedSegment","rawSegment","startsWith","cachedConfigResources","WeakMap","prepareConfigResources","cached","get","resources","set","getInitialRoutes","getSortedNormalizedConfigs","prefix","normalizedPrefix","prefixPattern","join","RegExp","c","params","some","param","repeat","screen","existing","checkForDuplicatedConfigs","initialRouteName","parentScreens","key","setupNormalizedConfigs","order","sort","a","b","i","Math","max","rank","segmentRanks","getSegmentRank","regex","includes","intersects","validationFailed","matchedRoutes","index","routeName","entries","routeConfig","hasParams","groups","decoded","decodedSegments","values","rawValues","item","getRoutePatternParts","part","type","optional","initials","parts","configParts","createConfigItem","nestedScreens","hasNestedScreens","currentParts","exact","aliasConfigs","alias","nestedConfig","pop","pathParamNames","regexString","reg","encodedReg","repeatedReg","add","explicitParamNames","focusedRouteNames","current","route","score","focused","initial","selected","best","candidate","better","findInitialRoute","sameParents","parentScreen","configParentScreen","localeCompare","createStateObject","initialRoute","isEmpty","focusedRoute","queryParams","parseQueryParams","valid","shift","nestedState","nextRoute","nestedStateIndex","nestedRoute","parseConfig","routeParams","queryIndex","indexOf","query","has","Object","hasOwn","keys"],"sourceRoot":"../../src","sources":["getStateFromPath.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
// Match complete UTF-8 sequences so malformed input can be decoded partially
|
|
4
|
+
// without repeatedly splitting and retrying an arbitrarily long byte sequence.
|
|
5
|
+
const ENCODED_UTF8 = new RegExp(['%[0-7][\\dA-F]', '%(?:C[2-9A-F]|D[\\dA-F])%[89AB][\\dA-F]', '%E0%[AB][\\dA-F]%[89AB][\\dA-F]', '%E[1-9A-CEF](?:%[89AB][\\dA-F]){2}', '%ED%[89][\\dA-F]%[89AB][\\dA-F]', '%F0%[9AB][\\dA-F](?:%[89AB][\\dA-F]){2}', '%F[1-3](?:%[89AB][\\dA-F]){3}', '%F4%8[\\dA-F](?:%[89AB][\\dA-F]){2}'].join('|'), 'gi');
|
|
6
|
+
const decode = value => {
|
|
7
|
+
if (!value.includes('%')) {
|
|
8
|
+
return value;
|
|
9
|
+
}
|
|
10
|
+
try {
|
|
11
|
+
return decodeURIComponent(value);
|
|
12
|
+
} catch {
|
|
13
|
+
return value.replace(ENCODED_UTF8, sequence => decodeURIComponent(sequence));
|
|
14
|
+
}
|
|
15
|
+
};
|
|
16
|
+
const encode = value => {
|
|
17
|
+
if (/^[A-Za-z0-9_.~-]*$/.test(value)) {
|
|
18
|
+
return value;
|
|
19
|
+
}
|
|
20
|
+
return encodeURIComponent(value).replace(/[!'()*]/g, char => `%${char.charCodeAt(0).toString(16).toUpperCase()}`);
|
|
21
|
+
};
|
|
22
|
+
export function parse(query) {
|
|
23
|
+
const params = Object.create(null);
|
|
24
|
+
query = query.trim().replace(/^[?#&]/, '');
|
|
25
|
+
let start = 0;
|
|
26
|
+
while (start < query.length) {
|
|
27
|
+
if (query[start] === '&') {
|
|
28
|
+
start++;
|
|
29
|
+
continue;
|
|
30
|
+
}
|
|
31
|
+
const end = query.indexOf('&', start);
|
|
32
|
+
const index = end === -1 ? query.length : end;
|
|
33
|
+
const part = query.slice(start, index).replace(/\+/g, ' ');
|
|
34
|
+
const separator = part.indexOf('=');
|
|
35
|
+
const key = decode(separator === -1 ? part : part.slice(0, separator));
|
|
36
|
+
const value = separator === -1 ? null : decode(part.slice(separator + 1));
|
|
37
|
+
const previous = params[key];
|
|
38
|
+
if (previous === undefined) {
|
|
39
|
+
params[key] = value;
|
|
40
|
+
} else if (Array.isArray(previous)) {
|
|
41
|
+
previous.push(value);
|
|
42
|
+
} else {
|
|
43
|
+
params[key] = [previous, value];
|
|
44
|
+
}
|
|
45
|
+
start = index + 1;
|
|
46
|
+
}
|
|
47
|
+
return params;
|
|
48
|
+
}
|
|
49
|
+
export function stringify(params) {
|
|
50
|
+
const parts = [];
|
|
51
|
+
for (const [key, value] of Object.entries(params)) {
|
|
52
|
+
if (Array.isArray(value)) {
|
|
53
|
+
let encodedKey;
|
|
54
|
+
value.forEach(item => {
|
|
55
|
+
encodedKey ??= encode(key);
|
|
56
|
+
parts.push(`${encodedKey}=${encode(item)}`);
|
|
57
|
+
});
|
|
58
|
+
continue;
|
|
59
|
+
}
|
|
60
|
+
const encodedKey = encode(key);
|
|
61
|
+
if (value === null) {
|
|
62
|
+
if (encodedKey) {
|
|
63
|
+
parts.push(encodedKey);
|
|
64
|
+
}
|
|
65
|
+
} else {
|
|
66
|
+
parts.push(`${encodedKey}=${encode(value)}`);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
return parts.join('&');
|
|
70
|
+
}
|
|
71
|
+
//# sourceMappingURL=queryString.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["ENCODED_UTF8","RegExp","join","decode","value","includes","decodeURIComponent","replace","sequence","encode","test","encodeURIComponent","char","charCodeAt","toString","toUpperCase","parse","query","params","Object","create","trim","start","length","end","indexOf","index","part","slice","separator","key","previous","undefined","Array","isArray","push","stringify","parts","entries","encodedKey","forEach","item"],"sourceRoot":"../../src","sources":["queryString.ts"],"mappings":";;AAEA;AACA;AACA,MAAMA,YAAY,GAAG,IAAIC,MAAM,CAC7B,CACE,gBAAgB,EAChB,yCAAyC,EACzC,iCAAiC,EACjC,oCAAoC,EACpC,iCAAiC,EACjC,yCAAyC,EACzC,+BAA+B,EAC/B,qCAAqC,CACtC,CAACC,IAAI,CAAC,GAAG,CAAC,EACX,IACF,CAAC;AAED,MAAMC,MAAM,GAAIC,KAAa,IAAK;EAChC,IAAI,CAACA,KAAK,CAACC,QAAQ,CAAC,GAAG,CAAC,EAAE;IACxB,OAAOD,KAAK;EACd;EAEA,IAAI;IACF,OAAOE,kBAAkB,CAACF,KAAK,CAAC;EAClC,CAAC,CAAC,MAAM;IACN,OAAOA,KAAK,CAACG,OAAO,CAACP,YAAY,EAAGQ,QAAQ,IAC1CF,kBAAkB,CAACE,QAAQ,CAC7B,CAAC;EACH;AACF,CAAC;AAED,MAAMC,MAAM,GAAIL,KAAa,IAAK;EAChC,IAAI,oBAAoB,CAACM,IAAI,CAACN,KAAK,CAAC,EAAE;IACpC,OAAOA,KAAK;EACd;EAEA,OAAOO,kBAAkB,CAACP,KAAK,CAAC,CAACG,OAAO,CACtC,UAAU,EACTK,IAAI,IAAK,IAAIA,IAAI,CAACC,UAAU,CAAC,CAAC,CAAC,CAACC,QAAQ,CAAC,EAAE,CAAC,CAACC,WAAW,CAAC,CAAC,EAC7D,CAAC;AACH,CAAC;AAED,OAAO,SAASC,KAAKA,CAACC,KAAa,EAA8B;EAC/D,MAAMC,MAAkC,GAAGC,MAAM,CAACC,MAAM,CAAC,IAAI,CAAC;EAE9DH,KAAK,GAAGA,KAAK,CAACI,IAAI,CAAC,CAAC,CAACd,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;EAE1C,IAAIe,KAAK,GAAG,CAAC;EAEb,OAAOA,KAAK,GAAGL,KAAK,CAACM,MAAM,EAAE;IAC3B,IAAIN,KAAK,CAACK,KAAK,CAAC,KAAK,GAAG,EAAE;MACxBA,KAAK,EAAE;MACP;IACF;IAEA,MAAME,GAAG,GAAGP,KAAK,CAACQ,OAAO,CAAC,GAAG,EAAEH,KAAK,CAAC;IACrC,MAAMI,KAAK,GAAGF,GAAG,KAAK,CAAC,CAAC,GAAGP,KAAK,CAACM,MAAM,GAAGC,GAAG;IAC7C,MAAMG,IAAI,GAAGV,KAAK,CAACW,KAAK,CAACN,KAAK,EAAEI,KAAK,CAAC,CAACnB,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;IAC1D,MAAMsB,SAAS,GAAGF,IAAI,CAACF,OAAO,CAAC,GAAG,CAAC;IACnC,MAAMK,GAAG,GAAG3B,MAAM,CAAC0B,SAAS,KAAK,CAAC,CAAC,GAAGF,IAAI,GAAGA,IAAI,CAACC,KAAK,CAAC,CAAC,EAAEC,SAAS,CAAC,CAAC;IACtE,MAAMzB,KAAK,GAAGyB,SAAS,KAAK,CAAC,CAAC,GAAG,IAAI,GAAG1B,MAAM,CAACwB,IAAI,CAACC,KAAK,CAACC,SAAS,GAAG,CAAC,CAAC,CAAC;IACzE,MAAME,QAAQ,GAAGb,MAAM,CAACY,GAAG,CAAC;IAE5B,IAAIC,QAAQ,KAAKC,SAAS,EAAE;MAC1Bd,MAAM,CAACY,GAAG,CAAC,GAAG1B,KAAK;IACrB,CAAC,MAAM,IAAI6B,KAAK,CAACC,OAAO,CAACH,QAAQ,CAAC,EAAE;MAClCA,QAAQ,CAACI,IAAI,CAAC/B,KAAK,CAAC;IACtB,CAAC,MAAM;MACLc,MAAM,CAACY,GAAG,CAAC,GAAG,CAACC,QAAQ,EAAE3B,KAAK,CAAC;IACjC;IAEAkB,KAAK,GAAGI,KAAK,GAAG,CAAC;EACnB;EAEA,OAAOR,MAAM;AACf;AAEA,OAAO,SAASkB,SAASA,CACvBlB,MAAgD,EACxC;EACR,MAAMmB,KAAe,GAAG,EAAE;EAE1B,KAAK,MAAM,CAACP,GAAG,EAAE1B,KAAK,CAAC,IAAIe,MAAM,CAACmB,OAAO,CAACpB,MAAM,CAAC,EAAE;IACjD,IAAIe,KAAK,CAACC,OAAO,CAAC9B,KAAK,CAAC,EAAE;MACxB,IAAImC,UAA8B;MAElCnC,KAAK,CAACoC,OAAO,CAAEC,IAAI,IAAK;QACtBF,UAAU,KAAK9B,MAAM,CAACqB,GAAG,CAAC;QAE1BO,KAAK,CAACF,IAAI,CAAC,GAAGI,UAAU,IAAI9B,MAAM,CAACgC,IAAI,CAAC,EAAE,CAAC;MAC7C,CAAC,CAAC;MAEF;IACF;IAEA,MAAMF,UAAU,GAAG9B,MAAM,CAACqB,GAAG,CAAC;IAE9B,IAAI1B,KAAK,KAAK,IAAI,EAAE;MAClB,IAAImC,UAAU,EAAE;QACdF,KAAK,CAACF,IAAI,CAACI,UAAU,CAAC;MACxB;IACF,CAAC,MAAM;MACLF,KAAK,CAACF,IAAI,CAAC,GAAGI,UAAU,IAAI9B,MAAM,CAACL,KAAK,CAAC,EAAE,CAAC;IAC9C;EACF;EAEA,OAAOiC,KAAK,CAACnC,IAAI,CAAC,GAAG,CAAC;AACxB","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getPathFromState.d.ts","sourceRoot":"","sources":["../../../src/getPathFromState.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAS/E,OAAO,KAAK,EAAc,aAAa,EAAE,MAAM,YAAS,CAAC;AAGzD,KAAK,OAAO,CAAC,SAAS,SAAS,EAAE,IAAI;IACnC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC,OAAO,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC;CACnC,CAAC;AAEF,KAAK,KAAK,GAAG,eAAe,GAAG,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,EAAE,OAAO,CAAC,CAAC;AAyF5E;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,SAAS,EAAE,EACnD,KAAK,EAAE,KAAK,EACZ,OAAO,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,GAC3B,MAAM,
|
|
1
|
+
{"version":3,"file":"getPathFromState.d.ts","sourceRoot":"","sources":["../../../src/getPathFromState.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAS/E,OAAO,KAAK,EAAc,aAAa,EAAE,MAAM,YAAS,CAAC;AAGzD,KAAK,OAAO,CAAC,SAAS,SAAS,EAAE,IAAI;IACnC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC,OAAO,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC;CACnC,CAAC;AAEF,KAAK,KAAK,GAAG,eAAe,GAAG,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,EAAE,OAAO,CAAC,CAAC;AAyF5E;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,SAAS,EAAE,EACnD,KAAK,EAAE,KAAK,EACZ,OAAO,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,GAC3B,MAAM,CA6TR"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
type QueryValue = string | null | (string | null)[];
|
|
2
|
+
export declare function parse(query: string): Record<string, QueryValue>;
|
|
3
|
+
export declare function stringify(params: Record<string, string | string[] | null>): string;
|
|
4
|
+
export {};
|
|
5
|
+
//# sourceMappingURL=queryString.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"queryString.d.ts","sourceRoot":"","sources":["../../../src/queryString.ts"],"names":[],"mappings":"AAAA,KAAK,UAAU,GAAG,MAAM,GAAG,IAAI,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC;AA2CpD,wBAAgB,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAiC/D;AAED,wBAAgB,SAAS,CACvB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI,CAAC,GAC/C,MAAM,CA4BR"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@react-navigation/core",
|
|
3
3
|
"description": "Core utilities for building navigators",
|
|
4
|
-
"version": "8.0.0-alpha.
|
|
4
|
+
"version": "8.0.0-alpha.36",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"react",
|
|
7
7
|
"react-native",
|
|
@@ -48,7 +48,6 @@
|
|
|
48
48
|
"@react-navigation/routers": "^8.0.0-alpha.17",
|
|
49
49
|
"fast-deep-equal": "^3.1.3",
|
|
50
50
|
"nanoid": "^5.1.11",
|
|
51
|
-
"query-string": "^9.4.0",
|
|
52
51
|
"react-is": "^19.2.6",
|
|
53
52
|
"use-latest-callback": "^0.3.5",
|
|
54
53
|
"warn-once": "^0.1.1"
|
|
@@ -89,5 +88,5 @@
|
|
|
89
88
|
]
|
|
90
89
|
]
|
|
91
90
|
},
|
|
92
|
-
"gitHead": "
|
|
91
|
+
"gitHead": "ac6baf188f7a456429a87b644053e765233f0151"
|
|
93
92
|
}
|
package/src/getPathFromState.tsx
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import type { NavigationState, PartialState } from '@react-navigation/routers';
|
|
2
|
-
import queryString from 'query-string';
|
|
3
2
|
|
|
4
3
|
import {
|
|
5
4
|
combinePatternParts,
|
|
@@ -7,6 +6,7 @@ import {
|
|
|
7
6
|
type PatternPart,
|
|
8
7
|
} from './getPatternParts';
|
|
9
8
|
import { getStateFromRouteParams } from './getStateFromRouteParams';
|
|
9
|
+
import * as queryString from './queryString';
|
|
10
10
|
import type { PathConfig, PathConfigMap } from './types';
|
|
11
11
|
import { validatePathConfig } from './validatePathConfig';
|
|
12
12
|
|
|
@@ -226,7 +226,9 @@ export function getPathFromState<ParamList extends {}>(
|
|
|
226
226
|
if (route.params) {
|
|
227
227
|
const options = config;
|
|
228
228
|
const params = route.params as Record<string, unknown>;
|
|
229
|
-
const currentParams: Record<string, SerializedParamValue> = {
|
|
229
|
+
const currentParams: Record<string, SerializedParamValue> = {
|
|
230
|
+
__proto__: null,
|
|
231
|
+
};
|
|
230
232
|
|
|
231
233
|
for (const key in params) {
|
|
232
234
|
const value = params[key];
|
|
@@ -270,7 +272,7 @@ export function getPathFromState<ParamList extends {}>(
|
|
|
270
272
|
// If this is the focused route, keep the params for later use
|
|
271
273
|
// We save it here since it's been stringified already
|
|
272
274
|
// Params claimed by the pattern shouldn't be repeated in the query string
|
|
273
|
-
focusedParams = {};
|
|
275
|
+
focusedParams = { __proto__: null };
|
|
274
276
|
|
|
275
277
|
for (const key in currentParams) {
|
|
276
278
|
const value = currentParams[key];
|
|
@@ -405,7 +407,7 @@ export function getPathFromState<ParamList extends {}>(
|
|
|
405
407
|
}
|
|
406
408
|
|
|
407
409
|
if (!focusedParams && focusedRoute.params) {
|
|
408
|
-
focusedParams = {};
|
|
410
|
+
focusedParams = { __proto__: null };
|
|
409
411
|
|
|
410
412
|
const params = focusedRoute.params as Record<string, unknown>;
|
|
411
413
|
|
|
@@ -421,7 +423,7 @@ export function getPathFromState<ParamList extends {}>(
|
|
|
421
423
|
if (routeState) {
|
|
422
424
|
path += '/';
|
|
423
425
|
} else if (focusedParams) {
|
|
424
|
-
const query = queryString.stringify(focusedParams
|
|
426
|
+
const query = queryString.stringify(focusedParams);
|
|
425
427
|
|
|
426
428
|
if (query) {
|
|
427
429
|
path += `?${query}`;
|
package/src/getStateFromPath.tsx
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import type { NavigationState, PartialState } from '@react-navigation/routers';
|
|
2
|
-
import queryString from 'query-string';
|
|
3
2
|
|
|
4
3
|
import { arrayStartsWith } from './arrayStartsWith';
|
|
5
4
|
import {
|
|
@@ -8,6 +7,7 @@ import {
|
|
|
8
7
|
type PatternPartRepeat,
|
|
9
8
|
} from './getPatternParts';
|
|
10
9
|
import { isArrayEqual } from './isArrayEqual';
|
|
10
|
+
import * as queryString from './queryString';
|
|
11
11
|
import type { PathConfig, PathConfigMap } from './types';
|
|
12
12
|
import type {
|
|
13
13
|
StandardSchemaV1,
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
type QueryValue = string | null | (string | null)[];
|
|
2
|
+
|
|
3
|
+
// Match complete UTF-8 sequences so malformed input can be decoded partially
|
|
4
|
+
// without repeatedly splitting and retrying an arbitrarily long byte sequence.
|
|
5
|
+
const ENCODED_UTF8 = new RegExp(
|
|
6
|
+
[
|
|
7
|
+
'%[0-7][\\dA-F]',
|
|
8
|
+
'%(?:C[2-9A-F]|D[\\dA-F])%[89AB][\\dA-F]',
|
|
9
|
+
'%E0%[AB][\\dA-F]%[89AB][\\dA-F]',
|
|
10
|
+
'%E[1-9A-CEF](?:%[89AB][\\dA-F]){2}',
|
|
11
|
+
'%ED%[89][\\dA-F]%[89AB][\\dA-F]',
|
|
12
|
+
'%F0%[9AB][\\dA-F](?:%[89AB][\\dA-F]){2}',
|
|
13
|
+
'%F[1-3](?:%[89AB][\\dA-F]){3}',
|
|
14
|
+
'%F4%8[\\dA-F](?:%[89AB][\\dA-F]){2}',
|
|
15
|
+
].join('|'),
|
|
16
|
+
'gi'
|
|
17
|
+
);
|
|
18
|
+
|
|
19
|
+
const decode = (value: string) => {
|
|
20
|
+
if (!value.includes('%')) {
|
|
21
|
+
return value;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
try {
|
|
25
|
+
return decodeURIComponent(value);
|
|
26
|
+
} catch {
|
|
27
|
+
return value.replace(ENCODED_UTF8, (sequence) =>
|
|
28
|
+
decodeURIComponent(sequence)
|
|
29
|
+
);
|
|
30
|
+
}
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
const encode = (value: string) => {
|
|
34
|
+
if (/^[A-Za-z0-9_.~-]*$/.test(value)) {
|
|
35
|
+
return value;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
return encodeURIComponent(value).replace(
|
|
39
|
+
/[!'()*]/g,
|
|
40
|
+
(char) => `%${char.charCodeAt(0).toString(16).toUpperCase()}`
|
|
41
|
+
);
|
|
42
|
+
};
|
|
43
|
+
|
|
44
|
+
export function parse(query: string): Record<string, QueryValue> {
|
|
45
|
+
const params: Record<string, QueryValue> = Object.create(null);
|
|
46
|
+
|
|
47
|
+
query = query.trim().replace(/^[?#&]/, '');
|
|
48
|
+
|
|
49
|
+
let start = 0;
|
|
50
|
+
|
|
51
|
+
while (start < query.length) {
|
|
52
|
+
if (query[start] === '&') {
|
|
53
|
+
start++;
|
|
54
|
+
continue;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
const end = query.indexOf('&', start);
|
|
58
|
+
const index = end === -1 ? query.length : end;
|
|
59
|
+
const part = query.slice(start, index).replace(/\+/g, ' ');
|
|
60
|
+
const separator = part.indexOf('=');
|
|
61
|
+
const key = decode(separator === -1 ? part : part.slice(0, separator));
|
|
62
|
+
const value = separator === -1 ? null : decode(part.slice(separator + 1));
|
|
63
|
+
const previous = params[key];
|
|
64
|
+
|
|
65
|
+
if (previous === undefined) {
|
|
66
|
+
params[key] = value;
|
|
67
|
+
} else if (Array.isArray(previous)) {
|
|
68
|
+
previous.push(value);
|
|
69
|
+
} else {
|
|
70
|
+
params[key] = [previous, value];
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
start = index + 1;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
return params;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
export function stringify(
|
|
80
|
+
params: Record<string, string | string[] | null>
|
|
81
|
+
): string {
|
|
82
|
+
const parts: string[] = [];
|
|
83
|
+
|
|
84
|
+
for (const [key, value] of Object.entries(params)) {
|
|
85
|
+
if (Array.isArray(value)) {
|
|
86
|
+
let encodedKey: string | undefined;
|
|
87
|
+
|
|
88
|
+
value.forEach((item) => {
|
|
89
|
+
encodedKey ??= encode(key);
|
|
90
|
+
|
|
91
|
+
parts.push(`${encodedKey}=${encode(item)}`);
|
|
92
|
+
});
|
|
93
|
+
|
|
94
|
+
continue;
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
const encodedKey = encode(key);
|
|
98
|
+
|
|
99
|
+
if (value === null) {
|
|
100
|
+
if (encodedKey) {
|
|
101
|
+
parts.push(encodedKey);
|
|
102
|
+
}
|
|
103
|
+
} else {
|
|
104
|
+
parts.push(`${encodedKey}=${encode(value)}`);
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
return parts.join('&');
|
|
109
|
+
}
|