@adonisjs/http-server 8.0.0-next.3 → 8.0.0-next.5
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.
|
@@ -986,7 +986,7 @@ var Route = class extends Macroable4 {
|
|
|
986
986
|
importExpression: String(controller),
|
|
987
987
|
...moduleImporter(controller, method).toHandleMethod()
|
|
988
988
|
},
|
|
989
|
-
routeName: `${new StringBuilder(controller.name).removeSuffix("controller").snakeCase()}.${string2.snakeCase(method)}`
|
|
989
|
+
routeName: controller.name ? `${new StringBuilder(controller.name).removeSuffix("controller").snakeCase()}.${string2.snakeCase(method)}` : void 0
|
|
990
990
|
};
|
|
991
991
|
}
|
|
992
992
|
return { handler };
|
|
@@ -4296,7 +4296,7 @@ var Router = class {
|
|
|
4296
4296
|
});
|
|
4297
4297
|
}
|
|
4298
4298
|
const domains = Object.keys(this.routes).filter((domain) => domain !== "root");
|
|
4299
|
-
this.routes["root"]
|
|
4299
|
+
this.routes["root"]?.forEach((route) => trackRoute.bind(this)(route));
|
|
4300
4300
|
domains.forEach(
|
|
4301
4301
|
(domain) => this.routes[domain].forEach((route) => trackRoute.bind(this)(route, domain))
|
|
4302
4302
|
);
|
package/build/factories/main.js
CHANGED
package/build/index.js
CHANGED
package/build/src/redirect.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ import type { IncomingMessage } from 'node:http';
|
|
|
2
2
|
import type { Qs } from './qs.ts';
|
|
3
3
|
import type { Response } from './response.ts';
|
|
4
4
|
import type { Router } from './router/main.ts';
|
|
5
|
-
import type { RoutesList, URLOptions, GetRoutesForMethod, RouteBuilderArguments } from './types/url_builder.ts';
|
|
5
|
+
import type { RoutesList, LookupList, URLOptions, GetRoutesForMethod, RouteBuilderArguments } from './types/url_builder.ts';
|
|
6
6
|
/**
|
|
7
7
|
* Exposes the API to construct redirect routes
|
|
8
8
|
*/
|
|
@@ -33,7 +33,7 @@ export declare class Redirect {
|
|
|
33
33
|
/**
|
|
34
34
|
* Redirect the request using a route identifier.
|
|
35
35
|
*/
|
|
36
|
-
toRoute<Identifier extends keyof GetRoutesForMethod<'GET'> & string>(...args: RouteBuilderArguments<
|
|
36
|
+
toRoute<Identifier extends keyof GetRoutesForMethod<RoutesList, 'GET'> & string>(...args: RoutesList extends LookupList ? RouteBuilderArguments<Identifier, RoutesList['GET'][Identifier], URLOptions> : []): void;
|
|
37
37
|
/**
|
|
38
38
|
* Redirect the request using a path.
|
|
39
39
|
*/
|
|
@@ -3,7 +3,7 @@ import type { Application } from '@adonisjs/application';
|
|
|
3
3
|
import { Route } from './route.ts';
|
|
4
4
|
import type { RouteFn, RouteMatchers } from '../types/route.ts';
|
|
5
5
|
import type { ParsedGlobalMiddleware } from '../types/middleware.ts';
|
|
6
|
-
import type { RoutesList, URLOptions, GetRoutesForMethod, RouteBuilderArguments } from '../types/url_builder.ts';
|
|
6
|
+
import type { RoutesList, LookupList, URLOptions, GetRoutesForMethod, RouteBuilderArguments } from '../types/url_builder.ts';
|
|
7
7
|
/**
|
|
8
8
|
* Brisk routes exposes the API to configure the route handler by chaining
|
|
9
9
|
* one of the pre-defined methods.
|
|
@@ -31,9 +31,7 @@ export declare class BriskRoute extends Macroable {
|
|
|
31
31
|
* Redirects to a given route. Params from the original request will
|
|
32
32
|
* be used when no custom params are defined.
|
|
33
33
|
*/
|
|
34
|
-
redirect<Identifier extends keyof GetRoutesForMethod<'GET'> & string>(...args: RouteBuilderArguments<
|
|
35
|
-
status: number;
|
|
36
|
-
}>): Route;
|
|
34
|
+
redirect<Identifier extends keyof GetRoutesForMethod<RoutesList, 'GET'> & string>(...args: RoutesList extends LookupList ? RouteBuilderArguments<Identifier, RoutesList['GET'][Identifier], URLOptions> : []): Route;
|
|
37
35
|
/**
|
|
38
36
|
* Redirect request to a fixed URL
|
|
39
37
|
*/
|
|
@@ -19,15 +19,21 @@ export type SignedURLOptions = URLOptions & {
|
|
|
19
19
|
/**
|
|
20
20
|
* Returns params for a route identifier
|
|
21
21
|
*/
|
|
22
|
-
export type RouteBuilderArguments<
|
|
22
|
+
export type RouteBuilderArguments<Identifier, Route, Options extends any = URLOptions> = Route extends LookupListRoute ? Prettify<Route['params'] extends undefined ? [identifier: Identifier, params?: undefined, options?: Options] : [undefined] extends [Route['params']] ? [
|
|
23
23
|
identifier: Identifier,
|
|
24
|
-
params?:
|
|
24
|
+
params?: Route['params'] | Route['paramsTuple'],
|
|
25
25
|
options?: Options
|
|
26
26
|
] : [
|
|
27
27
|
identifier: Identifier,
|
|
28
|
-
params:
|
|
28
|
+
params: Route['params'] | Route['paramsTuple'],
|
|
29
29
|
options?: Options
|
|
30
30
|
]> : never;
|
|
31
|
+
export type LookupListRoute = {
|
|
32
|
+
paramsTuple?: [...any[]];
|
|
33
|
+
params?: {
|
|
34
|
+
[name: string]: any;
|
|
35
|
+
};
|
|
36
|
+
};
|
|
31
37
|
/**
|
|
32
38
|
* LookupList type is used by the URLBuilder to provide
|
|
33
39
|
* type-safety when creating URLs.
|
|
@@ -37,12 +43,7 @@ export type RouteBuilderArguments<Routes, Method extends keyof Routes, Identifie
|
|
|
37
43
|
*/
|
|
38
44
|
export type LookupList = {
|
|
39
45
|
[method: string]: {
|
|
40
|
-
[identifier: string]:
|
|
41
|
-
paramsTuple?: [...any[]];
|
|
42
|
-
params?: {
|
|
43
|
-
[name: string]: any;
|
|
44
|
-
};
|
|
45
|
-
};
|
|
46
|
+
[identifier: string]: LookupListRoute;
|
|
46
47
|
};
|
|
47
48
|
};
|
|
48
49
|
/**
|
|
@@ -57,7 +58,7 @@ export type LookupList = {
|
|
|
57
58
|
* urlFor('blog.adonisjs.com@posts.show', [1]) // /posts/1
|
|
58
59
|
* ```
|
|
59
60
|
*/
|
|
60
|
-
export type UrlFor<Routes extends LookupList, Options extends any = URLOptions> = (<Identifier extends keyof Routes['ALL'] & string>(...[identifier, params, options]: RouteBuilderArguments<
|
|
61
|
+
export type UrlFor<Routes extends LookupList, Options extends any = URLOptions> = (<Identifier extends keyof Routes['ALL'] & string>(...[identifier, params, options]: RouteBuilderArguments<Identifier, Routes['ALL'][Identifier], Options>) => string) & {
|
|
61
62
|
/**
|
|
62
63
|
* Make URL for a GET route. An error will be raised if the route doesn't
|
|
63
64
|
* exist.
|
|
@@ -67,7 +68,7 @@ export type UrlFor<Routes extends LookupList, Options extends any = URLOptions>
|
|
|
67
68
|
* urlFor.get('users.store', [1]) // Error: Route not found GET@users/store
|
|
68
69
|
* ```
|
|
69
70
|
*/
|
|
70
|
-
get<RouteIdentifier extends keyof Routes['GET'] & string>(...[identifier, params, options]: RouteBuilderArguments<
|
|
71
|
+
get<RouteIdentifier extends keyof Routes['GET'] & string>(...[identifier, params, options]: RouteBuilderArguments<RouteIdentifier, Routes['GET'][RouteIdentifier], Options>): {
|
|
71
72
|
method: 'get';
|
|
72
73
|
url: string;
|
|
73
74
|
};
|
|
@@ -80,7 +81,7 @@ export type UrlFor<Routes extends LookupList, Options extends any = URLOptions>
|
|
|
80
81
|
* urlFor.post('users.show', [1]) // Error: Route not found POST@users.show
|
|
81
82
|
* ```
|
|
82
83
|
*/
|
|
83
|
-
post<RouteIdentifier extends keyof Routes['POST'] & string>(...[identifier, params, options]: RouteBuilderArguments<
|
|
84
|
+
post<RouteIdentifier extends keyof Routes['POST'] & string>(...[identifier, params, options]: RouteBuilderArguments<RouteIdentifier, Routes['POST'][RouteIdentifier], Options>): {
|
|
84
85
|
method: 'post';
|
|
85
86
|
url: string;
|
|
86
87
|
};
|
|
@@ -93,7 +94,7 @@ export type UrlFor<Routes extends LookupList, Options extends any = URLOptions>
|
|
|
93
94
|
* urlFor.put('users.show', [1]) // Error: Route not found PUT@users.show
|
|
94
95
|
* ```
|
|
95
96
|
*/
|
|
96
|
-
put<RouteIdentifier extends keyof Routes['PUT'] & string>(...[identifier, params, options]: RouteBuilderArguments<
|
|
97
|
+
put<RouteIdentifier extends keyof Routes['PUT'] & string>(...[identifier, params, options]: RouteBuilderArguments<RouteIdentifier, Routes['PUT'][RouteIdentifier], Options>): {
|
|
97
98
|
method: 'put';
|
|
98
99
|
url: string;
|
|
99
100
|
};
|
|
@@ -106,7 +107,7 @@ export type UrlFor<Routes extends LookupList, Options extends any = URLOptions>
|
|
|
106
107
|
* urlFor.put('users.show', [1]) // Error: Route not found PATCH@users.show
|
|
107
108
|
* ```
|
|
108
109
|
*/
|
|
109
|
-
patch<RouteIdentifier extends keyof Routes['PATCH'] & string>(...[identifier, params, options]: RouteBuilderArguments<
|
|
110
|
+
patch<RouteIdentifier extends keyof Routes['PATCH'] & string>(...[identifier, params, options]: RouteBuilderArguments<RouteIdentifier, Routes['PATCH'][RouteIdentifier], Options>): {
|
|
110
111
|
method: 'patch';
|
|
111
112
|
url: string;
|
|
112
113
|
};
|
|
@@ -119,7 +120,7 @@ export type UrlFor<Routes extends LookupList, Options extends any = URLOptions>
|
|
|
119
120
|
* urlFor.delete('users.show', [1]) // Error: Route not found DELETE@users.show
|
|
120
121
|
* ```
|
|
121
122
|
*/
|
|
122
|
-
delete<RouteIdentifier extends keyof Routes['DELETE'] & string>(...[identifier, params, options]: RouteBuilderArguments<
|
|
123
|
+
delete<RouteIdentifier extends keyof Routes['DELETE'] & string>(...[identifier, params, options]: RouteBuilderArguments<RouteIdentifier, Routes['DELETE'][RouteIdentifier], Options>): {
|
|
123
124
|
method: 'delete';
|
|
124
125
|
url: string;
|
|
125
126
|
};
|
|
@@ -127,21 +128,20 @@ export type UrlFor<Routes extends LookupList, Options extends any = URLOptions>
|
|
|
127
128
|
* Make URL for a custom route method. An error will be raised if the route doesn't
|
|
128
129
|
* exist for the same method.
|
|
129
130
|
*/
|
|
130
|
-
method<Method extends keyof Routes & string, RouteIdentifier extends keyof Routes[Method] & string>(method: Method, ...[identifier, params, options]: RouteBuilderArguments<
|
|
131
|
+
method<Method extends keyof Routes & string, RouteIdentifier extends keyof Routes[Method] & string>(method: Method, ...[identifier, params, options]: RouteBuilderArguments<RouteIdentifier, Routes[Method][RouteIdentifier], Options>): {
|
|
131
132
|
method: Method;
|
|
132
133
|
url: string;
|
|
133
134
|
};
|
|
134
135
|
};
|
|
136
|
+
/**
|
|
137
|
+
* Helper to get routes for a given method from Routes
|
|
138
|
+
*/
|
|
139
|
+
export type GetRoutesForMethod<Routes, Method> = {
|
|
140
|
+
[K in keyof Routes]: Method extends K ? Routes[Method] : never;
|
|
141
|
+
}[keyof Routes];
|
|
135
142
|
/**
|
|
136
143
|
* To be generated by the router and used by the URL builder
|
|
137
144
|
* and the LookupStore
|
|
138
145
|
*/
|
|
139
146
|
export interface RoutesList {
|
|
140
147
|
}
|
|
141
|
-
/**
|
|
142
|
-
* Helper to get routes for a given method from the RoutesList. The
|
|
143
|
-
* RoutesList is extended in the userland code.
|
|
144
|
-
*/
|
|
145
|
-
export type GetRoutesForMethod<Method> = {
|
|
146
|
-
[K in keyof RoutesList]: Method extends K ? RoutesList[Method] : never;
|
|
147
|
-
};
|