@tanstack/react-router 1.22.4 → 1.22.6

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 (161) hide show
  1. package/dist/cjs/CatchBoundary.cjs +1 -2
  2. package/dist/cjs/CatchBoundary.cjs.map +1 -1
  3. package/dist/cjs/Matches.cjs +15 -15
  4. package/dist/cjs/Matches.cjs.map +1 -1
  5. package/dist/cjs/Matches.d.cts +15 -15
  6. package/dist/cjs/RouterProvider.cjs +16 -15
  7. package/dist/cjs/RouterProvider.cjs.map +1 -1
  8. package/dist/cjs/RouterProvider.d.cts +6 -6
  9. package/dist/cjs/awaited.cjs +1 -1
  10. package/dist/cjs/awaited.cjs.map +1 -1
  11. package/dist/cjs/awaited.d.cts +1 -1
  12. package/dist/cjs/defer.cjs.map +1 -1
  13. package/dist/cjs/fileRoute.cjs +1 -1
  14. package/dist/cjs/fileRoute.cjs.map +1 -1
  15. package/dist/cjs/fileRoute.d.cts +17 -17
  16. package/dist/cjs/lazyRouteComponent.cjs.map +1 -1
  17. package/dist/cjs/lazyRouteComponent.d.cts +1 -1
  18. package/dist/cjs/link.cjs +10 -11
  19. package/dist/cjs/link.cjs.map +1 -1
  20. package/dist/cjs/link.d.cts +16 -13
  21. package/dist/cjs/location.d.cts +2 -2
  22. package/dist/cjs/not-found.cjs.map +1 -1
  23. package/dist/cjs/not-found.d.cts +2 -2
  24. package/dist/cjs/path.cjs +2 -2
  25. package/dist/cjs/path.cjs.map +1 -1
  26. package/dist/cjs/path.d.cts +4 -4
  27. package/dist/cjs/qss.cjs +4 -3
  28. package/dist/cjs/qss.cjs.map +1 -1
  29. package/dist/cjs/redirects.cjs.map +1 -1
  30. package/dist/cjs/redirects.d.cts +5 -5
  31. package/dist/cjs/route.cjs.map +1 -1
  32. package/dist/cjs/route.d.cts +34 -36
  33. package/dist/cjs/routeInfo.d.cts +5 -5
  34. package/dist/cjs/router.cjs +63 -66
  35. package/dist/cjs/router.cjs.map +1 -1
  36. package/dist/cjs/router.d.cts +28 -28
  37. package/dist/cjs/routerContext.cjs +1 -1
  38. package/dist/cjs/routerContext.cjs.map +1 -1
  39. package/dist/cjs/routerContext.d.cts +1 -1
  40. package/dist/cjs/scroll-restoration.cjs +7 -9
  41. package/dist/cjs/scroll-restoration.cjs.map +1 -1
  42. package/dist/cjs/scroll-restoration.d.cts +1 -1
  43. package/dist/cjs/searchParams.cjs +10 -12
  44. package/dist/cjs/searchParams.cjs.map +1 -1
  45. package/dist/cjs/searchParams.d.cts +1 -1
  46. package/dist/cjs/useBlocker.cjs.map +1 -1
  47. package/dist/cjs/useBlocker.d.cts +2 -2
  48. package/dist/cjs/useNavigate.cjs +1 -1
  49. package/dist/cjs/useNavigate.cjs.map +1 -1
  50. package/dist/cjs/useNavigate.d.cts +4 -4
  51. package/dist/cjs/useParams.cjs +1 -1
  52. package/dist/cjs/useParams.cjs.map +1 -1
  53. package/dist/cjs/useParams.d.cts +5 -5
  54. package/dist/cjs/useRouteContext.cjs +1 -1
  55. package/dist/cjs/useRouteContext.cjs.map +1 -1
  56. package/dist/cjs/useRouteContext.d.cts +4 -4
  57. package/dist/cjs/useRouter.cjs.map +1 -1
  58. package/dist/cjs/useRouter.d.cts +2 -2
  59. package/dist/cjs/useRouterState.cjs.map +1 -1
  60. package/dist/cjs/useRouterState.d.cts +2 -2
  61. package/dist/cjs/useSearch.cjs +1 -1
  62. package/dist/cjs/useSearch.cjs.map +1 -1
  63. package/dist/cjs/useSearch.d.cts +4 -4
  64. package/dist/cjs/utils.cjs +2 -2
  65. package/dist/cjs/utils.cjs.map +1 -1
  66. package/dist/cjs/utils.d.cts +13 -11
  67. package/dist/esm/CatchBoundary.js +1 -2
  68. package/dist/esm/CatchBoundary.js.map +1 -1
  69. package/dist/esm/Matches.d.ts +15 -15
  70. package/dist/esm/Matches.js +15 -15
  71. package/dist/esm/Matches.js.map +1 -1
  72. package/dist/esm/RouterProvider.d.ts +6 -6
  73. package/dist/esm/RouterProvider.js +16 -15
  74. package/dist/esm/RouterProvider.js.map +1 -1
  75. package/dist/esm/awaited.d.ts +1 -1
  76. package/dist/esm/awaited.js +1 -1
  77. package/dist/esm/awaited.js.map +1 -1
  78. package/dist/esm/defer.js.map +1 -1
  79. package/dist/esm/fileRoute.d.ts +17 -17
  80. package/dist/esm/fileRoute.js +1 -1
  81. package/dist/esm/fileRoute.js.map +1 -1
  82. package/dist/esm/lazyRouteComponent.d.ts +1 -1
  83. package/dist/esm/lazyRouteComponent.js.map +1 -1
  84. package/dist/esm/link.d.ts +16 -13
  85. package/dist/esm/link.js +10 -11
  86. package/dist/esm/link.js.map +1 -1
  87. package/dist/esm/location.d.ts +2 -2
  88. package/dist/esm/not-found.d.ts +2 -2
  89. package/dist/esm/not-found.js.map +1 -1
  90. package/dist/esm/path.d.ts +4 -4
  91. package/dist/esm/path.js +2 -2
  92. package/dist/esm/path.js.map +1 -1
  93. package/dist/esm/qss.js +4 -3
  94. package/dist/esm/qss.js.map +1 -1
  95. package/dist/esm/redirects.d.ts +5 -5
  96. package/dist/esm/redirects.js.map +1 -1
  97. package/dist/esm/route.d.ts +34 -36
  98. package/dist/esm/route.js.map +1 -1
  99. package/dist/esm/routeInfo.d.ts +5 -5
  100. package/dist/esm/router.d.ts +28 -28
  101. package/dist/esm/router.js +63 -66
  102. package/dist/esm/router.js.map +1 -1
  103. package/dist/esm/routerContext.d.ts +1 -1
  104. package/dist/esm/routerContext.js +1 -1
  105. package/dist/esm/routerContext.js.map +1 -1
  106. package/dist/esm/scroll-restoration.d.ts +1 -1
  107. package/dist/esm/scroll-restoration.js +7 -9
  108. package/dist/esm/scroll-restoration.js.map +1 -1
  109. package/dist/esm/searchParams.d.ts +1 -1
  110. package/dist/esm/searchParams.js +10 -12
  111. package/dist/esm/searchParams.js.map +1 -1
  112. package/dist/esm/useBlocker.d.ts +2 -2
  113. package/dist/esm/useBlocker.js.map +1 -1
  114. package/dist/esm/useNavigate.d.ts +4 -4
  115. package/dist/esm/useNavigate.js +1 -1
  116. package/dist/esm/useNavigate.js.map +1 -1
  117. package/dist/esm/useParams.d.ts +5 -5
  118. package/dist/esm/useParams.js +1 -1
  119. package/dist/esm/useParams.js.map +1 -1
  120. package/dist/esm/useRouteContext.d.ts +4 -4
  121. package/dist/esm/useRouteContext.js +1 -1
  122. package/dist/esm/useRouteContext.js.map +1 -1
  123. package/dist/esm/useRouter.d.ts +2 -2
  124. package/dist/esm/useRouter.js.map +1 -1
  125. package/dist/esm/useRouterState.d.ts +2 -2
  126. package/dist/esm/useRouterState.js.map +1 -1
  127. package/dist/esm/useSearch.d.ts +4 -4
  128. package/dist/esm/useSearch.js +1 -1
  129. package/dist/esm/useSearch.js.map +1 -1
  130. package/dist/esm/utils.d.ts +13 -11
  131. package/dist/esm/utils.js +2 -2
  132. package/dist/esm/utils.js.map +1 -1
  133. package/package.json +3 -2
  134. package/src/CatchBoundary.tsx +1 -1
  135. package/src/Matches.tsx +48 -47
  136. package/src/RouterProvider.tsx +22 -16
  137. package/src/awaited.tsx +3 -3
  138. package/src/defer.ts +1 -0
  139. package/src/fileRoute.ts +53 -53
  140. package/src/history.ts +1 -1
  141. package/src/lazyRouteComponent.tsx +2 -1
  142. package/src/link.tsx +50 -42
  143. package/src/location.ts +2 -2
  144. package/src/not-found.tsx +3 -2
  145. package/src/path.ts +8 -8
  146. package/src/qss.ts +4 -5
  147. package/src/redirects.ts +5 -5
  148. package/src/route.ts +73 -67
  149. package/src/routeInfo.ts +8 -6
  150. package/src/router.ts +150 -145
  151. package/src/routerContext.tsx +2 -2
  152. package/src/scroll-restoration.tsx +9 -12
  153. package/src/searchParams.ts +11 -13
  154. package/src/useBlocker.tsx +3 -3
  155. package/src/useNavigate.tsx +7 -5
  156. package/src/useParams.tsx +6 -6
  157. package/src/useRouteContext.ts +7 -8
  158. package/src/useRouter.tsx +2 -2
  159. package/src/useRouterState.tsx +2 -2
  160. package/src/useSearch.tsx +7 -6
  161. package/src/utils.ts +36 -24
