@tanstack/router-core 0.0.1-beta.9 → 1.20.3-alpha.1

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 (194) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +5 -0
  3. package/dist/cjs/Matches.cjs +13 -0
  4. package/dist/cjs/Matches.cjs.map +1 -0
  5. package/dist/cjs/Matches.d.cts +109 -0
  6. package/dist/cjs/RouterProvider.d.cts +26 -0
  7. package/dist/cjs/defer.cjs +25 -0
  8. package/dist/cjs/defer.cjs.map +1 -0
  9. package/dist/cjs/defer.d.cts +20 -0
  10. package/dist/cjs/fileRoute.d.cts +23 -0
  11. package/dist/cjs/history.d.cts +8 -0
  12. package/dist/cjs/index.cjs +80 -0
  13. package/dist/cjs/index.cjs.map +1 -0
  14. package/dist/cjs/index.d.cts +41 -0
  15. package/dist/cjs/link.cjs +5 -0
  16. package/dist/cjs/link.cjs.map +1 -0
  17. package/dist/cjs/link.d.cts +200 -0
  18. package/dist/cjs/location.d.cts +12 -0
  19. package/dist/cjs/manifest.d.cts +24 -0
  20. package/dist/cjs/not-found.cjs +13 -0
  21. package/dist/cjs/not-found.cjs.map +1 -0
  22. package/dist/cjs/not-found.d.cts +20 -0
  23. package/dist/cjs/path.cjs +412 -0
  24. package/dist/cjs/path.cjs.map +1 -0
  25. package/dist/cjs/path.d.cts +56 -0
  26. package/dist/cjs/qss.cjs +38 -0
  27. package/dist/cjs/qss.cjs.map +1 -0
  28. package/dist/cjs/qss.d.cts +22 -0
  29. package/dist/cjs/redirect.cjs +34 -0
  30. package/dist/cjs/redirect.cjs.map +1 -0
  31. package/dist/cjs/redirect.d.cts +38 -0
  32. package/dist/cjs/root.cjs +5 -0
  33. package/dist/cjs/root.cjs.map +1 -0
  34. package/dist/cjs/root.d.cts +2 -0
  35. package/dist/cjs/route.cjs +119 -0
  36. package/dist/cjs/route.cjs.map +1 -0
  37. package/dist/cjs/route.d.cts +422 -0
  38. package/dist/cjs/routeInfo.d.cts +54 -0
  39. package/dist/cjs/router.cjs +1800 -0
  40. package/dist/cjs/router.cjs.map +1 -0
  41. package/dist/cjs/router.d.cts +630 -0
  42. package/dist/cjs/scroll-restoration.cjs +196 -0
  43. package/dist/cjs/scroll-restoration.cjs.map +1 -0
  44. package/dist/cjs/scroll-restoration.d.cts +38 -0
  45. package/dist/cjs/searchMiddleware.cjs +42 -0
  46. package/dist/cjs/searchMiddleware.cjs.map +1 -0
  47. package/dist/cjs/searchMiddleware.d.cts +5 -0
  48. package/dist/cjs/searchParams.cjs +61 -0
  49. package/dist/cjs/searchParams.cjs.map +1 -0
  50. package/dist/cjs/searchParams.d.cts +7 -0
  51. package/dist/cjs/serializer.d.cts +22 -0
  52. package/dist/cjs/structuralSharing.d.cts +4 -0
  53. package/dist/cjs/typePrimitives.d.cts +65 -0
  54. package/dist/cjs/useLoaderData.d.cts +5 -0
  55. package/dist/cjs/useLoaderDeps.d.cts +5 -0
  56. package/dist/cjs/useNavigate.d.cts +3 -0
  57. package/dist/cjs/useParams.d.cts +5 -0
  58. package/dist/cjs/useRouteContext.d.cts +9 -0
  59. package/dist/cjs/useSearch.d.cts +5 -0
  60. package/dist/cjs/utils.cjs +160 -0
  61. package/dist/cjs/utils.cjs.map +1 -0
  62. package/dist/cjs/utils.d.cts +105 -0
  63. package/dist/cjs/validators.d.cts +51 -0
  64. package/dist/esm/Matches.d.ts +109 -0
  65. package/dist/esm/Matches.js +13 -0
  66. package/dist/esm/Matches.js.map +1 -0
  67. package/dist/esm/RouterProvider.d.ts +26 -0
  68. package/dist/esm/defer.d.ts +20 -0
  69. package/dist/esm/defer.js +25 -0
  70. package/dist/esm/defer.js.map +1 -0
  71. package/dist/esm/fileRoute.d.ts +23 -0
  72. package/dist/esm/history.d.ts +8 -0
  73. package/dist/esm/index.d.ts +41 -0
  74. package/dist/esm/index.js +80 -0
  75. package/dist/esm/index.js.map +1 -0
  76. package/dist/esm/link.d.ts +200 -0
  77. package/dist/esm/link.js +5 -0
  78. package/dist/esm/link.js.map +1 -0
  79. package/dist/esm/location.d.ts +12 -0
  80. package/dist/esm/manifest.d.ts +24 -0
  81. package/dist/esm/not-found.d.ts +20 -0
  82. package/dist/esm/not-found.js +13 -0
  83. package/dist/esm/not-found.js.map +1 -0
  84. package/dist/esm/path.d.ts +56 -0
  85. package/dist/esm/path.js +412 -0
  86. package/dist/esm/path.js.map +1 -0
  87. package/dist/esm/qss.d.ts +22 -0
  88. package/dist/esm/qss.js +38 -0
  89. package/dist/esm/qss.js.map +1 -0
  90. package/dist/esm/redirect.d.ts +38 -0
  91. package/dist/esm/redirect.js +34 -0
  92. package/dist/esm/redirect.js.map +1 -0
  93. package/dist/esm/root.d.ts +2 -0
  94. package/dist/esm/root.js +5 -0
  95. package/dist/esm/root.js.map +1 -0
  96. package/dist/esm/route.d.ts +422 -0
  97. package/dist/esm/route.js +119 -0
  98. package/dist/esm/route.js.map +1 -0
  99. package/dist/esm/routeInfo.d.ts +54 -0
  100. package/dist/esm/router.d.ts +630 -0
  101. package/dist/esm/router.js +1800 -0
  102. package/dist/esm/router.js.map +1 -0
  103. package/dist/esm/scroll-restoration.d.ts +38 -0
  104. package/dist/esm/scroll-restoration.js +196 -0
  105. package/dist/esm/scroll-restoration.js.map +1 -0
  106. package/dist/esm/searchMiddleware.d.ts +5 -0
  107. package/dist/esm/searchMiddleware.js +42 -0
  108. package/dist/esm/searchMiddleware.js.map +1 -0
  109. package/dist/esm/searchParams.d.ts +7 -0
  110. package/dist/esm/searchParams.js +61 -0
  111. package/dist/esm/searchParams.js.map +1 -0
  112. package/dist/esm/serializer.d.ts +22 -0
  113. package/dist/esm/structuralSharing.d.ts +4 -0
  114. package/dist/esm/typePrimitives.d.ts +65 -0
  115. package/dist/esm/useLoaderData.d.ts +5 -0
  116. package/dist/esm/useLoaderDeps.d.ts +5 -0
  117. package/dist/esm/useNavigate.d.ts +3 -0
  118. package/dist/esm/useParams.d.ts +5 -0
  119. package/dist/esm/useRouteContext.d.ts +9 -0
  120. package/dist/esm/useSearch.d.ts +5 -0
  121. package/dist/esm/utils.d.ts +105 -0
  122. package/dist/esm/utils.js +160 -0
  123. package/dist/esm/utils.js.map +1 -0
  124. package/dist/esm/validators.d.ts +51 -0
  125. package/package.json +36 -32
  126. package/src/Matches.ts +239 -0
  127. package/src/RouterProvider.ts +50 -0
  128. package/src/defer.ts +52 -0
  129. package/src/fileRoute.ts +140 -0
  130. package/src/history.ts +9 -0
  131. package/src/index.ts +421 -19
  132. package/src/link.ts +580 -286
  133. package/src/location.ts +13 -0
  134. package/src/manifest.ts +32 -0
  135. package/src/not-found.ts +29 -0
  136. package/src/path.ts +425 -49
  137. package/src/qss.ts +70 -41
  138. package/src/redirect.ts +100 -0
  139. package/src/root.ts +2 -0
  140. package/src/route.ts +1682 -218
  141. package/src/routeInfo.ts +224 -217
  142. package/src/router.ts +3100 -1073
  143. package/src/scroll-restoration.ts +340 -0
  144. package/src/searchMiddleware.ts +54 -0
  145. package/src/searchParams.ts +43 -20
  146. package/src/serializer.ts +32 -0
  147. package/src/structuralSharing.ts +7 -0
  148. package/src/typePrimitives.ts +181 -0
  149. package/src/useLoaderData.ts +20 -0
  150. package/src/useLoaderDeps.ts +13 -0
  151. package/src/useNavigate.ts +13 -0
  152. package/src/useParams.ts +20 -0
  153. package/src/useRouteContext.ts +39 -0
  154. package/src/useSearch.ts +20 -0
  155. package/src/utils.ts +369 -75
  156. package/src/validators.ts +121 -0
  157. package/build/cjs/_virtual/_rollupPluginBabelHelpers.js +0 -33
  158. package/build/cjs/_virtual/_rollupPluginBabelHelpers.js.map +0 -1
  159. package/build/cjs/node_modules/@babel/runtime/helpers/esm/extends.js +0 -33
  160. package/build/cjs/node_modules/@babel/runtime/helpers/esm/extends.js.map +0 -1
  161. package/build/cjs/node_modules/history/index.js +0 -815
  162. package/build/cjs/node_modules/history/index.js.map +0 -1
  163. package/build/cjs/node_modules/tiny-invariant/dist/esm/tiny-invariant.js +0 -30
  164. package/build/cjs/node_modules/tiny-invariant/dist/esm/tiny-invariant.js.map +0 -1
  165. package/build/cjs/packages/router-core/src/index.js +0 -58
  166. package/build/cjs/packages/router-core/src/index.js.map +0 -1
  167. package/build/cjs/packages/router-core/src/path.js +0 -222
  168. package/build/cjs/packages/router-core/src/path.js.map +0 -1
  169. package/build/cjs/packages/router-core/src/qss.js +0 -71
  170. package/build/cjs/packages/router-core/src/qss.js.map +0 -1
  171. package/build/cjs/packages/router-core/src/route.js +0 -150
  172. package/build/cjs/packages/router-core/src/route.js.map +0 -1
  173. package/build/cjs/packages/router-core/src/routeConfig.js +0 -69
  174. package/build/cjs/packages/router-core/src/routeConfig.js.map +0 -1
  175. package/build/cjs/packages/router-core/src/routeMatch.js +0 -266
  176. package/build/cjs/packages/router-core/src/routeMatch.js.map +0 -1
  177. package/build/cjs/packages/router-core/src/router.js +0 -822
  178. package/build/cjs/packages/router-core/src/router.js.map +0 -1
  179. package/build/cjs/packages/router-core/src/searchParams.js +0 -70
  180. package/build/cjs/packages/router-core/src/searchParams.js.map +0 -1
  181. package/build/cjs/packages/router-core/src/utils.js +0 -125
  182. package/build/cjs/packages/router-core/src/utils.js.map +0 -1
  183. package/build/esm/index.js +0 -2481
  184. package/build/esm/index.js.map +0 -1
  185. package/build/stats-html.html +0 -4034
  186. package/build/stats-react.json +0 -493
  187. package/build/types/index.d.ts +0 -618
  188. package/build/umd/index.development.js +0 -2514
  189. package/build/umd/index.development.js.map +0 -1
  190. package/build/umd/index.production.js +0 -12
  191. package/build/umd/index.production.js.map +0 -1
  192. package/src/frameworks.ts +0 -12
  193. package/src/routeConfig.ts +0 -495
  194. package/src/routeMatch.ts +0 -374
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../../node_modules/history/index.js"],"sourcesContent":["import _extends from '@babel/runtime/helpers/esm/extends';\n\n/**\r\n * Actions represent the type of change to a location value.\r\n *\r\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#action\r\n */\nvar Action;\n\n(function (Action) {\n /**\r\n * A POP indicates a change to an arbitrary index in the history stack, such\r\n * as a back or forward navigation. It does not describe the direction of the\r\n * navigation, only that the current index changed.\r\n *\r\n * Note: This is the default action for newly created history objects.\r\n */\n Action[\"Pop\"] = \"POP\";\n /**\r\n * A PUSH indicates a new entry being added to the history stack, such as when\r\n * a link is clicked and a new page loads. When this happens, all subsequent\r\n * entries in the stack are lost.\r\n */\n\n Action[\"Push\"] = \"PUSH\";\n /**\r\n * A REPLACE indicates the entry at the current index in the history stack\r\n * being replaced by a new one.\r\n */\n\n Action[\"Replace\"] = \"REPLACE\";\n})(Action || (Action = {}));\n\nvar readOnly = process.env.NODE_ENV !== \"production\" ? function (obj) {\n return Object.freeze(obj);\n} : function (obj) {\n return obj;\n};\n\nfunction warning(cond, message) {\n if (!cond) {\n // eslint-disable-next-line no-console\n if (typeof console !== 'undefined') console.warn(message);\n\n try {\n // Welcome to debugging history!\n //\n // This error is thrown as a convenience so you can more easily\n // find the source for a warning that appears in the console by\n // enabling \"pause on exceptions\" in your JavaScript debugger.\n throw new Error(message); // eslint-disable-next-line no-empty\n } catch (e) {}\n }\n}\n\nvar BeforeUnloadEventType = 'beforeunload';\nvar HashChangeEventType = 'hashchange';\nvar PopStateEventType = 'popstate';\n/**\r\n * Browser history stores the location in regular URLs. This is the standard for\r\n * most web apps, but it requires some configuration on the server to ensure you\r\n * serve the same app at multiple URLs.\r\n *\r\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#createbrowserhistory\r\n */\n\nfunction createBrowserHistory(options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options = options,\n _options$window = _options.window,\n window = _options$window === void 0 ? document.defaultView : _options$window;\n var globalHistory = window.history;\n\n function getIndexAndLocation() {\n var _window$location = window.location,\n pathname = _window$location.pathname,\n search = _window$location.search,\n hash = _window$location.hash;\n var state = globalHistory.state || {};\n return [state.idx, readOnly({\n pathname: pathname,\n search: search,\n hash: hash,\n state: state.usr || null,\n key: state.key || 'default'\n })];\n }\n\n var blockedPopTx = null;\n\n function handlePop() {\n if (blockedPopTx) {\n blockers.call(blockedPopTx);\n blockedPopTx = null;\n } else {\n var nextAction = Action.Pop;\n\n var _getIndexAndLocation = getIndexAndLocation(),\n nextIndex = _getIndexAndLocation[0],\n nextLocation = _getIndexAndLocation[1];\n\n if (blockers.length) {\n if (nextIndex != null) {\n var delta = index - nextIndex;\n\n if (delta) {\n // Revert the POP\n blockedPopTx = {\n action: nextAction,\n location: nextLocation,\n retry: function retry() {\n go(delta * -1);\n }\n };\n go(delta);\n }\n } else {\n // Trying to POP to a location with no index. We did not create\n // this location, so we can't effectively block the navigation.\n process.env.NODE_ENV !== \"production\" ? warning(false, // TODO: Write up a doc that explains our blocking strategy in\n // detail and link to it here so people can understand better what\n // is going on and how to avoid it.\n \"You are trying to block a POP navigation to a location that was not \" + \"created by the history library. The block will fail silently in \" + \"production, but in general you should do all navigation with the \" + \"history library (instead of using window.history.pushState directly) \" + \"to avoid this situation.\") : void 0;\n }\n } else {\n applyTx(nextAction);\n }\n }\n }\n\n window.addEventListener(PopStateEventType, handlePop);\n var action = Action.Pop;\n\n var _getIndexAndLocation2 = getIndexAndLocation(),\n index = _getIndexAndLocation2[0],\n location = _getIndexAndLocation2[1];\n\n var listeners = createEvents();\n var blockers = createEvents();\n\n if (index == null) {\n index = 0;\n globalHistory.replaceState(_extends({}, globalHistory.state, {\n idx: index\n }), '');\n }\n\n function createHref(to) {\n return typeof to === 'string' ? to : createPath(to);\n } // state defaults to `null` because `window.history.state` does\n\n\n function getNextLocation(to, state) {\n if (state === void 0) {\n state = null;\n }\n\n return readOnly(_extends({\n pathname: location.pathname,\n hash: '',\n search: ''\n }, typeof to === 'string' ? parsePath(to) : to, {\n state: state,\n key: createKey()\n }));\n }\n\n function getHistoryStateAndUrl(nextLocation, index) {\n return [{\n usr: nextLocation.state,\n key: nextLocation.key,\n idx: index\n }, createHref(nextLocation)];\n }\n\n function allowTx(action, location, retry) {\n return !blockers.length || (blockers.call({\n action: action,\n location: location,\n retry: retry\n }), false);\n }\n\n function applyTx(nextAction) {\n action = nextAction;\n\n var _getIndexAndLocation3 = getIndexAndLocation();\n\n index = _getIndexAndLocation3[0];\n location = _getIndexAndLocation3[1];\n listeners.call({\n action: action,\n location: location\n });\n }\n\n function push(to, state) {\n var nextAction = Action.Push;\n var nextLocation = getNextLocation(to, state);\n\n function retry() {\n push(to, state);\n }\n\n if (allowTx(nextAction, nextLocation, retry)) {\n var _getHistoryStateAndUr = getHistoryStateAndUrl(nextLocation, index + 1),\n historyState = _getHistoryStateAndUr[0],\n url = _getHistoryStateAndUr[1]; // TODO: Support forced reloading\n // try...catch because iOS limits us to 100 pushState calls :/\n\n\n try {\n globalHistory.pushState(historyState, '', url);\n } catch (error) {\n // They are going to lose state here, but there is no real\n // way to warn them about it since the page will refresh...\n window.location.assign(url);\n }\n\n applyTx(nextAction);\n }\n }\n\n function replace(to, state) {\n var nextAction = Action.Replace;\n var nextLocation = getNextLocation(to, state);\n\n function retry() {\n replace(to, state);\n }\n\n if (allowTx(nextAction, nextLocation, retry)) {\n var _getHistoryStateAndUr2 = getHistoryStateAndUrl(nextLocation, index),\n historyState = _getHistoryStateAndUr2[0],\n url = _getHistoryStateAndUr2[1]; // TODO: Support forced reloading\n\n\n globalHistory.replaceState(historyState, '', url);\n applyTx(nextAction);\n }\n }\n\n function go(delta) {\n globalHistory.go(delta);\n }\n\n var history = {\n get action() {\n return action;\n },\n\n get location() {\n return location;\n },\n\n createHref: createHref,\n push: push,\n replace: replace,\n go: go,\n back: function back() {\n go(-1);\n },\n forward: function forward() {\n go(1);\n },\n listen: function listen(listener) {\n return listeners.push(listener);\n },\n block: function block(blocker) {\n var unblock = blockers.push(blocker);\n\n if (blockers.length === 1) {\n window.addEventListener(BeforeUnloadEventType, promptBeforeUnload);\n }\n\n return function () {\n unblock(); // Remove the beforeunload listener so the document may\n // still be salvageable in the pagehide event.\n // See https://html.spec.whatwg.org/#unloading-documents\n\n if (!blockers.length) {\n window.removeEventListener(BeforeUnloadEventType, promptBeforeUnload);\n }\n };\n }\n };\n return history;\n}\n/**\r\n * Hash history stores the location in window.location.hash. This makes it ideal\r\n * for situations where you don't want to send the location to the server for\r\n * some reason, either because you do cannot configure it or the URL space is\r\n * reserved for something else.\r\n *\r\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#createhashhistory\r\n */\n\nfunction createHashHistory(options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options2 = options,\n _options2$window = _options2.window,\n window = _options2$window === void 0 ? document.defaultView : _options2$window;\n var globalHistory = window.history;\n\n function getIndexAndLocation() {\n var _parsePath = parsePath(window.location.hash.substr(1)),\n _parsePath$pathname = _parsePath.pathname,\n pathname = _parsePath$pathname === void 0 ? '/' : _parsePath$pathname,\n _parsePath$search = _parsePath.search,\n search = _parsePath$search === void 0 ? '' : _parsePath$search,\n _parsePath$hash = _parsePath.hash,\n hash = _parsePath$hash === void 0 ? '' : _parsePath$hash;\n\n var state = globalHistory.state || {};\n return [state.idx, readOnly({\n pathname: pathname,\n search: search,\n hash: hash,\n state: state.usr || null,\n key: state.key || 'default'\n })];\n }\n\n var blockedPopTx = null;\n\n function handlePop() {\n if (blockedPopTx) {\n blockers.call(blockedPopTx);\n blockedPopTx = null;\n } else {\n var nextAction = Action.Pop;\n\n var _getIndexAndLocation4 = getIndexAndLocation(),\n nextIndex = _getIndexAndLocation4[0],\n nextLocation = _getIndexAndLocation4[1];\n\n if (blockers.length) {\n if (nextIndex != null) {\n var delta = index - nextIndex;\n\n if (delta) {\n // Revert the POP\n blockedPopTx = {\n action: nextAction,\n location: nextLocation,\n retry: function retry() {\n go(delta * -1);\n }\n };\n go(delta);\n }\n } else {\n // Trying to POP to a location with no index. We did not create\n // this location, so we can't effectively block the navigation.\n process.env.NODE_ENV !== \"production\" ? warning(false, // TODO: Write up a doc that explains our blocking strategy in\n // detail and link to it here so people can understand better\n // what is going on and how to avoid it.\n \"You are trying to block a POP navigation to a location that was not \" + \"created by the history library. The block will fail silently in \" + \"production, but in general you should do all navigation with the \" + \"history library (instead of using window.history.pushState directly) \" + \"to avoid this situation.\") : void 0;\n }\n } else {\n applyTx(nextAction);\n }\n }\n }\n\n window.addEventListener(PopStateEventType, handlePop); // popstate does not fire on hashchange in IE 11 and old (trident) Edge\n // https://developer.mozilla.org/de/docs/Web/API/Window/popstate_event\n\n window.addEventListener(HashChangeEventType, function () {\n var _getIndexAndLocation5 = getIndexAndLocation(),\n nextLocation = _getIndexAndLocation5[1]; // Ignore extraneous hashchange events.\n\n\n if (createPath(nextLocation) !== createPath(location)) {\n handlePop();\n }\n });\n var action = Action.Pop;\n\n var _getIndexAndLocation6 = getIndexAndLocation(),\n index = _getIndexAndLocation6[0],\n location = _getIndexAndLocation6[1];\n\n var listeners = createEvents();\n var blockers = createEvents();\n\n if (index == null) {\n index = 0;\n globalHistory.replaceState(_extends({}, globalHistory.state, {\n idx: index\n }), '');\n }\n\n function getBaseHref() {\n var base = document.querySelector('base');\n var href = '';\n\n if (base && base.getAttribute('href')) {\n var url = window.location.href;\n var hashIndex = url.indexOf('#');\n href = hashIndex === -1 ? url : url.slice(0, hashIndex);\n }\n\n return href;\n }\n\n function createHref(to) {\n return getBaseHref() + '#' + (typeof to === 'string' ? to : createPath(to));\n }\n\n function getNextLocation(to, state) {\n if (state === void 0) {\n state = null;\n }\n\n return readOnly(_extends({\n pathname: location.pathname,\n hash: '',\n search: ''\n }, typeof to === 'string' ? parsePath(to) : to, {\n state: state,\n key: createKey()\n }));\n }\n\n function getHistoryStateAndUrl(nextLocation, index) {\n return [{\n usr: nextLocation.state,\n key: nextLocation.key,\n idx: index\n }, createHref(nextLocation)];\n }\n\n function allowTx(action, location, retry) {\n return !blockers.length || (blockers.call({\n action: action,\n location: location,\n retry: retry\n }), false);\n }\n\n function applyTx(nextAction) {\n action = nextAction;\n\n var _getIndexAndLocation7 = getIndexAndLocation();\n\n index = _getIndexAndLocation7[0];\n location = _getIndexAndLocation7[1];\n listeners.call({\n action: action,\n location: location\n });\n }\n\n function push(to, state) {\n var nextAction = Action.Push;\n var nextLocation = getNextLocation(to, state);\n\n function retry() {\n push(to, state);\n }\n\n process.env.NODE_ENV !== \"production\" ? warning(nextLocation.pathname.charAt(0) === '/', \"Relative pathnames are not supported in hash history.push(\" + JSON.stringify(to) + \")\") : void 0;\n\n if (allowTx(nextAction, nextLocation, retry)) {\n var _getHistoryStateAndUr3 = getHistoryStateAndUrl(nextLocation, index + 1),\n historyState = _getHistoryStateAndUr3[0],\n url = _getHistoryStateAndUr3[1]; // TODO: Support forced reloading\n // try...catch because iOS limits us to 100 pushState calls :/\n\n\n try {\n globalHistory.pushState(historyState, '', url);\n } catch (error) {\n // They are going to lose state here, but there is no real\n // way to warn them about it since the page will refresh...\n window.location.assign(url);\n }\n\n applyTx(nextAction);\n }\n }\n\n function replace(to, state) {\n var nextAction = Action.Replace;\n var nextLocation = getNextLocation(to, state);\n\n function retry() {\n replace(to, state);\n }\n\n process.env.NODE_ENV !== \"production\" ? warning(nextLocation.pathname.charAt(0) === '/', \"Relative pathnames are not supported in hash history.replace(\" + JSON.stringify(to) + \")\") : void 0;\n\n if (allowTx(nextAction, nextLocation, retry)) {\n var _getHistoryStateAndUr4 = getHistoryStateAndUrl(nextLocation, index),\n historyState = _getHistoryStateAndUr4[0],\n url = _getHistoryStateAndUr4[1]; // TODO: Support forced reloading\n\n\n globalHistory.replaceState(historyState, '', url);\n applyTx(nextAction);\n }\n }\n\n function go(delta) {\n globalHistory.go(delta);\n }\n\n var history = {\n get action() {\n return action;\n },\n\n get location() {\n return location;\n },\n\n createHref: createHref,\n push: push,\n replace: replace,\n go: go,\n back: function back() {\n go(-1);\n },\n forward: function forward() {\n go(1);\n },\n listen: function listen(listener) {\n return listeners.push(listener);\n },\n block: function block(blocker) {\n var unblock = blockers.push(blocker);\n\n if (blockers.length === 1) {\n window.addEventListener(BeforeUnloadEventType, promptBeforeUnload);\n }\n\n return function () {\n unblock(); // Remove the beforeunload listener so the document may\n // still be salvageable in the pagehide event.\n // See https://html.spec.whatwg.org/#unloading-documents\n\n if (!blockers.length) {\n window.removeEventListener(BeforeUnloadEventType, promptBeforeUnload);\n }\n };\n }\n };\n return history;\n}\n/**\r\n * Memory history stores the current location in memory. It is designed for use\r\n * in stateful non-browser environments like tests and React Native.\r\n *\r\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#creatememoryhistory\r\n */\n\nfunction createMemoryHistory(options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options3 = options,\n _options3$initialEntr = _options3.initialEntries,\n initialEntries = _options3$initialEntr === void 0 ? ['/'] : _options3$initialEntr,\n initialIndex = _options3.initialIndex;\n var entries = initialEntries.map(function (entry) {\n var location = readOnly(_extends({\n pathname: '/',\n search: '',\n hash: '',\n state: null,\n key: createKey()\n }, typeof entry === 'string' ? parsePath(entry) : entry));\n process.env.NODE_ENV !== \"production\" ? warning(location.pathname.charAt(0) === '/', \"Relative pathnames are not supported in createMemoryHistory({ initialEntries }) (invalid entry: \" + JSON.stringify(entry) + \")\") : void 0;\n return location;\n });\n var index = clamp(initialIndex == null ? entries.length - 1 : initialIndex, 0, entries.length - 1);\n var action = Action.Pop;\n var location = entries[index];\n var listeners = createEvents();\n var blockers = createEvents();\n\n function createHref(to) {\n return typeof to === 'string' ? to : createPath(to);\n }\n\n function getNextLocation(to, state) {\n if (state === void 0) {\n state = null;\n }\n\n return readOnly(_extends({\n pathname: location.pathname,\n search: '',\n hash: ''\n }, typeof to === 'string' ? parsePath(to) : to, {\n state: state,\n key: createKey()\n }));\n }\n\n function allowTx(action, location, retry) {\n return !blockers.length || (blockers.call({\n action: action,\n location: location,\n retry: retry\n }), false);\n }\n\n function applyTx(nextAction, nextLocation) {\n action = nextAction;\n location = nextLocation;\n listeners.call({\n action: action,\n location: location\n });\n }\n\n function push(to, state) {\n var nextAction = Action.Push;\n var nextLocation = getNextLocation(to, state);\n\n function retry() {\n push(to, state);\n }\n\n process.env.NODE_ENV !== \"production\" ? warning(location.pathname.charAt(0) === '/', \"Relative pathnames are not supported in memory history.push(\" + JSON.stringify(to) + \")\") : void 0;\n\n if (allowTx(nextAction, nextLocation, retry)) {\n index += 1;\n entries.splice(index, entries.length, nextLocation);\n applyTx(nextAction, nextLocation);\n }\n }\n\n function replace(to, state) {\n var nextAction = Action.Replace;\n var nextLocation = getNextLocation(to, state);\n\n function retry() {\n replace(to, state);\n }\n\n process.env.NODE_ENV !== \"production\" ? warning(location.pathname.charAt(0) === '/', \"Relative pathnames are not supported in memory history.replace(\" + JSON.stringify(to) + \")\") : void 0;\n\n if (allowTx(nextAction, nextLocation, retry)) {\n entries[index] = nextLocation;\n applyTx(nextAction, nextLocation);\n }\n }\n\n function go(delta) {\n var nextIndex = clamp(index + delta, 0, entries.length - 1);\n var nextAction = Action.Pop;\n var nextLocation = entries[nextIndex];\n\n function retry() {\n go(delta);\n }\n\n if (allowTx(nextAction, nextLocation, retry)) {\n index = nextIndex;\n applyTx(nextAction, nextLocation);\n }\n }\n\n var history = {\n get index() {\n return index;\n },\n\n get action() {\n return action;\n },\n\n get location() {\n return location;\n },\n\n createHref: createHref,\n push: push,\n replace: replace,\n go: go,\n back: function back() {\n go(-1);\n },\n forward: function forward() {\n go(1);\n },\n listen: function listen(listener) {\n return listeners.push(listener);\n },\n block: function block(blocker) {\n return blockers.push(blocker);\n }\n };\n return history;\n} ////////////////////////////////////////////////////////////////////////////////\n// UTILS\n////////////////////////////////////////////////////////////////////////////////\n\nfunction clamp(n, lowerBound, upperBound) {\n return Math.min(Math.max(n, lowerBound), upperBound);\n}\n\nfunction promptBeforeUnload(event) {\n // Cancel the event.\n event.preventDefault(); // Chrome (and legacy IE) requires returnValue to be set.\n\n event.returnValue = '';\n}\n\nfunction createEvents() {\n var handlers = [];\n return {\n get length() {\n return handlers.length;\n },\n\n push: function push(fn) {\n handlers.push(fn);\n return function () {\n handlers = handlers.filter(function (handler) {\n return handler !== fn;\n });\n };\n },\n call: function call(arg) {\n handlers.forEach(function (fn) {\n return fn && fn(arg);\n });\n }\n };\n}\n\nfunction createKey() {\n return Math.random().toString(36).substr(2, 8);\n}\n/**\r\n * Creates a string URL path from the given pathname, search, and hash components.\r\n *\r\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#createpath\r\n */\n\n\nfunction createPath(_ref) {\n var _ref$pathname = _ref.pathname,\n pathname = _ref$pathname === void 0 ? '/' : _ref$pathname,\n _ref$search = _ref.search,\n search = _ref$search === void 0 ? '' : _ref$search,\n _ref$hash = _ref.hash,\n hash = _ref$hash === void 0 ? '' : _ref$hash;\n if (search && search !== '?') pathname += search.charAt(0) === '?' ? search : '?' + search;\n if (hash && hash !== '#') pathname += hash.charAt(0) === '#' ? hash : '#' + hash;\n return pathname;\n}\n/**\r\n * Parses a string URL path into its separate pathname, search, and hash components.\r\n *\r\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#parsepath\r\n */\n\nfunction parsePath(path) {\n var parsedPath = {};\n\n if (path) {\n var hashIndex = path.indexOf('#');\n\n if (hashIndex >= 0) {\n parsedPath.hash = path.substr(hashIndex);\n path = path.substr(0, hashIndex);\n }\n\n var searchIndex = path.indexOf('?');\n\n if (searchIndex >= 0) {\n parsedPath.search = path.substr(searchIndex);\n path = path.substr(0, searchIndex);\n }\n\n if (path) {\n parsedPath.pathname = path;\n }\n }\n\n return parsedPath;\n}\n\nexport { Action, createBrowserHistory, createHashHistory, createMemoryHistory, createPath, parsePath };\n//# sourceMappingURL=index.js.map\n"],"names":["Action","_extends"],"mappings":"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"}
@@ -1,30 +0,0 @@
1
- /**
2
- * router-core
3
- *
4
- * Copyright (c) TanStack
5
- *
6
- * This source code is licensed under the MIT license found in the
7
- * LICENSE.md file in the root directory of this source tree.
8
- *
9
- * @license MIT
10
- */
11
- 'use strict';
12
-
13
- Object.defineProperty(exports, '__esModule', { value: true });
14
-
15
- var isProduction = process.env.NODE_ENV === 'production';
16
- var prefix = 'Invariant failed';
17
- function invariant(condition, message) {
18
- if (condition) {
19
- return;
20
- }
21
- if (isProduction) {
22
- throw new Error(prefix);
23
- }
24
- var provided = typeof message === 'function' ? message() : message;
25
- var value = provided ? "".concat(prefix, ": ").concat(provided) : prefix;
26
- throw new Error(value);
27
- }
28
-
29
- exports["default"] = invariant;
30
- //# sourceMappingURL=tiny-invariant.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tiny-invariant.js","sources":["../../../../../../../../node_modules/tiny-invariant/dist/esm/tiny-invariant.js"],"sourcesContent":["var isProduction = process.env.NODE_ENV === 'production';\nvar prefix = 'Invariant failed';\nfunction invariant(condition, message) {\n if (condition) {\n return;\n }\n if (isProduction) {\n throw new Error(prefix);\n }\n var provided = typeof message === 'function' ? message() : message;\n var value = provided ? \"\".concat(prefix, \": \").concat(provided) : prefix;\n throw new Error(value);\n}\n\nexport { invariant as default };\n"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,IAAI,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,CAAC;AACzD,IAAI,MAAM,GAAG,kBAAkB,CAAC;AAChC,SAAS,SAAS,CAAC,SAAS,EAAE,OAAO,EAAE;AACvC,IAAI,IAAI,SAAS,EAAE;AACnB,QAAQ,OAAO;AACf,KAAK;AACL,IAAI,IAAI,YAAY,EAAE;AACtB,QAAQ,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC;AAChC,KAAK;AACL,IAAI,IAAI,QAAQ,GAAG,OAAO,OAAO,KAAK,UAAU,GAAG,OAAO,EAAE,GAAG,OAAO,CAAC;AACvE,IAAI,IAAI,KAAK,GAAG,QAAQ,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC;AAC7E,IAAI,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC;AAC3B;;;;"}
@@ -1,58 +0,0 @@
1
- /**
2
- * router-core
3
- *
4
- * Copyright (c) TanStack
5
- *
6
- * This source code is licensed under the MIT license found in the
7
- * LICENSE.md file in the root directory of this source tree.
8
- *
9
- * @license MIT
10
- */
11
- 'use strict';
12
-
13
- Object.defineProperty(exports, '__esModule', { value: true });
14
-
15
- var index = require('../../../node_modules/history/index.js');
16
- var tinyInvariant = require('../../../node_modules/tiny-invariant/dist/esm/tiny-invariant.js');
17
- var path = require('./path.js');
18
- var qss = require('./qss.js');
19
- var route = require('./route.js');
20
- var routeConfig = require('./routeConfig.js');
21
- var routeMatch = require('./routeMatch.js');
22
- var router = require('./router.js');
23
- var searchParams = require('./searchParams.js');
24
- var utils = require('./utils.js');
25
-
26
-
27
-
28
- exports.createBrowserHistory = index.createBrowserHistory;
29
- exports.createHashHistory = index.createHashHistory;
30
- exports.createMemoryHistory = index.createMemoryHistory;
31
- exports.invariant = tinyInvariant["default"];
32
- exports.cleanPath = path.cleanPath;
33
- exports.interpolatePath = path.interpolatePath;
34
- exports.joinPaths = path.joinPaths;
35
- exports.matchByPath = path.matchByPath;
36
- exports.matchPathname = path.matchPathname;
37
- exports.parsePathname = path.parsePathname;
38
- exports.resolvePath = path.resolvePath;
39
- exports.trimPath = path.trimPath;
40
- exports.trimPathLeft = path.trimPathLeft;
41
- exports.trimPathRight = path.trimPathRight;
42
- exports.decode = qss.decode;
43
- exports.encode = qss.encode;
44
- exports.createRoute = route.createRoute;
45
- exports.createRouteConfig = routeConfig.createRouteConfig;
46
- exports.rootRouteId = routeConfig.rootRouteId;
47
- exports.createRouteMatch = routeMatch.createRouteMatch;
48
- exports.createRouter = router.createRouter;
49
- exports.defaultParseSearch = searchParams.defaultParseSearch;
50
- exports.defaultStringifySearch = searchParams.defaultStringifySearch;
51
- exports.parseSearchWith = searchParams.parseSearchWith;
52
- exports.stringifySearchWith = searchParams.stringifySearchWith;
53
- exports.functionalUpdate = utils.functionalUpdate;
54
- exports.last = utils.last;
55
- exports.pick = utils.pick;
56
- exports.replaceEqualDeep = utils.replaceEqualDeep;
57
- exports.warning = utils.warning;
58
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,222 +0,0 @@
1
- /**
2
- * router-core
3
- *
4
- * Copyright (c) TanStack
5
- *
6
- * This source code is licensed under the MIT license found in the
7
- * LICENSE.md file in the root directory of this source tree.
8
- *
9
- * @license MIT
10
- */
11
- 'use strict';
12
-
13
- Object.defineProperty(exports, '__esModule', { value: true });
14
-
15
- var utils = require('./utils.js');
16
-
17
- function joinPaths(paths) {
18
- return cleanPath(paths.filter(Boolean).join('/'));
19
- }
20
- function cleanPath(path) {
21
- // remove double slashes
22
- return path.replace(/\/{2,}/g, '/');
23
- }
24
- function trimPathLeft(path) {
25
- return path === '/' ? path : path.replace(/^\/{1,}/, '');
26
- }
27
- function trimPathRight(path) {
28
- return path === '/' ? path : path.replace(/\/{1,}$/, '');
29
- }
30
- function trimPath(path) {
31
- return trimPathRight(trimPathLeft(path));
32
- }
33
- function resolvePath(basepath, base, to) {
34
- base = base.replace(new RegExp("^" + basepath), '/');
35
- to = to.replace(new RegExp("^" + basepath), '/');
36
- let baseSegments = parsePathname(base);
37
- const toSegments = parsePathname(to);
38
- toSegments.forEach((toSegment, index) => {
39
- if (toSegment.value === '/') {
40
- if (!index) {
41
- // Leading slash
42
- baseSegments = [toSegment];
43
- } else if (index === toSegments.length - 1) {
44
- // Trailing Slash
45
- baseSegments.push(toSegment);
46
- } else ;
47
- } else if (toSegment.value === '..') {
48
- var _last;
49
-
50
- // Extra trailing slash? pop it off
51
- if (baseSegments.length > 1 && ((_last = utils.last(baseSegments)) == null ? void 0 : _last.value) === '/') {
52
- baseSegments.pop();
53
- }
54
-
55
- baseSegments.pop();
56
- } else if (toSegment.value === '.') {
57
- return;
58
- } else {
59
- baseSegments.push(toSegment);
60
- }
61
- });
62
- const joined = joinPaths([basepath, ...baseSegments.map(d => d.value)]);
63
- return cleanPath(joined);
64
- }
65
- function parsePathname(pathname) {
66
- if (!pathname) {
67
- return [];
68
- }
69
-
70
- pathname = cleanPath(pathname);
71
- const segments = [];
72
-
73
- if (pathname.slice(0, 1) === '/') {
74
- pathname = pathname.substring(1);
75
- segments.push({
76
- type: 'pathname',
77
- value: '/'
78
- });
79
- }
80
-
81
- if (!pathname) {
82
- return segments;
83
- } // Remove empty segments and '.' segments
84
-
85
-
86
- const split = pathname.split('/').filter(Boolean);
87
- segments.push(...split.map(part => {
88
- if (part.startsWith('*')) {
89
- return {
90
- type: 'wildcard',
91
- value: part
92
- };
93
- }
94
-
95
- if (part.charAt(0) === ':') {
96
- return {
97
- type: 'param',
98
- value: part
99
- };
100
- }
101
-
102
- return {
103
- type: 'pathname',
104
- value: part
105
- };
106
- }));
107
-
108
- if (pathname.slice(-1) === '/') {
109
- pathname = pathname.substring(1);
110
- segments.push({
111
- type: 'pathname',
112
- value: '/'
113
- });
114
- }
115
-
116
- return segments;
117
- }
118
- function interpolatePath(path, params, leaveWildcard) {
119
- const interpolatedPathSegments = parsePathname(path);
120
- return joinPaths(interpolatedPathSegments.map(segment => {
121
- if (segment.value === '*' && !leaveWildcard) {
122
- return '';
123
- }
124
-
125
- if (segment.type === 'param') {
126
- var _segment$value$substr;
127
-
128
- return (_segment$value$substr = params[segment.value.substring(1)]) != null ? _segment$value$substr : '';
129
- }
130
-
131
- return segment.value;
132
- }));
133
- }
134
- function matchPathname(currentPathname, matchLocation) {
135
- const pathParams = matchByPath(currentPathname, matchLocation); // const searchMatched = matchBySearch(currentLocation.search, matchLocation)
136
-
137
- if (matchLocation.to && !pathParams) {
138
- return;
139
- } // if (matchLocation.search && !searchMatched) {
140
- // return
141
- // }
142
-
143
-
144
- return pathParams != null ? pathParams : {};
145
- }
146
- function matchByPath(from, matchLocation) {
147
- var _matchLocation$to;
148
-
149
- const baseSegments = parsePathname(from);
150
- const routeSegments = parsePathname("" + ((_matchLocation$to = matchLocation.to) != null ? _matchLocation$to : '*'));
151
- const params = {};
152
-
153
- let isMatch = (() => {
154
- for (let i = 0; i < Math.max(baseSegments.length, routeSegments.length); i++) {
155
- const baseSegment = baseSegments[i];
156
- const routeSegment = routeSegments[i];
157
- const isLastRouteSegment = i === routeSegments.length - 1;
158
- const isLastBaseSegment = i === baseSegments.length - 1;
159
-
160
- if (routeSegment) {
161
- if (routeSegment.type === 'wildcard') {
162
- if (baseSegment != null && baseSegment.value) {
163
- params['*'] = joinPaths(baseSegments.slice(i).map(d => d.value));
164
- return true;
165
- }
166
-
167
- return false;
168
- }
169
-
170
- if (routeSegment.type === 'pathname') {
171
- if (routeSegment.value === '/' && !(baseSegment != null && baseSegment.value)) {
172
- return true;
173
- }
174
-
175
- if (baseSegment) {
176
- if (matchLocation.caseSensitive) {
177
- if (routeSegment.value !== baseSegment.value) {
178
- return false;
179
- }
180
- } else if (routeSegment.value.toLowerCase() !== baseSegment.value.toLowerCase()) {
181
- return false;
182
- }
183
- }
184
- }
185
-
186
- if (!baseSegment) {
187
- return false;
188
- }
189
-
190
- if (routeSegment.type === 'param') {
191
- if ((baseSegment == null ? void 0 : baseSegment.value) === '/') {
192
- return false;
193
- }
194
-
195
- if (!baseSegment.value.startsWith(':')) {
196
- params[routeSegment.value.substring(1)] = baseSegment.value;
197
- }
198
- }
199
- }
200
-
201
- if (isLastRouteSegment && !isLastBaseSegment) {
202
- return !!matchLocation.fuzzy;
203
- }
204
- }
205
-
206
- return true;
207
- })();
208
-
209
- return isMatch ? params : undefined;
210
- }
211
-
212
- exports.cleanPath = cleanPath;
213
- exports.interpolatePath = interpolatePath;
214
- exports.joinPaths = joinPaths;
215
- exports.matchByPath = matchByPath;
216
- exports.matchPathname = matchPathname;
217
- exports.parsePathname = parsePathname;
218
- exports.resolvePath = resolvePath;
219
- exports.trimPath = trimPath;
220
- exports.trimPathLeft = trimPathLeft;
221
- exports.trimPathRight = trimPathRight;
222
- //# sourceMappingURL=path.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"path.js","sources":["../../../../../src/path.ts"],"sourcesContent":["import { AnyPathParams } from './routeConfig'\nimport { MatchLocation } from './router'\nimport { last } from './utils'\n\nexport interface Segment {\n type: 'pathname' | 'param' | 'wildcard'\n value: string\n}\n\nexport function joinPaths(paths: (string | undefined)[]) {\n return cleanPath(paths.filter(Boolean).join('/'))\n}\n\nexport function cleanPath(path: string) {\n // remove double slashes\n return path.replace(/\\/{2,}/g, '/')\n}\n\nexport function trimPathLeft(path: string) {\n return path === '/' ? path : path.replace(/^\\/{1,}/, '')\n}\n\nexport function trimPathRight(path: string) {\n return path === '/' ? path : path.replace(/\\/{1,}$/, '')\n}\n\nexport function trimPath(path: string) {\n return trimPathRight(trimPathLeft(path))\n}\n\nexport function resolvePath(basepath: string, base: string, to: string) {\n base = base.replace(new RegExp(`^${basepath}`), '/')\n to = to.replace(new RegExp(`^${basepath}`), '/')\n\n let baseSegments = parsePathname(base)\n const toSegments = parsePathname(to)\n\n toSegments.forEach((toSegment, index) => {\n if (toSegment.value === '/') {\n if (!index) {\n // Leading slash\n baseSegments = [toSegment]\n } else if (index === toSegments.length - 1) {\n // Trailing Slash\n baseSegments.push(toSegment)\n } else {\n // ignore inter-slashes\n }\n } else if (toSegment.value === '..') {\n // Extra trailing slash? pop it off\n if (baseSegments.length > 1 && last(baseSegments)?.value === '/') {\n baseSegments.pop()\n }\n baseSegments.pop()\n } else if (toSegment.value === '.') {\n return\n } else {\n baseSegments.push(toSegment)\n }\n })\n\n const joined = joinPaths([basepath, ...baseSegments.map((d) => d.value)])\n\n return cleanPath(joined)\n}\n\nexport function parsePathname(pathname?: string): Segment[] {\n if (!pathname) {\n return []\n }\n\n pathname = cleanPath(pathname)\n\n const segments: Segment[] = []\n\n if (pathname.slice(0, 1) === '/') {\n pathname = pathname.substring(1)\n segments.push({\n type: 'pathname',\n value: '/',\n })\n }\n\n if (!pathname) {\n return segments\n }\n\n // Remove empty segments and '.' segments\n const split = pathname.split('/').filter(Boolean)\n\n segments.push(\n ...split.map((part): Segment => {\n if (part.startsWith('*')) {\n return {\n type: 'wildcard',\n value: part,\n }\n }\n\n if (part.charAt(0) === ':') {\n return {\n type: 'param',\n value: part,\n }\n }\n\n return {\n type: 'pathname',\n value: part,\n }\n }),\n )\n\n if (pathname.slice(-1) === '/') {\n pathname = pathname.substring(1)\n segments.push({\n type: 'pathname',\n value: '/',\n })\n }\n\n return segments\n}\n\nexport function interpolatePath(\n path: string | undefined,\n params: any,\n leaveWildcard?: boolean,\n) {\n const interpolatedPathSegments = parsePathname(path)\n\n return joinPaths(\n interpolatedPathSegments.map((segment) => {\n if (segment.value === '*' && !leaveWildcard) {\n return ''\n }\n\n if (segment.type === 'param') {\n return params![segment.value.substring(1)] ?? ''\n }\n\n return segment.value\n }),\n )\n}\n\nexport function matchPathname(\n currentPathname: string,\n matchLocation: Pick<MatchLocation, 'to' | 'fuzzy' | 'caseSensitive'>,\n): AnyPathParams | undefined {\n const pathParams = matchByPath(currentPathname, matchLocation)\n // const searchMatched = matchBySearch(currentLocation.search, matchLocation)\n\n if (matchLocation.to && !pathParams) {\n return\n }\n\n // if (matchLocation.search && !searchMatched) {\n // return\n // }\n\n return pathParams ?? {}\n}\n\nexport function matchByPath(\n from: string,\n matchLocation: Pick<MatchLocation, 'to' | 'caseSensitive' | 'fuzzy'>,\n): Record<string, string> | undefined {\n const baseSegments = parsePathname(from)\n const routeSegments = parsePathname(`${matchLocation.to ?? '*'}`)\n\n const params: Record<string, string> = {}\n\n let isMatch = (() => {\n for (\n let i = 0;\n i < Math.max(baseSegments.length, routeSegments.length);\n i++\n ) {\n const baseSegment = baseSegments[i]\n const routeSegment = routeSegments[i]\n\n const isLastRouteSegment = i === routeSegments.length - 1\n const isLastBaseSegment = i === baseSegments.length - 1\n\n if (routeSegment) {\n if (routeSegment.type === 'wildcard') {\n if (baseSegment?.value) {\n params['*'] = joinPaths(baseSegments.slice(i).map((d) => d.value))\n return true\n }\n return false\n }\n\n if (routeSegment.type === 'pathname') {\n if (routeSegment.value === '/' && !baseSegment?.value) {\n return true\n }\n\n if (baseSegment) {\n if (matchLocation.caseSensitive) {\n if (routeSegment.value !== baseSegment.value) {\n return false\n }\n } else if (\n routeSegment.value.toLowerCase() !==\n baseSegment.value.toLowerCase()\n ) {\n return false\n }\n }\n }\n\n if (!baseSegment) {\n return false\n }\n\n if (routeSegment.type === 'param') {\n if (baseSegment?.value === '/') {\n return false\n }\n if (!baseSegment.value.startsWith(':')) {\n params[routeSegment.value.substring(1)] = baseSegment.value\n }\n }\n }\n\n if (isLastRouteSegment && !isLastBaseSegment) {\n return !!matchLocation.fuzzy\n }\n }\n return true\n })()\n\n return isMatch ? (params as Record<string, string>) : undefined\n}\n"],"names":["joinPaths","paths","cleanPath","filter","Boolean","join","path","replace","trimPathLeft","trimPathRight","trimPath","resolvePath","basepath","base","to","RegExp","baseSegments","parsePathname","toSegments","forEach","toSegment","index","value","length","push","last","pop","joined","map","d","pathname","segments","slice","substring","type","split","part","startsWith","charAt","interpolatePath","params","leaveWildcard","interpolatedPathSegments","segment","matchPathname","currentPathname","matchLocation","pathParams","matchByPath","from","routeSegments","isMatch","i","Math","max","baseSegment","routeSegment","isLastRouteSegment","isLastBaseSegment","caseSensitive","toLowerCase","fuzzy","undefined"],"mappings":"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"}
@@ -1,71 +0,0 @@
1
- /**
2
- * router-core
3
- *
4
- * Copyright (c) TanStack
5
- *
6
- * This source code is licensed under the MIT license found in the
7
- * LICENSE.md file in the root directory of this source tree.
8
- *
9
- * @license MIT
10
- */
11
- 'use strict';
12
-
13
- Object.defineProperty(exports, '__esModule', { value: true });
14
-
15
- // @ts-nocheck
16
- // qss has been slightly modified and inlined here for our use cases (and compression's sake). We've included it as a hard dependency for MIT license attribution.
17
- function encode(obj, pfx) {
18
- var k,
19
- i,
20
- tmp,
21
- str = '';
22
-
23
- for (k in obj) {
24
- if ((tmp = obj[k]) !== void 0) {
25
- if (Array.isArray(tmp)) {
26
- for (i = 0; i < tmp.length; i++) {
27
- str && (str += '&');
28
- str += encodeURIComponent(k) + '=' + encodeURIComponent(tmp[i]);
29
- }
30
- } else {
31
- str && (str += '&');
32
- str += encodeURIComponent(k) + '=' + encodeURIComponent(tmp);
33
- }
34
- }
35
- }
36
-
37
- return (pfx || '') + str;
38
- }
39
-
40
- function toValue(mix) {
41
- if (!mix) return '';
42
- var str = decodeURIComponent(mix);
43
- if (str === 'false') return false;
44
- if (str === 'true') return true;
45
- if (str.charAt(0) === '0') return str;
46
- return +str * 0 === 0 ? +str : str;
47
- }
48
-
49
- function decode(str) {
50
- var tmp,
51
- k,
52
- out = {},
53
- arr = str.split('&');
54
-
55
- while (tmp = arr.shift()) {
56
- tmp = tmp.split('=');
57
- k = tmp.shift();
58
-
59
- if (out[k] !== void 0) {
60
- out[k] = [].concat(out[k], toValue(tmp.shift()));
61
- } else {
62
- out[k] = toValue(tmp.shift());
63
- }
64
- }
65
-
66
- return out;
67
- }
68
-
69
- exports.decode = decode;
70
- exports.encode = encode;
71
- //# sourceMappingURL=qss.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"qss.js","sources":["../../../../../src/qss.ts"],"sourcesContent":["// @ts-nocheck\n\n// qss has been slightly modified and inlined here for our use cases (and compression's sake). We've included it as a hard dependency for MIT license attribution.\n\nexport function encode(obj, pfx?: string) {\n var k,\n i,\n tmp,\n str = ''\n\n for (k in obj) {\n if ((tmp = obj[k]) !== void 0) {\n if (Array.isArray(tmp)) {\n for (i = 0; i < tmp.length; i++) {\n str && (str += '&')\n str += encodeURIComponent(k) + '=' + encodeURIComponent(tmp[i])\n }\n } else {\n str && (str += '&')\n str += encodeURIComponent(k) + '=' + encodeURIComponent(tmp)\n }\n }\n }\n\n return (pfx || '') + str\n}\n\nfunction toValue(mix) {\n if (!mix) return ''\n var str = decodeURIComponent(mix)\n if (str === 'false') return false\n if (str === 'true') return true\n if (str.charAt(0) === '0') return str\n return +str * 0 === 0 ? +str : str\n}\n\nexport function decode(str) {\n var tmp,\n k,\n out = {},\n arr = str.split('&')\n\n while ((tmp = arr.shift())) {\n tmp = tmp.split('=')\n k = tmp.shift()\n if (out[k] !== void 0) {\n out[k] = [].concat(out[k], toValue(tmp.shift()))\n } else {\n out[k] = toValue(tmp.shift())\n }\n }\n\n return out\n}\n"],"names":["encode","obj","pfx","k","i","tmp","str","Array","isArray","length","encodeURIComponent","toValue","mix","decodeURIComponent","charAt","decode","out","arr","split","shift","concat"],"mappings":";;;;;;;;;;;;;;AAAA;AAEA;AAEO,SAASA,MAAT,CAAgBC,GAAhB,EAAqBC,GAArB,EAAmC;AACxC,EAAA,IAAIC,CAAJ;AAAA,MACEC,CADF;AAAA,MAEEC,GAFF;MAGEC,GAAG,GAAG,EAHR,CAAA;;EAKA,KAAKH,CAAL,IAAUF,GAAV,EAAe;IACb,IAAI,CAACI,GAAG,GAAGJ,GAAG,CAACE,CAAD,CAAV,MAAmB,KAAK,CAA5B,EAA+B;AAC7B,MAAA,IAAII,KAAK,CAACC,OAAN,CAAcH,GAAd,CAAJ,EAAwB;AACtB,QAAA,KAAKD,CAAC,GAAG,CAAT,EAAYA,CAAC,GAAGC,GAAG,CAACI,MAApB,EAA4BL,CAAC,EAA7B,EAAiC;AAC/BE,UAAAA,GAAG,KAAKA,GAAG,IAAI,GAAZ,CAAH,CAAA;AACAA,UAAAA,GAAG,IAAII,kBAAkB,CAACP,CAAD,CAAlB,GAAwB,GAAxB,GAA8BO,kBAAkB,CAACL,GAAG,CAACD,CAAD,CAAJ,CAAvD,CAAA;AACD,SAAA;AACF,OALD,MAKO;AACLE,QAAAA,GAAG,KAAKA,GAAG,IAAI,GAAZ,CAAH,CAAA;QACAA,GAAG,IAAII,kBAAkB,CAACP,CAAD,CAAlB,GAAwB,GAAxB,GAA8BO,kBAAkB,CAACL,GAAD,CAAvD,CAAA;AACD,OAAA;AACF,KAAA;AACF,GAAA;;AAED,EAAA,OAAO,CAACH,GAAG,IAAI,EAAR,IAAcI,GAArB,CAAA;AACD,CAAA;;AAED,SAASK,OAAT,CAAiBC,GAAjB,EAAsB;AACpB,EAAA,IAAI,CAACA,GAAL,EAAU,OAAO,EAAP,CAAA;AACV,EAAA,IAAIN,GAAG,GAAGO,kBAAkB,CAACD,GAAD,CAA5B,CAAA;AACA,EAAA,IAAIN,GAAG,KAAK,OAAZ,EAAqB,OAAO,KAAP,CAAA;AACrB,EAAA,IAAIA,GAAG,KAAK,MAAZ,EAAoB,OAAO,IAAP,CAAA;EACpB,IAAIA,GAAG,CAACQ,MAAJ,CAAW,CAAX,CAAkB,KAAA,GAAtB,EAA2B,OAAOR,GAAP,CAAA;EAC3B,OAAO,CAACA,GAAD,GAAO,CAAP,KAAa,CAAb,GAAiB,CAACA,GAAlB,GAAwBA,GAA/B,CAAA;AACD,CAAA;;AAEM,SAASS,MAAT,CAAgBT,GAAhB,EAAqB;AAC1B,EAAA,IAAID,GAAJ;AAAA,MACEF,CADF;MAEEa,GAAG,GAAG,EAFR;AAAA,MAGEC,GAAG,GAAGX,GAAG,CAACY,KAAJ,CAAU,GAAV,CAHR,CAAA;;AAKA,EAAA,OAAQb,GAAG,GAAGY,GAAG,CAACE,KAAJ,EAAd,EAA4B;AAC1Bd,IAAAA,GAAG,GAAGA,GAAG,CAACa,KAAJ,CAAU,GAAV,CAAN,CAAA;AACAf,IAAAA,CAAC,GAAGE,GAAG,CAACc,KAAJ,EAAJ,CAAA;;AACA,IAAA,IAAIH,GAAG,CAACb,CAAD,CAAH,KAAW,KAAK,CAApB,EAAuB;AACrBa,MAAAA,GAAG,CAACb,CAAD,CAAH,GAAS,EAAGiB,CAAAA,MAAH,CAAUJ,GAAG,CAACb,CAAD,CAAb,EAAkBQ,OAAO,CAACN,GAAG,CAACc,KAAJ,EAAD,CAAzB,CAAT,CAAA;AACD,KAFD,MAEO;MACLH,GAAG,CAACb,CAAD,CAAH,GAASQ,OAAO,CAACN,GAAG,CAACc,KAAJ,EAAD,CAAhB,CAAA;AACD,KAAA;AACF,GAAA;;AAED,EAAA,OAAOH,GAAP,CAAA;AACD;;;;;"}