@tanstack/solid-router 2.0.0-alpha.1 → 2.0.0-alpha.3

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 (207) hide show
  1. package/dist/cjs/Asset.cjs +124 -167
  2. package/dist/cjs/Asset.cjs.map +1 -1
  3. package/dist/cjs/CatchBoundary.cjs +52 -68
  4. package/dist/cjs/CatchBoundary.cjs.map +1 -1
  5. package/dist/cjs/ClientOnly.cjs +61 -39
  6. package/dist/cjs/ClientOnly.cjs.map +1 -1
  7. package/dist/cjs/HeadContent.cjs +35 -27
  8. package/dist/cjs/HeadContent.cjs.map +1 -1
  9. package/dist/cjs/HeadContent.dev.cjs +48 -41
  10. package/dist/cjs/HeadContent.dev.cjs.map +1 -1
  11. package/dist/cjs/Match.cjs +367 -442
  12. package/dist/cjs/Match.cjs.map +1 -1
  13. package/dist/cjs/Matches.cjs +114 -158
  14. package/dist/cjs/Matches.cjs.map +1 -1
  15. package/dist/cjs/RouterProvider.cjs +29 -41
  16. package/dist/cjs/RouterProvider.cjs.map +1 -1
  17. package/dist/cjs/SafeFragment.cjs +7 -5
  18. package/dist/cjs/SafeFragment.cjs.map +1 -1
  19. package/dist/cjs/ScriptOnce.cjs +20 -22
  20. package/dist/cjs/ScriptOnce.cjs.map +1 -1
  21. package/dist/cjs/Scripts.cjs +43 -58
  22. package/dist/cjs/Scripts.cjs.map +1 -1
  23. package/dist/cjs/ScrollRestoration.cjs +26 -28
  24. package/dist/cjs/ScrollRestoration.cjs.map +1 -1
  25. package/dist/cjs/Transitioner.cjs +91 -124
  26. package/dist/cjs/Transitioner.cjs.map +1 -1
  27. package/dist/cjs/_virtual/_rolldown/runtime.cjs +23 -0
  28. package/dist/cjs/awaited.cjs +31 -53
  29. package/dist/cjs/awaited.cjs.map +1 -1
  30. package/dist/cjs/fileRoute.cjs +96 -91
  31. package/dist/cjs/fileRoute.cjs.map +1 -1
  32. package/dist/cjs/fileRoute.d.cts +2 -2
  33. package/dist/cjs/headContentUtils.cjs +132 -170
  34. package/dist/cjs/headContentUtils.cjs.map +1 -1
  35. package/dist/cjs/index.cjs +245 -176
  36. package/dist/cjs/index.dev.cjs +245 -176
  37. package/dist/cjs/lazyRouteComponent.cjs +48 -54
  38. package/dist/cjs/lazyRouteComponent.cjs.map +1 -1
  39. package/dist/cjs/link.cjs +310 -345
  40. package/dist/cjs/link.cjs.map +1 -1
  41. package/dist/cjs/matchContext.cjs +9 -23
  42. package/dist/cjs/matchContext.cjs.map +1 -1
  43. package/dist/cjs/not-found.cjs +26 -34
  44. package/dist/cjs/not-found.cjs.map +1 -1
  45. package/dist/cjs/renderRouteNotFound.cjs +23 -16
  46. package/dist/cjs/renderRouteNotFound.cjs.map +1 -1
  47. package/dist/cjs/route.cjs +200 -215
  48. package/dist/cjs/route.cjs.map +1 -1
  49. package/dist/cjs/router.cjs +18 -16
  50. package/dist/cjs/router.cjs.map +1 -1
  51. package/dist/cjs/routerContext.cjs +8 -22
  52. package/dist/cjs/routerContext.cjs.map +1 -1
  53. package/dist/cjs/scroll-restoration.cjs +25 -35
  54. package/dist/cjs/scroll-restoration.cjs.map +1 -1
  55. package/dist/cjs/ssr/RouterClient.cjs +18 -23
  56. package/dist/cjs/ssr/RouterClient.cjs.map +1 -1
  57. package/dist/cjs/ssr/RouterServer.cjs +10 -10
  58. package/dist/cjs/ssr/RouterServer.cjs.map +1 -1
  59. package/dist/cjs/ssr/client.cjs +2 -4
  60. package/dist/cjs/ssr/defaultRenderHandler.cjs +12 -16
  61. package/dist/cjs/ssr/defaultRenderHandler.cjs.map +1 -1
  62. package/dist/cjs/ssr/defaultStreamHandler.cjs +13 -18
  63. package/dist/cjs/ssr/defaultStreamHandler.cjs.map +1 -1
  64. package/dist/cjs/ssr/renderRouterToStream.cjs +26 -54
  65. package/dist/cjs/ssr/renderRouterToStream.cjs.map +1 -1
  66. package/dist/cjs/ssr/renderRouterToString.cjs +33 -57
  67. package/dist/cjs/ssr/renderRouterToString.cjs.map +1 -1
  68. package/dist/cjs/ssr/server.cjs +18 -18
  69. package/dist/cjs/useBlocker.cjs +140 -177
  70. package/dist/cjs/useBlocker.cjs.map +1 -1
  71. package/dist/cjs/useBlocker.d.cts +8 -5
  72. package/dist/cjs/useCanGoBack.cjs +6 -5
  73. package/dist/cjs/useCanGoBack.cjs.map +1 -1
  74. package/dist/cjs/useLoaderData.cjs +12 -11
  75. package/dist/cjs/useLoaderData.cjs.map +1 -1
  76. package/dist/cjs/useLoaderDeps.cjs +12 -14
  77. package/dist/cjs/useLoaderDeps.cjs.map +1 -1
  78. package/dist/cjs/useLocation.cjs +6 -7
  79. package/dist/cjs/useLocation.cjs.map +1 -1
  80. package/dist/cjs/useMatch.cjs +25 -46
  81. package/dist/cjs/useMatch.cjs.map +1 -1
  82. package/dist/cjs/useNavigate.cjs +20 -38
  83. package/dist/cjs/useNavigate.cjs.map +1 -1
  84. package/dist/cjs/useParams.cjs +14 -13
  85. package/dist/cjs/useParams.cjs.map +1 -1
  86. package/dist/cjs/useRouteContext.cjs +9 -8
  87. package/dist/cjs/useRouteContext.cjs.map +1 -1
  88. package/dist/cjs/useRouter.cjs +13 -26
  89. package/dist/cjs/useRouter.cjs.map +1 -1
  90. package/dist/cjs/useRouterState.cjs +40 -43
  91. package/dist/cjs/useRouterState.cjs.map +1 -1
  92. package/dist/cjs/useSearch.cjs +13 -12
  93. package/dist/cjs/useSearch.cjs.map +1 -1
  94. package/dist/cjs/utils.cjs +57 -49
  95. package/dist/cjs/utils.cjs.map +1 -1
  96. package/dist/esm/Asset.js +122 -166
  97. package/dist/esm/Asset.js.map +1 -1
  98. package/dist/esm/CatchBoundary.js +48 -50
  99. package/dist/esm/CatchBoundary.js.map +1 -1
  100. package/dist/esm/ClientOnly.js +58 -22
  101. package/dist/esm/ClientOnly.js.map +1 -1
  102. package/dist/esm/HeadContent.dev.js +46 -40
  103. package/dist/esm/HeadContent.dev.js.map +1 -1
  104. package/dist/esm/HeadContent.js +33 -26
  105. package/dist/esm/HeadContent.js.map +1 -1
  106. package/dist/esm/Match.js +359 -422
  107. package/dist/esm/Match.js.map +1 -1
  108. package/dist/esm/Matches.js +107 -142
  109. package/dist/esm/Matches.js.map +1 -1
  110. package/dist/esm/RouterProvider.js +26 -40
  111. package/dist/esm/RouterProvider.js.map +1 -1
  112. package/dist/esm/SafeFragment.js +6 -5
  113. package/dist/esm/SafeFragment.js.map +1 -1
  114. package/dist/esm/ScriptOnce.js +18 -21
  115. package/dist/esm/ScriptOnce.js.map +1 -1
  116. package/dist/esm/Scripts.js +42 -58
  117. package/dist/esm/Scripts.js.map +1 -1
  118. package/dist/esm/ScrollRestoration.js +25 -29
  119. package/dist/esm/ScrollRestoration.js.map +1 -1
  120. package/dist/esm/Transitioner.js +87 -105
  121. package/dist/esm/Transitioner.js.map +1 -1
  122. package/dist/esm/awaited.js +28 -36
  123. package/dist/esm/awaited.js.map +1 -1
  124. package/dist/esm/fileRoute.d.ts +2 -2
  125. package/dist/esm/fileRoute.js +90 -92
  126. package/dist/esm/fileRoute.js.map +1 -1
  127. package/dist/esm/headContentUtils.js +129 -152
  128. package/dist/esm/headContentUtils.js.map +1 -1
  129. package/dist/esm/index.dev.js +15 -115
  130. package/dist/esm/index.js +17 -116
  131. package/dist/esm/lazyRouteComponent.js +46 -53
  132. package/dist/esm/lazyRouteComponent.js.map +1 -1
  133. package/dist/esm/link.js +306 -329
  134. package/dist/esm/link.js.map +1 -1
  135. package/dist/esm/matchContext.js +7 -7
  136. package/dist/esm/matchContext.js.map +1 -1
  137. package/dist/esm/not-found.js +23 -33
  138. package/dist/esm/not-found.js.map +1 -1
  139. package/dist/esm/renderRouteNotFound.js +20 -15
  140. package/dist/esm/renderRouteNotFound.js.map +1 -1
  141. package/dist/esm/route.js +193 -218
  142. package/dist/esm/route.js.map +1 -1
  143. package/dist/esm/router.js +17 -17
  144. package/dist/esm/router.js.map +1 -1
  145. package/dist/esm/routerContext.js +6 -5
  146. package/dist/esm/routerContext.js.map +1 -1
  147. package/dist/esm/scroll-restoration.js +23 -34
  148. package/dist/esm/scroll-restoration.js.map +1 -1
  149. package/dist/esm/ssr/RouterClient.js +16 -22
  150. package/dist/esm/ssr/RouterClient.js.map +1 -1
  151. package/dist/esm/ssr/RouterServer.js +9 -10
  152. package/dist/esm/ssr/RouterServer.js.map +1 -1
  153. package/dist/esm/ssr/client.js +1 -4
  154. package/dist/esm/ssr/defaultRenderHandler.js +11 -15
  155. package/dist/esm/ssr/defaultRenderHandler.js.map +1 -1
  156. package/dist/esm/ssr/defaultStreamHandler.js +12 -17
  157. package/dist/esm/ssr/defaultStreamHandler.js.map +1 -1
  158. package/dist/esm/ssr/renderRouterToStream.js +23 -36
  159. package/dist/esm/ssr/renderRouterToStream.js.map +1 -1
  160. package/dist/esm/ssr/renderRouterToString.js +31 -40
  161. package/dist/esm/ssr/renderRouterToString.js.map +1 -1
  162. package/dist/esm/ssr/server.js +3 -10
  163. package/dist/esm/useBlocker.d.ts +8 -5
  164. package/dist/esm/useBlocker.js +136 -159
  165. package/dist/esm/useBlocker.js.map +1 -1
  166. package/dist/esm/useCanGoBack.js +6 -5
  167. package/dist/esm/useCanGoBack.js.map +1 -1
  168. package/dist/esm/useLoaderData.js +12 -11
  169. package/dist/esm/useLoaderData.js.map +1 -1
  170. package/dist/esm/useLoaderDeps.js +12 -14
  171. package/dist/esm/useLoaderDeps.js.map +1 -1
  172. package/dist/esm/useLocation.js +6 -7
  173. package/dist/esm/useLocation.js.map +1 -1
  174. package/dist/esm/useMatch.js +21 -28
  175. package/dist/esm/useMatch.js.map +1 -1
  176. package/dist/esm/useNavigate.js +18 -22
  177. package/dist/esm/useNavigate.js.map +1 -1
  178. package/dist/esm/useParams.js +14 -13
  179. package/dist/esm/useParams.js.map +1 -1
  180. package/dist/esm/useRouteContext.js +9 -8
  181. package/dist/esm/useRouteContext.js.map +1 -1
  182. package/dist/esm/useRouter.js +9 -8
  183. package/dist/esm/useRouter.js.map +1 -1
  184. package/dist/esm/useRouterState.js +38 -42
  185. package/dist/esm/useRouterState.js.map +1 -1
  186. package/dist/esm/useSearch.js +13 -12
  187. package/dist/esm/useSearch.js.map +1 -1
  188. package/dist/esm/utils.js +55 -33
  189. package/dist/esm/utils.js.map +1 -1
  190. package/dist/source/fileRoute.d.ts +2 -2
  191. package/dist/source/useBlocker.d.ts +8 -5
  192. package/dist/source/useBlocker.jsx +2 -2
  193. package/dist/source/useBlocker.jsx.map +1 -1
  194. package/dist/source/useRouterState.jsx +7 -0
  195. package/dist/source/useRouterState.jsx.map +1 -1
  196. package/package.json +3 -3
  197. package/src/fileRoute.ts +2 -2
  198. package/src/useBlocker.tsx +15 -10
  199. package/src/useRouterState.tsx +10 -0
  200. package/dist/cjs/index.cjs.map +0 -1
  201. package/dist/cjs/index.dev.cjs.map +0 -1
  202. package/dist/cjs/ssr/client.cjs.map +0 -1
  203. package/dist/cjs/ssr/server.cjs.map +0 -1
  204. package/dist/esm/index.dev.js.map +0 -1
  205. package/dist/esm/index.js.map +0 -1
  206. package/dist/esm/ssr/client.js.map +0 -1
  207. package/dist/esm/ssr/server.js.map +0 -1