@@ -2,15 +2,15 @@
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const history = require("@tanstack/history");
4
4
  const reactStore = require("@tanstack/react-store");
5
+ const invariant = require("tiny-invariant");
6
+ const warning = require("tiny-warning");
5
7
  const route = require("./route.cjs");
6
8
  const searchParams = require("./searchParams.cjs");
7
9
  const utils = require("./utils.cjs");
8
10
  const RouterProvider = require("./RouterProvider.cjs");
9
11
  const path = require("./path.cjs");
10
- const invariant = require("tiny-invariant");
11
12
  const redirects = require("./redirects.cjs");
12
13
  const notFound = require("./not-found.cjs");
13
- const warning = require("tiny-warning");
14
14
  const componentTypes = [
15
15
  "component",
16
16
  "errorComponent",
@@ -52,7 +52,10 @@ class Router {
52
52
  this.basepath = `/${path.trimPath(newOptions.basepath)}`;
53
53
  }
54
54
  }
55
- if (!this.history || this.options.history && this.options.history !== this.history) {
55
+ if (
56
+ // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
57
+ !this.history || this.options.history && this.options.history !== this.history
58
+ ) {
56
59
  this.history = this.options.history ?? (typeof document !== "undefined" ? history.createBrowserHistory() : history.createMemoryHistory({
57
60
  initialEntries: [this.options.basepath || "/"]
58
61
  }));
@@ -107,7 +110,8 @@ class Router {
107
110
  };
108
111
  recurseRoutes([this.routeTree]);
109
112
  const scoredRoutes = [];
110
- Object.values(this.routesById).forEach((d, i) => {
113
+ const routes = Object.values(this.routesById);
114
+ routes.forEach((d, i) => {
111
115
  var _a;
112
116
  if (d.isRoot || !d.path) {
113
117
  return;
@@ -117,14 +121,14 @@ class Router {
117
121
  while (parsed.length > 1 && ((_a = parsed[0]) == null ? void 0 : _a.value) === "/") {
118
122
  parsed.shift();
119
123
  }
120
- const scores = parsed.map((d2) => {
121
- if (d2.value === "/") {
124
+ const scores = parsed.map((segment) => {
125
+ if (segment.value === "/") {
122
126
  return 0.75;
123
127
  }
124
- if (d2.type === "param") {
128
+ if (segment.type === "param") {
125
129
  return 0.5;
126
130
  }
127
- if (d2.type === "wildcard") {
131
+ if (segment.type === "wildcard") {
128
132
  return 0.25;
129
133
  }
130
134
  return 1;
@@ -191,7 +195,7 @@ class Router {
191
195
  };
192
196
  };
193
197
  const location = parse(this.history.location);
194
- let { __tempLocation, __tempKey } = location.state;
198
+ const { __tempLocation, __tempKey } = location.state;
195
199
  if (__tempLocation && (!__tempKey || __tempKey === this.tempLocationKey)) {
196
200
  const parsedTempLocation = parse(__tempLocation);
197
201
  parsedTempLocation.state.key = location.state.key;
@@ -208,7 +212,7 @@ class Router {
208
212
  };
209
213
  this.matchRoutes = (pathname, locationSearch, opts) => {
210
214
  let routeParams = {};
211
- let foundRoute = this.flatRoutes.find((route2) => {
215
+ const foundRoute = this.flatRoutes.find((route2) => {
212
216
  const matchedParams = path.matchPathname(
213
217
  this.basepath,
214
218
  path.trimPathRight(pathname),
@@ -225,7 +229,7 @@ class Router {
225
229
  return false;
226
230
  });
227
231
  let routeCursor = foundRoute || this.routesById[route.rootRouteId];
228
- let matchedRoutes = [routeCursor];
232
+ const matchedRoutes = [routeCursor];
229
233
  let isGlobalNotFound = false;
230
234
  if (
231
235
  // If we found a route, and it's not an index route and we have left over path
@@ -240,10 +244,9 @@ class Router {
240
244
  isGlobalNotFound = true;
241
245
  }
242
246
  }
243
- while (routeCursor == null ? void 0 : routeCursor.parentRoute) {
247
+ while (routeCursor.parentRoute) {
244
248
  routeCursor = routeCursor.parentRoute;
245
- if (routeCursor)
246
- matchedRoutes.unshift(routeCursor);
249
+ matchedRoutes.unshift(routeCursor);
247
250
  }
248
251
  const globalNotFoundRouteId = (() => {
249
252
  if (!isGlobalNotFound) {
@@ -285,7 +288,7 @@ class Router {
285
288
  const parentSearch = (parentMatch == null ? void 0 : parentMatch.search) ?? locationSearch;
286
289
  try {
287
290
  const validator = typeof route2.options.validateSearch === "object" ? route2.options.validateSearch.parse : route2.options.validateSearch;
288
- let search = (validator == null ? void 0 : validator(parentSearch)) ?? {};
291
+ const search = (validator == null ? void 0 : validator(parentSearch)) ?? {};
289
292
  return [
290
293
  {
291
294
  ...parentSearch,
@@ -294,13 +297,13 @@ class Router {
294
297
  void 0
295
298
  ];
296
299
  } catch (err) {
297
- const searchError2 = new SearchParamError(err.message, {
300
+ const searchParamError = new SearchParamError(err.message, {
298
301
  cause: err
299
302
  });
300
303
  if (opts == null ? void 0 : opts.throwOnError) {
301
- throw searchError2;
304
+ throw searchParamError;
302
305
  }
303
- return [parentSearch, searchError2];
306
+ return [parentSearch, searchParamError];
304
307
  }
305
308
  })();
306
309
  const loaderDeps = ((_b = (_a = route2.options).loaderDeps) == null ? void 0 : _b.call(_a, {
@@ -316,7 +319,7 @@ class Router {
316
319
  params: routeParams,
317
320
  leaveWildcards: true
318
321
  }) + loaderDepsHash;
319
- let existingMatch = RouterProvider.getRouteMatch(this.state, matchId);
322
+ const existingMatch = RouterProvider.getRouteMatch(this.state, matchId);
320
323
  const cause = this.state.matches.find((d) => d.id === matchId) ? "stay" : "enter";
321
324
  const match = existingMatch ? {
322
325
  ...existingMatch,
@@ -371,13 +374,16 @@ class Router {
371
374
  const build = (dest = {}, matches) => {
372
375
  var _a, _b, _c;
373
376
  const relevantMatches = this.state.pendingMatches || this.state.matches;
374
- const fromSearch = ((_a = relevantMatches[relevantMatches.length - 1]) == null ? void 0 : _a.search) || this.latestLocation.search;
377
+ const fromSearch = (
378
+ // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
379
+ ((_a = relevantMatches[relevantMatches.length - 1]) == null ? void 0 : _a.search) || this.latestLocation.search
380
+ );
375
381
  const fromMatches = this.matchRoutes(
376
382
  this.latestLocation.pathname,
377
383
  fromSearch
378
384
  );
379
385
  const stayingMatches = matches == null ? void 0 : matches.filter(
380
- (d) => fromMatches == null ? void 0 : fromMatches.find((e) => e.routeId === d.routeId)
386
+ (d) => fromMatches.find((e) => e.routeId === d.routeId)
381
387
  );
382
388
  const fromRoute = this.looseRoutesById[(_b = utils.last(fromMatches)) == null ? void 0 : _b.routeId];
383
389
  let pathname = dest.to ? this.resolvePathWithBase(
@@ -403,12 +409,9 @@ class Router {
403
409
  const postSearchFilters = (stayingMatches == null ? void 0 : stayingMatches.map(
404
410
  (match) => this.looseRoutesById[match.routeId].options.postSearchFilters ?? []
405
411
  ).flat().filter(Boolean)) ?? [];
406
- const preFilteredSearch = (preSearchFilters == null ? void 0 : preSearchFilters.length) ? preSearchFilters == null ? void 0 : preSearchFilters.reduce(
407
- (prev, next) => next(prev),
408
- fromSearch
409
- ) : fromSearch;
410
- const destSearch = dest.search === true ? preFilteredSearch : dest.search ? utils.functionalUpdate(dest.search, preFilteredSearch) ?? {} : (preSearchFilters == null ? void 0 : preSearchFilters.length) ? preFilteredSearch : {};
411
- const postFilteredSearch = (postSearchFilters == null ? void 0 : postSearchFilters.length) ? postSearchFilters.reduce((prev, next) => next(prev), destSearch) : destSearch;
412
+ const preFilteredSearch = preSearchFilters.length ? preSearchFilters.reduce((prev, next) => next(prev), fromSearch) : fromSearch;
413
+ const destSearch = dest.search === true ? preFilteredSearch : dest.search ? utils.functionalUpdate(dest.search, preFilteredSearch) : preSearchFilters.length ? preFilteredSearch : {};
414
+ const postFilteredSearch = postSearchFilters.length ? postSearchFilters.reduce((prev, next) => next(prev), destSearch) : destSearch;
412
415
  const search = utils.replaceEqualDeep(fromSearch, postFilteredSearch);
413
416
  const searchStr = this.options.stringifySearch(search);
414
417
  const hash = dest.hash === true ? this.latestLocation.hash : dest.hash ? utils.functionalUpdate(dest.hash, this.latestLocation.hash) : void 0;
@@ -427,11 +430,11 @@ class Router {
427
430
  };
428
431
  const buildWithMatches = (dest = {}, maskedDest) => {
429
432
  var _a;
430
- let next = build(dest);
433
+ const next = build(dest);
431
434
  let maskedNext = maskedDest ? build(maskedDest) : void 0;
432
435
  if (!maskedNext) {
433
436
  let params = {};
434
- let foundMask = (_a = this.options.routeMasks) == null ? void 0 : _a.find((d) => {
437
+ const foundMask = (_a = this.options.routeMasks) == null ? void 0 : _a.find((d) => {
435
438
  const match = path.matchPathname(this.basepath, next.pathname, {
436
439
  to: d.from,
437
440
  caseSensitive: false,
@@ -656,6 +659,7 @@ class Router {
656
659
  const matchPromises = [];
657
660
  validResolvedMatches.forEach((match, index) => {
658
661
  matchPromises.push(
662
+ // eslint-disable-next-line no-async-promise-executor
659
663
  new Promise(async (resolve, reject) => {
660
664
  var _a2;
661
665
  const parentMatchPromise = matchPromises[index - 1];
@@ -750,12 +754,13 @@ class Router {
750
754
  meta,
751
755
  headers
752
756
  };
753
- } catch (error) {
757
+ } catch (e) {
758
+ let error = e;
754
759
  if (latestPromise = checkLatest())
755
760
  return await latestPromise;
756
- handleError(error);
761
+ handleError(e);
757
762
  try {
758
- (_j = (_i = route2.options).onError) == null ? void 0 : _j.call(_i, error);
763
+ (_j = (_i = route2.options).onError) == null ? void 0 : _j.call(_i, e);
759
764
  } catch (onErrorError) {
760
765
  error = onErrorError;
761
766
  handleError(onErrorError);
@@ -770,10 +775,9 @@ class Router {
770
775
  updateMatch(match);
771
776
  };
772
777
  const age = Date.now() - match.updatedAt;
773
- let staleAge = preload ? route2.options.preloadStaleTime ?? this.options.defaultPreloadStaleTime ?? 3e4 : route2.options.staleTime ?? this.options.defaultStaleTime ?? 0;
774
- let shouldReload;
778
+ const staleAge = preload ? route2.options.preloadStaleTime ?? this.options.defaultPreloadStaleTime ?? 3e4 : route2.options.staleTime ?? this.options.defaultStaleTime ?? 0;
775
779
  const shouldReloadOption = route2.options.shouldReload;
776
- shouldReload = typeof shouldReloadOption === "function" ? shouldReloadOption(loaderContext) : shouldReloadOption;
780
+ const shouldReload = typeof shouldReloadOption === "function" ? shouldReloadOption(loaderContext) : shouldReloadOption;
777
781
  matches[index] = match = {
778
782
  ...match,
779
783
  preload: !!preload && !this.state.matches.find((d) => d.id === match.id)
@@ -946,7 +950,7 @@ class Router {
946
950
  return this.latestLoadPromise;
947
951
  };
948
952
  this.resolveRedirect = (err) => {
949
- let redirect = err;
953
+ const redirect = err;
950
954
  if (!redirect.href) {
951
955
  redirect.href = this.buildLocation(redirect).href;
952
956
  }
@@ -968,18 +972,17 @@ class Router {
968
972
  });
969
973
  };
970
974
  this.preloadRoute = async (opts) => {
971
- var _a;
972
- let next = this.buildLocation(opts);
975
+ const next = this.buildLocation(opts);
973
976
  let matches = this.matchRoutes(next.pathname, next.search, {
974
977
  throwOnError: true,
975
978
  preload: true
976
979
  });
977
980
  const loadedMatchIds = Object.fromEntries(
978
- (_a = [
981
+ [
979
982
  ...this.state.matches,
980
983
  ...this.state.pendingMatches ?? [],
981
984
  ...this.state.cachedMatches
982
- ]) == null ? void 0 : _a.map((d) => [d.id, true])
985
+ ].map((d) => [d.id, true])
983
986
  );
984
987
  this.__store.batch(() => {
985
988
  matches.forEach((match) => {
@@ -1019,9 +1022,6 @@ class Router {
1019
1022
  return false;
1020
1023
  }
1021
1024
  const baseLocation = (opts == null ? void 0 : opts.pending) ? this.latestLocation : this.state.resolvedLocation;
1022
- if (!baseLocation) {
1023
- return false;
1024
- }
1025
1025
  const match = path.matchPathname(this.basepath, baseLocation.pathname, {
1026
1026
  ...opts,
1027
1027
  to: next.pathname
@@ -1115,7 +1115,7 @@ class Router {
1115
1115
  this.dehydratedData = ctx.payload;
1116
1116
  (_c = (_b = this.options).hydrate) == null ? void 0 : _c.call(_b, ctx.payload);
1117
1117
  const dehydratedState = ctx.router.state;
1118
- let matches = this.matchRoutes(
1118
+ const matches = this.matchRoutes(
1119
1119
  this.state.location.pathname,
1120
1120
  this.state.location.search
1121
1121
  ).map((match) => {
@@ -1127,23 +1127,20 @@ class Router {
1127
1127
  dehydratedMatch,
1128
1128
  `Could not find a client-side match for dehydrated match with id: ${match.id}!`
1129
1129
  );
1130
- if (dehydratedMatch) {
1131
- const route2 = this.looseRoutesById[match.routeId];
1132
- const assets = dehydratedMatch.status === "notFound" || dehydratedMatch.status === "redirected" ? {} : {
1133
- meta: (_b2 = (_a2 = route2.options).meta) == null ? void 0 : _b2.call(_a2, {
1134
- params: match.params,
1135
- loaderData: dehydratedMatch.loaderData
1136
- }),
1137
- links: (_d = (_c2 = route2.options).links) == null ? void 0 : _d.call(_c2),
1138
- scripts: (_f = (_e = route2.options).scripts) == null ? void 0 : _f.call(_e)
1139
- };
1140
- return {
1141
- ...match,
1142
- ...dehydratedMatch,
1143
- ...assets
1144
- };
1145
- }
1146
- return match;
1130
+ const route2 = this.looseRoutesById[match.routeId];
1131
+ const assets = dehydratedMatch.status === "notFound" || dehydratedMatch.status === "redirected" ? {} : {
1132
+ meta: (_b2 = (_a2 = route2.options).meta) == null ? void 0 : _b2.call(_a2, {
1133
+ params: match.params,
1134
+ loaderData: dehydratedMatch.loaderData
1135
+ }),
1136
+ links: (_d = (_c2 = route2.options).links) == null ? void 0 : _d.call(_c2),
1137
+ scripts: (_f = (_e = route2.options).scripts) == null ? void 0 : _f.call(_e)
1138
+ };
1139
+ return {
1140
+ ...match,
1141
+ ...dehydratedMatch,
1142
+ ...assets
1143
+ };
1147
1144
  });
1148
1145
  this.__store.setState((s) => {
1149
1146
  return {
@@ -1159,13 +1156,13 @@ class Router {
1159
1156
  );
1160
1157
  let routeCursor = (err.global ? this.looseRoutesById[route.rootRouteId] : this.looseRoutesById[err.routeId]) || this.looseRoutesById[route.rootRouteId];
1161
1158
  while (!routeCursor.options.notFoundComponent && !this.options.defaultNotFoundComponent && routeCursor.id !== route.rootRouteId) {
1162
- routeCursor = routeCursor == null ? void 0 : routeCursor.parentRoute;
1159
+ routeCursor = routeCursor.parentRoute;
1163
1160
  invariant(
1164
1161
  routeCursor,
1165
1162
  "Found invalid route tree while trying to find not-found handler."
1166
1163
  );
1167
1164
  }
1168
- let match = matchesByRouteId[routeCursor.id];
1165
+ const match = matchesByRouteId[routeCursor.id];
1169
1166
  invariant(match, "Could not find match for route: " + routeCursor.id);
1170
1167
  Object.assign(match, {
1171
1168
  status: "notFound",
@@ -1184,9 +1181,9 @@ class Router {
1184
1181
  defaultPendingMinMs: 500,
1185
1182
  context: void 0,
1186
1183
  ...options,
1187
- stringifySearch: (options == null ? void 0 : options.stringifySearch) ?? searchParams.defaultStringifySearch,
1188
- parseSearch: (options == null ? void 0 : options.parseSearch) ?? searchParams.defaultParseSearch,
1189
- transformer: (options == null ? void 0 : options.transformer) ?? JSON
1184
+ stringifySearch: options.stringifySearch ?? searchParams.defaultStringifySearch,
1185
+ parseSearch: options.parseSearch ?? searchParams.defaultParseSearch,
1186
+ transformer: options.transformer ?? JSON
1190
1187
  });
1191
1188
  if (typeof document !== "undefined") {
1192
1189
  window.__TSR__ROUTER__ = this;