@tanstack/router-core 1.171.9 → 1.171.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/route.cjs.map +1 -1
- package/dist/cjs/route.d.cts +7 -1
- package/dist/cjs/router.cjs +44 -41
- package/dist/cjs/router.cjs.map +1 -1
- package/dist/cjs/searchMiddleware.cjs +30 -13
- package/dist/cjs/searchMiddleware.cjs.map +1 -1
- package/dist/cjs/searchMiddleware.d.cts +1 -1
- package/dist/cjs/ssr/tsrScript.cjs +1 -1
- package/dist/cjs/ssr/tsrScript.cjs.map +1 -1
- package/dist/cjs/utils.cjs.map +1 -1
- package/dist/cjs/utils.d.cts +1 -0
- package/dist/esm/route.d.ts +7 -1
- package/dist/esm/route.js.map +1 -1
- package/dist/esm/router.js +44 -41
- package/dist/esm/router.js.map +1 -1
- package/dist/esm/searchMiddleware.d.ts +1 -1
- package/dist/esm/searchMiddleware.js +30 -13
- package/dist/esm/searchMiddleware.js.map +1 -1
- package/dist/esm/ssr/tsrScript.js +1 -1
- package/dist/esm/ssr/tsrScript.js.map +1 -1
- package/dist/esm/utils.d.ts +1 -0
- package/dist/esm/utils.js.map +1 -1
- package/package.json +1 -1
- package/skills/router-core/auth-and-guards/SKILL.md +3 -3
- package/src/route.ts +8 -3
- package/src/router.ts +63 -73
- package/src/searchMiddleware.ts +70 -14
- package/src/ssr/tsrScript.ts +2 -11
- package/src/utils.ts +1 -1
package/dist/esm/router.js
CHANGED
|
@@ -1104,62 +1104,65 @@ function applySearchMiddleware({ search, dest, destRoutes, _includeValidateSearc
|
|
|
1104
1104
|
return buildMiddlewareChain(destRoutes)(search, dest, _includeValidateSearch ?? false);
|
|
1105
1105
|
}
|
|
1106
1106
|
function buildMiddlewareChain(destRoutes) {
|
|
1107
|
-
|
|
1108
|
-
|
|
1109
|
-
|
|
1110
|
-
middlewares: []
|
|
1111
|
-
};
|
|
1107
|
+
let dest;
|
|
1108
|
+
let includeValidateSearch;
|
|
1109
|
+
const middlewares = [];
|
|
1112
1110
|
for (const route of destRoutes) {
|
|
1113
|
-
|
|
1114
|
-
|
|
1115
|
-
|
|
1111
|
+
const routeOptions = route.options;
|
|
1112
|
+
if ("search" in routeOptions) {
|
|
1113
|
+
if (routeOptions.search?.middlewares) middlewares.push(...routeOptions.search.middlewares);
|
|
1114
|
+
} else if (routeOptions.preSearchFilters || routeOptions.postSearchFilters) {
|
|
1116
1115
|
const legacyMiddleware = ({ search, next }) => {
|
|
1117
|
-
|
|
1118
|
-
|
|
1119
|
-
const result = next(nextSearch);
|
|
1120
|
-
if ("postSearchFilters" in route.options && route.options.postSearchFilters) return route.options.postSearchFilters.reduce((prev, next) => next(prev), result);
|
|
1121
|
-
return result;
|
|
1116
|
+
const result = next(routeOptions.preSearchFilters ? routeOptions.preSearchFilters.reduce((prev, next) => next(prev), search) : search);
|
|
1117
|
+
return routeOptions.postSearchFilters ? routeOptions.postSearchFilters.reduce((prev, next) => next(prev), result) : result;
|
|
1122
1118
|
};
|
|
1123
|
-
|
|
1119
|
+
middlewares.push(legacyMiddleware);
|
|
1124
1120
|
}
|
|
1125
|
-
|
|
1126
|
-
|
|
1121
|
+
const routeValidateSearch = routeOptions.validateSearch;
|
|
1122
|
+
if (routeValidateSearch) {
|
|
1123
|
+
const validate = ({ search, next, meta }) => {
|
|
1127
1124
|
const result = next(search);
|
|
1128
|
-
if (
|
|
1129
|
-
|
|
1125
|
+
if (includeValidateSearch) try {
|
|
1126
|
+
const validated = validateSearch(routeValidateSearch, result);
|
|
1127
|
+
if (meta && validated) {
|
|
1128
|
+
for (const key in validated) if (!(key in result)) (meta.defaulted ||= /* @__PURE__ */ new Map()).set(key, validated[key]);
|
|
1129
|
+
}
|
|
1130
1130
|
return {
|
|
1131
1131
|
...result,
|
|
1132
|
-
...
|
|
1132
|
+
...validated
|
|
1133
1133
|
};
|
|
1134
|
-
} catch {
|
|
1135
|
-
|
|
1136
|
-
}
|
|
1134
|
+
} catch {}
|
|
1135
|
+
return result;
|
|
1137
1136
|
};
|
|
1138
|
-
|
|
1137
|
+
middlewares.push(validate);
|
|
1139
1138
|
}
|
|
1140
1139
|
}
|
|
1141
|
-
const
|
|
1142
|
-
|
|
1143
|
-
|
|
1144
|
-
|
|
1145
|
-
|
|
1146
|
-
|
|
1147
|
-
|
|
1148
|
-
|
|
1149
|
-
|
|
1150
|
-
|
|
1151
|
-
|
|
1152
|
-
|
|
1140
|
+
const applyNext = (index, currentSearch, meta) => {
|
|
1141
|
+
if (index >= middlewares.length) {
|
|
1142
|
+
if (!dest.search) return {};
|
|
1143
|
+
if (dest.search === true) return currentSearch;
|
|
1144
|
+
return functionalUpdate(dest.search, currentSearch);
|
|
1145
|
+
}
|
|
1146
|
+
const next = (newSearch, collectMeta) => {
|
|
1147
|
+
if (collectMeta) {
|
|
1148
|
+
const nextMeta = meta || {};
|
|
1149
|
+
return {
|
|
1150
|
+
search: applyNext(index + 1, newSearch, nextMeta),
|
|
1151
|
+
meta: nextMeta
|
|
1152
|
+
};
|
|
1153
|
+
}
|
|
1154
|
+
return applyNext(index + 1, newSearch, meta);
|
|
1153
1155
|
};
|
|
1154
|
-
return
|
|
1156
|
+
return middlewares[index]({
|
|
1155
1157
|
search: currentSearch,
|
|
1156
|
-
next
|
|
1158
|
+
next,
|
|
1159
|
+
meta
|
|
1157
1160
|
});
|
|
1158
1161
|
};
|
|
1159
|
-
return function middleware(search,
|
|
1160
|
-
|
|
1161
|
-
|
|
1162
|
-
return applyNext(0, search
|
|
1162
|
+
return function middleware(search, nextDest, _includeValidateSearch) {
|
|
1163
|
+
dest = nextDest;
|
|
1164
|
+
includeValidateSearch = _includeValidateSearch;
|
|
1165
|
+
return applyNext(0, search);
|
|
1163
1166
|
};
|
|
1164
1167
|
}
|
|
1165
1168
|
function findGlobalNotFoundRouteId(notFoundMode, routes) {
|