@@ -1,27 +1,23 @@
1
- import * as Solid from "solid-js";
2
1
  import { useRouter } from "./useRouter.js";
2
+ import * as Solid from "solid-js";
3
+ //#region src/useNavigate.tsx
3
4
  function useNavigate(_defaultOpts) {
4
- const router = useRouter();
5
- return ((options) => {
6
- return router.navigate({
7
- ...options,
8
- from: options.from ?? _defaultOpts?.from
9
- });
10
- });
5
+ const router = useRouter();
6
+ return ((options) => {
7
+ return router.navigate({
8
+ ...options,
9
+ from: options.from ?? _defaultOpts?.from
10
+ });
11
+ });
11
12
  }
12
13
  function Navigate(props) {
13
- const {
14
- navigate
15
- } = useRouter();
16
- Solid.onSettled(() => {
17
- navigate({
18
- ...props
19
- });
20
- });
21
- return null;
14
+ const { navigate } = useRouter();
15
+ Solid.onSettled(() => {
16
+ navigate({ ...props });
17
+ });
18
+ return null;
22
19
  }
23
- export {
24
- Navigate,
25
- useNavigate
26
- };
27
- //# sourceMappingURL=useNavigate.js.map
20
+ //#endregion
21
+ export { Navigate, useNavigate };
22
+
23
+ //# sourceMappingURL=useNavigate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useNavigate.js","sources":["../../src/useNavigate.tsx"],"sourcesContent":["import * as Solid from 'solid-js'\nimport { useRouter } from './useRouter'\nimport type {\n AnyRouter,\n FromPathOption,\n NavigateOptions,\n RegisteredRouter,\n UseNavigateResult,\n} from '@tanstack/router-core'\n\nexport function useNavigate<\n TRouter extends AnyRouter = RegisteredRouter,\n TDefaultFrom extends string = string,\n>(_defaultOpts?: {\n from?: FromPathOption<TRouter, TDefaultFrom>\n}): UseNavigateResult<TDefaultFrom> {\n const router = useRouter()\n\n return ((options: NavigateOptions) => {\n return router.navigate({\n ...options,\n from: options.from ?? _defaultOpts?.from,\n })\n }) as UseNavigateResult<TDefaultFrom>\n}\n\nexport function Navigate<\n TRouter extends AnyRouter = RegisteredRouter,\n const TFrom extends string = string,\n const TTo extends string | undefined = undefined,\n const TMaskFrom extends string = TFrom,\n const TMaskTo extends string = '',\n>(props: NavigateOptions<TRouter, TFrom, TTo, TMaskFrom, TMaskTo>): null {\n const { navigate } = useRouter()\n\n Solid.onSettled(() => {\n navigate({\n ...props,\n })\n })\n\n return null\n}\n"],"names":["useNavigate","_defaultOpts","router","useRouter","options","navigate","from","Navigate","props","Solid","onSettled"],"mappings":";;AAUO,SAASA,YAGdC,cAEkC;AAClC,QAAMC,SAASC,UAAAA;AAEf,UAAQ,CAACC,YAA6B;AACpC,WAAOF,OAAOG,SAAS;AAAA,MACrB,GAAGD;AAAAA,MACHE,MAAMF,QAAQE,QAAQL,cAAcK;AAAAA,IAAAA,CACrC;AAAA,EACH;AACF;AAEO,SAASC,SAMdC,OAAuE;AACvE,QAAM;AAAA,IAAEH;AAAAA,EAAAA,IAAaF,UAAAA;AAErBM,QAAMC,UAAU,MAAM;AACpBL,aAAS;AAAA,MACP,GAAGG;AAAAA,IAAAA,CACJ;AAAA,EACH,CAAC;AAED,SAAO;AACT;"}
1
+ {"version":3,"file":"useNavigate.js","names":["Solid","useRouter","AnyRouter","FromPathOption","NavigateOptions","RegisteredRouter","UseNavigateResult","useNavigate","_defaultOpts","from","TRouter","TDefaultFrom","router","options","navigate","Navigate","TFrom","props","TTo","TMaskFrom","TMaskTo","onSettled"],"sources":["../../src/useNavigate.tsx"],"sourcesContent":["import * as Solid from 'solid-js'\nimport { useRouter } from './useRouter'\nimport type {\n AnyRouter,\n FromPathOption,\n NavigateOptions,\n RegisteredRouter,\n UseNavigateResult,\n} from '@tanstack/router-core'\n\nexport function useNavigate<\n TRouter extends AnyRouter = RegisteredRouter,\n TDefaultFrom extends string = string,\n>(_defaultOpts?: {\n from?: FromPathOption<TRouter, TDefaultFrom>\n}): UseNavigateResult<TDefaultFrom> {\n const router = useRouter()\n\n return ((options: NavigateOptions) => {\n return router.navigate({\n ...options,\n from: options.from ?? _defaultOpts?.from,\n })\n }) as UseNavigateResult<TDefaultFrom>\n}\n\nexport function Navigate<\n TRouter extends AnyRouter = RegisteredRouter,\n const TFrom extends string = string,\n const TTo extends string | undefined = undefined,\n const TMaskFrom extends string = TFrom,\n const TMaskTo extends string = '',\n>(props: NavigateOptions<TRouter, TFrom, TTo, TMaskFrom, TMaskTo>): null {\n const { navigate } = useRouter()\n\n Solid.onSettled(() => {\n navigate({\n ...props,\n })\n })\n\n return null\n}\n"],"mappings":";;;AAUA,SAAgBO,YAGdC,cAEkC;CAClC,MAAMI,SAASX,WAAW;AAE1B,UAASY,YAA6B;AACpC,SAAOD,OAAOE,SAAS;GACrB,GAAGD;GACHJ,MAAMI,QAAQJ,QAAQD,cAAcC;GACrC,CAAC;;;AAIN,SAAgBM,SAMdE,OAAuE;CACvE,MAAM,EAAEH,aAAab,WAAW;AAEhCD,OAAMqB,gBAAgB;AACpBP,WAAS,EACP,GAAGG,OACJ,CAAC;GACF;AAEF,QAAO"}
@@ -1,16 +1,17 @@
1
1
  import { useMatch } from "./useMatch.js";
