@react-navigation/core 8.0.0-alpha.19 → 8.0.0-alpha.20
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/module/BaseNavigationContainer.js +6 -2
- package/lib/module/BaseNavigationContainer.js.map +1 -1
- package/lib/module/StaticNavigation.js +72 -61
- package/lib/module/StaticNavigation.js.map +1 -1
- package/lib/module/findFocusedRoute.js +7 -4
- package/lib/module/findFocusedRoute.js.map +1 -1
- package/lib/module/getActionFromState.js +25 -12
- package/lib/module/getActionFromState.js.map +1 -1
- package/lib/module/getPathFromState.js +24 -9
- package/lib/module/getPathFromState.js.map +1 -1
- package/lib/module/getPatternParts.js +3 -0
- package/lib/module/getPatternParts.js.map +1 -1
- package/lib/module/getStateFromPath.js +164 -78
- package/lib/module/getStateFromPath.js.map +1 -1
- package/lib/module/index.js +1 -1
- package/lib/module/index.js.map +1 -1
- package/lib/module/types.js +8 -0
- package/lib/module/types.js.map +1 -1
- package/lib/module/useDescriptors.js +13 -6
- package/lib/module/useDescriptors.js.map +1 -1
- package/lib/module/useFocusEvents.js +5 -1
- package/lib/module/useFocusEvents.js.map +1 -1
- package/lib/module/useNavigation.js.map +1 -1
- package/lib/module/useNavigationBuilder.js +18 -5
- package/lib/module/useNavigationBuilder.js.map +1 -1
- package/lib/module/useNavigationCache.js +1 -1
- package/lib/module/useNavigationCache.js.map +1 -1
- package/lib/module/useNavigationState.js.map +1 -1
- package/lib/module/useOnAction.js +1 -1
- package/lib/module/useOnAction.js.map +1 -1
- package/lib/module/useRoute.js.map +1 -1
- package/lib/module/validatePathConfig.js +2 -1
- package/lib/module/validatePathConfig.js.map +1 -1
- package/lib/typescript/src/BaseNavigationContainer.d.ts +2 -2
- package/lib/typescript/src/BaseNavigationContainer.d.ts.map +1 -1
- package/lib/typescript/src/EnsureSingleNavigator.d.ts +1 -1
- package/lib/typescript/src/EnsureSingleNavigator.d.ts.map +1 -1
- package/lib/typescript/src/Group.d.ts +1 -1
- package/lib/typescript/src/Group.d.ts.map +1 -1
- package/lib/typescript/src/NavigationBuilderContext.d.ts +1 -1
- package/lib/typescript/src/NavigationBuilderContext.d.ts.map +1 -1
- package/lib/typescript/src/NavigationContainerRefContext.d.ts +1 -1
- package/lib/typescript/src/NavigationContainerRefContext.d.ts.map +1 -1
- package/lib/typescript/src/NavigationHelpersContext.d.ts +1 -1
- package/lib/typescript/src/NavigationHelpersContext.d.ts.map +1 -1
- package/lib/typescript/src/NavigationIndependentTree.d.ts +1 -1
- package/lib/typescript/src/NavigationIndependentTree.d.ts.map +1 -1
- package/lib/typescript/src/NavigationProvider.d.ts +6 -6
- package/lib/typescript/src/NavigationProvider.d.ts.map +1 -1
- package/lib/typescript/src/PreventRemoveProvider.d.ts +1 -1
- package/lib/typescript/src/PreventRemoveProvider.d.ts.map +1 -1
- package/lib/typescript/src/SceneView.d.ts +3 -2
- package/lib/typescript/src/SceneView.d.ts.map +1 -1
- package/lib/typescript/src/Screen.d.ts +1 -1
- package/lib/typescript/src/Screen.d.ts.map +1 -1
- package/lib/typescript/src/StaticNavigation.d.ts +68 -73
- package/lib/typescript/src/StaticNavigation.d.ts.map +1 -1
- package/lib/typescript/src/createNavigationContainerRef.d.ts +1 -1
- package/lib/typescript/src/createNavigationContainerRef.d.ts.map +1 -1
- package/lib/typescript/src/createNavigatorFactory.d.ts +3 -3
- package/lib/typescript/src/createNavigatorFactory.d.ts.map +1 -1
- package/lib/typescript/src/findFocusedRoute.d.ts.map +1 -1
- package/lib/typescript/src/getActionFromState.d.ts +1 -1
- package/lib/typescript/src/getActionFromState.d.ts.map +1 -1
- package/lib/typescript/src/getPathFromState.d.ts +1 -1
- package/lib/typescript/src/getPathFromState.d.ts.map +1 -1
- package/lib/typescript/src/getPatternParts.d.ts +1 -0
- package/lib/typescript/src/getPatternParts.d.ts.map +1 -1
- package/lib/typescript/src/getStateFromPath.d.ts +2 -2
- package/lib/typescript/src/getStateFromPath.d.ts.map +1 -1
- package/lib/typescript/src/index.d.ts +34 -33
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/lib/typescript/src/theming/ThemeContext.d.ts +1 -1
- package/lib/typescript/src/theming/ThemeContext.d.ts.map +1 -1
- package/lib/typescript/src/theming/ThemeProvider.d.ts +2 -2
- package/lib/typescript/src/theming/ThemeProvider.d.ts.map +1 -1
- package/lib/typescript/src/theming/useTheme.d.ts +1 -1
- package/lib/typescript/src/theming/useTheme.d.ts.map +1 -1
- package/lib/typescript/src/types.d.ts +72 -37
- package/lib/typescript/src/types.d.ts.map +1 -1
- package/lib/typescript/src/useChildListeners.d.ts +3 -3
- package/lib/typescript/src/useChildListeners.d.ts.map +1 -1
- package/lib/typescript/src/useComponent.d.ts +1 -1
- package/lib/typescript/src/useComponent.d.ts.map +1 -1
- package/lib/typescript/src/useDescriptors.d.ts +5 -5
- package/lib/typescript/src/useDescriptors.d.ts.map +1 -1
- package/lib/typescript/src/useEventEmitter.d.ts +1 -1
- package/lib/typescript/src/useEventEmitter.d.ts.map +1 -1
- package/lib/typescript/src/useFocusEvents.d.ts +2 -2
- package/lib/typescript/src/useFocusEvents.d.ts.map +1 -1
- package/lib/typescript/src/useFocusedListenersChildrenAdapter.d.ts +2 -2
- package/lib/typescript/src/useFocusedListenersChildrenAdapter.d.ts.map +1 -1
- package/lib/typescript/src/useKeyedChildListeners.d.ts +3 -3
- package/lib/typescript/src/useKeyedChildListeners.d.ts.map +1 -1
- package/lib/typescript/src/useNavigation.d.ts +5 -3
- package/lib/typescript/src/useNavigation.d.ts.map +1 -1
- package/lib/typescript/src/useNavigationBuilder.d.ts +7 -7
- package/lib/typescript/src/useNavigationBuilder.d.ts.map +1 -1
- package/lib/typescript/src/useNavigationCache.d.ts +3 -3
- package/lib/typescript/src/useNavigationCache.d.ts.map +1 -1
- package/lib/typescript/src/useNavigationContainerRef.d.ts +1 -1
- package/lib/typescript/src/useNavigationContainerRef.d.ts.map +1 -1
- package/lib/typescript/src/useNavigationHelpers.d.ts +4 -4
- package/lib/typescript/src/useNavigationHelpers.d.ts.map +1 -1
- package/lib/typescript/src/useNavigationState.d.ts +2 -2
- package/lib/typescript/src/useNavigationState.d.ts.map +1 -1
- package/lib/typescript/src/useOnAction.d.ts +3 -3
- package/lib/typescript/src/useOnAction.d.ts.map +1 -1
- package/lib/typescript/src/useOnGetState.d.ts +1 -1
- package/lib/typescript/src/useOnGetState.d.ts.map +1 -1
- package/lib/typescript/src/useOnPreventRemove.d.ts +3 -3
- package/lib/typescript/src/useOnPreventRemove.d.ts.map +1 -1
- package/lib/typescript/src/useOptionsGetters.d.ts +1 -1
- package/lib/typescript/src/useOptionsGetters.d.ts.map +1 -1
- package/lib/typescript/src/usePreventRemoveContext.d.ts +1 -1
- package/lib/typescript/src/useRoute.d.ts +2 -2
- package/lib/typescript/src/useRoute.d.ts.map +1 -1
- package/lib/typescript/src/useRouteCache.d.ts +2 -2
- package/lib/typescript/src/useRouteCache.d.ts.map +1 -1
- package/lib/typescript/src/useStateForPath.d.ts +1 -1
- package/lib/typescript/src/useStateForPath.d.ts.map +1 -1
- package/lib/typescript/src/utilities.d.ts +4 -3
- package/lib/typescript/src/utilities.d.ts.map +1 -1
- package/lib/typescript/src/validatePathConfig.d.ts.map +1 -1
- package/package.json +18 -17
- package/src/BaseNavigationContainer.tsx +7 -2
- package/src/StaticNavigation.tsx +220 -248
- package/src/findFocusedRoute.tsx +10 -5
- package/src/getActionFromState.tsx +43 -30
- package/src/getPathFromState.tsx +40 -20
- package/src/getPatternParts.tsx +8 -0
- package/src/getStateFromPath.tsx +244 -67
- package/src/index.tsx +39 -1
- package/src/types.tsx +167 -122
- package/src/useDescriptors.tsx +22 -10
- package/src/useFocusEvents.tsx +7 -1
- package/src/useNavigation.tsx +8 -4
- package/src/useNavigationBuilder.tsx +22 -7
- package/src/useNavigationCache.tsx +4 -4
- package/src/useNavigationState.tsx +3 -3
- package/src/useOnAction.tsx +1 -1
- package/src/useRoute.tsx +4 -2
- package/src/utilities.tsx +17 -11
- package/src/validatePathConfig.tsx +1 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["queryString","getPatternParts","getStateFromRouteParams","validatePathConfig","getActiveRoute","state","route","index","routes","length","cachedNormalizedConfigs","WeakMap","getNormalizedConfigs","options","screens","cached","get","normalizedConfigs","createNormalizedConfigs","set","getTransformedState","configs","map","name","params","screen","nestedState","getPathFromState","
|
|
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":";;AACA,OAAOA,WAAW,MAAM,cAAc;AAEtC,SAASC,eAAe,QAA0B,sBAAmB;AACrE,SAASC,uBAAuB,QAAQ,8BAA2B;AAEnE,SAASC,kBAAkB,QAAQ,yBAAsB;AAkBzD,MAAMC,cAAc,GAClBC,KAAY,IACsC;EAClD,MAAMC,KAAK,GACT,OAAOD,KAAK,CAACE,KAAK,KAAK,QAAQ,GAC3BF,KAAK,CAACG,MAAM,CAACH,KAAK,CAACE,KAAK,CAAC,GACzBF,KAAK,CAACG,MAAM,CAACH,KAAK,CAACG,MAAM,CAACC,MAAM,GAAG,CAAC,CAAC;EAE3C,IAAIH,KAAK,IAAI,IAAI,EAAE;IACjB,MAAM,IAAII,KAAK,CAAC,iCAAiC,CAAC;EACpD;EAEA,IAAIJ,KAAK,CAACD,KAAK,EAAE;IACf,OAAOD,cAAc,CAACE,KAAK,CAACD,KAAK,CAAC;EACpC;EAEA,OAAOC,KAAK;AACd,CAAC;AAED,MAAMK,uBAAuB,GAAG,IAAIC,OAAO,CAGzC,CAAC;AAEH,MAAMC,oBAAoB,GAAIC,OAAqB,IAAK;EACtD,IAAI,CAACA,OAAO,EAAEC,OAAO,EAAE,OAAO,CAAC,CAAC;EAEhC,MAAMC,MAAM,GAAGL,uBAAuB,CAACM,GAAG,CAACH,OAAO,EAAEC,OAAO,CAAC;EAE5D,IAAIC,MAAM,EAAE,OAAOA,MAAM;EAEzB,MAAME,iBAAiB,GAAGC,uBAAuB,CAACL,OAAO,CAACC,OAAO,CAAC;EAElEJ,uBAAuB,CAACS,GAAG,CAACN,OAAO,CAACC,OAAO,EAAEG,iBAAiB,CAAC;EAE/D,OAAOA,iBAAiB;AAC1B,CAAC;AAED,MAAMG,mBAAmB,GAAGA,CAC1BhB,KAAY,EACZiB,OAA+C,KACE;EACjD,MAAMd,MAAM,GAAGH,KAAK,CAACG,MAAM,CAACe,GAAG,CAC5BjB,KAAK,IAAqE;IACzE,MAAMkB,MAAM,GAAGF,OAAO,GAAGhB,KAAK,CAACmB,IAAI,CAAC;IAEpC,IACEnB,KAAK,CAACD,KAAK,IACVmB,MAAM,EAAET,OAAO,IACdT,KAAK,CAACoB,MAAM,KACV,QAAQ,IAAIpB,KAAK,CAACoB,MAAM,IACxB,OAAOpB,KAAK,CAACoB,MAAM,CAACC,MAAM,KAAK,QAAQ,IACvCH,MAAM,CAACT,OAAO,CAACT,KAAK,CAACoB,MAAM,CAACC,MAAM,CAAC,IACnC,OAAO,IAAIrB,KAAK,CAACoB,MAAM,CAAE,EAC7B;MACA,MAAME,WAA8B,GAClCtB,KAAK,CAACD,KAAK,IAAIH,uBAAuB,CAACI,KAAK,CAACoB,MAAM,CAAC;MAEtD,IAAIE,WAAW,EAAE;QACf,OAAO;UACL,GAAGtB,KAAK;UACRD,KAAK,EAAEgB,mBAAmB,CACxBO,WAAW,EACXN,OAAO,GAAGhB,KAAK,CAACmB,IAAI,CAAC,EAAEV,OACzB;QACF,CAAC;MACH;IACF;;IAEA;IACA,OAAOT,KAAK;EACd,CACF,CAAC;EAED,OAAO;IACL,GAAGD,KAAK;IACRG;EACF,CAAC;AACH,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASqB,gBAAgBA,CAC9BxB,KAAY,EACZS,OAA4B,EACpB;EACR,IAAIT,KAAK,IAAI,IAAI,EAAE;IACjB,MAAMK,KAAK,CACT,QAAQoB,MAAM,CAACzB,KAAK,CAAC,iEACvB,CAAC;EACH;EAEA,IAAIS,OAAO,EAAE;IACXX,kBAAkB,CAACW,OAAO,CAAC;EAC7B;EAEA,MAAMQ,OAAO,GAAGT,oBAAoB,CAACC,OAAO,CAAC;EAC7C,MAAMiB,gBAAgB,GAAGV,mBAAmB,CAAChB,KAAK,EAAEiB,OAAO,CAAC;EAE5D,IAAIU,IAAI,GAAG,GAAG;EACd,IAAIC,OAA0B,GAAGF,gBAAgB;EAEjD,MAAMG,SAAiC,GAAG,CAAC,CAAC;EAE5C,OAAOD,OAAO,EAAE;IACd,IAAI1B,KAAa,GAAG,OAAO0B,OAAO,CAAC1B,KAAK,KAAK,QAAQ,GAAG0B,OAAO,CAAC1B,KAAK,GAAG,CAAC;IAEzE,MAAM4B,YAAiD,GACrDF,OAAO,CAACzB,MAAM,CAACD,KAAK,CAAC;IAEvB,IAAI4B,YAAY,IAAI,IAAI,EAAE;MACxB,MAAM,IAAIzB,KAAK,CAAC,kCAAkCH,KAAK,GAAG,CAAC;IAC7D;IAEA,IAAID,KAA8B,GAAG6B,YAAY;IAEjD,IAAIC,KAAgC;IAEpC,IAAIC,aAAiD;IACrD,IAAIC,cAAc,GAAGhB,OAAO;IAE5B,MAAMiB,YAAY,GAAGnC,cAAc,CAAC2B,gBAAgB,CAAC;;IAErD;IACA,MAAMS,gBAAgB,GAAG,EAAE;IAE3B,IAAIC,OAAO,GAAG,IAAI;IAElB,OAAOA,OAAO,EAAE;MACd,MAAMjB,MAAM,GAAGc,cAAc,CAAChC,KAAK,CAACmB,IAAI,CAAC;MAEzC,IAAID,MAAM,IAAI,IAAI,EAAE;QAClB;MACF;MAEAY,KAAK,GAAGZ,MAAM,CAACY,KAAK;MAEpBI,gBAAgB,CAACE,IAAI,CAACpC,KAAK,CAACmB,IAAI,CAAC;MAEjC,IAAInB,KAAK,CAACoB,MAAM,EAAE;QAChB,MAAMZ,OAAO,GAAGU,MAAM;QAEtB,MAAMmB,aAAa,GAAGC,MAAM,CAACC,WAAW,CACtCD,MAAM,CAACE,OAAO,CAACxC,KAAK,CAACoB,MAAM,CAAC,CACzBH,GAAG,CAAC,CAAC,CAACwB,GAAG,EAAEC,KAAK,CAAC,KAA8B;UAC9C,IAAIA,KAAK,KAAKC,SAAS,EAAE;YACvB,IAAInC,OAAO,EAAE;cACX,MAAMoC,QAAQ,GAAGpC,OAAO,CAACsB,KAAK,EAAEe,IAAI,CACjCC,IAAI,IAAKA,IAAI,CAACC,KAAK,KAAKN,GAC3B,CAAC,EAAEG,QAAQ;cAEX,IAAIA,QAAQ,EAAE;gBACZ,OAAO,IAAI;cACb;YACF,CAAC,MAAM;cACL,OAAO,IAAI;YACb;UACF;UAEA,MAAMI,SAAS,GAAGxC,OAAO,EAAEwC,SAAS,GAAGP,GAAG,CAAC,IAAIjB,MAAM;UAErD,OAAO,CAACiB,GAAG,EAAEO,SAAS,CAACN,KAAK,CAAC,CAAC;QAChC,CAAC,CAAC,CACDO,MAAM,CAAEC,KAAK,IAAKA,KAAK,IAAI,IAAI,CACpC,CAAC;QAED,IAAIpB,KAAK,EAAE3B,MAAM,EAAE;UACjBmC,MAAM,CAACa,MAAM,CAACvB,SAAS,EAAES,aAAa,CAAC;QACzC;QAEA,IAAIJ,YAAY,KAAKjC,KAAK,EAAE;UAC1B;UACA;UACA+B,aAAa,GAAG;YAAE,GAAGM;UAAc,CAAC;UAEpCP;UACE;UAAA,EACEsB,OAAO,CAAC,CAAC;YAAEL;UAAM,CAAC,KAAK;YACvB,IAAIA,KAAK,EAAE;cACT;cACA,IAAIhB,aAAa,EAAE;gBACjB;gBACA,OAAOA,aAAa,CAACgB,KAAK,CAAC;cAC7B;YACF;UACF,CAAC,CAAC;QACN;MACF;;MAEA;MACA,IAAI,CAAC7B,MAAM,CAACT,OAAO,IAAIT,KAAK,CAACD,KAAK,IAAI,IAAI,EAAE;QAC1CoC,OAAO,GAAG,KAAK;MACjB,CAAC,MAAM;QACLlC,KAAK,GACH,OAAOD,KAAK,CAACD,KAAK,CAACE,KAAK,KAAK,QAAQ,GACjCD,KAAK,CAACD,KAAK,CAACE,KAAK,GACjBD,KAAK,CAACD,KAAK,CAACG,MAAM,CAACC,MAAM,GAAG,CAAC;QAEnC,MAAMkD,SAA8C,GAClDrD,KAAK,CAACD,KAAK,CAACG,MAAM,CAACD,KAAK,CAAC;QAE3B,IAAIoD,SAAS,IAAI,IAAI,EAAE;UACrB,MAAM,IAAIjD,KAAK,CAAC,kCAAkCH,KAAK,GAAG,CAAC;QAC7D;QAEA,MAAMqD,YAAY,GAAGpC,MAAM,CAACT,OAAO;;QAEnC;QACA,IAAI4C,SAAS,CAAClC,IAAI,IAAImC,YAAY,EAAE;UAClCtD,KAAK,GAAGqD,SAAS;UACjBrB,cAAc,GAAGsB,YAAY;QAC/B,CAAC,MAAM;UACL;UACAnB,OAAO,GAAG,KAAK;QACjB;MACF;IACF;IAEA,IAAIH,cAAc,CAAChC,KAAK,CAACmB,IAAI,CAAC,IAAI,IAAI,EAAE;MACtCO,IAAI,IAAII,KAAK,EACTb,GAAG,CAAC,CAAC;QAAEsC,OAAO;QAAER,KAAK;QAAEH;MAAS,CAAC,KAAK;QACtC;QACA;QACA;QACA,IAAIW,OAAO,KAAK,GAAG,EAAE;UACnB,OAAOvD,KAAK,CAACmB,IAAI;QACnB;;QAEA;QACA,IAAI4B,KAAK,EAAE;UACT,MAAML,KAAK,GAAGd,SAAS,CAACmB,KAAK,CAAC;UAE9B,IAAIL,KAAK,KAAKC,SAAS,IAAIC,QAAQ,EAAE;YACnC;YACA,OAAO,EAAE;UACX;;UAEA;UACA;UACA,OAAOY,KAAK,CAACC,IAAI,CAACjC,MAAM,CAACkB,KAAK,CAAC,CAAC,CAC7BzB,GAAG,CAAEyC,IAAI,IACR,iCAAiC,CAACC,IAAI,CAACD,IAAI,CAAC,GACxCE,kBAAkB,CAACF,IAAI,CAAC,GACxBA,IACN,CAAC,CACAG,IAAI,CAAC,EAAE,CAAC;QACb;QAEA,OAAOD,kBAAkB,CAACL,OAAO,CAAC;MACpC,CAAC,CAAC,CACDM,IAAI,CAAC,GAAG,CAAC;IACd,CAAC,MAAM;MACLnC,IAAI,IAAIkC,kBAAkB,CAAC5D,KAAK,CAACmB,IAAI,CAAC;IACxC;IAEA,IAAI,CAACY,aAAa,IAAIE,YAAY,CAACb,MAAM,EAAE;MACzCW,aAAa,GAAGO,MAAM,CAACC,WAAW,CAChCD,MAAM,CAACE,OAAO,CAACP,YAAY,CAACb,MAAM,CAAC,CAACH,GAAG,CAAC,CAAC,CAACwB,GAAG,EAAEC,KAAK,CAAC,KAAK,CACxDD,GAAG,EACHjB,MAAM,CAACkB,KAAK,CAAC,CACd,CACH,CAAC;IACH;IAEA,IAAI1C,KAAK,CAACD,KAAK,EAAE;MACf2B,IAAI,IAAI,GAAG;IACb,CAAC,MAAM,IAAIK,aAAa,EAAE;MACxB,KAAK,MAAMgB,KAAK,IAAIhB,aAAa,EAAE;QACjC,IAAIA,aAAa,CAACgB,KAAK,CAAC,KAAK,WAAW,EAAE;UACxC;UACA,OAAOhB,aAAa,CAACgB,KAAK,CAAC;QAC7B;MACF;MAEA,MAAMe,KAAK,GAAGpE,WAAW,CAACsD,SAAS,CAACjB,aAAa,EAAE;QAAEgC,IAAI,EAAE;MAAM,CAAC,CAAC;MAEnE,IAAID,KAAK,EAAE;QACTpC,IAAI,IAAI,IAAIoC,KAAK,EAAE;MACrB;IACF;IAEAnC,OAAO,GAAG3B,KAAK,CAACD,KAAK;EACvB;;EAEA;EACA,IAAIS,OAAO,EAAEkB,IAAI,EAAE;IACjBA,IAAI,GAAG,GAAGlB,OAAO,CAACkB,IAAI,IAAIA,IAAI,EAAE;EAClC;;EAEA;EACAA,IAAI,GAAGA,IAAI,CAACsC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;EAChCtC,IAAI,GAAGA,IAAI,CAACvB,MAAM,GAAG,CAAC,GAAGuB,IAAI,CAACsC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,GAAGtC,IAAI;;EAEvD;EACA;EACA,IAAI,CAACA,IAAI,CAACuC,UAAU,CAAC,GAAG,CAAC,EAAE;IACzBvC,IAAI,GAAG,IAAIA,IAAI,EAAE;EACnB;EAEA,OAAOA,IAAI;AACb;AAEA,MAAMwC,gBAAgB,GAAGA,CACvBhD,MAA+B,EAC/BiD,WAA2B,KACZ;EACf,IAAI,OAAOjD,MAAM,KAAK,QAAQ,EAAE;IAC9B;IACA,MAAMY,KAAK,GAAGnC,eAAe,CAACuB,MAAM,CAAC;IAErC,IAAIiD,WAAW,EAAE;MACf,OAAO;QAAErC,KAAK,EAAE,CAAC,GAAGqC,WAAW,EAAE,GAAGrC,KAAK;MAAE,CAAC;IAC9C;IAEA,OAAO;MAAEA;IAAM,CAAC;EAClB;EAEA,IAAIZ,MAAM,CAACkD,KAAK,IAAIlD,MAAM,CAACQ,IAAI,KAAKiB,SAAS,EAAE;IAC7C,MAAM,IAAIvC,KAAK,CACb,sJACF,CAAC;EACH;;EAEA;EACA;EACA,MAAM0B,KAAK,GACTZ,MAAM,CAACkD,KAAK,KAAK,IAAI,GACjB,CACE,IAAID,WAAW,IAAI,EAAE,CAAC,EACtB,IAAIjD,MAAM,CAACQ,IAAI,GAAG/B,eAAe,CAACuB,MAAM,CAACQ,IAAI,CAAC,GAAG,EAAE,CAAC,CACrD,GACDR,MAAM,CAACQ,IAAI,GACT/B,eAAe,CAACuB,MAAM,CAACQ,IAAI,CAAC,GAC5BiB,SAAS;EAEjB,MAAMlC,OAAO,GACX,SAAS,IAAIS,MAAM,IAAIA,MAAM,CAACT,OAAO,GACjCI,uBAAuB,CAACK,MAAM,CAACT,OAAO,EAAEqB,KAAK,CAAC,GAC9Ca,SAAS;EAEf,OAAO;IACLb,KAAK;IACLkB,SAAS,EAAE9B,MAAM,CAAC8B,SAAS;IAC3BvC;EACF,CAAC;AACH,CAAC;AAED,MAAMI,uBAAuB,GAAGA,CAC9BL,OAA8B,EAC9BsB,KAAqB,KAErBQ,MAAM,CAACC,WAAW,CAChBD,MAAM,CAACE,OAAO,CAAChC,OAAO,CAAC,CAACS,GAAG,CAAC,CAAC,CAACE,IAAI,EAAEkD,CAAC,CAAC,KAAK;EACzC,MAAMC,MAAM,GAAGJ,gBAAgB,CAACG,CAAC,EAAEvC,KAAK,CAAC;EAEzC,OAAO,CAACX,IAAI,EAAEmD,MAAM,CAAC;AACvB,CAAC,CACH,CAAC","ignoreList":[]}
|
|
@@ -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"],"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":[]}
|
|
@@ -4,7 +4,7 @@ import escape from 'escape-string-regexp';
|
|
|
4
4
|
import queryString from 'query-string';
|
|
5
5
|
import { arrayStartsWith } from "./arrayStartsWith.js";
|
|
6
6
|
import { findFocusedRoute } from "./findFocusedRoute.js";
|
|
7
|
-
import { getPatternParts } from "./getPatternParts.js";
|
|
7
|
+
import { combinePatternParts, getPatternParts } from "./getPatternParts.js";
|
|
8
8
|
import { isArrayEqual } from "./isArrayEqual.js";
|
|
9
9
|
import { validatePathConfig } from "./validatePathConfig.js";
|
|
10
10
|
const INVALID_SCHEMA_RESULT_ERROR = 'Invalid validation result from schema. It should be an object with either "value" or "issues" property and cannot be asynchronous.';
|
|
@@ -50,13 +50,26 @@ const getValidationResult = (schema, value) => {
|
|
|
50
50
|
* @param path Path string to parse and convert, e.g. /foo/bar?count=42.
|
|
51
51
|
* @param options Extra options to fine-tune how to parse the path.
|
|
52
52
|
*/
|
|
53
|
-
export function getStateFromPath(path, options) {
|
|
53
|
+
export function getStateFromPath(path, options, previous) {
|
|
54
54
|
const {
|
|
55
55
|
initialRoutes,
|
|
56
56
|
configs,
|
|
57
|
-
configsByScreen
|
|
57
|
+
configsByScreen,
|
|
58
|
+
configsByPattern
|
|
58
59
|
} = getConfigResources(options);
|
|
59
60
|
const screens = options?.screens;
|
|
61
|
+
|
|
62
|
+
// When a matched config is shared, the same pattern can resolve to multiple branches
|
|
63
|
+
// pick the one that best matches the current navigation state
|
|
64
|
+
const resolveSharedConfig = config => {
|
|
65
|
+
if (config.shared) {
|
|
66
|
+
const candidates = configsByPattern[config.segments.join('/')];
|
|
67
|
+
if (candidates) {
|
|
68
|
+
return selectSharedConfig(config, candidates, previous, initialRoutes);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
return config;
|
|
72
|
+
};
|
|
60
73
|
let remaining = path.replace(/\/+/g, '/') // Replace multiple slash (//) with single ones
|
|
61
74
|
.replace(/^\//, '') // Remove extra leading slash
|
|
62
75
|
.replace(/\?.*$/, ''); // Remove query params which we will handle later
|
|
@@ -103,9 +116,10 @@ export function getStateFromPath(path, options) {
|
|
|
103
116
|
// When handling empty path, we should only look at the root level config
|
|
104
117
|
const match = configs.find(config => config.segments.join('/') === '');
|
|
105
118
|
if (match) {
|
|
106
|
-
|
|
119
|
+
const config = resolveSharedConfig(match);
|
|
120
|
+
return createNestedStateObject(path, config.routeNames.map(name => ({
|
|
107
121
|
name
|
|
108
|
-
})), initialRoutes,
|
|
122
|
+
})), initialRoutes, config);
|
|
109
123
|
}
|
|
110
124
|
return undefined;
|
|
111
125
|
}
|
|
@@ -117,7 +131,17 @@ export function getStateFromPath(path, options) {
|
|
|
117
131
|
if (routes === undefined) {
|
|
118
132
|
continue;
|
|
119
133
|
}
|
|
120
|
-
|
|
134
|
+
let selectedConfig = resolveSharedConfig(config);
|
|
135
|
+
let selectedRoutes = routes;
|
|
136
|
+
if (selectedConfig !== config) {
|
|
137
|
+
const rematchedRoutes = matchAgainstConfig(remaining, selectedConfig, configsByScreen);
|
|
138
|
+
if (rematchedRoutes === undefined) {
|
|
139
|
+
selectedConfig = config;
|
|
140
|
+
} else {
|
|
141
|
+
selectedRoutes = rematchedRoutes;
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
const state = createNestedStateObject(path, selectedRoutes, initialRoutes, selectedConfig);
|
|
121
145
|
if (state !== undefined) {
|
|
122
146
|
return state;
|
|
123
147
|
}
|
|
@@ -145,13 +169,16 @@ function prepareConfigResources(options) {
|
|
|
145
169
|
const configs = getSortedNormalizedConfigs(initialRoutes, options?.screens);
|
|
146
170
|
checkForDuplicatedConfigs(configs);
|
|
147
171
|
const configsByScreen = {};
|
|
172
|
+
const configsByPattern = {};
|
|
148
173
|
for (const c of configs) {
|
|
149
174
|
(configsByScreen[c.screen] ??= []).push(c);
|
|
175
|
+
(configsByPattern[c.segments.join('/')] ??= []).push(c);
|
|
150
176
|
}
|
|
151
177
|
return {
|
|
152
178
|
initialRoutes,
|
|
153
179
|
configs,
|
|
154
|
-
configsByScreen
|
|
180
|
+
configsByScreen,
|
|
181
|
+
configsByPattern
|
|
155
182
|
};
|
|
156
183
|
}
|
|
157
184
|
function getInitialRoutes(options) {
|
|
@@ -166,7 +193,10 @@ function getInitialRoutes(options) {
|
|
|
166
193
|
}
|
|
167
194
|
function getSortedNormalizedConfigs(initialRoutes, screens = {}) {
|
|
168
195
|
// Create a normalized configs array which will be easier to use
|
|
169
|
-
return [].concat(...Object.keys(screens).map(key => createNormalizedConfigs(key, screens, initialRoutes, [], [], []))).
|
|
196
|
+
return [].concat(...Object.keys(screens).map(key => createNormalizedConfigs(key, screens, initialRoutes, [], [], []))).map((config, order) => ({
|
|
197
|
+
...config,
|
|
198
|
+
order
|
|
199
|
+
})).sort((a, b) => {
|
|
170
200
|
// Sort config from most specific to least specific:
|
|
171
201
|
// - more segments
|
|
172
202
|
// - static segments
|
|
@@ -189,21 +219,24 @@ function getSortedNormalizedConfigs(initialRoutes, screens = {}) {
|
|
|
189
219
|
return 1;
|
|
190
220
|
}
|
|
191
221
|
for (let i = 0; i < Math.max(a.segments.length, b.segments.length); i++) {
|
|
222
|
+
const aSegment = a.segments[i];
|
|
223
|
+
const bSegment = b.segments[i];
|
|
224
|
+
|
|
192
225
|
// if b is longer, b gets higher priority
|
|
193
|
-
if (
|
|
226
|
+
if (aSegment == null) {
|
|
194
227
|
return 1;
|
|
195
228
|
}
|
|
196
229
|
|
|
197
230
|
// if a is longer, a gets higher priority
|
|
198
|
-
if (
|
|
231
|
+
if (bSegment == null) {
|
|
199
232
|
return -1;
|
|
200
233
|
}
|
|
201
|
-
const aWildCard =
|
|
202
|
-
const bWildCard =
|
|
203
|
-
const aParam =
|
|
204
|
-
const bParam =
|
|
205
|
-
const aRegex = aParam &&
|
|
206
|
-
const bRegex = bParam &&
|
|
234
|
+
const aWildCard = aSegment === '*';
|
|
235
|
+
const bWildCard = bSegment === '*';
|
|
236
|
+
const aParam = aSegment.startsWith(':');
|
|
237
|
+
const bParam = bSegment.startsWith(':');
|
|
238
|
+
const aRegex = aParam && aSegment.includes('(');
|
|
239
|
+
const bRegex = bParam && bSegment.includes('(');
|
|
207
240
|
|
|
208
241
|
// if both are wildcard or regex, we compare next component
|
|
209
242
|
if (aWildCard && bWildCard || aRegex && bRegex) {
|
|
@@ -254,8 +287,8 @@ function checkForDuplicatedConfigs(configs) {
|
|
|
254
287
|
// It's not a problem if the path string omitted from a inner most screen
|
|
255
288
|
// For example, it's ok if a path resolves to `A > B > C` or `A > B`
|
|
256
289
|
const intersects = a.length > b.length ? b.every((it, i) => a[i] === it) : a.every((it, i) => b[i] === it);
|
|
257
|
-
if (!intersects) {
|
|
258
|
-
throw new Error(`Found conflicting screens with the same pattern. The pattern '${pattern}' resolves to both '${a.join(' > ')}' and '${b.join(' > ')}'. Patterns must be unique and cannot resolve to more than one screen.`);
|
|
290
|
+
if (!intersects && (!acc[pattern].shared || !config.shared)) {
|
|
291
|
+
throw new Error(`Found conflicting screens with the same pattern. The pattern '${pattern}' resolves to both '${a.join(' > ')}' and '${b.join(' > ')}'. Patterns must be unique and cannot resolve to more than one screen unless shared: true is specified.`);
|
|
259
292
|
}
|
|
260
293
|
}
|
|
261
294
|
return Object.assign(acc, {
|
|
@@ -273,9 +306,10 @@ const matchAgainstConfig = (remaining, config, configsByScreen) => {
|
|
|
273
306
|
}
|
|
274
307
|
let validationFailed = false;
|
|
275
308
|
const matchedRoutes = [];
|
|
276
|
-
for (const routeName of config.routeNames) {
|
|
277
|
-
// Check matching name
|
|
278
|
-
|
|
309
|
+
for (const [index, routeName] of config.routeNames.entries()) {
|
|
310
|
+
// Check matching name, route names and pattern in case same screen is used
|
|
311
|
+
// at different levels or branches in config
|
|
312
|
+
const routeConfig = configsByScreen[routeName]?.find(c => index === c.routeNames.length - 1 && arrayStartsWith(config.routeNames, c.routeNames) && arrayStartsWith(config.segments, c.segments));
|
|
279
313
|
let params;
|
|
280
314
|
if (routeConfig && match.groups) {
|
|
281
315
|
const paramEntries = [];
|
|
@@ -340,59 +374,47 @@ const matchAgainstConfig = (remaining, config, configsByScreen) => {
|
|
|
340
374
|
}
|
|
341
375
|
return matchedRoutes;
|
|
342
376
|
};
|
|
343
|
-
const createNormalizedConfigs = (screen, routeConfig, initials,
|
|
377
|
+
const createNormalizedConfigs = (screen, routeConfig, initials, parts, parentScreens, routeNames) => {
|
|
344
378
|
const configs = [];
|
|
345
379
|
routeNames.push(screen);
|
|
346
380
|
parentScreens.push(screen);
|
|
347
381
|
const config = routeConfig[screen];
|
|
348
382
|
if (typeof config === 'string') {
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
});
|
|
353
|
-
configs.push(createConfigItem(screen, [...routeNames],
|
|
383
|
+
const configParts = combinePatternParts(parts, getPatternParts(config).map(part => ({
|
|
384
|
+
...part,
|
|
385
|
+
screen
|
|
386
|
+
})));
|
|
387
|
+
configs.push(createConfigItem(screen, [...routeNames], configParts));
|
|
354
388
|
} else if (typeof config === 'object') {
|
|
355
389
|
// if an object is specified as the value (e.g. Foo: { ... }),
|
|
356
390
|
// it can have `path` property and
|
|
357
391
|
// it could have `screens` prop which has nested configs
|
|
358
392
|
const nestedScreens = 'screens' in config ? config.screens : undefined;
|
|
359
393
|
const hasNestedScreens = !!nestedScreens;
|
|
394
|
+
const currentParts = typeof config.path === 'string' ? combinePatternParts(parts, getPatternParts(config.path).map(part => ({
|
|
395
|
+
...part,
|
|
396
|
+
screen
|
|
397
|
+
})), config.exact) : parts;
|
|
360
398
|
if (typeof config.path === 'string') {
|
|
361
|
-
if (config.exact && config.path == null) {
|
|
362
|
-
throw new Error(`Screen '${screen}' doesn't specify a 'path'. A 'path' needs to be specified when specifying 'exact: true'. If you don't want this screen in the URL, specify it as empty string, e.g. \`path: ''\`.`);
|
|
363
|
-
}
|
|
364
|
-
|
|
365
399
|
// We should add alias configs after the main config
|
|
366
400
|
// So unless they are more specific, main config will be matched first
|
|
367
401
|
const aliasConfigs = [];
|
|
368
402
|
if (config.alias) {
|
|
369
403
|
for (const alias of config.alias) {
|
|
370
404
|
if (typeof alias === 'string') {
|
|
371
|
-
aliasConfigs.push(createConfigItem(screen, [...routeNames],
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
}
|
|
405
|
+
aliasConfigs.push(createConfigItem(screen, [...routeNames], combinePatternParts(parts, getPatternParts(alias).map(part => ({
|
|
406
|
+
...part,
|
|
407
|
+
screen
|
|
408
|
+
}))), config.parse, hasNestedScreens, false));
|
|
375
409
|
} else if (typeof alias === 'object') {
|
|
376
|
-
aliasConfigs.push(createConfigItem(screen, [...routeNames], alias.
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
}
|
|
380
|
-
screen,
|
|
381
|
-
path: alias.path
|
|
382
|
-
}], alias.parse, hasNestedScreens));
|
|
410
|
+
aliasConfigs.push(createConfigItem(screen, [...routeNames], combinePatternParts(parts, getPatternParts(alias.path).map(part => ({
|
|
411
|
+
...part,
|
|
412
|
+
screen
|
|
413
|
+
})), alias.exact), alias.parse, hasNestedScreens, alias.shared === true));
|
|
383
414
|
}
|
|
384
415
|
}
|
|
385
416
|
}
|
|
386
|
-
|
|
387
|
-
// If it's an exact path, we don't need to keep track of the parent screens
|
|
388
|
-
// So we can clear it
|
|
389
|
-
paths.length = 0;
|
|
390
|
-
}
|
|
391
|
-
paths.push({
|
|
392
|
-
screen,
|
|
393
|
-
path: config.path
|
|
394
|
-
});
|
|
395
|
-
configs.push(createConfigItem(screen, [...routeNames], [...paths], config.parse, hasNestedScreens));
|
|
417
|
+
configs.push(createConfigItem(screen, [...routeNames], currentParts, config.parse, hasNestedScreens, config.shared === true));
|
|
396
418
|
configs.push(...aliasConfigs);
|
|
397
419
|
}
|
|
398
420
|
if (typeof config !== 'string' && typeof config.path !== 'string' && config.alias?.length) {
|
|
@@ -407,7 +429,7 @@ const createNormalizedConfigs = (screen, routeConfig, initials, paths, parentScr
|
|
|
407
429
|
});
|
|
408
430
|
}
|
|
409
431
|
Object.keys(nestedScreens).forEach(nestedConfig => {
|
|
410
|
-
const result = createNormalizedConfigs(nestedConfig, nestedScreens, initials,
|
|
432
|
+
const result = createNormalizedConfigs(nestedConfig, nestedScreens, initials, currentParts, [...parentScreens], routeNames);
|
|
411
433
|
configs.push(...result);
|
|
412
434
|
});
|
|
413
435
|
}
|
|
@@ -415,19 +437,7 @@ const createNormalizedConfigs = (screen, routeConfig, initials, paths, parentScr
|
|
|
415
437
|
routeNames.pop();
|
|
416
438
|
return configs;
|
|
417
439
|
};
|
|
418
|
-
const createConfigItem = (screen, routeNames,
|
|
419
|
-
const parts = [];
|
|
420
|
-
|
|
421
|
-
// Parse the path string into parts for easier matching
|
|
422
|
-
for (const {
|
|
423
|
-
screen,
|
|
424
|
-
path
|
|
425
|
-
} of paths) {
|
|
426
|
-
parts.push(...getPatternParts(path).map(part => ({
|
|
427
|
-
...part,
|
|
428
|
-
screen
|
|
429
|
-
})));
|
|
430
|
-
}
|
|
440
|
+
const createConfigItem = (screen, routeNames, parts, parse, hasNestedScreens = false, shared = false) => {
|
|
431
441
|
const regex = parts.length ? new RegExp(`^(${parts.map((it, i) => {
|
|
432
442
|
if (it.param) {
|
|
433
443
|
const reg = it.regex || '[^/]+';
|
|
@@ -443,14 +453,72 @@ const createConfigItem = (screen, routeNames, paths, parse, hasNestedScreens = f
|
|
|
443
453
|
} : null).filter(it => it != null);
|
|
444
454
|
return {
|
|
445
455
|
screen,
|
|
456
|
+
order: 0,
|
|
446
457
|
regex,
|
|
447
458
|
segments,
|
|
448
459
|
params,
|
|
449
460
|
routeNames,
|
|
450
461
|
parse,
|
|
451
462
|
explicitParamNames: getExplicitParamNames(parse),
|
|
452
|
-
hasNestedScreens
|
|
463
|
+
hasNestedScreens,
|
|
464
|
+
shared
|
|
465
|
+
};
|
|
466
|
+
};
|
|
467
|
+
const selectSharedConfig = (match, candidates, previous, initialRoutes) => {
|
|
468
|
+
// Walk the previous state down to the focused leaf to get the active route path
|
|
469
|
+
const focusedRouteNames = [];
|
|
470
|
+
let current = previous;
|
|
471
|
+
while (current?.routes.length) {
|
|
472
|
+
const index = typeof current.index === 'number' ? current.index : current.routes.length - 1;
|
|
473
|
+
const route = current.routes[index];
|
|
474
|
+
if (route == null) {
|
|
475
|
+
break;
|
|
476
|
+
}
|
|
477
|
+
focusedRouteNames.push(route.name);
|
|
478
|
+
current = route.state;
|
|
479
|
+
}
|
|
480
|
+
|
|
481
|
+
// Rank a candidate by how far it aligns with the focused path, then by
|
|
482
|
+
// how many of its levels match a configured initial route
|
|
483
|
+
const score = routeNames => {
|
|
484
|
+
let focused = 0;
|
|
485
|
+
while (routeNames[focused] !== undefined && routeNames[focused] === focusedRouteNames[focused]) {
|
|
486
|
+
focused++;
|
|
487
|
+
}
|
|
488
|
+
let initial = 0;
|
|
489
|
+
for (const config of initialRoutes) {
|
|
490
|
+
if (arrayStartsWith(routeNames, config.parentScreens) && routeNames[config.parentScreens.length] === config.initialRouteName) {
|
|
491
|
+
initial++;
|
|
492
|
+
}
|
|
493
|
+
}
|
|
494
|
+
return {
|
|
495
|
+
focused,
|
|
496
|
+
initial
|
|
497
|
+
};
|
|
498
|
+
};
|
|
499
|
+
let selected = match;
|
|
500
|
+
let best = {
|
|
501
|
+
focused: -1,
|
|
502
|
+
initial: -1
|
|
453
503
|
};
|
|
504
|
+
for (const candidate of candidates) {
|
|
505
|
+
if (!candidate.shared) {
|
|
506
|
+
continue;
|
|
507
|
+
}
|
|
508
|
+
const {
|
|
509
|
+
focused,
|
|
510
|
+
initial
|
|
511
|
+
} = score(candidate.routeNames);
|
|
512
|
+
const better = focused !== best.focused ? focused > best.focused : initial !== best.initial ? initial > best.initial : candidate.order < selected.order;
|
|
513
|
+
if (better) {
|
|
514
|
+
selected = candidate;
|
|
515
|
+
best = {
|
|
516
|
+
focused,
|
|
517
|
+
initial
|
|
518
|
+
};
|
|
519
|
+
}
|
|
520
|
+
}
|
|
521
|
+
return selected;
|
|
454
522
|
};
|
|
455
523
|
|
|
456
524
|
// Try to find an initial route connected with the one passed
|
|
@@ -459,7 +527,9 @@ const findInitialRoute = (routeName, parentScreens, initialRoutes) => {
|
|
|
459
527
|
if (parentScreens.length === config.parentScreens.length) {
|
|
460
528
|
let sameParents = true;
|
|
461
529
|
for (let i = 0; i < parentScreens.length; i++) {
|
|
462
|
-
|
|
530
|
+
const parentScreen = parentScreens[i];
|
|
531
|
+
const configParentScreen = config.parentScreens[i];
|
|
532
|
+
if (parentScreen == null || configParentScreen == null || parentScreen.localeCompare(configParentScreen) !== 0) {
|
|
463
533
|
sameParents = false;
|
|
464
534
|
break;
|
|
465
535
|
}
|
|
@@ -515,32 +585,48 @@ const createStateObject = (initialRoute, route, isEmpty) => {
|
|
|
515
585
|
};
|
|
516
586
|
const createNestedStateObject = (path, routes, initialRoutes, routeConfig) => {
|
|
517
587
|
let route = routes.shift();
|
|
588
|
+
if (route == null) {
|
|
589
|
+
return undefined;
|
|
590
|
+
}
|
|
518
591
|
const parentScreens = [];
|
|
519
592
|
let initialRoute = findInitialRoute(route.name, parentScreens, initialRoutes);
|
|
520
593
|
parentScreens.push(route.name);
|
|
521
594
|
const state = createStateObject(initialRoute, route, routes.length === 0);
|
|
522
595
|
if (routes.length > 0) {
|
|
523
596
|
let nestedState = state;
|
|
524
|
-
|
|
597
|
+
let nextRoute = routes.shift();
|
|
598
|
+
while (nextRoute != null) {
|
|
599
|
+
route = nextRoute;
|
|
525
600
|
initialRoute = findInitialRoute(route.name, parentScreens, initialRoutes);
|
|
526
601
|
const nestedStateIndex = nestedState.index || nestedState.routes.length - 1;
|
|
527
|
-
nestedState.routes[nestedStateIndex]
|
|
602
|
+
const nestedRoute = nestedState.routes[nestedStateIndex];
|
|
603
|
+
if (nestedRoute == null) {
|
|
604
|
+
throw new Error(`Couldn't find a route at index ${nestedStateIndex}.`);
|
|
605
|
+
}
|
|
606
|
+
nestedRoute.state = createStateObject(initialRoute, route, routes.length === 0);
|
|
528
607
|
if (routes.length > 0) {
|
|
529
|
-
|
|
608
|
+
if (nestedRoute.state == null) {
|
|
609
|
+
throw new Error(`Couldn't find nested state for route '${route.name}'.`);
|
|
610
|
+
}
|
|
611
|
+
nestedState = nestedRoute.state;
|
|
530
612
|
}
|
|
531
613
|
parentScreens.push(route.name);
|
|
614
|
+
nextRoute = routes.shift();
|
|
532
615
|
}
|
|
533
616
|
}
|
|
534
|
-
|
|
535
|
-
|
|
617
|
+
const focusedRoute = findFocusedRoute(state);
|
|
618
|
+
if (focusedRoute == null) {
|
|
619
|
+
return undefined;
|
|
620
|
+
}
|
|
621
|
+
focusedRoute.path = path.replace(/\/$/, '');
|
|
536
622
|
const pathParamNames = new Set(routeConfig?.params.filter(param => param.screen === routeConfig.screen && typeof param.name === 'string').map(param => param.name));
|
|
537
|
-
const queryParams = parseQueryParams(path, routeConfig?.parse, pathParamNames, routeConfig?.explicitParamNames, routeConfig?.hasNestedScreens,
|
|
623
|
+
const queryParams = parseQueryParams(path, routeConfig?.parse, pathParamNames, routeConfig?.explicitParamNames, routeConfig?.hasNestedScreens, focusedRoute.params);
|
|
538
624
|
if (!queryParams.valid) {
|
|
539
625
|
return undefined;
|
|
540
626
|
}
|
|
541
627
|
if (queryParams.params) {
|
|
542
|
-
|
|
543
|
-
...
|
|
628
|
+
focusedRoute.params = {
|
|
629
|
+
...focusedRoute.params,
|
|
544
630
|
...queryParams.params
|
|
545
631
|
};
|
|
546
632
|
}
|
|
@@ -548,7 +634,7 @@ const createNestedStateObject = (path, routes, initialRoutes, routeConfig) => {
|
|
|
548
634
|
};
|
|
549
635
|
const parseQueryParams = (path, parseConfig, pathParamNames = new Set(), explicitParamNames, hasNestedScreens = false, routeParams) => {
|
|
550
636
|
const query = path.split('?')[1];
|
|
551
|
-
const params = queryString.parse(query);
|
|
637
|
+
const params = query ? queryString.parse(query) : {};
|
|
552
638
|
|
|
553
639
|
// Path params should always win over same-named query params.
|
|
554
640
|
for (const name of pathParamNames) {
|
|
@@ -599,7 +685,7 @@ const parseQueryParams = (path, parseConfig, pathParamNames = new Set(), explici
|
|
|
599
685
|
throw new Error(INVALID_PARSER_ERROR);
|
|
600
686
|
}
|
|
601
687
|
}
|
|
602
|
-
if (hasNestedScreens && !explicitParamNames?.has('screen') && (typeof params.screen === 'string' || typeof routeParams
|
|
688
|
+
if (hasNestedScreens && !explicitParamNames?.has('screen') && (typeof params.screen === 'string' || routeParams != null && 'screen' in routeParams && typeof routeParams.screen === 'string')) {
|
|
603
689
|
for (const name of NESTED_SCREEN_PARAM_NAMES) {
|
|
604
690
|
if (!explicitParamNames?.has(name)) {
|
|
605
691
|
// eslint-disable-next-line @typescript-eslint/no-dynamic-delete
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["escape","queryString","arrayStartsWith","findFocusedRoute","getPatternParts","isArrayEqual","validatePathConfig","INVALID_SCHEMA_RESULT_ERROR","INVALID_PARSER_ERROR","PARAM_GROUP_PREFIX","NESTED_SCREEN_PARAM_NAMES","getExplicitParamNames","parse","names","Object","entries","filter","parser","map","name","length","Set","undefined","getStandardSchema","version","validate","getValidationResult","schema","value","result","Array","isArray","issues","Error","getStateFromPath","path","options","initialRoutes","configs","configsByScreen","getConfigResources","screens","remaining","replace","endsWith","prefix","normalizedPrefix","startsWith","decodedSegments","segment","split","push","decodeURIComponent","routes","createNestedStateObject","match","find","config","segments","join","routeNames","matchAgainstConfig","state","cachedConfigResources","WeakMap","prepareConfigResources","cached","get","resources","set","getInitialRoutes","getSortedNormalizedConfigs","checkForDuplicatedConfigs","c","screen","initialRouteName","parentScreens","concat","keys","key","createNormalizedConfigs","sort","a","b","localeCompare","i","Math","max","aWildCard","bWildCard","aParam","bParam","aRegex","includes","bRegex","reduce","acc","pattern","intersects","every","it","assign","regex","validationFailed","matchedRoutes","routeName","routeConfig","params","groups","paramEntries","index","Number","param","decoded","fromEntries","initials","paths","createConfigItem","nestedScreens","hasNestedScreens","exact","aliasConfigs","alias","forEach","nestedConfig","pop","parts","part","RegExp","reg","optional","explicitParamNames","findInitialRoute","sameParents","createStateObject","initialRoute","route","isEmpty","shift","nestedState","nestedStateIndex","pathParamNames","queryParams","parseQueryParams","valid","parseConfig","routeParams","query","has","hasOwn"],"sourceRoot":"../../src","sources":["getStateFromPath.tsx"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["escape","queryString","arrayStartsWith","findFocusedRoute","combinePatternParts","getPatternParts","isArrayEqual","validatePathConfig","INVALID_SCHEMA_RESULT_ERROR","INVALID_PARSER_ERROR","PARAM_GROUP_PREFIX","NESTED_SCREEN_PARAM_NAMES","getExplicitParamNames","parse","names","Object","entries","filter","parser","map","name","length","Set","undefined","getStandardSchema","version","validate","getValidationResult","schema","value","result","Array","isArray","issues","Error","getStateFromPath","path","options","previous","initialRoutes","configs","configsByScreen","configsByPattern","getConfigResources","screens","resolveSharedConfig","config","shared","candidates","segments","join","selectSharedConfig","remaining","replace","endsWith","prefix","normalizedPrefix","startsWith","decodedSegments","segment","split","push","decodeURIComponent","routes","createNestedStateObject","match","find","routeNames","matchAgainstConfig","selectedConfig","selectedRoutes","rematchedRoutes","state","cachedConfigResources","WeakMap","prepareConfigResources","cached","get","resources","set","getInitialRoutes","getSortedNormalizedConfigs","checkForDuplicatedConfigs","c","screen","initialRouteName","parentScreens","concat","keys","key","createNormalizedConfigs","order","sort","a","b","localeCompare","i","Math","max","aSegment","bSegment","aWildCard","bWildCard","aParam","bParam","aRegex","includes","bRegex","reduce","acc","pattern","intersects","every","it","assign","regex","validationFailed","matchedRoutes","index","routeName","routeConfig","params","groups","paramEntries","Number","param","decoded","fromEntries","initials","parts","configParts","part","createConfigItem","nestedScreens","hasNestedScreens","currentParts","exact","aliasConfigs","alias","forEach","nestedConfig","pop","RegExp","reg","optional","explicitParamNames","focusedRouteNames","current","route","score","focused","initial","selected","best","candidate","better","findInitialRoute","sameParents","parentScreen","configParentScreen","createStateObject","initialRoute","isEmpty","shift","nestedState","nextRoute","nestedStateIndex","nestedRoute","focusedRoute","pathParamNames","queryParams","parseQueryParams","valid","parseConfig","routeParams","query","has","hasOwn"],"sourceRoot":"../../src","sources":["getStateFromPath.tsx"],"mappings":"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","ignoreList":[]}
|
package/lib/module/index.js
CHANGED
|
@@ -19,7 +19,7 @@ export { createPathConfigForStaticNavigation, createScreenFactory } from "./Stat
|
|
|
19
19
|
export { ThemeContext } from "./theming/ThemeContext.js";
|
|
20
20
|
export { ThemeProvider } from "./theming/ThemeProvider.js";
|
|
21
21
|
export { useTheme } from "./theming/useTheme.js";
|
|
22
|
-
export
|
|
22
|
+
export { PrivateValueStore } from "./types.js";
|
|
23
23
|
export { useFocusEffect } from "./useFocusEffect.js";
|
|
24
24
|
export { IsFocusedContext, useIsFocused } from "./useIsFocused.js";
|
|
25
25
|
export { useNavigation } from "./useNavigation.js";
|