@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.4.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.4.0",
24
+ "@sdk-it/core": "0.5.0",
25
25
  "debug": "^4.4.0",
26
- "typescript": "^5.7.2"
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"