2
+ //#region src/useParams.tsx
2
3
  function useParams(opts) {
3
- return useMatch({
4
- from: opts.from,
5
- shouldThrow: opts.shouldThrow,
6
- strict: opts.strict,
7
- select: (match) => {
8
- const params = opts.strict === false ? match.params : match._strictParams;
9
- return opts.select ? opts.select(params) : params;
10
- }
11
- });
4
+ return useMatch({
5
+ from: opts.from,
6
+ shouldThrow: opts.shouldThrow,
7
+ strict: opts.strict,
8
+ select: (match) => {
9
+ const params = opts.strict === false ? match.params : match._strictParams;
10
+ return opts.select ? opts.select(params) : params;
11
+ }
12
+ });
12
13
  }
13
- export {
14
- useParams
15
- };
16
- //# sourceMappingURL=useParams.js.map
14
+ //#endregion
15
+ export { useParams };
16
+
17
+ //# sourceMappingURL=useParams.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useParams.js","sources":["../../src/useParams.tsx"],"sourcesContent":["import { useMatch } from './useMatch'\nimport type { Accessor } from 'solid-js'\nimport type {\n AnyRouter,\n RegisteredRouter,\n ResolveUseParams,\n StrictOrFrom,\n ThrowConstraint,\n ThrowOrOptional,\n UseParamsResult,\n} from '@tanstack/router-core'\n\nexport interface UseParamsBaseOptions<\n TRouter extends AnyRouter,\n TFrom,\n TStrict extends boolean,\n TThrow extends boolean,\n TSelected,\n> {\n select?: (params: ResolveUseParams<TRouter, TFrom, TStrict>) => TSelected\n shouldThrow?: TThrow\n}\n\nexport type UseParamsOptions<\n TRouter extends AnyRouter,\n TFrom extends string | undefined,\n TStrict extends boolean,\n TThrow extends boolean,\n TSelected,\n> = StrictOrFrom<TRouter, TFrom, TStrict> &\n UseParamsBaseOptions<TRouter, TFrom, TStrict, TThrow, TSelected>\n\nexport type UseParamsRoute<out TFrom> = <\n TRouter extends AnyRouter = RegisteredRouter,\n TSelected = unknown,\n>(\n opts?: UseParamsBaseOptions<\n TRouter,\n TFrom,\n /* TStrict */ true,\n /* TThrow */ true,\n TSelected\n >,\n) => Accessor<UseParamsResult<TRouter, TFrom, true, TSelected>>\n\nexport function useParams<\n TRouter extends AnyRouter = RegisteredRouter,\n const TFrom extends string | undefined = undefined,\n TStrict extends boolean = true,\n TThrow extends boolean = true,\n TSelected = unknown,\n>(\n opts: UseParamsOptions<\n TRouter,\n TFrom,\n TStrict,\n ThrowConstraint<TStrict, TThrow>,\n TSelected\n >,\n): Accessor<\n ThrowOrOptional<UseParamsResult<TRouter, TFrom, TStrict, TSelected>, TThrow>\n> {\n return useMatch({\n from: opts.from!,\n shouldThrow: opts.shouldThrow,\n strict: opts.strict,\n select: (match) => {\n const params = opts.strict === false ? match.params : match._strictParams\n\n return opts.select ? opts.select(params) : params\n },\n }) as Accessor<any>\n}\n"],"names":["useParams","opts","useMatch","from","shouldThrow","strict","select","match","params","_strictParams"],"mappings":";AA6CO,SAASA,UAOdC,MASA;AACA,SAAOC,SAAS;AAAA,IACdC,MAAMF,KAAKE;AAAAA,IACXC,aAAaH,KAAKG;AAAAA,IAClBC,QAAQJ,KAAKI;AAAAA,IACbC,QAASC,CAAAA,UAAU;AACjB,YAAMC,SAASP,KAAKI,WAAW,QAAQE,MAAMC,SAASD,MAAME;AAE5D,aAAOR,KAAKK,SAASL,KAAKK,OAAOE,MAAM,IAAIA;AAAAA,IAC7C;AAAA,EAAA,CACD;AACH;"}
1
+ {"version":3,"file":"useParams.js","names":["useMatch","Accessor","AnyRouter","RegisteredRouter","ResolveUseParams","StrictOrFrom","ThrowConstraint","ThrowOrOptional","UseParamsResult","UseParamsBaseOptions","select","params","TRouter","TFrom","TStrict","TSelected","shouldThrow","TThrow","UseParamsOptions","UseParamsRoute","opts","useParams","from","strict","match","_strictParams"],"sources":["../../src/useParams.tsx"],"sourcesContent":["import { useMatch } from './useMatch'\nimport type { Accessor } from 'solid-js'\nimport type {\n AnyRouter,\n RegisteredRouter,\n ResolveUseParams,\n StrictOrFrom,\n ThrowConstraint,\n ThrowOrOptional,\n UseParamsResult,\n} from '@tanstack/router-core'\n\nexport interface UseParamsBaseOptions<\n TRouter extends AnyRouter,\n TFrom,\n TStrict extends boolean,\n TThrow extends boolean,\n TSelected,\n> {\n select?: (params: ResolveUseParams<TRouter, TFrom, TStrict>) => TSelected\n shouldThrow?: TThrow\n}\n\nexport type UseParamsOptions<\n TRouter extends AnyRouter,\n TFrom extends string | undefined,\n TStrict extends boolean,\n TThrow extends boolean,\n TSelected,\n> = StrictOrFrom<TRouter, TFrom, TStrict> &\n UseParamsBaseOptions<TRouter, TFrom, TStrict, TThrow, TSelected>\n\nexport type UseParamsRoute<out TFrom> = <\n TRouter extends AnyRouter = RegisteredRouter,\n TSelected = unknown,\n>(\n opts?: UseParamsBaseOptions<\n TRouter,\n TFrom,\n /* TStrict */ true,\n /* TThrow */ true,\n TSelected\n >,\n) => Accessor<UseParamsResult<TRouter, TFrom, true, TSelected>>\n\nexport function useParams<\n TRouter extends AnyRouter = RegisteredRouter,\n const TFrom extends string | undefined = undefined,\n TStrict extends boolean = true,\n TThrow extends boolean = true,\n TSelected = unknown,\n>(\n opts: UseParamsOptions<\n TRouter,\n TFrom,\n TStrict,\n ThrowConstraint<TStrict, TThrow>,\n TSelected\n >,\n): Accessor<\n ThrowOrOptional<UseParamsResult<TRouter, TFrom, TStrict, TSelected>, TThrow>\n> {\n return useMatch({\n from: opts.from!,\n shouldThrow: opts.shouldThrow,\n strict: opts.strict,\n select: (match) => {\n const params = opts.strict === false ? match.params : match._strictParams\n\n return opts.select ? opts.select(params) : params\n },\n }) as Accessor<any>\n}\n"],"mappings":";;AA6CA,SAAgBqB,UAOdD,MASA;AACA,QAAOpB,SAAS;EACdsB,MAAMF,KAAKE;EACXN,aAAaI,KAAKJ;EAClBO,QAAQH,KAAKG;EACbb,SAASc,UAAU;GACjB,MAAMb,SAASS,KAAKG,WAAW,QAAQC,MAAMb,SAASa,MAAMC;AAE5D,UAAOL,KAAKV,SAASU,KAAKV,OAAOC,OAAO,GAAGA;;EAE9C,CAAC"}
@@ -1,11 +1,12 @@
1
1
  import { useMatch } from "./useMatch.js";
2
+ //#region src/useRouteContext.ts
2
3
  function useRouteContext(opts) {
3
- return useMatch({
4
- ...opts,
5
- select: (match) => opts.select ? opts.select(match.context) : match.context
6
- });
4
+ return useMatch({
5
+ ...opts,
6
+ select: (match) => opts.select ? opts.select(match.context) : match.context
7
+ });
7
8
  }
