@c9up/ream 0.2.16 → 0.2.18
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/Application.d.ts +54 -8
- package/dist/Application.d.ts.map +1 -1
- package/dist/Application.js +77 -7
- package/dist/Application.js.map +1 -1
- package/dist/HttpKernel.d.ts +10 -0
- package/dist/HttpKernel.d.ts.map +1 -1
- package/dist/HttpKernel.js +61 -5
- package/dist/HttpKernel.js.map +1 -1
- package/dist/Ignitor.d.ts.map +1 -1
- package/dist/Ignitor.js +76 -18
- package/dist/Ignitor.js.map +1 -1
- package/dist/commands/ScheduleList.d.ts.map +1 -1
- package/dist/commands/ScheduleList.js +29 -0
- package/dist/commands/ScheduleList.js.map +1 -1
- package/dist/container/Container.d.ts.map +1 -1
- package/dist/container/Container.js +174 -45
- package/dist/container/Container.js.map +1 -1
- package/dist/container/types.d.ts +7 -0
- package/dist/container/types.d.ts.map +1 -1
- package/dist/dev/hmr.d.ts +37 -0
- package/dist/dev/hmr.d.ts.map +1 -0
- package/dist/dev/hmr.js +72 -0
- package/dist/dev/hmr.js.map +1 -0
- package/dist/graphql/GraphQLProvider.d.ts +14 -3
- package/dist/graphql/GraphQLProvider.d.ts.map +1 -1
- package/dist/graphql/GraphQLProvider.js +14 -3
- package/dist/graphql/GraphQLProvider.js.map +1 -1
- package/dist/hot.d.ts +29 -0
- package/dist/hot.d.ts.map +1 -0
- package/dist/hot.js +135 -0
- package/dist/hot.js.map +1 -0
- package/dist/http/Exception.d.ts +2 -2
- package/dist/http/Exception.d.ts.map +1 -1
- package/dist/http/Exception.js +3 -3
- package/dist/http/Exception.js.map +1 -1
- package/dist/http/Request.d.ts +11 -0
- package/dist/http/Request.d.ts.map +1 -1
- package/dist/http/Request.js +40 -0
- package/dist/http/Request.js.map +1 -1
- package/dist/http/RequestValidator.d.ts +80 -0
- package/dist/http/RequestValidator.d.ts.map +1 -0
- package/dist/http/RequestValidator.js +93 -0
- package/dist/http/RequestValidator.js.map +1 -0
- package/dist/index.d.ts +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/middleware/Pipeline.d.ts +2 -2
- package/dist/middleware/Pipeline.js +2 -2
- package/dist/middleware/Pipeline.js.map +1 -1
- package/dist/migrations/MigrationRegistry.d.ts +16 -0
- package/dist/migrations/MigrationRegistry.d.ts.map +1 -1
- package/dist/migrations/MigrationRegistry.js +24 -0
- package/dist/migrations/MigrationRegistry.js.map +1 -1
- package/dist/openapi/OpenApiGenerator.d.ts +16 -0
- package/dist/openapi/OpenApiGenerator.d.ts.map +1 -1
- package/dist/openapi/OpenApiGenerator.js +76 -4
- package/dist/openapi/OpenApiGenerator.js.map +1 -1
- package/dist/openapi/OpenApiProvider.d.ts +16 -5
- package/dist/openapi/OpenApiProvider.d.ts.map +1 -1
- package/dist/openapi/OpenApiProvider.js +21 -6
- package/dist/openapi/OpenApiProvider.js.map +1 -1
- package/dist/rpc/RpcProvider.d.ts +13 -2
- package/dist/rpc/RpcProvider.d.ts.map +1 -1
- package/dist/rpc/RpcProvider.js +13 -2
- package/dist/rpc/RpcProvider.js.map +1 -1
- package/dist/storage/StaticProvider.d.ts +12 -2
- package/dist/storage/StaticProvider.d.ts.map +1 -1
- package/dist/storage/StaticProvider.js +12 -2
- package/dist/storage/StaticProvider.js.map +1 -1
- package/events.win32-x64-msvc.node +0 -0
- package/index.win32-x64-msvc.node +0 -0
- package/package.json +14 -2
- package/scheduler.win32-x64-msvc.node +0 -0
- package/src/Application.ts +89 -8
- package/src/HttpKernel.ts +87 -5
- package/src/Ignitor.ts +82 -19
- package/src/commands/ScheduleList.ts +30 -0
- package/src/container/Container.ts +178 -48
- package/src/container/types.ts +11 -0
- package/src/dev/hmr.ts +83 -0
- package/src/graphql/GraphQLProvider.ts +14 -3
- package/src/hot.ts +165 -0
- package/src/http/Exception.ts +4 -4
- package/src/http/Request.ts +54 -0
- package/src/http/RequestValidator.ts +143 -0
- package/src/index.ts +8 -1
- package/src/middleware/Pipeline.ts +4 -4
- package/src/migrations/MigrationRegistry.ts +23 -0
- package/src/openapi/OpenApiGenerator.ts +84 -4
- package/src/openapi/OpenApiProvider.ts +21 -6
- package/src/rpc/RpcProvider.ts +13 -2
- package/src/storage/StaticProvider.ts +12 -2
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Per-request validation.
|
|
3
|
+
*
|
|
4
|
+
* A validator compiled when its module loaded knows nothing about the request
|
|
5
|
+
* about to run through it — yet the two things it most often needs are per
|
|
6
|
+
* request: which language to answer in, and where the errors go. The two
|
|
7
|
+
* static hooks below are that seam. An i18n package installs one at boot:
|
|
8
|
+
*
|
|
9
|
+
* ```ts
|
|
10
|
+
* RequestValidator.messagesProvider = (ctx) => ctx.i18n.createMessagesProvider()
|
|
11
|
+
* ```
|
|
12
|
+
*
|
|
13
|
+
* and every `request.validateUsing(...)` call picks it up, without a single
|
|
14
|
+
* schema mentioning translation. Nothing else in the framework reads them, so
|
|
15
|
+
* a validator called directly keeps whatever provider it was built with.
|
|
16
|
+
*
|
|
17
|
+
* Structural on purpose: ream never imports a validation package. Anything
|
|
18
|
+
* with a `validate(data, options)` fits, which is also what makes this
|
|
19
|
+
* testable without one.
|
|
20
|
+
*/
|
|
21
|
+
import type { HttpContext } from './HttpContext.ts';
|
|
22
|
+
/** What a validator has to expose to be usable here. */
|
|
23
|
+
export interface RequestAwareValidator<T> {
|
|
24
|
+
validate(data: Record<string, unknown>, options?: RequestValidationOptions): Promise<T>;
|
|
25
|
+
}
|
|
26
|
+
/** Options forwarded to the validator, plus the data override. */
|
|
27
|
+
export interface RequestValidationOptions {
|
|
28
|
+
/** Validate this instead of the request's own data. */
|
|
29
|
+
data?: Record<string, unknown>;
|
|
30
|
+
/** Per-call messages provider — beats the static hook. */
|
|
31
|
+
messagesProvider?: unknown;
|
|
32
|
+
/** Per-call error reporter factory — beats the static hook. */
|
|
33
|
+
errorReporter?: unknown;
|
|
34
|
+
/** Arbitrary metadata a rule can read off the field context. */
|
|
35
|
+
meta?: Record<string, unknown>;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* The slice this class reads. A real {@link HttpContext} satisfies it, and so
|
|
39
|
+
* does a bare `{ request }` pair — which is what a Request built by hand, with
|
|
40
|
+
* no context around it, can still offer.
|
|
41
|
+
*/
|
|
42
|
+
export interface ValidatableContext {
|
|
43
|
+
request: {
|
|
44
|
+
all(): Record<string, unknown>;
|
|
45
|
+
params(): Readonly<Record<string, string | string[]>>;
|
|
46
|
+
headers(): Readonly<Record<string, unknown>>;
|
|
47
|
+
cookiesList(): Record<string, unknown>;
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* What a hook is handed. The full context when there is one — an i18n package
|
|
52
|
+
* reads `ctx.i18n` off it — and the narrow shape otherwise, which is why this
|
|
53
|
+
* is a union rather than just `HttpContext`.
|
|
54
|
+
*/
|
|
55
|
+
export type ValidationHookContext = HttpContext | ValidatableContext;
|
|
56
|
+
export declare class RequestValidator {
|
|
57
|
+
#private;
|
|
58
|
+
constructor(ctx: ValidatableContext);
|
|
59
|
+
/**
|
|
60
|
+
* Picks the error reporter for a request. Assigned once, at boot, by
|
|
61
|
+
* whatever package owns error formatting.
|
|
62
|
+
*/
|
|
63
|
+
static errorReporter?: (ctx: ValidationHookContext) => unknown;
|
|
64
|
+
/**
|
|
65
|
+
* Picks the messages provider for a request. Assigned once, at boot, by
|
|
66
|
+
* whatever package owns translations.
|
|
67
|
+
*/
|
|
68
|
+
static messagesProvider?: (ctx: ValidationHookContext) => unknown;
|
|
69
|
+
/** Validate the request, throwing `E_VALIDATION_ERROR` on failure. */
|
|
70
|
+
validateUsing<T>(validator: RequestAwareValidator<T>, options?: RequestValidationOptions): Promise<T>;
|
|
71
|
+
/**
|
|
72
|
+
* Validate the request, returning `[error, null]` or `[null, data]`.
|
|
73
|
+
*
|
|
74
|
+
* The tuple form exists so a handler can answer a failure itself instead of
|
|
75
|
+
* letting the exception reach the error handler — a wizard step that
|
|
76
|
+
* re-renders the form, say.
|
|
77
|
+
*/
|
|
78
|
+
tryValidateUsing<T>(validator: RequestAwareValidator<T>, options?: RequestValidationOptions): Promise<[unknown, null] | [null, T]>;
|
|
79
|
+
}
|
|
80
|
+
//# sourceMappingURL=RequestValidator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RequestValidator.d.ts","sourceRoot":"","sources":["../../src/http/RequestValidator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAEnD,wDAAwD;AACxD,MAAM,WAAW,qBAAqB,CAAC,CAAC;IACtC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,EAAE,wBAAwB,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;CACxF;AAED,kEAAkE;AAClE,MAAM,WAAW,wBAAwB;IACvC,uDAAuD;IACvD,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC9B,0DAA0D;IAC1D,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,+DAA+D;IAC/D,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,gEAAgE;IAChE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAC/B;AAED;;;;GAIG;AACH,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE;QACP,GAAG,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;QAC9B,MAAM,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,CAAC,CAAA;QACrD,OAAO,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;QAC5C,WAAW,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KACvC,CAAA;CACF;AAED;;;;GAIG;AACH,MAAM,MAAM,qBAAqB,GAAG,WAAW,GAAG,kBAAkB,CAAA;AAEpE,qBAAa,gBAAgB;;gBAGf,GAAG,EAAE,kBAAkB;IAInC;;;OAGG;IACH,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE,qBAAqB,KAAK,OAAO,CAAA;IAE9D;;;OAGG;IACH,MAAM,CAAC,gBAAgB,CAAC,EAAE,CAAC,GAAG,EAAE,qBAAqB,KAAK,OAAO,CAAA;IAsCjE,sEAAsE;IACtE,aAAa,CAAC,CAAC,EACb,SAAS,EAAE,qBAAqB,CAAC,CAAC,CAAC,EACnC,OAAO,CAAC,EAAE,wBAAwB,GACjC,OAAO,CAAC,CAAC,CAAC;IAKb;;;;;;OAMG;IACG,gBAAgB,CAAC,CAAC,EACtB,SAAS,EAAE,qBAAqB,CAAC,CAAC,CAAC,EACnC,OAAO,CAAC,EAAE,wBAAwB,GACjC,OAAO,CAAC,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;CAOxC"}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Per-request validation.
|
|
3
|
+
*
|
|
4
|
+
* A validator compiled when its module loaded knows nothing about the request
|
|
5
|
+
* about to run through it — yet the two things it most often needs are per
|
|
6
|
+
* request: which language to answer in, and where the errors go. The two
|
|
7
|
+
* static hooks below are that seam. An i18n package installs one at boot:
|
|
8
|
+
*
|
|
9
|
+
* ```ts
|
|
10
|
+
* RequestValidator.messagesProvider = (ctx) => ctx.i18n.createMessagesProvider()
|
|
11
|
+
* ```
|
|
12
|
+
*
|
|
13
|
+
* and every `request.validateUsing(...)` call picks it up, without a single
|
|
14
|
+
* schema mentioning translation. Nothing else in the framework reads them, so
|
|
15
|
+
* a validator called directly keeps whatever provider it was built with.
|
|
16
|
+
*
|
|
17
|
+
* Structural on purpose: ream never imports a validation package. Anything
|
|
18
|
+
* with a `validate(data, options)` fits, which is also what makes this
|
|
19
|
+
* testable without one.
|
|
20
|
+
*/
|
|
21
|
+
var _a;
|
|
22
|
+
export class RequestValidator {
|
|
23
|
+
#ctx;
|
|
24
|
+
constructor(ctx) {
|
|
25
|
+
this.#ctx = ctx;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Picks the error reporter for a request. Assigned once, at boot, by
|
|
29
|
+
* whatever package owns error formatting.
|
|
30
|
+
*/
|
|
31
|
+
static errorReporter;
|
|
32
|
+
/**
|
|
33
|
+
* Picks the messages provider for a request. Assigned once, at boot, by
|
|
34
|
+
* whatever package owns translations.
|
|
35
|
+
*/
|
|
36
|
+
static messagesProvider;
|
|
37
|
+
/**
|
|
38
|
+
* Everything a rule might address, in one object.
|
|
39
|
+
*
|
|
40
|
+
* `params`, `headers` and `cookies` are nested under their own keys rather
|
|
41
|
+
* than merged: a form field named `params` is ordinary, and flattening them
|
|
42
|
+
* would let a request rename its own route parameters.
|
|
43
|
+
*/
|
|
44
|
+
#requestData() {
|
|
45
|
+
const { request } = this.#ctx;
|
|
46
|
+
return {
|
|
47
|
+
...request.all(),
|
|
48
|
+
params: request.params(),
|
|
49
|
+
headers: request.headers(),
|
|
50
|
+
cookies: request.cookiesList(),
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Fill in the request-scoped reporter and provider, without overwriting
|
|
55
|
+
* anything the caller passed — an explicit option is a deliberate choice
|
|
56
|
+
* for this one call and must outrank a process-wide default.
|
|
57
|
+
*/
|
|
58
|
+
#processOptions(options) {
|
|
59
|
+
const resolved = { ...options };
|
|
60
|
+
if (_a.errorReporter && resolved.errorReporter === undefined) {
|
|
61
|
+
const reporter = _a.errorReporter(this.#ctx);
|
|
62
|
+
// The validator expects a FACTORY, so a fresh reporter is built per run
|
|
63
|
+
// rather than one instance accumulating across requests.
|
|
64
|
+
resolved.errorReporter = () => reporter;
|
|
65
|
+
}
|
|
66
|
+
if (_a.messagesProvider && resolved.messagesProvider === undefined) {
|
|
67
|
+
resolved.messagesProvider = _a.messagesProvider(this.#ctx);
|
|
68
|
+
}
|
|
69
|
+
return resolved;
|
|
70
|
+
}
|
|
71
|
+
/** Validate the request, throwing `E_VALIDATION_ERROR` on failure. */
|
|
72
|
+
validateUsing(validator, options) {
|
|
73
|
+
const resolved = this.#processOptions(options);
|
|
74
|
+
return validator.validate(resolved.data ?? this.#requestData(), resolved);
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Validate the request, returning `[error, null]` or `[null, data]`.
|
|
78
|
+
*
|
|
79
|
+
* The tuple form exists so a handler can answer a failure itself instead of
|
|
80
|
+
* letting the exception reach the error handler — a wizard step that
|
|
81
|
+
* re-renders the form, say.
|
|
82
|
+
*/
|
|
83
|
+
async tryValidateUsing(validator, options) {
|
|
84
|
+
try {
|
|
85
|
+
return [null, await this.validateUsing(validator, options)];
|
|
86
|
+
}
|
|
87
|
+
catch (error) {
|
|
88
|
+
return [error, null];
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
_a = RequestValidator;
|
|
93
|
+
//# sourceMappingURL=RequestValidator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RequestValidator.js","sourceRoot":"","sources":["../../src/http/RequestValidator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;;AA0CH,MAAM,OAAO,gBAAgB;IAClB,IAAI,CAAoB;IAEjC,YAAY,GAAuB;QACjC,IAAI,CAAC,IAAI,GAAG,GAAG,CAAA;IACjB,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,aAAa,CAA0C;IAE9D;;;OAGG;IACH,MAAM,CAAC,gBAAgB,CAA0C;IAEjE;;;;;;OAMG;IACH,YAAY;QACV,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,IAAI,CAAA;QAC7B,OAAO;YACL,GAAG,OAAO,CAAC,GAAG,EAAE;YAChB,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE;YACxB,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE;YAC1B,OAAO,EAAE,OAAO,CAAC,WAAW,EAAE;SAC/B,CAAA;IACH,CAAC;IAED;;;;OAIG;IACH,eAAe,CAAC,OAAkC;QAChD,MAAM,QAAQ,GAA6B,EAAE,GAAG,OAAO,EAAE,CAAA;QACzD,IAAI,EAAgB,CAAC,aAAa,IAAI,QAAQ,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;YAC3E,MAAM,QAAQ,GAAG,EAAgB,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YAC1D,wEAAwE;YACxE,yDAAyD;YACzD,QAAQ,CAAC,aAAa,GAAG,GAAG,EAAE,CAAC,QAAQ,CAAA;QACzC,CAAC;QACD,IAAI,EAAgB,CAAC,gBAAgB,IAAI,QAAQ,CAAC,gBAAgB,KAAK,SAAS,EAAE,CAAC;YACjF,QAAQ,CAAC,gBAAgB,GAAG,EAAgB,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAC1E,CAAC;QACD,OAAO,QAAQ,CAAA;IACjB,CAAC;IAED,sEAAsE;IACtE,aAAa,CACX,SAAmC,EACnC,OAAkC;QAElC,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAA;QAC9C,OAAO,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,IAAI,CAAC,YAAY,EAAE,EAAE,QAAQ,CAAC,CAAA;IAC3E,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,gBAAgB,CACpB,SAAmC,EACnC,OAAkC;QAElC,IAAI,CAAC;YACH,OAAO,CAAC,IAAI,EAAE,MAAM,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAA;QAC7D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;QACtB,CAAC;IACH,CAAC;CACF"}
|
package/dist/index.d.ts
CHANGED
|
@@ -24,6 +24,8 @@ export { HttpContext } from './http/HttpContext.js';
|
|
|
24
24
|
export { RedirectBuilder } from './http/RedirectBuilder.js';
|
|
25
25
|
export type { RawRequest } from './http/Request.js';
|
|
26
26
|
export { Request } from './http/Request.js';
|
|
27
|
+
export type { RequestAwareValidator, RequestValidationOptions, ValidatableContext, ValidationHookContext, } from './http/RequestValidator.js';
|
|
28
|
+
export { RequestValidator } from './http/RequestValidator.js';
|
|
27
29
|
export { Response } from './http/Response.js';
|
|
28
30
|
export type { SseStreamOptions } from './http/SseStream.js';
|
|
29
31
|
export { SseStream } from './http/SseStream.js';
|
|
@@ -119,5 +121,5 @@ export { BaseEvent, Emitter, type EmitterResolver, type ListenerClass, } from '.
|
|
|
119
121
|
export { type BufferedEvent, type BufferedEventName, type EventFinder, EventsBuffer, } from './events/EventsBuffer.js';
|
|
120
122
|
export type { ErrorReporter, LockBackend, LockBackendFactory, LockRedisClient, LockRedisResolver, RunTaskOutcome, ScheduleEvent, ScheduleEventSink, ScheduleInvocation, ScheduleMetadata, ScheduleProviderOptions, SchedulerConfig, SchedulerOptions, ScheduleTaskCompletedEvent, ScheduleTaskFailedEvent, ScheduleTaskSkippedEvent, ScheduleTaskStartedEvent, TaskInfo, TaskStats, } from './scheduler/index.js';
|
|
121
123
|
export { defineSchedulerConfig, getScheduleMetadata, locks, MemoryLockBackend, RedisLockBackend, SCHEDULE_METADATA_KEY, Schedule, ScheduleProvider, Scheduler, StatsTracker, } from './scheduler/index.js';
|
|
122
|
-
export declare const VERSION = "0.2.
|
|
124
|
+
export declare const VERSION = "0.2.18";
|
|
123
125
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -20,6 +20,7 @@ export { createError, E_FORBIDDEN, E_HTTP_EXCEPTION, E_HTTP_REQUEST_ABORTED, E_R
|
|
|
20
20
|
export { HttpContext } from './http/HttpContext.js';
|
|
21
21
|
export { RedirectBuilder } from './http/RedirectBuilder.js';
|
|
22
22
|
export { Request } from './http/Request.js';
|
|
23
|
+
export { RequestValidator } from './http/RequestValidator.js';
|
|
23
24
|
export { Response } from './http/Response.js';
|
|
24
25
|
export { SseStream } from './http/SseStream.js';
|
|
25
26
|
export { Macroable } from './utils/Macroable.js';
|
|
@@ -91,5 +92,5 @@ export { defineConfig as defineEventsConfig } from './events/config.js';
|
|
|
91
92
|
export { BaseEvent, Emitter, } from './events/Emitter.js';
|
|
92
93
|
export { EventsBuffer, } from './events/EventsBuffer.js';
|
|
93
94
|
export { defineSchedulerConfig, getScheduleMetadata, locks, MemoryLockBackend, RedisLockBackend, SCHEDULE_METADATA_KEY, Schedule, ScheduleProvider, Scheduler, StatsTracker, } from './scheduler/index.js';
|
|
94
|
-
export const VERSION = '0.2.
|
|
95
|
+
export const VERSION = '0.2.18';
|
|
95
96
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,kBAAkB,CAAA;AAKzB,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC9C,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,kBAAkB,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAA;AACxF,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAA;AACpE,OAAO,EAAE,yBAAyB,EAAE,MAAM,0CAA0C,CAAA;AAEpF,OAAO,EAAwB,WAAW,EAAE,MAAM,kBAAkB,CAAA;AACpE,OAAO,EAAE,GAAG,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAA;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AACxC,OAAO,EACL,WAAW,GAMZ,MAAM,iBAAiB,CAAA;AACxB,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAA;AAQrE,+DAA+D;AAE/D,OAAO,EACL,WAAW,EACX,WAAW,EACX,gBAAgB,EAChB,sBAAsB,EACtB,iBAAiB,EACjB,eAAe,EACf,cAAc,EACd,kBAAkB,EAClB,SAAS,EAGT,gBAAgB,EAEhB,yBAAyB,EACzB,gBAAgB,GAEjB,MAAM,qBAAqB,CAAA;AAE5B,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAE3D,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -22,7 +22,7 @@ export interface RuntimeValidationResult {
|
|
|
22
22
|
* Structural contract for a route validator. ream stays decoupled from the
|
|
23
23
|
* validation engine — any object exposing a result-returning check works.
|
|
24
24
|
*
|
|
25
|
-
* Three spellings are accepted because `@c9up/rune`
|
|
25
|
+
* Three spellings are accepted because `@c9up/rune` offers all three: `validate()`
|
|
26
26
|
* is async and throws, `validateResult()` is synchronous and never throws, and
|
|
27
27
|
* `validateResultAsync()` is the async result-based form.
|
|
28
28
|
*
|
|
@@ -40,7 +40,7 @@ export interface RuntimeValidator {
|
|
|
40
40
|
* result object.
|
|
41
41
|
*
|
|
42
42
|
* Order matters: the async result form first (it is the only one that can run
|
|
43
|
-
* `unique` / `exists`), then the synchronous one, then
|
|
43
|
+
* `unique` / `exists`), then the synchronous one, then the throwing
|
|
44
44
|
* `validate()` — awaited, and with its `E_VALIDATION_ERROR` translated back
|
|
45
45
|
* into a result so callers keep a single shape to handle.
|
|
46
46
|
*/
|
|
@@ -24,7 +24,7 @@ function isValidationResult(value) {
|
|
|
24
24
|
* result object.
|
|
25
25
|
*
|
|
26
26
|
* Order matters: the async result form first (it is the only one that can run
|
|
27
|
-
* `unique` / `exists`), then the synchronous one, then
|
|
27
|
+
* `unique` / `exists`), then the synchronous one, then the throwing
|
|
28
28
|
* `validate()` — awaited, and with its `E_VALIDATION_ERROR` translated back
|
|
29
29
|
* into a result so callers keep a single shape to handle.
|
|
30
30
|
*/
|
|
@@ -38,7 +38,7 @@ export async function runValidator(validator, data) {
|
|
|
38
38
|
if (typeof validator.validate === 'function') {
|
|
39
39
|
try {
|
|
40
40
|
const outcome = await validator.validate(data);
|
|
41
|
-
// A result-returning `validate()` (not the
|
|
41
|
+
// A result-returning `validate()` (not the throwing contract) is honoured
|
|
42
42
|
// as-is; the throwing contract resolves to the validated payload.
|
|
43
43
|
return isValidationResult(outcome) ? outcome : { valid: true, errors: [], data: outcome };
|
|
44
44
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Pipeline.js","sourceRoot":"","sources":["../../src/middleware/Pipeline.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAClD,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AAsCtF,SAAS,yBAAyB,CAAC,KAAc;IAC/C,OAAO,CACL,KAAK,YAAY,KAAK,IAAI,UAAU,IAAI,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,CAC/F,CAAA;AACH,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAc;IACxC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,IAAI,KAAK,CAAA;AACxE,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,SAA2B,EAC3B,IAAa;IAEb,IAAI,OAAO,SAAS,CAAC,mBAAmB,KAAK,UAAU,EAAE,CAAC;QACxD,OAAO,SAAS,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAA;IAC5C,CAAC;IAED,IAAI,OAAO,SAAS,CAAC,cAAc,KAAK,UAAU,EAAE,CAAC;QACnD,OAAO,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAA;IACvC,CAAC;IAED,IAAI,OAAO,SAAS,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC;QAC7C,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;YAC9C,
|
|
1
|
+
{"version":3,"file":"Pipeline.js","sourceRoot":"","sources":["../../src/middleware/Pipeline.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,6 +16,22 @@ export declare class MigrationRegistry {
|
|
|
16
16
|
* and the run would still report success.
|
|
17
17
|
*/
|
|
18
18
|
register(source: RegisteredMigrationSource): this;
|
|
19
|
+
/**
|
|
20
|
+
* Remove a store's runner — only while it is still the one that registered.
|
|
21
|
+
*
|
|
22
|
+
* `register` refuses a duplicate name, deliberately: two providers claiming
|
|
23
|
+
* one name means one of them migrates nothing while the run reports success.
|
|
24
|
+
* But nothing ever removed a source, so a provider that shut down left its
|
|
25
|
+
* name taken and its runner holding a connection it had already closed. A
|
|
26
|
+
* second boot in the same process — a hot reload, a test that restarts the
|
|
27
|
+
* app — then failed on "already registered", and the CLI would have driven a
|
|
28
|
+
* runner pointing at a dead pool.
|
|
29
|
+
*
|
|
30
|
+
* `source` is the ownership guard. Two applications can share a process, and
|
|
31
|
+
* the one shutting down must not unregister the survivor's runner that
|
|
32
|
+
* happens to carry the same name.
|
|
33
|
+
*/
|
|
34
|
+
unregister(name: string, source?: RegisteredMigrationSource): boolean;
|
|
19
35
|
/** Every registered store, in registration order. */
|
|
20
36
|
all(): RegisteredMigrationSource[];
|
|
21
37
|
/** One store by name, or `undefined`. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MigrationRegistry.d.ts","sourceRoot":"","sources":["../../src/migrations/MigrationRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAA;AAE3D;;;;;;;;GAQG;AACH,qBAAa,iBAAiB;;IAG5B;;;;OAIG;IACH,QAAQ,CAAC,MAAM,EAAE,yBAAyB,GAAG,IAAI;IAUjD,qDAAqD;IACrD,GAAG,IAAI,yBAAyB,EAAE;IAIlC,yCAAyC;IACzC,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,yBAAyB,GAAG,SAAS;IAIxD,+EAA+E;IAC/E,KAAK,IAAI,MAAM,EAAE;IAIjB,mCAAmC;IACnC,IAAI,OAAO,IAAI,OAAO,CAErB;CACF"}
|
|
1
|
+
{"version":3,"file":"MigrationRegistry.d.ts","sourceRoot":"","sources":["../../src/migrations/MigrationRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAA;AAE3D;;;;;;;;GAQG;AACH,qBAAa,iBAAiB;;IAG5B;;;;OAIG;IACH,QAAQ,CAAC,MAAM,EAAE,yBAAyB,GAAG,IAAI;IAUjD;;;;;;;;;;;;;;OAcG;IACH,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,yBAAyB,GAAG,OAAO;IAQrE,qDAAqD;IACrD,GAAG,IAAI,yBAAyB,EAAE;IAIlC,yCAAyC;IACzC,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,yBAAyB,GAAG,SAAS;IAIxD,+EAA+E;IAC/E,KAAK,IAAI,MAAM,EAAE;IAIjB,mCAAmC;IACnC,IAAI,OAAO,IAAI,OAAO,CAErB;CACF"}
|
|
@@ -21,6 +21,30 @@ export class MigrationRegistry {
|
|
|
21
21
|
this.#sources.set(source.name, source);
|
|
22
22
|
return this;
|
|
23
23
|
}
|
|
24
|
+
/**
|
|
25
|
+
* Remove a store's runner — only while it is still the one that registered.
|
|
26
|
+
*
|
|
27
|
+
* `register` refuses a duplicate name, deliberately: two providers claiming
|
|
28
|
+
* one name means one of them migrates nothing while the run reports success.
|
|
29
|
+
* But nothing ever removed a source, so a provider that shut down left its
|
|
30
|
+
* name taken and its runner holding a connection it had already closed. A
|
|
31
|
+
* second boot in the same process — a hot reload, a test that restarts the
|
|
32
|
+
* app — then failed on "already registered", and the CLI would have driven a
|
|
33
|
+
* runner pointing at a dead pool.
|
|
34
|
+
*
|
|
35
|
+
* `source` is the ownership guard. Two applications can share a process, and
|
|
36
|
+
* the one shutting down must not unregister the survivor's runner that
|
|
37
|
+
* happens to carry the same name.
|
|
38
|
+
*/
|
|
39
|
+
unregister(name, source) {
|
|
40
|
+
const current = this.#sources.get(name);
|
|
41
|
+
if (current === undefined)
|
|
42
|
+
return false;
|
|
43
|
+
if (source !== undefined && current !== source)
|
|
44
|
+
return false;
|
|
45
|
+
this.#sources.delete(name);
|
|
46
|
+
return true;
|
|
47
|
+
}
|
|
24
48
|
/** Every registered store, in registration order. */
|
|
25
49
|
all() {
|
|
26
50
|
return [...this.#sources.values()];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MigrationRegistry.js","sourceRoot":"","sources":["../../src/migrations/MigrationRegistry.ts"],"names":[],"mappings":"AAEA;;;;;;;;GAQG;AACH,MAAM,OAAO,iBAAiB;IACnB,QAAQ,GAAG,IAAI,GAAG,EAAqC,CAAA;IAEhE;;;;OAIG;IACH,QAAQ,CAAC,MAAiC;QACxC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CACb,6BAA6B,MAAM,CAAC,IAAI,wIAAwI,CACjL,CAAA;QACH,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;QACtC,OAAO,IAAI,CAAA;IACb,CAAC;IAED,qDAAqD;IACrD,GAAG;QACD,OAAO,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAA;IACpC,CAAC;IAED,yCAAyC;IACzC,GAAG,CAAC,IAAY;QACd,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;IAChC,CAAC;IAED,+EAA+E;IAC/E,KAAK;QACH,OAAO,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAA;IAClC,CAAC;IAED,mCAAmC;IACnC,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,CAAA;IACjC,CAAC;CACF"}
|
|
1
|
+
{"version":3,"file":"MigrationRegistry.js","sourceRoot":"","sources":["../../src/migrations/MigrationRegistry.ts"],"names":[],"mappings":"AAEA;;;;;;;;GAQG;AACH,MAAM,OAAO,iBAAiB;IACnB,QAAQ,GAAG,IAAI,GAAG,EAAqC,CAAA;IAEhE;;;;OAIG;IACH,QAAQ,CAAC,MAAiC;QACxC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CACb,6BAA6B,MAAM,CAAC,IAAI,wIAAwI,CACjL,CAAA;QACH,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;QACtC,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,UAAU,CAAC,IAAY,EAAE,MAAkC;QACzD,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QACvC,IAAI,OAAO,KAAK,SAAS;YAAE,OAAO,KAAK,CAAA;QACvC,IAAI,MAAM,KAAK,SAAS,IAAI,OAAO,KAAK,MAAM;YAAE,OAAO,KAAK,CAAA;QAC5D,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QAC1B,OAAO,IAAI,CAAA;IACb,CAAC;IAED,qDAAqD;IACrD,GAAG;QACD,OAAO,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAA;IACpC,CAAC;IAED,yCAAyC;IACzC,GAAG,CAAC,IAAY;QACd,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;IAChC,CAAC;IAED,+EAA+E;IAC/E,KAAK;QACH,OAAO,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAA;IAClC,CAAC;IAED,mCAAmC;IACnC,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,CAAA;IACjC,CAAC;CACF"}
|
|
@@ -51,6 +51,22 @@ export declare class OpenApiGenerator {
|
|
|
51
51
|
constructor(router: Router, config: OpenApiConfig, runeSchemas?: Map<string, Record<string, unknown>>);
|
|
52
52
|
/** Register a Rune validation schema for OpenAPI spec generation. */
|
|
53
53
|
registerSchema(name: string, definition: Record<string, unknown>): void;
|
|
54
|
+
/**
|
|
55
|
+
* Fill the schema map from the validators the routes already name.
|
|
56
|
+
*
|
|
57
|
+
* `route.validate('createUser')` records a container token, and the
|
|
58
|
+
* validator behind it can describe itself. Without this step every one of
|
|
59
|
+
* those routes documented its body as a bare `{ type: 'object' }` unless the
|
|
60
|
+
* app ALSO called `registerSchema` by hand with a definition it had to keep
|
|
61
|
+
* in step with the schema — two descriptions of one payload, and nothing
|
|
62
|
+
* checking they agreed.
|
|
63
|
+
*
|
|
64
|
+
* Resolution happens once, here, because `generate()` is synchronous and the
|
|
65
|
+
* container is not. A validator that cannot be resolved, or that cannot
|
|
66
|
+
* describe itself, is skipped: a missing section of documentation is a
|
|
67
|
+
* smaller problem than a boot that fails over one.
|
|
68
|
+
*/
|
|
69
|
+
hydrateSchemas(resolve: (token: string) => Promise<unknown>): Promise<void>;
|
|
54
70
|
/** Generate the complete OpenAPI 3.1 spec. */
|
|
55
71
|
generate(): OpenApiSpec;
|
|
56
72
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OpenApiGenerator.d.ts","sourceRoot":"","sources":["../../src/openapi/OpenApiGenerator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAmB,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAElE,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,OAAO,CAAC,EAAE,KAAK,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IACtD,OAAO,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IACzD,OAAO,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;CACzC;AAMD,KAAK,WAAW,GAAG;IACjB,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE;QACJ,KAAK,EAAE,MAAM,CAAA;QACb,OAAO,EAAE,MAAM,CAAA;QACf,WAAW,CAAC,EAAE,MAAM,CAAA;QACpB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;QAChC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KACjC,CAAA;IACD,OAAO,CAAC,EAAE,KAAK,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IACtD,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;IAC9C,UAAU,EAAE;QACV,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;QACxC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KACjC,CAAA;CACF,CAAA;AAaD,qBAAa,gBAAgB;;
|
|
1
|
+
{"version":3,"file":"OpenApiGenerator.d.ts","sourceRoot":"","sources":["../../src/openapi/OpenApiGenerator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAmB,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAElE,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,OAAO,CAAC,EAAE,KAAK,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IACtD,OAAO,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IACzD,OAAO,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;CACzC;AAMD,KAAK,WAAW,GAAG;IACjB,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE;QACJ,KAAK,EAAE,MAAM,CAAA;QACb,OAAO,EAAE,MAAM,CAAA;QACf,WAAW,CAAC,EAAE,MAAM,CAAA;QACpB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;QAChC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KACjC,CAAA;IACD,OAAO,CAAC,EAAE,KAAK,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IACtD,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;IAC9C,UAAU,EAAE;QACV,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;QACxC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KACjC,CAAA;CACF,CAAA;AAaD,qBAAa,gBAAgB;;gBAgBzB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,aAAa,EACrB,WAAW,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAOpD,qEAAqE;IACrE,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAIvE;;;;;;;;;;;;;;OAcG;IACG,cAAc,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IASjF,8CAA8C;IAC9C,QAAQ,IAAI,WAAW;CA+LxB"}
|
|
@@ -22,6 +22,16 @@ export class OpenApiGenerator {
|
|
|
22
22
|
#router;
|
|
23
23
|
#config;
|
|
24
24
|
#runeSchemas;
|
|
25
|
+
/**
|
|
26
|
+
* Schemas a validator produced itself, already in JSON Schema form.
|
|
27
|
+
*
|
|
28
|
+
* Kept apart from {@link #runeSchemas}, which holds rune FIELD MAPS that
|
|
29
|
+
* {@link #runeToJsonSchema} still has to convert. One map for both would
|
|
30
|
+
* mean guessing which kind a value is, and guessing wrong sends a finished
|
|
31
|
+
* schema back through the converter, which reads its `type` and `properties`
|
|
32
|
+
* keys as if they were field names.
|
|
33
|
+
*/
|
|
34
|
+
#jsonSchemas = new Map();
|
|
25
35
|
constructor(router, config, runeSchemas) {
|
|
26
36
|
this.#router = router;
|
|
27
37
|
this.#config = config;
|
|
@@ -31,6 +41,31 @@ export class OpenApiGenerator {
|
|
|
31
41
|
registerSchema(name, definition) {
|
|
32
42
|
this.#runeSchemas.set(name, definition);
|
|
33
43
|
}
|
|
44
|
+
/**
|
|
45
|
+
* Fill the schema map from the validators the routes already name.
|
|
46
|
+
*
|
|
47
|
+
* `route.validate('createUser')` records a container token, and the
|
|
48
|
+
* validator behind it can describe itself. Without this step every one of
|
|
49
|
+
* those routes documented its body as a bare `{ type: 'object' }` unless the
|
|
50
|
+
* app ALSO called `registerSchema` by hand with a definition it had to keep
|
|
51
|
+
* in step with the schema — two descriptions of one payload, and nothing
|
|
52
|
+
* checking they agreed.
|
|
53
|
+
*
|
|
54
|
+
* Resolution happens once, here, because `generate()` is synchronous and the
|
|
55
|
+
* container is not. A validator that cannot be resolved, or that cannot
|
|
56
|
+
* describe itself, is skipped: a missing section of documentation is a
|
|
57
|
+
* smaller problem than a boot that fails over one.
|
|
58
|
+
*/
|
|
59
|
+
async hydrateSchemas(resolve) {
|
|
60
|
+
const names = new Set(this.#getRoutes().flatMap((route) => route.validators));
|
|
61
|
+
for (const name of names) {
|
|
62
|
+
if (this.#runeSchemas.has(name) || this.#jsonSchemas.has(name))
|
|
63
|
+
continue;
|
|
64
|
+
const definition = await describeValidator(resolve, name);
|
|
65
|
+
if (definition !== undefined)
|
|
66
|
+
this.#jsonSchemas.set(name, definition);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
34
69
|
/** Generate the complete OpenAPI 3.1 spec. */
|
|
35
70
|
generate() {
|
|
36
71
|
const spec = {
|
|
@@ -109,13 +144,13 @@ export class OpenApiGenerator {
|
|
|
109
144
|
}
|
|
110
145
|
if (route.validators.length > 0 && ['post', 'put', 'patch'].includes(method)) {
|
|
111
146
|
const [validatorName] = route.validators;
|
|
112
|
-
const
|
|
113
|
-
if (
|
|
147
|
+
const body = validatorName === undefined ? undefined : this.#bodySchema(validatorName);
|
|
148
|
+
if (body && validatorName !== undefined) {
|
|
114
149
|
operation.requestBody = {
|
|
115
150
|
required: true,
|
|
116
|
-
content: { 'application/json': { schema:
|
|
151
|
+
content: { 'application/json': { schema: body } },
|
|
117
152
|
};
|
|
118
|
-
schemas[validatorName] =
|
|
153
|
+
schemas[validatorName] = body;
|
|
119
154
|
}
|
|
120
155
|
else {
|
|
121
156
|
operation.requestBody = {
|
|
@@ -146,6 +181,17 @@ export class OpenApiGenerator {
|
|
|
146
181
|
return route.name;
|
|
147
182
|
return `${route.method} ${route.path}`;
|
|
148
183
|
}
|
|
184
|
+
/**
|
|
185
|
+
* The JSON Schema for a named validator: what it described about itself
|
|
186
|
+
* first, then a hand-registered field map converted here.
|
|
187
|
+
*/
|
|
188
|
+
#bodySchema(name) {
|
|
189
|
+
const described = this.#jsonSchemas.get(name);
|
|
190
|
+
if (described !== undefined)
|
|
191
|
+
return described;
|
|
192
|
+
const fields = this.#runeSchemas.get(name);
|
|
193
|
+
return fields === undefined ? undefined : this.#runeToJsonSchema(fields);
|
|
194
|
+
}
|
|
149
195
|
/** Convert a Rune schema (Record<string, RuleChain>) to JSON Schema. */
|
|
150
196
|
#runeToJsonSchema(schema) {
|
|
151
197
|
const properties = {};
|
|
@@ -191,4 +237,30 @@ export class OpenApiGenerator {
|
|
|
191
237
|
return this.#router.getRoutes();
|
|
192
238
|
}
|
|
193
239
|
}
|
|
240
|
+
function describesItself(value) {
|
|
241
|
+
return (typeof value === 'object' &&
|
|
242
|
+
value !== null &&
|
|
243
|
+
'toJSONSchema' in value &&
|
|
244
|
+
typeof value.toJSONSchema === 'function');
|
|
245
|
+
}
|
|
246
|
+
/** Resolve one validator and ask it for its schema, or answer undefined. */
|
|
247
|
+
async function describeValidator(resolve, name) {
|
|
248
|
+
let validator;
|
|
249
|
+
try {
|
|
250
|
+
validator = await resolve(`validator:${name}`);
|
|
251
|
+
}
|
|
252
|
+
catch {
|
|
253
|
+
// An unregistered validator is already a hard error at request time; the
|
|
254
|
+
// documentation is not the place to raise it a second time.
|
|
255
|
+
return undefined;
|
|
256
|
+
}
|
|
257
|
+
if (!describesItself(validator))
|
|
258
|
+
return undefined;
|
|
259
|
+
try {
|
|
260
|
+
return validator.toJSONSchema();
|
|
261
|
+
}
|
|
262
|
+
catch {
|
|
263
|
+
return undefined;
|
|
264
|
+
}
|
|
265
|
+
}
|
|
194
266
|
//# sourceMappingURL=OpenApiGenerator.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OpenApiGenerator.js","sourceRoot":"","sources":["../../src/openapi/OpenApiGenerator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAkCH,8DAA8D;AAC9D,SAAS,mBAAmB,CAAC,KAAa;IACxC,IAAI,KAAK,KAAK,KAAK,EAAE,CAAC;QACpB,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,KAAK,EAAE,CAAA;IAChE,CAAC;IACD,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9C,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,CAAA;IAC5D,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAA;AAC3C,CAAC;AAED,MAAM,OAAO,gBAAgB;IAC3B,OAAO,CAAQ;IACf,OAAO,CAAe;IACtB,YAAY,CAAsC;
|
|
1
|
+
{"version":3,"file":"OpenApiGenerator.js","sourceRoot":"","sources":["../../src/openapi/OpenApiGenerator.ts"],"names":[],"mappings":"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"}
|