stratal 0.0.12 → 0.0.13
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/README.md +1 -1
- package/dist/application.js +1 -1
- package/dist/application.js.map +1 -1
- package/dist/errors/application-error.d.ts +4 -3
- package/dist/errors/application-error.d.ts.map +1 -1
- package/dist/errors/application-error.js +12 -7
- package/dist/errors/application-error.js.map +1 -1
- package/dist/errors/error-codes.d.ts +4 -0
- package/dist/errors/error-codes.d.ts.map +1 -1
- package/dist/errors/error-codes.js +4 -0
- package/dist/errors/error-codes.js.map +1 -1
- package/dist/i18n/messages/en/errors.d.ts +2 -0
- package/dist/i18n/messages/en/errors.d.ts.map +1 -1
- package/dist/i18n/messages/en/errors.js +3 -0
- package/dist/i18n/messages/en/errors.js.map +1 -1
- package/dist/openapi/index.d.ts +1 -1
- package/dist/openapi/index.d.ts.map +1 -1
- package/dist/openapi/index.js.map +1 -1
- package/dist/openapi/openapi.module.d.ts.map +1 -1
- package/dist/openapi/openapi.module.js +0 -1
- package/dist/openapi/openapi.module.js.map +1 -1
- package/dist/openapi/services/openapi-config.service.js +1 -1
- package/dist/openapi/services/openapi-config.service.js.map +1 -1
- package/dist/openapi/services/openapi.service.d.ts.map +1 -1
- package/dist/openapi/services/openapi.service.js +16 -13
- package/dist/openapi/services/openapi.service.js.map +1 -1
- package/dist/openapi/types.d.ts +26 -3
- package/dist/openapi/types.d.ts.map +1 -1
- package/dist/router/constants.d.ts +8 -0
- package/dist/router/constants.d.ts.map +1 -1
- package/dist/router/constants.js +9 -1
- package/dist/router/constants.js.map +1 -1
- package/dist/router/hono-app.d.ts +1 -1
- package/dist/router/hono-app.d.ts.map +1 -1
- package/dist/router/hono-app.js +2 -2
- package/dist/router/hono-app.js.map +1 -1
- package/dist/router/index.d.ts +3 -1
- package/dist/router/index.d.ts.map +1 -1
- package/dist/router/index.js.map +1 -1
- package/dist/router/router-context.d.ts +29 -3
- package/dist/router/router-context.d.ts.map +1 -1
- package/dist/router/router-context.js +34 -0
- package/dist/router/router-context.js.map +1 -1
- package/dist/router/services/route-registration.service.d.ts +14 -1
- package/dist/router/services/route-registration.service.d.ts.map +1 -1
- package/dist/router/services/route-registration.service.js +116 -9
- package/dist/router/services/route-registration.service.js.map +1 -1
- package/dist/router/types.d.ts +25 -7
- package/dist/router/types.d.ts.map +1 -1
- package/dist/websocket/decorators/gateway.decorator.d.ts +39 -0
- package/dist/websocket/decorators/gateway.decorator.d.ts.map +1 -0
- package/dist/websocket/decorators/gateway.decorator.js +55 -0
- package/dist/websocket/decorators/gateway.decorator.js.map +1 -0
- package/dist/websocket/decorators/index.d.ts +3 -0
- package/dist/websocket/decorators/index.d.ts.map +1 -0
- package/dist/websocket/decorators/index.js +3 -0
- package/dist/websocket/decorators/index.js.map +1 -0
- package/dist/websocket/decorators/ws-event.decorator.d.ts +59 -0
- package/dist/websocket/decorators/ws-event.decorator.d.ts.map +1 -0
- package/dist/websocket/decorators/ws-event.decorator.js +94 -0
- package/dist/websocket/decorators/ws-event.decorator.js.map +1 -0
- package/dist/websocket/errors/websocket-body-not-available.error.d.ts +5 -0
- package/dist/websocket/errors/websocket-body-not-available.error.d.ts.map +1 -0
- package/dist/websocket/errors/websocket-body-not-available.error.js +7 -0
- package/dist/websocket/errors/websocket-body-not-available.error.js.map +1 -0
- package/dist/websocket/errors/websocket-duplicate-event-handler.error.d.ts +5 -0
- package/dist/websocket/errors/websocket-duplicate-event-handler.error.d.ts.map +1 -0
- package/dist/websocket/errors/websocket-duplicate-event-handler.error.js +7 -0
- package/dist/websocket/errors/websocket-duplicate-event-handler.error.js.map +1 -0
- package/dist/websocket/gateway-context.d.ts +51 -0
- package/dist/websocket/gateway-context.d.ts.map +1 -0
- package/dist/websocket/gateway-context.js +66 -0
- package/dist/websocket/gateway-context.js.map +1 -0
- package/dist/websocket/index.d.ts +7 -0
- package/dist/websocket/index.d.ts.map +1 -0
- package/dist/websocket/index.js +5 -0
- package/dist/websocket/index.js.map +1 -0
- package/dist/websocket/types.d.ts +7 -0
- package/dist/websocket/types.d.ts.map +1 -0
- package/dist/websocket/types.js +2 -0
- package/dist/websocket/types.js.map +1 -0
- package/package.json +6 -2
package/dist/router/index.d.ts
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
export type { IController } from './controller';
|
|
2
2
|
export type { Middleware } from './middleware.interface';
|
|
3
|
-
export type { ControllerOptions, HttpRouteMetadata, RouteConfig, RouterEnv, RouteResponse, RouterVariables, SecurityScheme, VersioningOptions } from './types';
|
|
3
|
+
export type { ControllerOptions, HttpRouteMetadata, RouteBody, RouteBodyObject, RouteConfig, RouterEnv, RouteResponse, RouteResponseObject, RouterVariables, SecurityScheme, VersioningOptions } from './types';
|
|
4
4
|
export { HTTP_METHODS, ROUTE_METADATA_KEYS, ROUTER_CONTEXT_KEYS, SECURITY_SCHEMES, VERSION_NEUTRAL } from './constants';
|
|
5
5
|
export { RouterContext } from './router-context';
|
|
6
|
+
export type { SSEMessage, SSEStreamingApi } from 'hono/streaming';
|
|
7
|
+
export type { StreamingApi } from 'hono/utils/stream';
|
|
6
8
|
export { HonoApp } from './hono-app';
|
|
7
9
|
export { RouteRegistrationService } from './services';
|
|
8
10
|
export { ROUTER_TOKENS } from './router.tokens';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/router/index.ts"],"names":[],"mappings":"AAIA,YAAY,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAC/C,YAAY,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AACxD,YAAY,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,WAAW,EAAE,SAAS,EAAE,aAAa,EAAE,eAAe,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/router/index.ts"],"names":[],"mappings":"AAIA,YAAY,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAC/C,YAAY,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AACxD,YAAY,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,SAAS,EAAE,eAAe,EAAE,WAAW,EAAE,SAAS,EAAE,aAAa,EAAE,mBAAmB,EAAE,eAAe,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;AAG/M,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAGvH,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAGhD,YAAY,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AACjE,YAAY,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAGrD,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAGpC,OAAO,EACL,wBAAwB,EACzB,MAAM,YAAY,CAAA;AAGnB,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAG/C,OAAO,EACL,UAAU,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,oBAAoB,EAC3E,MAAM,mCAAmC,CAAA;AAC1C,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,oCAAoC,CAAA;AACtI,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,8BAA8B,CAAA;AAGzF,cAAc,WAAW,CAAA;AAGzB,OAAO,EACL,2BAA2B,EAAE,6BAA6B,EAAE,6BAA6B,EAAE,sBAAsB,EAAE,kBAAkB,EACtI,MAAM,UAAU,CAAA"}
|
package/dist/router/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/router/index.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,uDAAuD;AAOvD,mBAAmB;AACnB,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAEvH,iBAAiB;AACjB,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/router/index.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,uDAAuD;AAOvD,mBAAmB;AACnB,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAEvH,iBAAiB;AACjB,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAMhD,UAAU;AACV,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAEpC,kBAAkB;AAClB,OAAO,EACL,wBAAwB,EACzB,MAAM,YAAY,CAAA;AAEnB,gBAAgB;AAChB,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAE/C,aAAa;AACb,OAAO,EACL,UAAU,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,oBAAoB,EAC3E,MAAM,mCAAmC,CAAA;AAC1C,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,oCAAoC,CAAA;AACtI,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,8BAA8B,CAAA;AAEzF,UAAU;AACV,cAAc,WAAW,CAAA;AAEzB,SAAS;AACT,OAAO,EACL,2BAA2B,EAAE,6BAA6B,EAAE,6BAA6B,EAAE,sBAAsB,EAAE,kBAAkB,EACtI,MAAM,UAAU,CAAA"}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import type { Context } from 'hono';
|
|
2
|
-
import
|
|
2
|
+
import type { SSEStreamingApi } from 'hono/streaming';
|
|
3
|
+
import type { ContentfulStatusCode, RedirectStatusCode } from 'hono/utils/http-status';
|
|
4
|
+
import type { StreamingApi } from 'hono/utils/stream';
|
|
3
5
|
import type { Container } from '../di/container';
|
|
4
6
|
import type { RouterEnv } from './types';
|
|
5
|
-
type ContextQueryResult<R extends Record<string, unknown> | undefined, K extends string | undefined> = K extends string ? string : R;
|
|
7
|
+
export type ContextQueryResult<R extends Record<string, unknown> | undefined, K extends string | undefined> = K extends string ? string : R extends undefined ? Record<string, unknown> : R;
|
|
6
8
|
/**
|
|
7
9
|
* Router context wrapper with helper methods
|
|
8
10
|
*
|
|
@@ -112,6 +114,30 @@ export declare class RouterContext<T extends RouterEnv = RouterEnv> {
|
|
|
112
114
|
* @param status - HTTP status code (default: 302)
|
|
113
115
|
*/
|
|
114
116
|
redirect(url: string, status?: RedirectStatusCode): Response;
|
|
117
|
+
/**
|
|
118
|
+
* Return a streaming response (binary/generic)
|
|
119
|
+
*
|
|
120
|
+
* @param callback - Async function that writes to the stream
|
|
121
|
+
* @param onError - Optional error handler called if an error occurs during streaming
|
|
122
|
+
*/
|
|
123
|
+
stream(callback: (stream: StreamingApi) => Promise<void>, onError?: (err: Error, stream: StreamingApi) => Promise<void>): Response;
|
|
124
|
+
/**
|
|
125
|
+
* Return a streaming text response
|
|
126
|
+
*
|
|
127
|
+
* Automatically sets `Content-Encoding: Identity` for Cloudflare Workers compatibility.
|
|
128
|
+
*
|
|
129
|
+
* @param callback - Async function that writes text to the stream
|
|
130
|
+
* @param onError - Optional error handler called if an error occurs during streaming
|
|
131
|
+
*/
|
|
132
|
+
streamText(callback: (stream: StreamingApi) => Promise<void>, onError?: (err: Error, stream: StreamingApi) => Promise<void>): Response;
|
|
133
|
+
/**
|
|
134
|
+
* Return a Server-Sent Events (SSE) streaming response
|
|
135
|
+
*
|
|
136
|
+
* Automatically sets `Content-Encoding: Identity` for Cloudflare Workers compatibility.
|
|
137
|
+
*
|
|
138
|
+
* @param callback - Async function that writes SSE events to the stream
|
|
139
|
+
* @param onError - Optional error handler called if an error occurs during streaming
|
|
140
|
+
*/
|
|
141
|
+
streamSSE(callback: (stream: SSEStreamingApi) => Promise<void>, onError?: (err: Error, stream: SSEStreamingApi) => Promise<void>): Response;
|
|
115
142
|
}
|
|
116
|
-
export {};
|
|
117
143
|
//# sourceMappingURL=router-context.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"router-context.d.ts","sourceRoot":"","sources":["../../src/router/router-context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AACnC,OAAO,EAAE,KAAK,oBAAoB,EAAE,
|
|
1
|
+
{"version":3,"file":"router-context.d.ts","sourceRoot":"","sources":["../../src/router/router-context.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { stream as honoStream, streamSSE as honoStreamSSE, streamText as honoStreamText } from 'hono/streaming';
|
|
1
2
|
import { RequestContainerNotInitializedError } from '../errors';
|
|
2
3
|
import { ROUTER_CONTEXT_KEYS } from './constants';
|
|
3
4
|
/**
|
|
@@ -141,5 +142,38 @@ export class RouterContext {
|
|
|
141
142
|
redirect(url, status) {
|
|
142
143
|
return this.c.redirect(url, status);
|
|
143
144
|
}
|
|
145
|
+
/**
|
|
146
|
+
* Return a streaming response (binary/generic)
|
|
147
|
+
*
|
|
148
|
+
* @param callback - Async function that writes to the stream
|
|
149
|
+
* @param onError - Optional error handler called if an error occurs during streaming
|
|
150
|
+
*/
|
|
151
|
+
stream(callback, onError) {
|
|
152
|
+
return honoStream(this.c, callback, onError);
|
|
153
|
+
}
|
|
154
|
+
/**
|
|
155
|
+
* Return a streaming text response
|
|
156
|
+
*
|
|
157
|
+
* Automatically sets `Content-Encoding: Identity` for Cloudflare Workers compatibility.
|
|
158
|
+
*
|
|
159
|
+
* @param callback - Async function that writes text to the stream
|
|
160
|
+
* @param onError - Optional error handler called if an error occurs during streaming
|
|
161
|
+
*/
|
|
162
|
+
streamText(callback, onError) {
|
|
163
|
+
this.c.header('Content-Encoding', 'Identity');
|
|
164
|
+
return honoStreamText(this.c, callback, onError);
|
|
165
|
+
}
|
|
166
|
+
/**
|
|
167
|
+
* Return a Server-Sent Events (SSE) streaming response
|
|
168
|
+
*
|
|
169
|
+
* Automatically sets `Content-Encoding: Identity` for Cloudflare Workers compatibility.
|
|
170
|
+
*
|
|
171
|
+
* @param callback - Async function that writes SSE events to the stream
|
|
172
|
+
* @param onError - Optional error handler called if an error occurs during streaming
|
|
173
|
+
*/
|
|
174
|
+
streamSSE(callback, onError) {
|
|
175
|
+
this.c.header('Content-Encoding', 'Identity');
|
|
176
|
+
return honoStreamSSE(this.c, callback, onError);
|
|
177
|
+
}
|
|
144
178
|
}
|
|
145
179
|
//# sourceMappingURL=router-context.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"router-context.js","sourceRoot":"","sources":["../../src/router/router-context.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"router-context.js","sourceRoot":"","sources":["../../src/router/router-context.ts"],"names":[],"mappings":"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"}
|
|
@@ -25,7 +25,16 @@ export declare class RouteRegistrationService {
|
|
|
25
25
|
* @param app - OpenAPIHono application instance
|
|
26
26
|
* @param controllers - Array of controller classes from modules
|
|
27
27
|
*/
|
|
28
|
-
configure(app: OpenAPIHono<RouterEnv>, controllers: Constructor<IController>[]): void
|
|
28
|
+
configure(app: OpenAPIHono<RouterEnv>, controllers: Constructor<IController>[]): Promise<void>;
|
|
29
|
+
/**
|
|
30
|
+
* Register a WebSocket gateway
|
|
31
|
+
* Applies versioning and guards, then registers an upgradeWebSocket handler
|
|
32
|
+
*/
|
|
33
|
+
private registerGateway;
|
|
34
|
+
/**
|
|
35
|
+
* Register a single WebSocket gateway route
|
|
36
|
+
*/
|
|
37
|
+
private registerGatewayRoute;
|
|
29
38
|
/**
|
|
30
39
|
* Register a single controller with all its routes
|
|
31
40
|
* Validates that controller has access decorator (strict mode)
|
|
@@ -98,6 +107,10 @@ export declare class RouteRegistrationService {
|
|
|
98
107
|
* Execution order: Global middlewares → Guards → Handler
|
|
99
108
|
*/
|
|
100
109
|
private buildOpenAPIRoute;
|
|
110
|
+
/**
|
|
111
|
+
* Check if a body definition is a RouteBodyObject (has schema key) vs bare ZodType
|
|
112
|
+
*/
|
|
113
|
+
private isRouteBodyObject;
|
|
101
114
|
/**
|
|
102
115
|
* Resolve method parameter injections from the container
|
|
103
116
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"route-registration.service.d.ts","sourceRoot":"","sources":["../../../src/router/services/route-registration.service.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"route-registration.service.d.ts","sourceRoot":"","sources":["../../../src/router/services/route-registration.service.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AAExD,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,cAAc,CAAA;AACjD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAI9C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAgBhD,OAAO,KAAK,EAMV,SAAS,EAET,iBAAiB,EAClB,MAAM,UAAU,CAAA;AAUjB;;;;;;;;;;GAUG;AACH,qBAAa,wBAAwB;IAIjC,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,iBAAiB;IAJ3B,OAAO,CAAC,iBAAiB,CAA8C;gBAG7D,MAAM,EAAE,aAAa,EACrB,iBAAiB,GAAE,iBAAiB,GAAG,IAAW;IAG5D;;;;;OAKG;IACG,SAAS,CACb,GAAG,EAAE,WAAW,CAAC,SAAS,CAAC,EAC3B,WAAW,EAAE,WAAW,CAAC,WAAW,CAAC,EAAE,GACtC,OAAO,CAAC,IAAI,CAAC;IAyChB;;;OAGG;YACW,eAAe;IAoB7B;;OAEG;YACW,oBAAoB;IA4ElC;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IAoD1B;;OAEG;IACH,OAAO,CAAC,cAAc;IAkBtB;;;;;;OAMG;IACH,OAAO,CAAC,qBAAqB;IAiC7B;;;;;;;;OAQG;IACH,OAAO,CAAC,qBAAqB;IAe7B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAkB7B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IA6F7B;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IAsF1B;;OAEG;IACH,OAAO,CAAC,SAAS;IAKjB;;;OAGG;IACH,OAAO,CAAC,2BAA2B;IAkDnC;;OAEG;IACH,OAAO,CAAC,qBAAqB;IA0B7B;;;OAGG;IACH,OAAO,CAAC,uBAAuB;IAU/B;;;;OAIG;IACH,OAAO,CAAC,aAAa;IAuCrB;;;;;;OAMG;IACH,OAAO,CAAC,iBAAiB;IAuHzB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAIzB;;;;;;;OAOG;IACH,OAAO,CAAC,uBAAuB;IAW/B;;;OAGG;IACH,OAAO,CAAC,uBAAuB;CAsChC"}
|
|
@@ -1,12 +1,21 @@
|
|
|
1
1
|
import { getMethodInjections } from '../../di';
|
|
2
2
|
import { getControllerGuards, getMethodGuards, GuardExecutionService, } from '../../guards';
|
|
3
3
|
import { createRoute } from '../../i18n/validation';
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
4
|
+
import { getWsOnCloseMethod, getWsOnErrorMethod, getWsOnMessageMethod, isGateway } from '../../websocket/decorators';
|
|
5
|
+
import { GatewayContext } from '../../websocket/gateway-context';
|
|
6
|
+
import { DEFAULT_CONTENT_TYPE, HTTP_METHODS, METHOD_STATUS_CODES, SECURITY_SCHEMES, VERSION_NEUTRAL } from '../constants';
|
|
7
|
+
import { getControllerOptions, getControllerRoute, getDecoratedMethods, getHttpDecoratedMethods, getHttpRouteMetadata, getRouteConfig, } from '../decorators';
|
|
6
8
|
import { ControllerMethodNotFoundError, ControllerRegistrationError, OpenAPIRouteRegistrationError, } from '../errors';
|
|
7
9
|
import { RouterContext } from '../router-context';
|
|
8
10
|
import { commonErrorSchemas } from '../schemas/common.schemas';
|
|
9
|
-
|
|
11
|
+
const invokeHandler = (instance, method, ...args) => {
|
|
12
|
+
try {
|
|
13
|
+
return Promise.resolve(instance[method](...args));
|
|
14
|
+
}
|
|
15
|
+
catch (err) {
|
|
16
|
+
return Promise.reject(err);
|
|
17
|
+
}
|
|
18
|
+
};
|
|
10
19
|
/**
|
|
11
20
|
* Route registration service
|
|
12
21
|
* Manages controller and route registration with OpenAPI support
|
|
@@ -32,7 +41,7 @@ export class RouteRegistrationService {
|
|
|
32
41
|
* @param app - OpenAPIHono application instance
|
|
33
42
|
* @param controllers - Array of controller classes from modules
|
|
34
43
|
*/
|
|
35
|
-
configure(app, controllers) {
|
|
44
|
+
async configure(app, controllers) {
|
|
36
45
|
this.logger.info('Registering controllers', {
|
|
37
46
|
controllerCount: controllers.length,
|
|
38
47
|
});
|
|
@@ -48,12 +57,101 @@ export class RouteRegistrationService {
|
|
|
48
57
|
return -1; // a goes before b
|
|
49
58
|
return 0; // maintain relative order
|
|
50
59
|
});
|
|
60
|
+
// Single-pass partition: gateways vs regular controllers
|
|
61
|
+
const gateways = [];
|
|
62
|
+
const regulars = [];
|
|
63
|
+
for (const c of sortedControllers) {
|
|
64
|
+
if (isGateway(c)) {
|
|
65
|
+
gateways.push(c);
|
|
66
|
+
}
|
|
67
|
+
else {
|
|
68
|
+
regulars.push(c);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
// Register WebSocket gateways
|
|
72
|
+
for (const GatewayClass of gateways) {
|
|
73
|
+
await this.registerGateway(app, GatewayClass);
|
|
74
|
+
}
|
|
51
75
|
// Register controllers
|
|
52
|
-
for (const ControllerClass of
|
|
76
|
+
for (const ControllerClass of regulars) {
|
|
53
77
|
this.registerController(app, ControllerClass);
|
|
54
78
|
}
|
|
55
79
|
this.logger.info('Controller registration complete');
|
|
56
80
|
}
|
|
81
|
+
/**
|
|
82
|
+
* Register a WebSocket gateway
|
|
83
|
+
* Applies versioning and guards, then registers an upgradeWebSocket handler
|
|
84
|
+
*/
|
|
85
|
+
async registerGateway(app, GatewayClass) {
|
|
86
|
+
const route = getControllerRoute(GatewayClass);
|
|
87
|
+
if (!route) {
|
|
88
|
+
throw new ControllerRegistrationError(GatewayClass.name, 'Missing @Gateway decorator or route metadata');
|
|
89
|
+
}
|
|
90
|
+
const controllerOpts = getControllerOptions(GatewayClass);
|
|
91
|
+
const paths = this.versioningOptions
|
|
92
|
+
? this.resolveVersionedPaths(route, controllerOpts)
|
|
93
|
+
: [route];
|
|
94
|
+
for (const fullPath of paths) {
|
|
95
|
+
await this.registerGatewayRoute(app, GatewayClass, fullPath);
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Register a single WebSocket gateway route
|
|
100
|
+
*/
|
|
101
|
+
async registerGatewayRoute(app, GatewayClass, fullPath) {
|
|
102
|
+
// Collect class-level guards
|
|
103
|
+
const controllerGuards = getControllerGuards(GatewayClass)?.guards ?? [];
|
|
104
|
+
// Dynamic import: only load hono/cloudflare-workers when gateways exist
|
|
105
|
+
const { upgradeWebSocket } = await import('hono/cloudflare-workers');
|
|
106
|
+
// Cache WS metadata once at registration time (not per-connection)
|
|
107
|
+
const onMsgMethod = getWsOnMessageMethod(GatewayClass);
|
|
108
|
+
const onCloseMethod = getWsOnCloseMethod(GatewayClass);
|
|
109
|
+
const onErrMethod = getWsOnErrorMethod(GatewayClass);
|
|
110
|
+
const wsHandler = upgradeWebSocket((c) => {
|
|
111
|
+
const routerCtx = new RouterContext(c);
|
|
112
|
+
const container = routerCtx.getContainer();
|
|
113
|
+
const gateway = container.resolve(GatewayClass);
|
|
114
|
+
// Cloudflare Workers doesn't support the `onOpen` WebSocket event;
|
|
115
|
+
// the upgrade callback itself serves as the open context.
|
|
116
|
+
const events = {};
|
|
117
|
+
const bindWsHandler = (method, onCatch) => {
|
|
118
|
+
return (evt, ws) => {
|
|
119
|
+
const ctx = new GatewayContext(c, ws);
|
|
120
|
+
c.executionCtx.waitUntil(invokeHandler(gateway, method, evt, ctx).catch((err) => {
|
|
121
|
+
this.logger.error(`WebSocket ${method} handler error`, { gateway: GatewayClass.name, error: err instanceof Error ? err.message : String(err) });
|
|
122
|
+
onCatch?.(err, ws);
|
|
123
|
+
}));
|
|
124
|
+
};
|
|
125
|
+
};
|
|
126
|
+
if (onMsgMethod) {
|
|
127
|
+
events.onMessage = bindWsHandler(onMsgMethod, (_err, ws) => ws.close(1011, 'Internal Error'));
|
|
128
|
+
}
|
|
129
|
+
if (onCloseMethod) {
|
|
130
|
+
events.onClose = bindWsHandler(onCloseMethod);
|
|
131
|
+
}
|
|
132
|
+
if (onErrMethod) {
|
|
133
|
+
events.onError = bindWsHandler(onErrMethod);
|
|
134
|
+
}
|
|
135
|
+
return events;
|
|
136
|
+
});
|
|
137
|
+
this.logger.info('Registering WebSocket gateway', {
|
|
138
|
+
gateway: GatewayClass.name,
|
|
139
|
+
path: fullPath,
|
|
140
|
+
});
|
|
141
|
+
const handlers = [];
|
|
142
|
+
if (controllerGuards.length > 0) {
|
|
143
|
+
this.logger.info('Gateway guards', {
|
|
144
|
+
gateway: GatewayClass.name,
|
|
145
|
+
path: fullPath,
|
|
146
|
+
guardCount: controllerGuards.length,
|
|
147
|
+
});
|
|
148
|
+
handlers.push(this.createGuardMiddleware(controllerGuards));
|
|
149
|
+
}
|
|
150
|
+
handlers.push(wsHandler);
|
|
151
|
+
// Type assertion needed because Hono's overloaded .get() signatures
|
|
152
|
+
// don't accept a spread of MiddlewareHandler[] alongside upgradeWebSocket's output type
|
|
153
|
+
app.get(fullPath, ...handlers);
|
|
154
|
+
}
|
|
57
155
|
/**
|
|
58
156
|
* Register a single controller with all its routes
|
|
59
157
|
* Validates that controller has access decorator (strict mode)
|
|
@@ -458,12 +556,14 @@ export class RouteRegistrationService {
|
|
|
458
556
|
}
|
|
459
557
|
// Add request body if defined
|
|
460
558
|
if (routeConfig.body) {
|
|
559
|
+
const bodySchema = this.isRouteBodyObject(routeConfig.body) ? routeConfig.body.schema : routeConfig.body;
|
|
560
|
+
const bodyContentType = this.isRouteBodyObject(routeConfig.body) ? routeConfig.body.contentType ?? DEFAULT_CONTENT_TYPE : DEFAULT_CONTENT_TYPE;
|
|
461
561
|
route.request = {
|
|
462
562
|
...route.request,
|
|
463
563
|
body: {
|
|
464
564
|
content: {
|
|
465
|
-
|
|
466
|
-
schema:
|
|
565
|
+
[bodyContentType]: {
|
|
566
|
+
schema: bodySchema,
|
|
467
567
|
},
|
|
468
568
|
},
|
|
469
569
|
},
|
|
@@ -494,9 +594,10 @@ export class RouteRegistrationService {
|
|
|
494
594
|
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition -- response may be undefined at runtime
|
|
495
595
|
if (responseDef) {
|
|
496
596
|
if (typeof responseDef === 'object' && 'schema' in responseDef) {
|
|
597
|
+
const responseContentType = responseDef.contentType ?? DEFAULT_CONTENT_TYPE;
|
|
497
598
|
responses[successStatus] = {
|
|
498
599
|
content: {
|
|
499
|
-
|
|
600
|
+
[responseContentType]: { schema: responseDef.schema },
|
|
500
601
|
},
|
|
501
602
|
description: responseDef.description ?? `Response ${successStatus}`,
|
|
502
603
|
};
|
|
@@ -504,7 +605,7 @@ export class RouteRegistrationService {
|
|
|
504
605
|
else {
|
|
505
606
|
responses[successStatus] = {
|
|
506
607
|
content: {
|
|
507
|
-
|
|
608
|
+
[DEFAULT_CONTENT_TYPE]: { schema: responseDef },
|
|
508
609
|
},
|
|
509
610
|
description: `Response ${successStatus}`,
|
|
510
611
|
};
|
|
@@ -539,6 +640,12 @@ export class RouteRegistrationService {
|
|
|
539
640
|
throw new OpenAPIRouteRegistrationError(path, error instanceof Error ? error.message : String(error));
|
|
540
641
|
}
|
|
541
642
|
}
|
|
643
|
+
/**
|
|
644
|
+
* Check if a body definition is a RouteBodyObject (has schema key) vs bare ZodType
|
|
645
|
+
*/
|
|
646
|
+
isRouteBodyObject(body) {
|
|
647
|
+
return typeof body === 'object' && 'schema' in body;
|
|
648
|
+
}
|
|
542
649
|
/**
|
|
543
650
|
* Resolve method parameter injections from the container
|
|
544
651
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"route-registration.service.js","sourceRoot":"","sources":["../../../src/router/services/route-registration.service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"route-registration.service.js","sourceRoot":"","sources":["../../../src/router/services/route-registration.service.ts"],"names":[],"mappings":"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"}
|
package/dist/router/types.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import type { ZodObject, ZodPipe, ZodType, RouteConfig as OpenAPIRouteConfig } from '../i18n/validation';
|
|
2
|
-
import { type StratalEnv } from '../env';
|
|
3
1
|
import type { Container } from '../di';
|
|
2
|
+
import { type StratalEnv } from '../env';
|
|
3
|
+
import type { RouteConfig as OpenAPIRouteConfig, ZodObject, ZodPipe, ZodType } from '../i18n/validation';
|
|
4
4
|
import { type HTTP_METHODS, type ROUTER_CONTEXT_KEYS, type SECURITY_SCHEMES, type VERSION_NEUTRAL } from './constants';
|
|
5
5
|
/**
|
|
6
6
|
* Route parameter type for OpenAPI
|
|
@@ -46,13 +46,30 @@ export type SecuritySchemeRecord = Record<SecurityScheme, string[]>;
|
|
|
46
46
|
*/
|
|
47
47
|
export type { OpenAPIRouteConfig };
|
|
48
48
|
/**
|
|
49
|
-
*
|
|
50
|
-
* Status code is auto-derived from method name (create->201, others->200)
|
|
49
|
+
* Object form for request body with optional content type
|
|
51
50
|
*/
|
|
52
|
-
export
|
|
51
|
+
export interface RouteBodyObject {
|
|
52
|
+
schema: ZodType;
|
|
53
|
+
contentType?: string;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Request body definition for @Route() decorator
|
|
57
|
+
* Bare ZodType defaults to application/json
|
|
58
|
+
*/
|
|
59
|
+
export type RouteBody = ZodType | RouteBodyObject;
|
|
60
|
+
/**
|
|
61
|
+
* Object form for response with optional description and content type
|
|
62
|
+
*/
|
|
63
|
+
export interface RouteResponseObject {
|
|
53
64
|
schema: ZodType;
|
|
54
65
|
description?: string;
|
|
55
|
-
|
|
66
|
+
contentType?: string;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Single response definition for @Route() decorator
|
|
70
|
+
* Status code is auto-derived from method name (create->201, others->200)
|
|
71
|
+
*/
|
|
72
|
+
export type RouteResponse = ZodType | RouteResponseObject;
|
|
56
73
|
/**
|
|
57
74
|
* Route configuration for @Route() decorator
|
|
58
75
|
* Defines OpenAPI metadata for a controller method
|
|
@@ -60,8 +77,9 @@ export type RouteResponse = ZodType | {
|
|
|
60
77
|
export interface RouteConfig {
|
|
61
78
|
/**
|
|
62
79
|
* Request body schema (for POST, PUT, PATCH)
|
|
80
|
+
* @example z.object({}) or { schema: z.object({}), contentType: 'multipart/form-data' }
|
|
63
81
|
*/
|
|
64
|
-
body?:
|
|
82
|
+
body?: RouteBody;
|
|
65
83
|
/**
|
|
66
84
|
* URL parameters schema (e.g., { id: z.string().uuid() })
|
|
67
85
|
* Must be ZodObject or ZodPipe for OpenAPI compatibility
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/router/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/router/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { type Constructor } from '../../types';
|
|
2
|
+
import type { GatewayOptions } from '../../websocket/types';
|
|
3
|
+
/**
|
|
4
|
+
* Gateway decorator for WebSocket route registration
|
|
5
|
+
*
|
|
6
|
+
* Marks a class as a WebSocket gateway and stores route metadata.
|
|
7
|
+
* Reuses the same metadata key as @Controller for middleware compatibility —
|
|
8
|
+
* `getControllerRoute()`, `forRoutes()`, and the entire middleware system work
|
|
9
|
+
* with zero changes.
|
|
10
|
+
*
|
|
11
|
+
* @param route - WebSocket route path (e.g., '/ws/chat')
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
* ```typescript
|
|
15
|
+
* import { type GatewayContext, Gateway, OnMessage, OnClose } from 'stratal/websocket'
|
|
16
|
+
*
|
|
17
|
+
* @Gateway('/ws/chat')
|
|
18
|
+
* class ChatGateway {
|
|
19
|
+
* @OnMessage()
|
|
20
|
+
* handleMessage(evt: MessageEvent, ctx: GatewayContext) {
|
|
21
|
+
* ctx.send('ack')
|
|
22
|
+
* }
|
|
23
|
+
*
|
|
24
|
+
* @OnClose()
|
|
25
|
+
* handleClose(evt: CloseEvent, ctx: GatewayContext) {
|
|
26
|
+
* console.log('closed')
|
|
27
|
+
* }
|
|
28
|
+
* }
|
|
29
|
+
* ```
|
|
30
|
+
*/
|
|
31
|
+
export declare function Gateway(route: string, options?: GatewayOptions): <T extends Constructor>(target: T) => T;
|
|
32
|
+
/**
|
|
33
|
+
* Check if a class is a WebSocket gateway
|
|
34
|
+
*
|
|
35
|
+
* @param target - Class constructor or instance
|
|
36
|
+
* @returns true if the class is decorated with @Gateway
|
|
37
|
+
*/
|
|
38
|
+
export declare function isGateway(target: object): boolean;
|
|
39
|
+
//# sourceMappingURL=gateway.decorator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gateway.decorator.d.ts","sourceRoot":"","sources":["../../../src/websocket/decorators/gateway.decorator.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,aAAa,CAAA;AAC9C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAM3D;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAgB,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,IAC5C,CAAC,SAAS,WAAW,EAAE,QAAQ,CAAC,OASlD;AAED;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAGjD"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { Transient } from '../../di/decorators';
|
|
2
|
+
import { ROUTE_METADATA_KEYS } from '../../router/constants';
|
|
3
|
+
const CONTROLLER_ROUTE_KEY = ROUTE_METADATA_KEYS.CONTROLLER_ROUTE;
|
|
4
|
+
const CONTROLLER_OPTIONS_KEY = ROUTE_METADATA_KEYS.CONTROLLER_OPTIONS;
|
|
5
|
+
const GATEWAY_MARKER_KEY = ROUTE_METADATA_KEYS.GATEWAY_MARKER;
|
|
6
|
+
/**
|
|
7
|
+
* Gateway decorator for WebSocket route registration
|
|
8
|
+
*
|
|
9
|
+
* Marks a class as a WebSocket gateway and stores route metadata.
|
|
10
|
+
* Reuses the same metadata key as @Controller for middleware compatibility —
|
|
11
|
+
* `getControllerRoute()`, `forRoutes()`, and the entire middleware system work
|
|
12
|
+
* with zero changes.
|
|
13
|
+
*
|
|
14
|
+
* @param route - WebSocket route path (e.g., '/ws/chat')
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* ```typescript
|
|
18
|
+
* import { type GatewayContext, Gateway, OnMessage, OnClose } from 'stratal/websocket'
|
|
19
|
+
*
|
|
20
|
+
* @Gateway('/ws/chat')
|
|
21
|
+
* class ChatGateway {
|
|
22
|
+
* @OnMessage()
|
|
23
|
+
* handleMessage(evt: MessageEvent, ctx: GatewayContext) {
|
|
24
|
+
* ctx.send('ack')
|
|
25
|
+
* }
|
|
26
|
+
*
|
|
27
|
+
* @OnClose()
|
|
28
|
+
* handleClose(evt: CloseEvent, ctx: GatewayContext) {
|
|
29
|
+
* console.log('closed')
|
|
30
|
+
* }
|
|
31
|
+
* }
|
|
32
|
+
* ```
|
|
33
|
+
*/
|
|
34
|
+
export function Gateway(route, options) {
|
|
35
|
+
return function (target) {
|
|
36
|
+
Transient()(target);
|
|
37
|
+
Reflect.defineMetadata(CONTROLLER_ROUTE_KEY, route, target);
|
|
38
|
+
Reflect.defineMetadata(GATEWAY_MARKER_KEY, true, target);
|
|
39
|
+
if (options) {
|
|
40
|
+
Reflect.defineMetadata(CONTROLLER_OPTIONS_KEY, options, target);
|
|
41
|
+
}
|
|
42
|
+
return target;
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Check if a class is a WebSocket gateway
|
|
47
|
+
*
|
|
48
|
+
* @param target - Class constructor or instance
|
|
49
|
+
* @returns true if the class is decorated with @Gateway
|
|
50
|
+
*/
|
|
51
|
+
export function isGateway(target) {
|
|
52
|
+
const metadataTarget = typeof target === 'function' ? target : target.constructor;
|
|
53
|
+
return Reflect.getMetadata(GATEWAY_MARKER_KEY, metadataTarget) === true;
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=gateway.decorator.js.map
|