8
- export {
9
- useRouteContext
10
- };
11
- //# sourceMappingURL=useRouteContext.js.map
9
+ //#endregion
10
+ export { useRouteContext };
11
+
12
+ //# sourceMappingURL=useRouteContext.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useRouteContext.js","sources":["../../src/useRouteContext.ts"],"sourcesContent":["import { useMatch } from './useMatch'\nimport type { Accessor } from 'solid-js'\nimport type {\n AnyRouter,\n RegisteredRouter,\n UseRouteContextBaseOptions,\n UseRouteContextOptions,\n UseRouteContextResult,\n} from '@tanstack/router-core'\n\nexport type UseRouteContextRoute<out TFrom> = <\n TRouter extends AnyRouter = RegisteredRouter,\n TSelected = unknown,\n>(\n opts?: UseRouteContextBaseOptions<TRouter, TFrom, true, TSelected>,\n) => Accessor<UseRouteContextResult<TRouter, TFrom, true, TSelected>>\n\nexport function useRouteContext<\n TRouter extends AnyRouter = RegisteredRouter,\n const TFrom extends string | undefined = undefined,\n TStrict extends boolean = true,\n TSelected = unknown,\n>(\n opts: UseRouteContextOptions<TRouter, TFrom, TStrict, TSelected>,\n): Accessor<UseRouteContextResult<TRouter, TFrom, TStrict, TSelected>> {\n return useMatch({\n ...(opts as any),\n select: (match) =>\n opts.select ? opts.select(match.context) : match.context,\n }) as any\n}\n"],"names":[],"mappings":";AAiBO,SAAS,gBAMd,MACqE;AACrE,SAAO,SAAS;AAAA,IACd,GAAI;AAAA,IACJ,QAAQ,CAAC,UACP,KAAK,SAAS,KAAK,OAAO,MAAM,OAAO,IAAI,MAAM;AAAA,EAAA,CACpD;AACH;"}
1
+ {"version":3,"file":"useRouteContext.js","names":[],"sources":["../../src/useRouteContext.ts"],"sourcesContent":["import { useMatch } from './useMatch'\nimport type { Accessor } from 'solid-js'\nimport type {\n AnyRouter,\n RegisteredRouter,\n UseRouteContextBaseOptions,\n UseRouteContextOptions,\n UseRouteContextResult,\n} from '@tanstack/router-core'\n\nexport type UseRouteContextRoute<out TFrom> = <\n TRouter extends AnyRouter = RegisteredRouter,\n TSelected = unknown,\n>(\n opts?: UseRouteContextBaseOptions<TRouter, TFrom, true, TSelected>,\n) => Accessor<UseRouteContextResult<TRouter, TFrom, true, TSelected>>\n\nexport function useRouteContext<\n TRouter extends AnyRouter = RegisteredRouter,\n const TFrom extends string | undefined = undefined,\n TStrict extends boolean = true,\n TSelected = unknown,\n>(\n opts: UseRouteContextOptions<TRouter, TFrom, TStrict, TSelected>,\n): Accessor<UseRouteContextResult<TRouter, TFrom, TStrict, TSelected>> {\n return useMatch({\n ...(opts as any),\n select: (match) =>\n opts.select ? opts.select(match.context) : match.context,\n }) as any\n}\n"],"mappings":";;AAiBA,SAAgB,gBAMd,MACqE;AACrE,QAAO,SAAS;EACd,GAAI;EACJ,SAAS,UACP,KAAK,SAAS,KAAK,OAAO,MAAM,QAAQ,GAAG,MAAM;EACpD,CAAC"}
@@ -1,12 +1,13 @@
1
+ import { routerContext } from "./routerContext.js";
1
2
  import * as Solid from "solid-js";
2
3
  import warning from "tiny-warning";
3
- import { routerContext } from "./routerContext.js";
4
+ //#region src/useRouter.tsx
4
5
  function useRouter(opts) {
5
- const value = Solid.useContext(routerContext);
6
- warning(!((opts?.warn ?? true) && !value), "useRouter must be used inside a <RouterProvider> component!");
7
- return value;
6
+ const value = Solid.useContext(routerContext);
7
+ warning(!((opts?.warn ?? true) && !value), "useRouter must be used inside a <RouterProvider> component!");
8
+ return value;
8
9
  }
9
- export {
10
- useRouter
11
- };
12
- //# sourceMappingURL=useRouter.js.map
10
+ //#endregion
11
+ export { useRouter };
12
+
13
+ //# sourceMappingURL=useRouter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useRouter.js","sources":["../../src/useRouter.tsx"],"sourcesContent":["import * as Solid from 'solid-js'\nimport warning from 'tiny-warning'\nimport { routerContext } from './routerContext'\nimport type { AnyRouter, RegisteredRouter } from '@tanstack/router-core'\n\nexport function useRouter<TRouter extends AnyRouter = RegisteredRouter>(opts?: {\n warn?: boolean\n}): TRouter {\n const value = Solid.useContext(routerContext as any)\n warning(\n !((opts?.warn ?? true) && !value),\n 'useRouter must be used inside a <RouterProvider> component!',\n )\n return value as any\n}\n"],"names":["useRouter","opts","value","Solid","useContext","routerContext","warning","warn"],"mappings":";;;AAKO,SAASA,UAAwDC,MAE5D;AACV,QAAMC,QAAQC,MAAMC,WAAWC,aAAoB;AACnDC,UACE,GAAGL,MAAMM,QAAQ,SAAS,CAACL,QAC3B,6DACF;AACA,SAAOA;AACT;"}
1
+ {"version":3,"file":"useRouter.js","names":["Solid","warning","routerContext","AnyRouter","RegisteredRouter","useRouter","opts","warn","TRouter","value","useContext"],"sources":["../../src/useRouter.tsx"],"sourcesContent":["import * as Solid from 'solid-js'\nimport warning from 'tiny-warning'\nimport { routerContext } from './routerContext'\nimport type { AnyRouter, RegisteredRouter } from '@tanstack/router-core'\n\nexport function useRouter<TRouter extends AnyRouter = RegisteredRouter>(opts?: {\n warn?: boolean\n}): TRouter {\n const value = Solid.useContext(routerContext as any)\n warning(\n !((opts?.warn ?? true) && !value),\n 'useRouter must be used inside a <RouterProvider> component!',\n )\n return value as any\n}\n"],"mappings":";;;;AAKA,SAAgBK,UAAwDC,MAE5D;CACV,MAAMG,QAAQT,MAAMU,WAAWR,cAAqB;AACpDD,SACE,GAAGK,MAAMC,QAAQ,SAAS,CAACE,QAC3B,8DACD;AACD,QAAOA"}
@@ -1,48 +1,44 @@
1
+ import { useRouter } from "./useRouter.js";
1
2
  import { createMemo, createSignal, onCleanup } from "solid-js";
2
3
  import { isServer } from "@tanstack/router-core/isServer";
3
- import { useRouter } from "./useRouter.js";
4
+ //#region src/useRouterState.tsx
4
5
  function deepEqual(a, b) {
5
- if (Object.is(a, b)) return true;
6
- if (typeof a !== "object" || a === null || typeof b !== "object" || b === null) {
7
- return false;
8
- }
9
- const keysA = Object.keys(a);
10
- const keysB = Object.keys(b);
11
- if (keysA.length !== keysB.length) return false;
12
- for (const key of keysA) {
13
- if (!Object.prototype.hasOwnProperty.call(b, key)) return false;
14
- if (!deepEqual(a[key], b[key])) return false;
15
- }
16
- return true;
6
+ if (Object.is(a, b)) return true;
7
+ if (isPromiseLike(a) || isPromiseLike(b)) return false;
8
+ if (typeof a !== "object" || a === null || typeof b !== "object" || b === null) return false;
9
+ const keysA = Object.keys(a);
10
+ const keysB = Object.keys(b);
11
+ if (keysA.length !== keysB.length) return false;
12
+ for (const key of keysA) {
13
+ if (!Object.prototype.hasOwnProperty.call(b, key)) return false;
14
+ if (!deepEqual(a[key], b[key])) return false;
15
+ }
16
+ return true;
17
+ }
18
+ function isPromiseLike(value) {
19
+ return !!value && (typeof value === "object" || typeof value === "function") && typeof value.then === "function";
17
20
  }
18
21
  function useRouterState(opts) {
19
- const contextRouter = useRouter({
20
- warn: opts?.router === void 0
21
- });
22
- const router = opts?.router || contextRouter;
23
- const _isServer = isServer ?? router.isServer;
24
- if (_isServer) {
25
- const state = router.state;
26
- const selected2 = createMemo(() => opts?.select ? opts.select(state) : state);
27
- return selected2;
28
- }
29
- const selector = (state) => {
30
- if (opts?.select) return opts.select(state);
31
- return state;
32
- };
33
- const [storeState, setStoreState] = createSignal(router.__store.get());
34
- const unsub = router.__store.subscribe((s) => {
35
- setStoreState(s);
36
- }).unsubscribe;
37
- onCleanup(() => {
38
- unsub();
39
- });
40
- const selected = createMemo(() => selector(storeState()), void 0, {
41
- equals: (a, b) => deepEqual(a, b)
42
- });
43
- return selected;
22
+ const contextRouter = useRouter({ warn: opts?.router === void 0 });
23
+ const router = opts?.router || contextRouter;
24
+ if (isServer ?? router.isServer) {
25
+ const state = router.state;
26
+ return createMemo(() => opts?.select ? opts.select(state) : state);
27
+ }
28
+ const selector = (state) => {
29
+ if (opts?.select) return opts.select(state);
30
+ return state;
31
+ };
32
+ const [storeState, setStoreState] = createSignal(router.__store.get());
33
+ const unsub = router.__store.subscribe((s) => {
34
+ setStoreState(s);
35
+ }).unsubscribe;
36
+ onCleanup(() => {
37
+ unsub();
38
+ });
39
+ return createMemo(() => selector(storeState()), void 0, { equals: (a, b) => deepEqual(a, b) });
44
40
  }
