@react-navigation/core 7.2.0 → 7.2.2

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.
@@ -146,9 +146,12 @@ function getInitialRoutes(options) {
146
146
  function getNormalizedConfigs(initialRoutes, screens = {}) {
147
147
  // Create a normalized configs array which will be easier to use
148
148
  return [].concat(...Object.keys(screens).map(key => createNormalizedConfigs(key, screens, initialRoutes, [], [], []))).sort((a, b) => {
149
- // Sort config so that:
150
- // - the most exhaustive ones are always at the beginning
151
- // - patterns with wildcard are always at the end
149
+ // Sort config from most specific to least specific:
150
+ // - more segments
151
+ // - static segments
152
+ // - params with regex
153
+ // - regular params
154
+ // - wildcard
152
155
 
153
156
  // If 2 patterns are same, move the one with less route names up
154
157
  // This is an error state, so it's only useful for consistent error messages
@@ -174,35 +177,47 @@ function getNormalizedConfigs(initialRoutes, screens = {}) {
174
177
  if (b.segments[i] == null) {
175
178
  return -1;
176
179
  }
177
- const aWildCard = a.segments[i] === '*' || a.segments[i].startsWith(':');
178
- const bWildCard = b.segments[i] === '*' || b.segments[i].startsWith(':');
179
- const aRegex = a.segments[i].startsWith(':') && a.segments[i].includes('(');
180
- const bRegex = b.segments[i].startsWith(':') && b.segments[i].includes('(');
180
+ const aWildCard = a.segments[i] === '*';
181
+ const bWildCard = b.segments[i] === '*';
182
+ const aParam = a.segments[i].startsWith(':');
183
+ const bParam = b.segments[i].startsWith(':');
184
+ const aRegex = aParam && a.segments[i].includes('(');
185
+ const bRegex = bParam && b.segments[i].includes('(');
181
186
 
182
- // if both are wildcard & regex we compare next component
183
- if (aWildCard && bWildCard && aRegex && bRegex) {
187
+ // if both are wildcard or regex, we compare next component
188
+ if (aWildCard && bWildCard || aRegex && bRegex) {
184
189
  continue;
185
190
  }
186
191
 
187
- // if only a has regex, a gets higher priority
188
- if (aRegex && !bRegex) {
192
+ // if only a is wildcard, b gets higher priority
193
+ if (aWildCard && !bWildCard) {
194
+ return 1;
195
+ }
196
+
197
+ // if only b is wildcard, a gets higher priority
198
+ if (bWildCard && !aWildCard) {
189
199
  return -1;
190
200
  }
191
201
 
192
- // if only b has regex, b gets higher priority
193
- if (bRegex && !aRegex) {
202
+ // If only a has a param, b gets higher priority
203
+ if (aParam && !bParam) {
194
204
  return 1;
195
205
  }
196
206
 
197
- // if only a is wildcard, b gets higher priority
198
- if (aWildCard && !bWildCard) {
199
- return 1;
207
+ // If only b has a param, a gets higher priority
208
+ if (bParam && !aParam) {
209
+ return -1;
200
210
  }
201
211
 
202
- // if only b is wildcard, a gets higher priority
203
- if (bWildCard && !aWildCard) {
212
+ // if only a has regex, a gets higher priority
213
+ if (aRegex && !bRegex) {
204
214
  return -1;
205
215
  }
216
+
217
+ // if only b has regex, b gets higher priority
218
+ if (bRegex && !aRegex) {
219
+ return 1;
220
+ }
206
221
  }
207
222
  return a.segments.length - b.segments.length;
208
223
  });
@@ -1 +1 @@
1
- {"version":3,"names":["_escapeStringRegexp","_interopRequireDefault","require","queryString","_interopRequireWildcard","_arrayStartsWith","_findFocusedRoute","_getPatternParts","_isArrayEqual","_validatePathConfig","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","getStateFromPath","path","options","initialRoutes","configs","configWithRegexes","getConfigResources","screens","remaining","replace","endsWith","prefix","normalizedPrefix","startsWith","undefined","routes","split","filter","Boolean","map","segment","name","decodeURIComponent","length","createNestedStateObject","match","find","config","segments","join","routeNames","result","current","remainingPath","matchAgainstConfigs","cachedConfigResources","prepareConfigResources","cached","resources","validatePathConfig","getInitialRoutes","getNormalizedConfigs","checkForDuplicatedConfigs","getConfigsWithRegexes","initialRouteName","push","parentScreens","concat","keys","key","createNormalizedConfigs","sort","b","isArrayEqual","localeCompare","arrayStartsWith","Math","max","aWildCard","bWildCard","aRegex","includes","bRegex","reduce","acc","pattern","intersects","every","it","Error","assign","c","regex","RegExp","source","routeName","routeConfig","screen","params","groups","fromEntries","entries","value","index","Number","param","decoded","parsed","parse","initials","paths","createConfigItem","exact","forEach","nestedConfig","pop","parts","getPatternParts","part","reg","optional","escape","findParseConfigForRoute","flatConfig","findInitialRoute","sameParents","createStateObject","initialRoute","route","isEmpty","state","shift","nestedState","nestedStateIndex","findFocusedRoute","parseQueryParams","parseConfig","query"],"sourceRoot":"../../src","sources":["getStateFromPath.tsx"],"mappings":";;;;;;AAKA,IAAAA,mBAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,WAAA,GAAAC,uBAAA,CAAAF,OAAA;AAEA,IAAAG,gBAAA,GAAAH,OAAA;AACA,IAAAI,iBAAA,GAAAJ,OAAA;AACA,IAAAK,gBAAA,GAAAL,OAAA;AACA,IAAAM,aAAA,GAAAN,OAAA;AAEA,IAAAO,mBAAA,GAAAP,OAAA;AAA0D,SAAAQ,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAP,wBAAAO,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAAA,SAAAlB,uBAAAU,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAI,UAAA,GAAAJ,CAAA,KAAAK,OAAA,EAAAL,CAAA;AAwC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASmB,gBAAgBA,CAC9BC,IAAY,EACZC,OAA4B,EACH;EACzB,MAAM;IAAEC,aAAa;IAAEC,OAAO;IAAEC;EAAkB,CAAC,GACjDC,kBAAkB,CAACJ,OAAO,CAAC;EAE7B,MAAMK,OAAO,GAAGL,OAAO,EAAEK,OAAO;EAEhC,IAAIC,SAAS,GAAGP,IAAI,CACjBQ,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;EAAA,CACrBA,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;EAAA,CACnBA,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;;EAEzB;EACAD,SAAS,GAAGA,SAAS,CAACE,QAAQ,CAAC,GAAG,CAAC,GAAGF,SAAS,GAAG,GAAGA,SAAS,GAAG;EAEjE,MAAMG,MAAM,GAAGT,OAAO,EAAED,IAAI,EAAEQ,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC;;EAElD,IAAIE,MAAM,EAAE;IACV;IACA,MAAMC,gBAAgB,GAAGD,MAAM,CAACD,QAAQ,CAAC,GAAG,CAAC,GAAGC,MAAM,GAAG,GAAGA,MAAM,GAAG;;IAErE;IACA,IAAI,CAACH,SAAS,CAACK,UAAU,CAACD,gBAAgB,CAAC,EAAE;MAC3C,OAAOE,SAAS;IAClB;;IAEA;IACAN,SAAS,GAAGA,SAAS,CAACC,OAAO,CAACG,gBAAgB,EAAE,EAAE,CAAC;EACrD;EAEA,IAAIL,OAAO,KAAKO,SAAS,EAAE;IACzB;IACA,MAAMC,MAAM,GAAGP,SAAS,CACrBQ,KAAK,CAAC,GAAG,CAAC,CACVC,MAAM,CAACC,OAAO,CAAC,CACfC,GAAG,CAAEC,OAAO,IAAK;MAChB,MAAMC,IAAI,GAAGC,kBAAkB,CAACF,OAAO,CAAC;MACxC,OAAO;QAAEC;MAAK,CAAC;IACjB,CAAC,CAAC;IAEJ,IAAIN,MAAM,CAACQ,MAAM,EAAE;MACjB,OAAOC,uBAAuB,CAACvB,IAAI,EAAEc,MAAM,EAAEZ,aAAa,CAAC;IAC7D;IAEA,OAAOW,SAAS;EAClB;EAEA,IAAIN,SAAS,KAAK,GAAG,EAAE;IACrB;IACA;IACA,MAAMiB,KAAK,GAAGrB,OAAO,CAACsB,IAAI,CAAEC,MAAM,IAAKA,MAAM,CAACC,QAAQ,CAACC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;IAExE,IAAIJ,KAAK,EAAE;MACT,OAAOD,uBAAuB,CAC5BvB,IAAI,EACJwB,KAAK,CAACK,UAAU,CAACX,GAAG,CAAEE,IAAI,KAAM;QAAEA;MAAK,CAAC,CAAC,CAAC,EAC1ClB,aAAa,EACbC,OACF,CAAC;IACH;IAEA,OAAOU,SAAS;EAClB;EAEA,IAAIiB,MAAiD;EACrD,IAAIC,OAAkD;;EAEtD;EACA;EACA,MAAM;IAAEjB,MAAM;IAAEkB;EAAc,CAAC,GAAGC,mBAAmB,CACnD1B,SAAS,EACTH,iBACF,CAAC;EAED,IAAIU,MAAM,KAAKD,SAAS,EAAE;IACxB;IACAkB,OAAO,GAAGR,uBAAuB,CAACvB,IAAI,EAAEc,MAAM,EAAEZ,aAAa,EAAEC,OAAO,CAAC;IACvEI,SAAS,GAAGyB,aAAa;IACzBF,MAAM,GAAGC,OAAO;EAClB;EAEA,IAAIA,OAAO,IAAI,IAAI,IAAID,MAAM,IAAI,IAAI,EAAE;IACrC,OAAOjB,SAAS;EAClB;EAEA,OAAOiB,MAAM;AACf;;AAEA;AACA;AACA;AACA,MAAMI,qBAAqB,GAAG,IAAIrD,OAAO,CAA+B,CAAC;AAEzE,SAASwB,kBAAkBA,CACzBJ,OAAuC,EACvC;EACA,IAAI,CAACA,OAAO,EAAE,OAAOkC,sBAAsB,CAAC,CAAC;EAE7C,MAAMC,MAAM,GAAGF,qBAAqB,CAAC/C,GAAG,CAACc,OAAO,CAAC;EAEjD,IAAImC,MAAM,EAAE,OAAOA,MAAM;EAEzB,MAAMC,SAAS,GAAGF,sBAAsB,CAAClC,OAAO,CAAC;EAEjDiC,qBAAqB,CAACpC,GAAG,CAACG,OAAO,EAAEoC,SAAS,CAAC;EAE7C,OAAOA,SAAS;AAClB;AAEA,SAASF,sBAAsBA,CAAClC,OAAqB,EAAE;EACrD,IAAIA,OAAO,EAAE;IACX,IAAAqC,sCAAkB,EAACrC,OAAO,CAAC;EAC7B;EAEA,MAAMC,aAAa,GAAGqC,gBAAgB,CAACtC,OAAO,CAAC;EAE/C,MAAME,OAAO,GAAGqC,oBAAoB,CAACtC,aAAa,EAAED,OAAO,EAAEK,OAAO,CAAC;EAErEmC,yBAAyB,CAACtC,OAAO,CAAC;EAElC,MAAMC,iBAAiB,GAAGsC,qBAAqB,CAACvC,OAAO,CAAC;EAExD,OAAO;IACLD,aAAa;IACbC,OAAO;IACPC;EACF,CAAC;AACH;AAEA,SAASmC,gBAAgBA,CAACtC,OAAqB,EAAE;EAC/C,MAAMC,aAAmC,GAAG,EAAE;EAE9C,IAAID,OAAO,EAAE0C,gBAAgB,EAAE;IAC7BzC,aAAa,CAAC0C,IAAI,CAAC;MACjBD,gBAAgB,EAAE1C,OAAO,CAAC0C,gBAAgB;MAC1CE,aAAa,EAAE;IACjB,CAAC,CAAC;EACJ;EAEA,OAAO3C,aAAa;AACtB;AAEA,SAASsC,oBAAoBA,CAC3BtC,aAAmC,EACnCI,OAA8B,GAAG,CAAC,CAAC,EACnC;EACA;EACA,OAAQ,EAAE,CACPwC,MAAM,CACL,GAAGvD,MAAM,CAACwD,IAAI,CAACzC,OAAO,CAAC,CAACY,GAAG,CAAE8B,GAAG,IAC9BC,uBAAuB,CACrBD,GAAG,EACH1C,OAAO,EACPJ,aAAa,EACb,EAAE,EACF,EAAE,EACF,EACF,CACF,CACF,CAAC,CACAgD,IAAI,CAAC,CAAC5D,CAAC,EAAE6D,CAAC,KAAK;IACd;IACA;IACA;;IAEA;IACA;IACA,IAAI,IAAAC,0BAAY,EAAC9D,CAAC,CAACqC,QAAQ,EAAEwB,CAAC,CAACxB,QAAQ,CAAC,EAAE;MACxC,OAAOwB,CAAC,CAACtB,UAAU,CAACD,IAAI,CAAC,GAAG,CAAC,CAACyB,aAAa,CAAC/D,CAAC,CAACuC,UAAU,CAACD,IAAI,CAAC,GAAG,CAAC,CAAC;IACrE;;IAEA;IACA;IACA,IAAI,IAAA0B,gCAAe,EAAChE,CAAC,CAACqC,QAAQ,EAAEwB,CAAC,CAACxB,QAAQ,CAAC,EAAE;MAC3C,OAAO,CAAC,CAAC;IACX;IAEA,IAAI,IAAA2B,gCAAe,EAACH,CAAC,CAACxB,QAAQ,EAAErC,CAAC,CAACqC,QAAQ,CAAC,EAAE;MAC3C,OAAO,CAAC;IACV;IAEA,KAAK,IAAI9B,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG0D,IAAI,CAACC,GAAG,CAAClE,CAAC,CAACqC,QAAQ,CAACL,MAAM,EAAE6B,CAAC,CAACxB,QAAQ,CAACL,MAAM,CAAC,EAAEzB,CAAC,EAAE,EAAE;MACvE;MACA,IAAIP,CAAC,CAACqC,QAAQ,CAAC9B,CAAC,CAAC,IAAI,IAAI,EAAE;QACzB,OAAO,CAAC;MACV;;MAEA;MACA,IAAIsD,CAAC,CAACxB,QAAQ,CAAC9B,CAAC,CAAC,IAAI,IAAI,EAAE;QACzB,OAAO,CAAC,CAAC;MACX;MAEA,MAAM4D,SAAS,GACbnE,CAAC,CAACqC,QAAQ,CAAC9B,CAAC,CAAC,KAAK,GAAG,IAAIP,CAAC,CAACqC,QAAQ,CAAC9B,CAAC,CAAC,CAACe,UAAU,CAAC,GAAG,CAAC;MACxD,MAAM8C,SAAS,GACbP,CAAC,CAACxB,QAAQ,CAAC9B,CAAC,CAAC,KAAK,GAAG,IAAIsD,CAAC,CAACxB,QAAQ,CAAC9B,CAAC,CAAC,CAACe,UAAU,CAAC,GAAG,CAAC;MACxD,MAAM+C,MAAM,GACVrE,CAAC,CAACqC,QAAQ,CAAC9B,CAAC,CAAC,CAACe,UAAU,CAAC,GAAG,CAAC,IAAItB,CAAC,CAACqC,QAAQ,CAAC9B,CAAC,CAAC,CAAC+D,QAAQ,CAAC,GAAG,CAAC;MAC9D,MAAMC,MAAM,GACVV,CAAC,CAACxB,QAAQ,CAAC9B,CAAC,CAAC,CAACe,UAAU,CAAC,GAAG,CAAC,IAAIuC,CAAC,CAACxB,QAAQ,CAAC9B,CAAC,CAAC,CAAC+D,QAAQ,CAAC,GAAG,CAAC;;MAE9D;MACA,IAAIH,SAAS,IAAIC,SAAS,IAAIC,MAAM,IAAIE,MAAM,EAAE;QAC9C;MACF;;MAEA;MACA,IAAIF,MAAM,IAAI,CAACE,MAAM,EAAE;QACrB,OAAO,CAAC,CAAC;MACX;;MAEA;MACA,IAAIA,MAAM,IAAI,CAACF,MAAM,EAAE;QACrB,OAAO,CAAC;MACV;;MAEA;MACA,IAAIF,SAAS,IAAI,CAACC,SAAS,EAAE;QAC3B,OAAO,CAAC;MACV;;MAEA;MACA,IAAIA,SAAS,IAAI,CAACD,SAAS,EAAE;QAC3B,OAAO,CAAC,CAAC;MACX;IACF;IAEA,OAAOnE,CAAC,CAACqC,QAAQ,CAACL,MAAM,GAAG6B,CAAC,CAACxB,QAAQ,CAACL,MAAM;EAC9C,CAAC,CAAC;AACN;AAEA,SAASmB,yBAAyBA,CAACtC,OAAsB,EAAE;EACzD;EACAA,OAAO,CAAC2D,MAAM,CAA8B,CAACC,GAAG,EAAErC,MAAM,KAAK;IAC3D,MAAMsC,OAAO,GAAGtC,MAAM,CAACC,QAAQ,CAACC,IAAI,CAAC,GAAG,CAAC;IAEzC,IAAImC,GAAG,CAACC,OAAO,CAAC,EAAE;MAChB,MAAM1E,CAAC,GAAGyE,GAAG,CAACC,OAAO,CAAC,CAACnC,UAAU;MACjC,MAAMsB,CAAC,GAAGzB,MAAM,CAACG,UAAU;;MAE3B;MACA;MACA,MAAMoC,UAAU,GACd3E,CAAC,CAACgC,MAAM,GAAG6B,CAAC,CAAC7B,MAAM,GACf6B,CAAC,CAACe,KAAK,CAAC,CAACC,EAAE,EAAEtE,CAAC,KAAKP,CAAC,CAACO,CAAC,CAAC,KAAKsE,EAAE,CAAC,GAC/B7E,CAAC,CAAC4E,KAAK,CAAC,CAACC,EAAE,EAAEtE,CAAC,KAAKsD,CAAC,CAACtD,CAAC,CAAC,KAAKsE,EAAE,CAAC;MAErC,IAAI,CAACF,UAAU,EAAE;QACf,MAAM,IAAIG,KAAK,CACb,iEACEJ,OAAO,uBACc1E,CAAC,CAACsC,IAAI,CAAC,KAAK,CAAC,UAAUuB,CAAC,CAACvB,IAAI,CAClD,KACF,CAAC,wEACH,CAAC;MACH;IACF;IAEA,OAAOrC,MAAM,CAAC8E,MAAM,CAACN,GAAG,EAAE;MACxB,CAACC,OAAO,GAAGtC;IACb,CAAC,CAAC;EACJ,CAAC,EAAE,CAAC,CAAC,CAAC;AACR;AAEA,SAASgB,qBAAqBA,CAACvC,OAAsB,EAAE;EACrD,OAAOA,OAAO,CAACe,GAAG,CAAEoD,CAAC,KAAM;IACzB,GAAGA,CAAC;IACJ;IACAC,KAAK,EAAED,CAAC,CAACC,KAAK,GAAG,IAAIC,MAAM,CAACF,CAAC,CAACC,KAAK,CAACE,MAAM,GAAG,GAAG,CAAC,GAAG5D;EACtD,CAAC,CAAC,CAAC;AACL;AAEA,MAAMoB,mBAAmB,GAAGA,CAAC1B,SAAiB,EAAEJ,OAAsB,KAAK;EACzE,IAAIW,MAAiC;EACrC,IAAIkB,aAAa,GAAGzB,SAAS;;EAE7B;EACA,KAAK,MAAMmB,MAAM,IAAIvB,OAAO,EAAE;IAC5B,IAAI,CAACuB,MAAM,CAAC6C,KAAK,EAAE;MACjB;IACF;IAEA,MAAM/C,KAAK,GAAGQ,aAAa,CAACR,KAAK,CAACE,MAAM,CAAC6C,KAAK,CAAC;;IAE/C;IACA,IAAI/C,KAAK,EAAE;MACTV,MAAM,GAAGY,MAAM,CAACG,UAAU,CAACX,GAAG,CAAEwD,SAAS,IAAK;QAC5C,MAAMC,WAAW,GAAGxE,OAAO,CAACsB,IAAI,CAAE6C,CAAC,IAAK;UACtC;UACA,OACEA,CAAC,CAACM,MAAM,KAAKF,SAAS,IACtB,IAAApB,gCAAe,EAAC5B,MAAM,CAACC,QAAQ,EAAE2C,CAAC,CAAC3C,QAAQ,CAAC;QAEhD,CAAC,CAAC;QAEF,MAAMkD,MAAM,GACVF,WAAW,IAAInD,KAAK,CAACsD,MAAM,GACvBvF,MAAM,CAACwF,WAAW,CAChBxF,MAAM,CAACyF,OAAO,CAACxD,KAAK,CAACsD,MAAM,CAAC,CACzB5D,GAAG,CAAC,CAAC,CAAC8B,GAAG,EAAEiC,KAAK,CAAC,KAAK;UACrB,MAAMC,KAAK,GAAGC,MAAM,CAACnC,GAAG,CAACxC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;UAC/C,MAAM4E,KAAK,GAAGT,WAAW,CAACE,MAAM,CAACpD,IAAI,CAClC0C,EAAE,IAAKA,EAAE,CAACe,KAAK,KAAKA,KACvB,CAAC;UAED,IAAIE,KAAK,EAAER,MAAM,KAAKF,SAAS,IAAIU,KAAK,EAAEhE,IAAI,EAAE;YAC9C,OAAO,CAACgE,KAAK,CAAChE,IAAI,EAAE6D,KAAK,CAAC;UAC5B;UAEA,OAAO,IAAI;QACb,CAAC,CAAC,CACDjE,MAAM,CAAEmD,EAAE,IAAKA,EAAE,IAAI,IAAI,CAAC,CAC1BjD,GAAG,CAAC,CAAC,CAAC8B,GAAG,EAAEiC,KAAK,CAAC,KAAK;UACrB,IAAIA,KAAK,IAAI,IAAI,EAAE;YACjB,OAAO,CAACjC,GAAG,EAAEnC,SAAS,CAAC;UACzB;UAEA,MAAMwE,OAAO,GAAGhE,kBAAkB,CAAC4D,KAAK,CAAC;UACzC,MAAMK,MAAM,GAAGX,WAAW,CAACY,KAAK,GAAGvC,GAAG,CAAC,GACnC2B,WAAW,CAACY,KAAK,CAACvC,GAAG,CAAC,CAACqC,OAAO,CAAC,GAC/BA,OAAO;UAEX,OAAO,CAACrC,GAAG,EAAEsC,MAAM,CAAC;QACtB,CAAC,CACL,CAAC,GACDzE,SAAS;QAEf,IAAIgE,MAAM,IAAItF,MAAM,CAACwD,IAAI,CAAC8B,MAAM,CAAC,CAACvD,MAAM,EAAE;UACxC,OAAO;YAAEF,IAAI,EAAEsD,SAAS;YAAEG;UAAO,CAAC;QACpC;QAEA,OAAO;UAAEzD,IAAI,EAAEsD;QAAU,CAAC;MAC5B,CAAC,CAAC;MAEF1C,aAAa,GAAGA,aAAa,CAACxB,OAAO,CAACgB,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;MAEnD;IACF;EACF;EAEA,OAAO;IAAEV,MAAM;IAAEkB;EAAc,CAAC;AAClC,CAAC;AAED,MAAMiB,uBAAuB,GAAGA,CAC9B2B,MAAc,EACdD,WAAkC,EAClCa,QAA8B,EAC9BC,KAAyC,EACzC5C,aAAuB,EACvBhB,UAAoB,KACF;EAClB,MAAM1B,OAAsB,GAAG,EAAE;EAEjC0B,UAAU,CAACe,IAAI,CAACgC,MAAM,CAAC;EAEvB/B,aAAa,CAACD,IAAI,CAACgC,MAAM,CAAC;;EAE1B;EACA,MAAMlD,MAAM,GAAGiD,WAAW,CAACC,MAAM,CAAC;EAElC,IAAI,OAAOlD,MAAM,KAAK,QAAQ,EAAE;IAC9B+D,KAAK,CAAC7C,IAAI,CAAC;MAAEgC,MAAM;MAAE5E,IAAI,EAAE0B;IAAO,CAAC,CAAC;IACpCvB,OAAO,CAACyC,IAAI,CAAC8C,gBAAgB,CAACd,MAAM,EAAE,CAAC,GAAG/C,UAAU,CAAC,EAAE,CAAC,GAAG4D,KAAK,CAAC,CAAC,CAAC;EACrE,CAAC,MAAM,IAAI,OAAO/D,MAAM,KAAK,QAAQ,EAAE;IACrC;IACA;IACA;IACA,IAAI,OAAOA,MAAM,CAAC1B,IAAI,KAAK,QAAQ,EAAE;MACnC,IAAI0B,MAAM,CAACiE,KAAK,IAAIjE,MAAM,CAAC1B,IAAI,KAAKa,SAAS,EAAE;QAC7C,MAAM,IAAIuD,KAAK,CACb,sJACF,CAAC;MACH;MAEA,IAAI1C,MAAM,CAACiE,KAAK,EAAE;QAChB;QACA;QACAF,KAAK,CAACnE,MAAM,GAAG,CAAC;MAClB;MAEAmE,KAAK,CAAC7C,IAAI,CAAC;QAAEgC,MAAM;QAAE5E,IAAI,EAAE0B,MAAM,CAAC1B;MAAK,CAAC,CAAC;MACzCG,OAAO,CAACyC,IAAI,CACV8C,gBAAgB,CAACd,MAAM,EAAE,CAAC,GAAG/C,UAAU,CAAC,EAAE,CAAC,GAAG4D,KAAK,CAAC,EAAE/D,MAAM,CAAC6D,KAAK,CACpE,CAAC;IACH;IAEA,IAAI7D,MAAM,CAACpB,OAAO,EAAE;MAClB;MACA,IAAIoB,MAAM,CAACiB,gBAAgB,EAAE;QAC3B6C,QAAQ,CAAC5C,IAAI,CAAC;UACZD,gBAAgB,EAAEjB,MAAM,CAACiB,gBAAgB;UACzCE;QACF,CAAC,CAAC;MACJ;MAEAtD,MAAM,CAACwD,IAAI,CAACrB,MAAM,CAACpB,OAAO,CAAC,CAACsF,OAAO,CAAEC,YAAY,IAAK;QACpD,MAAM/D,MAAM,GAAGmB,uBAAuB,CACpC4C,YAAY,EACZnE,MAAM,CAACpB,OAAO,EACdkF,QAAQ,EACR,CAAC,GAAGC,KAAK,CAAC,EACV,CAAC,GAAG5C,aAAa,CAAC,EAClBhB,UACF,CAAC;QAED1B,OAAO,CAACyC,IAAI,CAAC,GAAGd,MAAM,CAAC;MACzB,CAAC,CAAC;IACJ;EACF;EAEAD,UAAU,CAACiE,GAAG,CAAC,CAAC;EAEhB,OAAO3F,OAAO;AAChB,CAAC;AAED,MAAMuF,gBAAgB,GAAGA,CACvBd,MAAc,EACd/C,UAAoB,EACpB4D,KAAyC,EACzCF,KAAmB,KACH;EAChB,MAAMQ,KAA2C,GAAG,EAAE;;EAEtD;EACA,KAAK,MAAM;IAAEnB,MAAM;IAAE5E;EAAK,CAAC,IAAIyF,KAAK,EAAE;IACpCM,KAAK,CAACnD,IAAI,CAAC,GAAG,IAAAoD,gCAAe,EAAChG,IAAI,CAAC,CAACkB,GAAG,CAAE+E,IAAI,KAAM;MAAE,GAAGA,IAAI;MAAErB;IAAO,CAAC,CAAC,CAAC,CAAC;EAC3E;EAEA,MAAML,KAAK,GAAGwB,KAAK,CAACzE,MAAM,GACtB,IAAIkD,MAAM,CACR,KAAKuB,KAAK,CACP7E,GAAG,CAAC,CAACiD,EAAE,EAAEtE,CAAC,KAAK;IACd,IAAIsE,EAAE,CAACiB,KAAK,EAAE;MACZ,MAAMc,GAAG,GAAG/B,EAAE,CAACI,KAAK,IAAI,OAAO;MAE/B,OAAO,cAAc1E,CAAC,IAAIqG,GAAG,QAAQ/B,EAAE,CAACgC,QAAQ,GAAG,GAAG,GAAG,EAAE,GAAG;IAChE;IAEA,OAAO,GAAGhC,EAAE,CAAChD,OAAO,KAAK,GAAG,GAAG,IAAI,GAAG,IAAAiF,2BAAM,EAACjC,EAAE,CAAChD,OAAO,CAAC,KAAK;EAC/D,CAAC,CAAC,CACDS,IAAI,CAAC,EAAE,CAAC,GACb,CAAC,GACDf,SAAS;EAEb,MAAMc,QAAQ,GAAGoE,KAAK,CAAC7E,GAAG,CAAEiD,EAAE,IAAKA,EAAE,CAAChD,OAAO,CAAC;EAC9C,MAAM0D,MAAM,GAAGkB,KAAK,CACjB7E,GAAG,CAAC,CAACiD,EAAE,EAAEtE,CAAC,KACTsE,EAAE,CAACiB,KAAK,GACJ;IACEF,KAAK,EAAErF,CAAC;IACR+E,MAAM,EAAET,EAAE,CAACS,MAAM;IACjBxD,IAAI,EAAE+C,EAAE,CAACiB;EACX,CAAC,GACD,IACN,CAAC,CACApE,MAAM,CAAEmD,EAAE,IAAKA,EAAE,IAAI,IAAI,CAAC;EAE7B,OAAO;IACLS,MAAM;IACNL,KAAK;IACL5C,QAAQ;IACRkD,MAAM;IACNhD,UAAU;IACV0D;EACF,CAAC;AACH,CAAC;AAED,MAAMc,uBAAuB,GAAGA,CAC9B3B,SAAiB,EACjB4B,UAAyB,KACG;EAC5B,KAAK,MAAM5E,MAAM,IAAI4E,UAAU,EAAE;IAC/B,IAAI5B,SAAS,KAAKhD,MAAM,CAACG,UAAU,CAACH,MAAM,CAACG,UAAU,CAACP,MAAM,GAAG,CAAC,CAAC,EAAE;MACjE,OAAOI,MAAM,CAAC6D,KAAK;IACrB;EACF;EAEA,OAAO1E,SAAS;AAClB,CAAC;;AAED;AACA,MAAM0F,gBAAgB,GAAGA,CACvB7B,SAAiB,EACjB7B,aAAuB,EACvB3C,aAAmC,KACZ;EACvB,KAAK,MAAMwB,MAAM,IAAIxB,aAAa,EAAE;IAClC,IAAI2C,aAAa,CAACvB,MAAM,KAAKI,MAAM,CAACmB,aAAa,CAACvB,MAAM,EAAE;MACxD,IAAIkF,WAAW,GAAG,IAAI;MACtB,KAAK,IAAI3G,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGgD,aAAa,CAACvB,MAAM,EAAEzB,CAAC,EAAE,EAAE;QAC7C,IAAIgD,aAAa,CAAChD,CAAC,CAAC,CAACwD,aAAa,CAAC3B,MAAM,CAACmB,aAAa,CAAChD,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE;UACjE2G,WAAW,GAAG,KAAK;UACnB;QACF;MACF;MACA,IAAIA,WAAW,EAAE;QACf,OAAO9B,SAAS,KAAKhD,MAAM,CAACiB,gBAAgB,GACxCjB,MAAM,CAACiB,gBAAgB,GACvB9B,SAAS;MACf;IACF;EACF;EACA,OAAOA,SAAS;AAClB,CAAC;;AAED;AACA;AACA,MAAM4F,iBAAiB,GAAGA,CACxBC,YAAgC,EAChCC,KAAkB,EAClBC,OAAgB,KACC;EACjB,IAAIA,OAAO,EAAE;IACX,IAAIF,YAAY,EAAE;MAChB,OAAO;QACLxB,KAAK,EAAE,CAAC;QACRpE,MAAM,EAAE,CAAC;UAAEM,IAAI,EAAEsF;QAAa,CAAC,EAAEC,KAAK;MACxC,CAAC;IACH,CAAC,MAAM;MACL,OAAO;QACL7F,MAAM,EAAE,CAAC6F,KAAK;MAChB,CAAC;IACH;EACF,CAAC,MAAM;IACL,IAAID,YAAY,EAAE;MAChB,OAAO;QACLxB,KAAK,EAAE,CAAC;QACRpE,MAAM,EAAE,CAAC;UAAEM,IAAI,EAAEsF;QAAa,CAAC,EAAE;UAAE,GAAGC,KAAK;UAAEE,KAAK,EAAE;YAAE/F,MAAM,EAAE;UAAG;QAAE,CAAC;MACtE,CAAC;IACH,CAAC,MAAM;MACL,OAAO;QACLA,MAAM,EAAE,CAAC;UAAE,GAAG6F,KAAK;UAAEE,KAAK,EAAE;YAAE/F,MAAM,EAAE;UAAG;QAAE,CAAC;MAC9C,CAAC;IACH;EACF;AACF,CAAC;AAED,MAAMS,uBAAuB,GAAGA,CAC9BvB,IAAY,EACZc,MAAqB,EACrBZ,aAAmC,EACnCoG,UAA0B,KACvB;EACH,IAAIK,KAAK,GAAG7F,MAAM,CAACgG,KAAK,CAAC,CAAgB;EACzC,MAAMjE,aAAuB,GAAG,EAAE;EAElC,IAAI6D,YAAY,GAAGH,gBAAgB,CAACI,KAAK,CAACvF,IAAI,EAAEyB,aAAa,EAAE3C,aAAa,CAAC;EAE7E2C,aAAa,CAACD,IAAI,CAAC+D,KAAK,CAACvF,IAAI,CAAC;EAE9B,MAAMyF,KAAmB,GAAGJ,iBAAiB,CAC3CC,YAAY,EACZC,KAAK,EACL7F,MAAM,CAACQ,MAAM,KAAK,CACpB,CAAC;EAED,IAAIR,MAAM,CAACQ,MAAM,GAAG,CAAC,EAAE;IACrB,IAAIyF,WAAW,GAAGF,KAAK;IAEvB,OAAQF,KAAK,GAAG7F,MAAM,CAACgG,KAAK,CAAC,CAAgB,EAAG;MAC9CJ,YAAY,GAAGH,gBAAgB,CAACI,KAAK,CAACvF,IAAI,EAAEyB,aAAa,EAAE3C,aAAa,CAAC;MAEzE,MAAM8G,gBAAgB,GACpBD,WAAW,CAAC7B,KAAK,IAAI6B,WAAW,CAACjG,MAAM,CAACQ,MAAM,GAAG,CAAC;MAEpDyF,WAAW,CAACjG,MAAM,CAACkG,gBAAgB,CAAC,CAACH,KAAK,GAAGJ,iBAAiB,CAC5DC,YAAY,EACZC,KAAK,EACL7F,MAAM,CAACQ,MAAM,KAAK,CACpB,CAAC;MAED,IAAIR,MAAM,CAACQ,MAAM,GAAG,CAAC,EAAE;QACrByF,WAAW,GAAGA,WAAW,CAACjG,MAAM,CAACkG,gBAAgB,CAAC,CAC/CH,KAAqB;MAC1B;MAEAhE,aAAa,CAACD,IAAI,CAAC+D,KAAK,CAACvF,IAAI,CAAC;IAChC;EACF;EAEAuF,KAAK,GAAG,IAAAM,kCAAgB,EAACJ,KAAK,CAAgB;EAC9CF,KAAK,CAAC3G,IAAI,GAAGA,IAAI,CAACQ,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;EAEpC,MAAMqE,MAAM,GAAGqC,gBAAgB,CAC7BlH,IAAI,EACJsG,UAAU,GAAGD,uBAAuB,CAACM,KAAK,CAACvF,IAAI,EAAEkF,UAAU,CAAC,GAAGzF,SACjE,CAAC;EAED,IAAIgE,MAAM,EAAE;IACV8B,KAAK,CAAC9B,MAAM,GAAG;MAAE,GAAG8B,KAAK,CAAC9B,MAAM;MAAE,GAAGA;IAAO,CAAC;EAC/C;EAEA,OAAOgC,KAAK;AACd,CAAC;AAED,MAAMK,gBAAgB,GAAGA,CACvBlH,IAAY,EACZmH,WAAwD,KACrD;EACH,MAAMC,KAAK,GAAGpH,IAAI,CAACe,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;EAChC,MAAM8D,MAA+B,GAAGzG,WAAW,CAACmH,KAAK,CAAC6B,KAAK,CAAC;EAEhE,IAAID,WAAW,EAAE;IACf5H,MAAM,CAACwD,IAAI,CAAC8B,MAAM,CAAC,CAACe,OAAO,CAAExE,IAAI,IAAK;MACpC,IACE7B,MAAM,CAACI,cAAc,CAACC,IAAI,CAACuH,WAAW,EAAE/F,IAAI,CAAC,IAC7C,OAAOyD,MAAM,CAACzD,IAAI,CAAC,KAAK,QAAQ,EAChC;QACAyD,MAAM,CAACzD,IAAI,CAAC,GAAG+F,WAAW,CAAC/F,IAAI,CAAC,CAACyD,MAAM,CAACzD,IAAI,CAAC,CAAC;MAChD;IACF,CAAC,CAAC;EACJ;EAEA,OAAO7B,MAAM,CAACwD,IAAI,CAAC8B,MAAM,CAAC,CAACvD,MAAM,GAAGuD,MAAM,GAAGhE,SAAS;AACxD,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["_escapeStringRegexp","_interopRequireDefault","require","queryString","_interopRequireWildcard","_arrayStartsWith","_findFocusedRoute","_getPatternParts","_isArrayEqual","_validatePathConfig","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","getStateFromPath","path","options","initialRoutes","configs","configWithRegexes","getConfigResources","screens","remaining","replace","endsWith","prefix","normalizedPrefix","startsWith","undefined","routes","split","filter","Boolean","map","segment","name","decodeURIComponent","length","createNestedStateObject","match","find","config","segments","join","routeNames","result","current","remainingPath","matchAgainstConfigs","cachedConfigResources","prepareConfigResources","cached","resources","validatePathConfig","getInitialRoutes","getNormalizedConfigs","checkForDuplicatedConfigs","getConfigsWithRegexes","initialRouteName","push","parentScreens","concat","keys","key","createNormalizedConfigs","sort","b","isArrayEqual","localeCompare","arrayStartsWith","Math","max","aWildCard","bWildCard","aParam","bParam","aRegex","includes","bRegex","reduce","acc","pattern","intersects","every","it","Error","assign","c","regex","RegExp","source","routeName","routeConfig","screen","params","groups","fromEntries","entries","value","index","Number","param","decoded","parsed","parse","initials","paths","createConfigItem","exact","forEach","nestedConfig","pop","parts","getPatternParts","part","reg","optional","escape","findParseConfigForRoute","flatConfig","findInitialRoute","sameParents","createStateObject","initialRoute","route","isEmpty","state","shift","nestedState","nestedStateIndex","findFocusedRoute","parseQueryParams","parseConfig","query"],"sourceRoot":"../../src","sources":["getStateFromPath.tsx"],"mappings":"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","ignoreList":[]}
@@ -139,9 +139,12 @@ function getInitialRoutes(options) {
139
139
  function getNormalizedConfigs(initialRoutes, screens = {}) {
140
140
  // Create a normalized configs array which will be easier to use
141
141
  return [].concat(...Object.keys(screens).map(key => createNormalizedConfigs(key, screens, initialRoutes, [], [], []))).sort((a, b) => {
142
- // Sort config so that:
143
- // - the most exhaustive ones are always at the beginning
144
- // - patterns with wildcard are always at the end
142
+ // Sort config from most specific to least specific:
143
+ // - more segments
144
+ // - static segments
145
+ // - params with regex
146
+ // - regular params
147
+ // - wildcard
145
148
 
146
149
  // If 2 patterns are same, move the one with less route names up
147
150
  // This is an error state, so it's only useful for consistent error messages
@@ -167,35 +170,47 @@ function getNormalizedConfigs(initialRoutes, screens = {}) {
167
170
  if (b.segments[i] == null) {
168
171
  return -1;
169
172
  }
170
- const aWildCard = a.segments[i] === '*' || a.segments[i].startsWith(':');
171
- const bWildCard = b.segments[i] === '*' || b.segments[i].startsWith(':');
172
- const aRegex = a.segments[i].startsWith(':') && a.segments[i].includes('(');
173
- const bRegex = b.segments[i].startsWith(':') && b.segments[i].includes('(');
173
+ const aWildCard = a.segments[i] === '*';
174
+ const bWildCard = b.segments[i] === '*';
175
+ const aParam = a.segments[i].startsWith(':');
176
+ const bParam = b.segments[i].startsWith(':');
177
+ const aRegex = aParam && a.segments[i].includes('(');
178
+ const bRegex = bParam && b.segments[i].includes('(');
174
179
 
175
- // if both are wildcard & regex we compare next component
176
- if (aWildCard && bWildCard && aRegex && bRegex) {
180
+ // if both are wildcard or regex, we compare next component
181
+ if (aWildCard && bWildCard || aRegex && bRegex) {
177
182
  continue;
178
183
  }
179
184
 
180
- // if only a has regex, a gets higher priority
181
- if (aRegex && !bRegex) {
185
+ // if only a is wildcard, b gets higher priority
186
+ if (aWildCard && !bWildCard) {
187
+ return 1;
188
+ }
189
+
190
+ // if only b is wildcard, a gets higher priority
191
+ if (bWildCard && !aWildCard) {
182
192
  return -1;
183
193
  }
184
194
 
185
- // if only b has regex, b gets higher priority
186
- if (bRegex && !aRegex) {
195
+ // If only a has a param, b gets higher priority
196
+ if (aParam && !bParam) {
187
197
  return 1;
188
198
  }
189
199
 
190
- // if only a is wildcard, b gets higher priority
191
- if (aWildCard && !bWildCard) {
192
- return 1;
200
+ // If only b has a param, a gets higher priority
201
+ if (bParam && !aParam) {
202
+ return -1;
193
203
  }
194
204
 
195
- // if only b is wildcard, a gets higher priority
196
- if (bWildCard && !aWildCard) {
205
+ // if only a has regex, a gets higher priority
206
+ if (aRegex && !bRegex) {
197
207
  return -1;
198
208
  }
209
+
210
+ // if only b has regex, b gets higher priority
211
+ if (bRegex && !aRegex) {
212
+ return 1;
213
+ }
199
214
  }
200
215
  return a.segments.length - b.segments.length;
201
216
  });
@@ -1 +1 @@
1
- {"version":3,"names":["escape","queryString","arrayStartsWith","findFocusedRoute","getPatternParts","isArrayEqual","validatePathConfig","getStateFromPath","path","options","initialRoutes","configs","configWithRegexes","getConfigResources","screens","remaining","replace","endsWith","prefix","normalizedPrefix","startsWith","undefined","routes","split","filter","Boolean","map","segment","name","decodeURIComponent","length","createNestedStateObject","match","find","config","segments","join","routeNames","result","current","remainingPath","matchAgainstConfigs","cachedConfigResources","WeakMap","prepareConfigResources","cached","get","resources","set","getInitialRoutes","getNormalizedConfigs","checkForDuplicatedConfigs","getConfigsWithRegexes","initialRouteName","push","parentScreens","concat","Object","keys","key","createNormalizedConfigs","sort","a","b","localeCompare","i","Math","max","aWildCard","bWildCard","aRegex","includes","bRegex","reduce","acc","pattern","intersects","every","it","Error","assign","c","regex","RegExp","source","routeName","routeConfig","screen","params","groups","fromEntries","entries","value","index","Number","param","decoded","parsed","parse","initials","paths","createConfigItem","exact","forEach","nestedConfig","pop","parts","part","reg","optional","findParseConfigForRoute","flatConfig","findInitialRoute","sameParents","createStateObject","initialRoute","route","isEmpty","state","shift","nestedState","nestedStateIndex","parseQueryParams","parseConfig","query","hasOwnProperty","call"],"sourceRoot":"../../src","sources":["getStateFromPath.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["escape","queryString","arrayStartsWith","findFocusedRoute","getPatternParts","isArrayEqual","validatePathConfig","getStateFromPath","path","options","initialRoutes","configs","configWithRegexes","getConfigResources","screens","remaining","replace","endsWith","prefix","normalizedPrefix","startsWith","undefined","routes","split","filter","Boolean","map","segment","name","decodeURIComponent","length","createNestedStateObject","match","find","config","segments","join","routeNames","result","current","remainingPath","matchAgainstConfigs","cachedConfigResources","WeakMap","prepareConfigResources","cached","get","resources","set","getInitialRoutes","getNormalizedConfigs","checkForDuplicatedConfigs","getConfigsWithRegexes","initialRouteName","push","parentScreens","concat","Object","keys","key","createNormalizedConfigs","sort","a","b","localeCompare","i","Math","max","aWildCard","bWildCard","aParam","bParam","aRegex","includes","bRegex","reduce","acc","pattern","intersects","every","it","Error","assign","c","regex","RegExp","source","routeName","routeConfig","screen","params","groups","fromEntries","entries","value","index","Number","param","decoded","parsed","parse","initials","paths","createConfigItem","exact","forEach","nestedConfig","pop","parts","part","reg","optional","findParseConfigForRoute","flatConfig","findInitialRoute","sameParents","createStateObject","initialRoute","route","isEmpty","state","shift","nestedState","nestedStateIndex","parseQueryParams","parseConfig","query","hasOwnProperty","call"],"sourceRoot":"../../src","sources":["getStateFromPath.tsx"],"mappings":"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","ignoreList":[]}
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.2.0",
4
+ "version": "7.2.2",
5
5
  "keywords": [
6
6
  "react",
7
7
  "react-native",
@@ -95,5 +95,5 @@
95
95
  ]
96
96
  ]
97
97
  },
98
- "gitHead": "19e6e5374159176c3642b60065bcc29376856180"
98
+ "gitHead": "3806a28ae0bc76cbf90545fc2a323431e6e06779"
99
99
  }
@@ -235,9 +235,12 @@ function getNormalizedConfigs(
235
235
  )
236
236
  )
237
237
  .sort((a, b) => {
238
- // Sort config so that:
239
- // - the most exhaustive ones are always at the beginning
240
- // - patterns with wildcard are always at the end
238
+ // Sort config from most specific to least specific:
239
+ // - more segments
240
+ // - static segments
241
+ // - params with regex
242
+ // - regular params
243
+ // - wildcard
241
244
 
242
245
  // If 2 patterns are same, move the one with less route names up
243
246
  // This is an error state, so it's only useful for consistent error messages
@@ -266,39 +269,47 @@ function getNormalizedConfigs(
266
269
  return -1;
267
270
  }
268
271
 
269
- const aWildCard =
270
- a.segments[i] === '*' || a.segments[i].startsWith(':');
271
- const bWildCard =
272
- b.segments[i] === '*' || b.segments[i].startsWith(':');
273
- const aRegex =
274
- a.segments[i].startsWith(':') && a.segments[i].includes('(');
275
- const bRegex =
276
- b.segments[i].startsWith(':') && b.segments[i].includes('(');
277
-
278
- // if both are wildcard & regex we compare next component
279
- if (aWildCard && bWildCard && aRegex && bRegex) {
272
+ const aWildCard = a.segments[i] === '*';
273
+ const bWildCard = b.segments[i] === '*';
274
+ const aParam = a.segments[i].startsWith(':');
275
+ const bParam = b.segments[i].startsWith(':');
276
+ const aRegex = aParam && a.segments[i].includes('(');
277
+ const bRegex = bParam && b.segments[i].includes('(');
278
+
279
+ // if both are wildcard or regex, we compare next component
280
+ if ((aWildCard && bWildCard) || (aRegex && bRegex)) {
280
281
  continue;
281
282
  }
282
283
 
283
- // if only a has regex, a gets higher priority
284
- if (aRegex && !bRegex) {
284
+ // if only a is wildcard, b gets higher priority
285
+ if (aWildCard && !bWildCard) {
286
+ return 1;
287
+ }
288
+
289
+ // if only b is wildcard, a gets higher priority
290
+ if (bWildCard && !aWildCard) {
285
291
  return -1;
286
292
  }
287
293
 
288
- // if only b has regex, b gets higher priority
289
- if (bRegex && !aRegex) {
294
+ // If only a has a param, b gets higher priority
295
+ if (aParam && !bParam) {
290
296
  return 1;
291
297
  }
292
298
 
293
- // if only a is wildcard, b gets higher priority
294
- if (aWildCard && !bWildCard) {
295
- return 1;
299
+ // If only b has a param, a gets higher priority
300
+ if (bParam && !aParam) {
301
+ return -1;
296
302
  }
297
303
 
298
- // if only b is wildcard, a gets higher priority
299
- if (bWildCard && !aWildCard) {
304
+ // if only a has regex, a gets higher priority
305
+ if (aRegex && !bRegex) {
300
306
  return -1;
301
307
  }
308
+
309
+ // if only b has regex, b gets higher priority
310
+ if (bRegex && !aRegex) {
311
+ return 1;
312
+ }
302
313
  }
303
314
 
304
315
  return a.segments.length - b.segments.length;