@cudenix/cudenix 0.0.58 → 0.0.59
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/core/app.d.ts +16 -16
- package/dist/core/app.d.ts.map +1 -1
- package/dist/core/app.js +58 -185
- package/dist/core/app.js.map +1 -1
- package/dist/core/compile.d.ts +6 -1
- package/dist/core/compile.d.ts.map +1 -1
- package/dist/core/compile.js +121 -116
- package/dist/core/compile.js.map +1 -1
- package/dist/core/context.d.ts +3 -2
- package/dist/core/context.d.ts.map +1 -1
- package/dist/core/context.js +142 -76
- package/dist/core/context.js.map +1 -1
- package/dist/core/error.d.ts +2 -2
- package/dist/core/error.d.ts.map +1 -1
- package/dist/core/error.js +4 -3
- package/dist/core/error.js.map +1 -1
- package/dist/core/global.d.ts +5 -1
- package/dist/core/global.d.ts.map +1 -1
- package/dist/core/group.d.ts +1 -1
- package/dist/core/group.d.ts.map +1 -1
- package/dist/core/group.js +4 -4
- package/dist/core/group.js.map +1 -1
- package/dist/core/middleware.d.ts +1 -1
- package/dist/core/middleware.d.ts.map +1 -1
- package/dist/core/module.d.ts +7 -11
- package/dist/core/module.d.ts.map +1 -1
- package/dist/core/module.js +8 -8
- package/dist/core/module.js.map +1 -1
- package/dist/core/response.d.ts +1 -1
- package/dist/core/response.d.ts.map +1 -1
- package/dist/core/response.js +35 -21
- package/dist/core/response.js.map +1 -1
- package/dist/core/route.d.ts +12 -16
- package/dist/core/route.d.ts.map +1 -1
- package/dist/core/route.js +6 -7
- package/dist/core/route.js.map +1 -1
- package/dist/core/step.d.ts +4 -0
- package/dist/core/step.d.ts.map +1 -0
- package/dist/core/step.js +199 -0
- package/dist/core/step.js.map +1 -0
- package/dist/core/success.d.ts.map +1 -1
- package/dist/core/success.js +4 -3
- package/dist/core/success.js.map +1 -1
- package/dist/core/validator.d.ts +7 -11
- package/dist/core/validator.d.ts.map +1 -1
- package/dist/core/validator.js.map +1 -1
- package/dist/ecosystem/client/client.d.ts +6 -5
- package/dist/ecosystem/client/client.d.ts.map +1 -1
- package/dist/ecosystem/client/client.js +59 -46
- package/dist/ecosystem/client/client.js.map +1 -1
- package/dist/ecosystem/client/index.d.ts +4 -0
- package/dist/ecosystem/client/index.d.ts.map +1 -0
- package/dist/ecosystem/client/index.js +4 -0
- package/dist/ecosystem/client/index.js.map +1 -0
- package/dist/ecosystem/client/sse.d.ts.map +1 -1
- package/dist/ecosystem/client/sse.js +15 -28
- package/dist/ecosystem/client/sse.js.map +1 -1
- package/dist/ecosystem/client/ws.d.ts.map +1 -1
- package/dist/ecosystem/client/ws.js +12 -12
- package/dist/ecosystem/client/ws.js.map +1 -1
- package/dist/ecosystem/plugins/cluster/cluster.d.ts.map +1 -1
- package/dist/ecosystem/plugins/cluster/cluster.js +4 -2
- package/dist/ecosystem/plugins/cluster/cluster.js.map +1 -1
- package/dist/ecosystem/plugins/cluster/index.d.ts +2 -0
- package/dist/ecosystem/plugins/cluster/index.d.ts.map +1 -0
- package/dist/ecosystem/plugins/cluster/index.js +2 -0
- package/dist/ecosystem/plugins/cluster/index.js.map +1 -0
- package/dist/ecosystem/plugins/compress/compress.d.ts +8 -0
- package/dist/ecosystem/plugins/compress/compress.d.ts.map +1 -0
- package/dist/ecosystem/plugins/compress/compress.js +56 -0
- package/dist/ecosystem/plugins/compress/compress.js.map +1 -0
- package/dist/ecosystem/plugins/compress/index.d.ts +2 -0
- package/dist/ecosystem/plugins/compress/index.d.ts.map +1 -0
- package/dist/ecosystem/plugins/compress/index.js +2 -0
- package/dist/ecosystem/plugins/compress/index.js.map +1 -0
- package/dist/ecosystem/plugins/cors/cors.d.ts +11 -0
- package/dist/ecosystem/{modules → plugins}/cors/cors.d.ts.map +1 -1
- package/dist/ecosystem/plugins/cors/cors.js +69 -0
- package/dist/ecosystem/plugins/cors/cors.js.map +1 -0
- package/dist/ecosystem/plugins/cors/index.d.ts +2 -0
- package/dist/ecosystem/plugins/cors/index.d.ts.map +1 -0
- package/dist/ecosystem/plugins/cors/index.js +2 -0
- package/dist/ecosystem/plugins/cors/index.js.map +1 -0
- package/dist/ecosystem/plugins/events/events.d.ts.map +1 -1
- package/dist/ecosystem/plugins/events/events.js +0 -2
- package/dist/ecosystem/plugins/events/events.js.map +1 -1
- package/dist/ecosystem/plugins/events/index.d.ts +3 -0
- package/dist/ecosystem/plugins/events/index.d.ts.map +1 -0
- package/dist/ecosystem/plugins/events/index.js +2 -0
- package/dist/ecosystem/plugins/events/index.js.map +1 -0
- package/dist/ecosystem/{modules → plugins}/global-request-context/global-request-context.d.ts.map +1 -1
- package/dist/ecosystem/{modules → plugins}/global-request-context/global-request-context.js.map +1 -1
- package/dist/ecosystem/plugins/global-request-context/index.d.ts +2 -0
- package/dist/ecosystem/plugins/global-request-context/index.d.ts.map +1 -0
- package/dist/ecosystem/plugins/global-request-context/index.js +2 -0
- package/dist/ecosystem/plugins/global-request-context/index.js.map +1 -0
- package/dist/ecosystem/plugins/i18n/i18n.d.ts +6 -5
- package/dist/ecosystem/plugins/i18n/i18n.d.ts.map +1 -1
- package/dist/ecosystem/plugins/i18n/i18n.js +86 -52
- package/dist/ecosystem/plugins/i18n/i18n.js.map +1 -1
- package/dist/ecosystem/plugins/i18n/index.d.ts +3 -0
- package/dist/ecosystem/plugins/i18n/index.d.ts.map +1 -0
- package/dist/ecosystem/plugins/i18n/index.js +2 -0
- package/dist/ecosystem/plugins/i18n/index.js.map +1 -0
- package/dist/ecosystem/plugins/openapi/index.d.ts +3 -0
- package/dist/ecosystem/plugins/openapi/index.d.ts.map +1 -0
- package/dist/ecosystem/plugins/openapi/index.js +3 -0
- package/dist/ecosystem/plugins/openapi/index.js.map +1 -0
- package/dist/ecosystem/plugins/openapi/openapi.d.ts +4 -3
- package/dist/ecosystem/plugins/openapi/openapi.d.ts.map +1 -1
- package/dist/ecosystem/plugins/openapi/openapi.js +48 -43
- package/dist/ecosystem/plugins/openapi/openapi.js.map +1 -1
- package/dist/ecosystem/plugins/openapi/scalar.js +3 -3
- package/dist/ecosystem/plugins/openapi/scalar.js.map +1 -1
- package/dist/ecosystem/plugins/try-catch/index.d.ts +2 -0
- package/dist/ecosystem/plugins/try-catch/index.d.ts.map +1 -0
- package/dist/ecosystem/plugins/try-catch/index.js +2 -0
- package/dist/ecosystem/plugins/try-catch/index.js.map +1 -0
- package/dist/ecosystem/plugins/try-catch/try-catch.d.ts +8 -0
- package/dist/ecosystem/plugins/try-catch/try-catch.d.ts.map +1 -0
- package/dist/ecosystem/{modules/trycatch/trycatch.js → plugins/try-catch/try-catch.js} +6 -2
- package/dist/ecosystem/plugins/try-catch/try-catch.js.map +1 -0
- package/dist/types/all-properties-are-unknown.d.ts +1 -1
- package/dist/types/all-properties-are-unknown.d.ts.map +1 -1
- package/dist/types/conditionally-omit.d.ts +2 -5
- package/dist/types/conditionally-omit.d.ts.map +1 -1
- package/dist/types/conditionally-optional.d.ts +4 -4
- package/dist/types/conditionally-optional.d.ts.map +1 -1
- package/dist/types/extract-url-params.d.ts +5 -6
- package/dist/types/extract-url-params.d.ts.map +1 -1
- package/dist/types/standard-schema.d.ts +4 -4
- package/dist/types/standard-schema.d.ts.map +1 -1
- package/dist/utils/functions/is-generator.d.ts +2 -0
- package/dist/utils/functions/is-generator.d.ts.map +1 -0
- package/dist/utils/functions/is-generator.js +6 -0
- package/dist/utils/functions/is-generator.js.map +1 -0
- package/dist/utils/headers/quality.d.ts +2 -0
- package/dist/utils/headers/quality.d.ts.map +1 -0
- package/dist/utils/headers/quality.js +19 -0
- package/dist/utils/headers/quality.js.map +1 -0
- package/dist/utils/headers/select.d.ts +2 -0
- package/dist/utils/headers/select.d.ts.map +1 -0
- package/dist/utils/headers/select.js +54 -0
- package/dist/utils/headers/select.js.map +1 -0
- package/dist/utils/json/try-parse.d.ts +2 -0
- package/dist/utils/json/try-parse.d.ts.map +1 -0
- package/dist/utils/json/try-parse.js +9 -0
- package/dist/utils/json/try-parse.js.map +1 -0
- package/dist/utils/objects/empty.d.ts +1 -0
- package/dist/utils/objects/empty.d.ts.map +1 -1
- package/dist/utils/objects/empty.js +2 -1
- package/dist/utils/objects/empty.js.map +1 -1
- package/dist/utils/objects/merge.js +1 -1
- package/dist/utils/objects/merge.js.map +1 -1
- package/dist/utils/regexps/path-to-regexp.d.ts +6 -0
- package/dist/utils/regexps/path-to-regexp.d.ts.map +1 -0
- package/dist/utils/regexps/path-to-regexp.js +40 -0
- package/dist/utils/regexps/path-to-regexp.js.map +1 -0
- package/dist/utils/standard-schema/validate.d.ts +4 -1
- package/dist/utils/standard-schema/validate.d.ts.map +1 -1
- package/dist/utils/standard-schema/validate.js +12 -4
- package/dist/utils/standard-schema/validate.js.map +1 -1
- package/package.json +24 -23
- package/dist/ecosystem/modules/compress/compress.d.ts +0 -8
- package/dist/ecosystem/modules/compress/compress.d.ts.map +0 -1
- package/dist/ecosystem/modules/compress/compress.js +0 -116
- package/dist/ecosystem/modules/compress/compress.js.map +0 -1
- package/dist/ecosystem/modules/cors/cors.d.ts +0 -27
- package/dist/ecosystem/modules/cors/cors.js +0 -67
- package/dist/ecosystem/modules/cors/cors.js.map +0 -1
- package/dist/ecosystem/modules/trycatch/trycatch.d.ts +0 -5
- package/dist/ecosystem/modules/trycatch/trycatch.d.ts.map +0 -1
- package/dist/ecosystem/modules/trycatch/trycatch.js.map +0 -1
- /package/dist/ecosystem/{modules → plugins}/global-request-context/global-request-context.d.ts +0 -0
- /package/dist/ecosystem/{modules → plugins}/global-request-context/global-request-context.js +0 -0
package/dist/core/response.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"response.d.ts","sourceRoot":"","sources":["../../src/core/response.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEtD,eAAO,MAAM,eAAe,
|
|
1
|
+
{"version":3,"file":"response.d.ts","sourceRoot":"","sources":["../../src/core/response.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEtD,eAAO,MAAM,eAAe,GAAI,UAAU,eAAe,aAiExD,CAAC"}
|
package/dist/core/response.js
CHANGED
|
@@ -1,37 +1,51 @@
|
|
|
1
|
-
export const processResponse =
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
1
|
+
export const processResponse = (response) => {
|
|
2
|
+
if (response.cookies) {
|
|
3
|
+
const setCookieHeaders = response.cookies.toSetCookieHeaders();
|
|
4
|
+
for (let i = 0; i < setCookieHeaders.length; i++) {
|
|
5
|
+
const setCookieHeader = setCookieHeaders[i];
|
|
6
|
+
if (!setCookieHeader) {
|
|
7
|
+
continue;
|
|
8
|
+
}
|
|
9
|
+
response.headers.append("set-cookie", setCookieHeader);
|
|
7
10
|
}
|
|
8
|
-
response.headers.append("Set-Cookie", setCookieHeader);
|
|
9
11
|
}
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
response.headers.set("
|
|
13
|
-
|
|
14
|
-
|
|
12
|
+
const content = response.content;
|
|
13
|
+
if (content instanceof ReadableStream) {
|
|
14
|
+
response.headers.set("cache-control", "no-cache");
|
|
15
|
+
response.headers.set("connection", "keep-alive");
|
|
16
|
+
if (!response.headers.has("content-type")) {
|
|
17
|
+
response.headers.set("content-type", "text/event-stream");
|
|
15
18
|
}
|
|
16
|
-
return new Response(
|
|
19
|
+
return new Response(content, {
|
|
17
20
|
headers: response.headers,
|
|
18
21
|
});
|
|
19
22
|
}
|
|
20
|
-
if (
|
|
21
|
-
return
|
|
23
|
+
if (!content) {
|
|
24
|
+
return new Response(undefined, {
|
|
25
|
+
headers: response.headers,
|
|
26
|
+
status: 204,
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
if (content.content instanceof Response) {
|
|
30
|
+
const original = content.content;
|
|
31
|
+
for (const [key, value] of response.headers) {
|
|
32
|
+
original.headers.append(key, value);
|
|
33
|
+
}
|
|
34
|
+
return original;
|
|
22
35
|
}
|
|
23
|
-
if (
|
|
36
|
+
if (content.transform) {
|
|
24
37
|
return Response.json({
|
|
25
|
-
|
|
26
|
-
|
|
38
|
+
content: content.content,
|
|
39
|
+
status: content.status,
|
|
40
|
+
success: content.success,
|
|
27
41
|
}, {
|
|
28
42
|
headers: response.headers,
|
|
29
|
-
status:
|
|
43
|
+
status: content.status,
|
|
30
44
|
});
|
|
31
45
|
}
|
|
32
|
-
return new Response(
|
|
46
|
+
return new Response(content.content, {
|
|
33
47
|
headers: response.headers,
|
|
34
|
-
status:
|
|
48
|
+
status: content.status,
|
|
35
49
|
});
|
|
36
50
|
};
|
|
37
51
|
//# sourceMappingURL=response.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"response.js","sourceRoot":"","sources":["../../src/core/response.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,eAAe,GAAG,
|
|
1
|
+
{"version":3,"file":"response.js","sourceRoot":"","sources":["../../src/core/response.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,QAAyB,EAAE,EAAE;IAC5D,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;QACtB,MAAM,gBAAgB,GAAG,QAAQ,CAAC,OAAO,CAAC,kBAAkB,EAAE,CAAC;QAE/D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,gBAAgB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAClD,MAAM,eAAe,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC;YAE5C,IAAI,CAAC,eAAe,EAAE,CAAC;gBACtB,SAAS;YACV,CAAC;YAED,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,CAAC;QACxD,CAAC;IACF,CAAC;IAED,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;IAEjC,IAAI,OAAO,YAAY,cAAc,EAAE,CAAC;QACvC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC;QAClD,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;QAEjD,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC;YAC3C,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,mBAAmB,CAAC,CAAC;QAC3D,CAAC;QAED,OAAO,IAAI,QAAQ,CAAC,OAAO,EAAE;YAC5B,OAAO,EAAE,QAAQ,CAAC,OAAO;SACzB,CAAC,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,OAAO,EAAE,CAAC;QACd,OAAO,IAAI,QAAQ,CAAC,SAAS,EAAE;YAC9B,OAAO,EAAE,QAAQ,CAAC,OAAO;YACzB,MAAM,EAAE,GAAG;SACX,CAAC,CAAC;IACJ,CAAC;IAED,IAAI,OAAO,CAAC,OAAO,YAAY,QAAQ,EAAE,CAAC;QACzC,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC;QAEjC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;YAC7C,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACrC,CAAC;QAED,OAAO,QAAQ,CAAC;IACjB,CAAC;IAED,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;QACvB,OAAO,QAAQ,CAAC,IAAI,CACnB;YACC,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,OAAO,EAAE,OAAO,CAAC,OAAO;SACxB,EACD;YACC,OAAO,EAAE,QAAQ,CAAC,OAAO;YACzB,MAAM,EAAE,OAAO,CAAC,MAAM;SACtB,CACD,CAAC;IACH,CAAC;IAED,OAAO,IAAI,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE;QACpC,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,MAAM,EAAE,OAAO,CAAC,MAAM;KACtB,CAAC,CAAC;AACJ,CAAC,CAAC"}
|
package/dist/core/route.d.ts
CHANGED
|
@@ -1,13 +1,12 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { WebSocketHandler } from "bun";
|
|
2
2
|
import type { DeveloperContext } from "../core/context.js";
|
|
3
3
|
import type { AnyError } from "../core/error.js";
|
|
4
4
|
import type { AnySuccess } from "../core/success.js";
|
|
5
5
|
import { type AnyValidator, type DeepInferValidatorOutput, type MergeInferValidatorRequest, type ValidatorOptions, type ValidatorRequest } from "../core/validator.js";
|
|
6
|
-
import type { ConditionallyOmit } from "../types/conditionally-omit.js";
|
|
7
|
-
import type { ExtendsType } from "../types/extends-type.js";
|
|
8
6
|
import type { ExtractUrlParams } from "../types/extract-url-params.js";
|
|
9
7
|
import type { GeneratorSSE } from "../types/generator-sse.js";
|
|
10
8
|
import type { HttpMethod } from "../types/http-method.js";
|
|
9
|
+
import type { MaybePromise } from "../types/maybe-promise.js";
|
|
11
10
|
export type PathToObject<Path extends string, Value> = Path extends `${infer First}/${infer Rest}` ? {
|
|
12
11
|
[Key in First]: PathToObject<Rest, Value>;
|
|
13
12
|
} : {
|
|
@@ -23,19 +22,18 @@ export type ParseRoute<Method extends HttpMethod, Path extends `/${string}`, Req
|
|
|
23
22
|
}>;
|
|
24
23
|
export type RouteFnReturnWS<Context> = WebSocketHandler<Context>;
|
|
25
24
|
export type RouteFnReturnGenerator = Generator<GeneratorSSE<AnyError | AnySuccess, string>, AnyError | AnySuccess | void> | AsyncGenerator<GeneratorSSE<AnyError | AnySuccess, string>, AnyError | AnySuccess | void>;
|
|
26
|
-
export type
|
|
27
|
-
params:
|
|
28
|
-
}
|
|
29
|
-
params:
|
|
30
|
-
}
|
|
25
|
+
export type ValidatorsWithParams<Path extends string, Validators extends Record<PropertyKey, unknown>> = ExtractUrlParams<Path> extends infer Params ? [Params] extends [NonNullable<unknown>] ? [NonNullable<unknown>] extends [Params] ? Validators : Validators & {
|
|
26
|
+
params: Params;
|
|
27
|
+
} : Validators & {
|
|
28
|
+
params: Params;
|
|
29
|
+
} : never;
|
|
30
|
+
export type RouteFn<Method extends HttpMethod, Path extends string, Return extends Method extends "WS" ? RouteFnReturnWS<Omit<DeveloperContext<Stores, ValidatorsWithParams<Path, Validators>>, "response">> : MaybePromise<AnyError | AnySuccess> | RouteFnReturnGenerator, Stores extends Record<PropertyKey, unknown>, Validators extends Record<PropertyKey, unknown>> = (context: DeveloperContext<Stores, ValidatorsWithParams<Path, Validators>>) => Return;
|
|
31
31
|
export type AnyRouteFn = RouteFn<any, any, any, any, any>;
|
|
32
|
-
export interface Route<Method extends HttpMethod, Path extends `/${string}`, Return extends Method extends "WS" ? RouteFnReturnWS<Omit<DeveloperContext<Stores,
|
|
33
|
-
params: ExtractUrlParams<Path>;
|
|
34
|
-
}, NonNullable<unknown>>>>, "response">> : MaybePromise<AnyError | AnySuccess> | RouteFnReturnGenerator, Stores extends Record<PropertyKey, unknown>, _ValidatorOptions extends ValidatorOptions<Partial<ValidatorRequest>>, Validators extends Record<PropertyKey, unknown>> {
|
|
32
|
+
export interface Route<Method extends HttpMethod, Path extends `/${string}`, Return extends Method extends "WS" ? RouteFnReturnWS<Omit<DeveloperContext<Stores, ValidatorsWithParams<Path, MergeInferValidatorRequest<Validators, DeepInferValidatorOutput<_ValidatorOptions["request"]>>>>, "response">> : MaybePromise<AnyError | AnySuccess> | RouteFnReturnGenerator, Stores extends Record<PropertyKey, unknown>, _ValidatorOptions extends ValidatorOptions<Partial<ValidatorRequest>>, Validators extends Record<PropertyKey, unknown>> {
|
|
35
33
|
generator: boolean;
|
|
36
|
-
route: RouteFn<Method, Path, Return, Stores, MergeInferValidatorRequest<Validators, DeepInferValidatorOutput<_ValidatorOptions["request"]>>>;
|
|
37
34
|
method: Method;
|
|
38
35
|
path: Path;
|
|
36
|
+
route: RouteFn<Method, Path, Return, Stores, MergeInferValidatorRequest<Validators, DeepInferValidatorOutput<_ValidatorOptions["request"]>>>;
|
|
39
37
|
type: "ROUTE";
|
|
40
38
|
validator?: AnyValidator | undefined;
|
|
41
39
|
}
|
|
@@ -44,10 +42,8 @@ export interface RouteOptions<_ValidatorOptions extends ValidatorOptions<Partial
|
|
|
44
42
|
validator?: _ValidatorOptions;
|
|
45
43
|
}
|
|
46
44
|
export type AnyRouteOptions = RouteOptions<any>;
|
|
47
|
-
type Constructor = new (method: HttpMethod, path: `/${string}`, route: AnyRouteFn, options
|
|
45
|
+
type Constructor = new (method: HttpMethod, path: `/${string}`, route: AnyRouteFn, options?: AnyRouteOptions) => AnyRoute;
|
|
48
46
|
export declare const Route: Constructor;
|
|
49
|
-
export declare const route: <const Method extends HttpMethod, const Path extends `/${string}`, const Return extends Method extends "WS" ? RouteFnReturnWS<Omit<DeveloperContext<Stores,
|
|
50
|
-
params: ExtractUrlParams<Path>;
|
|
51
|
-
}, NonNullable<unknown>>>>, "response">> : MaybePromise<AnyError | AnySuccess> | RouteFnReturnGenerator, const Stores extends Record<PropertyKey, unknown>, const _ValidatorOptions extends ValidatorOptions<Partial<ValidatorRequest>>, const Validators extends Record<PropertyKey, unknown>>(method: Method, path: Path, route: RouteFn<Method, Path, Return, Stores, MergeInferValidatorRequest<Validators, DeepInferValidatorOutput<_ValidatorOptions["request"]>>>, options?: RouteOptions<_ValidatorOptions>) => Route<Method, Path, Return, Stores, _ValidatorOptions, Validators>;
|
|
47
|
+
export declare const route: <const Method extends HttpMethod, const Path extends `/${string}`, const Return extends Method extends "WS" ? RouteFnReturnWS<Omit<DeveloperContext<Stores, ValidatorsWithParams<Path, MergeInferValidatorRequest<Validators, DeepInferValidatorOutput<_ValidatorOptions["request"]>>>>, "response">> : MaybePromise<AnyError | AnySuccess> | RouteFnReturnGenerator, const Stores extends Record<PropertyKey, unknown>, const _ValidatorOptions extends ValidatorOptions<Partial<ValidatorRequest>>, const Validators extends Record<PropertyKey, unknown>>(method: Method, path: Path, route: RouteFn<Method, Path, Return, Stores, MergeInferValidatorRequest<Validators, DeepInferValidatorOutput<_ValidatorOptions["request"]>>>, options?: RouteOptions<_ValidatorOptions>) => Route<Method, Path, Return, Stores, _ValidatorOptions, Validators>;
|
|
52
48
|
export {};
|
|
53
49
|
//# sourceMappingURL=route.d.ts.map
|
package/dist/core/route.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../src/core/route.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../src/core/route.ts"],"names":[],"mappings":"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"}
|
package/dist/core/route.js
CHANGED
|
@@ -1,16 +1,15 @@
|
|
|
1
1
|
import { Validator, } from "../core/validator.js";
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
2
|
+
import { isGenerator } from "../utils/functions/is-generator.js";
|
|
3
|
+
import { FreezeEmpty } from "../utils/objects/empty.js";
|
|
4
|
+
export const Route = function (method, path, route, { validator } = FreezeEmpty) {
|
|
5
|
+
this.generator = isGenerator(route);
|
|
5
6
|
this.method = method;
|
|
6
7
|
this.path = path;
|
|
7
8
|
this.route = route;
|
|
8
9
|
this.type = "ROUTE";
|
|
9
|
-
this.validator =
|
|
10
|
-
? new Validator(options.validator)
|
|
11
|
-
: undefined;
|
|
10
|
+
this.validator = validator ? new Validator(validator) : undefined;
|
|
12
11
|
};
|
|
13
|
-
export const route = (method, path, route, options
|
|
12
|
+
export const route = (method, path, route, options) => {
|
|
14
13
|
return new Route(method, path, route, options);
|
|
15
14
|
};
|
|
16
15
|
//# sourceMappingURL=route.js.map
|
package/dist/core/route.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"route.js","sourceRoot":"","sources":["../../src/core/route.ts"],"names":[],"mappings":"AAKA,OAAO,EAIN,SAAS,GAGT,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"route.js","sourceRoot":"","sources":["../../src/core/route.ts"],"names":[],"mappings":"AAKA,OAAO,EAIN,SAAS,GAGT,MAAM,kBAAkB,CAAC;AAK1B,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AA4IpD,MAAM,CAAC,MAAM,KAAK,GAAG,UAEpB,MAAkB,EAClB,IAAkB,EAClB,KAAiB,EACjB,EAAE,SAAS,KAAsB,WAAW;IAE5C,IAAI,CAAC,SAAS,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;IACpC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACrB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACjB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACnB,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC;IACpB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACnE,CAA2B,CAAC;AAE5B,MAAM,CAAC,MAAM,KAAK,GAAG,CA0BpB,MAAc,EACd,IAAU,EACV,KASC,EACD,OAAyC,EACxC,EAAE;IACH,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,CAO5C,CAAC;AACH,CAAC,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { App, Endpoint } from "../core/app.js";
|
|
2
|
+
import type { Context } from "../core/context.js";
|
|
3
|
+
export declare const stepAndRespond: (app: App, context: Context, endpoint: Endpoint, request: Request) => Response | Promise<Response>;
|
|
4
|
+
//# sourceMappingURL=step.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"step.d.ts","sourceRoot":"","sources":["../../src/core/step.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAS,QAAQ,EAAE,MAAM,YAAY,CAAC;AACvD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAoV9C,eAAO,MAAM,cAAc,GAC1B,KAAK,GAAG,EACR,SAAS,OAAO,EAChB,UAAU,QAAQ,EAClB,SAAS,OAAO,iCAmBhB,CAAC"}
|
|
@@ -0,0 +1,199 @@
|
|
|
1
|
+
import { Error } from "../core/error.js";
|
|
2
|
+
import { processResponse } from "../core/response.js";
|
|
3
|
+
import { Empty } from "../utils/objects/empty.js";
|
|
4
|
+
import { merge } from "../utils/objects/merge.js";
|
|
5
|
+
const applyValidation = (validated, key, context, state) => {
|
|
6
|
+
if (validated.success) {
|
|
7
|
+
context.request[key] =
|
|
8
|
+
validated.content;
|
|
9
|
+
return;
|
|
10
|
+
}
|
|
11
|
+
const content = Array.isArray(validated.content)
|
|
12
|
+
? validated.content
|
|
13
|
+
: [validated.content];
|
|
14
|
+
state.errors ??= [];
|
|
15
|
+
state.index ??= new Empty();
|
|
16
|
+
if (state.index[key] !== undefined) {
|
|
17
|
+
state.errors[state.index[key]]?.details.push(...content);
|
|
18
|
+
return;
|
|
19
|
+
}
|
|
20
|
+
state.index[key] = state.errors.length;
|
|
21
|
+
state.errors.push({
|
|
22
|
+
details: content,
|
|
23
|
+
type: key,
|
|
24
|
+
});
|
|
25
|
+
};
|
|
26
|
+
const processValidators = (context, link, validatorPlugin, startI, state) => {
|
|
27
|
+
for (let i = startI; i < link.keys.length; i++) {
|
|
28
|
+
const key = link.keys[i];
|
|
29
|
+
if (!key) {
|
|
30
|
+
continue;
|
|
31
|
+
}
|
|
32
|
+
const validated = validatorPlugin(link.request[key], context.request[key], key);
|
|
33
|
+
if (validated instanceof Promise) {
|
|
34
|
+
return validated.then((resolved) => {
|
|
35
|
+
applyValidation(resolved, key, context, state);
|
|
36
|
+
return processValidators(context, link, validatorPlugin, i + 1, state);
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
applyValidation(validated, key, context, state);
|
|
40
|
+
}
|
|
41
|
+
if (state.errors) {
|
|
42
|
+
context.response.content = new Error(state.errors, {
|
|
43
|
+
status: 422,
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
const resolveRoute = (app, context, request, endpoint, returned) => {
|
|
48
|
+
if (endpoint.route.method === "WS") {
|
|
49
|
+
app.server?.upgrade(request, {
|
|
50
|
+
data: {
|
|
51
|
+
close: (ws, code, reason) => {
|
|
52
|
+
return returned?.close?.(ws, code, reason);
|
|
53
|
+
},
|
|
54
|
+
drain: (ws) => {
|
|
55
|
+
return returned?.drain?.(ws);
|
|
56
|
+
},
|
|
57
|
+
message: (ws, message) => {
|
|
58
|
+
return returned?.message(ws, message);
|
|
59
|
+
},
|
|
60
|
+
open: (ws) => {
|
|
61
|
+
return returned?.open?.(ws);
|
|
62
|
+
},
|
|
63
|
+
},
|
|
64
|
+
});
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
67
|
+
context.response.content = returned;
|
|
68
|
+
};
|
|
69
|
+
const step = (app, context, endpoint, request, chain, index, validatorPlugin) => {
|
|
70
|
+
for (let i = index; i < chain.length; i++) {
|
|
71
|
+
if (context.response.content) {
|
|
72
|
+
return;
|
|
73
|
+
}
|
|
74
|
+
const link = chain[i];
|
|
75
|
+
if (!link) {
|
|
76
|
+
continue;
|
|
77
|
+
}
|
|
78
|
+
if (link.type === "ROUTE") {
|
|
79
|
+
continue;
|
|
80
|
+
}
|
|
81
|
+
if (link.type === "MIDDLEWARE") {
|
|
82
|
+
const middleware = link.middleware(context, () => {
|
|
83
|
+
return step(app, context, endpoint, request, chain, i + 1, validatorPlugin);
|
|
84
|
+
});
|
|
85
|
+
if (middleware instanceof Promise) {
|
|
86
|
+
return middleware.then((resolved) => {
|
|
87
|
+
if (resolved) {
|
|
88
|
+
context.response.content =
|
|
89
|
+
resolved;
|
|
90
|
+
}
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
if (middleware) {
|
|
94
|
+
context.response.content = middleware;
|
|
95
|
+
}
|
|
96
|
+
return;
|
|
97
|
+
}
|
|
98
|
+
if (link.type === "STORE") {
|
|
99
|
+
const store = link.store(context);
|
|
100
|
+
if (store instanceof Promise) {
|
|
101
|
+
return store.then((resolved) => {
|
|
102
|
+
if (resolved instanceof Error) {
|
|
103
|
+
context.response.content = resolved;
|
|
104
|
+
return;
|
|
105
|
+
}
|
|
106
|
+
merge(context.store, resolved);
|
|
107
|
+
return step(app, context, endpoint, request, chain, i + 1, validatorPlugin);
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
if (store instanceof Error) {
|
|
111
|
+
context.response.content = store;
|
|
112
|
+
}
|
|
113
|
+
else {
|
|
114
|
+
merge(context.store, store);
|
|
115
|
+
}
|
|
116
|
+
continue;
|
|
117
|
+
}
|
|
118
|
+
if (!link.request || !validatorPlugin) {
|
|
119
|
+
continue;
|
|
120
|
+
}
|
|
121
|
+
const validationResult = processValidators(context, link, validatorPlugin, 0, {
|
|
122
|
+
errors: undefined,
|
|
123
|
+
index: undefined,
|
|
124
|
+
});
|
|
125
|
+
if (validationResult instanceof Promise) {
|
|
126
|
+
return validationResult.then(() => {
|
|
127
|
+
if (context.response.content) {
|
|
128
|
+
return;
|
|
129
|
+
}
|
|
130
|
+
return step(app, context, endpoint, request, chain, i + 1, validatorPlugin);
|
|
131
|
+
});
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
if (context.response.content) {
|
|
135
|
+
return;
|
|
136
|
+
}
|
|
137
|
+
if (endpoint.generator) {
|
|
138
|
+
context.response.content = new ReadableStream({
|
|
139
|
+
async start(controller) {
|
|
140
|
+
let closed = false;
|
|
141
|
+
const onAbort = () => {
|
|
142
|
+
closed = true;
|
|
143
|
+
try {
|
|
144
|
+
controller.close();
|
|
145
|
+
}
|
|
146
|
+
catch { }
|
|
147
|
+
};
|
|
148
|
+
request.signal.addEventListener("abort", onAbort, {
|
|
149
|
+
once: true,
|
|
150
|
+
});
|
|
151
|
+
try {
|
|
152
|
+
for await (const chunk of endpoint.route.route(context)) {
|
|
153
|
+
if (closed) {
|
|
154
|
+
break;
|
|
155
|
+
}
|
|
156
|
+
if (chunk.data.transform) {
|
|
157
|
+
if (chunk.id) {
|
|
158
|
+
controller.enqueue(`id: ${chunk.id}\n`);
|
|
159
|
+
}
|
|
160
|
+
if (chunk.event) {
|
|
161
|
+
controller.enqueue(`event: ${chunk.event}\n`);
|
|
162
|
+
}
|
|
163
|
+
if (chunk.retry) {
|
|
164
|
+
controller.enqueue(`retry: ${chunk.retry.toString()}\n`);
|
|
165
|
+
}
|
|
166
|
+
controller.enqueue(`data: ${JSON.stringify(chunk.data)}\n\n`);
|
|
167
|
+
continue;
|
|
168
|
+
}
|
|
169
|
+
controller.enqueue(chunk.data.content);
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
catch {
|
|
173
|
+
}
|
|
174
|
+
finally {
|
|
175
|
+
request.signal.removeEventListener("abort", onAbort);
|
|
176
|
+
onAbort();
|
|
177
|
+
}
|
|
178
|
+
},
|
|
179
|
+
});
|
|
180
|
+
return;
|
|
181
|
+
}
|
|
182
|
+
const returned = endpoint.route.route(context);
|
|
183
|
+
if (returned instanceof Promise) {
|
|
184
|
+
return returned.then((resolved) => {
|
|
185
|
+
resolveRoute(app, context, request, endpoint, resolved);
|
|
186
|
+
});
|
|
187
|
+
}
|
|
188
|
+
resolveRoute(app, context, request, endpoint, returned);
|
|
189
|
+
};
|
|
190
|
+
export const stepAndRespond = (app, context, endpoint, request) => {
|
|
191
|
+
const stepResult = step(app, context, endpoint, request, endpoint.chain, 0, app.memory.get("validator"));
|
|
192
|
+
if (stepResult instanceof Promise) {
|
|
193
|
+
return stepResult.then(() => {
|
|
194
|
+
return processResponse(context.response);
|
|
195
|
+
});
|
|
196
|
+
}
|
|
197
|
+
return processResponse(context.response);
|
|
198
|
+
};
|
|
199
|
+
//# sourceMappingURL=step.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"step.js","sourceRoot":"","sources":["../../src/core/step.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"success.d.ts","sourceRoot":"","sources":["../../src/core/success.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"success.d.ts","sourceRoot":"","sources":["../../src/core/success.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAG9D,MAAM,MAAM,aAAa,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;AAE5D,MAAM,MAAM,gBAAgB,CAAC,OAAO,SAAS,UAAU,IAAI;KACzD,GAAG,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,OAAO;CACnC,CAAC;AAEF,MAAM,MAAM,cAAc,CAAC,SAAS,EAAE,OAAO,IAAI;KAC/C,GAAG,IAAI,MAAM,SAAS,GAAG,MAAM,OAAO,GAAG,GAAG,SAAS,MAAM,SAAS,GAClE,GAAG,SAAS,MAAM,OAAO,GACxB;SACC,IAAI,IACF,MAAM,SAAS,CAAC,GAAG,CAAC,GACpB,MAAM,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,SAAS,MAAM,SAAS,CAAC,GAAG,CAAC,GACtD,IAAI,SAAS,MAAM,OAAO,CAAC,GAAG,CAAC,GAC9B,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GACzC,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GACrB,IAAI,SAAS,MAAM,OAAO,CAAC,GAAG,CAAC,GAC9B,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAClB,KAAK;KACT,GACA,SAAS,CAAC,GAAG,CAAC,GACf,GAAG,SAAS,MAAM,OAAO,GACxB,OAAO,CAAC,GAAG,CAAC,GACZ,KAAK;CACT,CAAC;AAEF,MAAM,WAAW,cAAc,CAC9B,MAAM,SAAS,MAAM,EACrB,SAAS,SAAS,OAAO;IAEzB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,SAAS,CAAC;CACtB;AAED,MAAM,MAAM,iBAAiB,GAAG,cAAc,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AAEzD,MAAM,WAAW,OAAO,CACvB,OAAO,EACP,MAAM,SAAS,MAAM,GAAG,GAAG,EAC3B,SAAS,SAAS,OAAO,GAAG,IAAI;IAEhC,OAAO,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,IAAI,CAAC;IACd,SAAS,EAAE,SAAS,CAAC;CACrB;AAED,MAAM,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AAEhD,KAAK,WAAW,GAAG,KAClB,OAAO,EAAE,OAAO,EAChB,OAAO,CAAC,EAAE,iBAAiB,KACvB,UAAU,CAAC;AAEhB,eAAO,MAAM,OAAO,EASJ,WAAW,CAAC;AAE5B,eAAO,MAAM,OAAO,GACnB,KAAK,CAAC,OAAO,EACb,KAAK,CAAC,MAAM,SAAS,MAAM,GAAG,GAAG,EACjC,KAAK,CAAC,SAAS,SAAS,OAAO,GAAG,IAAI,EAEtC,SAAS,OAAO,EAChB,UAAU,cAAc,CAAC,MAAM,EAAE,SAAS,CAAC,KAEH,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAC1E,CAAC"}
|
package/dist/core/success.js
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
|
|
1
|
+
import { FreezeEmpty } from "../utils/objects/empty.js";
|
|
2
|
+
export const Success = function (content, { status = 200, transform = true } = FreezeEmpty) {
|
|
2
3
|
this.content = content;
|
|
3
|
-
this.status =
|
|
4
|
+
this.status = status;
|
|
4
5
|
this.success = true;
|
|
5
|
-
this.transform =
|
|
6
|
+
this.transform = transform;
|
|
6
7
|
};
|
|
7
8
|
export const success = (content, options) => {
|
|
8
9
|
return new Success(content, options);
|
package/dist/core/success.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"success.js","sourceRoot":"","sources":["../../src/core/success.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"success.js","sourceRoot":"","sources":["../../src/core/success.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAwDpD,MAAM,CAAC,MAAM,OAAO,GAAG,UAEtB,OAAgB,EAChB,EAAE,MAAM,GAAG,GAAG,EAAE,SAAS,GAAG,IAAI,KAAwB,WAAW;IAEnE,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACvB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACrB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;IACpB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;AAC5B,CAA2B,CAAC;AAE5B,MAAM,CAAC,MAAM,OAAO,GAAG,CAKtB,OAAgB,EAChB,OAA2C,EAC1C,EAAE;IACH,OAAO,IAAI,OAAO,CAAC,OAAO,EAAE,OAAO,CAAwC,CAAC;AAC7E,CAAC,CAAC"}
|
package/dist/core/validator.d.ts
CHANGED
|
@@ -1,6 +1,4 @@
|
|
|
1
1
|
import type { Error } from "../core/error.js";
|
|
2
|
-
import type { ConditionallyOmit } from "../types/conditionally-omit.js";
|
|
3
|
-
import type { ExtendsType } from "../types/extends-type.js";
|
|
4
2
|
import type { MaybePromise } from "../types/maybe-promise.js";
|
|
5
3
|
export type ValidatorPlugin = (schema: any, input: unknown, type: keyof ValidatorRequest) => MaybePromise<{
|
|
6
4
|
content: unknown;
|
|
@@ -15,7 +13,7 @@ export type DeepInferValidatorInput<Type extends Record<PropertyKey, unknown>> =
|
|
|
15
13
|
export type DeepInferValidatorOutput<Type extends Record<PropertyKey, unknown>> = {
|
|
16
14
|
[Key in keyof Type]: Cudenix.InferValidatorOutput<Type[Key]>;
|
|
17
15
|
};
|
|
18
|
-
|
|
16
|
+
type ValidatorErrorDetails<Type> = {
|
|
19
17
|
[Key in keyof Type]: {
|
|
20
18
|
details: [Type[Key]];
|
|
21
19
|
type: Key;
|
|
@@ -28,13 +26,11 @@ export interface TransformValidatorError<ValidatorError extends Record<PropertyK
|
|
|
28
26
|
}
|
|
29
27
|
], 422, true>;
|
|
30
28
|
}
|
|
31
|
-
export type MergeInferValidatorRequest<FirstType extends Record<PropertyKey, unknown>, SecondType extends Record<PropertyKey, unknown>> =
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
query: ExtendsType<SecondType["query"], unknown, FirstType["query"]>;
|
|
37
|
-
}, unknown>;
|
|
29
|
+
export type MergeInferValidatorRequest<FirstType extends Record<PropertyKey, unknown>, SecondType extends Record<PropertyKey, unknown>> = {
|
|
30
|
+
[Key in "body" | "cookies" | "headers" | "params" | "query" as [
|
|
31
|
+
unknown
|
|
32
|
+
] extends [SecondType[Key]] ? [unknown] extends [FirstType[Key]] ? never : Key : Key]: [unknown] extends [SecondType[Key]] ? FirstType[Key] : SecondType[Key];
|
|
33
|
+
};
|
|
38
34
|
export interface ValidatorRequest<Body = unknown, Cookies = unknown, Headers = unknown, Params = unknown, Query = unknown> {
|
|
39
35
|
body: Body;
|
|
40
36
|
cookies: Cookies;
|
|
@@ -43,9 +39,9 @@ export interface ValidatorRequest<Body = unknown, Cookies = unknown, Headers = u
|
|
|
43
39
|
query: Query;
|
|
44
40
|
}
|
|
45
41
|
export interface Validator<Request extends Partial<ValidatorRequest>> {
|
|
42
|
+
keys: (keyof ValidatorRequest)[];
|
|
46
43
|
request: Request;
|
|
47
44
|
type: "VALIDATOR";
|
|
48
|
-
keys: (keyof ValidatorRequest)[];
|
|
49
45
|
}
|
|
50
46
|
export type AnyValidator = Validator<any>;
|
|
51
47
|
export interface ValidatorOptions<Request extends Partial<ValidatorRequest>> {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../../src/core/validator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../../src/core/validator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validator.js","sourceRoot":"","sources":["../../src/core/validator.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"validator.js","sourceRoot":"","sources":["../../src/core/validator.ts"],"names":[],"mappings":"AA8FA,MAAM,CAAC,MAAM,SAAS,GAAG,UAExB,OAA4B;IAE5B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAC/B,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC;IACxB,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAA+B,CAAC;AACxE,CAA2B,CAAC;AAE5B,MAAM,CAAC,MAAM,SAAS,GAAG,CACxB,OAAkC,EACjC,EAAE;IACH,OAAO,IAAI,SAAS,CAAC,OAAO,CAAuB,CAAC;AACrD,CAAC,CAAC"}
|
|
@@ -7,12 +7,12 @@ import type { ConditionallyOptional } from "../../types/conditionally-optional.j
|
|
|
7
7
|
import type { AnyGeneratorSSE } from "../../types/generator-sse.js";
|
|
8
8
|
import type { MaybeFunction } from "../../types/maybe-function.js";
|
|
9
9
|
import type { Merge } from "../../types/merge.js";
|
|
10
|
-
|
|
10
|
+
type RequestOptions<Request> = Merge<Omit<RequestInit, "method"> & {
|
|
11
11
|
headers?: Record<string, string | readonly string[]>;
|
|
12
12
|
}, Request extends Record<PropertyKey, unknown> ? ConditionallyOptional<Request, undefined> : NonNullable<unknown>>;
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
13
|
+
type ParseResponse<Method, Request, Response> = Method extends "WS" ? WS<Request, Response> : Response extends Generator<infer Yield> | AsyncGenerator<infer Yield> ? SSE<Yield extends AnyGeneratorSSE ? Yield : never> : Response extends AnyError | AnySuccess ? Response["transform"] extends true ? Response : Response["content"] : Response;
|
|
14
|
+
type RouteHandler<Method, Request, Response> = (options?: RequestOptions<Request>) => Promise<ParseResponse<Method, Request, Response>>;
|
|
15
|
+
type ClientChain<Routes extends Record<PropertyKey, unknown>> = {
|
|
16
16
|
[Key in keyof Routes]: Routes[Key] extends Record<PropertyKey, unknown> ? Routes[Key] extends {
|
|
17
17
|
request: infer Request;
|
|
18
18
|
response: infer Response;
|
|
@@ -20,8 +20,9 @@ export type ClientChain<Routes extends Record<PropertyKey, unknown>> = {
|
|
|
20
20
|
};
|
|
21
21
|
export type InferRouteOptions<Route> = Route extends (...options: any[]) => any ? NonNullable<Parameters<Route>[0]> : never;
|
|
22
22
|
export type InferRouteResponse<Route> = Route extends (...options: any[]) => any ? Awaited<ReturnType<Route>> : never;
|
|
23
|
-
|
|
23
|
+
type ClientOptions = MaybeFunction<{
|
|
24
24
|
url: string;
|
|
25
25
|
} & Omit<RequestInit, "method">>;
|
|
26
26
|
export declare const client: <const App extends AnyModule>(options: ClientOptions) => ClientChain<App["routes"]>;
|
|
27
|
+
export {};
|
|
27
28
|
//# sourceMappingURL=client.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/ecosystem/client/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,wBAAwB,CAAC;AAClD,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,uBAAuB,CAAC;AAChD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AAC5E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/ecosystem/client/client.ts"],"names":[],"mappings":"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"}
|