45
- export {
46
- useRouterState
47
- };
48
- //# sourceMappingURL=useRouterState.js.map
41
+ //#endregion
42
+ export { useRouterState };
43
+
44
+ //# sourceMappingURL=useRouterState.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useRouterState.js","sources":["../../src/useRouterState.tsx"],"sourcesContent":["import { createMemo, createSignal, onCleanup } from 'solid-js'\nimport { isServer } from '@tanstack/router-core/isServer'\nimport { useRouter } from './useRouter'\nimport type {\n AnyRouter,\n RegisteredRouter,\n RouterState,\n} from '@tanstack/router-core'\nimport type { Accessor } from 'solid-js'\n\nfunction deepEqual(a: any, b: any): boolean {\n if (Object.is(a, b)) return true\n\n if (\n typeof a !== 'object' ||\n a === null ||\n typeof b !== 'object' ||\n b === null\n ) {\n return false\n }\n\n const keysA = Object.keys(a)\n const keysB = Object.keys(b)\n\n if (keysA.length !== keysB.length) return false\n\n for (const key of keysA) {\n if (!Object.prototype.hasOwnProperty.call(b, key)) return false\n if (!deepEqual(a[key], b[key])) return false\n }\n\n return true\n}\n\nexport type UseRouterStateOptions<TRouter extends AnyRouter, TSelected> = {\n router?: TRouter\n select?: (state: RouterState<TRouter['routeTree']>) => TSelected\n}\n\nexport type UseRouterStateResult<\n TRouter extends AnyRouter,\n TSelected,\n> = unknown extends TSelected ? RouterState<TRouter['routeTree']> : TSelected\n\nexport function useRouterState<\n TRouter extends AnyRouter = RegisteredRouter,\n TSelected = unknown,\n>(\n opts?: UseRouterStateOptions<TRouter, TSelected>,\n): Accessor<UseRouterStateResult<TRouter, TSelected>> {\n const contextRouter = useRouter<TRouter>({\n warn: opts?.router === undefined,\n })\n const router = opts?.router || contextRouter\n\n // During SSR we render exactly once and do not need reactivity.\n // Avoid subscribing to the store on the server since the server store\n // implementation does not provide subscribe() semantics.\n const _isServer = isServer ?? router.isServer\n if (_isServer) {\n const state = router.state as RouterState<TRouter['routeTree']>\n const selected = createMemo(() =>\n opts?.select ? opts.select(state) : state,\n ) as Accessor<UseRouterStateResult<TRouter, TSelected>>\n return selected\n }\n\n const selector = (state: any) => {\n if (opts?.select) return opts.select(state)\n\n return state\n }\n\n // Track the latest store state in a signal that updates via subscription.\n // We store the full state so that the selector (which may read reactive\n // props like props.matchId) re-runs inside a Solid tracking scope (the\n // createMemo below) rather than inside the store subscriber callback\n // where reactive reads would be untracked.\n const [storeState, setStoreState] = createSignal(router.__store.get())\n\n const unsub = router.__store.subscribe((s) => {\n setStoreState(s)\n }).unsubscribe\n\n onCleanup(() => {\n unsub()\n })\n\n // Run the selector inside a memo so that:\n // 1. Reactive values read by the selector (e.g. props.matchId) are tracked\n // 2. The result is memoized and only updates when the selected value changes\n const selected = createMemo(() => selector(storeState()), undefined, {\n equals: (a: any, b: any) => deepEqual(a, b),\n })\n\n return selected as Accessor<UseRouterStateResult<TRouter, TSelected>>\n}\n"],"names":["deepEqual","a","b","Object","is","keysA","keys","keysB","length","key","prototype","hasOwnProperty","call","useRouterState","opts","contextRouter","useRouter","warn","router","undefined","_isServer","isServer","state","selected","createMemo","select","selector","storeState","setStoreState","createSignal","__store","get","unsub","subscribe","s","unsubscribe","onCleanup","equals"],"mappings":";;;AAUA,SAASA,UAAUC,GAAQC,GAAiB;AAC1C,MAAIC,OAAOC,GAAGH,GAAGC,CAAC,EAAG,QAAO;AAE5B,MACE,OAAOD,MAAM,YACbA,MAAM,QACN,OAAOC,MAAM,YACbA,MAAM,MACN;AACA,WAAO;AAAA,EACT;AAEA,QAAMG,QAAQF,OAAOG,KAAKL,CAAC;AAC3B,QAAMM,QAAQJ,OAAOG,KAAKJ,CAAC;AAE3B,MAAIG,MAAMG,WAAWD,MAAMC,OAAQ,QAAO;AAE1C,aAAWC,OAAOJ,OAAO;AACvB,QAAI,CAACF,OAAOO,UAAUC,eAAeC,KAAKV,GAAGO,GAAG,EAAG,QAAO;AAC1D,QAAI,CAACT,UAAUC,EAAEQ,GAAG,GAAGP,EAAEO,GAAG,CAAC,EAAG,QAAO;AAAA,EACzC;AAEA,SAAO;AACT;AAYO,SAASI,eAIdC,MACoD;AACpD,QAAMC,gBAAgBC,UAAmB;AAAA,IACvCC,MAAMH,MAAMI,WAAWC;AAAAA,EAAAA,CACxB;AACD,QAAMD,SAASJ,MAAMI,UAAUH;AAK/B,QAAMK,YAAYC,YAAYH,OAAOG;AACrC,MAAID,WAAW;AACb,UAAME,QAAQJ,OAAOI;AACrB,UAAMC,YAAWC,WAAW,MAC1BV,MAAMW,SAASX,KAAKW,OAAOH,KAAK,IAAIA,KACtC;AACA,WAAOC;AAAAA,EACT;AAEA,QAAMG,WAAWA,CAACJ,UAAe;AAC/B,QAAIR,MAAMW,OAAQ,QAAOX,KAAKW,OAAOH,KAAK;AAE1C,WAAOA;AAAAA,EACT;AAOA,QAAM,CAACK,YAAYC,aAAa,IAAIC,aAAaX,OAAOY,QAAQC,KAAK;AAErE,QAAMC,QAAQd,OAAOY,QAAQG,UAAWC,CAAAA,MAAM;AAC5CN,kBAAcM,CAAC;AAAA,EACjB,CAAC,EAAEC;AAEHC,YAAU,MAAM;AACdJ,UAAAA;AAAAA,EACF,CAAC;AAKD,QAAMT,WAAWC,WAAW,MAAME,SAASC,WAAAA,CAAY,GAAGR,QAAW;AAAA,IACnEkB,QAAQA,CAACpC,GAAQC,MAAWF,UAAUC,GAAGC,CAAC;AAAA,EAAA,CAC3C;AAED,SAAOqB;AACT;"}
1
+ {"version":3,"file":"useRouterState.js","names":["createMemo","createSignal","onCleanup","isServer","useRouter","AnyRouter","RegisteredRouter","RouterState","Accessor","deepEqual","a","b","Object","is","isPromiseLike","keysA","keys","keysB","length","key","prototype","hasOwnProperty","call","value","PromiseLike","then","UseRouterStateOptions","router","TRouter","select","state","TSelected","UseRouterStateResult","useRouterState","opts","contextRouter","warn","undefined","_isServer","selected","selector","storeState","setStoreState","__store","get","unsub","subscribe","s","unsubscribe","equals"],"sources":["../../src/useRouterState.tsx"],"sourcesContent":["import { createMemo, createSignal, onCleanup } from 'solid-js'\nimport { isServer } from '@tanstack/router-core/isServer'\nimport { useRouter } from './useRouter'\nimport type {\n AnyRouter,\n RegisteredRouter,\n RouterState,\n} from '@tanstack/router-core'\nimport type { Accessor } from 'solid-js'\n\nfunction deepEqual(a: any, b: any): boolean {\n if (Object.is(a, b)) return true\n\n if (isPromiseLike(a) || isPromiseLike(b)) return false\n\n if (\n typeof a !== 'object' ||\n a === null ||\n typeof b !== 'object' ||\n b === null\n ) {\n return false\n }\n\n const keysA = Object.keys(a)\n const keysB = Object.keys(b)\n\n if (keysA.length !== keysB.length) return false\n\n for (const key of keysA) {\n if (!Object.prototype.hasOwnProperty.call(b, key)) return false\n if (!deepEqual(a[key], b[key])) return false\n }\n\n return true\n}\n\nfunction isPromiseLike(value: unknown): value is PromiseLike<unknown> {\n return (\n !!value &&\n (typeof value === 'object' || typeof value === 'function') &&\n typeof (value as PromiseLike<unknown>).then === 'function'\n )\n}\n\nexport type UseRouterStateOptions<TRouter extends AnyRouter, TSelected> = {\n router?: TRouter\n select?: (state: RouterState<TRouter['routeTree']>) => TSelected\n}\n\nexport type UseRouterStateResult<\n TRouter extends AnyRouter,\n TSelected,\n> = unknown extends TSelected ? RouterState<TRouter['routeTree']> : TSelected\n\nexport function useRouterState<\n TRouter extends AnyRouter = RegisteredRouter,\n TSelected = unknown,\n>(\n opts?: UseRouterStateOptions<TRouter, TSelected>,\n): Accessor<UseRouterStateResult<TRouter, TSelected>> {\n const contextRouter = useRouter<TRouter>({\n warn: opts?.router === undefined,\n })\n const router = opts?.router || contextRouter\n\n // During SSR we render exactly once and do not need reactivity.\n // Avoid subscribing to the store on the server since the server store\n // implementation does not provide subscribe() semantics.\n const _isServer = isServer ?? router.isServer\n if (_isServer) {\n const state = router.state as RouterState<TRouter['routeTree']>\n const selected = createMemo(() =>\n opts?.select ? opts.select(state) : state,\n ) as Accessor<UseRouterStateResult<TRouter, TSelected>>\n return selected\n }\n\n const selector = (state: any) => {\n if (opts?.select) return opts.select(state)\n\n return state\n }\n\n // Track the latest store state in a signal that updates via subscription.\n // We store the full state so that the selector (which may read reactive\n // props like props.matchId) re-runs inside a Solid tracking scope (the\n // createMemo below) rather than inside the store subscriber callback\n // where reactive reads would be untracked.\n const [storeState, setStoreState] = createSignal(router.__store.get())\n\n const unsub = router.__store.subscribe((s) => {\n setStoreState(s)\n }).unsubscribe\n\n onCleanup(() => {\n unsub()\n })\n\n // Run the selector inside a memo so that:\n // 1. Reactive values read by the selector (e.g. props.matchId) are tracked\n // 2. The result is memoized and only updates when the selected value changes\n const selected = createMemo(() => selector(storeState()), undefined, {\n equals: (a: any, b: any) => deepEqual(a, b),\n })\n\n return selected as Accessor<UseRouterStateResult<TRouter, TSelected>>\n}\n"],"mappings":";;;;AAUA,SAASS,UAAUC,GAAQC,GAAiB;AAC1C,KAAIC,OAAOC,GAAGH,GAAGC,EAAE,CAAE,QAAO;AAE5B,KAAIG,cAAcJ,EAAE,IAAII,cAAcH,EAAE,CAAE,QAAO;AAEjD,KACE,OAAOD,MAAM,YACbA,MAAM,QACN,OAAOC,MAAM,YACbA,MAAM,KAEN,QAAO;CAGT,MAAMI,QAAQH,OAAOI,KAAKN,EAAE;CAC5B,MAAMO,QAAQL,OAAOI,KAAKL,EAAE;AAE5B,KAAII,MAAMG,WAAWD,MAAMC,OAAQ,QAAO;AAE1C,MAAK,MAAMC,OAAOJ,OAAO;AACvB,MAAI,CAACH,OAAOQ,UAAUC,eAAeC,KAAKX,GAAGQ,IAAI,CAAE,QAAO;AAC1D,MAAI,CAACV,UAAUC,EAAES,MAAMR,EAAEQ,KAAK,CAAE,QAAO;;AAGzC,QAAO;;AAGT,SAASL,cAAcS,OAA+C;AACpE,QACE,CAAC,CAACA,UACD,OAAOA,UAAU,YAAY,OAAOA,UAAU,eAC/C,OAAQA,MAA+BE,SAAS;;AAcpD,SAAgBQ,eAIdC,MACoD;CACpD,MAAMC,gBAAgB/B,UAAmB,EACvCgC,MAAMF,MAAMP,WAAWU,KAAAA,GACxB,CAAC;CACF,MAAMV,SAASO,MAAMP,UAAUQ;AAM/B,KADkBhC,YAAYwB,OAAOxB,UACtB;EACb,MAAM2B,QAAQH,OAAOG;AAIrB,SAHiB9B,iBACfkC,MAAML,SAASK,KAAKL,OAAOC,MAAM,GAAGA,MACrC;;CAIH,MAAMU,YAAYV,UAAe;AAC/B,MAAII,MAAML,OAAQ,QAAOK,KAAKL,OAAOC,MAAM;AAE3C,SAAOA;;CAQT,MAAM,CAACW,YAAYC,iBAAiBzC,aAAa0B,OAAOgB,QAAQC,KAAK,CAAC;CAEtE,MAAMC,QAAQlB,OAAOgB,QAAQG,WAAWC,MAAM;AAC5CL,gBAAcK,EAAE;GAChB,CAACC;AAEH9C,iBAAgB;AACd2C,SAAO;GACP;AASF,QAJiB7C,iBAAiBwC,SAASC,YAAY,CAAC,EAAEJ,KAAAA,GAAW,EACnEY,SAASvC,GAAQC,MAAWF,UAAUC,GAAGC,EAAC,EAC3C,CAAC"}
@@ -1,15 +1,16 @@
1
1
  import { useMatch } from "./useMatch.js";
