@react-navigation/core 7.22.0 → 7.22.1

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.
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
 
3
- import * as queryString from 'query-string';
4
3
  import { 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 getActiveRoute = (state, configs, getRouteState) => {
@@ -124,7 +124,9 @@ export function getPathFromState(state, options) {
124
124
  if (focusedRoute === route) {
125
125
  // If this is the focused route, keep the params for later use
126
126
  // We save it here since it's been stringified already
127
- focusedParams = {};
127
+ focusedParams = {
128
+ __proto__: null
129
+ };
128
130
  for (const key in currentParams) {
129
131
  const value = currentParams[key];
130
132
  if (!claimedParams.has(key) && value !== undefined && value !== 'undefined') {
@@ -202,9 +204,7 @@ export function getPathFromState(state, options) {
202
204
  delete focusedParams[param];
203
205
  }
204
206
  }
205
- const query = queryString.stringify(focusedParams, {
206
- sort: false
207
- });
207
+ const query = queryString.stringify(focusedParams);
208
208
  if (query) {
209
209
  path += `?${query}`;
210
210
  }
@@ -1 +1 @@
1
- {"version":3,"names":["queryString","getPatternParts","getStateFromRouteParams","validatePathConfig","serializeParamValue","value","Array","isArray","map","String","getActiveRoute","state","configs","getRouteState","route","index","routes","length","config","name","routeState","screens","cachedNormalizedConfigs","WeakMap","getNormalizedConfigs","options","cached","get","normalizedConfigs","createNormalizedConfigs","set","getPathFromState","Error","process","env","NODE_ENV","cachedRouteStates","Map","hasScreenParams","params","screen","hasStateParams","undefined","has","focusedRoute","path","current","parts","partValues","focusedParams","currentOptions","nestedRouteNames","hasNext","ownParts","push","currentParams","Object","fromEntries","entries","key","optional","find","part","param","stringify","filter","entry","claimedParams","Set","add","nextRoute","nestedConfig","segment","from","char","test","encodeURIComponent","join","query","sort","replace","startsWith","createConfigItem","parentParts","exact","c","result"],"sourceRoot":"../../src","sources":["getPathFromState.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["getPatternParts","getStateFromRouteParams","queryString","validatePathConfig","serializeParamValue","value","Array","isArray","map","String","getActiveRoute","state","configs","getRouteState","route","index","routes","length","config","name","routeState","screens","cachedNormalizedConfigs","WeakMap","getNormalizedConfigs","options","cached","get","normalizedConfigs","createNormalizedConfigs","set","getPathFromState","Error","process","env","NODE_ENV","cachedRouteStates","Map","hasScreenParams","params","screen","hasStateParams","undefined","has","focusedRoute","path","current","parts","partValues","focusedParams","currentOptions","nestedRouteNames","hasNext","ownParts","push","currentParams","Object","fromEntries","entries","key","optional","find","part","param","stringify","filter","entry","claimedParams","Set","add","__proto__","nextRoute","nestedConfig","segment","from","char","test","encodeURIComponent","join","query","replace","startsWith","createConfigItem","parentParts","exact","c","result"],"sourceRoot":"../../src","sources":["getPathFromState.tsx"],"mappings":"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","ignoreList":[]}
@@ -1,11 +1,11 @@
1
1
  "use strict";
2
2
 
3
3
  import escape from 'escape-string-regexp';
4
- import * as queryString from 'query-string';
5
4
  import { arrayStartsWith } from "./arrayStartsWith.js";
6
5
  import { findFocusedRoute } from "./findFocusedRoute.js";
7
6
  import { getPatternParts } from "./getPatternParts.js";
8
7
  import { isArrayEqual } from "./isArrayEqual.js";
8
+ import * as queryString from "./queryString.js";
9
9
  import { validatePathConfig } from "./validatePathConfig.js";
10
10
  const NESTED_SCREEN_PARAM_NAMES = ['screen', 'params', 'initial', 'path', 'merge', 'pop'];
11
11
  const getStaticSegmentPattern = segment => Array.from(segment, char => {
@@ -1 +1 @@
1
- {"version":3,"names":["escape","queryString","arrayStartsWith","findFocusedRoute","getPatternParts","isArrayEqual","validatePathConfig","NESTED_SCREEN_PARAM_NAMES","getStaticSegmentPattern","segment","Array","from","char","encoded","encodeURIComponent","percentEncoded","charCodeAt","toString","padStart","toUpperCase","join","getExplicitParamNames","parse","names","Object","entries","map","name","length","Set","undefined","getStateFromPath","path","options","initialRoutes","configs","configsByScreen","prefixRegex","getConfigResources","screens","remaining","replace","match","endsWith","prefixMatch","slice","routes","split","push","decodeURIComponent","createNestedStateObject","find","config","segments","routeNames","firstRawSegment","firstDecodedSegment","matchAgainstConfigs","cachedConfigResources","WeakMap","prepareConfigResources","cached","get","resources","set","process","env","NODE_ENV","getInitialRoutes","getSortedNormalizedConfigs","prefix","normalizedPrefix","prefixPattern","RegExp","configsByPattern","Map","c","screen","pattern","existing","checkForDuplicatedConfigs","initialRouteName","parentScreens","concat","keys","key","createNormalizedConfigs","order","sort","a","b","i","Math","max","aWildCard","bWildCard","aParam","startsWith","bParam","aRegex","includes","bRegex","intersects","Error","remainingPath","matchingConfig","regex","canMatchFirstSegment","matchedRoutes","hasInvalidParam","routeName","routeConfig","params","groups","paramEntries","param","value","index","decoded","test","parser","fromEntries","configSegment","decodedSegment","rawSegment","initials","paths","createConfigItem","nestedScreens","hasNestedScreens","exact","aliasConfigs","alias","forEach","nestedConfig","result","pop","parts","pathScreen","part","it","reg","optional","pathParamNames","add","explicitParamNames","findInitialRoute","sameParents","localeCompare","createStateObject","initialRoute","route","isEmpty","state","shift","nestedState","nextRoute","nestedStateIndex","parseQueryParams","parseConfig","routeParams","queryIndex","indexOf","query","hasOwnProperty","call","has"],"sourceRoot":"../../src","sources":["getStateFromPath.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["escape","arrayStartsWith","findFocusedRoute","getPatternParts","isArrayEqual","queryString","validatePathConfig","NESTED_SCREEN_PARAM_NAMES","getStaticSegmentPattern","segment","Array","from","char","encoded","encodeURIComponent","percentEncoded","charCodeAt","toString","padStart","toUpperCase","join","getExplicitParamNames","parse","names","Object","entries","map","name","length","Set","undefined","getStateFromPath","path","options","initialRoutes","configs","configsByScreen","prefixRegex","getConfigResources","screens","remaining","replace","match","endsWith","prefixMatch","slice","routes","split","push","decodeURIComponent","createNestedStateObject","find","config","segments","routeNames","firstRawSegment","firstDecodedSegment","matchAgainstConfigs","cachedConfigResources","WeakMap","prepareConfigResources","cached","get","resources","set","process","env","NODE_ENV","getInitialRoutes","getSortedNormalizedConfigs","prefix","normalizedPrefix","prefixPattern","RegExp","configsByPattern","Map","c","screen","pattern","existing","checkForDuplicatedConfigs","initialRouteName","parentScreens","concat","keys","key","createNormalizedConfigs","order","sort","a","b","i","Math","max","aWildCard","bWildCard","aParam","startsWith","bParam","aRegex","includes","bRegex","intersects","Error","remainingPath","matchingConfig","regex","canMatchFirstSegment","matchedRoutes","hasInvalidParam","routeName","routeConfig","params","groups","paramEntries","param","value","index","decoded","test","parser","fromEntries","configSegment","decodedSegment","rawSegment","initials","paths","createConfigItem","nestedScreens","hasNestedScreens","exact","aliasConfigs","alias","forEach","nestedConfig","result","pop","parts","pathScreen","part","it","reg","optional","pathParamNames","add","explicitParamNames","findInitialRoute","sameParents","localeCompare","createStateObject","initialRoute","route","isEmpty","state","shift","nestedState","nextRoute","nestedStateIndex","parseQueryParams","parseConfig","routeParams","queryIndex","indexOf","query","hasOwnProperty","call","has"],"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":"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","ignoreList":[]}
@@ -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": "7.22.0",
4
+ "version": "7.22.1",
5
5
  "keywords": [
6
6
  "react",
7
7
  "react-native",
@@ -44,7 +44,6 @@
44
44
  "escape-string-regexp": "^4.0.0",
45
45
  "fast-deep-equal": "^3.1.3",
46
46
  "nanoid": "^3.3.11",
47
- "query-string": "^7.1.3",
48
47
  "react-is": "^19.1.0",
49
48
  "use-latest-callback": "^0.2.4",
50
49
  "use-sync-external-store": "^1.5.0"
@@ -83,5 +82,5 @@
83
82
  ]
84
83
  ]
85
84
  },
86
- "gitHead": "c56a43f63778adf90170224f98407e609efd450f"
85
+ "gitHead": "90950419c0ee5dec77cd40cee0687add80dcf625"
87
86
  }
@@ -1,8 +1,8 @@
1
1
  import type { NavigationState, PartialState } from '@react-navigation/routers';
2
- import * as queryString from 'query-string';
3
2
 
4
3
  import { getPatternParts, type PatternPart } from './getPatternParts';
5
4
  import { getStateFromRouteParams } from './getStateFromRouteParams';
5
+ import * as queryString from './queryString';
6
6
  import type { PathConfig, PathConfigMap } from './types';
7
7
  import { validatePathConfig } from './validatePathConfig';
8
8
 
@@ -226,7 +226,7 @@ export function getPathFromState<ParamList extends {}>(
226
226
  if (focusedRoute === route) {
227
227
  // If this is the focused route, keep the params for later use
228
228
  // We save it here since it's been stringified already
229
- focusedParams = {};
229
+ focusedParams = { __proto__: null };
230
230
 
231
231
  for (const key in currentParams) {
232
232
  const value = currentParams[key];
@@ -332,7 +332,7 @@ export function getPathFromState<ParamList extends {}>(
332
332
  }
333
333
  }
334
334
 
335
- const query = queryString.stringify(focusedParams, { sort: false });
335
+ const query = queryString.stringify(focusedParams);
336
336
 
337
337
  if (query) {
338
338
  path += `?${query}`;
@@ -5,12 +5,12 @@ import type {
5
5
  PartialState,
6
6
  } from '@react-navigation/routers';
7
7
  import escape from 'escape-string-regexp';
8
- import * as queryString from 'query-string';
9
8
 
10
9
  import { arrayStartsWith } from './arrayStartsWith';
11
10
  import { findFocusedRoute } from './findFocusedRoute';
12
11
  import { getPatternParts, type PatternPart } from './getPatternParts';
13
12
  import { isArrayEqual } from './isArrayEqual';
13
+ import * as queryString from './queryString';
14
14
  import type { PathConfig, PathConfigMap } from './types';
15
15
  import { validatePathConfig } from './validatePathConfig';
16
16
 
@@ -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
+ }