@danceroutine/tango-openapi 1.7.0 → 1.8.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.
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import type { APIViewMethod,
|
|
1
|
+
import type { APIViewMethod, AnyModelSerializer, AnyModelSerializerClass } from '@danceroutine/tango-resources';
|
|
2
2
|
import type { OpenAPIViewSetDescriptor, OpenAPIGenericAPIViewDescriptor, OpenAPIAPIViewDescriptor } from './types';
|
|
3
|
-
export declare function describeViewSet(descriptor: Omit<OpenAPIViewSetDescriptor, 'kind'>): OpenAPIViewSetDescriptor;
|
|
4
|
-
export declare function describeViewSet<TModel extends Record<string, unknown>, TSerializer extends
|
|
5
|
-
export declare function describeGenericAPIView(descriptor: Omit<OpenAPIGenericAPIViewDescriptor, 'kind'>): OpenAPIGenericAPIViewDescriptor;
|
|
6
|
-
export declare function describeGenericAPIView<TModel extends Record<string, unknown>, TSerializer extends
|
|
3
|
+
export declare function describeViewSet(descriptor: Omit<OpenAPIViewSetDescriptor<Record<string, unknown>, AnyModelSerializerClass>, 'kind'>): OpenAPIViewSetDescriptor;
|
|
4
|
+
export declare function describeViewSet<TModel extends Record<string, unknown>, TSerializer extends AnyModelSerializer<TModel> = AnyModelSerializer<TModel>>(descriptor: Omit<OpenAPIViewSetDescriptor<TModel, TSerializer>, 'kind'>): OpenAPIViewSetDescriptor<TModel, TSerializer>;
|
|
5
|
+
export declare function describeGenericAPIView(descriptor: Omit<OpenAPIGenericAPIViewDescriptor<Record<string, unknown>, AnyModelSerializerClass>, 'kind'>): OpenAPIGenericAPIViewDescriptor;
|
|
6
|
+
export declare function describeGenericAPIView<TModel extends Record<string, unknown>, TSerializer extends AnyModelSerializer<TModel> = AnyModelSerializer<TModel>>(descriptor: Omit<OpenAPIGenericAPIViewDescriptor<TModel, TSerializer>, 'kind'>): OpenAPIGenericAPIViewDescriptor<TModel, TSerializer>;
|
|
7
7
|
export declare function describeAPIView(descriptor: Omit<OpenAPIAPIViewDescriptor, 'kind'>): OpenAPIAPIViewDescriptor;
|
|
8
8
|
export declare function describeAPIView<TMethods extends Partial<Record<APIViewMethod, OpenAPIAPIViewDescriptor['methods'][APIViewMethod]>>>(descriptor: Omit<OpenAPIAPIViewDescriptor, 'kind'> & {
|
|
9
9
|
methods: TMethods;
|
package/dist/domain/types.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { APIView, APIViewMethod,
|
|
1
|
+
import type { APIView, APIViewMethod, AnyModelSerializer, AnyModelSerializerClass, GenericAPIView, ModelViewSet } from '@danceroutine/tango-resources';
|
|
2
2
|
import type { z } from 'zod';
|
|
3
3
|
/** Model field metadata used by low-level model-to-schema OpenAPI generation. */
|
|
4
4
|
export type OpenAPIModelFieldMeta = {
|
|
@@ -125,14 +125,14 @@ export interface OpenAPIOptions {
|
|
|
125
125
|
description?: string;
|
|
126
126
|
}>;
|
|
127
127
|
}
|
|
128
|
-
export type OpenAPIViewSetDescriptor<TModel extends Record<string, unknown> = Record<string, unknown>, TSerializer extends
|
|
128
|
+
export type OpenAPIViewSetDescriptor<TModel extends Record<string, unknown> = Record<string, unknown>, TSerializer extends AnyModelSerializer<TModel> = AnyModelSerializer<TModel>> = {
|
|
129
129
|
kind: 'viewset';
|
|
130
130
|
basePath: string;
|
|
131
131
|
resource: ModelViewSet<TModel, TSerializer>;
|
|
132
132
|
tags?: string[];
|
|
133
133
|
actions?: Record<string, OpenAPIOperationOverride>;
|
|
134
134
|
};
|
|
135
|
-
export type OpenAPIGenericAPIViewDescriptor<TModel extends Record<string, unknown> = Record<string, unknown>, TSerializer extends
|
|
135
|
+
export type OpenAPIGenericAPIViewDescriptor<TModel extends Record<string, unknown> = Record<string, unknown>, TSerializer extends AnyModelSerializer<TModel> = AnyModelSerializer<TModel>> = {
|
|
136
136
|
kind: 'generic';
|
|
137
137
|
collectionPath?: string;
|
|
138
138
|
detailPath?: string;
|
|
@@ -147,8 +147,21 @@ export type OpenAPIAPIViewDescriptor = {
|
|
|
147
147
|
tags?: string[];
|
|
148
148
|
methods: Partial<Record<APIViewMethod, OpenAPIOperationOverride>>;
|
|
149
149
|
};
|
|
150
|
-
type AnyOpenAPIViewSetDescriptor =
|
|
151
|
-
|
|
150
|
+
type AnyOpenAPIViewSetDescriptor = {
|
|
151
|
+
kind: 'viewset';
|
|
152
|
+
basePath: string;
|
|
153
|
+
resource: ModelViewSet<any, AnyModelSerializerClass>;
|
|
154
|
+
tags?: string[];
|
|
155
|
+
actions?: Record<string, OpenAPIOperationOverride>;
|
|
156
|
+
};
|
|
157
|
+
type AnyOpenAPIGenericAPIViewDescriptor = {
|
|
158
|
+
kind: 'generic';
|
|
159
|
+
collectionPath?: string;
|
|
160
|
+
detailPath?: string;
|
|
161
|
+
resource: GenericAPIView<any, AnyModelSerializerClass>;
|
|
162
|
+
tags?: string[];
|
|
163
|
+
methods?: Partial<Record<APIViewMethod, OpenAPIOperationOverride>>;
|
|
164
|
+
};
|
|
152
165
|
export type OpenAPIResourceDescriptor = AnyOpenAPIViewSetDescriptor | AnyOpenAPIGenericAPIViewDescriptor | OpenAPIAPIViewDescriptor;
|
|
153
166
|
/** Extended generator configuration used by Tango's OpenAPI builder. */
|
|
154
167
|
export type OpenAPIGeneratorConfig = OpenAPIOptions & {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"domain-B-7sApJT.js","names":["descriptor: Omit<OpenAPIViewSetDescriptor, 'kind'>","descriptor: Omit<OpenAPIGenericAPIViewDescriptor, 'kind'>","descriptor: Omit<OpenAPIAPIViewDescriptor, 'kind'>"],"sources":["../src/domain/describeResources.ts","../src/domain/index.ts"],"sourcesContent":["import type { APIViewMethod,
|
|
1
|
+
{"version":3,"file":"domain-B-7sApJT.js","names":["descriptor: Omit<OpenAPIViewSetDescriptor, 'kind'>","descriptor: Omit<OpenAPIGenericAPIViewDescriptor, 'kind'>","descriptor: Omit<OpenAPIAPIViewDescriptor, 'kind'>"],"sources":["../src/domain/describeResources.ts","../src/domain/index.ts"],"sourcesContent":["import type { APIViewMethod, AnyModelSerializer, AnyModelSerializerClass } from '@danceroutine/tango-resources';\nimport type { OpenAPIViewSetDescriptor, OpenAPIGenericAPIViewDescriptor, OpenAPIAPIViewDescriptor } from './types';\n\nexport function describeViewSet(\n descriptor: Omit<\n OpenAPIViewSetDescriptor<\n Record<string, unknown>,\n // oxlint-disable-next-line typescript/no-explicit-any\n AnyModelSerializerClass\n >,\n 'kind'\n >\n): OpenAPIViewSetDescriptor;\nexport function describeViewSet<\n TModel extends Record<string, unknown>,\n TSerializer extends AnyModelSerializer<TModel> = AnyModelSerializer<TModel>,\n>(\n descriptor: Omit<OpenAPIViewSetDescriptor<TModel, TSerializer>, 'kind'>\n): OpenAPIViewSetDescriptor<TModel, TSerializer>;\nexport function describeViewSet(descriptor: Omit<OpenAPIViewSetDescriptor, 'kind'>) {\n return {\n kind: 'viewset',\n ...descriptor,\n };\n}\n\nexport function describeGenericAPIView(\n descriptor: Omit<\n OpenAPIGenericAPIViewDescriptor<\n Record<string, unknown>,\n // oxlint-disable-next-line typescript/no-explicit-any\n AnyModelSerializerClass\n >,\n 'kind'\n >\n): OpenAPIGenericAPIViewDescriptor;\nexport function describeGenericAPIView<\n TModel extends Record<string, unknown>,\n TSerializer extends AnyModelSerializer<TModel> = AnyModelSerializer<TModel>,\n>(\n descriptor: Omit<OpenAPIGenericAPIViewDescriptor<TModel, TSerializer>, 'kind'>\n): OpenAPIGenericAPIViewDescriptor<TModel, TSerializer>;\nexport function describeGenericAPIView(descriptor: Omit<OpenAPIGenericAPIViewDescriptor, 'kind'>) {\n return {\n kind: 'generic',\n ...descriptor,\n };\n}\n\nexport function describeAPIView(descriptor: Omit<OpenAPIAPIViewDescriptor, 'kind'>): OpenAPIAPIViewDescriptor;\nexport function describeAPIView<\n TMethods extends Partial<Record<APIViewMethod, OpenAPIAPIViewDescriptor['methods'][APIViewMethod]>>,\n>(descriptor: Omit<OpenAPIAPIViewDescriptor, 'kind'> & { methods: TMethods }): OpenAPIAPIViewDescriptor;\nexport function describeAPIView(descriptor: Omit<OpenAPIAPIViewDescriptor, 'kind'>) {\n return {\n kind: 'api',\n ...descriptor,\n };\n}\n","/**\n * Domain boundary barrel: centralizes this subdomain's public contract.\n */\n\nexport type {\n ComponentsObject,\n MediaTypeObject,\n OperationObject,\n OpenAPIAPIViewDescriptor,\n OpenAPIModel,\n OpenAPIModelFieldMeta,\n OpenAPIOptions,\n OpenAPIOperationOverride,\n OpenAPIResponseOverride,\n OpenAPIResourceDescriptor,\n OpenAPISchemaInput,\n OpenAPISpec,\n OpenAPIGeneratorConfig,\n OpenAPIGenericAPIViewDescriptor,\n OpenAPIViewSetDescriptor,\n ParameterObject,\n PathItemObject,\n ReferenceObject,\n RequestBodyObject,\n ResponseObject,\n SchemaObject,\n} from './types';\nexport { describeAPIView, describeGenericAPIView, describeViewSet } from './describeResources';\n"],"mappings":";;;AAmBO,SAAS,gBAAgBA,YAAoD;AAChF,QAAO;EACH,MAAM;EACN,GAAG;CACN;AACJ;AAkBM,SAAS,uBAAuBC,YAA2D;AAC9F,QAAO;EACH,MAAM;EACN,GAAG;CACN;AACJ;AAMM,SAAS,gBAAgBC,YAAoD;AAChF,QAAO;EACH,MAAM;EACN,GAAG;CACN;AACJ"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@danceroutine/tango-openapi",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.8.0",
|
|
4
4
|
"description": "OpenAPI generation for Tango resources",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -41,15 +41,15 @@
|
|
|
41
41
|
},
|
|
42
42
|
"dependencies": {
|
|
43
43
|
"zod": "^4.0.0",
|
|
44
|
-
"@danceroutine/tango-resources": "1.
|
|
44
|
+
"@danceroutine/tango-resources": "1.8.0"
|
|
45
45
|
},
|
|
46
46
|
"devDependencies": {
|
|
47
47
|
"@types/node": "^22.9.0",
|
|
48
48
|
"tsdown": "^0.4.0",
|
|
49
49
|
"typescript": "^5.6.3",
|
|
50
50
|
"vitest": "^4.0.6",
|
|
51
|
-
"@danceroutine/tango-core": "1.
|
|
52
|
-
"@danceroutine/tango-testing": "1.
|
|
51
|
+
"@danceroutine/tango-core": "1.8.0",
|
|
52
|
+
"@danceroutine/tango-testing": "1.8.0"
|
|
53
53
|
},
|
|
54
54
|
"scripts": {
|
|
55
55
|
"build": "tsdown",
|