2
+ //#region src/useSearch.tsx
2
3
  function useSearch(opts) {
3
- return useMatch({
4
- from: opts.from,
5
- strict: opts.strict,
6
- shouldThrow: opts.shouldThrow,
7
- select: (match) => {
8
- return opts.select ? opts.select(match.search) : match.search;
9
- }
10
- });
4
+ return useMatch({
5
+ from: opts.from,
6
+ strict: opts.strict,
7
+ shouldThrow: opts.shouldThrow,
8
+ select: (match) => {
9
+ return opts.select ? opts.select(match.search) : match.search;
10
+ }
11
+ });
11
12
  }
12
- export {
13
- useSearch
14
- };
15
- //# sourceMappingURL=useSearch.js.map
13
+ //#endregion
14
+ export { useSearch };
15
+
16
+ //# sourceMappingURL=useSearch.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useSearch.js","sources":["../../src/useSearch.tsx"],"sourcesContent":["import { useMatch } from './useMatch'\nimport type { Accessor } from 'solid-js'\nimport type {\n AnyRouter,\n RegisteredRouter,\n ResolveUseSearch,\n StrictOrFrom,\n ThrowConstraint,\n ThrowOrOptional,\n UseSearchResult,\n} from '@tanstack/router-core'\n\nexport interface UseSearchBaseOptions<\n TRouter extends AnyRouter,\n TFrom,\n TStrict extends boolean,\n TThrow extends boolean,\n TSelected,\n> {\n select?: (state: ResolveUseSearch<TRouter, TFrom, TStrict>) => TSelected\n shouldThrow?: TThrow\n}\n\nexport type UseSearchOptions<\n TRouter extends AnyRouter,\n TFrom,\n TStrict extends boolean,\n TThrow extends boolean,\n TSelected,\n> = StrictOrFrom<TRouter, TFrom, TStrict> &\n UseSearchBaseOptions<TRouter, TFrom, TStrict, TThrow, TSelected>\n\nexport type UseSearchRoute<out TFrom> = <\n TRouter extends AnyRouter = RegisteredRouter,\n TSelected = unknown,\n>(\n opts?: UseSearchBaseOptions<\n TRouter,\n TFrom,\n /* TStrict */ true,\n /* TThrow */ true,\n TSelected\n >,\n) => Accessor<UseSearchResult<TRouter, TFrom, true, TSelected>>\n\nexport function useSearch<\n TRouter extends AnyRouter = RegisteredRouter,\n const TFrom extends string | undefined = undefined,\n TStrict extends boolean = true,\n TThrow extends boolean = true,\n TSelected = unknown,\n>(\n opts: UseSearchOptions<\n TRouter,\n TFrom,\n TStrict,\n ThrowConstraint<TStrict, TThrow>,\n TSelected\n >,\n): Accessor<\n ThrowOrOptional<UseSearchResult<TRouter, TFrom, TStrict, TSelected>, TThrow>\n> {\n return useMatch({\n from: opts.from!,\n strict: opts.strict,\n shouldThrow: opts.shouldThrow,\n select: (match: any) => {\n return opts.select ? opts.select(match.search) : match.search\n },\n }) as any\n}\n"],"names":["useSearch","opts","useMatch","from","strict","shouldThrow","select","match","search"],"mappings":";AA6CO,SAASA,UAOdC,MASA;AACA,SAAOC,SAAS;AAAA,IACdC,MAAMF,KAAKE;AAAAA,IACXC,QAAQH,KAAKG;AAAAA,IACbC,aAAaJ,KAAKI;AAAAA,IAClBC,QAAQA,CAACC,UAAe;AACtB,aAAON,KAAKK,SAASL,KAAKK,OAAOC,MAAMC,MAAM,IAAID,MAAMC;AAAAA,IACzD;AAAA,EAAA,CACD;AACH;"}
1
+ {"version":3,"file":"useSearch.js","names":["useMatch","Accessor","AnyRouter","RegisteredRouter","ResolveUseSearch","StrictOrFrom","ThrowConstraint","ThrowOrOptional","UseSearchResult","UseSearchBaseOptions","select","state","TRouter","TFrom","TStrict","TSelected","shouldThrow","TThrow","UseSearchOptions","UseSearchRoute","opts","useSearch","from","strict","match","search"],"sources":["../../src/useSearch.tsx"],"sourcesContent":["import { useMatch } from './useMatch'\nimport type { Accessor } from 'solid-js'\nimport type {\n AnyRouter,\n RegisteredRouter,\n ResolveUseSearch,\n StrictOrFrom,\n ThrowConstraint,\n ThrowOrOptional,\n UseSearchResult,\n} from '@tanstack/router-core'\n\nexport interface UseSearchBaseOptions<\n TRouter extends AnyRouter,\n TFrom,\n TStrict extends boolean,\n TThrow extends boolean,\n TSelected,\n> {\n select?: (state: ResolveUseSearch<TRouter, TFrom, TStrict>) => TSelected\n shouldThrow?: TThrow\n}\n\nexport type UseSearchOptions<\n TRouter extends AnyRouter,\n TFrom,\n TStrict extends boolean,\n TThrow extends boolean,\n TSelected,\n> = StrictOrFrom<TRouter, TFrom, TStrict> &\n UseSearchBaseOptions<TRouter, TFrom, TStrict, TThrow, TSelected>\n\nexport type UseSearchRoute<out TFrom> = <\n TRouter extends AnyRouter = RegisteredRouter,\n TSelected = unknown,\n>(\n opts?: UseSearchBaseOptions<\n TRouter,\n TFrom,\n /* TStrict */ true,\n /* TThrow */ true,\n TSelected\n >,\n) => Accessor<UseSearchResult<TRouter, TFrom, true, TSelected>>\n\nexport function useSearch<\n TRouter extends AnyRouter = RegisteredRouter,\n const TFrom extends string | undefined = undefined,\n TStrict extends boolean = true,\n TThrow extends boolean = true,\n TSelected = unknown,\n>(\n opts: UseSearchOptions<\n TRouter,\n TFrom,\n TStrict,\n ThrowConstraint<TStrict, TThrow>,\n TSelected\n >,\n): Accessor<\n ThrowOrOptional<UseSearchResult<TRouter, TFrom, TStrict, TSelected>, TThrow>\n> {\n return useMatch({\n from: opts.from!,\n strict: opts.strict,\n shouldThrow: opts.shouldThrow,\n select: (match: any) => {\n return opts.select ? opts.select(match.search) : match.search\n },\n }) as any\n}\n"],"mappings":";;AA6CA,SAAgBqB,UAOdD,MASA;AACA,QAAOpB,SAAS;EACdsB,MAAMF,KAAKE;EACXC,QAAQH,KAAKG;EACbP,aAAaI,KAAKJ;EAClBN,SAASc,UAAe;AACtB,UAAOJ,KAAKV,SAASU,KAAKV,OAAOc,MAAMC,OAAO,GAAGD,MAAMC;;EAE1D,CAAC"}
package/dist/esm/utils.js CHANGED
@@ -1,37 +1,59 @@
1
1
  import * as Solid from "solid-js";
