Skip to content

Commit 856dadb

Browse files
committed
Remove OpenAPI zod, valibot types
1 parent 333eeda commit 856dadb

File tree

3 files changed

+34
-56
lines changed

3 files changed

+34
-56
lines changed

pkgs/typed-api-spec/src/core/openapi/openapi.ts

+26
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,35 @@ import { JSONSchema7 } from "json-schema";
99
import { StatusCode } from "../hono-types";
1010
import {
1111
AnyOpenApiSpec,
12+
BaseOpenApiSpec,
13+
DefineOpenApiEndpoint,
14+
DefineOpenApiResponses,
1215
JsonSchemaOpenApiEndpoints,
1316
JsonSchemaOpenApiSpec,
17+
ToOpenApiResponse,
1418
} from "./spec";
19+
import { StandardSchemaV1 } from "@standard-schema/spec";
20+
import { SSAnyApiResponse } from "../../ss";
21+
22+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
23+
type AnyStandardSchemaV1 = StandardSchemaV1<any>;
24+
export type SSOpenApiEndpoints = {
25+
[Path in string]: SSOpenApiEndpoint;
26+
};
27+
export type SSOpenApiEndpoint = DefineOpenApiEndpoint<SSOpenApiSpec>;
28+
export type SSAnyOpenApiResponse = ToOpenApiResponse<SSAnyApiResponse>;
29+
export type SSAnyOpenApiResponses =
30+
DefineOpenApiResponses<SSAnyOpenApiResponse>;
31+
32+
export type SSOpenApiSpec<
33+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
34+
ParamKeys extends string = string,
35+
Params extends AnyStandardSchemaV1 = AnyStandardSchemaV1,
36+
Query extends AnyStandardSchemaV1 = AnyStandardSchemaV1,
37+
Body extends AnyStandardSchemaV1 = AnyStandardSchemaV1,
38+
RequestHeaders extends AnyStandardSchemaV1 = AnyStandardSchemaV1,
39+
Responses extends SSAnyOpenApiResponses = SSAnyOpenApiResponses,
40+
> = BaseOpenApiSpec<Params, Query, Body, RequestHeaders, Responses>;
1541

