@remix-run/router 1.0.5-pre.1 → 1.0.5-pre.2
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/CHANGELOG.md +7 -0
- package/dist/router.cjs.js +27 -20
- package/dist/router.cjs.js.map +1 -1
- package/dist/router.d.ts +7 -2
- package/dist/router.js +27 -20
- package/dist/router.js.map +1 -1
- package/dist/router.umd.js +27 -20
- package/dist/router.umd.js.map +1 -1
- package/dist/router.umd.min.js +2 -2
- package/dist/router.umd.min.js.map +1 -1
- package/dist/utils.d.ts +1 -0
- package/package.json +1 -1
- package/router.ts +52 -17
- package/utils.ts +1 -0
package/dist/utils.d.ts
CHANGED
package/package.json
CHANGED
package/router.ts
CHANGED
|
@@ -316,8 +316,14 @@ export interface StaticHandlerContext {
|
|
|
316
316
|
*/
|
|
317
317
|
export interface StaticHandler {
|
|
318
318
|
dataRoutes: AgnosticDataRouteObject[];
|
|
319
|
-
query(
|
|
320
|
-
|
|
319
|
+
query(
|
|
320
|
+
request: Request,
|
|
321
|
+
opts?: { requestContext?: unknown }
|
|
322
|
+
): Promise<StaticHandlerContext | Response>;
|
|
323
|
+
queryRoute(
|
|
324
|
+
request: Request,
|
|
325
|
+
opts?: { routeId?: string; requestContext?: unknown }
|
|
326
|
+
): Promise<any>;
|
|
321
327
|
}
|
|
322
328
|
|
|
323
329
|
/**
|
|
@@ -1943,7 +1949,8 @@ export function unstable_createStaticHandler(
|
|
|
1943
1949
|
* return it directly.
|
|
1944
1950
|
*/
|
|
1945
1951
|
async function query(
|
|
1946
|
-
request: Request
|
|
1952
|
+
request: Request,
|
|
1953
|
+
{ requestContext }: { requestContext?: unknown } = {}
|
|
1947
1954
|
): Promise<StaticHandlerContext | Response> {
|
|
1948
1955
|
let url = new URL(request.url);
|
|
1949
1956
|
let method = request.method.toLowerCase();
|
|
@@ -1987,7 +1994,7 @@ export function unstable_createStaticHandler(
|
|
|
1987
1994
|
};
|
|
1988
1995
|
}
|
|
1989
1996
|
|
|
1990
|
-
let result = await queryImpl(request, location, matches);
|
|
1997
|
+
let result = await queryImpl(request, location, matches, requestContext);
|
|
1991
1998
|
if (isResponse(result)) {
|
|
1992
1999
|
return result;
|
|
1993
2000
|
}
|
|
@@ -2018,7 +2025,13 @@ export function unstable_createStaticHandler(
|
|
|
2018
2025
|
* code. Examples here are 404 and 405 errors that occur prior to reaching
|
|
2019
2026
|
* any user-defined loaders.
|
|
2020
2027
|
*/
|
|
2021
|
-
async function queryRoute(
|
|
2028
|
+
async function queryRoute(
|
|
2029
|
+
request: Request,
|
|
2030
|
+
{
|
|
2031
|
+
routeId,
|
|
2032
|
+
requestContext,
|
|
2033
|
+
}: { requestContext?: unknown; routeId?: string } = {}
|
|
2034
|
+
): Promise<any> {
|
|
2022
2035
|
let url = new URL(request.url);
|
|
2023
2036
|
let method = request.method.toLowerCase();
|
|
2024
2037
|
let location = createLocation("", createPath(url), null, "default");
|
|
@@ -2045,7 +2058,13 @@ export function unstable_createStaticHandler(
|
|
|
2045
2058
|
throw getInternalRouterError(404, { pathname: location.pathname });
|
|
2046
2059
|
}
|
|
2047
2060
|
|
|
2048
|
-
let result = await queryImpl(
|
|
2061
|
+
let result = await queryImpl(
|
|
2062
|
+
request,
|
|
2063
|
+
location,
|
|
2064
|
+
matches,
|
|
2065
|
+
requestContext,
|
|
2066
|
+
match
|
|
2067
|
+
);
|
|
2049
2068
|
if (isResponse(result)) {
|
|
2050
2069
|
return result;
|
|
2051
2070
|
}
|
|
@@ -2068,6 +2087,7 @@ export function unstable_createStaticHandler(
|
|
|
2068
2087
|
request: Request,
|
|
2069
2088
|
location: Location,
|
|
2070
2089
|
matches: AgnosticDataRouteMatch[],
|
|
2090
|
+
requestContext: unknown,
|
|
2071
2091
|
routeMatch?: AgnosticDataRouteMatch
|
|
2072
2092
|
): Promise<Omit<StaticHandlerContext, "location" | "basename"> | Response> {
|
|
2073
2093
|
invariant(
|
|
@@ -2081,12 +2101,18 @@ export function unstable_createStaticHandler(
|
|
|
2081
2101
|
request,
|
|
2082
2102
|
matches,
|
|
2083
2103
|
routeMatch || getTargetMatch(matches, location),
|
|
2104
|
+
requestContext,
|
|
2084
2105
|
routeMatch != null
|
|
2085
2106
|
);
|
|
2086
2107
|
return result;
|
|
2087
2108
|
}
|
|
2088
2109
|
|
|
2089
|
-
let result = await loadRouteData(
|
|
2110
|
+
let result = await loadRouteData(
|
|
2111
|
+
request,
|
|
2112
|
+
matches,
|
|
2113
|
+
requestContext,
|
|
2114
|
+
routeMatch
|
|
2115
|
+
);
|
|
2090
2116
|
return isResponse(result)
|
|
2091
2117
|
? result
|
|
2092
2118
|
: {
|
|
@@ -2117,6 +2143,7 @@ export function unstable_createStaticHandler(
|
|
|
2117
2143
|
request: Request,
|
|
2118
2144
|
matches: AgnosticDataRouteMatch[],
|
|
2119
2145
|
actionMatch: AgnosticDataRouteMatch,
|
|
2146
|
+
requestContext: unknown,
|
|
2120
2147
|
isRouteRequest: boolean
|
|
2121
2148
|
): Promise<Omit<StaticHandlerContext, "location" | "basename"> | Response> {
|
|
2122
2149
|
let result: DataResult;
|
|
@@ -2142,7 +2169,8 @@ export function unstable_createStaticHandler(
|
|
|
2142
2169
|
matches,
|
|
2143
2170
|
basename,
|
|
2144
2171
|
true,
|
|
2145
|
-
isRouteRequest
|
|
2172
|
+
isRouteRequest,
|
|
2173
|
+
requestContext
|
|
2146
2174
|
);
|
|
2147
2175
|
|
|
2148
2176
|
if (request.signal.aborted) {
|
|
@@ -2192,9 +2220,15 @@ export function unstable_createStaticHandler(
|
|
|
2192
2220
|
// Store off the pending error - we use it to determine which loaders
|
|
2193
2221
|
// to call and will commit it when we complete the navigation
|
|
2194
2222
|
let boundaryMatch = findNearestBoundary(matches, actionMatch.route.id);
|
|
2195
|
-
let context = await loadRouteData(
|
|
2196
|
-
|
|
2197
|
-
|
|
2223
|
+
let context = await loadRouteData(
|
|
2224
|
+
request,
|
|
2225
|
+
matches,
|
|
2226
|
+
requestContext,
|
|
2227
|
+
undefined,
|
|
2228
|
+
{
|
|
2229
|
+
[boundaryMatch.route.id]: result.error,
|
|
2230
|
+
}
|
|
2231
|
+
);
|
|
2198
2232
|
|
|
2199
2233
|
// action status codes take precedence over loader status codes
|
|
2200
2234
|
return {
|
|
@@ -2211,7 +2245,7 @@ export function unstable_createStaticHandler(
|
|
|
2211
2245
|
|
|
2212
2246
|
// Create a GET request for the loaders
|
|
2213
2247
|
let loaderRequest = new Request(request.url, { signal: request.signal });
|
|
2214
|
-
let context = await loadRouteData(loaderRequest, matches);
|
|
2248
|
+
let context = await loadRouteData(loaderRequest, matches, requestContext);
|
|
2215
2249
|
|
|
2216
2250
|
return {
|
|
2217
2251
|
...context,
|
|
@@ -2229,6 +2263,7 @@ export function unstable_createStaticHandler(
|
|
|
2229
2263
|
async function loadRouteData(
|
|
2230
2264
|
request: Request,
|
|
2231
2265
|
matches: AgnosticDataRouteMatch[],
|
|
2266
|
+
requestContext: unknown,
|
|
2232
2267
|
routeMatch?: AgnosticDataRouteMatch,
|
|
2233
2268
|
pendingActionError?: RouteData
|
|
2234
2269
|
): Promise<
|
|
@@ -2277,7 +2312,8 @@ export function unstable_createStaticHandler(
|
|
|
2277
2312
|
matches,
|
|
2278
2313
|
basename,
|
|
2279
2314
|
true,
|
|
2280
|
-
isRouteRequest
|
|
2315
|
+
isRouteRequest,
|
|
2316
|
+
requestContext
|
|
2281
2317
|
)
|
|
2282
2318
|
),
|
|
2283
2319
|
]);
|
|
@@ -2580,7 +2616,8 @@ async function callLoaderOrAction(
|
|
|
2580
2616
|
matches: AgnosticDataRouteMatch[],
|
|
2581
2617
|
basename = "/",
|
|
2582
2618
|
isStaticRequest: boolean = false,
|
|
2583
|
-
isRouteRequest: boolean = false
|
|
2619
|
+
isRouteRequest: boolean = false,
|
|
2620
|
+
requestContext?: unknown
|
|
2584
2621
|
): Promise<DataResult> {
|
|
2585
2622
|
let resultType;
|
|
2586
2623
|
let result;
|
|
@@ -2599,7 +2636,7 @@ async function callLoaderOrAction(
|
|
|
2599
2636
|
);
|
|
2600
2637
|
|
|
2601
2638
|
result = await Promise.race([
|
|
2602
|
-
handler({ request, params: match.params }),
|
|
2639
|
+
handler({ request, params: match.params, context: requestContext }),
|
|
2603
2640
|
abortPromise,
|
|
2604
2641
|
]);
|
|
2605
2642
|
|
|
@@ -2968,12 +3005,10 @@ function getInternalRouterError(
|
|
|
2968
3005
|
pathname,
|
|
2969
3006
|
routeId,
|
|
2970
3007
|
method,
|
|
2971
|
-
message,
|
|
2972
3008
|
}: {
|
|
2973
3009
|
pathname?: string;
|
|
2974
3010
|
routeId?: string;
|
|
2975
3011
|
method?: string;
|
|
2976
|
-
message?: string;
|
|
2977
3012
|
} = {}
|
|
2978
3013
|
) {
|
|
2979
3014
|
let statusText = "Unknown Server Error";
|