@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"].forEach((route) => trackRoute.bind(this)(route));
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
  );
@@ -6,7 +6,7 @@ import {
6
6
  Router,
7
7
  Server,
8
8
  defineConfig
9
- } from "../chunk-GX5AWCSU.js";
9
+ } from "../chunk-BFGF3A5X.js";
10
10
  import "../chunk-ASX56VAK.js";
11
11
 
12
12
  // factories/router.ts
package/build/index.js CHANGED
@@ -20,7 +20,7 @@ import {
20
20
  errors_exports,
21
21
  parseRange,
22
22
  tracing_channels_exports
23
- } from "./chunk-GX5AWCSU.js";
23
+ } from "./chunk-BFGF3A5X.js";
24
24
  import "./chunk-ASX56VAK.js";
25
25
 
26
26
  // src/exception_handler.ts
@@ -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<RoutesList, Identifier, 'GET', URLOptions>): void;
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<RoutesList, Identifier, 'GET', URLOptions & {
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<Routes, Method extends keyof Routes, Identifier extends keyof Routes[Method], Options extends any = URLOptions> = Routes extends LookupList ? Prettify<Routes[Method][Identifier]['params'] extends undefined ? [identifier: Identifier, params?: undefined, options?: Options] : [undefined] extends [Routes[Method][Identifier]['params']] ? [
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?: Routes[Method][Identifier]['params'] | Routes[Method][Identifier]['paramsTuple'],
24
+ params?: Route['params'] | Route['paramsTuple'],
25
25
  options?: Options
26
26
  ] : [
27
27
  identifier: Identifier,
28
- params: Routes[Method][Identifier]['params'] | Routes[Method][Identifier]['paramsTuple'],
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<Routes, 'ALL', Identifier, Options>) => string) & {
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<Routes, 'GET', RouteIdentifier, Options>): {
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<Routes, 'POST', RouteIdentifier, Options>): {
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<Routes, 'PUT', RouteIdentifier, Options>): {
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<Routes, 'PATCH', RouteIdentifier, Options>): {
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<Routes, 'DELETE', RouteIdentifier, Options>): {
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<Routes, Method, RouteIdentifier, Options>): {
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
- };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@adonisjs/http-server",
3
- "version": "8.0.0-next.3",
3
+ "version": "8.0.0-next.5",
4
4
  "description": "AdonisJS HTTP server with support packed with Routing and Cookies",
5
5
  "main": "build/index.js",
6
6
  "type": "module",