@kamaalio/hono-standard-openapi 0.0.16 → 0.0.17

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.
@@ -8,7 +8,9 @@ export type ConvertPathType<T extends string> = T extends `${infer Start}/{${inf
8
8
  type RequestPart<R extends RouteConfigBase, Part extends string> = R extends {
9
9
  request: infer Request;
10
10
  } ? Part extends keyof Request ? Request[Part] : never : never;
11
- type InputTypeBase<R extends RouteConfigBase, Part extends string, Type extends keyof ValidationTargets> = RequestPart<R, Part> extends infer Schema extends StandardSchemaV1 ? {
11
+ type InputTypeBase<R extends RouteConfigBase, Part extends string, Type extends keyof ValidationTargets> = [
12
+ RequestPart<R, Part>
13
+ ] extends [never] ? {} : RequestPart<R, Part> extends infer Schema extends StandardSchemaV1 ? {
12
14
  in: {
13
15
  [K in Type]: HasUndefined<ValidationTargets[K]> extends true ? {
14
16
  [K2 in keyof StandardSchemaV1.InferInput<Schema>]?: StandardSchemaV1.InferInput<Schema>[K2];
@@ -36,7 +38,9 @@ type FormMediaType<Content> = {
36
38
  type BodySchema<Content, MediaType> = MediaType extends keyof Content ? Content[MediaType] extends {
37
39
  schema: infer Schema extends StandardSchemaV1;
38
40
  } ? Schema : never : never;
39
- type InputTypeBody<R extends RouteConfigBase, MediaType, Target extends 'json' | 'form'> = BodySchema<RequestContent<R>, MediaType> extends infer Schema extends StandardSchemaV1 ? {
41
+ type InputTypeBody<R extends RouteConfigBase, MediaType, Target extends 'json' | 'form'> = [
42
+ BodySchema<RequestContent<R>, MediaType>
43
+ ] extends [never] ? {} : BodySchema<RequestContent<R>, MediaType> extends infer Schema extends StandardSchemaV1 ? {
40
44
  in: {
41
45
  [K in Target]: StandardSchemaV1.InferInput<Schema>;
42
46
  };
@@ -57,7 +61,7 @@ type ResponseBody<ResponseEntry, MediaType> = MediaType extends keyof ResponseEn
57
61
  } ? StandardSchemaV1.InferOutput<Schema> : never : never;
58
62
  type TypedResponseFor<ResponseEntry, Status extends StatusCode> = ResponseEntry extends {
59
63
  content: infer Content;
60
- } ? JsonMediaType<Content> extends never ? Response & TypedResponse<unknown, Status, 'text'> : [ResponseBody<Content, JsonMediaType<Content>>] extends [infer Body] ? [Body] extends [never] ? Response & TypedResponse<unknown, Status, 'json'> : Response & TypedResponse<Body, Status, 'json'> : never : never;
64
+ } ? JsonMediaType<Content> extends never ? Response & TypedResponse<unknown, Status, 'text'> : [ResponseBody<Content, JsonMediaType<Content>>] extends [infer Body] ? [Body] extends [never] ? Response & TypedResponse<unknown, Status, 'json'> : Response & TypedResponse<Body, Status, 'json'> : never : Response & TypedResponse<unknown, Status, 'text'>;
61
65
  /** The responses a handler is allowed to return, one per documented status code. */
62
66
  export type RouteConfigToTypedResponse<R extends RouteConfigBase> = {
63
67
  [Key in keyof R['responses']]: TypedResponseFor<R['responses'][Key], StatusFrom<Key>>;
@@ -1 +1 @@
1
- {"version":3,"file":"type-inference.d.ts","sourceRoot":"","sources":["../src/type-inference.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"type-inference.d.ts","sourceRoot":"","sources":["../src/type-inference.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kamaalio/hono-standard-openapi",
3
- "version": "0.0.16",
3
+ "version": "0.0.17",
4
4
  "description": "Generate OpenAPI documents from any Standard Schema library, for Hono.",
5
5
  "keywords": [
6
6
  "hono",