@openapi-qraft/plugin 2.1.1 → 2.2.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/CHANGELOG.md +8 -0
- package/dist/lib/open-api/OpenAPISchemaType.d.ts +2 -1
- package/dist/lib/open-api/OpenAPISchemaType.d.ts.map +1 -1
- package/dist/lib/open-api/getServices.d.ts.map +1 -1
- package/dist/lib/open-api/getServices.js +5 -3
- package/dist/lib/open-api/getServices.js.map +1 -1
- package/dist/lib/open-api/replaceRefParametersWithComponent.d.ts +2 -2
- package/dist/lib/open-api/replaceRefParametersWithComponent.d.ts.map +1 -1
- package/dist/lib/open-api/replaceRefParametersWithComponent.js +5 -17
- package/dist/lib/open-api/replaceRefParametersWithComponent.js.map +1 -1
- package/dist/lib/open-api/resolveDocumentLocalRef.d.ts +10 -0
- package/dist/lib/open-api/resolveDocumentLocalRef.d.ts.map +1 -0
- package/dist/lib/open-api/resolveDocumentLocalRef.js +28 -0
- package/dist/lib/open-api/resolveDocumentLocalRef.js.map +1 -0
- package/dist/lib/predefineSchemaParameters.js +2 -2
- 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 +2 -1
- package/src/lib/open-api/getServices.ts +9 -3
- package/src/lib/open-api/replaceRefParametersWithComponent.ts +8 -25
- package/src/lib/open-api/resolveDocumentLocalRef.ts +36 -0
- package/src/lib/predefineSchemaParameters.ts +2 -2
- package/src/packageVersion.ts +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -14,11 +14,12 @@ export type OpenAPISchemaType = {
|
|
|
14
14
|
parameters?: Array<any>;
|
|
15
15
|
deprecated?: boolean;
|
|
16
16
|
requestBody?: {
|
|
17
|
-
content
|
|
17
|
+
content?: {
|
|
18
18
|
[contentType: string]: {
|
|
19
19
|
schema: any;
|
|
20
20
|
};
|
|
21
21
|
};
|
|
22
|
+
$ref?: string;
|
|
22
23
|
};
|
|
23
24
|
responses: {
|
|
24
25
|
[statusCode in number | 'default']: {
|
|
@@ -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;
|
|
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,CAAC,EAAE;wBACR,CAAC,WAAW,EAAE,MAAM,GAAG;4BACrB,MAAM,EAAE,GAAG,CAAC;yBACb,CAAC;qBACH,CAAC;oBACF,IAAI,CAAC,EAAE,MAAM,CAAC;iBACf,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"}
|
|
@@ -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;AAEjD,OAAO,EACL,cAAc,EACd,gBAAgB,IAAI,sBAAsB,EAC3C,MAAM,qBAAqB,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;AAEjD,OAAO,EACL,cAAc,EACd,gBAAgB,IAAI,sBAAsB,EAC3C,MAAM,qBAAqB,CAAC;AAI7B,MAAM,MAAM,eAAe,GAAG,+BAA+B,GAAG,MAAM,CAAC;AAEvE;;GAEG;AACH,MAAM,MAAM,OAAO,GAAG,cAAc,CAAC;AAErC;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,sBAAsB,CAAC;AAEtD,MAAM,WAAW,oBAAoB;IACnC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,eAAe,CAAC;CACnC;AAED,eAAO,MAAM,WAAW,gBACT,iBAAiB,0CAI3B,oBAAoB,qBA4GxB,CAAC;AAEF,eAAO,MAAM,eAAe,WAClB,OAAO,KACd,MAAM,IAAI,CAAC,OAAO,oBAAoB,EAAE,MAAM,CAG9C,CAAC;AAEJ,QAAA,MAAM,oBAAoB,gFASqC,CAAC"}
|
|
@@ -4,9 +4,9 @@ import { getOperationName } from './getOperationName.js';
|
|
|
4
4
|
import { getServiceNamesByOperationEndpoint, } from './getServiceNamesByOperationEndpoint.js';
|
|
5
5
|
import { getServiceNamesByOperationTags } from './getServiceNamesByOperationTags.js';
|
|
6
6
|
import { replaceRefParametersWithComponent } from './replaceRefParametersWithComponent.js';
|
|
7
|
+
import { resolveDocumentLocalRef } from './resolveDocumentLocalRef.js';
|
|
7
8
|
export const getServices = (openApiJson, { postfixServices = 'Service', serviceNameBase = 'endpoint[0]', } = {}) => {
|
|
8
9
|
const paths = openApiJson.paths;
|
|
9
|
-
const parametersComponents = openApiJson.components.parameters ?? {};
|
|
10
10
|
const services = new Map();
|
|
11
11
|
for (const path in paths) {
|
|
12
12
|
if (!Object.prototype.hasOwnProperty.call(paths, path))
|
|
@@ -63,8 +63,10 @@ export const getServices = (openApiJson, { postfixServices = 'Service', serviceN
|
|
|
63
63
|
deprecated: methodOperation.deprecated,
|
|
64
64
|
parameters: replaceRefParametersWithComponent(
|
|
65
65
|
// @ts-expect-error the issue with custom OpenAPISchemaType
|
|
66
|
-
methodOperation.parameters,
|
|
67
|
-
requestBody: methodOperation.requestBody
|
|
66
|
+
methodOperation.parameters, openApiJson),
|
|
67
|
+
requestBody: (methodOperation.requestBody?.$ref
|
|
68
|
+
? resolveDocumentLocalRef(methodOperation.requestBody.$ref, openApiJson)
|
|
69
|
+
: methodOperation.requestBody) ?? undefined,
|
|
68
70
|
success: success,
|
|
69
71
|
security: methodOperation.security,
|
|
70
72
|
});
|
|
@@ -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;AAKrF,OAAO,EAAE,iCAAiC,EAAE,MAAM,wCAAwC,CAAC;
|
|
1
|
+
{"version":3,"file":"getServices.js","sourceRoot":"","sources":["../../../src/lib/open-api/getServices.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { OpenAPI3 } from 'openapi-typescript/src/types.js';
|
|
2
2
|
import { ParameterObject } from 'openapi-typescript';
|
|
3
3
|
import { ReferenceObject } from 'openapi-typescript/src/types.js';
|
|
4
|
-
export declare function replaceRefParametersWithComponent(parameters: ParameterObject | ReferenceObject | undefined,
|
|
4
|
+
export declare function replaceRefParametersWithComponent(parameters: ParameterObject | ReferenceObject | undefined, openApiJson: OpenAPI3): any[] | undefined;
|
|
5
5
|
//# sourceMappingURL=replaceRefParametersWithComponent.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"replaceRefParametersWithComponent.d.ts","sourceRoot":"","sources":["../../../src/lib/open-api/replaceRefParametersWithComponent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"replaceRefParametersWithComponent.d.ts","sourceRoot":"","sources":["../../../src/lib/open-api/replaceRefParametersWithComponent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAGlE,wBAAgB,iCAAiC,CAC/C,UAAU,EAAE,eAAe,GAAG,eAAe,GAAG,SAAS,EACzD,WAAW,EAAE,QAAQ,qBAetB"}
|
|
@@ -1,26 +1,14 @@
|
|
|
1
|
-
|
|
1
|
+
import { resolveDocumentLocalRef } from './resolveDocumentLocalRef.js';
|
|
2
|
+
export function replaceRefParametersWithComponent(parameters, openApiJson) {
|
|
2
3
|
if (!Array.isArray(parameters))
|
|
3
4
|
return undefined;
|
|
4
5
|
const definedParameters = parameters
|
|
5
|
-
.map((parameter) =>
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
return parameter;
|
|
9
|
-
})
|
|
6
|
+
.map((parameter) => parameter.$ref
|
|
7
|
+
? resolveDocumentLocalRef(parameter.$ref, openApiJson)
|
|
8
|
+
: parameter)
|
|
10
9
|
.filter(Boolean);
|
|
11
10
|
if (!definedParameters.length)
|
|
12
11
|
return undefined;
|
|
13
12
|
return definedParameters;
|
|
14
13
|
}
|
|
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
14
|
//# sourceMappingURL=replaceRefParametersWithComponent.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"replaceRefParametersWithComponent.js","sourceRoot":"","sources":["../../../src/lib/open-api/replaceRefParametersWithComponent.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"replaceRefParametersWithComponent.js","sourceRoot":"","sources":["../../../src/lib/open-api/replaceRefParametersWithComponent.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAEvE,MAAM,UAAU,iCAAiC,CAC/C,UAAyD,EACzD,WAAqB;IAErB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC;QAAE,OAAO,SAAS,CAAC;IAEjD,MAAM,iBAAiB,GAAG,UAAU;SACjC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CACjB,SAAS,CAAC,IAAI;QACZ,CAAC,CAAC,uBAAuB,CAAC,SAAS,CAAC,IAAI,EAAE,WAAW,CAAC;QACtD,CAAC,CAAC,SAAS,CACd;SACA,MAAM,CAAC,OAAO,CAAC,CAAC;IAEnB,IAAI,CAAC,iBAAiB,CAAC,MAAM;QAAE,OAAO,SAAS,CAAC;IAEhD,OAAO,iBAAiB,CAAC;AAC3B,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { OpenAPI3 } from 'openapi-typescript';
|
|
2
|
+
import type { OpenAPISchemaType } from './OpenAPISchemaType.js';
|
|
3
|
+
/**
|
|
4
|
+
* Resolves a local reference to a value in the OpenAPI schema.
|
|
5
|
+
*
|
|
6
|
+
* @param ref - The reference to resolve.
|
|
7
|
+
* @param openApiJson - The OpenAPI schema to resolve the reference in.
|
|
8
|
+
*/
|
|
9
|
+
export declare function resolveDocumentLocalRef(ref: string, openApiJson: OpenAPISchemaType | OpenAPI3): unknown;
|
|
10
|
+
//# sourceMappingURL=resolveDocumentLocalRef.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolveDocumentLocalRef.d.ts","sourceRoot":"","sources":["../../../src/lib/open-api/resolveDocumentLocalRef.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAGhE;;;;;GAKG;AACH,wBAAgB,uBAAuB,CACrC,GAAG,EAAE,MAAM,EACX,WAAW,EAAE,iBAAiB,GAAG,QAAQ,WAc1C"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { unescapePointer } from '@redocly/openapi-core';
|
|
2
|
+
/**
|
|
3
|
+
* Resolves a local reference to a value in the OpenAPI schema.
|
|
4
|
+
*
|
|
5
|
+
* @param ref - The reference to resolve.
|
|
6
|
+
* @param openApiJson - The OpenAPI schema to resolve the reference in.
|
|
7
|
+
*/
|
|
8
|
+
export function resolveDocumentLocalRef(ref, openApiJson) {
|
|
9
|
+
const refParts = parseLocalRef(ref);
|
|
10
|
+
let result = openApiJson;
|
|
11
|
+
for (const part of refParts) {
|
|
12
|
+
if (result && typeof result === 'object' && part in result) {
|
|
13
|
+
result = result[part];
|
|
14
|
+
}
|
|
15
|
+
else {
|
|
16
|
+
throw new Error(`Reference ${ref} not found`);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
return result;
|
|
20
|
+
}
|
|
21
|
+
function parseLocalRef(ref) {
|
|
22
|
+
const [, pointer = ''] = ref.split('#/');
|
|
23
|
+
return pointer
|
|
24
|
+
.split('/')
|
|
25
|
+
.map(unescapePointer)
|
|
26
|
+
.filter((path) => !!path);
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=resolveDocumentLocalRef.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolveDocumentLocalRef.js","sourceRoot":"","sources":["../../../src/lib/open-api/resolveDocumentLocalRef.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD;;;;;GAKG;AACH,MAAM,UAAU,uBAAuB,CACrC,GAAW,EACX,WAAyC;IAEzC,MAAM,QAAQ,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;IAEpC,IAAI,MAAM,GAAY,WAAW,CAAC;IAClC,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;QAC5B,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,IAAI,IAAI,MAAM,EAAE,CAAC;YAC3D,MAAM,GAAG,MAAM,CAAC,IAA2B,CAAC,CAAC;QAC/C,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,aAAa,GAAG,YAAY,CAAC,CAAC;QAChD,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,aAAa,CAAC,GAAW;IAChC,MAAM,CAAC,EAAE,OAAO,GAAG,EAAE,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAEzC,OAAO,OAAO;SACX,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,eAAe,CAAC;SACpB,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AAC9B,CAAC"}
|
|
@@ -26,7 +26,7 @@ export function predefineSchemaParameters(schema, predefinedParametersGlobs) {
|
|
|
26
26
|
const predefinedOperation = predefinedPathItem?.[method];
|
|
27
27
|
if (predefinedOperation)
|
|
28
28
|
assertIsOperationObject(predefinedOperation);
|
|
29
|
-
const operationParameters = replaceRefParametersWithComponent(predefinedOperation?.parameters ?? operation.parameters, schema
|
|
29
|
+
const operationParameters = replaceRefParametersWithComponent(predefinedOperation?.parameters ?? operation.parameters, schema);
|
|
30
30
|
const predefinedParameters = operationParameters?.map((operationParameter) => {
|
|
31
31
|
if (findPredefinedOperationParameter(operationParameter, predefinedParametersGlob.parameters)) {
|
|
32
32
|
return {
|
|
@@ -129,7 +129,7 @@ export function createPredefinedParametersGlobs(schema, predefinedParameters) {
|
|
|
129
129
|
assertIsOperationObject(operation);
|
|
130
130
|
const operationParameters = replaceRefParametersWithComponent(
|
|
131
131
|
// @ts-expect-error the issue with custom OpenAPISchemaType
|
|
132
|
-
operation.parameters, schema
|
|
132
|
+
operation.parameters, schema);
|
|
133
133
|
const predefinedParametersGlobKey = createOperationGlobsKey(pathGlobs, methods);
|
|
134
134
|
if (!predefinedParametersGlobMap.has(predefinedParametersGlobKey))
|
|
135
135
|
predefinedParametersGlobMap.set(predefinedParametersGlobKey, {
|
|
@@ -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,EAAE,iCAAiC,EAAE,MAAM,iDAAiD,CAAC;AACpG,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,GAAG,iCAAiC,CAC3D,mBAAmB,EAAE,UAAU,IAAI,SAAS,CAAC,UAAU,EACvD,MAAM,
|
|
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.
|
|
1
|
+
export declare const packageVersion = "2.2.0";
|
|
2
2
|
//# sourceMappingURL=packageVersion.d.ts.map
|
package/dist/packageVersion.js
CHANGED
package/package.json
CHANGED
|
@@ -14,11 +14,12 @@ export type OpenAPISchemaType = {
|
|
|
14
14
|
parameters?: Array<any>;
|
|
15
15
|
deprecated?: boolean;
|
|
16
16
|
requestBody?: {
|
|
17
|
-
content
|
|
17
|
+
content?: {
|
|
18
18
|
[contentType: string]: {
|
|
19
19
|
schema: any;
|
|
20
20
|
};
|
|
21
21
|
};
|
|
22
|
+
$ref?: string;
|
|
22
23
|
};
|
|
23
24
|
responses: {
|
|
24
25
|
[statusCode in number | 'default']: {
|
|
@@ -12,6 +12,7 @@ import {
|
|
|
12
12
|
ServiceOperation as ServiceOperationStable,
|
|
13
13
|
} from './OpenAPIService.js';
|
|
14
14
|
import { replaceRefParametersWithComponent } from './replaceRefParametersWithComponent.js';
|
|
15
|
+
import { resolveDocumentLocalRef } from './resolveDocumentLocalRef.js';
|
|
15
16
|
|
|
16
17
|
export type ServiceBaseName = ServiceBaseNameByEndpointOption | 'tags';
|
|
17
18
|
|
|
@@ -38,7 +39,6 @@ export const getServices = (
|
|
|
38
39
|
}: ServiceOutputOptions = {}
|
|
39
40
|
) => {
|
|
40
41
|
const paths = openApiJson.paths;
|
|
41
|
-
const parametersComponents = openApiJson.components.parameters ?? {};
|
|
42
42
|
|
|
43
43
|
const services = new Map<string, OpenAPIService>();
|
|
44
44
|
|
|
@@ -127,9 +127,15 @@ export const getServices = (
|
|
|
127
127
|
parameters: replaceRefParametersWithComponent(
|
|
128
128
|
// @ts-expect-error the issue with custom OpenAPISchemaType
|
|
129
129
|
methodOperation.parameters,
|
|
130
|
-
|
|
130
|
+
openApiJson
|
|
131
131
|
),
|
|
132
|
-
requestBody:
|
|
132
|
+
requestBody:
|
|
133
|
+
(methodOperation.requestBody?.$ref
|
|
134
|
+
? resolveDocumentLocalRef(
|
|
135
|
+
methodOperation.requestBody.$ref,
|
|
136
|
+
openApiJson
|
|
137
|
+
)
|
|
138
|
+
: methodOperation.requestBody) ?? undefined,
|
|
133
139
|
success: success,
|
|
134
140
|
security: methodOperation.security,
|
|
135
141
|
});
|
|
@@ -1,40 +1,23 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { OpenAPI3 } from 'openapi-typescript/src/types.js';
|
|
2
2
|
import { ParameterObject } from 'openapi-typescript';
|
|
3
3
|
import { ReferenceObject } from 'openapi-typescript/src/types.js';
|
|
4
|
+
import { resolveDocumentLocalRef } from './resolveDocumentLocalRef.js';
|
|
4
5
|
|
|
5
6
|
export function replaceRefParametersWithComponent(
|
|
6
7
|
parameters: ParameterObject | ReferenceObject | undefined,
|
|
7
|
-
|
|
8
|
+
openApiJson: OpenAPI3
|
|
8
9
|
) {
|
|
9
10
|
if (!Array.isArray(parameters)) return undefined;
|
|
10
11
|
|
|
11
12
|
const definedParameters = parameters
|
|
12
|
-
.map((parameter) =>
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
);
|
|
18
|
-
return parameter;
|
|
19
|
-
})
|
|
13
|
+
.map((parameter) =>
|
|
14
|
+
parameter.$ref
|
|
15
|
+
? resolveDocumentLocalRef(parameter.$ref, openApiJson)
|
|
16
|
+
: parameter
|
|
17
|
+
)
|
|
20
18
|
.filter(Boolean);
|
|
21
19
|
|
|
22
20
|
if (!definedParameters.length) return undefined;
|
|
23
21
|
|
|
24
22
|
return definedParameters;
|
|
25
23
|
}
|
|
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
|
-
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import type { OpenAPI3 } from 'openapi-typescript';
|
|
2
|
+
import type { OpenAPISchemaType } from './OpenAPISchemaType.js';
|
|
3
|
+
import { unescapePointer } from '@redocly/openapi-core';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Resolves a local reference to a value in the OpenAPI schema.
|
|
7
|
+
*
|
|
8
|
+
* @param ref - The reference to resolve.
|
|
9
|
+
* @param openApiJson - The OpenAPI schema to resolve the reference in.
|
|
10
|
+
*/
|
|
11
|
+
export function resolveDocumentLocalRef(
|
|
12
|
+
ref: string,
|
|
13
|
+
openApiJson: OpenAPISchemaType | OpenAPI3
|
|
14
|
+
) {
|
|
15
|
+
const refParts = parseLocalRef(ref);
|
|
16
|
+
|
|
17
|
+
let result: unknown = openApiJson;
|
|
18
|
+
for (const part of refParts) {
|
|
19
|
+
if (result && typeof result === 'object' && part in result) {
|
|
20
|
+
result = result[part as keyof typeof result];
|
|
21
|
+
} else {
|
|
22
|
+
throw new Error(`Reference ${ref} not found`);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
return result;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
function parseLocalRef(ref: string): string[] {
|
|
30
|
+
const [, pointer = ''] = ref.split('#/');
|
|
31
|
+
|
|
32
|
+
return pointer
|
|
33
|
+
.split('/')
|
|
34
|
+
.map(unescapePointer)
|
|
35
|
+
.filter((path) => !!path);
|
|
36
|
+
}
|
|
@@ -46,7 +46,7 @@ export function predefineSchemaParameters(
|
|
|
46
46
|
|
|
47
47
|
const operationParameters = replaceRefParametersWithComponent(
|
|
48
48
|
predefinedOperation?.parameters ?? operation.parameters,
|
|
49
|
-
schema
|
|
49
|
+
schema
|
|
50
50
|
);
|
|
51
51
|
|
|
52
52
|
const predefinedParameters = operationParameters?.map(
|
|
@@ -208,7 +208,7 @@ export function createPredefinedParametersGlobs(
|
|
|
208
208
|
const operationParameters = replaceRefParametersWithComponent(
|
|
209
209
|
// @ts-expect-error the issue with custom OpenAPISchemaType
|
|
210
210
|
operation.parameters,
|
|
211
|
-
schema
|
|
211
|
+
schema
|
|
212
212
|
);
|
|
213
213
|
|
|
214
214
|
const predefinedParametersGlobKey = createOperationGlobsKey(
|
package/src/packageVersion.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
// This file was generated automatically
|
|
2
|
-
export const packageVersion = '2.
|
|
2
|
+
export const packageVersion = '2.2.0';
|