@react-navigation/core 7.8.2 → 7.8.3

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.
@@ -81,8 +81,21 @@ function getPathFromState(state, options) {
81
81
  parts = currentOptions[route.name].parts;
82
82
  nestedRouteNames.push(route.name);
83
83
  if (route.params) {
84
- const stringify = currentOptions[route.name]?.stringify;
85
- const currentParams = Object.fromEntries(Object.entries(route.params).map(([key, value]) => [key, stringify?.[key] ? stringify[key](value) : String(value)]));
84
+ const options = currentOptions[route.name];
85
+ const currentParams = Object.fromEntries(Object.entries(route.params).map(([key, value]) => {
86
+ if (value === undefined) {
87
+ if (options) {
88
+ const optional = options.parts?.find(part => part.param === key)?.optional;
89
+ if (optional) {
90
+ return null;
91
+ }
92
+ } else {
93
+ return null;
94
+ }
95
+ }
96
+ const stringify = options?.stringify?.[key] ?? String;
97
+ return [key, stringify(value)];
98
+ }).filter(entry => entry != null));
86
99
  if (parts?.length) {
87
100
  Object.assign(allParams, currentParams);
88
101
  }
@@ -1 +1 @@
1
- {"version":3,"names":["queryString","_interopRequireWildcard","require","_getPatternParts","_validatePathConfig","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","getActiveRoute","state","route","index","routes","length","cachedNormalizedConfigs","getNormalizedConfigs","options","screens","cached","normalizedConfigs","createNormalizedConfigs","getPathFromState","Error","String","validatePathConfig","configs","path","current","allParams","parts","focusedParams","currentOptions","focusedRoute","nestedRouteNames","hasNext","name","push","params","stringify","currentParams","fromEntries","entries","map","key","value","assign","forEach","param","undefined","nextRoute","nestedConfig","segment","optional","replace","char","encodeURIComponent","join","query","sort","startsWith","createConfigItem","config","parentParts","getPatternParts","exact","c","result"],"sourceRoot":"../../src","sources":["getPathFromState.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["queryString","_interopRequireWildcard","require","_getPatternParts","_validatePathConfig","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","getActiveRoute","state","route","index","routes","length","cachedNormalizedConfigs","getNormalizedConfigs","options","screens","cached","normalizedConfigs","createNormalizedConfigs","getPathFromState","Error","String","validatePathConfig","configs","path","current","allParams","parts","focusedParams","currentOptions","focusedRoute","nestedRouteNames","hasNext","name","push","params","currentParams","fromEntries","entries","map","key","value","undefined","optional","find","part","param","stringify","filter","entry","assign","forEach","nextRoute","nestedConfig","segment","replace","char","encodeURIComponent","join","query","sort","startsWith","createConfigItem","config","parentParts","getPatternParts","exact","c","result"],"sourceRoot":"../../src","sources":["getPathFromState.tsx"],"mappings":"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","ignoreList":[]}
@@ -75,8 +75,21 @@ export function getPathFromState(state, options) {
75
75
  parts = currentOptions[route.name].parts;
76
76
  nestedRouteNames.push(route.name);
77
77
  if (route.params) {
78
- const stringify = currentOptions[route.name]?.stringify;
79
- const currentParams = Object.fromEntries(Object.entries(route.params).map(([key, value]) => [key, stringify?.[key] ? stringify[key](value) : String(value)]));
78
+ const options = currentOptions[route.name];
79
+ const currentParams = Object.fromEntries(Object.entries(route.params).map(([key, value]) => {
80
+ if (value === undefined) {
81
+ if (options) {
82
+ const optional = options.parts?.find(part => part.param === key)?.optional;
83
+ if (optional) {
84
+ return null;
85
+ }
86
+ } else {
87
+ return null;
88
+ }
89
+ }
90
+ const stringify = options?.stringify?.[key] ?? String;
91
+ return [key, stringify(value)];
92
+ }).filter(entry => entry != null));
80
93
  if (parts?.length) {
81
94
  Object.assign(allParams, currentParams);
82
95
  }
@@ -1 +1 @@
1
- {"version":3,"names":["queryString","getPatternParts","validatePathConfig","getActiveRoute","state","route","index","routes","length","cachedNormalizedConfigs","WeakMap","getNormalizedConfigs","options","screens","cached","get","normalizedConfigs","createNormalizedConfigs","set","getPathFromState","Error","String","configs","path","current","allParams","parts","focusedParams","currentOptions","focusedRoute","nestedRouteNames","hasNext","name","push","params","stringify","currentParams","Object","fromEntries","entries","map","key","value","assign","forEach","param","undefined","nextRoute","nestedConfig","segment","optional","replace","char","encodeURIComponent","join","query","sort","startsWith","createConfigItem","config","parentParts","exact","c","result"],"sourceRoot":"../../src","sources":["getPathFromState.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["queryString","getPatternParts","validatePathConfig","getActiveRoute","state","route","index","routes","length","cachedNormalizedConfigs","WeakMap","getNormalizedConfigs","options","screens","cached","get","normalizedConfigs","createNormalizedConfigs","set","getPathFromState","Error","String","configs","path","current","allParams","parts","focusedParams","currentOptions","focusedRoute","nestedRouteNames","hasNext","name","push","params","currentParams","Object","fromEntries","entries","map","key","value","undefined","optional","find","part","param","stringify","filter","entry","assign","forEach","nextRoute","nestedConfig","segment","replace","char","encodeURIComponent","join","query","sort","startsWith","createConfigItem","config","parentParts","exact","c","result"],"sourceRoot":"../../src","sources":["getPathFromState.tsx"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"getPathFromState.d.ts","sourceRoot":"","sources":["../../../../src/getPathFromState.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,YAAY,EAEb,MAAM,2BAA2B,CAAC;AAInC,OAAO,KAAK,EAAc,aAAa,EAAE,MAAM,SAAS,CAAC;AAGzD,KAAK,OAAO,CAAC,SAAS,SAAS,EAAE,IAAI;IACnC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,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;AA0C5E;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,SAAS,EAAE,EACnD,KAAK,EAAE,KAAK,EACZ,OAAO,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,GAC3B,MAAM,CAgLR"}
1
+ {"version":3,"file":"getPathFromState.d.ts","sourceRoot":"","sources":["../../../../src/getPathFromState.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,YAAY,EAEb,MAAM,2BAA2B,CAAC;AAInC,OAAO,KAAK,EAAc,aAAa,EAAE,MAAM,SAAS,CAAC;AAGzD,KAAK,OAAO,CAAC,SAAS,SAAS,EAAE,IAAI;IACnC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,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;AA0C5E;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,SAAS,EAAE,EACnD,KAAK,EAAE,KAAK,EACZ,OAAO,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,GAC3B,MAAM,CAiMR"}
@@ -1 +1 @@
1
- {"version":3,"file":"getPathFromState.d.ts","sourceRoot":"","sources":["../../../../src/getPathFromState.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,YAAY,EAEb,MAAM,2BAA2B,CAAC;AAInC,OAAO,KAAK,EAAc,aAAa,EAAE,MAAM,SAAS,CAAC;AAGzD,KAAK,OAAO,CAAC,SAAS,SAAS,EAAE,IAAI;IACnC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,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;AA0C5E;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,SAAS,EAAE,EACnD,KAAK,EAAE,KAAK,EACZ,OAAO,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,GAC3B,MAAM,CAgLR"}
1
+ {"version":3,"file":"getPathFromState.d.ts","sourceRoot":"","sources":["../../../../src/getPathFromState.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,YAAY,EAEb,MAAM,2BAA2B,CAAC;AAInC,OAAO,KAAK,EAAc,aAAa,EAAE,MAAM,SAAS,CAAC;AAGzD,KAAK,OAAO,CAAC,SAAS,SAAS,EAAE,IAAI;IACnC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,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;AA0C5E;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,SAAS,EAAE,EACnD,KAAK,EAAE,KAAK,EACZ,OAAO,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,GAC3B,MAAM,CAiMR"}
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.8.2",
4
+ "version": "7.8.3",
5
5
  "keywords": [
6
6
  "react",
7
7
  "react-native",
@@ -95,5 +95,5 @@
95
95
  ]
96
96
  ]
97
97
  },
98
- "gitHead": "1ee608f918e50195907c6bd74c193be7d0a2a8c8"
98
+ "gitHead": "7e274996e99ff021e8546310b57e9f0a9536bcf2"
99
99
  }
@@ -131,13 +131,30 @@ export function getPathFromState<ParamList extends {}>(
131
131
  nestedRouteNames.push(route.name);
132
132
 
133
133
  if (route.params) {
134
- const stringify = currentOptions[route.name]?.stringify;
134
+ const options = currentOptions[route.name];
135
135
 
136
136
  const currentParams = Object.fromEntries(
137
- Object.entries(route.params).map(([key, value]) => [
138
- key,
139
- stringify?.[key] ? stringify[key](value) : String(value),
140
- ])
137
+ Object.entries(route.params)
138
+ .map(([key, value]): [string, string] | null => {
139
+ if (value === undefined) {
140
+ if (options) {
141
+ const optional = options.parts?.find(
142
+ (part) => part.param === key
143
+ )?.optional;
144
+
145
+ if (optional) {
146
+ return null;
147
+ }
148
+ } else {
149
+ return null;
150
+ }
151
+ }
152
+
153
+ const stringify = options?.stringify?.[key] ?? String;
154
+
155
+ return [key, stringify(value)];
156
+ })
157
+ .filter((entry) => entry != null)
141
158
  );
142
159
 
143
160
  if (parts?.length) {