@react-navigation/core 8.0.0-alpha.23 → 8.0.0-alpha.25

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.
Files changed (153) hide show
  1. package/lib/module/BaseNavigationContainer.js +5 -2
  2. package/lib/module/BaseNavigationContainer.js.map +1 -1
  3. package/lib/module/DataLoading.js +102 -0
  4. package/lib/module/DataLoading.js.map +1 -0
  5. package/lib/module/NavigationBuilderContext.js.map +1 -1
  6. package/lib/module/NavigationIndependentTree.js +7 -6
  7. package/lib/module/NavigationIndependentTree.js.map +1 -1
  8. package/lib/module/NavigationProvider.js +12 -12
  9. package/lib/module/NavigationProvider.js.map +1 -1
  10. package/lib/module/PreventRemoveContext.js.map +1 -1
  11. package/lib/module/PreventRemoveProvider.js +34 -24
  12. package/lib/module/PreventRemoveProvider.js.map +1 -1
  13. package/lib/module/StaticNavigation.js +15 -7
  14. package/lib/module/StaticNavigation.js.map +1 -1
  15. package/lib/module/StaticTreeContext.js +5 -0
  16. package/lib/module/StaticTreeContext.js.map +1 -0
  17. package/lib/module/checkSerializable.js +7 -9
  18. package/lib/module/checkSerializable.js.map +1 -1
  19. package/lib/module/createNavigationContainerRef.js +6 -8
  20. package/lib/module/createNavigationContainerRef.js.map +1 -1
  21. package/lib/module/createNavigatorFactory.js.map +1 -1
  22. package/lib/module/getActionFromState.js +11 -11
  23. package/lib/module/getActionFromState.js.map +1 -1
  24. package/lib/module/getPathFromState.js +125 -96
  25. package/lib/module/getPathFromState.js.map +1 -1
  26. package/lib/module/getPatternParts.js +2 -2
  27. package/lib/module/getPatternParts.js.map +1 -1
  28. package/lib/module/getStateFromPath.js +136 -78
  29. package/lib/module/getStateFromPath.js.map +1 -1
  30. package/lib/module/index.js +1 -0
  31. package/lib/module/index.js.map +1 -1
  32. package/lib/module/types.js +13 -0
  33. package/lib/module/types.js.map +1 -1
  34. package/lib/module/useEventEmitter.js +5 -2
  35. package/lib/module/useEventEmitter.js.map +1 -1
  36. package/lib/module/useKeyedChildListeners.js +4 -2
  37. package/lib/module/useKeyedChildListeners.js.map +1 -1
  38. package/lib/module/useNavigation.js +2 -15
  39. package/lib/module/useNavigation.js.map +1 -1
  40. package/lib/module/useNavigationBuilder.js +5 -21
  41. package/lib/module/useNavigationBuilder.js.map +1 -1
  42. package/lib/module/useNavigationCache.js +19 -14
  43. package/lib/module/useNavigationCache.js.map +1 -1
  44. package/lib/module/useNavigationHelpers.js +27 -9
  45. package/lib/module/useNavigationHelpers.js.map +1 -1
  46. package/lib/module/useNavigationState.js +69 -36
  47. package/lib/module/useNavigationState.js.map +1 -1
  48. package/lib/module/useOnAction.js +25 -3
  49. package/lib/module/useOnAction.js.map +1 -1
  50. package/lib/module/useOnPreventRemove.js +35 -24
  51. package/lib/module/useOnPreventRemove.js.map +1 -1
  52. package/lib/module/useOptionsGetters.js +3 -1
  53. package/lib/module/useOptionsGetters.js.map +1 -1
  54. package/lib/module/usePreventRemove.js +9 -2
  55. package/lib/module/usePreventRemove.js.map +1 -1
  56. package/lib/module/useRoute.js.map +1 -1
  57. package/lib/module/useRouteCache.js +14 -7
  58. package/lib/module/useRouteCache.js.map +1 -1
  59. package/lib/module/useScheduleUpdate.js +8 -8
  60. package/lib/module/useScheduleUpdate.js.map +1 -1
  61. package/lib/module/useSyncState.js +4 -1
  62. package/lib/module/useSyncState.js.map +1 -1
  63. package/lib/module/validatePathConfig.js +50 -37
  64. package/lib/module/validatePathConfig.js.map +1 -1
  65. package/lib/typescript/src/BaseNavigationContainer.d.ts.map +1 -1
  66. package/lib/typescript/src/DataLoading.d.ts +20 -0
  67. package/lib/typescript/src/DataLoading.d.ts.map +1 -0
  68. package/lib/typescript/src/NavigationBuilderContext.d.ts +2 -2
  69. package/lib/typescript/src/NavigationBuilderContext.d.ts.map +1 -1
  70. package/lib/typescript/src/NavigationProvider.d.ts +0 -1
  71. package/lib/typescript/src/NavigationProvider.d.ts.map +1 -1
  72. package/lib/typescript/src/PreventRemoveContext.d.ts +1 -0
  73. package/lib/typescript/src/PreventRemoveContext.d.ts.map +1 -1
  74. package/lib/typescript/src/PreventRemoveProvider.d.ts.map +1 -1
  75. package/lib/typescript/src/StaticNavigation.d.ts +68 -42
  76. package/lib/typescript/src/StaticNavigation.d.ts.map +1 -1
  77. package/lib/typescript/src/StaticTreeContext.d.ts +4 -0
  78. package/lib/typescript/src/StaticTreeContext.d.ts.map +1 -0
  79. package/lib/typescript/src/checkSerializable.d.ts +4 -2
  80. package/lib/typescript/src/checkSerializable.d.ts.map +1 -1
  81. package/lib/typescript/src/createNavigationContainerRef.d.ts.map +1 -1
  82. package/lib/typescript/src/createNavigatorFactory.d.ts +11 -5
  83. package/lib/typescript/src/createNavigatorFactory.d.ts.map +1 -1
  84. package/lib/typescript/src/getActionFromState.d.ts.map +1 -1
  85. package/lib/typescript/src/getPathFromState.d.ts.map +1 -1
  86. package/lib/typescript/src/getStateFromPath.d.ts.map +1 -1
  87. package/lib/typescript/src/index.d.ts +2 -1
  88. package/lib/typescript/src/index.d.ts.map +1 -1
  89. package/lib/typescript/src/types.d.ts +84 -29
  90. package/lib/typescript/src/types.d.ts.map +1 -1
  91. package/lib/typescript/src/useEventEmitter.d.ts +1 -1
  92. package/lib/typescript/src/useEventEmitter.d.ts.map +1 -1
  93. package/lib/typescript/src/useKeyedChildListeners.d.ts.map +1 -1
  94. package/lib/typescript/src/useNavigation.d.ts.map +1 -1
  95. package/lib/typescript/src/useNavigationBuilder.d.ts +1 -1
  96. package/lib/typescript/src/useNavigationBuilder.d.ts.map +1 -1
  97. package/lib/typescript/src/useNavigationCache.d.ts.map +1 -1
  98. package/lib/typescript/src/useNavigationHelpers.d.ts +3 -4
  99. package/lib/typescript/src/useNavigationHelpers.d.ts.map +1 -1
  100. package/lib/typescript/src/useNavigationState.d.ts +11 -1
  101. package/lib/typescript/src/useNavigationState.d.ts.map +1 -1
  102. package/lib/typescript/src/useOnAction.d.ts.map +1 -1
  103. package/lib/typescript/src/useOnPreventRemove.d.ts +2 -6
  104. package/lib/typescript/src/useOnPreventRemove.d.ts.map +1 -1
  105. package/lib/typescript/src/useOptionsGetters.d.ts.map +1 -1
  106. package/lib/typescript/src/usePreventRemove.d.ts.map +1 -1
  107. package/lib/typescript/src/usePreventRemoveContext.d.ts +1 -0
  108. package/lib/typescript/src/usePreventRemoveContext.d.ts.map +1 -1
  109. package/lib/typescript/src/useRoute.d.ts +1 -1
  110. package/lib/typescript/src/useRoute.d.ts.map +1 -1
  111. package/lib/typescript/src/useRouteCache.d.ts.map +1 -1
  112. package/lib/typescript/src/useScheduleUpdate.d.ts +5 -4
  113. package/lib/typescript/src/useScheduleUpdate.d.ts.map +1 -1
  114. package/lib/typescript/src/useSyncState.d.ts.map +1 -1
  115. package/lib/typescript/src/utilities.d.ts +21 -38
  116. package/lib/typescript/src/utilities.d.ts.map +1 -1
  117. package/lib/typescript/src/validatePathConfig.d.ts.map +1 -1
  118. package/package.json +6 -8
  119. package/src/BaseNavigationContainer.tsx +9 -2
  120. package/src/DataLoading.tsx +139 -0
  121. package/src/NavigationBuilderContext.tsx +5 -1
  122. package/src/NavigationIndependentTree.tsx +11 -11
  123. package/src/NavigationProvider.tsx +13 -16
  124. package/src/PreventRemoveContext.tsx +1 -0
  125. package/src/PreventRemoveProvider.tsx +48 -43
  126. package/src/StaticNavigation.tsx +164 -99
  127. package/src/StaticTreeContext.tsx +7 -0
  128. package/src/checkSerializable.tsx +20 -14
  129. package/src/createNavigationContainerRef.tsx +12 -9
  130. package/src/createNavigatorFactory.tsx +27 -18
  131. package/src/getActionFromState.tsx +18 -16
  132. package/src/getPathFromState.tsx +167 -132
  133. package/src/getPatternParts.tsx +2 -2
  134. package/src/getStateFromPath.tsx +260 -193
  135. package/src/index.tsx +3 -0
  136. package/src/types.tsx +298 -62
  137. package/src/useEventEmitter.tsx +7 -2
  138. package/src/useKeyedChildListeners.tsx +4 -2
  139. package/src/useNavigation.tsx +2 -21
  140. package/src/useNavigationBuilder.tsx +7 -24
  141. package/src/useNavigationCache.tsx +26 -19
  142. package/src/useNavigationHelpers.tsx +26 -9
  143. package/src/useNavigationState.tsx +90 -60
  144. package/src/useOnAction.tsx +55 -3
  145. package/src/useOnPreventRemove.tsx +68 -36
  146. package/src/useOptionsGetters.tsx +4 -1
  147. package/src/usePreventRemove.tsx +11 -2
  148. package/src/useRoute.tsx +3 -5
  149. package/src/useRouteCache.tsx +19 -11
  150. package/src/useScheduleUpdate.tsx +8 -7
  151. package/src/useSyncState.tsx +5 -1
  152. package/src/utilities.tsx +36 -41
  153. package/src/validatePathConfig.tsx +86 -58
