@tanstack/router-core 1.171.9 → 1.171.10
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 +1 -1
- package/dist/cjs/router.cjs +38 -41
- package/dist/cjs/router.cjs.map +1 -1
- package/dist/cjs/searchMiddleware.cjs +24 -9
- 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 +1 -0
- package/dist/cjs/utils.cjs.map +1 -1
- package/dist/cjs/utils.d.cts +1 -0
- package/dist/esm/route.d.ts +1 -1
- package/dist/esm/route.js.map +1 -1
- package/dist/esm/router.js +38 -41
- package/dist/esm/router.js.map +1 -1
- package/dist/esm/searchMiddleware.d.ts +1 -1
- package/dist/esm/searchMiddleware.js +25 -10
- 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 +1 -1
- 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 +1 -3
- package/src/router.ts +66 -73
- package/src/searchMiddleware.ts +45 -10
- package/src/ssr/tsrScript.ts +2 -11
- package/src/utils.ts +1 -1
package/dist/esm/router.js
CHANGED
|
@@ -1104,62 +1104,59 @@ 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 }, validations) => {
|
|
1127
1124
|
const result = next(search);
|
|
1128
|
-
if (
|
|
1129
|
-
|
|
1125
|
+
if (includeValidateSearch) try {
|
|
1126
|
+
const validated = validateSearch(routeValidateSearch, result);
|
|
1127
|
+
if (validations && validated) validations.push(result, validated);
|
|
1130
1128
|
return {
|
|
1131
1129
|
...result,
|
|
1132
|
-
...
|
|
1130
|
+
...validated
|
|
1133
1131
|
};
|
|
1134
|
-
} catch {
|
|
1135
|
-
|
|
1136
|
-
}
|
|
1132
|
+
} catch {}
|
|
1133
|
+
return result;
|
|
1137
1134
|
};
|
|
1138
|
-
|
|
1135
|
+
middlewares.push(validate);
|
|
1139
1136
|
}
|
|
1140
1137
|
}
|
|
1141
|
-
const
|
|
1142
|
-
|
|
1143
|
-
|
|
1144
|
-
|
|
1145
|
-
|
|
1146
|
-
|
|
1147
|
-
|
|
1148
|
-
|
|
1149
|
-
|
|
1150
|
-
|
|
1151
|
-
|
|
1152
|
-
return applyNext(index + 1, newSearch,
|
|
1138
|
+
const applyNext = (index, currentSearch, validations) => {
|
|
1139
|
+
if (index >= middlewares.length) {
|
|
1140
|
+
if (!dest.search) return {};
|
|
1141
|
+
if (dest.search === true) return currentSearch;
|
|
1142
|
+
return functionalUpdate(dest.search, currentSearch);
|
|
1143
|
+
}
|
|
1144
|
+
const next = (newSearch, collectValidations) => {
|
|
1145
|
+
if (collectValidations) {
|
|
1146
|
+
const nextValidations = [];
|
|
1147
|
+
return [applyNext(index + 1, newSearch, nextValidations), nextValidations];
|
|
1148
|
+
}
|
|
1149
|
+
return applyNext(index + 1, newSearch, validations);
|
|
1153
1150
|
};
|
|
1154
|
-
return
|
|
1151
|
+
return middlewares[index]({
|
|
1155
1152
|
search: currentSearch,
|
|
1156
1153
|
next
|
|
1157
|
-
});
|
|
1154
|
+
}, validations);
|
|
1158
1155
|
};
|
|
1159
|
-
return function middleware(search,
|
|
1160
|
-
|
|
1161
|
-
|
|
1162
|
-
return applyNext(0, search
|
|
1156
|
+
return function middleware(search, nextDest, _includeValidateSearch) {
|
|
1157
|
+
dest = nextDest;
|
|
1158
|
+
includeValidateSearch = _includeValidateSearch;
|
|
1159
|
+
return applyNext(0, search);
|
|
1163
1160
|
};
|
|
1164
1161
|
}
|
|
1165
1162
|
function findGlobalNotFoundRouteId(notFoundMode, routes) {
|