@rexeus/typeweaver-openapi 0.11.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.
- package/README.md +97 -0
- package/dist/LICENSE +202 -0
- package/dist/NOTICE +4 -0
- package/dist/index.cjs +1317 -0
- package/dist/index.d.cts +130 -0
- package/dist/index.d.cts.map +1 -0
- package/dist/index.d.mts +130 -0
- package/dist/index.d.mts.map +1 -0
- package/dist/index.mjs +1294 -0
- package/dist/index.mjs.map +1 -0
- package/package.json +68 -0
package/dist/index.d.cts
ADDED
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
import { BasePlugin, GeneratorContext, NormalizedSpec } from "@rexeus/typeweaver-gen";
|
|
2
|
+
import { JsonSchema, JsonSchemaValue } from "@rexeus/typeweaver-zod-to-json-schema";
|
|
3
|
+
|
|
4
|
+
//#region src/types.d.ts
|
|
5
|
+
type BuildOpenApiDocumentOptions = {
|
|
6
|
+
readonly info: OpenApiInfoObject;
|
|
7
|
+
readonly servers?: readonly OpenApiServerObject[];
|
|
8
|
+
};
|
|
9
|
+
type OpenApiBuildResult = {
|
|
10
|
+
readonly document: OpenApiDocument;
|
|
11
|
+
readonly warnings: readonly OpenApiBuildWarning[];
|
|
12
|
+
};
|
|
13
|
+
type OpenApiDocument = {
|
|
14
|
+
readonly openapi: "3.1.1";
|
|
15
|
+
readonly jsonSchemaDialect: "https://json-schema.org/draft/2020-12/schema";
|
|
16
|
+
readonly info: OpenApiInfoObject;
|
|
17
|
+
readonly servers?: readonly OpenApiServerObject[];
|
|
18
|
+
readonly tags: readonly OpenApiTagObject[];
|
|
19
|
+
readonly paths: OpenApiPathsObject;
|
|
20
|
+
readonly components?: OpenApiComponentsObject;
|
|
21
|
+
};
|
|
22
|
+
type OpenApiInfoObject = {
|
|
23
|
+
readonly title: string;
|
|
24
|
+
readonly version: string;
|
|
25
|
+
readonly summary?: string;
|
|
26
|
+
readonly description?: string;
|
|
27
|
+
readonly termsOfService?: string;
|
|
28
|
+
readonly [key: string]: JsonSchemaValue | undefined;
|
|
29
|
+
};
|
|
30
|
+
type OpenApiServerObject = {
|
|
31
|
+
readonly url: string;
|
|
32
|
+
readonly description?: string;
|
|
33
|
+
readonly [key: string]: JsonSchemaValue | undefined;
|
|
34
|
+
};
|
|
35
|
+
type OpenApiTagObject = {
|
|
36
|
+
readonly name: string;
|
|
37
|
+
readonly description?: string;
|
|
38
|
+
};
|
|
39
|
+
type OpenApiPathsObject = Record<string, OpenApiPathItemObject>;
|
|
40
|
+
type OpenApiPathItemObject = Partial<Record<OpenApiHttpMethod, OpenApiOperationObject>>;
|
|
41
|
+
type OpenApiHttpMethod = "get" | "put" | "post" | "delete" | "options" | "head" | "patch";
|
|
42
|
+
type OpenApiOperationObject = {
|
|
43
|
+
readonly operationId: string;
|
|
44
|
+
readonly summary?: string;
|
|
45
|
+
readonly tags: readonly string[];
|
|
46
|
+
readonly parameters?: readonly OpenApiParameterObject[];
|
|
47
|
+
readonly requestBody?: OpenApiRequestBodyObject;
|
|
48
|
+
readonly responses: OpenApiResponsesObject;
|
|
49
|
+
};
|
|
50
|
+
type OpenApiParameterObject = {
|
|
51
|
+
readonly name: string;
|
|
52
|
+
readonly in: "path" | "query" | "header";
|
|
53
|
+
readonly required: boolean;
|
|
54
|
+
readonly schema: JsonSchema;
|
|
55
|
+
};
|
|
56
|
+
type OpenApiRequestBodyObject = {
|
|
57
|
+
readonly required: boolean;
|
|
58
|
+
readonly content: OpenApiContentObject;
|
|
59
|
+
};
|
|
60
|
+
type OpenApiContentObject = Record<string, OpenApiMediaTypeObject>;
|
|
61
|
+
type OpenApiMediaTypeObject = {
|
|
62
|
+
readonly schema: JsonSchema;
|
|
63
|
+
};
|
|
64
|
+
type OpenApiResponsesObject = Record<string, OpenApiResponseObject | OpenApiReferenceObject>;
|
|
65
|
+
type OpenApiReferenceObject = {
|
|
66
|
+
readonly $ref: string;
|
|
67
|
+
};
|
|
68
|
+
type OpenApiResponseObject = {
|
|
69
|
+
readonly description: string;
|
|
70
|
+
readonly headers?: Record<string, OpenApiHeaderObject>;
|
|
71
|
+
readonly content?: OpenApiContentObject;
|
|
72
|
+
};
|
|
73
|
+
type OpenApiHeaderObject = {
|
|
74
|
+
readonly description?: string;
|
|
75
|
+
readonly required: boolean;
|
|
76
|
+
readonly schema: JsonSchema;
|
|
77
|
+
};
|
|
78
|
+
type OpenApiComponentsObject = {
|
|
79
|
+
readonly responses?: Record<string, OpenApiResponseObject>;
|
|
80
|
+
readonly schemas?: Record<string, JsonSchema>;
|
|
81
|
+
};
|
|
82
|
+
type OpenApiSchemaConversionWarningCode = "unsupported-schema" | "unsupported-check" | "conversion-error";
|
|
83
|
+
type OpenApiSchemaConversionWarning = {
|
|
84
|
+
readonly origin: "schema-conversion";
|
|
85
|
+
readonly code: OpenApiSchemaConversionWarningCode;
|
|
86
|
+
readonly message: string;
|
|
87
|
+
readonly schemaType: string;
|
|
88
|
+
readonly schemaPath: string;
|
|
89
|
+
readonly documentPath: string;
|
|
90
|
+
readonly location: OpenApiWarningLocation;
|
|
91
|
+
};
|
|
92
|
+
type OpenApiDiagnosticWarningCode = "unrepresentable-parameter-container" | "unrepresentable-parameter-additional-properties" | "missing-path-parameter-schema" | "unused-path-parameter-schema" | "missing-canonical-response" | "duplicate-canonical-response";
|
|
93
|
+
type OpenApiDiagnosticWarning = {
|
|
94
|
+
readonly origin: "openapi-builder";
|
|
95
|
+
readonly code: OpenApiDiagnosticWarningCode;
|
|
96
|
+
readonly message: string;
|
|
97
|
+
readonly documentPath: string;
|
|
98
|
+
readonly location: OpenApiWarningLocation;
|
|
99
|
+
};
|
|
100
|
+
type OpenApiBuildWarning = OpenApiSchemaConversionWarning | OpenApiDiagnosticWarning;
|
|
101
|
+
type OpenApiWarningLocation = {
|
|
102
|
+
readonly resourceName?: string;
|
|
103
|
+
readonly operationId?: string;
|
|
104
|
+
readonly method?: string;
|
|
105
|
+
readonly path?: string;
|
|
106
|
+
readonly openApiPath?: string;
|
|
107
|
+
readonly part?: string;
|
|
108
|
+
readonly parameterName?: string;
|
|
109
|
+
readonly responseName?: string;
|
|
110
|
+
readonly statusCode?: string;
|
|
111
|
+
};
|
|
112
|
+
//#endregion
|
|
113
|
+
//#region src/buildOpenApiDocument.d.ts
|
|
114
|
+
declare function buildOpenApiDocument(normalizedSpec: NormalizedSpec, options: BuildOpenApiDocumentOptions): OpenApiBuildResult;
|
|
115
|
+
//#endregion
|
|
116
|
+
//#region src/OpenApiPlugin.d.ts
|
|
117
|
+
type OpenApiPluginOptions = {
|
|
118
|
+
readonly info?: OpenApiInfoObject;
|
|
119
|
+
readonly servers?: readonly OpenApiServerObject[];
|
|
120
|
+
readonly outputPath?: string;
|
|
121
|
+
};
|
|
122
|
+
declare class OpenApiPlugin extends BasePlugin {
|
|
123
|
+
name: string;
|
|
124
|
+
private readonly options;
|
|
125
|
+
constructor(options?: OpenApiPluginOptions);
|
|
126
|
+
generate(context: GeneratorContext): void;
|
|
127
|
+
}
|
|
128
|
+
//#endregion
|
|
129
|
+
export { type BuildOpenApiDocumentOptions, type OpenApiBuildResult, type OpenApiBuildWarning, type OpenApiComponentsObject, type OpenApiContentObject, type OpenApiDiagnosticWarning, type OpenApiDiagnosticWarningCode, type OpenApiDocument, type OpenApiHeaderObject, type OpenApiInfoObject, type OpenApiMediaTypeObject, type OpenApiOperationObject, type OpenApiParameterObject, type OpenApiPathItemObject, type OpenApiPathsObject, OpenApiPlugin, type OpenApiPluginOptions, type OpenApiReferenceObject, type OpenApiRequestBodyObject, type OpenApiResponseObject, type OpenApiResponsesObject, type OpenApiSchemaConversionWarning, type OpenApiSchemaConversionWarningCode, type OpenApiServerObject, type OpenApiTagObject, type OpenApiWarningLocation, buildOpenApiDocument };
|
|
130
|
+
//# sourceMappingURL=index.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.cts","names":[],"sources":["../src/types.ts","../src/buildOpenApiDocument.ts","../src/OpenApiPlugin.ts"],"mappings":"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"}
|
package/dist/index.d.mts
ADDED
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
import { JsonSchema, JsonSchemaValue } from "@rexeus/typeweaver-zod-to-json-schema";
|
|
2
|
+
import { BasePlugin, GeneratorContext, NormalizedSpec } from "@rexeus/typeweaver-gen";
|
|
3
|
+
|
|
4
|
+
//#region src/types.d.ts
|
|
5
|
+
type BuildOpenApiDocumentOptions = {
|
|
6
|
+
readonly info: OpenApiInfoObject;
|
|
7
|
+
readonly servers?: readonly OpenApiServerObject[];
|
|
8
|
+
};
|
|
9
|
+
type OpenApiBuildResult = {
|
|
10
|
+
readonly document: OpenApiDocument;
|
|
11
|
+
readonly warnings: readonly OpenApiBuildWarning[];
|
|
12
|
+
};
|
|
13
|
+
type OpenApiDocument = {
|
|
14
|
+
readonly openapi: "3.1.1";
|
|
15
|
+
readonly jsonSchemaDialect: "https://json-schema.org/draft/2020-12/schema";
|
|
16
|
+
readonly info: OpenApiInfoObject;
|
|
17
|
+
readonly servers?: readonly OpenApiServerObject[];
|
|
18
|
+
readonly tags: readonly OpenApiTagObject[];
|
|
19
|
+
readonly paths: OpenApiPathsObject;
|
|
20
|
+
readonly components?: OpenApiComponentsObject;
|
|
21
|
+
};
|
|
22
|
+
type OpenApiInfoObject = {
|
|
23
|
+
readonly title: string;
|
|
24
|
+
readonly version: string;
|
|
25
|
+
readonly summary?: string;
|
|
26
|
+
readonly description?: string;
|
|
27
|
+
readonly termsOfService?: string;
|
|
28
|
+
readonly [key: string]: JsonSchemaValue | undefined;
|
|
29
|
+
};
|
|
30
|
+
type OpenApiServerObject = {
|
|
31
|
+
readonly url: string;
|
|
32
|
+
readonly description?: string;
|
|
33
|
+
readonly [key: string]: JsonSchemaValue | undefined;
|
|
34
|
+
};
|
|
35
|
+
type OpenApiTagObject = {
|
|
36
|
+
readonly name: string;
|
|
37
|
+
readonly description?: string;
|
|
38
|
+
};
|
|
39
|
+
type OpenApiPathsObject = Record<string, OpenApiPathItemObject>;
|
|
40
|
+
type OpenApiPathItemObject = Partial<Record<OpenApiHttpMethod, OpenApiOperationObject>>;
|
|
41
|
+
type OpenApiHttpMethod = "get" | "put" | "post" | "delete" | "options" | "head" | "patch";
|
|
42
|
+
type OpenApiOperationObject = {
|
|
43
|
+
readonly operationId: string;
|
|
44
|
+
readonly summary?: string;
|
|
45
|
+
readonly tags: readonly string[];
|
|
46
|
+
readonly parameters?: readonly OpenApiParameterObject[];
|
|
47
|
+
readonly requestBody?: OpenApiRequestBodyObject;
|
|
48
|
+
readonly responses: OpenApiResponsesObject;
|
|
49
|
+
};
|
|
50
|
+
type OpenApiParameterObject = {
|
|
51
|
+
readonly name: string;
|
|
52
|
+
readonly in: "path" | "query" | "header";
|
|
53
|
+
readonly required: boolean;
|
|
54
|
+
readonly schema: JsonSchema;
|
|
55
|
+
};
|
|
56
|
+
type OpenApiRequestBodyObject = {
|
|
57
|
+
readonly required: boolean;
|
|
58
|
+
readonly content: OpenApiContentObject;
|
|
59
|
+
};
|
|
60
|
+
type OpenApiContentObject = Record<string, OpenApiMediaTypeObject>;
|
|
61
|
+
type OpenApiMediaTypeObject = {
|
|
62
|
+
readonly schema: JsonSchema;
|
|
63
|
+
};
|
|
64
|
+
type OpenApiResponsesObject = Record<string, OpenApiResponseObject | OpenApiReferenceObject>;
|
|
65
|
+
type OpenApiReferenceObject = {
|
|
66
|
+
readonly $ref: string;
|
|
67
|
+
};
|
|
68
|
+
type OpenApiResponseObject = {
|
|
69
|
+
readonly description: string;
|
|
70
|
+
readonly headers?: Record<string, OpenApiHeaderObject>;
|
|
71
|
+
readonly content?: OpenApiContentObject;
|
|
72
|
+
};
|
|
73
|
+
type OpenApiHeaderObject = {
|
|
74
|
+
readonly description?: string;
|
|
75
|
+
readonly required: boolean;
|
|
76
|
+
readonly schema: JsonSchema;
|
|
77
|
+
};
|
|
78
|
+
type OpenApiComponentsObject = {
|
|
79
|
+
readonly responses?: Record<string, OpenApiResponseObject>;
|
|
80
|
+
readonly schemas?: Record<string, JsonSchema>;
|
|
81
|
+
};
|
|
82
|
+
type OpenApiSchemaConversionWarningCode = "unsupported-schema" | "unsupported-check" | "conversion-error";
|
|
83
|
+
type OpenApiSchemaConversionWarning = {
|
|
84
|
+
readonly origin: "schema-conversion";
|
|
85
|
+
readonly code: OpenApiSchemaConversionWarningCode;
|
|
86
|
+
readonly message: string;
|
|
87
|
+
readonly schemaType: string;
|
|
88
|
+
readonly schemaPath: string;
|
|
89
|
+
readonly documentPath: string;
|
|
90
|
+
readonly location: OpenApiWarningLocation;
|
|
91
|
+
};
|
|
92
|
+
type OpenApiDiagnosticWarningCode = "unrepresentable-parameter-container" | "unrepresentable-parameter-additional-properties" | "missing-path-parameter-schema" | "unused-path-parameter-schema" | "missing-canonical-response" | "duplicate-canonical-response";
|
|
93
|
+
type OpenApiDiagnosticWarning = {
|
|
94
|
+
readonly origin: "openapi-builder";
|
|
95
|
+
readonly code: OpenApiDiagnosticWarningCode;
|
|
96
|
+
readonly message: string;
|
|
97
|
+
readonly documentPath: string;
|
|
98
|
+
readonly location: OpenApiWarningLocation;
|
|
99
|
+
};
|
|
100
|
+
type OpenApiBuildWarning = OpenApiSchemaConversionWarning | OpenApiDiagnosticWarning;
|
|
101
|
+
type OpenApiWarningLocation = {
|
|
102
|
+
readonly resourceName?: string;
|
|
103
|
+
readonly operationId?: string;
|
|
104
|
+
readonly method?: string;
|
|
105
|
+
readonly path?: string;
|
|
106
|
+
readonly openApiPath?: string;
|
|
107
|
+
readonly part?: string;
|
|
108
|
+
readonly parameterName?: string;
|
|
109
|
+
readonly responseName?: string;
|
|
110
|
+
readonly statusCode?: string;
|
|
111
|
+
};
|
|
112
|
+
//#endregion
|
|
113
|
+
//#region src/buildOpenApiDocument.d.ts
|
|
114
|
+
declare function buildOpenApiDocument(normalizedSpec: NormalizedSpec, options: BuildOpenApiDocumentOptions): OpenApiBuildResult;
|
|
115
|
+
//#endregion
|
|
116
|
+
//#region src/OpenApiPlugin.d.ts
|
|
117
|
+
type OpenApiPluginOptions = {
|
|
118
|
+
readonly info?: OpenApiInfoObject;
|
|
119
|
+
readonly servers?: readonly OpenApiServerObject[];
|
|
120
|
+
readonly outputPath?: string;
|
|
121
|
+
};
|
|
122
|
+
declare class OpenApiPlugin extends BasePlugin {
|
|
123
|
+
name: string;
|
|
124
|
+
private readonly options;
|
|
125
|
+
constructor(options?: OpenApiPluginOptions);
|
|
126
|
+
generate(context: GeneratorContext): void;
|
|
127
|
+
}
|
|
128
|
+
//#endregion
|
|
129
|
+
export { type BuildOpenApiDocumentOptions, type OpenApiBuildResult, type OpenApiBuildWarning, type OpenApiComponentsObject, type OpenApiContentObject, type OpenApiDiagnosticWarning, type OpenApiDiagnosticWarningCode, type OpenApiDocument, type OpenApiHeaderObject, type OpenApiInfoObject, type OpenApiMediaTypeObject, type OpenApiOperationObject, type OpenApiParameterObject, type OpenApiPathItemObject, type OpenApiPathsObject, OpenApiPlugin, type OpenApiPluginOptions, type OpenApiReferenceObject, type OpenApiRequestBodyObject, type OpenApiResponseObject, type OpenApiResponsesObject, type OpenApiSchemaConversionWarning, type OpenApiSchemaConversionWarningCode, type OpenApiServerObject, type OpenApiTagObject, type OpenApiWarningLocation, buildOpenApiDocument };
|
|
130
|
+
//# sourceMappingURL=index.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.mts","names":[],"sources":["../src/types.ts","../src/buildOpenApiDocument.ts","../src/OpenApiPlugin.ts"],"mappings":";;;;KAKY,2BAAA;EAAA,SACD,IAAA,EAAM,iBAAA;EAAA,SACN,OAAA,YAAmB,mBAAA;AAAA;AAAA,KAGlB,kBAAA;EAAA,SACD,QAAA,EAAU,eAAA;EAAA,SACV,QAAA,WAAmB,mBAAA;AAAA;AAAA,KAGlB,eAAA;EAAA,SACD,OAAA;EAAA,SACA,iBAAA;EAAA,SACA,IAAA,EAAM,iBAAA;EAAA,SACN,OAAA,YAAmB,mBAAA;EAAA,SACnB,IAAA,WAAe,gBAAA;EAAA,SACf,KAAA,EAAO,kBAAA;EAAA,SACP,UAAA,GAAa,uBAAA;AAAA;AAAA,KAGZ,iBAAA;EAAA,SACD,KAAA;EAAA,SACA,OAAA;EAAA,SACA,OAAA;EAAA,SACA,WAAA;EAAA,SACA,cAAA;EAAA,UACC,GAAA,WAAc,eAAA;AAAA;AAAA,KAGd,mBAAA;EAAA,SACD,GAAA;EAAA,SACA,WAAA;EAAA,UACC,GAAA,WAAc,eAAA;AAAA;AAAA,KAGd,gBAAA;EAAA,SACD,IAAA;EAAA,SACA,WAAA;AAAA;AAAA,KAGC,kBAAA,GAAqB,MAAA,SAAe,qBAAA;AAAA,KAEpC,qBAAA,GAAwB,OAAA,CAClC,MAAA,CAAO,iBAAA,EAAmB,sBAAA;AAAA,KAGhB,iBAAA;AAAA,KASA,sBAAA;EAAA,SACD,WAAA;EAAA,SACA,OAAA;EAAA,SACA,IAAA;EAAA,SACA,UAAA,YAAsB,sBAAA;EAAA,SACtB,WAAA,GAAc,wBAAA;EAAA,SACd,SAAA,EAAW,sBAAA;AAAA;AAAA,KAGV,sBAAA;EAAA,SACD,IAAA;EAAA,SACA,EAAA;EAAA,SACA,QAAA;EAAA,SACA,MAAA,EAAQ,UAAA;AAAA;AAAA,KAGP,wBAAA;EAAA,SACD,QAAA;EAAA,SACA,OAAA,EAAS,oBAAA;AAAA;AAAA,KAGR,oBAAA,GAAuB,MAAA,SAAe,sBAAA;AAAA,KAEtC,sBAAA;EAAA,SACD,MAAA,EAAQ,UAAA;AAAA;AAAA,KAGP,sBAAA,GAAyB,MAAA,SAEnC,qBAAA,GAAwB,sBAAA;AAAA,KAGd,sBAAA;EAAA,SACD,IAAA;AAAA;AAAA,KAGC,qBAAA;EAAA,SACD,WAAA;EAAA,SACA,OAAA,GAAU,MAAA,SAAe,mBAAA;EAAA,SACzB,OAAA,GAAU,oBAAA;AAAA;AAAA,KAGT,mBAAA;EAAA,SACD,WAAA;EAAA,SACA,QAAA;EAAA,SACA,MAAA,EAAQ,UAAA;AAAA;AAAA,KAGP,uBAAA;EAAA,SACD,SAAA,GAAY,MAAA,SAAe,qBAAA;EAAA,SAC3B,OAAA,GAAU,MAAA,SAAe,UAAA;AAAA;AAAA,KAGxB,kCAAA;AAAA,KAKA,8BAAA;EAAA,SACD,MAAA;EAAA,SACA,IAAA,EAAM,kCAAA;EAAA,SACN,OAAA;EAAA,SACA,UAAA;EAAA,SACA,UAAA;EAAA,SACA,YAAA;EAAA,SACA,QAAA,EAAU,sBAAA;AAAA;AAAA,KAGT,4BAAA;AAAA,KAQA,wBAAA;EAAA,SACD,MAAA;EAAA,SACA,IAAA,EAAM,4BAAA;EAAA,SACN,OAAA;EAAA,SACA,YAAA;EAAA,SACA,QAAA,EAAU,sBAAA;AAAA;AAAA,KAGT,mBAAA,GACR,8BAAA,GACA,wBAAA;AAAA,KAEQ,sBAAA;EAAA,SACD,YAAA;EAAA,SACA,WAAA;EAAA,SACA,MAAA;EAAA,SACA,IAAA;EAAA,SACA,WAAA;EAAA,SACA,IAAA;EAAA,SACA,aAAA;EAAA,SACA,YAAA;EAAA,SACA,UAAA;AAAA;;;iBCjIK,oBAAA,CACd,cAAA,EAAgB,cAAA,EAChB,OAAA,EAAS,2BAAA,GACR,kBAAA;;;KCfS,oBAAA;EAAA,SACD,IAAA,GAAO,iBAAA;EAAA,SACP,OAAA,YAAmB,mBAAA;EAAA,SACnB,UAAA;AAAA;AAAA,cASE,aAAA,SAAsB,UAAA;EAC1B,IAAA;EAAA,iBAEU,OAAA;cAEE,OAAA,GAAS,oBAAA;EAKZ,QAAA,CAAS,OAAA,EAAS,gBAAA;AAAA"}
|