@openapi-qraft/plugin 2.0.0-next.12 → 2.0.0-next.14
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/CHANGELOG.md +8 -0
- package/dist/lib/open-api/OpenAPISchemaType.d.ts +3 -0
- package/dist/lib/open-api/OpenAPISchemaType.d.ts.map +1 -1
- package/dist/lib/open-api/getServices.d.ts +1 -1
- package/dist/lib/open-api/getServices.d.ts.map +1 -1
- package/dist/lib/open-api/getServices.js +5 -4
- package/dist/lib/open-api/getServices.js.map +1 -1
- package/dist/lib/open-api/replaceRefParametersWithComponent.d.ts +5 -0
- package/dist/lib/open-api/replaceRefParametersWithComponent.d.ts.map +1 -0
- package/dist/lib/open-api/replaceRefParametersWithComponent.js +26 -0
- package/dist/lib/open-api/replaceRefParametersWithComponent.js.map +1 -0
- package/dist/lib/parseOperationGlobs.d.ts +1 -1
- package/dist/lib/predefineSchemaParameters.d.ts +0 -1
- package/dist/lib/predefineSchemaParameters.d.ts.map +1 -1
- package/dist/lib/predefineSchemaParameters.js +9 -13
- package/dist/lib/predefineSchemaParameters.js.map +1 -1
- package/dist/packageVersion.d.ts +1 -1
- package/dist/packageVersion.js +1 -1
- package/package.json +1 -1
- package/src/lib/open-api/OpenAPISchemaType.ts +3 -0
- package/src/lib/open-api/getServices.ts +7 -5
- package/src/lib/open-api/replaceRefParametersWithComponent.ts +40 -0
- package/src/lib/predefineSchemaParameters.ts +12 -19
- package/src/packageVersion.ts +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OpenAPISchemaType.d.ts","sourceRoot":"","sources":["../../../src/lib/open-api/OpenAPISchemaType.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,iBAAiB,GAAG;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE;QACJ,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,KAAK,EAAE;QACL,CAAC,IAAI,EAAE,MAAM,GAAG;YACd,CAAC,MAAM,EAAE,MAAM,GAAG;gBAChB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;gBAChB,WAAW,CAAC,EAAE,MAAM,CAAC;gBACrB,OAAO,CAAC,EAAE,MAAM,CAAC;gBACjB,WAAW,CAAC,EAAE,MAAM,CAAC;gBACrB,UAAU,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;gBACxB,UAAU,CAAC,EAAE,OAAO,CAAC;gBACrB,WAAW,CAAC,EAAE;oBACZ,OAAO,EAAE;wBACP,CAAC,WAAW,EAAE,MAAM,GAAG;4BACrB,MAAM,EAAE,GAAG,CAAC;yBACb,CAAC;qBACH,CAAC;iBACH,CAAC;gBACF,SAAS,EAAE;qBACR,UAAU,IAAI,MAAM,GAAG,SAAS,GAAG;wBAClC,WAAW,EAAE,MAAM,CAAC;wBACpB,OAAO,EAAE;4BACP,CAAC,WAAW,EAAE,MAAM,GAAG;gCACrB,MAAM,EAAE,GAAG,CAAC;6BACb,CAAC;yBACH,CAAC;qBACH;iBACF,CAAC;gBACF,QAAQ,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC;aACxD,CAAC;SACH,CAAC;KACH,CAAC;CACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"OpenAPISchemaType.d.ts","sourceRoot":"","sources":["../../../src/lib/open-api/OpenAPISchemaType.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,iBAAiB,GAAG;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE;QACJ,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,KAAK,EAAE;QACL,CAAC,IAAI,EAAE,MAAM,GAAG;YACd,CAAC,MAAM,EAAE,MAAM,GAAG;gBAChB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;gBAChB,WAAW,CAAC,EAAE,MAAM,CAAC;gBACrB,OAAO,CAAC,EAAE,MAAM,CAAC;gBACjB,WAAW,CAAC,EAAE,MAAM,CAAC;gBACrB,UAAU,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;gBACxB,UAAU,CAAC,EAAE,OAAO,CAAC;gBACrB,WAAW,CAAC,EAAE;oBACZ,OAAO,EAAE;wBACP,CAAC,WAAW,EAAE,MAAM,GAAG;4BACrB,MAAM,EAAE,GAAG,CAAC;yBACb,CAAC;qBACH,CAAC;iBACH,CAAC;gBACF,SAAS,EAAE;qBACR,UAAU,IAAI,MAAM,GAAG,SAAS,GAAG;wBAClC,WAAW,EAAE,MAAM,CAAC;wBACpB,OAAO,EAAE;4BACP,CAAC,WAAW,EAAE,MAAM,GAAG;gCACrB,MAAM,EAAE,GAAG,CAAC;6BACb,CAAC;yBACH,CAAC;qBACH;iBACF,CAAC;gBACF,QAAQ,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC;aACxD,CAAC;SACH,CAAC;KACH,CAAC;IACF,UAAU,EAAE;QACV,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,SAAS,CAAC;KAC7C,CAAC;CACH,CAAC"}
|
|
@@ -37,6 +37,6 @@ export interface ServiceOutputOptions {
|
|
|
37
37
|
}
|
|
38
38
|
export declare const getServices: (openApiJson: OpenAPISchemaType, { postfixServices, serviceNameBase, }?: ServiceOutputOptions) => Service[];
|
|
39
39
|
export declare const supportedMethod: (method: unknown) => method is (typeof supportedHTTPMethods)[number];
|
|
40
|
-
declare const supportedHTTPMethods: ("get" | "put" | "post" | "
|
|
40
|
+
declare const supportedHTTPMethods: ("get" | "put" | "post" | "delete" | "options" | "head" | "patch" | "trace")[];
|
|
41
41
|
export {};
|
|
42
42
|
//# sourceMappingURL=getServices.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getServices.d.ts","sourceRoot":"","sources":["../../../src/lib/open-api/getServices.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAIhE,OAAO,EAEL,+BAA+B,EAChC,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"getServices.d.ts","sourceRoot":"","sources":["../../../src/lib/open-api/getServices.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAIhE,OAAO,EAEL,+BAA+B,EAChC,MAAM,yCAAyC,CAAC;AAIjD,MAAM,MAAM,eAAe,GAAG,+BAA+B,GAAG,MAAM,CAAC;AAEvE;;GAEG;AACH,MAAM,MAAM,OAAO,GAAG;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,gBAAgB,EAAE,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,MAAM,EACF,KAAK,GACL,KAAK,GACL,MAAM,GACN,OAAO,GACP,QAAQ,GACR,SAAS,GACT,MAAM,GACN,OAAO,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,UAAU,EAAE,OAAO,GAAG,SAAS,CAAC;IAChC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;IAC3C,WAAW,EAAE,iBAAiB,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC,CAAC;IACvE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;IAC5C,UAAU,EACN;QACE,IAAI,EAAE,MAAM,CAAC;QACb,EAAE,EAAE,QAAQ,GAAG,OAAO,GAAG,QAAQ,CAAC;QAClC,WAAW,EAAE,MAAM,CAAC;QACpB,QAAQ,EAAE,OAAO,CAAC;QAClB,MAAM,EAAE,GAAG,CAAC;QACZ,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;KAC7B,EAAE,GACH,SAAS,CAAC;IACd,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC,GAAG,SAAS,CAAC;CACnE,CAAC;AAEF,MAAM,WAAW,oBAAoB;IACnC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,eAAe,CAAC;CACnC;AAED,eAAO,MAAM,WAAW,gBACT,iBAAiB,0CAI3B,oBAAoB,cAuGxB,CAAC;AAEF,eAAO,MAAM,eAAe,WAClB,OAAO,KACd,MAAM,IAAI,CAAC,OAAO,oBAAoB,EAAE,MAAM,CAG9C,CAAC;AAEJ,QAAA,MAAM,oBAAoB,gFAS+B,CAAC"}
|
|
@@ -3,8 +3,10 @@ import { getContentMediaType } from './getContent.js';
|
|
|
3
3
|
import { getOperationName } from './getOperationName.js';
|
|
4
4
|
import { getServiceNamesByOperationEndpoint, } from './getServiceNamesByOperationEndpoint.js';
|
|
5
5
|
import { getServiceNamesByOperationTags } from './getServiceNamesByOperationTags.js';
|
|
6
|
+
import { replaceRefParametersWithComponent } from './replaceRefParametersWithComponent.js';
|
|
6
7
|
export const getServices = (openApiJson, { postfixServices = 'Service', serviceNameBase = 'endpoint[0]', } = {}) => {
|
|
7
8
|
const paths = openApiJson.paths;
|
|
9
|
+
const parametersComponents = openApiJson.components.parameters ?? {};
|
|
8
10
|
const services = new Map();
|
|
9
11
|
for (const path in paths) {
|
|
10
12
|
if (!Object.prototype.hasOwnProperty.call(paths, path))
|
|
@@ -59,10 +61,9 @@ export const getServices = (openApiJson, { postfixServices = 'Service', serviceN
|
|
|
59
61
|
description: methodOperation.description,
|
|
60
62
|
summary: methodOperation.summary,
|
|
61
63
|
deprecated: methodOperation.deprecated,
|
|
62
|
-
parameters:
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
: methodOperation.parameters,
|
|
64
|
+
parameters: replaceRefParametersWithComponent(
|
|
65
|
+
// @ts-expect-error the issue with custom OpenAPISchemaType
|
|
66
|
+
methodOperation.parameters, parametersComponents),
|
|
66
67
|
requestBody: methodOperation.requestBody,
|
|
67
68
|
success: success,
|
|
68
69
|
security: methodOperation.security,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getServices.js","sourceRoot":"","sources":["../../../src/lib/open-api/getServices.ts"],"names":[],"mappings":"AACA,OAAO,SAAS,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EACL,kCAAkC,GAEnC,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAAE,8BAA8B,EAAE,MAAM,qCAAqC,CAAC;
|
|
1
|
+
{"version":3,"file":"getServices.js","sourceRoot":"","sources":["../../../src/lib/open-api/getServices.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { OpenAPISchemaType } from './OpenAPISchemaType.js';
|
|
2
|
+
import { ParameterObject } from 'openapi-typescript';
|
|
3
|
+
import { ReferenceObject } from 'openapi-typescript/src/types.js';
|
|
4
|
+
export declare function replaceRefParametersWithComponent(parameters: ParameterObject | ReferenceObject | undefined, parametersComponents: OpenAPISchemaType['components']['parameters']): any[] | undefined;
|
|
5
|
+
//# sourceMappingURL=replaceRefParametersWithComponent.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"replaceRefParametersWithComponent.d.ts","sourceRoot":"","sources":["../../../src/lib/open-api/replaceRefParametersWithComponent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAElE,wBAAgB,iCAAiC,CAC/C,UAAU,EAAE,eAAe,GAAG,eAAe,GAAG,SAAS,EACzD,oBAAoB,EAAE,iBAAiB,CAAC,YAAY,CAAC,CAAC,YAAY,CAAC,qBAkBpE"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
export function replaceRefParametersWithComponent(parameters, parametersComponents) {
|
|
2
|
+
if (!Array.isArray(parameters))
|
|
3
|
+
return undefined;
|
|
4
|
+
const definedParameters = parameters
|
|
5
|
+
.map((parameter) => {
|
|
6
|
+
if (parameter.$ref)
|
|
7
|
+
return getParametersComponentByRef(parameter.$ref, parametersComponents);
|
|
8
|
+
return parameter;
|
|
9
|
+
})
|
|
10
|
+
.filter(Boolean);
|
|
11
|
+
if (!definedParameters.length)
|
|
12
|
+
return undefined;
|
|
13
|
+
return definedParameters;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Get the operation from the $ref
|
|
17
|
+
* @param $ref Example: `#/components/parameters/Export`
|
|
18
|
+
* @param parameters
|
|
19
|
+
*/
|
|
20
|
+
function getParametersComponentByRef($ref, parameters) {
|
|
21
|
+
const refPath = $ref.split('/').slice(1);
|
|
22
|
+
if (refPath[1] === 'parameters') {
|
|
23
|
+
return parameters?.[refPath[2]];
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=replaceRefParametersWithComponent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"replaceRefParametersWithComponent.js","sourceRoot":"","sources":["../../../src/lib/open-api/replaceRefParametersWithComponent.ts"],"names":[],"mappings":"AAIA,MAAM,UAAU,iCAAiC,CAC/C,UAAyD,EACzD,oBAAmE;IAEnE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC;QAAE,OAAO,SAAS,CAAC;IAEjD,MAAM,iBAAiB,GAAG,UAAU;SACjC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE;QACjB,IAAI,SAAS,CAAC,IAAI;YAChB,OAAO,2BAA2B,CAChC,SAAS,CAAC,IAAI,EACd,oBAAoB,CACrB,CAAC;QACJ,OAAO,SAAS,CAAC;IACnB,CAAC,CAAC;SACD,MAAM,CAAC,OAAO,CAAC,CAAC;IAEnB,IAAI,CAAC,iBAAiB,CAAC,MAAM;QAAE,OAAO,SAAS,CAAC;IAEhD,OAAO,iBAAiB,CAAC;AAC3B,CAAC;AAED;;;;GAIG;AACH,SAAS,2BAA2B,CAClC,IAAY,EACZ,UAAyD;IAEzD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACzC,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,YAAY,EAAE,CAAC;QAChC,OAAO,UAAU,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IAClC,CAAC;AACH,CAAC"}
|
|
@@ -10,7 +10,7 @@ import { ServiceOperation } from './open-api/getServices.js';
|
|
|
10
10
|
* ```
|
|
11
11
|
*/
|
|
12
12
|
export declare const parseOperationGlobs: (operationFullGlobs: string) => {
|
|
13
|
-
methods: ("get" | "put" | "post" | "
|
|
13
|
+
methods: ("get" | "put" | "post" | "delete" | "options" | "head" | "patch" | "trace")[] | undefined;
|
|
14
14
|
pathGlobs: string;
|
|
15
15
|
};
|
|
16
16
|
export type OperationGlobMethods = ServiceOperation['method'];
|
|
@@ -17,7 +17,6 @@ export declare function predefineSchemaParameters(schema: OpenAPI3, predefinedPa
|
|
|
17
17
|
export declare function parseOperationPredefinedParametersOption(...optionItems: string[]): ParsedPredefinedParametersOption[];
|
|
18
18
|
export declare function createPredefinedParametersGlobs(schema: OpenAPI3, predefinedParameters: ParsedPredefinedParametersOption[]): Array<PredefinedParametersGlob>;
|
|
19
19
|
export declare function assertIsOperationObject(operationItem: OperationObject | ReferenceObject): asserts operationItem is OperationObject;
|
|
20
|
-
export declare function assertIsParameterObjects(parameterObjects: Array<ParameterObject | ReferenceObject>): asserts parameterObjects is Array<ParameterObject>;
|
|
21
20
|
type ParsedPredefinedParametersOption = {
|
|
22
21
|
methods: OperationGlobMethods[] | undefined;
|
|
23
22
|
pathGlobs: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"predefineSchemaParameters.d.ts","sourceRoot":"","sources":["../../src/lib/predefineSchemaParameters.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACtE,OAAO,EAEL,eAAe,EAChB,MAAM,iCAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"predefineSchemaParameters.d.ts","sourceRoot":"","sources":["../../src/lib/predefineSchemaParameters.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACtE,OAAO,EAEL,eAAe,EAChB,MAAM,iCAAiC,CAAC;AAGzC,OAAO,EACL,oBAAoB,EAErB,MAAM,0BAA0B,CAAC;AAGlC,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,QAAQ,EAChB,yBAAyB,EAAE,wBAAwB,EAAE,GACpD,QAAQ,CAkEV;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,wCAAwC,CACtD,GAAG,WAAW,EAAE,MAAM,EAAE,GACvB,gCAAgC,EAAE,CAoDpC;AAED,wBAAgB,+BAA+B,CAC7C,MAAM,EAAE,QAAQ,EAChB,oBAAoB,EAAE,gCAAgC,EAAE,GACvD,KAAK,CAAC,wBAAwB,CAAC,CA2JjC;AA4BD,wBAAgB,uBAAuB,CACrC,aAAa,EAAE,eAAe,GAAG,eAAe,GAC/C,OAAO,CAAC,aAAa,IAAI,eAAe,CAM1C;AAED,KAAK,gCAAgC,GAAG;IACtC,OAAO,EAAE,oBAAoB,EAAE,GAAG,SAAS,CAAC;IAC5C,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,IAAI,CAAC,eAAe,EAAE,IAAI,GAAG,MAAM,CAAC,EAAE,CAAC;CACpD,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG;IACrC,OAAO,EAAE,oBAAoB,EAAE,CAAC;IAChC,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,UAAU,EAAE,IAAI,CAAC,eAAe,EAAE,IAAI,GAAG,MAAM,CAAC,EAAE,CAAC;IACnD,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { createServicePathMatch } from './createServicePathMatch.js';
|
|
2
|
+
import { replaceRefParametersWithComponent } from './open-api/replaceRefParametersWithComponent.js';
|
|
2
3
|
import { parseOperationGlobs, } from './parseOperationGlobs.js';
|
|
3
4
|
import { splitCommaSeparatedGlobs } from './splitCommaSeparatedGlobs.js';
|
|
4
5
|
export function predefineSchemaParameters(schema, predefinedParametersGlobs) {
|
|
@@ -25,9 +26,8 @@ export function predefineSchemaParameters(schema, predefinedParametersGlobs) {
|
|
|
25
26
|
const predefinedOperation = predefinedPathItem?.[method];
|
|
26
27
|
if (predefinedOperation)
|
|
27
28
|
assertIsOperationObject(predefinedOperation);
|
|
28
|
-
const operationParameters = predefinedOperation?.parameters ?? operation.parameters
|
|
29
|
-
|
|
30
|
-
const predefinedParameters = operationParameters.map((operationParameter) => {
|
|
29
|
+
const operationParameters = replaceRefParametersWithComponent(predefinedOperation?.parameters ?? operation.parameters, schema.components?.parameters);
|
|
30
|
+
const predefinedParameters = operationParameters?.map((operationParameter) => {
|
|
31
31
|
if (findPredefinedOperationParameter(operationParameter, predefinedParametersGlob.parameters)) {
|
|
32
32
|
return {
|
|
33
33
|
...operationParameter,
|
|
@@ -127,8 +127,9 @@ export function createPredefinedParametersGlobs(schema, predefinedParameters) {
|
|
|
127
127
|
if (!operation)
|
|
128
128
|
continue;
|
|
129
129
|
assertIsOperationObject(operation);
|
|
130
|
-
const operationParameters =
|
|
131
|
-
|
|
130
|
+
const operationParameters = replaceRefParametersWithComponent(
|
|
131
|
+
// @ts-expect-error the issue with custom OpenAPISchemaType
|
|
132
|
+
operation.parameters, schema.components?.parameters);
|
|
132
133
|
const predefinedParametersGlobKey = createOperationGlobsKey(pathGlobs, methods);
|
|
133
134
|
if (!predefinedParametersGlobMap.has(predefinedParametersGlobKey))
|
|
134
135
|
predefinedParametersGlobMap.set(predefinedParametersGlobKey, {
|
|
@@ -142,7 +143,9 @@ export function createPredefinedParametersGlobs(schema, predefinedParameters) {
|
|
|
142
143
|
if (!predefinedPathGlob)
|
|
143
144
|
throw new Error('predefinedPathGlob not found');
|
|
144
145
|
for (const parameterSchemaToPredefine of parametersToPredefine) {
|
|
145
|
-
const parameterToPredefine = findPredefinedOperationParameter(parameterSchemaToPredefine,
|
|
146
|
+
const parameterToPredefine = findPredefinedOperationParameter(parameterSchemaToPredefine,
|
|
147
|
+
// @ts-expect-error the issue with custom OpenAPISchemaType
|
|
148
|
+
operationParameters);
|
|
146
149
|
if (!predefinedPathGlob.methods?.includes(method)) {
|
|
147
150
|
predefinedPathGlob.methods.push(method);
|
|
148
151
|
}
|
|
@@ -204,11 +207,4 @@ export function assertIsOperationObject(operationItem) {
|
|
|
204
207
|
throw new Error(`Expected a OperationObject, but got a ReferenceObject: ${operationItem}`);
|
|
205
208
|
}
|
|
206
209
|
}
|
|
207
|
-
export function assertIsParameterObjects(parameterObjects) {
|
|
208
|
-
parameterObjects.forEach((parameterObject) => {
|
|
209
|
-
if ('$ref' in parameterObject) {
|
|
210
|
-
throw new Error(`Expected a ParameterObject, but got a ReferenceObject: ${parameterObject}`);
|
|
211
|
-
}
|
|
212
|
-
});
|
|
213
|
-
}
|
|
214
210
|
//# sourceMappingURL=predefineSchemaParameters.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"predefineSchemaParameters.js","sourceRoot":"","sources":["../../src/lib/predefineSchemaParameters.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAEL,mBAAmB,GACpB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAEzE,MAAM,UAAU,yBAAyB,CACvC,MAAgB,EAChB,yBAAqD;IAErD,MAAM,qBAAqB,GAAwB,EAAE,CAAC;IAEtD,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QAChC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC;YAAE,SAAS;QAExE,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAEnC,sBAAsB,CAAC,OAAO,CAAC,CAAC;QAEhC,qBAAqB,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,EAAE,CAAC;QAE7C,KAAK,MAAM,OAAO,IAAI,OAAO,EAAE,CAAC;YAC9B,MAAM,MAAM,GAAG,OAA+B,CAAC;YAC/C,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC;gBAAE,SAAS;YAErE,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;YAClC,uBAAuB,CAAC,SAAS,CAAC,CAAC;YAEnC,KAAK,MAAM,wBAAwB,IAAI,yBAAyB,EAAE,CAAC;gBACjE,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;oBACnD,SAAS;gBACX,CAAC;gBAED,MAAM,kBAAkB,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC;gBACvD,IAAI,kBAAkB;oBAAE,sBAAsB,CAAC,kBAAkB,CAAC,CAAC;gBACnE,MAAM,mBAAmB,GAAG,kBAAkB,EAAE,CAAC,MAAM,CAAC,CAAC;gBACzD,IAAI,mBAAmB;oBAAE,uBAAuB,CAAC,mBAAmB,CAAC,CAAC;gBAEtE,MAAM,mBAAmB,
|
|
1
|
+
{"version":3,"file":"predefineSchemaParameters.js","sourceRoot":"","sources":["../../src/lib/predefineSchemaParameters.ts"],"names":[],"mappings":"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"}
|
package/dist/packageVersion.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const packageVersion = "2.0.0-next.
|
|
1
|
+
export declare const packageVersion = "2.0.0-next.14";
|
|
2
2
|
//# sourceMappingURL=packageVersion.d.ts.map
|
package/dist/packageVersion.js
CHANGED
package/package.json
CHANGED
|
@@ -7,6 +7,7 @@ import {
|
|
|
7
7
|
ServiceBaseNameByEndpointOption,
|
|
8
8
|
} from './getServiceNamesByOperationEndpoint.js';
|
|
9
9
|
import { getServiceNamesByOperationTags } from './getServiceNamesByOperationTags.js';
|
|
10
|
+
import { replaceRefParametersWithComponent } from './replaceRefParametersWithComponent.js';
|
|
10
11
|
|
|
11
12
|
export type ServiceBaseName = ServiceBaseNameByEndpointOption | 'tags';
|
|
12
13
|
|
|
@@ -65,6 +66,7 @@ export const getServices = (
|
|
|
65
66
|
}: ServiceOutputOptions = {}
|
|
66
67
|
) => {
|
|
67
68
|
const paths = openApiJson.paths;
|
|
69
|
+
const parametersComponents = openApiJson.components.parameters ?? {};
|
|
68
70
|
|
|
69
71
|
const services = new Map<string, Service>();
|
|
70
72
|
|
|
@@ -150,11 +152,11 @@ export const getServices = (
|
|
|
150
152
|
description: methodOperation.description,
|
|
151
153
|
summary: methodOperation.summary,
|
|
152
154
|
deprecated: methodOperation.deprecated,
|
|
153
|
-
parameters:
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
155
|
+
parameters: replaceRefParametersWithComponent(
|
|
156
|
+
// @ts-expect-error the issue with custom OpenAPISchemaType
|
|
157
|
+
methodOperation.parameters,
|
|
158
|
+
parametersComponents
|
|
159
|
+
),
|
|
158
160
|
requestBody: methodOperation.requestBody,
|
|
159
161
|
success: success,
|
|
160
162
|
security: methodOperation.security,
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import type { OpenAPISchemaType } from './OpenAPISchemaType.js';
|
|
2
|
+
import { ParameterObject } from 'openapi-typescript';
|
|
3
|
+
import { ReferenceObject } from 'openapi-typescript/src/types.js';
|
|
4
|
+
|
|
5
|
+
export function replaceRefParametersWithComponent(
|
|
6
|
+
parameters: ParameterObject | ReferenceObject | undefined,
|
|
7
|
+
parametersComponents: OpenAPISchemaType['components']['parameters']
|
|
8
|
+
) {
|
|
9
|
+
if (!Array.isArray(parameters)) return undefined;
|
|
10
|
+
|
|
11
|
+
const definedParameters = parameters
|
|
12
|
+
.map((parameter) => {
|
|
13
|
+
if (parameter.$ref)
|
|
14
|
+
return getParametersComponentByRef(
|
|
15
|
+
parameter.$ref,
|
|
16
|
+
parametersComponents
|
|
17
|
+
);
|
|
18
|
+
return parameter;
|
|
19
|
+
})
|
|
20
|
+
.filter(Boolean);
|
|
21
|
+
|
|
22
|
+
if (!definedParameters.length) return undefined;
|
|
23
|
+
|
|
24
|
+
return definedParameters;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* Get the operation from the $ref
|
|
29
|
+
* @param $ref Example: `#/components/parameters/Export`
|
|
30
|
+
* @param parameters
|
|
31
|
+
*/
|
|
32
|
+
function getParametersComponentByRef(
|
|
33
|
+
$ref: string,
|
|
34
|
+
parameters: OpenAPISchemaType['components']['parameters']
|
|
35
|
+
) {
|
|
36
|
+
const refPath = $ref.split('/').slice(1);
|
|
37
|
+
if (refPath[1] === 'parameters') {
|
|
38
|
+
return parameters?.[refPath[2]];
|
|
39
|
+
}
|
|
40
|
+
}
|
|
@@ -5,6 +5,7 @@ import {
|
|
|
5
5
|
ReferenceObject,
|
|
6
6
|
} from 'openapi-typescript/src/types.js';
|
|
7
7
|
import { createServicePathMatch } from './createServicePathMatch.js';
|
|
8
|
+
import { replaceRefParametersWithComponent } from './open-api/replaceRefParametersWithComponent.js';
|
|
8
9
|
import {
|
|
9
10
|
OperationGlobMethods,
|
|
10
11
|
parseOperationGlobs,
|
|
@@ -43,12 +44,12 @@ export function predefineSchemaParameters(
|
|
|
43
44
|
const predefinedOperation = predefinedPathItem?.[method];
|
|
44
45
|
if (predefinedOperation) assertIsOperationObject(predefinedOperation);
|
|
45
46
|
|
|
46
|
-
const operationParameters =
|
|
47
|
-
predefinedOperation?.parameters ?? operation.parameters
|
|
48
|
-
|
|
49
|
-
|
|
47
|
+
const operationParameters = replaceRefParametersWithComponent(
|
|
48
|
+
predefinedOperation?.parameters ?? operation.parameters,
|
|
49
|
+
schema.components?.parameters
|
|
50
|
+
);
|
|
50
51
|
|
|
51
|
-
const predefinedParameters = operationParameters
|
|
52
|
+
const predefinedParameters = operationParameters?.map(
|
|
52
53
|
(operationParameter) => {
|
|
53
54
|
if (
|
|
54
55
|
findPredefinedOperationParameter(
|
|
@@ -204,8 +205,11 @@ export function createPredefinedParametersGlobs(
|
|
|
204
205
|
|
|
205
206
|
assertIsOperationObject(operation);
|
|
206
207
|
|
|
207
|
-
const operationParameters =
|
|
208
|
-
|
|
208
|
+
const operationParameters = replaceRefParametersWithComponent(
|
|
209
|
+
// @ts-expect-error the issue with custom OpenAPISchemaType
|
|
210
|
+
operation.parameters,
|
|
211
|
+
schema.components?.parameters
|
|
212
|
+
);
|
|
209
213
|
|
|
210
214
|
const predefinedParametersGlobKey = createOperationGlobsKey(
|
|
211
215
|
pathGlobs,
|
|
@@ -231,6 +235,7 @@ export function createPredefinedParametersGlobs(
|
|
|
231
235
|
for (const parameterSchemaToPredefine of parametersToPredefine) {
|
|
232
236
|
const parameterToPredefine = findPredefinedOperationParameter(
|
|
233
237
|
parameterSchemaToPredefine,
|
|
238
|
+
// @ts-expect-error the issue with custom OpenAPISchemaType
|
|
234
239
|
operationParameters
|
|
235
240
|
);
|
|
236
241
|
|
|
@@ -341,18 +346,6 @@ export function assertIsOperationObject(
|
|
|
341
346
|
}
|
|
342
347
|
}
|
|
343
348
|
|
|
344
|
-
export function assertIsParameterObjects(
|
|
345
|
-
parameterObjects: Array<ParameterObject | ReferenceObject>
|
|
346
|
-
): asserts parameterObjects is Array<ParameterObject> {
|
|
347
|
-
parameterObjects.forEach((parameterObject) => {
|
|
348
|
-
if ('$ref' in parameterObject) {
|
|
349
|
-
throw new Error(
|
|
350
|
-
`Expected a ParameterObject, but got a ReferenceObject: ${parameterObject}`
|
|
351
|
-
);
|
|
352
|
-
}
|
|
353
|
-
});
|
|
354
|
-
}
|
|
355
|
-
|
|
356
349
|
type ParsedPredefinedParametersOption = {
|
|
357
350
|
methods: OperationGlobMethods[] | undefined;
|
|
358
351
|
pathGlobs: string;
|
package/src/packageVersion.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
// This file was generated automatically
|
|
2
|
-
export const packageVersion = '2.0.0-next.
|
|
2
|
+
export const packageVersion = '2.0.0-next.14';
|