{"dependencies":[{"name":"@react-navigation/core","data":{"asyncType":null,"isESMImport":true,"locs":[{"start":{"line":3,"column":0,"index":15},"end":{"line":3,"column":196,"index":211}}],"key":"Wm75LgE4xYscVWo0KoLFlflJQCo=","exportNames":["*"],"imports":1}},{"name":"react","data":{"asyncType":null,"isESMImport":true,"locs":[{"start":{"line":4,"column":0,"index":212},"end":{"line":4,"column":31,"index":243}}],"key":"RtGiGa+/H7VrI7GDQDLhO1UbpU8=","exportNames":["*"],"imports":1}},{"name":"./LinkingContext.js","data":{"asyncType":null,"isESMImport":true,"locs":[{"start":{"line":5,"column":0,"index":244},"end":{"line":5,"column":53,"index":297}}],"key":"r/0Yvi+HouDAqn4vN4m4I6AMfEI=","exportNames":["*"],"imports":1}}],"output":[{"data":{"code":"__d(function (global, require, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {\n \"use strict\";\n\n Object.defineProperty(exports, '__esModule', {\n value: true\n });\n function _interopNamespace(e) {\n if (e && e.__esModule) return e;\n var n = {};\n if (e) Object.keys(e).forEach(function (k) {\n var d = Object.getOwnPropertyDescriptor(e, k);\n Object.defineProperty(n, k, d.get ? d : {\n enumerable: true,\n get: function () {\n return e[k];\n }\n });\n });\n n.default = e;\n return n;\n }\n exports.useLinkBuilder = useLinkBuilder;\n var _reactNavigationCore = require(_dependencyMap[0], \"@react-navigation/core\");\n var _react = require(_dependencyMap[1], \"react\");\n var React = _interopNamespace(_react);\n var _LinkingContextJs = require(_dependencyMap[2], \"./LinkingContext.js\");\n /**\n * Helpers to build href or action based on the linking options.\n *\n * @returns `buildHref` to build an `href` for screen and `buildAction` to build an action from an `href`.\n */\n function useLinkBuilder() {\n var navigation = React.useContext(_reactNavigationCore.NavigationHelpersContext);\n var route = React.useContext(_reactNavigationCore.NavigationRouteContext);\n var _React$useContext = React.useContext(_LinkingContextJs.LinkingContext),\n options = _React$useContext.options;\n var focusedRouteState = (0, _reactNavigationCore.useStateForPath)();\n var getPathFromStateHelper = options?.getPathFromState ?? _reactNavigationCore.getPathFromState;\n var getStateFromPathHelper = options?.getStateFromPath ?? _reactNavigationCore.getStateFromPath;\n var getActionFromStateHelper = options?.getActionFromState ?? _reactNavigationCore.getActionFromState;\n var buildHref = React.useCallback((name, params) => {\n if (options?.enabled === false) {\n return undefined;\n }\n\n // Check that we're inside:\n // - navigator's context\n // - route context of the navigator (could be a screen, tab, etc.)\n // - route matches the state for path (from the screen's context)\n // This ensures that we're inside a screen\n var isScreen = navigation && route?.key && focusedRouteState ? route.key === (0, _reactNavigationCore.findFocusedRoute)(focusedRouteState)?.key && navigation.getState().routes.some(r => r.key === route.key) : false;\n var stateForRoute = {\n routes: [{\n name,\n params\n }]\n };\n var constructState = state => {\n if (state) {\n var _route = state.routes[0];\n\n // If we're inside a screen and at the innermost route\n // We need to replace the state with the provided one\n // This assumes that we're navigating to a sibling route\n if (isScreen && !_route.state) {\n return stateForRoute;\n }\n\n // Otherwise, dive into the nested state of the route\n return {\n routes: [{\n ..._route,\n state: constructState(_route.state)\n }]\n };\n }\n\n // Once there is no more nested state, we're at the innermost route\n // We can add a state based on provided parameters\n // This assumes that we're navigating to a child of this route\n // In this case, the helper is used in a navigator for its routes\n return stateForRoute;\n };\n var state = constructState(focusedRouteState);\n var path = getPathFromStateHelper(state, options?.config);\n return path;\n }, [options?.enabled, options?.config, route?.key, navigation, focusedRouteState, getPathFromStateHelper]);\n var buildAction = React.useCallback(href => {\n if (!href.startsWith('/')) {\n throw new Error(`The href must start with '/' (${href}).`);\n }\n var state = getStateFromPathHelper(href, options?.config);\n if (state) {\n var action = getActionFromStateHelper(state, options?.config);\n return action ?? _reactNavigationCore.CommonActions.reset(state);\n } else {\n throw new Error('Failed to parse the href to a navigation state.');\n }\n }, [options?.config, getStateFromPathHelper, getActionFromStateHelper]);\n return {\n buildHref,\n buildAction\n };\n }\n});","lineCount":105,"map":[[2,2,1,0],[2,14,1,12],[4,2,1,13,"Object"],[4,8,1,13],[4,9,1,13,"defineProperty"],[4,23,1,13],[4,24,1,13,"exports"],[4,31,1,13],[5,4,1,13,"value"],[5,9,1,13],[6,2,1,13],[7,2,1,13],[7,11,1,13,"_interopNamespace"],[7,29,1,13,"e"],[7,30,1,13],[8,4,1,13],[8,8,1,13,"e"],[8,9,1,13],[8,13,1,13,"e"],[8,14,1,13],[8,15,1,13,"__esModule"],[8,25,1,13],[8,34,1,13,"e"],[8,35,1,13],[9,4,1,13],[9,8,1,13,"n"],[9,9,1,13],[10,4,1,13],[10,8,1,13,"e"],[10,9,1,13],[10,11,1,13,"Object"],[10,17,1,13],[10,18,1,13,"keys"],[10,22,1,13],[10,23,1,13,"e"],[10,24,1,13],[10,26,1,13,"forEach"],[10,33,1,13],[10,44,1,13,"k"],[10,45,1,13],[11,6,1,13],[11,10,1,13,"d"],[11,11,1,13],[11,14,1,13,"Object"],[11,20,1,13],[11,21,1,13,"getOwnPropertyDescriptor"],[11,45,1,13],[11,46,1,13,"e"],[11,47,1,13],[11,49,1,13,"k"],[11,50,1,13],[12,6,1,13,"Object"],[12,12,1,13],[12,13,1,13,"defineProperty"],[12,27,1,13],[12,28,1,13,"n"],[12,29,1,13],[12,31,1,13,"k"],[12,32,1,13],[12,34,1,13,"d"],[12,35,1,13],[12,36,1,13,"get"],[12,39,1,13],[12,42,1,13,"d"],[12,43,1,13],[13,8,1,13,"enumerable"],[13,18,1,13],[14,8,1,13,"get"],[14,11,1,13],[14,22,1,13,"get"],[14,23,1,13],[15,10,1,13],[15,17,1,13,"e"],[15,18,1,13],[15,19,1,13,"k"],[15,20,1,13],[16,8,1,13],[17,6,1,13],[18,4,1,13],[19,4,1,13,"n"],[19,5,1,13],[19,6,1,13,"default"],[19,13,1,13],[19,16,1,13,"e"],[19,17,1,13],[20,4,1,13],[20,11,1,13,"n"],[20,12,1,13],[21,2,1,13],[22,2,11,0,"exports"],[22,9,11,0],[22,10,11,0,"useLinkBuilder"],[22,24,11,0],[22,27,11,0,"useLinkBuilder"],[22,41,11,0],[23,2,3,0],[23,6,3,0,"_reactNavigationCore"],[23,26,3,0],[23,29,3,0,"require"],[23,36,3,0],[23,37,3,0,"_dependencyMap"],[23,51,3,0],[24,2,4,0],[24,6,4,0,"_react"],[24,12,4,0],[24,15,4,0,"require"],[24,22,4,0],[24,23,4,0,"_dependencyMap"],[24,37,4,0],[25,2,4,0],[25,6,4,0,"React"],[25,11,4,0],[25,14,4,0,"_interopNamespace"],[25,31,4,0],[25,32,4,0,"_react"],[25,38,4,0],[26,2,5,0],[26,6,5,0,"_LinkingContextJs"],[26,23,5,0],[26,26,5,0,"require"],[26,33,5,0],[26,34,5,0,"_dependencyMap"],[26,48,5,0],[27,2,6,0],[28,0,7,0],[29,0,8,0],[30,0,9,0],[31,0,10,0],[32,2,11,7],[32,11,11,16,"useLinkBuilder"],[32,25,11,30,"useLinkBuilder"],[32,26,11,30],[32,28,11,33],[33,4,12,2],[33,8,12,8,"navigation"],[33,18,12,18],[33,21,12,21,"React"],[33,26,12,26],[33,27,12,27,"useContext"],[33,37,12,37],[33,38,12,38,"NavigationHelpersContext"],[33,58,12,62],[33,59,12,62,"NavigationHelpersContext"],[33,83,12,62],[33,84,12,63],[34,4,13,2],[34,8,13,8,"route"],[34,13,13,13],[34,16,13,16,"React"],[34,21,13,21],[34,22,13,22,"useContext"],[34,32,13,32],[34,33,13,33,"NavigationRouteContext"],[34,53,13,55],[34,54,13,55,"NavigationRouteContext"],[34,76,13,55],[34,77,13,56],[35,4,14,2],[35,8,14,2,"_React$useContext"],[35,25,14,2],[35,28,16,6,"React"],[35,33,16,11],[35,34,16,12,"useContext"],[35,44,16,22],[35,45,16,23,"LinkingContext"],[35,62,16,37],[35,63,16,37,"LinkingContext"],[35,77,16,37],[35,78,16,38],[36,6,15,4,"options"],[36,13,15,11],[36,16,15,11,"_React$useContext"],[36,33,15,11],[36,34,15,4,"options"],[36,41,15,11],[37,4,17,2],[37,8,17,8,"focusedRouteState"],[37,25,17,25],[37,28,17,28],[37,32,17,28,"useStateForPath"],[37,52,17,43],[37,53,17,43,"useStateForPath"],[37,68,17,43],[37,70,17,44],[37,71,17,45],[38,4,18,2],[38,8,18,8,"getPathFromStateHelper"],[38,30,18,30],[38,33,18,33,"options"],[38,40,18,40],[38,42,18,42,"getPathFromState"],[38,58,18,58],[38,62,18,62,"getPathFromState"],[38,82,18,78],[38,83,18,78,"getPathFromState"],[38,99,18,78],[39,4,19,2],[39,8,19,8,"getStateFromPathHelper"],[39,30,19,30],[39,33,19,33,"options"],[39,40,19,40],[39,42,19,42,"getStateFromPath"],[39,58,19,58],[39,62,19,62,"getStateFromPath"],[39,82,19,78],[39,83,19,78,"getStateFromPath"],[39,99,19,78],[40,4,20,2],[40,8,20,8,"getActionFromStateHelper"],[40,32,20,32],[40,35,20,35,"options"],[40,42,20,42],[40,44,20,44,"getActionFromState"],[40,62,20,62],[40,66,20,66,"getActionFromState"],[40,86,20,84],[40,87,20,84,"getActionFromState"],[40,105,20,84],[41,4,21,2],[41,8,21,8,"buildHref"],[41,17,21,17],[41,20,21,20,"React"],[41,25,21,25],[41,26,21,26,"useCallback"],[41,37,21,37],[41,38,21,38],[41,39,21,39,"name"],[41,43,21,43],[41,45,21,45,"params"],[41,51,21,51],[41,56,21,56],[42,6,22,4],[42,10,22,8,"options"],[42,17,22,15],[42,19,22,17,"enabled"],[42,26,22,24],[42,31,22,29],[42,36,22,34],[42,38,22,36],[43,8,23,6],[43,15,23,13,"undefined"],[43,24,23,22],[44,6,24,4],[46,6,26,4],[47,6,27,4],[48,6,28,4],[49,6,29,4],[50,6,30,4],[51,6,31,4],[51,10,31,10,"isScreen"],[51,18,31,18],[51,21,31,21,"navigation"],[51,31,31,31],[51,35,31,35,"route"],[51,40,31,40],[51,42,31,42,"key"],[51,45,31,45],[51,49,31,49,"focusedRouteState"],[51,66,31,66],[51,69,31,69,"route"],[51,74,31,74],[51,75,31,75,"key"],[51,78,31,78],[51,83,31,83],[51,87,31,83,"findFocusedRoute"],[51,107,31,99],[51,108,31,99,"findFocusedRoute"],[51,124,31,99],[51,126,31,100,"focusedRouteState"],[51,143,31,117],[51,144,31,118],[51,146,31,120,"key"],[51,149,31,123],[51,153,31,127,"navigation"],[51,163,31,137],[51,164,31,138,"getState"],[51,172,31,146],[51,173,31,147],[51,174,31,148],[51,175,31,149,"routes"],[51,181,31,155],[51,182,31,156,"some"],[51,186,31,160],[51,187,31,161,"r"],[51,188,31,162],[51,192,31,166,"r"],[51,193,31,167],[51,194,31,168,"key"],[51,197,31,171],[51,202,31,176,"route"],[51,207,31,181],[51,208,31,182,"key"],[51,211,31,185],[51,212,31,186],[51,215,31,189],[51,220,31,194],[52,6,32,4],[52,10,32,10,"stateForRoute"],[52,23,32,23],[52,26,32,26],[53,8,33,6,"routes"],[53,14,33,12],[53,16,33,14],[53,17,33,15],[54,10,34,8,"name"],[54,14,34,12],[55,10,35,8,"params"],[56,8,36,6],[56,9,36,7],[57,6,37,4],[57,7,37,5],[58,6,38,4],[58,10,38,10,"constructState"],[58,24,38,24],[58,27,38,27,"state"],[58,32,38,32],[58,36,38,36],[59,8,39,6],[59,12,39,10,"state"],[59,17,39,15],[59,19,39,17],[60,10,40,8],[60,14,40,14,"route"],[60,20,40,19],[60,23,40,22,"state"],[60,28,40,27],[60,29,40,28,"routes"],[60,35,40,34],[60,36,40,35],[60,37,40,36],[60,38,40,37],[62,10,42,8],[63,10,43,8],[64,10,44,8],[65,10,45,8],[65,14,45,12,"isScreen"],[65,22,45,20],[65,26,45,24],[65,27,45,25,"route"],[65,33,45,30],[65,34,45,31,"state"],[65,39,45,36],[65,41,45,38],[66,12,46,10],[66,19,46,17,"stateForRoute"],[66,32,46,30],[67,10,47,8],[69,10,49,8],[70,10,50,8],[70,17,50,15],[71,12,51,10,"routes"],[71,18,51,16],[71,20,51,18],[71,21,51,19],[72,14,52,12],[72,17,52,15,"route"],[72,23,52,20],[73,14,53,12,"state"],[73,19,53,17],[73,21,53,19,"constructState"],[73,35,53,33],[73,36,53,34,"route"],[73,42,53,39],[73,43,53,40,"state"],[73,48,53,45],[74,12,54,10],[74,13,54,11],[75,10,55,8],[75,11,55,9],[76,8,56,6],[78,8,58,6],[79,8,59,6],[80,8,60,6],[81,8,61,6],[82,8,62,6],[82,15,62,13,"stateForRoute"],[82,28,62,26],[83,6,63,4],[83,7,63,5],[84,6,64,4],[84,10,64,10,"state"],[84,15,64,15],[84,18,64,18,"constructState"],[84,32,64,32],[84,33,64,33,"focusedRouteState"],[84,50,64,50],[84,51,64,51],[85,6,65,4],[85,10,65,10,"path"],[85,14,65,14],[85,17,65,17,"getPathFromStateHelper"],[85,39,65,39],[85,40,65,40,"state"],[85,45,65,45],[85,47,65,47,"options"],[85,54,65,54],[85,56,65,56,"config"],[85,62,65,62],[85,63,65,63],[86,6,66,4],[86,13,66,11,"path"],[86,17,66,15],[87,4,67,2],[87,5,67,3],[87,7,67,5],[87,8,67,6,"options"],[87,15,67,13],[87,17,67,15,"enabled"],[87,24,67,22],[87,26,67,24,"options"],[87,33,67,31],[87,35,67,33,"config"],[87,41,67,39],[87,43,67,41,"route"],[87,48,67,46],[87,50,67,48,"key"],[87,53,67,51],[87,55,67,53,"navigation"],[87,65,67,63],[87,67,67,65,"focusedRouteState"],[87,84,67,82],[87,86,67,84,"getPathFromStateHelper"],[87,108,67,106],[87,109,67,107],[87,110,67,108],[88,4,68,2],[88,8,68,8,"buildAction"],[88,19,68,19],[88,22,68,22,"React"],[88,27,68,27],[88,28,68,28,"useCallback"],[88,39,68,39],[88,40,68,40,"href"],[88,44,68,44],[88,48,68,48],[89,6,69,4],[89,10,69,8],[89,11,69,9,"href"],[89,15,69,13],[89,16,69,14,"startsWith"],[89,26,69,24],[89,27,69,25],[89,30,69,28],[89,31,69,29],[89,33,69,31],[90,8,70,6],[90,14,70,12],[90,18,70,16,"Error"],[90,23,70,21],[90,24,70,22],[90,57,70,55,"href"],[90,61,70,59],[90,65,70,63],[90,66,70,64],[91,6,71,4],[92,6,72,4],[92,10,72,10,"state"],[92,15,72,15],[92,18,72,18,"getStateFromPathHelper"],[92,40,72,40],[92,41,72,41,"href"],[92,45,72,45],[92,47,72,47,"options"],[92,54,72,54],[92,56,72,56,"config"],[92,62,72,62],[92,63,72,63],[93,6,73,4],[93,10,73,8,"state"],[93,15,73,13],[93,17,73,15],[94,8,74,6],[94,12,74,12,"action"],[94,18,74,18],[94,21,74,21,"getActionFromStateHelper"],[94,45,74,45],[94,46,74,46,"state"],[94,51,74,51],[94,53,74,53,"options"],[94,60,74,60],[94,62,74,62,"config"],[94,68,74,68],[94,69,74,69],[95,8,75,6],[95,15,75,13,"action"],[95,21,75,19],[95,25,75,23,"CommonActions"],[95,45,75,36],[95,46,75,36,"CommonActions"],[95,59,75,36],[95,60,75,37,"reset"],[95,65,75,42],[95,66,75,43,"state"],[95,71,75,48],[95,72,75,49],[96,6,76,4],[96,7,76,5],[96,13,76,11],[97,8,77,6],[97,14,77,12],[97,18,77,16,"Error"],[97,23,77,21],[97,24,77,22],[97,73,77,71],[97,74,77,72],[98,6,78,4],[99,4,79,2],[99,5,79,3],[99,7,79,5],[99,8,79,6,"options"],[99,15,79,13],[99,17,79,15,"config"],[99,23,79,21],[99,25,79,23,"getStateFromPathHelper"],[99,47,79,45],[99,49,79,47,"getActionFromStateHelper"],[99,73,79,71],[99,74,79,72],[99,75,79,73],[100,4,80,2],[100,11,80,9],[101,6,81,4,"buildHref"],[101,15,81,13],[102,6,82,4,"buildAction"],[103,4,83,2],[103,5,83,3],[104,2,84,0],[105,0,84,1],[105,3]],"functionMap":{"names":["","useLinkBuilder","buildHref","navigation.getState.routes.some$argument_0","constructState","buildAction"],"mappings":"AAA;OCU;sCCU;iKCU,wBD;2BEO;KFyB;GDI;wCIC;GJW;CDK"},"hasCjsExports":false},"type":"js/module"}]}