@oakbun/ws 0.1.0 → 1.0.0
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/index.d.ts +1286 -0
- package/package.json +4 -4
- package/dist/core/src/adapter/mysql.d.ts +0 -21
- package/dist/core/src/adapter/mysql.d.ts.map +0 -1
- package/dist/core/src/adapter/postgres.d.ts +0 -16
- package/dist/core/src/adapter/postgres.d.ts.map +0 -1
- package/dist/core/src/adapter/resolve.d.ts +0 -16
- package/dist/core/src/adapter/resolve.d.ts.map +0 -1
- package/dist/core/src/adapter/sqlite.d.ts +0 -17
- package/dist/core/src/adapter/sqlite.d.ts.map +0 -1
- package/dist/core/src/adapter/types.d.ts +0 -29
- package/dist/core/src/adapter/types.d.ts.map +0 -1
- package/dist/core/src/app/audit-wiring.d.ts +0 -6
- package/dist/core/src/app/audit-wiring.d.ts.map +0 -1
- package/dist/core/src/app/body-size-limit.d.ts +0 -29
- package/dist/core/src/app/body-size-limit.d.ts.map +0 -1
- package/dist/core/src/app/compression.d.ts +0 -25
- package/dist/core/src/app/compression.d.ts.map +0 -1
- package/dist/core/src/app/cookies.d.ts +0 -17
- package/dist/core/src/app/cookies.d.ts.map +0 -1
- package/dist/core/src/app/cors.d.ts +0 -65
- package/dist/core/src/app/cors.d.ts.map +0 -1
- package/dist/core/src/app/csrf.d.ts +0 -52
- package/dist/core/src/app/csrf.d.ts.map +0 -1
- package/dist/core/src/app/health.d.ts +0 -36
- package/dist/core/src/app/health.d.ts.map +0 -1
- package/dist/core/src/app/index.d.ts +0 -282
- package/dist/core/src/app/index.d.ts.map +0 -1
- package/dist/core/src/app/logger.d.ts +0 -4
- package/dist/core/src/app/logger.d.ts.map +0 -1
- package/dist/core/src/app/middleware.d.ts +0 -20
- package/dist/core/src/app/middleware.d.ts.map +0 -1
- package/dist/core/src/app/module.d.ts +0 -273
- package/dist/core/src/app/module.d.ts.map +0 -1
- package/dist/core/src/app/plugin.d.ts +0 -112
- package/dist/core/src/app/plugin.d.ts.map +0 -1
- package/dist/core/src/app/rate-limit.d.ts +0 -76
- package/dist/core/src/app/rate-limit.d.ts.map +0 -1
- package/dist/core/src/app/request-id.d.ts +0 -52
- package/dist/core/src/app/request-id.d.ts.map +0 -1
- package/dist/core/src/app/router.d.ts +0 -6
- package/dist/core/src/app/router.d.ts.map +0 -1
- package/dist/core/src/app/scalar.d.ts +0 -40
- package/dist/core/src/app/scalar.d.ts.map +0 -1
- package/dist/core/src/app/secure-headers.d.ts +0 -48
- package/dist/core/src/app/secure-headers.d.ts.map +0 -1
- package/dist/core/src/app/system-ctx.d.ts +0 -3
- package/dist/core/src/app/system-ctx.d.ts.map +0 -1
- package/dist/core/src/app/types.d.ts +0 -277
- package/dist/core/src/app/types.d.ts.map +0 -1
- package/dist/core/src/cli/config/types.d.ts +0 -31
- package/dist/core/src/cli/config/types.d.ts.map +0 -1
- package/dist/core/src/cli/index.d.ts +0 -3
- package/dist/core/src/cli/index.d.ts.map +0 -1
- package/dist/core/src/client/error.d.ts +0 -8
- package/dist/core/src/client/error.d.ts.map +0 -1
- package/dist/core/src/client/index.d.ts +0 -33
- package/dist/core/src/client/index.d.ts.map +0 -1
- package/dist/core/src/client/proxy.d.ts +0 -88
- package/dist/core/src/client/proxy.d.ts.map +0 -1
- package/dist/core/src/client/test-client.d.ts +0 -30
- package/dist/core/src/client/test-client.d.ts.map +0 -1
- package/dist/core/src/cron/index.d.ts +0 -73
- package/dist/core/src/cron/index.d.ts.map +0 -1
- package/dist/core/src/db/index.d.ts +0 -281
- package/dist/core/src/db/index.d.ts.map +0 -1
- package/dist/core/src/db/migrations/diff.d.ts +0 -5
- package/dist/core/src/db/migrations/diff.d.ts.map +0 -1
- package/dist/core/src/db/migrations/generator.d.ts +0 -26
- package/dist/core/src/db/migrations/generator.d.ts.map +0 -1
- package/dist/core/src/db/migrations/index.d.ts +0 -9
- package/dist/core/src/db/migrations/index.d.ts.map +0 -1
- package/dist/core/src/db/migrations/introspect.d.ts +0 -8
- package/dist/core/src/db/migrations/introspect.d.ts.map +0 -1
- package/dist/core/src/db/migrations/migrator.d.ts +0 -10
- package/dist/core/src/db/migrations/migrator.d.ts.map +0 -1
- package/dist/core/src/db/migrations/runner.d.ts +0 -7
- package/dist/core/src/db/migrations/runner.d.ts.map +0 -1
- package/dist/core/src/db/migrations/tracker.d.ts +0 -7
- package/dist/core/src/db/migrations/tracker.d.ts.map +0 -1
- package/dist/core/src/db/migrations/types.d.ts +0 -70
- package/dist/core/src/db/migrations/types.d.ts.map +0 -1
- package/dist/core/src/db/sql.d.ts +0 -148
- package/dist/core/src/db/sql.d.ts.map +0 -1
- package/dist/core/src/errors/index.d.ts +0 -30
- package/dist/core/src/errors/index.d.ts.map +0 -1
- package/dist/core/src/events/handler.d.ts +0 -42
- package/dist/core/src/events/handler.d.ts.map +0 -1
- package/dist/core/src/events/index.d.ts +0 -48
- package/dist/core/src/events/index.d.ts.map +0 -1
- package/dist/core/src/hooks/executor.d.ts +0 -20
- package/dist/core/src/hooks/executor.d.ts.map +0 -1
- package/dist/core/src/hooks/types.d.ts +0 -10
- package/dist/core/src/hooks/types.d.ts.map +0 -1
- package/dist/core/src/index.d.ts +0 -83
- package/dist/core/src/index.d.ts.map +0 -1
- package/dist/core/src/model/index.d.ts +0 -24
- package/dist/core/src/model/index.d.ts.map +0 -1
- package/dist/core/src/openapi/generator.d.ts +0 -58
- package/dist/core/src/openapi/generator.d.ts.map +0 -1
- package/dist/core/src/openapi/zod-to-schema.d.ts +0 -4
- package/dist/core/src/openapi/zod-to-schema.d.ts.map +0 -1
- package/dist/core/src/resource/errors.d.ts +0 -2
- package/dist/core/src/resource/errors.d.ts.map +0 -1
- package/dist/core/src/resource/index.d.ts +0 -98
- package/dist/core/src/resource/index.d.ts.map +0 -1
- package/dist/core/src/resource/zod-table.d.ts +0 -6
- package/dist/core/src/resource/zod-table.d.ts.map +0 -1
- package/dist/core/src/schema/audit.d.ts +0 -25
- package/dist/core/src/schema/audit.d.ts.map +0 -1
- package/dist/core/src/schema/column.d.ts +0 -31
- package/dist/core/src/schema/column.d.ts.map +0 -1
- package/dist/core/src/schema/table.d.ts +0 -68
- package/dist/core/src/schema/table.d.ts.map +0 -1
- package/dist/core/src/service/index.d.ts +0 -27
- package/dist/core/src/service/index.d.ts.map +0 -1
- package/dist/ws/src/adapter.d.ts +0 -56
- package/dist/ws/src/adapter.d.ts.map +0 -1
- package/dist/ws/src/index.d.ts +0 -5
- package/dist/ws/src/index.d.ts.map +0 -1
- package/dist/ws/src/module-augment.d.ts +0 -7
- package/dist/ws/src/module-augment.d.ts.map +0 -1
- package/dist/ws/src/types.d.ts +0 -87
- package/dist/ws/src/types.d.ts.map +0 -1
|
@@ -1,282 +0,0 @@
|
|
|
1
|
-
import type { BaseCtx, ErrorHandler, RouteHandler, Route, RouteHandlerWithSchema, RouteMap, OnRequestHook, OnBeforeHandleHook, OnResponseHook, VelnWsAdapter, WsRouteShape, AuthAdapter } from './types';
|
|
2
|
-
import type { OpenApiSpec } from '../openapi/generator';
|
|
3
|
-
import type { ZodTypeAny } from 'zod';
|
|
4
|
-
import type { Plugin } from './plugin';
|
|
5
|
-
import type { VelnEvents, EventHandler } from '../events/index';
|
|
6
|
-
import type { EventHandlerDef } from '../events/handler';
|
|
7
|
-
import type { CronDef, CronLockAdapter } from '../cron/index';
|
|
8
|
-
import type { VelnModule } from './module';
|
|
9
|
-
import type { EventBusAdapter } from '../events/index';
|
|
10
|
-
import { HookExecutor } from '../hooks/executor';
|
|
11
|
-
import type { ServiceDef } from '../service/index';
|
|
12
|
-
import type { MiddlewareDef } from './middleware';
|
|
13
|
-
type HandlerArg<TCtx> = ((ctx: TCtx) => Response | Promise<Response>) | RouteHandler<TCtx> | RouteHandlerWithSchema<TCtx, any>;
|
|
14
|
-
export declare class Veln<TCtx extends BaseCtx, TRoutes extends RouteMap = Record<never, never>, TPrefixes extends string = never> {
|
|
15
|
-
readonly _routes: TRoutes;
|
|
16
|
-
readonly _prefixes: TPrefixes;
|
|
17
|
-
readonly routes: Route<any>[];
|
|
18
|
-
private readonly plugins;
|
|
19
|
-
private readonly globalGuards;
|
|
20
|
-
private readonly _onRequestHooks;
|
|
21
|
-
private readonly _onBeforeHandleHooks;
|
|
22
|
-
private readonly _onResponseHooks;
|
|
23
|
-
private globalOnError?;
|
|
24
|
-
private readonly eventBus;
|
|
25
|
-
readonly hooks: HookExecutor;
|
|
26
|
-
private installedPlugins;
|
|
27
|
-
private readonly installedModulePlugins;
|
|
28
|
-
private readonly _pendingAuditDeclarations;
|
|
29
|
-
private _opts;
|
|
30
|
-
private readonly _globalServiceDeclarations;
|
|
31
|
-
private _serviceCircularChecked;
|
|
32
|
-
private _routeCache;
|
|
33
|
-
private readonly _ROUTE_CACHE_MAX;
|
|
34
|
-
private readonly _cronDefs;
|
|
35
|
-
private readonly _cronJobs;
|
|
36
|
-
private readonly _cronLock;
|
|
37
|
-
private _wsAdapter;
|
|
38
|
-
private _authAdapter;
|
|
39
|
-
constructor(opts?: {
|
|
40
|
-
auth?: AuthAdapter;
|
|
41
|
-
nav?: {
|
|
42
|
-
path?: string;
|
|
43
|
-
};
|
|
44
|
-
validation?: {
|
|
45
|
-
exposeIssues?: boolean;
|
|
46
|
-
};
|
|
47
|
-
eventBus?: EventBusAdapter;
|
|
48
|
-
cronLock?: CronLockAdapter;
|
|
49
|
-
db?: {
|
|
50
|
-
log?: {
|
|
51
|
-
enabled?: boolean;
|
|
52
|
-
n1Threshold?: number;
|
|
53
|
-
logQueries?: boolean;
|
|
54
|
-
};
|
|
55
|
-
};
|
|
56
|
-
});
|
|
57
|
-
private _registerNavEndpoint;
|
|
58
|
-
private _addRoute;
|
|
59
|
-
private _registerMethod;
|
|
60
|
-
get<TBody extends ZodTypeAny, TParams extends ZodTypeAny, TQuery extends ZodTypeAny, TResponse extends ZodTypeAny, TPath extends string>(path: TPath, schema: {
|
|
61
|
-
body?: TBody;
|
|
62
|
-
params?: TParams;
|
|
63
|
-
query?: TQuery;
|
|
64
|
-
response?: TResponse;
|
|
65
|
-
}, handler: (ctx: TCtx & {
|
|
66
|
-
body: import('zod').infer<TBody>;
|
|
67
|
-
params: import('zod').infer<TParams>;
|
|
68
|
-
query: import('zod').infer<TQuery>;
|
|
69
|
-
}) => Response | Promise<Response>): Veln<TCtx, TRoutes & Record<`GET ${TPath}`, {
|
|
70
|
-
body: TBody;
|
|
71
|
-
params: TParams;
|
|
72
|
-
query: TQuery;
|
|
73
|
-
response: TResponse;
|
|
74
|
-
}>>;
|
|
75
|
-
get(path: string, handler: HandlerArg<TCtx>): this;
|
|
76
|
-
post<TBody extends ZodTypeAny, TParams extends ZodTypeAny, TQuery extends ZodTypeAny, TResponse extends ZodTypeAny, TPath extends string>(path: TPath, schema: {
|
|
77
|
-
body?: TBody;
|
|
78
|
-
params?: TParams;
|
|
79
|
-
query?: TQuery;
|
|
80
|
-
response?: TResponse;
|
|
81
|
-
}, handler: (ctx: TCtx & {
|
|
82
|
-
body: import('zod').infer<TBody>;
|
|
83
|
-
params: import('zod').infer<TParams>;
|
|
84
|
-
query: import('zod').infer<TQuery>;
|
|
85
|
-
}) => Response | Promise<Response>): Veln<TCtx, TRoutes & Record<`POST ${TPath}`, {
|
|
86
|
-
body: TBody;
|
|
87
|
-
params: TParams;
|
|
88
|
-
query: TQuery;
|
|
89
|
-
response: TResponse;
|
|
90
|
-
}>>;
|
|
91
|
-
post(path: string, handler: HandlerArg<TCtx>): this;
|
|
92
|
-
put<TBody extends ZodTypeAny, TParams extends ZodTypeAny, TQuery extends ZodTypeAny, TResponse extends ZodTypeAny, TPath extends string>(path: TPath, schema: {
|
|
93
|
-
body?: TBody;
|
|
94
|
-
params?: TParams;
|
|
95
|
-
query?: TQuery;
|
|
96
|
-
response?: TResponse;
|
|
97
|
-
}, handler: (ctx: TCtx & {
|
|
98
|
-
body: import('zod').infer<TBody>;
|
|
99
|
-
params: import('zod').infer<TParams>;
|
|
100
|
-
query: import('zod').infer<TQuery>;
|
|
101
|
-
}) => Response | Promise<Response>): Veln<TCtx, TRoutes & Record<`PUT ${TPath}`, {
|
|
102
|
-
body: TBody;
|
|
103
|
-
params: TParams;
|
|
104
|
-
query: TQuery;
|
|
105
|
-
response: TResponse;
|
|
106
|
-
}>>;
|
|
107
|
-
put(path: string, handler: HandlerArg<TCtx>): this;
|
|
108
|
-
patch<TBody extends ZodTypeAny, TParams extends ZodTypeAny, TQuery extends ZodTypeAny, TResponse extends ZodTypeAny, TPath extends string>(path: TPath, schema: {
|
|
109
|
-
body?: TBody;
|
|
110
|
-
params?: TParams;
|
|
111
|
-
query?: TQuery;
|
|
112
|
-
response?: TResponse;
|
|
113
|
-
}, handler: (ctx: TCtx & {
|
|
114
|
-
body: import('zod').infer<TBody>;
|
|
115
|
-
params: import('zod').infer<TParams>;
|
|
116
|
-
query: import('zod').infer<TQuery>;
|
|
117
|
-
}) => Response | Promise<Response>): Veln<TCtx, TRoutes & Record<`PATCH ${TPath}`, {
|
|
118
|
-
body: TBody;
|
|
119
|
-
params: TParams;
|
|
120
|
-
query: TQuery;
|
|
121
|
-
response: TResponse;
|
|
122
|
-
}>>;
|
|
123
|
-
patch(path: string, handler: HandlerArg<TCtx>): this;
|
|
124
|
-
delete<TBody extends ZodTypeAny, TParams extends ZodTypeAny, TQuery extends ZodTypeAny, TResponse extends ZodTypeAny, TPath extends string>(path: TPath, schema: {
|
|
125
|
-
body?: TBody;
|
|
126
|
-
params?: TParams;
|
|
127
|
-
query?: TQuery;
|
|
128
|
-
response?: TResponse;
|
|
129
|
-
}, handler: (ctx: TCtx & {
|
|
130
|
-
body: import('zod').infer<TBody>;
|
|
131
|
-
params: import('zod').infer<TParams>;
|
|
132
|
-
query: import('zod').infer<TQuery>;
|
|
133
|
-
}) => Response | Promise<Response>): Veln<TCtx, TRoutes & Record<`DELETE ${TPath}`, {
|
|
134
|
-
body: TBody;
|
|
135
|
-
params: TParams;
|
|
136
|
-
query: TQuery;
|
|
137
|
-
response: TResponse;
|
|
138
|
-
}>>;
|
|
139
|
-
delete(path: string, handler: HandlerArg<TCtx>): this;
|
|
140
|
-
/**
|
|
141
|
-
* registerWsAdapter() — connect @oakbun/ws to this app.
|
|
142
|
-
*
|
|
143
|
-
* Call this before registering WS routes:
|
|
144
|
-
* import { createWsAdapter } from '@oakbun/ws'
|
|
145
|
-
* app.registerWsAdapter(createWsAdapter())
|
|
146
|
-
*/
|
|
147
|
-
registerWsAdapter(adapter: VelnWsAdapter): this;
|
|
148
|
-
/**
|
|
149
|
-
* ws() — register a WebSocket route.
|
|
150
|
-
* Requires app.registerWsAdapter(createWsAdapter()) first.
|
|
151
|
-
*
|
|
152
|
-
* Full typing (WsCtx, Zod schema support) is provided when @oakbun/ws is imported.
|
|
153
|
-
* Full type safety (WsCtx, Zod schema support, typed ctx.data) is provided by @oakbun/ws.
|
|
154
|
-
* This base accepts a loose WsRouteShape so Core stays free of @oakbun/ws types.
|
|
155
|
-
*/
|
|
156
|
-
ws(path: string, route: WsRouteShape): this;
|
|
157
|
-
plugin<TAdd extends object>(p: Plugin<TCtx, TAdd>): Veln<TCtx & TAdd, TRoutes, TPrefixes>;
|
|
158
|
-
use<TKey extends string, TDef>(service: ServiceDef<TKey, TDef>): Veln<TCtx & Record<TKey, TDef>, TRoutes, TPrefixes>;
|
|
159
|
-
use(middleware: MiddlewareDef): this;
|
|
160
|
-
register<TModuleRoutes extends RouteMap, TModulePrefix extends string>(mod: VelnModule & {
|
|
161
|
-
readonly _routes: TModuleRoutes;
|
|
162
|
-
readonly _prefix: TModulePrefix;
|
|
163
|
-
}): Veln<TCtx, TRoutes & TModuleRoutes, TPrefixes | TModulePrefix>;
|
|
164
|
-
register(module: VelnModule): this;
|
|
165
|
-
private _allServiceDecls;
|
|
166
|
-
on<K extends keyof VelnEvents>(event: K, handler: (payload: VelnEvents[K], ctx: unknown) => Promise<void> | void): this;
|
|
167
|
-
on(event: string, handler: EventHandler): this;
|
|
168
|
-
onEvent<TMap extends Record<string, unknown>, K extends string & keyof TMap>(table: {
|
|
169
|
-
_eventMap: TMap;
|
|
170
|
-
}, event: K, handler: (payload: Pick<TMap, K>[K], ctx: unknown) => void | Promise<void>): this;
|
|
171
|
-
events(def: EventHandlerDef): this;
|
|
172
|
-
cron<TServices extends Record<string, unknown>>(def: CronDef<TServices>): this;
|
|
173
|
-
onError(handler: ErrorHandler<TCtx>): this;
|
|
174
|
-
onRequest(hook: OnRequestHook<TCtx>): this;
|
|
175
|
-
onBeforeHandle(hook: OnBeforeHandleHook<TCtx>): this;
|
|
176
|
-
onResponse(hook: OnResponseHook<TCtx>): this;
|
|
177
|
-
fetch(req: Request, server?: import('bun').Server<unknown>): Promise<Response>;
|
|
178
|
-
/**
|
|
179
|
-
* _runRoute — executes the full Veln pipeline for an already-matched route.
|
|
180
|
-
*
|
|
181
|
-
* Called from two places:
|
|
182
|
-
* 1. fetch() — after matchPath() finds the route (used by createTestClient + fallback)
|
|
183
|
-
* 2. Bun native routes — Bun's SIMD router pre-matched the route; params come from req.params
|
|
184
|
-
*
|
|
185
|
-
* baseCtx must already have req, query, cookie, emit set.
|
|
186
|
-
* params is passed in as Record<string, string> (undefined optionals already filtered out).
|
|
187
|
-
*/
|
|
188
|
-
private _runRoute;
|
|
189
|
-
private _runPermissionGate;
|
|
190
|
-
private _runModuleOnRequest;
|
|
191
|
-
private _runPlugins;
|
|
192
|
-
private _runValidation;
|
|
193
|
-
private _runServices;
|
|
194
|
-
private _runGuards;
|
|
195
|
-
private _runBeforeHandle;
|
|
196
|
-
private _runHandler;
|
|
197
|
-
private _runOnResponse;
|
|
198
|
-
private _handleError;
|
|
199
|
-
options(opts: {
|
|
200
|
-
validateResponse?: boolean;
|
|
201
|
-
}): this;
|
|
202
|
-
close(): Promise<void>;
|
|
203
|
-
getOpenApiSpec(options?: {
|
|
204
|
-
title?: string;
|
|
205
|
-
version?: string;
|
|
206
|
-
}): OpenApiSpec;
|
|
207
|
-
/**
|
|
208
|
-
* getRoutes — returns all registered HTTP routes as a RouteInfo array.
|
|
209
|
-
* Compatible with @oakbun/logger's printRouteTree().
|
|
210
|
-
*/
|
|
211
|
-
getRoutes(): Array<{
|
|
212
|
-
method: string;
|
|
213
|
-
path: string;
|
|
214
|
-
module?: string;
|
|
215
|
-
protected: boolean;
|
|
216
|
-
}>;
|
|
217
|
-
/**
|
|
218
|
-
* printRoutes — prints a simple route list to stdout.
|
|
219
|
-
* For a pretty tree, use printRouteTree from @oakbun/logger.
|
|
220
|
-
*/
|
|
221
|
-
printRoutes(options?: {
|
|
222
|
-
title?: string;
|
|
223
|
-
version?: string;
|
|
224
|
-
}): void;
|
|
225
|
-
/**
|
|
226
|
-
* _buildBunRoutes — converts this.routes into Bun's native route object.
|
|
227
|
-
*
|
|
228
|
-
* Called once at listen() time. Bun's SIMD-accelerated router takes over path matching;
|
|
229
|
-
* params are extracted natively and passed via BunRequest.params.
|
|
230
|
-
*
|
|
231
|
-
* Routes with optional params (:name?) are deliberately excluded — Bun does not support
|
|
232
|
-
* the `?` suffix syntax. They are handled by the fetch() fallback via matchPath().
|
|
233
|
-
*
|
|
234
|
-
* The returned object is typed as Record<string, unknown> because the path keys are
|
|
235
|
-
* dynamic strings, not statically known literals. Bun.serve() receives it via `as any`.
|
|
236
|
-
*/
|
|
237
|
-
private _buildBunRoutes;
|
|
238
|
-
listen(port: number, cb?: (port: number) => void, options?: {
|
|
239
|
-
autoHandleSignals?: boolean;
|
|
240
|
-
}): ReturnType<typeof Bun.serve>;
|
|
241
|
-
private _scheduleCrons;
|
|
242
|
-
}
|
|
243
|
-
/**
|
|
244
|
-
* createApp — creates a new Veln application instance.
|
|
245
|
-
*
|
|
246
|
-
* @param opts.auth Authentication adapter (e.g. BetterAuth). Enables `ctx.user` and permission gates.
|
|
247
|
-
* @param opts.validation Validation options. Set `exposeIssues: true` to include raw Zod issues in 422
|
|
248
|
-
* responses (development only — masks issue details by default).
|
|
249
|
-
* @param opts.eventBus Custom event bus adapter. Defaults to `InMemoryEventBus` (single-process).
|
|
250
|
-
* For multi-instance deployments, supply a Redis or BroadcastChannel adapter.
|
|
251
|
-
* @param opts.cronLock Distributed lock adapter for cron jobs. Defaults to `NoOpCronLockAdapter`
|
|
252
|
-
* (always acquires). For multi-instance deployments, supply a Redis-backed adapter.
|
|
253
|
-
* @param opts.nav Navigation endpoint options. `path` sets the `/nav` endpoint URL.
|
|
254
|
-
* @param opts.db Database options. `db.log.enabled` enables query logging and N+1 detection.
|
|
255
|
-
* `db.log.n1Threshold` sets the query count threshold (default: 10).
|
|
256
|
-
* `db.log.logQueries` logs all SQL statements when N+1 is detected.
|
|
257
|
-
*
|
|
258
|
-
* @example
|
|
259
|
-
* const app = createApp()
|
|
260
|
-
* app.get('/ping', (ctx) => ctx.json({ ok: true }))
|
|
261
|
-
* app.listen(3000)
|
|
262
|
-
*/
|
|
263
|
-
export declare function createApp(opts?: {
|
|
264
|
-
auth?: AuthAdapter;
|
|
265
|
-
nav?: {
|
|
266
|
-
path?: string;
|
|
267
|
-
};
|
|
268
|
-
validation?: {
|
|
269
|
-
exposeIssues?: boolean;
|
|
270
|
-
};
|
|
271
|
-
eventBus?: EventBusAdapter;
|
|
272
|
-
cronLock?: CronLockAdapter;
|
|
273
|
-
db?: {
|
|
274
|
-
log?: {
|
|
275
|
-
enabled?: boolean;
|
|
276
|
-
n1Threshold?: number;
|
|
277
|
-
logQueries?: boolean;
|
|
278
|
-
};
|
|
279
|
-
};
|
|
280
|
-
}): Veln<BaseCtx, Record<never, never>, never>;
|
|
281
|
-
export {};
|
|
282
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../core/src/app/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../../../../core/src/app/logger.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAIjD,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAA;AAyE1D,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,UAAU,GAAG,MAAM,CA4C5E"}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import type { Logger, BaseOptions, OnRequestFn, OnResponseFn } from './types';
|
|
2
|
-
export interface MiddlewareDef {
|
|
3
|
-
readonly _name: string;
|
|
4
|
-
readonly _onRequest?: OnRequestFn;
|
|
5
|
-
readonly _onResponse?: OnResponseFn;
|
|
6
|
-
readonly _logger: Logger;
|
|
7
|
-
}
|
|
8
|
-
export declare class MiddlewareBuilder {
|
|
9
|
-
private readonly _name;
|
|
10
|
-
private _options;
|
|
11
|
-
private _onRequestFn?;
|
|
12
|
-
private _onResponseFn?;
|
|
13
|
-
constructor(_name: string);
|
|
14
|
-
options(opts: BaseOptions): this;
|
|
15
|
-
onRequest(fn: OnRequestFn): this;
|
|
16
|
-
onResponse(fn: OnResponseFn): this;
|
|
17
|
-
build(): MiddlewareDef;
|
|
18
|
-
}
|
|
19
|
-
export declare function defineMiddleware(name: string): MiddlewareBuilder;
|
|
20
|
-
//# sourceMappingURL=middleware.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../../../../../core/src/app/middleware.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAK7E,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,KAAK,EAAQ,MAAM,CAAA;IAC5B,QAAQ,CAAC,UAAU,CAAC,EAAG,WAAW,CAAA;IAClC,QAAQ,CAAC,WAAW,CAAC,EAAE,YAAY,CAAA;IACnC,QAAQ,CAAC,OAAO,EAAM,MAAM,CAAA;CAC7B;AAID,qBAAa,iBAAiB;IAKhB,OAAO,CAAC,QAAQ,CAAC,KAAK;IAJlC,OAAO,CAAC,QAAQ,CAAuB;IACvC,OAAO,CAAC,YAAY,CAAC,CAAc;IACnC,OAAO,CAAC,aAAa,CAAC,CAAc;gBAEP,KAAK,EAAE,MAAM;IAE1C,OAAO,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI;IAKhC,SAAS,CAAC,EAAE,EAAE,WAAW,GAAG,IAAI;IAKhC,UAAU,CAAC,EAAE,EAAE,YAAY,GAAG,IAAI;IAKlC,KAAK,IAAI,aAAa;CASvB;AAID,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB,CAEhE"}
|
|
@@ -1,273 +0,0 @@
|
|
|
1
|
-
import type { Guard, ErrorHandler, RouteHandler, Route, OnRequestHook, OnBeforeHandleHook, OnResponseHook, RouteSchema, RouteMap, RouteDocs, WsRouteShape, BaseOptions } from './types';
|
|
2
|
-
import type { Plugin } from './plugin';
|
|
3
|
-
import type { TableDef, SchemaMap } from '../schema/table';
|
|
4
|
-
import type { ModuleHookHandlers } from '../hooks/types';
|
|
5
|
-
import type { BaseCtx } from './types';
|
|
6
|
-
import type { AuditConfig } from '../schema/audit';
|
|
7
|
-
import type { ServiceDef } from '../service/index';
|
|
8
|
-
import type { ZodTypeAny } from 'zod';
|
|
9
|
-
import type { EventHandlerDef } from '../events/handler';
|
|
10
|
-
import type { CronDef } from '../cron/index';
|
|
11
|
-
import type { MiddlewareDef } from './middleware';
|
|
12
|
-
import { z } from 'zod';
|
|
13
|
-
export interface HookDeclaration<T, TCtx> {
|
|
14
|
-
table: TableDef<T, any>;
|
|
15
|
-
handlers: ModuleHookHandlers<T, TCtx>;
|
|
16
|
-
}
|
|
17
|
-
export interface AuditDeclaration<T, TCtx, S extends SchemaMap> {
|
|
18
|
-
table: TableDef<T, any>;
|
|
19
|
-
config: AuditConfig<TCtx, T, S>;
|
|
20
|
-
}
|
|
21
|
-
export interface ServiceDeclaration<TKey extends string, TDef> {
|
|
22
|
-
readonly service: ServiceDef<TKey, TDef>;
|
|
23
|
-
}
|
|
24
|
-
export interface VelnModule {
|
|
25
|
-
prefix: string;
|
|
26
|
-
routes: Route<any>[];
|
|
27
|
-
wsRoutes: WsRouteShape[];
|
|
28
|
-
hookDeclarations: HookDeclaration<any, any>[];
|
|
29
|
-
auditDeclarations: AuditDeclaration<any, any, any>[];
|
|
30
|
-
serviceDeclarations: ReadonlyArray<ServiceDeclaration<string, unknown>>;
|
|
31
|
-
plugins: Plugin<any, any>[];
|
|
32
|
-
guards: Guard<any>[];
|
|
33
|
-
onRequestHooks: OnRequestHook<any>[];
|
|
34
|
-
onBeforeHandleHooks: OnBeforeHandleHook<any>[];
|
|
35
|
-
onResponseHooks: OnResponseHook<any>[];
|
|
36
|
-
onError?: ErrorHandler<any>;
|
|
37
|
-
eventHandlerDefs: EventHandlerDef[];
|
|
38
|
-
cronDefs: CronDef<Record<string, unknown>>[];
|
|
39
|
-
visibility: 'public' | 'hidden';
|
|
40
|
-
meta?: {
|
|
41
|
-
tag?: string;
|
|
42
|
-
description?: string;
|
|
43
|
-
};
|
|
44
|
-
options?: BaseOptions;
|
|
45
|
-
}
|
|
46
|
-
interface ModuleBuilderState {
|
|
47
|
-
prefix: string;
|
|
48
|
-
plugins: Plugin<any, any>[];
|
|
49
|
-
hookDeclarations: HookDeclaration<any, any>[];
|
|
50
|
-
auditDeclarations: AuditDeclaration<any, any, any>[];
|
|
51
|
-
serviceDeclarations: ReadonlyArray<ServiceDeclaration<string, unknown>>;
|
|
52
|
-
routes: Route<any>[];
|
|
53
|
-
wsRoutes: WsRouteShape[];
|
|
54
|
-
guards: Guard<any>[];
|
|
55
|
-
onRequestHooks: OnRequestHook<any>[];
|
|
56
|
-
onBeforeHandleHooks: OnBeforeHandleHook<any>[];
|
|
57
|
-
onResponseHooks: OnResponseHook<any>[];
|
|
58
|
-
onError: ErrorHandler<any> | undefined;
|
|
59
|
-
eventHandlerDefs: EventHandlerDef[];
|
|
60
|
-
cronDefs: CronDef<Record<string, unknown>>[];
|
|
61
|
-
visibility: 'public' | 'hidden';
|
|
62
|
-
meta: {
|
|
63
|
-
tag?: string;
|
|
64
|
-
description?: string;
|
|
65
|
-
} | undefined;
|
|
66
|
-
options: BaseOptions | undefined;
|
|
67
|
-
}
|
|
68
|
-
export interface RouteDefinition<TCtx extends BaseCtx> {
|
|
69
|
-
method: 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE';
|
|
70
|
-
path: string;
|
|
71
|
-
summary?: string;
|
|
72
|
-
description?: string;
|
|
73
|
-
docs?: RouteDocs;
|
|
74
|
-
visibility?: 'public' | 'hidden';
|
|
75
|
-
schema?: RouteSchema;
|
|
76
|
-
handler: (ctx: TCtx) => Response | Promise<Response>;
|
|
77
|
-
}
|
|
78
|
-
export type HttpMethod = 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE';
|
|
79
|
-
export declare class ModuleBuilder<TCtx extends BaseCtx, TPrefix extends string = string, TRoutes extends RouteMap = Record<never, never>> {
|
|
80
|
-
protected readonly _state: ModuleBuilderState;
|
|
81
|
-
readonly _routes: TRoutes;
|
|
82
|
-
readonly _prefix: TPrefix;
|
|
83
|
-
private constructor();
|
|
84
|
-
protected clone<NCtx extends BaseCtx = TCtx, NPrefix extends string = TPrefix, NRoutes extends RouteMap = TRoutes>(overrides: Partial<ModuleBuilderState>): ModuleBuilder<NCtx, NPrefix, NRoutes>;
|
|
85
|
-
get _wsRoutes(): WsRouteShape[];
|
|
86
|
-
static create<TPrefix extends string>(prefix: TPrefix): ModuleBuilder<BaseCtx, TPrefix, Record<never, never>>;
|
|
87
|
-
options(opts: BaseOptions): ModuleBuilder<TCtx, TPrefix, TRoutes>;
|
|
88
|
-
visibility(v: 'public' | 'hidden'): ModuleBuilder<TCtx, TPrefix, TRoutes>;
|
|
89
|
-
plugin<TAdd extends object>(p: Plugin<TCtx, TAdd>): ModuleBuilder<TCtx & TAdd, TPrefix, TRoutes>;
|
|
90
|
-
use<TKey extends string, TDef>(service: ServiceDef<TKey, TDef>): ModuleBuilder<TCtx & Record<TKey, TDef>, TPrefix, TRoutes>;
|
|
91
|
-
use(middleware: MiddlewareDef): ModuleBuilder<TCtx, TPrefix, TRoutes>;
|
|
92
|
-
guard(g: Guard<TCtx>): ModuleBuilder<TCtx, TPrefix, TRoutes>;
|
|
93
|
-
onRequest(hook: OnRequestHook<TCtx>): ModuleBuilder<TCtx, TPrefix, TRoutes>;
|
|
94
|
-
onBeforeHandle(hook: OnBeforeHandleHook<TCtx>): ModuleBuilder<TCtx, TPrefix, TRoutes>;
|
|
95
|
-
onResponse(hook: OnResponseHook<TCtx>): ModuleBuilder<TCtx, TPrefix, TRoutes>;
|
|
96
|
-
hook<T>(table: TableDef<T, any>, handlers: ModuleHookHandlers<T, TCtx>): ModuleBuilder<TCtx, TPrefix, TRoutes>;
|
|
97
|
-
audit<T extends Record<string, unknown>, S extends SchemaMap>(table: TableDef<T, any>, config: AuditConfig<TCtx, T, S>): ModuleBuilder<TCtx, TPrefix, TRoutes>;
|
|
98
|
-
events(handler: EventHandlerDef): ModuleBuilder<TCtx, TPrefix, TRoutes>;
|
|
99
|
-
cron(def: CronDef): ModuleBuilder<TCtx, TPrefix, TRoutes>;
|
|
100
|
-
private _addRoute;
|
|
101
|
-
route<TBody extends ZodTypeAny = never, TParams extends ZodTypeAny = never, TQuery extends ZodTypeAny = never>(def: {
|
|
102
|
-
method: HttpMethod;
|
|
103
|
-
path: string;
|
|
104
|
-
/** @deprecated Use docs.summary instead */
|
|
105
|
-
summary?: string;
|
|
106
|
-
description?: string;
|
|
107
|
-
docs?: RouteDocs;
|
|
108
|
-
visibility?: 'public' | 'hidden';
|
|
109
|
-
schema?: {
|
|
110
|
-
body?: TBody;
|
|
111
|
-
params?: TParams;
|
|
112
|
-
query?: TQuery;
|
|
113
|
-
response?: ZodTypeAny;
|
|
114
|
-
};
|
|
115
|
-
handler: (ctx: TCtx & {
|
|
116
|
-
body: z.infer<TBody>;
|
|
117
|
-
params: z.infer<TParams>;
|
|
118
|
-
query: z.infer<TQuery>;
|
|
119
|
-
}) => Response | Promise<Response>;
|
|
120
|
-
}): ModuleBuilder<TCtx, TPrefix, TRoutes>;
|
|
121
|
-
route<TMethod extends HttpMethod = HttpMethod, TBody extends ZodTypeAny = never, TParams extends ZodTypeAny = never, TQuery extends ZodTypeAny = never, TResponse extends ZodTypeAny = never, TPath extends string = string>(def: {
|
|
122
|
-
method: TMethod;
|
|
123
|
-
path: TPath;
|
|
124
|
-
body?: TBody;
|
|
125
|
-
params?: TParams;
|
|
126
|
-
query?: TQuery;
|
|
127
|
-
response?: TResponse;
|
|
128
|
-
docs?: RouteDocs;
|
|
129
|
-
guard?: Guard<TCtx> | false;
|
|
130
|
-
/** @deprecated Use docs.summary instead */
|
|
131
|
-
summary?: string;
|
|
132
|
-
description?: string;
|
|
133
|
-
visibility?: 'public' | 'hidden';
|
|
134
|
-
handler: (ctx: TCtx & {
|
|
135
|
-
body: z.infer<NoInfer<TBody>>;
|
|
136
|
-
params: z.infer<NoInfer<TParams>>;
|
|
137
|
-
query: z.infer<NoInfer<TQuery>>;
|
|
138
|
-
}) => Response | Promise<Response>;
|
|
139
|
-
}): ModuleBuilder<TCtx, TPrefix, TRoutes & Record<`${TMethod} ${TPrefix}${TPath}`, {
|
|
140
|
-
body: TBody;
|
|
141
|
-
params: TParams;
|
|
142
|
-
query: TQuery;
|
|
143
|
-
response: TResponse;
|
|
144
|
-
_prefix: TPrefix;
|
|
145
|
-
}>>;
|
|
146
|
-
meta(m: {
|
|
147
|
-
tag?: string;
|
|
148
|
-
description?: string;
|
|
149
|
-
}): ModuleBuilder<TCtx, TPrefix, TRoutes>;
|
|
150
|
-
private _registerMethod;
|
|
151
|
-
get<TBody extends ZodTypeAny = never, TParams extends ZodTypeAny = never, TQuery extends ZodTypeAny = never, TResponse extends ZodTypeAny = never, TPath extends string = string>(path: TPath, def: {
|
|
152
|
-
body?: TBody;
|
|
153
|
-
params?: TParams;
|
|
154
|
-
query?: TQuery;
|
|
155
|
-
response?: TResponse;
|
|
156
|
-
docs?: RouteDocs;
|
|
157
|
-
guard?: Guard<TCtx> | false;
|
|
158
|
-
handler: (ctx: TCtx & {
|
|
159
|
-
body: z.infer<TBody>;
|
|
160
|
-
params: z.infer<TParams>;
|
|
161
|
-
query: z.infer<TQuery>;
|
|
162
|
-
}) => Response | Promise<Response>;
|
|
163
|
-
}): ModuleBuilder<TCtx, TPrefix, TRoutes & Record<`GET ${TPrefix}${TPath}`, {
|
|
164
|
-
body: TBody;
|
|
165
|
-
params: TParams;
|
|
166
|
-
query: TQuery;
|
|
167
|
-
response: TResponse;
|
|
168
|
-
_prefix: TPrefix;
|
|
169
|
-
}>>;
|
|
170
|
-
get(path: string, handler: RouteHandler<TCtx> | ((ctx: TCtx) => Response | Promise<Response>)): ModuleBuilder<TCtx, TPrefix, TRoutes>;
|
|
171
|
-
post<TBody extends ZodTypeAny = never, TParams extends ZodTypeAny = never, TQuery extends ZodTypeAny = never, TResponse extends ZodTypeAny = never, TPath extends string = string>(path: TPath, def: {
|
|
172
|
-
body?: TBody;
|
|
173
|
-
params?: TParams;
|
|
174
|
-
query?: TQuery;
|
|
175
|
-
response?: TResponse;
|
|
176
|
-
docs?: RouteDocs;
|
|
177
|
-
guard?: Guard<TCtx> | false;
|
|
178
|
-
handler: (ctx: TCtx & {
|
|
179
|
-
body: z.infer<TBody>;
|
|
180
|
-
params: z.infer<TParams>;
|
|
181
|
-
query: z.infer<TQuery>;
|
|
182
|
-
}) => Response | Promise<Response>;
|
|
183
|
-
}): ModuleBuilder<TCtx, TPrefix, TRoutes & Record<`POST ${TPrefix}${TPath}`, {
|
|
184
|
-
body: TBody;
|
|
185
|
-
params: TParams;
|
|
186
|
-
query: TQuery;
|
|
187
|
-
response: TResponse;
|
|
188
|
-
_prefix: TPrefix;
|
|
189
|
-
}>>;
|
|
190
|
-
post(path: string, handler: RouteHandler<TCtx> | ((ctx: TCtx) => Response | Promise<Response>)): ModuleBuilder<TCtx, TPrefix, TRoutes>;
|
|
191
|
-
put<TBody extends ZodTypeAny = never, TParams extends ZodTypeAny = never, TQuery extends ZodTypeAny = never, TResponse extends ZodTypeAny = never, TPath extends string = string>(path: TPath, def: {
|
|
192
|
-
body?: TBody;
|
|
193
|
-
params?: TParams;
|
|
194
|
-
query?: TQuery;
|
|
195
|
-
response?: TResponse;
|
|
196
|
-
docs?: RouteDocs;
|
|
197
|
-
guard?: Guard<TCtx> | false;
|
|
198
|
-
handler: (ctx: TCtx & {
|
|
199
|
-
body: z.infer<TBody>;
|
|
200
|
-
params: z.infer<TParams>;
|
|
201
|
-
query: z.infer<TQuery>;
|
|
202
|
-
}) => Response | Promise<Response>;
|
|
203
|
-
}): ModuleBuilder<TCtx, TPrefix, TRoutes & Record<`PUT ${TPrefix}${TPath}`, {
|
|
204
|
-
body: TBody;
|
|
205
|
-
params: TParams;
|
|
206
|
-
query: TQuery;
|
|
207
|
-
response: TResponse;
|
|
208
|
-
_prefix: TPrefix;
|
|
209
|
-
}>>;
|
|
210
|
-
put(path: string, handler: RouteHandler<TCtx> | ((ctx: TCtx) => Response | Promise<Response>)): ModuleBuilder<TCtx, TPrefix, TRoutes>;
|
|
211
|
-
patch<TBody extends ZodTypeAny = never, TParams extends ZodTypeAny = never, TQuery extends ZodTypeAny = never, TResponse extends ZodTypeAny = never, TPath extends string = string>(path: TPath, def: {
|
|
212
|
-
body?: TBody;
|
|
213
|
-
params?: TParams;
|
|
214
|
-
query?: TQuery;
|
|
215
|
-
response?: TResponse;
|
|
216
|
-
docs?: RouteDocs;
|
|
217
|
-
guard?: Guard<TCtx> | false;
|
|
218
|
-
handler: (ctx: TCtx & {
|
|
219
|
-
body: z.infer<TBody>;
|
|
220
|
-
params: z.infer<TParams>;
|
|
221
|
-
query: z.infer<TQuery>;
|
|
222
|
-
}) => Response | Promise<Response>;
|
|
223
|
-
}): ModuleBuilder<TCtx, TPrefix, TRoutes & Record<`PATCH ${TPrefix}${TPath}`, {
|
|
224
|
-
body: TBody;
|
|
225
|
-
params: TParams;
|
|
226
|
-
query: TQuery;
|
|
227
|
-
response: TResponse;
|
|
228
|
-
_prefix: TPrefix;
|
|
229
|
-
}>>;
|
|
230
|
-
patch(path: string, handler: RouteHandler<TCtx> | ((ctx: TCtx) => Response | Promise<Response>)): ModuleBuilder<TCtx, TPrefix, TRoutes>;
|
|
231
|
-
delete<TBody extends ZodTypeAny = never, TParams extends ZodTypeAny = never, TQuery extends ZodTypeAny = never, TResponse extends ZodTypeAny = never, TPath extends string = string>(path: TPath, def: {
|
|
232
|
-
body?: TBody;
|
|
233
|
-
params?: TParams;
|
|
234
|
-
query?: TQuery;
|
|
235
|
-
response?: TResponse;
|
|
236
|
-
docs?: RouteDocs;
|
|
237
|
-
guard?: Guard<TCtx> | false;
|
|
238
|
-
handler: (ctx: TCtx & {
|
|
239
|
-
body: z.infer<TBody>;
|
|
240
|
-
params: z.infer<TParams>;
|
|
241
|
-
query: z.infer<TQuery>;
|
|
242
|
-
}) => Response | Promise<Response>;
|
|
243
|
-
}): ModuleBuilder<TCtx, TPrefix, TRoutes & Record<`DELETE ${TPrefix}${TPath}`, {
|
|
244
|
-
body: TBody;
|
|
245
|
-
params: TParams;
|
|
246
|
-
query: TQuery;
|
|
247
|
-
response: TResponse;
|
|
248
|
-
_prefix: TPrefix;
|
|
249
|
-
}>>;
|
|
250
|
-
delete(path: string, handler: RouteHandler<TCtx> | ((ctx: TCtx) => Response | Promise<Response>)): ModuleBuilder<TCtx, TPrefix, TRoutes>;
|
|
251
|
-
onError(handler: ErrorHandler<TCtx>): ModuleBuilder<TCtx, TPrefix, TRoutes>;
|
|
252
|
-
build(): VelnModule & {
|
|
253
|
-
readonly _routes: TRoutes;
|
|
254
|
-
readonly _prefix: TPrefix;
|
|
255
|
-
};
|
|
256
|
-
}
|
|
257
|
-
/**
|
|
258
|
-
* defineModule — groups routes, guards, services, and cron jobs under a shared prefix.
|
|
259
|
-
*
|
|
260
|
-
* @param prefix URL prefix for all routes in this module (e.g. `'/users'`).
|
|
261
|
-
*
|
|
262
|
-
* Supply a `TCtx` generic to get typed handlers without casts:
|
|
263
|
-
* `defineModule<BaseCtx & { user: AuthUser }>('/admin')`
|
|
264
|
-
*
|
|
265
|
-
* @example
|
|
266
|
-
* const usersModule = defineModule('/users')
|
|
267
|
-
* .get('/', (ctx) => ctx.json([]))
|
|
268
|
-
* .build()
|
|
269
|
-
* app.register(usersModule)
|
|
270
|
-
*/
|
|
271
|
-
export declare function defineModule<TCtx extends BaseCtx = BaseCtx, TPrefix extends string = string>(prefix: TPrefix): ModuleBuilder<TCtx, TPrefix, Record<never, never>>;
|
|
272
|
-
export {};
|
|
273
|
-
//# sourceMappingURL=module.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../../../../core/src/app/module.ts"],"names":[],"mappings":"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"}
|