2
- const usePrevious = (fn) => {
3
- return Solid.createMemo(
4
- (prev = {
5
- current: null,
6
- previous: null
7
- }) => {
8
- const current = fn();
9
- if (prev.current !== current) {
10
- return { previous: prev.current, current };
11
- }
12
- return prev;
13
- }
14
- );
2
+ typeof window !== "undefined" ? Solid.createEffect : Solid.createEffect;
3
+ var usePrevious = (fn) => {
4
+ return Solid.createMemo((prev = {
5
+ current: null,
6
+ previous: null
7
+ }) => {
8
+ const current = fn();
9
+ if (prev.current !== current) return {
10
+ previous: prev.current,
11
+ current
12
+ };
13
+ return prev;
14
+ });
15
15
  };
16
+ /**
17
+ * React hook to wrap `IntersectionObserver`.
18
+ *
19
+ * This hook will create an `IntersectionObserver` and observe the ref passed to it.
20
+ *
21
+ * When the intersection changes, the callback will be called with the `IntersectionObserverEntry`.
22
+ *
23
+ * @param ref - The ref to observe
24
+ * @param intersectionObserverOptions - The options to pass to the IntersectionObserver
25
+ * @param options - The options to pass to the hook
26
+ * @param callback - The callback to call when the intersection changes
27
+ * @returns The IntersectionObserver instance
28
+ * @example
29
+ * ```tsx
30
+ * const MyComponent = () => {
31
+ * const ref = React.useRef<HTMLDivElement>(null)
32
+ * useIntersectionObserver(
33
+ * ref,
34
+ * (entry) => { doSomething(entry) },
35
+ * { rootMargin: '10px' },
36
+ * { disabled: false }
37
+ * )
38
+ * return <div ref={ref} />
39
+ * ```
40
+ */
16
41
  function useIntersectionObserver(ref, callback, intersectionObserverOptions = {}, options = {}) {
17
- const isIntersectionObserverAvailable = typeof IntersectionObserver === "function";
18
- let observerRef = null;
19
- Solid.createEffect(ref, (r) => {
20
- if (!r || !isIntersectionObserverAvailable || options.disabled) {
21
- return;
22
- }
23
- observerRef = new IntersectionObserver(([entry]) => {
24
- callback(entry);
25
- }, intersectionObserverOptions);
26
- observerRef.observe(r);
27
- Solid.onCleanup(() => {
28
- observerRef?.disconnect();
29
- });
30
- });
31
- return () => observerRef;
42
+ const isIntersectionObserverAvailable = typeof IntersectionObserver === "function";
43
+ let observerRef = null;
44
+ Solid.createEffect(ref, (r) => {
45
+ if (!r || !isIntersectionObserverAvailable || options.disabled) return;
46
+ observerRef = new IntersectionObserver(([entry]) => {
47
+ callback(entry);
48
+ }, intersectionObserverOptions);
49
+ observerRef.observe(r);
50
+ Solid.onCleanup(() => {
51
+ observerRef?.disconnect();
52
+ });
53
+ });
54
+ return () => observerRef;
32
55
  }
33
- export {
34
- useIntersectionObserver,
35
- usePrevious
36
- };
37
- //# sourceMappingURL=utils.js.map
56
+ //#endregion
57
+ export { useIntersectionObserver, usePrevious };
58
+
59
+ //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sources":["../../src/utils.ts"],"sourcesContent":["import * as Solid from 'solid-js'\n\nexport const useLayoutEffect =\n typeof window !== 'undefined' ? Solid.createEffect : Solid.createEffect\n\nexport const usePrevious = (fn: () => boolean) => {\n return Solid.createMemo(\n (\n prev: { current: boolean | null; previous: boolean | null } = {\n current: null,\n previous: null,\n },\n ) => {\n const current = fn()\n\n if (prev.current !== current) {\n return { previous: prev.current, current }\n }\n\n return prev\n },\n )\n}\n\n/**\n * React hook to wrap `IntersectionObserver`.\n *\n * This hook will create an `IntersectionObserver` and observe the ref passed to it.\n *\n * When the intersection changes, the callback will be called with the `IntersectionObserverEntry`.\n *\n * @param ref - The ref to observe\n * @param intersectionObserverOptions - The options to pass to the IntersectionObserver\n * @param options - The options to pass to the hook\n * @param callback - The callback to call when the intersection changes\n * @returns The IntersectionObserver instance\n * @example\n * ```tsx\n * const MyComponent = () => {\n * const ref = React.useRef<HTMLDivElement>(null)\n * useIntersectionObserver(\n * ref,\n * (entry) => { doSomething(entry) },\n * { rootMargin: '10px' },\n * { disabled: false }\n * )\n * return <div ref={ref} />\n * ```\n */\nexport function useIntersectionObserver<T extends Element>(\n ref: Solid.Accessor<T | null>,\n callback: (entry: IntersectionObserverEntry | undefined) => void,\n intersectionObserverOptions: IntersectionObserverInit = {},\n options: { disabled?: boolean } = {},\n): Solid.Accessor<IntersectionObserver | null> {\n const isIntersectionObserverAvailable =\n typeof IntersectionObserver === 'function'\n let observerRef: IntersectionObserver | null = null\n\n Solid.createEffect(ref, (r) => {\n if (!r || !isIntersectionObserverAvailable || options.disabled) {\n return\n }\n\n observerRef = new IntersectionObserver(([entry]) => {\n callback(entry)\n }, intersectionObserverOptions)\n\n observerRef.observe(r)\n\n Solid.onCleanup(() => {\n observerRef?.disconnect()\n })\n })\n\n return () => observerRef\n}\n"],"names":[],"mappings":";AAKO,MAAM,cAAc,CAAC,OAAsB;AAChD,SAAO,MAAM;AAAA,IACX,CACE,OAA8D;AAAA,MAC5D,SAAS;AAAA,MACT,UAAU;AAAA,IAAA,MAET;AACH,YAAM,UAAU,GAAA;AAEhB,UAAI,KAAK,YAAY,SAAS;AAC5B,eAAO,EAAE,UAAU,KAAK,SAAS,QAAA;AAAA,MACnC;AAEA,aAAO;AAAA,IACT;AAAA,EAAA;AAEJ;AA2BO,SAAS,wBACd,KACA,UACA,8BAAwD,CAAA,GACxD,UAAkC,IACW;AAC7C,QAAM,kCACJ,OAAO,yBAAyB;AAClC,MAAI,cAA2C;AAE/C,QAAM,aAAa,KAAK,CAAC,MAAM;AAC7B,QAAI,CAAC,KAAK,CAAC,mCAAmC,QAAQ,UAAU;AAC9D;AAAA,IACF;AAEA,kBAAc,IAAI,qBAAqB,CAAC,CAAC,KAAK,MAAM;AAClD,eAAS,KAAK;AAAA,IAChB,GAAG,2BAA2B;AAE9B,gBAAY,QAAQ,CAAC;AAErB,UAAM,UAAU,MAAM;AACpB,mBAAa,WAAA;AAAA,IACf,CAAC;AAAA,EACH,CAAC;AAED,SAAO,MAAM;AACf;"}
1
+ {"version":3,"file":"utils.js","names":[],"sources":["../../src/utils.ts"],"sourcesContent":["import * as Solid from 'solid-js'\n\nexport const useLayoutEffect =\n typeof window !== 'undefined' ? Solid.createEffect : Solid.createEffect\n\nexport const usePrevious = (fn: () => boolean) => {\n return Solid.createMemo(\n (\n prev: { current: boolean | null; previous: boolean | null } = {\n current: null,\n previous: null,\n },\n ) => {\n const current = fn()\n\n if (prev.current !== current) {\n return { previous: prev.current, current }\n }\n\n return prev\n },\n )\n}\n\n/**\n * React hook to wrap `IntersectionObserver`.\n *\n * This hook will create an `IntersectionObserver` and observe the ref passed to it.\n *\n * When the intersection changes, the callback will be called with the `IntersectionObserverEntry`.\n *\n * @param ref - The ref to observe\n * @param intersectionObserverOptions - The options to pass to the IntersectionObserver\n * @param options - The options to pass to the hook\n * @param callback - The callback to call when the intersection changes\n * @returns The IntersectionObserver instance\n * @example\n * ```tsx\n * const MyComponent = () => {\n * const ref = React.useRef<HTMLDivElement>(null)\n * useIntersectionObserver(\n * ref,\n * (entry) => { doSomething(entry) },\n * { rootMargin: '10px' },\n * { disabled: false }\n * )\n * return <div ref={ref} />\n * ```\n */\nexport function useIntersectionObserver<T extends Element>(\n ref: Solid.Accessor<T | null>,\n callback: (entry: IntersectionObserverEntry | undefined) => void,\n intersectionObserverOptions: IntersectionObserverInit = {},\n options: { disabled?: boolean } = {},\n): Solid.Accessor<IntersectionObserver | null> {\n const isIntersectionObserverAvailable =\n typeof IntersectionObserver === 'function'\n let observerRef: IntersectionObserver | null = null\n\n Solid.createEffect(ref, (r) => {\n if (!r || !isIntersectionObserverAvailable || options.disabled) {\n return\n }\n\n observerRef = new IntersectionObserver(([entry]) => {\n callback(entry)\n }, intersectionObserverOptions)\n\n observerRef.observe(r)\n\n Solid.onCleanup(() => {\n observerRef?.disconnect()\n })\n })\n\n return () => observerRef\n}\n"],"mappings":";AAGE,OAAO,WAAW,cAAc,MAAM,eAAe,MAAM;AAE7D,IAAa,eAAe,OAAsB;AAChD,QAAO,MAAM,YAET,OAA8D;EAC5D,SAAS;EACT,UAAU;EACX,KACE;EACH,MAAM,UAAU,IAAI;AAEpB,MAAI,KAAK,YAAY,QACnB,QAAO;GAAE,UAAU,KAAK;GAAS;GAAS;AAG5C,SAAO;GAEV;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4BH,SAAgB,wBACd,KACA,UACA,8BAAwD,EAAE,EAC1D,UAAkC,EAAE,EACS;CAC7C,MAAM,kCACJ,OAAO,yBAAyB;CAClC,IAAI,cAA2C;AAE/C,OAAM,aAAa,MAAM,MAAM;AAC7B,MAAI,CAAC,KAAK,CAAC,mCAAmC,QAAQ,SACpD;AAGF,gBAAc,IAAI,sBAAsB,CAAC,WAAW;AAClD,YAAS,MAAM;KACd,4BAA4B;AAE/B,cAAY,QAAQ,EAAE;AAEtB,QAAM,gBAAgB;AACpB,gBAAa,YAAY;IACzB;GACF;AAEF,cAAa"}
@@ -1,7 +1,7 @@
1
1
  import type { UseParamsRoute } from './useParams';
2
2
  import type { UseMatchRoute } from './useMatch';
3
3
  import type { UseSearchRoute } from './useSearch';
4
- import type { AnyContext, AnyRoute, AnyRouter, Constrain, ConstrainLiteral, FileBaseRouteOptions, FileRoutesByPath, LazyRouteOptions, Register, RegisteredRouter, ResolveParams, Route, RouteById, RouteConstraints, RouteIds, RouteLoaderFn, UpdatableRouteOptions, UseNavigateResult } from '@tanstack/router-core';
4
+ import type { AnyContext, AnyRoute, AnyRouter, Constrain, ConstrainLiteral, FileBaseRouteOptions, FileRoutesByPath, LazyRouteOptions, Register, RegisteredRouter, ResolveParams, Route, RouteById, RouteConstraints, RouteIds, RouteLoaderEntry, UpdatableRouteOptions, UseNavigateResult } from '@tanstack/router-core';
5
5
  import type { UseLoaderDepsRoute } from './useLoaderDeps';
6
6
  import type { UseLoaderDataRoute } from './useLoaderData';
7
7
  import type { UseRouteContextRoute } from './useRouteContext';
@@ -23,7 +23,7 @@ export declare class FileRoute<TFilePath extends keyof FileRoutesByPath, TParent
23
23
  Instead, place the loader function in the the main route file, inside the
24
24
  `createFileRoute('/path/to/file)(options)` options.
25
25
  */
26
- export declare function FileRouteLoader<TFilePath extends keyof FileRoutesByPath, TRoute extends FileRoutesByPath[TFilePath]['preLoaderRoute']>(_path: TFilePath): <TLoaderFn>(loaderFn: Constrain<TLoaderFn, RouteLoaderFn<Register, TRoute['parentRoute'], TRoute['types']['id'], TRoute['types']['params'], TRoute['types']['loaderDeps'], TRoute['types']['routerContext'], TRoute['types']['routeContextFn'], TRoute['types']['beforeLoadFn']>>) => TLoaderFn;
26
+ export declare function FileRouteLoader<TFilePath extends keyof FileRoutesByPath, TRoute extends FileRoutesByPath[TFilePath]['preLoaderRoute']>(_path: TFilePath): <TLoaderFn>(loaderFn: Constrain<TLoaderFn, RouteLoaderEntry<Register, TRoute['parentRoute'], TRoute['types']['id'], TRoute['types']['params'], TRoute['types']['loaderDeps'], TRoute['types']['routerContext'], TRoute['types']['routeContextFn'], TRoute['types']['beforeLoadFn']>>) => TLoaderFn;
27
27
  declare module '@tanstack/router-core' {
28
28
  interface LazyRoute<in out TRoute extends AnyRoute> {
29
29
  useMatch: UseMatchRoute<TRoute['id']>;
@@ -51,11 +51,14 @@ export declare function useBlocker(blockerFnOrOpts?: LegacyBlockerOpts): Solid.A
51
51
  * @deprecated Use the UseBlockerOpts object syntax instead
52
52
  */
53
53
  export declare function useBlocker(blockerFn?: LegacyBlockerFn, condition?: boolean | any): Solid.Accessor<BlockerResolver>;
54
- export declare function Block<TRouter extends AnyRouter = RegisteredRouter, TWithResolver extends boolean = boolean>(opts: PromptProps<TRouter, TWithResolver>): SolidNode;
55
- /**
56
- * @deprecated Use the UseBlockerOpts property instead
57
- */
58
- export declare function Block(opts: LegacyPromptProps): SolidNode;
54
+ interface BlockComponent {
55
+ <TRouter extends AnyRouter = RegisteredRouter, TWithResolver extends boolean = boolean>(opts: PromptProps<TRouter, TWithResolver>): SolidNode;
56
+ /**
57
+ * @deprecated Use the UseBlockerOpts property instead
58
+ */
59
+ (opts: LegacyPromptProps): SolidNode;
60
+ }
61
+ export declare const Block: BlockComponent;
59
62
  type LegacyPromptProps = {
60
63
  blockerFn?: LegacyBlockerFn;
61
64
  condition?: boolean | any;
@@ -148,7 +148,7 @@ const _resolvePromptBlockerArgs = (props) => {
148
148
  },
149
149
  };
150
150
  };
151
- export function Block(opts) {
151
+ export const Block = function Block(opts) {
152
152
  const propsWithChildren = {
153
153
  get children() {
154
154
  return opts.children;
@@ -163,5 +163,5 @@ export function Block(opts) {
163
163
  return child;
164
164
  });
165
165
  return <>{children()}</>;
166
- }
166
+ };
167
167
  //# sourceMappingURL=useBlocker.jsx.map
@@ -1 +1 @@
1
- {"version":3,"file":"useBlocker.jsx","sourceRoot":"","sources":["../../src/useBlocker.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useBlocker.jsx","sourceRoot":"","sources":["../../src/useBlocker.tsx"],"names":[],"mappings":"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"}
@@ -4,6 +4,8 @@ import { useRouter } from './useRouter';
4
4
  function deepEqual(a, b) {
5
5
  if (Object.is(a, b))
6
6
  return true;
7
+ if (isPromiseLike(a) || isPromiseLike(b))
8
+ return false;
7
9
  if (typeof a !== 'object' ||
8
10
  a === null ||
9
11
  typeof b !== 'object' ||
@@ -22,6 +24,11 @@ function deepEqual(a, b) {
22
24
  }
23
25
  return true;
24
26
  }
27
+ function isPromiseLike(value) {
28
+ return (!!value &&
29
+ (typeof value === 'object' || typeof value === 'function') &&
30
+ typeof value.then === 'function');
31
+ }
25
32
  export function useRouterState(opts) {
26
33
  const contextRouter = useRouter({
27
34
  warn: opts?.router === undefined,
@@ -1 +1 @@
1
- {"version":3,"file":"useRouterState.jsx","sourceRoot":"","sources":["../../src/useRouterState.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useRouterState.jsx","sourceRoot":"","sources":["../../src/useRouterState.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tanstack/solid-router",
3
- "version": "2.0.0-alpha.1",
3
+ "version": "2.0.0-alpha.3",
4
4
  "description": "Modern and scalable routing for Solid applications",
5
5
  "author": "Tanner Linsley",
6
6
  "license": "MIT",
@@ -90,8 +90,8 @@
90
90
  "isbot": "^5.1.22",
91
91
  "tiny-invariant": "^1.3.3",
92
92
  "tiny-warning": "^1.0.3",
93
- "@tanstack/history": "1.161.4",
94
- "@tanstack/router-core": "1.166.7"
93
+ "@tanstack/history": "1.161.6",
94
+ "@tanstack/router-core": "1.167.3"
95
95
  },
96
96
  "devDependencies": {
97
97
  "@solidjs/testing-library": "^0.8.10",
package/src/fileRoute.ts CHANGED
@@ -28,7 +28,7 @@ import type {
28
28
  RouteById,
29
29
  RouteConstraints,
30
30
  RouteIds,
31
- RouteLoaderFn,
31
+ RouteLoaderEntry,
32
32
  UpdatableRouteOptions,
33
33
  UseNavigateResult,
34
34
  } from '@tanstack/router-core'
@@ -164,7 +164,7 @@ export function FileRouteLoader<
164
164
  ): <TLoaderFn>(
165
165
  loaderFn: Constrain<
166
166
  TLoaderFn,
167
- RouteLoaderFn<
167
+ RouteLoaderEntry<
168
168
  Register,
169
169
  TRoute['parentRoute'],
170
170
  TRoute['types']['id'],