@@ -1 +1 @@
1
- {"version":3,"names":["checkSerializableWithoutCircularReference","o","seen","location","undefined","serializable","Object","prototype","toString","call","Array","isArray","slice","reason","String","has","add","i","length","push","childResult","pop","delete","key","checkSerializable","Set"],"sourceRoot":"../../src","sources":["checkSerializable.tsx"],"mappings":";;AAQA,MAAMA,yCAAyC,GAAGA,CAChDC,CAAyB,EACzBC,IAAc,EACdC,QAA6B,KAClB;EACX,IACEF,CAAC,KAAKG,SAAS,IACfH,CAAC,KAAK,IAAI,IACV,OAAOA,CAAC,KAAK,SAAS,IACtB,OAAOA,CAAC,KAAK,QAAQ,IACrB,OAAOA,CAAC,KAAK,QAAQ,EACrB;IACA,OAAO;MAAEI,YAAY,EAAE;IAAK,CAAC;EAC/B;EAEA,IACEC,MAAM,CAACC,SAAS,CAACC,QAAQ,CAACC,IAAI,CAACR,CAAC,CAAC,KAAK,iBAAiB,IACvD,CAACS,KAAK,CAACC,OAAO,CAACV,CAAC,CAAC,EACjB;IACA,OAAO;MACLI,YAAY,EAAE,KAAK;MACnBF,QAAQ,EAAEA,QAAQ,CAACS,KAAK,CAAC,CAAC;MAC1BC,MAAM,EAAE,OAAOZ,CAAC,KAAK,UAAU,GAAG,UAAU,GAAGa,MAAM,CAACb,CAAC;IACzD,CAAC;EACH;EAEA,IAAIC,IAAI,CAACa,GAAG,CAACd,CAAC,CAAC,EAAE;IACf,OAAO;MACLI,YAAY,EAAE,KAAK;MACnBQ,MAAM,EAAE,oBAAoB;MAC5BV,QAAQ,EAAEA,QAAQ,CAACS,KAAK,CAAC;IAC3B,CAAC;EACH;EAEAV,IAAI,CAACc,GAAG,CAACf,CAAC,CAAC;EAEX,IAAIS,KAAK,CAACC,OAAO,CAACV,CAAC,CAAC,EAAE;IACpB,KAAK,IAAIgB,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGhB,CAAC,CAACiB,MAAM,EAAED,CAAC,EAAE,EAAE;MACjCd,QAAQ,CAACgB,IAAI,CAACF,CAAC,CAAC;MAChB,MAAMG,WAAW,GAAGpB,yCAAyC,CAC3DC,CAAC,CAACgB,CAAC,CAAC,EACJf,IAAI,EACJC,QACF,CAAC;MACDA,QAAQ,CAACkB,GAAG,CAAC,CAAC;MAEd,IAAI,CAACD,WAAW,CAACf,YAAY,EAAE;QAC7BH,IAAI,CAACoB,MAAM,CAACrB,CAAC,CAAC;QACd,OAAOmB,WAAW;MACpB;IACF;EACF,CAAC,MAAM;IACL,KAAK,MAAMG,GAAG,IAAItB,CAAC,EAAE;MACnBE,QAAQ,CAACgB,IAAI,CAACI,GAAG,CAAC;MAClB,MAAMH,WAAW,GAAGpB,yCAAyC,CAC3DC,CAAC,CAACsB,GAAG,CAAC,EACNrB,IAAI,EACJC,QACF,CAAC;MACDA,QAAQ,CAACkB,GAAG,CAAC,CAAC;MAEd,IAAI,CAACD,WAAW,CAACf,YAAY,EAAE;QAC7BH,IAAI,CAACoB,MAAM,CAACrB,CAAC,CAAC;QACd,OAAOmB,WAAW;MACpB;IACF;EACF;EAEAlB,IAAI,CAACoB,MAAM,CAACrB,CAAC,CAAC;EAEd,OAAO;IAAEI,YAAY,EAAE;EAAK,CAAC;AAC/B,CAAC;AAED,OAAO,SAASmB,iBAAiBA,CAACvB,CAAyB,EAAE;EAC3D,OAAOD,yCAAyC,CAACC,CAAC,EAAE,IAAIwB,GAAG,CAAM,CAAC,EAAE,EAAE,CAAC;AACzE","ignoreList":[]}
1
+ {"version":3,"names":["checkSerializableWithoutCircularReference","o","seen","location","undefined","Object","prototype","toString","call","Array","isArray","serializable","slice","reason","String","has","add","i","length","push","childResult","pop","delete","key","checkSerializable","Set"],"sourceRoot":"../../src","sources":["checkSerializable.tsx"],"mappings":";;AAUA,MAAMA,yCAAyC,GAAGA,CAChDC,CAAyB,EACzBC,IAAc,EACdC,QAA6B,KACL;EACxB,IACEF,CAAC,KAAKG,SAAS,IACfH,CAAC,KAAK,IAAI,IACV,OAAOA,CAAC,KAAK,SAAS,IACtB,OAAOA,CAAC,KAAK,QAAQ,IACrB,OAAOA,CAAC,KAAK,QAAQ,EACrB;IACA,OAAOG,SAAS;EAClB;EAEA,IACEC,MAAM,CAACC,SAAS,CAACC,QAAQ,CAACC,IAAI,CAACP,CAAC,CAAC,KAAK,iBAAiB,IACvD,CAACQ,KAAK,CAACC,OAAO,CAACT,CAAC,CAAC,EACjB;IACA,OAAO;MACLU,YAAY,EAAE,KAAK;MACnBR,QAAQ,EAAEA,QAAQ,CAACS,KAAK,CAAC,CAAC;MAC1BC,MAAM,EAAE,OAAOZ,CAAC,KAAK,UAAU,GAAG,UAAU,GAAGa,MAAM,CAACb,CAAC;IACzD,CAAC;EACH;EAEA,IAAIC,IAAI,CAACa,GAAG,CAACd,CAAC,CAAC,EAAE;IACf,OAAO;MACLU,YAAY,EAAE,KAAK;MACnBE,MAAM,EAAE,oBAAoB;MAC5BV,QAAQ,EAAEA,QAAQ,CAACS,KAAK,CAAC;IAC3B,CAAC;EACH;EAEAV,IAAI,CAACc,GAAG,CAACf,CAAC,CAAC;EAEX,IAAIQ,KAAK,CAACC,OAAO,CAACT,CAAC,CAAC,EAAE;IACpB,KAAK,IAAIgB,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGhB,CAAC,CAACiB,MAAM,EAAED,CAAC,EAAE,EAAE;MACjCd,QAAQ,CAACgB,IAAI,CAACF,CAAC,CAAC;MAChB,MAAMG,WAAW,GAAGpB,yCAAyC,CAC3DC,CAAC,CAACgB,CAAC,CAAC,EACJf,IAAI,EACJC,QACF,CAAC;MACDA,QAAQ,CAACkB,GAAG,CAAC,CAAC;MAEd,IAAID,WAAW,EAAE;QACflB,IAAI,CAACoB,MAAM,CAACrB,CAAC,CAAC;QACd,OAAOmB,WAAW;MACpB;IACF;EACF,CAAC,MAAM;IACL,KAAK,MAAMG,GAAG,IAAItB,CAAC,EAAE;MACnBE,QAAQ,CAACgB,IAAI,CAACI,GAAG,CAAC;MAClB,MAAMH,WAAW,GAAGpB,yCAAyC,CAC3DC,CAAC,CAACsB,GAAG,CAAC,EACNrB,IAAI,EACJC,QACF,CAAC;MACDA,QAAQ,CAACkB,GAAG,CAAC,CAAC;MAEd,IAAID,WAAW,EAAE;QACflB,IAAI,CAACoB,MAAM,CAACrB,CAAC,CAAC;QACd,OAAOmB,WAAW;MACpB;IACF;EACF;EAEAlB,IAAI,CAACoB,MAAM,CAACrB,CAAC,CAAC;EAEd,OAAOG,SAAS;AAClB,CAAC;AAED,OAAO,SAASoB,iBAAiBA,CAACvB,CAAyB,EAAU;EACnE,OACED,yCAAyC,CAACC,CAAC,EAAE,IAAIwB,GAAG,CAAM,CAAC,EAAE,EAAE,CAAC,IAAI;IAClEd,YAAY,EAAE;EAChB,CAAC;AAEL","ignoreList":[]}
@@ -5,12 +5,13 @@ export const NOT_INITIALIZED_ERROR = "The 'navigation' object hasn't been initia
5
5
  export function createNavigationContainerRef() {
6
6
  const methods = [...Object.keys(CommonActions), 'addListener', 'removeListener', 'resetRoot', 'dispatch', 'isFocused', 'canGoBack', 'getRootState', 'getState', 'getParent', 'getCurrentRoute', 'getCurrentOptions'];
7
7
  const listeners = {};
8
+ let current = null;
8
9
  const removeListener = (event, callback) => {
9
10
  if (listeners[event]) {
10
11
  listeners[event] = listeners[event].filter(cb => cb !== callback);
11
12
  }
13
+ current?.removeListener(event, callback);
12
14
  };
13
- let current = null;
14
15
  const ref = {
15
16
  get current() {
16
17
  return current;
@@ -33,7 +34,10 @@ export function createNavigationContainerRef() {
33
34
  },
34
35
  ...methods.reduce((acc, name) => {
35
36
  acc[name] = (...args) => {
36
- if (current == null) {
37
+ if (name === 'removeListener') {
38
+ const [event, callback] = args;
39
+ removeListener(event, callback);
40
+ } else if (current == null) {
37
41
  switch (name) {
38
42
  case 'addListener':
39
43
  {
@@ -42,12 +46,6 @@ export function createNavigationContainerRef() {
42
46
  listeners[event].push(callback);
43
47
  return () => removeListener(event, callback);
44
48
  }
45
- case 'removeListener':
46
- {
47
- const [event, callback] = args;
48
- removeListener(event, callback);
49
- break;
50
- }
51
49
  default:
52
50
  console.error(NOT_INITIALIZED_ERROR);
53
51
  }
@@ -1 +1 @@
1
- {"version":3,"names":["CommonActions","NOT_INITIALIZED_ERROR","createNavigationContainerRef","methods","Object","keys","listeners","removeListener","event","callback","filter","cb","current","ref","value","entries","forEach","callbacks","addListener","isReady","reduce","acc","name","args","push","console","error"],"sourceRoot":"../../src","sources":["createNavigationContainerRef.tsx"],"mappings":";;AAAA,SAASA,aAAa,QAAQ,2BAA2B;AASzD,OAAO,MAAMC,qBAAqB,GAChC,+QAA+Q;AAEjR,OAAO,SAASC,4BAA4BA,CAAA,EAEM;EAChD,MAAMC,OAAO,GAAG,CACd,GAAGC,MAAM,CAACC,IAAI,CAACL,aAAa,CAAC,EAC7B,aAAa,EACb,gBAAgB,EAChB,WAAW,EACX,UAAU,EACV,WAAW,EACX,WAAW,EACX,cAAc,EACd,UAAU,EACV,WAAW,EACX,iBAAiB,EACjB,mBAAmB,CACX;EAEV,MAAMM,SAAuD,GAAG,CAAC,CAAC;EAElE,MAAMC,cAAc,GAAGA,CACrBC,KAAa,EACbC,QAAkC,KAC/B;IACH,IAAIH,SAAS,CAACE,KAAK,CAAC,EAAE;MACpBF,SAAS,CAACE,KAAK,CAAC,GAAGF,SAAS,CAACE,KAAK,CAAC,CAACE,MAAM,CAAEC,EAAE,IAAKA,EAAE,KAAKF,QAAQ,CAAC;IACrE;EACF,CAAC;EAED,IAAIG,OAAiD,GAAG,IAAI;EAE5D,MAAMC,GAAiD,GAAG;IACxD,IAAID,OAAOA,CAAA,EAAG;MACZ,OAAOA,OAAO;IAChB,CAAC;IACD,IAAIA,OAAOA,CAACE,KAA+C,EAAE;MAC3DF,OAAO,GAAGE,KAAK;MAEf,IAAIA,KAAK,IAAI,IAAI,EAAE;QACjBV,MAAM,CAACW,OAAO,CAACT,SAAS,CAAC,CAACU,OAAO,CAAC,CAAC,CAACR,KAAK,EAAES,SAAS,CAAC,KAAK;UACxDA,SAAS,CAACD,OAAO,CAAEP,QAAQ,IAAK;YAC9BK,KAAK,CAACI,WAAW,CACfV,KAAK,EACLC,QACF,CAAC;UACH,CAAC,CAAC;QACJ,CAAC,CAAC;MACJ;IACF,CAAC;IACDU,OAAO,EAAEA,CAAA,KAAM;MACb,IAAIP,OAAO,IAAI,IAAI,EAAE;QACnB,OAAO,KAAK;MACd;MAEA,OAAOA,OAAO,CAACO,OAAO,CAAC,CAAC;IAC1B,CAAC;IACD,GAAGhB,OAAO,CAACiB,MAAM,CAAM,CAACC,GAAG,EAAEC,IAAI,KAAK;MACpCD,GAAG,CAACC,IAAI,CAAC,GAAG,CAAC,GAAGC,IAAW,KAAK;QAC9B,IAAIX,OAAO,IAAI,IAAI,EAAE;UACnB,QAAQU,IAAI;YACV,KAAK,aAAa;cAAE;gBAClB,MAAM,CAACd,KAAK,EAAEC,QAAQ,CAAC,GAAGc,IAAI;gBAE9BjB,SAAS,CAACE,KAAK,CAAC,GAAGF,SAAS,CAACE,KAAK,CAAC,IAAI,EAAE;gBACzCF,SAAS,CAACE,KAAK,CAAC,CAACgB,IAAI,CAACf,QAAQ,CAAC;gBAE/B,OAAO,MAAMF,cAAc,CAACC,KAAK,EAAEC,QAAQ,CAAC;cAC9C;YACA,KAAK,gBAAgB;cAAE;gBACrB,MAAM,CAACD,KAAK,EAAEC,QAAQ,CAAC,GAAGc,IAAI;gBAE9BhB,cAAc,CAACC,KAAK,EAAEC,QAAQ,CAAC;gBAC/B;cACF;YACA;cACEgB,OAAO,CAACC,KAAK,CAACzB,qBAAqB,CAAC;UACxC;QACF,CAAC,MAAM;UACL;UACA,OAAOW,OAAO,CAACU,IAAI,CAAC,CAAC,GAAGC,IAAI,CAAC;QAC/B;MACF,CAAC;MACD,OAAOF,GAAG;IACZ,CAAC,EAAE,CAAC,CAAC;EACP,CAAC;EAED,OAAOR,GAAG;AACZ","ignoreList":[]}
1
+ {"version":3,"names":["CommonActions","NOT_INITIALIZED_ERROR","createNavigationContainerRef","methods","Object","keys","listeners","current","removeListener","event","callback","filter","cb","ref","value","entries","forEach","callbacks","addListener","isReady","reduce","acc","name","args","push","console","error"],"sourceRoot":"../../src","sources":["createNavigationContainerRef.tsx"],"mappings":";;AAAA,SAASA,aAAa,QAAQ,2BAA2B;AASzD,OAAO,MAAMC,qBAAqB,GAChC,+QAA+Q;AAEjR,OAAO,SAASC,4BAA4BA,CAAA,EAEM;EAChD,MAAMC,OAAO,GAAG,CACd,GAAGC,MAAM,CAACC,IAAI,CAACL,aAAa,CAAC,EAC7B,aAAa,EACb,gBAAgB,EAChB,WAAW,EACX,UAAU,EACV,WAAW,EACX,WAAW,EACX,cAAc,EACd,UAAU,EACV,WAAW,EACX,iBAAiB,EACjB,mBAAmB,CACX;EAEV,MAAMM,SAAuD,GAAG,CAAC,CAAC;EAElE,IAAIC,OAAiD,GAAG,IAAI;EAE5D,MAAMC,cAAc,GAAGA,CACrBC,KAAa,EACbC,QAAkC,KAC/B;IACH,IAAIJ,SAAS,CAACG,KAAK,CAAC,EAAE;MACpBH,SAAS,CAACG,KAAK,CAAC,GAAGH,SAAS,CAACG,KAAK,CAAC,CAACE,MAAM,CAAEC,EAAE,IAAKA,EAAE,KAAKF,QAAQ,CAAC;IACrE;IAEAH,OAAO,EAAEC,cAAc,CACrBC,KAAK,EACLC,QACF,CAAC;EACH,CAAC;EAED,MAAMG,GAAiD,GAAG;IACxD,IAAIN,OAAOA,CAAA,EAAG;MACZ,OAAOA,OAAO;IAChB,CAAC;IACD,IAAIA,OAAOA,CAACO,KAA+C,EAAE;MAC3DP,OAAO,GAAGO,KAAK;MAEf,IAAIA,KAAK,IAAI,IAAI,EAAE;QACjBV,MAAM,CAACW,OAAO,CAACT,SAAS,CAAC,CAACU,OAAO,CAAC,CAAC,CAACP,KAAK,EAAEQ,SAAS,CAAC,KAAK;UACxDA,SAAS,CAACD,OAAO,CAAEN,QAAQ,IAAK;YAC9BI,KAAK,CAACI,WAAW,CACfT,KAAK,EACLC,QACF,CAAC;UACH,CAAC,CAAC;QACJ,CAAC,CAAC;MACJ;IACF,CAAC;IACDS,OAAO,EAAEA,CAAA,KAAM;MACb,IAAIZ,OAAO,IAAI,IAAI,EAAE;QACnB,OAAO,KAAK;MACd;MAEA,OAAOA,OAAO,CAACY,OAAO,CAAC,CAAC;IAC1B,CAAC;IACD,GAAGhB,OAAO,CAACiB,MAAM,CAAM,CAACC,GAAG,EAAEC,IAAI,KAAK;MACpCD,GAAG,CAACC,IAAI,CAAC,GAAG,CAAC,GAAGC,IAAW,KAAK;QAC9B,IAAID,IAAI,KAAK,gBAAgB,EAAE;UAC7B,MAAM,CAACb,KAAK,EAAEC,QAAQ,CAAC,GAAGa,IAAI;UAE9Bf,cAAc,CAACC,KAAK,EAAEC,QAAQ,CAAC;QACjC,CAAC,MAAM,IAAIH,OAAO,IAAI,IAAI,EAAE;UAC1B,QAAQe,IAAI;YACV,KAAK,aAAa;cAAE;gBAClB,MAAM,CAACb,KAAK,EAAEC,QAAQ,CAAC,GAAGa,IAAI;gBAE9BjB,SAAS,CAACG,KAAK,CAAC,GAAGH,SAAS,CAACG,KAAK,CAAC,IAAI,EAAE;gBACzCH,SAAS,CAACG,KAAK,CAAC,CAACe,IAAI,CAACd,QAAQ,CAAC;gBAE/B,OAAO,MAAMF,cAAc,CAACC,KAAK,EAAEC,QAAQ,CAAC;cAC9C;YACA;cACEe,OAAO,CAACC,KAAK,CAACzB,qBAAqB,CAAC;UACxC;QACF,CAAC,MAAM;UACL;UACA,OAAOM,OAAO,CAACe,IAAI,CAAC,CAAC,GAAGC,IAAI,CAAC;QAC/B;MACF,CAAC;MACD,OAAOF,GAAG;IACZ,CAAC,EAAE,CAAC,CAAC;EACP,CAAC;EAED,OAAOR,GAAG;AACZ","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["React","Group","Screen","createComponentForStaticConfig","createNavigatorFactory","Navigator","displayName","name","createNavigator","config","NavigatorComponent","with","DecoratorComponent","WithComponent","createElement","getComponent"],"sourceRoot":"../../src","sources":["createNavigatorFactory.tsx"],"mappings":";;AACA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAE9B,SAASC,KAAK,QAAQ,YAAS;AAC/B,SAASC,MAAM,QAAQ,aAAU;AACjC,SACEC,8BAA8B,QAGzB,uBAAoB;AAqC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,sBAAsBA,CACpCC,SAAmC,EACH;EAChC,MAAMC,WAAW,GAAGD,SAAS,CAACC,WAAW,IAAID,SAAS,CAACE,IAAI,IAAI,WAAW;EAE1E,SAASC,eAAeA,CAACC,MAAY,EAAO;IAC1C,IAAIA,MAAM,IAAI,IAAI,EAAE;MAClB,MAAMC,kBAAkB,GAAGP,8BAA8B,CACvD;QACEE,SAAS;QACTH,MAAM;QACND,KAAK;QACLQ;MACF,CAAC,EACDH,WACF,CAAC;MAED,OAAO;QACLG,MAAM;QACNE,IAAIA,CACFC,kBAEE,EACF;UACA,MAAMC,aAAa,GAAGA,CAAA,KAAM;YAC1B,oBAAOb,KAAK,CAACc,aAAa,CAACF,kBAAkB,EAAE;cAC7CP,SAAS,EAAEK;YACb,CAAC,CAAC;UACJ,CAAC;UAEDG,aAAa,CAACP,WAAW,GAAG,GAAGA,WAAW,MAAM;UAEhD,OAAO;YACLG,MAAM;YACNM,YAAY,EAAEA,CAAA,KAAMF;UACtB,CAAC;QACH,CAAC;QACDE,YAAYA,CAAA,EAAG;UACb,OAAOL,kBAAkB;QAC3B;MACF,CAAC;IACH;IAEA,OAAO;MACLL,SAAS;MACTH,MAAM;MACND;IACF,CAAC;EACH;EAEA,OAAOO,eAAe;AACxB","ignoreList":[]}
1
+ {"version":3,"names":["React","Group","Screen","createComponentForStaticConfig","createNavigatorFactory","Navigator","displayName","name","createNavigator","config","NavigatorComponent","with","DecoratorComponent","WithComponent","createElement","getComponent"],"sourceRoot":"../../src","sources":["createNavigatorFactory.tsx"],"mappings":";;AACA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAE9B,SAASC,KAAK,QAAQ,YAAS;AAC/B,SAASC,MAAM,QAAQ,aAAU;AACjC,SACEC,8BAA8B,QAIzB,uBAAoB;AA6C3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,sBAAsBA,CACpCC,SAAmC,EACH;EAChC,MAAMC,WAAW,GAAGD,SAAS,CAACC,WAAW,IAAID,SAAS,CAACE,IAAI,IAAI,WAAW;EAE1E,SAASC,eAAeA,CAACC,MAAY,EAAO;IAC1C,IAAIA,MAAM,IAAI,IAAI,EAAE;MAClB,MAAMC,kBAAkB,GAAGP,8BAA8B,CACvD;QACEE,SAAS;QACTH,MAAM;QACND,KAAK;QACLQ;MACF,CAAC,EACDH,WACF,CAAC;MAED,OAAO;QACLG,MAAM;QACNE,IAAIA,CACFC,kBAEE,EACF;UACA,MAAMC,aAAa,GAAGA,CAAA,KAAM;YAC1B,oBAAOb,KAAK,CAACc,aAAa,CAACF,kBAAkB,EAAE;cAC7CP,SAAS,EAAEK;YACb,CAAC,CAAC;UACJ,CAAC;UAEDG,aAAa,CAACP,WAAW,GAAG,GAAGA,WAAW,MAAM;UAEhD,OAAO;YACLG,MAAM;YACNM,YAAY,EAAEA,CAAA,KAAMF;UACtB,CAAC;QACH,CAAC;QACDE,YAAYA,CAAA,EAAG;UACb,OAAOL,kBAAkB;QAC3B;MACF,CAAC;IACH;IAEA,OAAO;MACLL,SAAS;MACTH,MAAM;MACND;IACF,CAAC;EACH;EAEA,OAAOO,eAAe;AACxB","ignoreList":[]}
@@ -16,16 +16,16 @@ export function getActionFromState(state, options) {
16
16
  } else {
17
17
  normalizedConfig = {};
18
18
  }
19
- const routes = state.index != null ? state.routes.slice(0, state.index + 1) : state.routes;
20
- if (routes.length === 0) {
19
+ const routesLength = state.index == null || state.index >= state.routes.length ? state.routes.length : state.index + 1;
20
+ if (routesLength === 0) {
21
21
  return undefined;
22
22
  }
23
- const firstRoute = routes[0];
23
+ const firstRoute = state.routes[0];
24
24
  if (firstRoute == null) {
25
25
  return undefined;
26
26
  }
27
- const secondRoute = routes[1];
28
- if (!(routes.length === 1 && firstRoute.key == null || routes.length === 2 && firstRoute.key == null && firstRoute.name === normalizedConfig?.initialRouteName && secondRoute?.key == null)) {
27
+ const secondRoute = state.routes[1];
28
+ if (!(routesLength === 1 && firstRoute.key == null || routesLength === 2 && firstRoute.key == null && firstRoute.name === normalizedConfig?.initialRouteName && secondRoute?.key == null)) {
29
29
  return {
30
30
  type: 'RESET',
31
31
  payload: state
@@ -67,16 +67,16 @@ export function getActionFromState(state, options) {
67
67
  if (current.routes.length === 0) {
68
68
  return undefined;
69
69
  }
70
- const routes = current.index != null ? current.routes.slice(0, current.index + 1) : current.routes;
71
- const route = routes[routes.length - 1];
70
+ const routesLength = current.index == null || current.index >= current.routes.length ? current.routes.length : current.index + 1;
71
+ const route = current.routes[routesLength - 1];
72
72
  if (route == null) {
73
73
  return undefined;
74
74
  }
75
- const firstRoute = routes[0];
75
+ const firstRoute = current.routes[0];
76
76
  if (firstRoute == null) {
77
77
  return undefined;
78
78
  }
79
- const secondRoute = routes[1];
79
+ const secondRoute = current.routes[1];
80
80
 
81
81
  // Explicitly set to override existing value when merging params
82
82
  Object.assign(params, {
@@ -85,10 +85,10 @@ export function getActionFromState(state, options) {
85
85
  params: undefined,
86
86
  state: undefined
87
87
  });
88
- if (routes.length === 1 && firstRoute.key == null) {
88
+ if (routesLength === 1 && firstRoute.key == null) {
89
89
  params.initial = true;
90
90
  params.screen = route.name;
91
- } else if (routes.length === 2 && firstRoute.key == null && firstRoute.name === config?.initialRouteName && secondRoute?.key == null) {
91
+ } else if (routesLength === 2 && firstRoute.key == null && firstRoute.name === config?.initialRouteName && secondRoute?.key == null) {
92
92
  params.initial = false;
93
93
  params.screen = route.name;
94
94
  } else {
@@ -1 +1 @@
1
- {"version":3,"names":["cachedNormalizedConfig","WeakMap","getActionFromState","state","options","normalizedConfig","cached","get","createNormalizedConfigItem","set","routes","index","slice","length","undefined","firstRoute","secondRoute","key","name","initialRouteName","type","payload","route","current","config","screens","params","path","Object","keys","pop","assign","initial","screen","createNormalizedConfigs","entries","reduce","acc","k","v"],"sourceRoot":"../../src","sources":["getActionFromState.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["cachedNormalizedConfig","WeakMap","getActionFromState","state","options","normalizedConfig","cached","get","createNormalizedConfigItem","set","routesLength","index","routes","length","undefined","firstRoute","secondRoute","key","name","initialRouteName","type","payload","route","current","config","screens","params","path","Object","keys","pop","assign","initial","screen","createNormalizedConfigs","entries","reduce","acc","k","v"],"sourceRoot":"../../src","sources":["getActionFromState.tsx"],"mappings":"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","ignoreList":[]}
@@ -4,46 +4,41 @@ import queryString from 'query-string';
4
4
  import { getPatternParts } from "./getPatternParts.js";
5
5
  import { getStateFromRouteParams } from "./getStateFromRouteParams.js";
6
6
  import { validatePathConfig } from "./validatePathConfig.js";
7
- const getActiveRoute = state => {
7
+ const encodePathParam = value => {
8
+ let result = '';
9
+ for (const char of value) {
10
+ const charCode = char.charCodeAt(0);
11
+ const safe = charCode >= 65 && charCode <= 90 || charCode >= 97 && charCode <= 122 || charCode >= 48 && charCode <= 57 || "-._~!$&'()*+,;=:@".includes(char);
12
+ result += safe ? char : encodeURIComponent(char);
13
+ }
14
+ return result;
15
+ };
16
+ const getActiveRoute = (state, configs, getRouteState) => {
8
17
  const route = typeof state.index === 'number' ? state.routes[state.index] : state.routes[state.routes.length - 1];
9
18
  if (route == null) {
10
19
  throw new Error(`Couldn't find the active route.`);
11
20
  }
12
- if (route.state) {
13
- return getActiveRoute(route.state);
21
+ const config = configs?.[route.name];
22
+ const routeState = getRouteState(route, config);
23
+ if (routeState) {
24
+ return getActiveRoute(routeState, config?.screens, getRouteState);
14
25
  }
15
26
  return route;
16
27
  };
17
28
  const cachedNormalizedConfigs = new WeakMap();
18
29
  const getNormalizedConfigs = options => {
19
- if (!options?.screens) return {};
20
- const cached = cachedNormalizedConfigs.get(options?.screens);
21
- if (cached) return cached;
30
+ if (!options) {
31
+ return {};
32
+ }
33
+ const cached = cachedNormalizedConfigs.get(options);
34
+ if (cached) {
35
+ return cached;
36
+ }
37
+ validatePathConfig(options);
22
38
  const normalizedConfigs = createNormalizedConfigs(options.screens);
23
- cachedNormalizedConfigs.set(options.screens, normalizedConfigs);
39
+ cachedNormalizedConfigs.set(options, normalizedConfigs);
24
40
  return normalizedConfigs;
25
41
  };
26
- const getTransformedState = (state, configs) => {
27
- const routes = state.routes.map(route => {
28
- const config = configs?.[route.name];
29
- if (route.state || config?.screens && route.params && ('screen' in route.params && typeof route.params.screen === 'string' && config.screens[route.params.screen] || 'state' in route.params)) {
30
- const nestedState = route.state ?? getStateFromRouteParams(route.params);
31
- if (nestedState) {
32
- return {
33
- ...route,
34
- state: getTransformedState(nestedState, configs?.[route.name]?.screens)
35
- };
36
- }
37
- }
38
-
39
- // @ts-expect-error route.state is handled in previous condition
40
- return route;
41
- });
42
- return {
43
- ...state,
44
- routes
45
- };
46
- };
47
42
 
48
43
  /**
49
44
  * Utility to serialize a navigation state object to a path string.
@@ -78,13 +73,25 @@ export function getPathFromState(state, options) {
78
73
  if (state == null) {
79
74
  throw Error(`Got '${String(state)}' for the navigation state. You must pass a valid state object.`);
80
75
  }
81
- if (options) {
82
- validatePathConfig(options);
83
- }
84
76
  const configs = getNormalizedConfigs(options);
85
- const transformedState = getTransformedState(state, configs);
77
+ const cachedRouteStates = new Map();
78
+ const getRouteState = (route, config) => {
79
+ if (route.state) {
80
+ return route.state;
81
+ }
82
+ const hasScreenParams = route.params && 'screen' in route.params && typeof route.params.screen === 'string' && config?.screens?.[route.params.screen];
83
+ const hasStateParams = route.params && 'state' in route.params && config?.screens;
84
+ if (!route.params || !config?.screens || !hasScreenParams && !hasStateParams) {
85
+ return undefined;
86
+ }
87
+ if (!cachedRouteStates.has(route)) {
88
+ cachedRouteStates.set(route, getStateFromRouteParams(route.params));
89
+ }
90
+ return cachedRouteStates.get(route);
91
+ };
92
+ const focusedRoute = getActiveRoute(state, configs, getRouteState);
86
93
  let path = '/';
87
- let current = transformedState;
94
+ let current = state;
88
95
  const allParams = {};
89
96
  while (current) {
90
97
  let index = typeof current.index === 'number' ? current.index : 0;
@@ -96,7 +103,6 @@ export function getPathFromState(state, options) {
96
103
  let parts;
97
104
  let focusedParams;
98
105
  let currentOptions = configs;
99
- const focusedRoute = getActiveRoute(transformedState);
100
106
 
101
107
  // Keep all the route names that appeared during going deeper in config in case the pattern is resolved to undefined
102
108
  const nestedRouteNames = [];
@@ -110,51 +116,55 @@ export function getPathFromState(state, options) {
110
116
  nestedRouteNames.push(route.name);
111
117
  if (route.params) {
112
118
  const options = config;
113
- const currentParams = Object.fromEntries(Object.entries(route.params).map(([key, value]) => {
119
+ const params = route.params;
120
+ const currentParams = {};
121
+ for (const key in params) {
122
+ const value = params[key];
114
123
  if (value === undefined) {
115
- if (options) {
116
- const optional = options.parts?.find(part => part.param === key)?.optional;
117
- if (optional) {
118
- return null;
124
+ let optional = false;
125
+ for (const part of options.parts ?? []) {
126
+ if (part.param === key) {
127
+ optional = part.optional === true;
128
+ break;
119
129
  }
120
- } else {
121
- return null;
130
+ }
131
+ if (optional) {
132
+ continue;
122
133
  }
123
134
  }
124
- const stringify = options?.stringify?.[key] ?? String;
125
- return [key, stringify(value)];
126
- }).filter(entry => entry != null));
135
+ const stringify = options.stringify?.[key] ?? String;
136
+ currentParams[key] = stringify(value);
137
+ }
127
138
  if (parts?.length) {
128
139
  Object.assign(allParams, currentParams);
129
140
  }
130
141
  if (focusedRoute === route) {
131
142
  // If this is the focused route, keep the params for later use
132
143
  // We save it here since it's been stringified already
133
- focusedParams = {
134
- ...currentParams
135
- };
136
- parts
137
- // eslint-disable-next-line no-loop-func
138
- ?.forEach(({
139
- param
140
- }) => {
141
- if (param) {
142
- // Remove the params present in the pattern since we'll only use the rest for query string
143
- if (focusedParams) {
144
- // eslint-disable-next-line @typescript-eslint/no-dynamic-delete
145
- delete focusedParams[param];
144
+ focusedParams = {};
145
+ for (const key in currentParams) {
146
+ let inPattern = false;
147
+ for (const part of parts ?? []) {
148
+ if (part.param === key) {
149
+ inPattern = true;
150
+ break;
146
151
  }
147
152
  }
148
- });
153
+ const value = currentParams[key];
154
+ if (!inPattern && value !== undefined && value !== 'undefined') {
155
+ focusedParams[key] = value;
156
+ }
157
+ }
149
158
  }
150
159
  }
151
160
 
152
161
  // If there is no `screens` property or no nested state, we return pattern
153
- if (!config.screens || route.state == null) {
162
+ const routeState = getRouteState(route, config);
163
+ if (!config.screens || routeState == null) {
154
164
  hasNext = false;
155
165
  } else {
156
- index = typeof route.state.index === 'number' ? route.state.index : route.state.routes.length - 1;
157
- const nextRoute = route.state.routes[index];
166
+ index = typeof routeState.index === 'number' ? routeState.index : routeState.routes.length - 1;
167
+ const nextRoute = routeState.routes[index];
158
168
  if (nextRoute == null) {
159
169
  throw new Error(`Couldn't find a route at index ${index}.`);
160
170
  }
@@ -170,48 +180,60 @@ export function getPathFromState(state, options) {
170
180
  }
171
181
  }
172
182
  }
183
+ const routeState = getRouteState(route, currentOptions[route.name]);
173
184
  if (currentOptions[route.name] != null) {
174
- path += parts?.map(({
175
- segment,
176
- param,
177
- optional
178
- }) => {
179
- // We don't know what to show for wildcard patterns
180
- // Showing the route name seems ok, though whatever we show here will be incorrect
181
- // Since the page doesn't actually exist
182
- if (segment === '*') {
183
- return route.name;
184
- }
185
+ if (parts) {
186
+ let index = 0;
187
+ for (const {
188
+ segment,
189
+ param,
190
+ optional
191
+ } of parts) {
192
+ if (index > 0) {
193
+ path += '/';
194
+ }
195
+ index++;
185
196
 
186
- // If the path has a pattern for a param, put the param in the path
187
- if (param) {
188
- const value = allParams[param];
189
- if (value === undefined && optional) {
190
- // Optional params without value assigned in route.params should be ignored
191
- return '';
197
+ // We don't know what to show for wildcard patterns
198
+ // Showing the route name seems ok, though whatever we show here will be incorrect
199
+ // Since the page doesn't actually exist
200
+ if (segment === '*') {
201
+ path += route.name;
202
+ continue;
192
203
  }
193
204
 
194
- // Valid characters according to
195
- // https://datatracker.ietf.org/doc/html/rfc3986#section-3.3 (see pchar definition)
196
- return Array.from(String(value)).map(char => /[^A-Za-z0-9\-._~!$&'()*+,;=:@]/g.test(char) ? encodeURIComponent(char) : char).join('');
205
+ // If the path has a pattern for a param, put the param in the path
206
+ if (param) {
207
+ const value = allParams[param];
208
+ if (value === undefined && optional) {
209
+ // Optional params without value assigned in route.params should be ignored
210
+ continue;
211
+ }
212
+
213
+ // Valid characters according to
214
+ // https://datatracker.ietf.org/doc/html/rfc3986#section-3.3 (see pchar definition)
215
+ path += encodePathParam(String(value));
216
+ continue;
217
+ }
218
+ path += encodeURIComponent(segment);
197
219
  }
198
- return encodeURIComponent(segment);
199
- }).join('/');
220
+ }
200
221
  } else {
201
222
  path += encodeURIComponent(route.name);
202
223
  }
203
224
  if (!focusedParams && focusedRoute.params) {
204
- focusedParams = Object.fromEntries(Object.entries(focusedRoute.params).map(([key, value]) => [key, String(value)]));
225
+ focusedParams = {};
226
+ const params = focusedRoute.params;
227
+ for (const key in params) {
228
+ const value = String(params[key]);
229
+ if (value !== 'undefined') {
230
+ focusedParams[key] = value;
231
+ }
232
+ }
205
233
  }
206
- if (route.state) {
234
+ if (routeState) {
207
235
  path += '/';
208
236
  } else if (focusedParams) {
209
- for (const param in focusedParams) {
210
- if (focusedParams[param] === 'undefined') {
211
- // eslint-disable-next-line @typescript-eslint/no-dynamic-delete
212
- delete focusedParams[param];
213
- }
214
- }
215
237
  const query = queryString.stringify(focusedParams, {
216
238
  sort: false
217
239
  });
@@ -219,7 +241,7 @@ export function getPathFromState(state, options) {
219
241
  path += `?${query}`;
220
242
  }
221
243
  }
222
- current = route.state;
244
+ current = routeState;
223
245
  }
224
246
 
225
247
  // Include the root path if specified
@@ -265,8 +287,15 @@ const createConfigItem = (config, parentParts) => {
265
287
  screens
266
288
  };
267
289
  };
268
- const createNormalizedConfigs = (options, parts) => Object.fromEntries(Object.entries(options).map(([name, c]) => {
269
- const result = createConfigItem(c, parts);
270
- return [name, result];
271
- }));
290
+ const createNormalizedConfigs = (options, parts) => {
291
+ const configs = {};
292
+ const screens = options;
293
+ for (const name in screens) {
294
+ const config = screens[name];
295
+ if (config !== undefined) {
296
+ configs[name] = createConfigItem(config, parts);
297
+ }
298
+ }
299
+ return configs;
300
+ };
272
301
  //# sourceMappingURL=getPathFromState.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["queryString","getPatternParts","getStateFromRouteParams","validatePathConfig","getActiveRoute","state","route","index","routes","length","Error","cachedNormalizedConfigs","WeakMap","getNormalizedConfigs","options","screens","cached","get","normalizedConfigs","createNormalizedConfigs","set","getTransformedState","configs","map","config","name","params","screen","nestedState","getPathFromState","String","transformedState","path","current","allParams","initialRoute","parts","focusedParams","currentOptions","focusedRoute","nestedRouteNames","hasNext","push","currentParams","Object","fromEntries","entries","key","value","undefined","optional","find","part","param","stringify","filter","entry","assign","forEach","nextRoute","nestedConfig","segment","Array","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":["queryString","getPatternParts","getStateFromRouteParams","validatePathConfig","encodePathParam","value","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","String","cachedRouteStates","Map","hasScreenParams","params","screen","hasStateParams","undefined","has","focusedRoute","path","current","allParams","initialRoute","parts","focusedParams","currentOptions","nestedRouteNames","hasNext","push","currentParams","key","optional","part","param","stringify","Object","assign","inPattern","nextRoute","nestedConfig","segment","query","sort","replace","startsWith","createConfigItem","parentParts","exact"],"sourceRoot":"../../src","sources":["getPathFromState.tsx"],"mappings":"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","ignoreList":[]}
@@ -41,15 +41,15 @@ export function getPatternParts(path) {
41
41
  if (regexInnerParens) {
42
42
  // The ')' is part of the regex if we're already inside one
43
43
  regexInnerParens--;
44
- current.regex += char;
45
44
  } else {
45
+ current.regex += char;
46
46
  isRegex = false;
47
47
  isParam = false;
48
48
  }
49
49
  } else {
50
50
  throw new Error(`Encountered ')' without preceding '(' in path: ${path}`);
51
51
  }
52
- } else if (char === '?') {
52
+ } else if (char === '?' && !isRegex) {
53
53
  if (current.param) {
54
54
  isParam = false;
55
55
  current.optional = true;
@@ -1 +1 @@
1
- {"version":3,"names":["getPatternParts","path","parts","current","segment","isRegex","isParam","regexInnerParens","i","length","char","Error","regex","param","optional","replace","push","params","map","part","filter","Boolean","index","entries","indexOf","combinePatternParts","parentParts","exact"],"sourceRoot":"../../src","sources":["getPatternParts.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["getPatternParts","path","parts","current","segment","isRegex","isParam","regexInnerParens","i","length","char","Error","regex","param","optional","replace","push","params","map","part","filter","Boolean","index","entries","indexOf","combinePatternParts","parentParts","exact"],"sourceRoot":"../../src","sources":["getPatternParts.tsx"],"mappings":"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","ignoreList":[]}