1642
// eslint-disable-next-line @typescript-eslint/no-explicit-any
1743
export const toPathItemObject = (
+4-28
Original file line numberDiff line numberDiff line change
@@ -1,46 +1,22 @@
11
import { OpenAPIV3_1 } from "openapi-types";
22
import {
33
JsonSchemaApiEndpoints,
4+
SSOpenApiEndpoints,
45
toOpenApiDoc as toOpenApiDocOrg,
56
} from "../core";
6-
import { AnyV } from "./util";
7-
import {
8-
BaseOpenApiSpec,
9-
DefineOpenApiEndpoint,
10-
DefineOpenApiResponses,
11-
JsonSchemaOpenApiEndpoints,
12-
ToOpenApiResponse,
13-
} from "../core/openapi/spec";
7+
import { JsonSchemaOpenApiEndpoints } from "../core/openapi/spec";
148
import { toJsonSchemaApiEndpoints as toEndpoints } from "../core/jsonschema";
159
import { toJsonSchema } from "@valibot/to-json-schema";
16-
import { SSAnyApiResponse, SSApiEndpoints } from "../ss";
10+
import { SSApiEndpoints } from "../ss";
1711

18-
export const toOpenApiDoc = <E extends ValibotOpenApiEndpoints>(
12+
export const toOpenApiDoc = <E extends SSOpenApiEndpoints>(
1913
doc: Omit<OpenAPIV3_1.Document, "paths">,
2014
endpoints: E,
2115
): OpenAPIV3_1.Document => {
2216
const e = toJsonSchemaApiEndpoints(endpoints);
2317
return toOpenApiDocOrg(doc, e as JsonSchemaOpenApiEndpoints);
2418
};
2519

26-
export type ValibotOpenApiEndpoints = {
27-
[Path in string]: ValibotOpenApiEndpoint;
28-
};
29-
export type ValibotOpenApiEndpoint = DefineOpenApiEndpoint<ValibotOpenApiSpec>;
30-
export type ValibotAnyOpenApiResponse = ToOpenApiResponse<SSAnyApiResponse>;
31-
export type ValibotAnyOpenApiResponses =
32-
DefineOpenApiResponses<ValibotAnyOpenApiResponse>;
33-
34-
export type ValibotOpenApiSpec<
35-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
36-
ParamKeys extends string = string,
37-
Params extends AnyV = AnyV,
38-
Query extends AnyV = AnyV,
39-
Body extends AnyV = AnyV,
40-
RequestHeaders extends AnyV = AnyV,
41-
Responses extends ValibotAnyOpenApiResponses = ValibotAnyOpenApiResponses,
42-
> = BaseOpenApiSpec<Params, Query, Body, RequestHeaders, Responses>;
43-
4420
export const toJsonSchemaApiEndpoints = <E extends SSApiEndpoints>(
4521
endpoints: E,
4622
): JsonSchemaApiEndpoints => toEndpoints(toJsonSchema, endpoints);

pkgs/typed-api-spec/src/zod/openapi.ts

+4-28
Original file line numberDiff line numberDiff line change
@@ -1,48 +1,24 @@
11
import { OpenAPIV3_1 } from "openapi-types";
22
import {
33
JsonSchemaApiEndpoints,
4+
SSOpenApiEndpoints,
45
toOpenApiDoc as toOpenApiDocOrg,
56
} from "../core";
6-
import {
7-
BaseOpenApiSpec,
8-
DefineOpenApiEndpoint,
9-
DefineOpenApiResponses,
10-
JsonSchemaOpenApiEndpoints,
11-
ToOpenApiResponse,
12-
} from "../core/openapi/spec";
7+
import { JsonSchemaOpenApiEndpoints } from "../core/openapi/spec";
138
import { z } from "zod";
149
import { toJsonSchemaApiEndpoints as toEndpoints } from "../core/jsonschema";
1510
import { createSchema } from "zod-openapi";
1611
import { JSONSchema7 } from "json-schema";
17-
import { SSAnyApiResponse } from "../ss";
1812

19-
export const toOpenApiDoc = <E extends ZodOpenApiEndpoints>(
13+
export const toOpenApiDoc = <E extends SSOpenApiEndpoints>(
2014
doc: Omit<OpenAPIV3_1.Document, "paths">,
2115
endpoints: E,
2216
): OpenAPIV3_1.Document => {
2317
const e = toJsonSchemaApiEndpoints(endpoints);
2418
return toOpenApiDocOrg(doc, e as JsonSchemaOpenApiEndpoints);
2519
};
2620

27-
export type ZodOpenApiEndpoints = {
28-
[Path in string]: ZodOpenApiEndpoint;
29-
};
30-
export type ZodOpenApiEndpoint = DefineOpenApiEndpoint<ZodOpenApiSpec>;
31-
export type ZodAnyOpenApiResponse = ToOpenApiResponse<SSAnyApiResponse>;
32-
export type ZodAnyOpenApiResponses =
33-
DefineOpenApiResponses<ZodAnyOpenApiResponse>;
34-
35-
export type ZodOpenApiSpec<
36-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
37-
ParamKeys extends string = string,
38-
Params extends z.ZodTypeAny = z.ZodTypeAny,
39-
Query extends z.ZodTypeAny = z.ZodTypeAny,
40-
Body extends z.ZodTypeAny = z.ZodTypeAny,
41-
RequestHeaders extends z.ZodTypeAny = z.ZodTypeAny,
42-
Responses extends ZodAnyOpenApiResponses = ZodAnyOpenApiResponses,
43-
> = BaseOpenApiSpec<Params, Query, Body, RequestHeaders, Responses>;
44-
45-
export const toJsonSchemaApiEndpoints = <E extends ZodOpenApiEndpoints>(
21+
export const toJsonSchemaApiEndpoints = <E extends SSOpenApiEndpoints>(
4622
endpoints: E,
4723
): JsonSchemaApiEndpoints => toEndpoints(toSchema, endpoints);
4824

0 commit comments

Comments
 (0)