@sdk-it/hono 0.4.0 → 0.5.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.
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import type { Context } from 'hono';
|
|
2
|
+
type Data = any;
|
|
3
|
+
export declare function createOutput(contextFn: () => Context): {
|
|
4
|
+
nocontent(): any;
|
|
5
|
+
ok(value: Data | undefined | null, headers?: Record<string, string>): any;
|
|
6
|
+
created(valueOrUri: string | Data, value: Data | undefined | null, headers?: Record<string, string>): any;
|
|
7
|
+
redirect(uri: string | URL, statusCode?: unknown): any;
|
|
8
|
+
attachment(buffer: Buffer, filename: string, mimeType: string): any;
|
|
9
|
+
badRequest(value: Data | undefined | null, headers?: Record<string, string>): any;
|
|
10
|
+
unauthorized(value: Data | undefined | null, headers?: Record<string, string>): any;
|
|
11
|
+
forbidden(value: Data | undefined | null, headers?: Record<string, string>): any;
|
|
12
|
+
notFound(value: Data | undefined | null, headers?: Record<string, string>): any;
|
|
13
|
+
notImplemented(value: Data | undefined | null, headers?: Record<string, string>): any;
|
|
14
|
+
accepted(value: Data | undefined | null, headers?: Record<string, string>): any;
|
|
15
|
+
conflict(value: Data | undefined | null, headers?: Record<string, string>): any;
|
|
16
|
+
unprocessableEntity(value: Data | undefined | null, headers?: Record<string, string>): any;
|
|
17
|
+
internalServerError(value: Data | undefined | null, headers?: Record<string, string>): any;
|
|
18
|
+
serviceUnavailable(value: Data | undefined | null, headers?: Record<string, string>): any;
|
|
19
|
+
};
|
|
20
|
+
export declare const output: {
|
|
21
|
+
nocontent(): any;
|
|
22
|
+
ok(value: Data | undefined | null, headers?: Record<string, string>): any;
|
|
23
|
+
created(valueOrUri: string | Data, value: Data | undefined | null, headers?: Record<string, string>): any;
|
|
24
|
+
redirect(uri: string | URL, statusCode?: unknown): any;
|
|
25
|
+
attachment(buffer: Buffer, filename: string, mimeType: string): any;
|
|
26
|
+
badRequest(value: Data | undefined | null, headers?: Record<string, string>): any;
|
|
27
|
+
unauthorized(value: Data | undefined | null, headers?: Record<string, string>): any;
|
|
28
|
+
forbidden(value: Data | undefined | null, headers?: Record<string, string>): any;
|
|
29
|
+
notFound(value: Data | undefined | null, headers?: Record<string, string>): any;
|
|
30
|
+
notImplemented(value: Data | undefined | null, headers?: Record<string, string>): any;
|
|
31
|
+
accepted(value: Data | undefined | null, headers?: Record<string, string>): any;
|
|
32
|
+
conflict(value: Data | undefined | null, headers?: Record<string, string>): any;
|
|
33
|
+
unprocessableEntity(value: Data | undefined | null, headers?: Record<string, string>): any;
|
|
34
|
+
internalServerError(value: Data | undefined | null, headers?: Record<string, string>): any;
|
|
35
|
+
serviceUnavailable(value: Data | undefined | null, headers?: Record<string, string>): any;
|
|
36
|
+
};
|
|
37
|
+
export {};
|
|
38
|
+
//# sourceMappingURL=output.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"output.d.ts","sourceRoot":"","sources":["../../../src/lib/runtime/output.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAOpC,KAAK,IAAI,GAAG,GAAG,CAAC;AAkBhB,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,OAAO;;cAMvC,IAAI,GAAG,SAAS,GAAG,IAAI,YAAY,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;wBAIrD,MAAM,GAAG,IAAI,SAClB,IAAI,GAAG,SAAS,GAAG,IAAI,YACpB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;kBAapB,MAAM,GAAG,GAAG,eAAe,OAAO;uBAO7B,MAAM,YAAY,MAAM,YAAY,MAAM;sBAUpD,IAAI,GAAG,SAAS,GAAG,IAAI,YACpB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;wBAKzB,IAAI,GAAG,SAAS,GAAG,IAAI,YACpB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;qBAKzB,IAAI,GAAG,SAAS,GAAG,IAAI,YACpB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;oBAIlB,IAAI,GAAG,SAAS,GAAG,IAAI,YAAY,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;0BAIhE,IAAI,GAAG,SAAS,GAAG,IAAI,YACpB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;oBAIlB,IAAI,GAAG,SAAS,GAAG,IAAI,YAAY,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;oBAGzD,IAAI,GAAG,SAAS,GAAG,IAAI,YAAY,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;+BAIhE,IAAI,GAAG,SAAS,GAAG,IAAI,YACpB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;+BAKzB,IAAI,GAAG,SAAS,GAAG,IAAI,YACpB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;8BAKzB,IAAI,GAAG,SAAS,GAAG,IAAI,YACpB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;EAKrC;AAED,eAAO,MAAM,MAAM;;cAzFL,IAAI,GAAG,SAAS,GAAG,IAAI,YAAY,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;wBAIrD,MAAM,GAAG,IAAI,SAClB,IAAI,GAAG,SAAS,GAAG,IAAI,YACpB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;kBAapB,MAAM,GAAG,GAAG,eAAe,OAAO;uBAO7B,MAAM,YAAY,MAAM,YAAY,MAAM;sBAUpD,IAAI,GAAG,SAAS,GAAG,IAAI,YACpB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;wBAKzB,IAAI,GAAG,SAAS,GAAG,IAAI,YACpB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;qBAKzB,IAAI,GAAG,SAAS,GAAG,IAAI,YACpB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;oBAIlB,IAAI,GAAG,SAAS,GAAG,IAAI,YAAY,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;0BAIhE,IAAI,GAAG,SAAS,GAAG,IAAI,YACpB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;oBAIlB,IAAI,GAAG,SAAS,GAAG,IAAI,YAAY,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;oBAGzD,IAAI,GAAG,SAAS,GAAG,IAAI,YAAY,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;+BAIhE,IAAI,GAAG,SAAS,GAAG,IAAI,YACpB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;+BAKzB,IAAI,GAAG,SAAS,GAAG,IAAI,YACpB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;8BAKzB,IAAI,GAAG,SAAS,GAAG,IAAI,YACpB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;CAOgB,CAAC"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import type { MiddlewareHandler, ValidationTargets } from 'hono';
|
|
2
|
+
import z from 'zod';
|
|
3
|
+
type ValidatorConfig = Record<string, {
|
|
4
|
+
select: unknown;
|
|
5
|
+
against: z.ZodTypeAny;
|
|
6
|
+
}>;
|
|
7
|
+
type ExtractInput<T extends ValidatorConfig> = {
|
|
8
|
+
[K in keyof T]: z.infer<T[K]['against']>;
|
|
9
|
+
};
|
|
10
|
+
type HasUndefined<T> = undefined extends T ? true : false;
|
|
11
|
+
type InferTarget<T extends ValidatorConfig, S, Target extends keyof ValidationTargets> = {
|
|
12
|
+
[K in keyof T as T[K]['select'] extends S ? K : never]: HasUndefined<z.infer<T[K]['against']>> extends true ? z.infer<T[K]['against']> | undefined : z.infer<T[K]['against']> extends ValidationTargets[Target] ? z.infer<T[K]['against']> : z.infer<T[K]['against']>;
|
|
13
|
+
};
|
|
14
|
+
type InferIn<T extends ValidatorConfig> = (keyof InferTarget<T, QuerySelect | QueriesSelect, 'query'> extends never ? never : {
|
|
15
|
+
query: InferTarget<T, QuerySelect | QueriesSelect, 'query'>;
|
|
16
|
+
}) & (keyof InferTarget<T, BodySelect, 'json'> extends never ? never : {
|
|
17
|
+
json: InferTarget<T, BodySelect, 'json'>;
|
|
18
|
+
}) & (keyof InferTarget<T, ParamsSelect, 'param'> extends never ? never : {
|
|
19
|
+
param: InferTarget<T, ParamsSelect, 'param'>;
|
|
20
|
+
}) & (keyof InferTarget<T, HeadersSelect, 'header'> extends never ? never : {
|
|
21
|
+
header: InferTarget<T, HeadersSelect, 'header'>;
|
|
22
|
+
}) & (keyof InferTarget<T, CookieSelect, 'cookie'> extends never ? never : {
|
|
23
|
+
form: InferTarget<T, CookieSelect, 'cookie'>;
|
|
24
|
+
});
|
|
25
|
+
declare class BodySelect {
|
|
26
|
+
#private;
|
|
27
|
+
}
|
|
28
|
+
declare class QuerySelect {
|
|
29
|
+
#private;
|
|
30
|
+
}
|
|
31
|
+
declare class QueriesSelect {
|
|
32
|
+
#private;
|
|
33
|
+
}
|
|
34
|
+
declare class ParamsSelect {
|
|
35
|
+
#private;
|
|
36
|
+
}
|
|
37
|
+
declare class HeadersSelect {
|
|
38
|
+
#private;
|
|
39
|
+
}
|
|
40
|
+
declare class CookieSelect {
|
|
41
|
+
#private;
|
|
42
|
+
}
|
|
43
|
+
export declare const validate: <T extends ValidatorConfig>(selector: (payload: {
|
|
44
|
+
body: Record<string, BodySelect>;
|
|
45
|
+
query: Record<string, QuerySelect>;
|
|
46
|
+
queries: Record<string, QueriesSelect>;
|
|
47
|
+
params: Record<string, ParamsSelect>;
|
|
48
|
+
headers: Record<string, HeadersSelect>;
|
|
49
|
+
}) => T) => MiddlewareHandler<{
|
|
50
|
+
Variables: {
|
|
51
|
+
input: ExtractInput<T>;
|
|
52
|
+
};
|
|
53
|
+
}, string, {
|
|
54
|
+
in: InferIn<T>;
|
|
55
|
+
}>;
|
|
56
|
+
export declare function parse<T extends z.ZodRawShape>(schema: z.ZodObject<T>, input: unknown): z.objectUtil.addQuestionMarks<z.baseObjectOutputType<T>, any> extends infer T_1 ? { [k in keyof T_1]: z.objectUtil.addQuestionMarks<z.baseObjectOutputType<T>, any>[k]; } : never;
|
|
57
|
+
export declare const openapi: <T extends ValidatorConfig>(selector: (payload: {
|
|
58
|
+
body: Record<string, BodySelect>;
|
|
59
|
+
query: Record<string, QuerySelect>;
|
|
60
|
+
queries: Record<string, QueriesSelect>;
|
|
61
|
+
params: Record<string, ParamsSelect>;
|
|
62
|
+
headers: Record<string, HeadersSelect>;
|
|
63
|
+
}) => T) => MiddlewareHandler<{
|
|
64
|
+
Variables: {
|
|
65
|
+
input: ExtractInput<T>;
|
|
66
|
+
};
|
|
67
|
+
}, string, {
|
|
68
|
+
in: InferIn<T>;
|
|
69
|
+
}>;
|
|
70
|
+
export declare const consume: (contentType: "application/json" | "application/x-www-form-urlencoded") => MiddlewareHandler<any, string, {}>;
|
|
71
|
+
export {};
|
|
72
|
+
//# sourceMappingURL=validator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../../../src/lib/runtime/validator.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sdk-it/hono",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.5.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"module": "./dist/index.js",
|
|
@@ -21,9 +21,11 @@
|
|
|
21
21
|
"!**/*.tsbuildinfo"
|
|
22
22
|
],
|
|
23
23
|
"dependencies": {
|
|
24
|
-
"@sdk-it/core": "0.
|
|
24
|
+
"@sdk-it/core": "0.5.0",
|
|
25
25
|
"debug": "^4.4.0",
|
|
26
|
-
"
|
|
26
|
+
"hono": "^4.7.4",
|
|
27
|
+
"typescript": "^5.7.2",
|
|
28
|
+
"zod": "^3.24.2"
|
|
27
29
|
},
|
|
28
30
|
"devDependencies": {
|
|
29
31
|
"@types/debug": "^4.1.12"
|