@openapi-qraft/cli 1.7.0 → 1.9.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 +25 -0
- package/README.md +109 -43
- package/bin.mjs +3 -1
- package/dist/bin.d.ts +13 -1
- package/dist/bin.d.ts.map +1 -0
- package/dist/bin.js +71 -59
- package/dist/bin.js.map +1 -1
- package/dist/builtInPlugins.d.ts +5 -0
- package/dist/builtInPlugins.d.ts.map +1 -0
- package/dist/builtInPlugins.js +5 -0
- package/dist/builtInPlugins.js.map +1 -0
- package/package.json +16 -12
- package/src/bin.ts +99 -0
- package/src/builtInPlugins.ts +6 -0
- package/dist/lib/fileHeader.d.ts +0 -1
- package/dist/lib/fileHeader.js +0 -5
- package/dist/lib/fileHeader.js.map +0 -1
- package/dist/lib/open-api/OpenAPISchemaType.d.ts +0 -31
- package/dist/lib/open-api/OpenAPISchemaType.js +0 -2
- package/dist/lib/open-api/OpenAPISchemaType.js.map +0 -1
- package/dist/lib/open-api/getContent.d.ts +0 -5
- package/dist/lib/open-api/getContent.js +0 -23
- package/dist/lib/open-api/getContent.js.map +0 -1
- package/dist/lib/open-api/getOperationName.d.ts +0 -6
- package/dist/lib/open-api/getOperationName.js +0 -20
- package/dist/lib/open-api/getOperationName.js.map +0 -1
- package/dist/lib/open-api/getServiceName.d.ts +0 -5
- package/dist/lib/open-api/getServiceName.js +0 -13
- package/dist/lib/open-api/getServiceName.js.map +0 -1
- package/dist/lib/open-api/getServiceNamesByOperationEndpoint.d.ts +0 -4
- package/dist/lib/open-api/getServiceNamesByOperationEndpoint.js +0 -30
- package/dist/lib/open-api/getServiceNamesByOperationEndpoint.js.map +0 -1
- package/dist/lib/open-api/getServiceNamesByOperationTags.d.ts +0 -1
- package/dist/lib/open-api/getServiceNamesByOperationTags.js +0 -11
- package/dist/lib/open-api/getServiceNamesByOperationTags.js.map +0 -1
- package/dist/lib/open-api/getServices.d.ts +0 -32
- package/dist/lib/open-api/getServices.js +0 -112
- package/dist/lib/open-api/getServices.js.map +0 -1
- package/dist/lib/open-api/readSchema.d.ts +0 -7
- package/dist/lib/open-api/readSchema.js +0 -15
- package/dist/lib/open-api/readSchema.js.map +0 -1
- package/dist/lib/ts-factory/astToString.d.ts +0 -8
- package/dist/lib/ts-factory/astToString.js +0 -14
- package/dist/lib/ts-factory/astToString.js.map +0 -1
- package/dist/lib/ts-factory/getClientFactory.d.ts +0 -7
- package/dist/lib/ts-factory/getClientFactory.js +0 -82
- package/dist/lib/ts-factory/getClientFactory.js.map +0 -1
- package/dist/lib/ts-factory/getIndexFactory.d.ts +0 -5
- package/dist/lib/ts-factory/getIndexFactory.js +0 -17
- package/dist/lib/ts-factory/getIndexFactory.js.map +0 -1
- package/dist/lib/ts-factory/getServiceFactory.d.ts +0 -10
- package/dist/lib/ts-factory/getServiceFactory.js +0 -120
- package/dist/lib/ts-factory/getServiceFactory.js.map +0 -1
- package/dist/lib/ts-factory/getServiceIndexFactory.d.ts +0 -7
- package/dist/lib/ts-factory/getServiceIndexFactory.js +0 -26
- package/dist/lib/ts-factory/getServiceIndexFactory.js.map +0 -1
- package/dist/writeOpenAPIServices.d.ts +0 -23
- package/dist/writeOpenAPIServices.js +0 -97
- package/dist/writeOpenAPIServices.js.map +0 -1
|
@@ -1,120 +0,0 @@
|
|
|
1
|
-
import ts from 'typescript';
|
|
2
|
-
const SERVICE_OPERATION_QUERY = 'ServiceOperationQuery';
|
|
3
|
-
const SERVICE_OPERATION_MUTATION = 'ServiceOperationMutation';
|
|
4
|
-
const factory = ts.factory;
|
|
5
|
-
export const getServiceFactory = (service, operations, { openapiTypesImportPath, operationGenericsImportPath, }) => {
|
|
6
|
-
return [
|
|
7
|
-
getOpenAPISchemaImportsFactory(openapiTypesImportPath),
|
|
8
|
-
getServiceOperationGenericsPathImportsFactory(operationGenericsImportPath, operations),
|
|
9
|
-
getServiceInterfaceFactory(service, operations),
|
|
10
|
-
getServiceVariableFactory(service, operations),
|
|
11
|
-
];
|
|
12
|
-
};
|
|
13
|
-
const getOpenAPISchemaImportsFactory = (schemaTypesPath) => {
|
|
14
|
-
const factory = ts.factory;
|
|
15
|
-
return factory.createImportDeclaration(undefined, factory.createImportClause(true, undefined, factory.createNamedImports([
|
|
16
|
-
factory.createImportSpecifier(false, undefined, factory.createIdentifier('paths')),
|
|
17
|
-
])), factory.createStringLiteral(schemaTypesPath));
|
|
18
|
-
};
|
|
19
|
-
const getServiceOperationGenericsPathImportsFactory = (operationGenericsPath, operations) => {
|
|
20
|
-
const factory = ts.factory;
|
|
21
|
-
const queryMethods = ['get', 'head', 'options'];
|
|
22
|
-
return factory.createImportDeclaration(undefined, factory.createImportClause(true, undefined, factory.createNamedImports([
|
|
23
|
-
operations.some((operation) => queryMethods.some((method) => method === operation.method))
|
|
24
|
-
? factory.createImportSpecifier(false, undefined, factory.createIdentifier('ServiceOperationQuery'))
|
|
25
|
-
: null,
|
|
26
|
-
operations.some((operation) => !queryMethods.some((method) => method === operation.method))
|
|
27
|
-
? factory.createImportSpecifier(false, undefined, factory.createIdentifier('ServiceOperationMutation'))
|
|
28
|
-
: null,
|
|
29
|
-
].filter((node) => Boolean(node)))), factory.createStringLiteral(operationGenericsPath));
|
|
30
|
-
};
|
|
31
|
-
const getServiceInterfaceFactory = ({ typeName }, operations) => {
|
|
32
|
-
return factory.createInterfaceDeclaration([factory.createToken(ts.SyntaxKind.ExportKeyword)], factory.createIdentifier(typeName), undefined, undefined, operations.map(getServiceInterfaceOperationFactory));
|
|
33
|
-
};
|
|
34
|
-
const getServiceInterfaceOperationFactory = (operation) => {
|
|
35
|
-
const node = factory.createPropertySignature(undefined, factory.createIdentifier(operation.name), undefined, factory.createTypeReferenceNode(factory.createIdentifier(operation.method === 'get'
|
|
36
|
-
? SERVICE_OPERATION_QUERY
|
|
37
|
-
: SERVICE_OPERATION_MUTATION), [
|
|
38
|
-
getOperationSchemaFactory(operation),
|
|
39
|
-
operation.method !== 'get' ? getOperationBodyFactory(operation) : null,
|
|
40
|
-
getOperationResponseFactory(operation, 'success'),
|
|
41
|
-
getOperationParametersFactory(operation),
|
|
42
|
-
getOperationResponseFactory(operation, 'errors'),
|
|
43
|
-
].filter((node) => Boolean(node))));
|
|
44
|
-
const comment = createMultilineComment([
|
|
45
|
-
operation.deprecated ? '@deprecated' : null,
|
|
46
|
-
operation.summary ? `@summary ${operation.summary}` : null,
|
|
47
|
-
operation.description ? `@description ${operation.description}` : null,
|
|
48
|
-
].filter((comment) => Boolean(comment)));
|
|
49
|
-
if (comment)
|
|
50
|
-
ts.addSyntheticLeadingComment(node, ts.SyntaxKind.MultiLineCommentTrivia, comment, true);
|
|
51
|
-
return node;
|
|
52
|
-
};
|
|
53
|
-
const getOperationSchemaFactory = (operation) => {
|
|
54
|
-
return factory.createTypeLiteralNode([
|
|
55
|
-
factory.createPropertySignature(undefined, factory.createIdentifier('method'), undefined, factory.createLiteralTypeNode(factory.createStringLiteral(operation.method))),
|
|
56
|
-
factory.createPropertySignature(undefined, factory.createIdentifier('url'), undefined, factory.createLiteralTypeNode(factory.createStringLiteral(operation.path))),
|
|
57
|
-
operation.mediaType
|
|
58
|
-
? factory.createPropertySignature(undefined, factory.createIdentifier('mediaType'), undefined, factory.createLiteralTypeNode(factory.createStringLiteral(operation.mediaType)))
|
|
59
|
-
: null,
|
|
60
|
-
].filter((node) => Boolean(node)));
|
|
61
|
-
};
|
|
62
|
-
const getOperationResponseFactory = (operation, type) => {
|
|
63
|
-
if (!operation[type])
|
|
64
|
-
return factory.createKeywordTypeNode(ts.SyntaxKind.UnknownKeyword);
|
|
65
|
-
const responses = Object.entries(operation[type]);
|
|
66
|
-
if (!responses.length)
|
|
67
|
-
return factory.createKeywordTypeNode(ts.SyntaxKind.UnknownKeyword);
|
|
68
|
-
return factory.createUnionTypeNode(responses.map(([statusCode, mediaType]) => {
|
|
69
|
-
if (!mediaType)
|
|
70
|
-
return factory.createKeywordTypeNode(ts.SyntaxKind.UnknownKeyword);
|
|
71
|
-
return factory.createIndexedAccessTypeNode(factory.createIndexedAccessTypeNode(factory.createIndexedAccessTypeNode(factory.createIndexedAccessTypeNode(factory.createIndexedAccessTypeNode(factory.createIndexedAccessTypeNode(factory.createTypeReferenceNode(factory.createIdentifier('paths'), undefined), factory.createLiteralTypeNode(factory.createStringLiteral(operation.path))), factory.createLiteralTypeNode(factory.createStringLiteral(operation.method))), factory.createLiteralTypeNode(factory.createStringLiteral('responses'))), factory.createLiteralTypeNode(factory.createStringLiteral(statusCode))), factory.createLiteralTypeNode(factory.createStringLiteral('content'))), factory.createLiteralTypeNode(factory.createStringLiteral(mediaType)));
|
|
72
|
-
}));
|
|
73
|
-
};
|
|
74
|
-
const getOperationBodyFactory = (operation) => {
|
|
75
|
-
if (!operation.mediaType)
|
|
76
|
-
return factory.createKeywordTypeNode(ts.SyntaxKind.UndefinedKeyword);
|
|
77
|
-
return factory.createIndexedAccessTypeNode(factory.createIndexedAccessTypeNode(factory.createTypeReferenceNode(factory.createIdentifier('NonNullable'), [
|
|
78
|
-
factory.createIndexedAccessTypeNode(factory.createIndexedAccessTypeNode(factory.createIndexedAccessTypeNode(factory.createTypeReferenceNode(factory.createIdentifier('paths'), undefined), factory.createLiteralTypeNode(factory.createStringLiteral(operation.path))), factory.createLiteralTypeNode(factory.createStringLiteral(operation.method))), factory.createLiteralTypeNode(factory.createStringLiteral('requestBody'))),
|
|
79
|
-
]),
|
|
80
|
-
// todo::Add optional NonNullable inference, see `POST /entities/{entity_id}/documents`
|
|
81
|
-
factory.createLiteralTypeNode(factory.createStringLiteral('content'))), factory.createLiteralTypeNode(factory.createStringLiteral(operation.mediaType)));
|
|
82
|
-
};
|
|
83
|
-
const getOperationParametersFactory = (operation) => {
|
|
84
|
-
if (!operation.parameters)
|
|
85
|
-
return factory.createKeywordTypeNode(ts.SyntaxKind.UndefinedKeyword);
|
|
86
|
-
return factory.createIndexedAccessTypeNode(factory.createIndexedAccessTypeNode(factory.createIndexedAccessTypeNode(factory.createTypeReferenceNode(factory.createIdentifier('paths'), undefined), factory.createLiteralTypeNode(factory.createStringLiteral(operation.path))), factory.createLiteralTypeNode(factory.createStringLiteral(operation.method))), factory.createLiteralTypeNode(factory.createStringLiteral('parameters')));
|
|
87
|
-
};
|
|
88
|
-
const getServiceVariableFactory = ({ typeName, variableName }, operations) => {
|
|
89
|
-
return factory.createVariableStatement([factory.createToken(ts.SyntaxKind.ExportKeyword)], factory.createVariableDeclarationList([
|
|
90
|
-
factory.createVariableDeclaration(factory.createIdentifier(variableName), undefined, getServiceVariableTypeFactory({ typeName }), factory.createAsExpression(factory.createObjectLiteralExpression(operations.map(getServiceVariablePropertyFactory), true), factory.createTypeReferenceNode(factory.createIdentifier('const'), undefined))),
|
|
91
|
-
], ts.NodeFlags.Const));
|
|
92
|
-
};
|
|
93
|
-
const getServiceVariableTypeFactory = ({ typeName }) => {
|
|
94
|
-
return factory.createMappedTypeNode(undefined, factory.createTypeParameterDeclaration(undefined, factory.createIdentifier('key'), factory.createTypeOperatorNode(ts.SyntaxKind.KeyOfKeyword, factory.createTypeReferenceNode(factory.createIdentifier(typeName), undefined)), undefined), undefined, undefined, factory.createTypeReferenceNode(factory.createIdentifier('Pick'), [
|
|
95
|
-
factory.createIndexedAccessTypeNode(factory.createTypeReferenceNode(factory.createIdentifier(typeName), undefined), factory.createTypeReferenceNode(factory.createIdentifier('key'), undefined)),
|
|
96
|
-
factory.createLiteralTypeNode(factory.createStringLiteral('schema')),
|
|
97
|
-
]), undefined);
|
|
98
|
-
};
|
|
99
|
-
const getServiceVariablePropertyFactory = (operation) => {
|
|
100
|
-
return factory.createPropertyAssignment(factory.createIdentifier(operation.name), factory.createObjectLiteralExpression([
|
|
101
|
-
factory.createPropertyAssignment(factory.createIdentifier('schema'), factory.createObjectLiteralExpression([
|
|
102
|
-
factory.createPropertyAssignment(factory.createIdentifier('method'), factory.createStringLiteral(operation.method)),
|
|
103
|
-
factory.createPropertyAssignment(factory.createIdentifier('url'), factory.createStringLiteral(operation.path)),
|
|
104
|
-
operation.mediaType
|
|
105
|
-
? factory.createPropertyAssignment(factory.createIdentifier('mediaType'), factory.createStringLiteral(operation.mediaType))
|
|
106
|
-
: null,
|
|
107
|
-
].filter((node) => Boolean(node)), true)),
|
|
108
|
-
], true));
|
|
109
|
-
};
|
|
110
|
-
const createMultilineComment = (comment) => {
|
|
111
|
-
const output = comment.flatMap((line) => line.includes('\n') ? line.split('\n') : line);
|
|
112
|
-
if (output.length) {
|
|
113
|
-
const text = output.length === 1
|
|
114
|
-
? `* ${output.join('\n')} `
|
|
115
|
-
: `*\n * ${output.join('\n * ')}\n `;
|
|
116
|
-
return text.replace(/\*\//g, '*\\/'); // prevent inner comments from leaking
|
|
117
|
-
}
|
|
118
|
-
return '';
|
|
119
|
-
};
|
|
120
|
-
//# sourceMappingURL=getServiceFactory.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"getServiceFactory.js","sourceRoot":"","sources":["../../../src/lib/ts-factory/getServiceFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,YAAY,CAAC;AAI5B,MAAM,uBAAuB,GAAG,uBAAuB,CAAC;AACxD,MAAM,0BAA0B,GAAG,0BAA0B,CAAC;AAE9D,MAAM,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC;AAO3B,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAC/B,OAAmD,EACnD,UAA8B,EAC9B,EACE,sBAAsB,EACtB,2BAA2B,GACE,EAC/B,EAAE;IACF,OAAO;QACL,8BAA8B,CAAC,sBAAsB,CAAC;QACtD,6CAA6C,CAC3C,2BAA2B,EAC3B,UAAU,CACX;QACD,0BAA0B,CAAC,OAAO,EAAE,UAAU,CAAC;QAC/C,yBAAyB,CAAC,OAAO,EAAE,UAAU,CAAC;KAC/C,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,8BAA8B,GAAG,CAAC,eAAuB,EAAE,EAAE;IACjE,MAAM,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC;IAE3B,OAAO,OAAO,CAAC,uBAAuB,CACpC,SAAS,EACT,OAAO,CAAC,kBAAkB,CACxB,IAAI,EACJ,SAAS,EACT,OAAO,CAAC,kBAAkB,CAAC;QACzB,OAAO,CAAC,qBAAqB,CAC3B,KAAK,EACL,SAAS,EACT,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAClC;KACF,CAAC,CACH,EACD,OAAO,CAAC,mBAAmB,CAAC,eAAe,CAAC,CAC7C,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,6CAA6C,GAAG,CACpD,qBAA6B,EAC7B,UAA8B,EAC9B,EAAE;IACF,MAAM,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC;IAE3B,MAAM,YAAY,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,CAAU,CAAC;IAEzD,OAAO,OAAO,CAAC,uBAAuB,CACpC,SAAS,EACT,OAAO,CAAC,kBAAkB,CACxB,IAAI,EACJ,SAAS,EACT,OAAO,CAAC,kBAAkB,CACxB;QACE,UAAU,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAC5B,YAAY,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,KAAK,SAAS,CAAC,MAAM,CAAC,CAC3D;YACC,CAAC,CAAC,OAAO,CAAC,qBAAqB,CAC3B,KAAK,EACL,SAAS,EACT,OAAO,CAAC,gBAAgB,CAAC,uBAAuB,CAAC,CAClD;YACH,CAAC,CAAC,IAAI;QACR,UAAU,CAAC,IAAI,CACb,CAAC,SAAS,EAAE,EAAE,CACZ,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,KAAK,SAAS,CAAC,MAAM,CAAC,CAC9D;YACC,CAAC,CAAC,OAAO,CAAC,qBAAqB,CAC3B,KAAK,EACL,SAAS,EACT,OAAO,CAAC,gBAAgB,CAAC,0BAA0B,CAAC,CACrD;YACH,CAAC,CAAC,IAAI;KACT,CAAC,MAAM,CAAC,CAAC,IAAI,EAAoC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CACpE,CACF,EACD,OAAO,CAAC,mBAAmB,CAAC,qBAAqB,CAAC,CACnD,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,0BAA0B,GAAG,CACjC,EAAE,QAAQ,EAAwB,EAClC,UAA8B,EAC9B,EAAE;IACF,OAAO,OAAO,CAAC,0BAA0B,CACvC,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,EAClD,OAAO,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAClC,SAAS,EACT,SAAS,EACT,UAAU,CAAC,GAAG,CAAC,mCAAmC,CAAC,CACpD,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,mCAAmC,GAAG,CAAC,SAA2B,EAAE,EAAE;IAC1E,MAAM,IAAI,GAAG,OAAO,CAAC,uBAAuB,CAC1C,SAAS,EACT,OAAO,CAAC,gBAAgB,CAAC,SAAS,CAAC,IAAI,CAAC,EACxC,SAAS,EACT,OAAO,CAAC,uBAAuB,CAC7B,OAAO,CAAC,gBAAgB,CACtB,SAAS,CAAC,MAAM,KAAK,KAAK;QACxB,CAAC,CAAC,uBAAuB;QACzB,CAAC,CAAC,0BAA0B,CAC/B,EACD;QACE,yBAAyB,CAAC,SAAS,CAAC;QAEpC,SAAS,CAAC,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,uBAAuB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI;QAEtE,2BAA2B,CAAC,SAAS,EAAE,SAAS,CAAC;QAEjD,6BAA6B,CAAC,SAAS,CAAC;QAExC,2BAA2B,CAAC,SAAS,EAAE,QAAQ,CAAC;KACjD,CAAC,MAAM,CAAC,CAAC,IAAI,EAAoC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CACpE,CACF,CAAC;IAEF,MAAM,OAAO,GAAG,sBAAsB,CACpC;QACE,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI;QAC3C,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI;QAC1D,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,gBAAgB,SAAS,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI;KACvE,CAAC,MAAM,CAAC,CAAC,OAAO,EAA0C,EAAE,CAC3D,OAAO,CAAC,OAAO,CAAC,CACjB,CACF,CAAC;IAEF,IAAI,OAAO;QACT,EAAE,CAAC,0BAA0B,CAC3B,IAAI,EACJ,EAAE,CAAC,UAAU,CAAC,sBAAsB,EACpC,OAAO,EACP,IAAI,CACL,CAAC;IAEJ,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,MAAM,yBAAyB,GAAG,CAAC,SAA2B,EAAE,EAAE;IAChE,OAAO,OAAO,CAAC,qBAAqB,CAClC;QACE,OAAO,CAAC,uBAAuB,CAC7B,SAAS,EACT,OAAO,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAClC,SAAS,EACT,OAAO,CAAC,qBAAqB,CAC3B,OAAO,CAAC,mBAAmB,CAAC,SAAS,CAAC,MAAM,CAAC,CAC9C,CACF;QAED,OAAO,CAAC,uBAAuB,CAC7B,SAAS,EACT,OAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAC/B,SAAS,EACT,OAAO,CAAC,qBAAqB,CAC3B,OAAO,CAAC,mBAAmB,CAAC,SAAS,CAAC,IAAI,CAAC,CAC5C,CACF;QAED,SAAS,CAAC,SAAS;YACjB,CAAC,CAAC,OAAO,CAAC,uBAAuB,CAC7B,SAAS,EACT,OAAO,CAAC,gBAAgB,CAAC,WAAW,CAAC,EACrC,SAAS,EACT,OAAO,CAAC,qBAAqB,CAC3B,OAAO,CAAC,mBAAmB,CAAC,SAAS,CAAC,SAAS,CAAC,CACjD,CACF;YACH,CAAC,CAAC,IAAI;KACT,CAAC,MAAM,CAAC,CAAC,IAAI,EAAoC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CACpE,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,2BAA2B,GAAG,CAClC,SAA2B,EAC3B,IAA0B,EAC1B,EAAE;IACF,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;QAClB,OAAO,OAAO,CAAC,qBAAqB,CAAC,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;IAErE,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;IAElD,IAAI,CAAC,SAAS,CAAC,MAAM;QACnB,OAAO,OAAO,CAAC,qBAAqB,CAAC,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;IAErE,OAAO,OAAO,CAAC,mBAAmB,CAChC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,EAAE,SAAS,CAAC,EAAE,EAAE;QACxC,IAAI,CAAC,SAAS;YACZ,OAAO,OAAO,CAAC,qBAAqB,CAAC,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;QAErE,OAAO,OAAO,CAAC,2BAA2B,CACxC,OAAO,CAAC,2BAA2B,CACjC,OAAO,CAAC,2BAA2B,CACjC,OAAO,CAAC,2BAA2B,CACjC,OAAO,CAAC,2BAA2B,CACjC,OAAO,CAAC,2BAA2B,CACjC,OAAO,CAAC,uBAAuB,CAC7B,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,EACjC,SAAS,CACV,EACD,OAAO,CAAC,qBAAqB,CAC3B,OAAO,CAAC,mBAAmB,CAAC,SAAS,CAAC,IAAI,CAAC,CAC5C,CACF,EACD,OAAO,CAAC,qBAAqB,CAC3B,OAAO,CAAC,mBAAmB,CAAC,SAAS,CAAC,MAAM,CAAC,CAC9C,CACF,EACD,OAAO,CAAC,qBAAqB,CAC3B,OAAO,CAAC,mBAAmB,CAAC,WAAW,CAAC,CACzC,CACF,EACD,OAAO,CAAC,qBAAqB,CAC3B,OAAO,CAAC,mBAAmB,CAAC,UAAU,CAAC,CACxC,CACF,EACD,OAAO,CAAC,qBAAqB,CAAC,OAAO,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC,CACtE,EACD,OAAO,CAAC,qBAAqB,CAAC,OAAO,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC,CACtE,CAAC;IACJ,CAAC,CAAC,CACH,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,uBAAuB,GAAG,CAAC,SAA2B,EAAE,EAAE;IAC9D,IAAI,CAAC,SAAS,CAAC,SAAS;QACtB,OAAO,OAAO,CAAC,qBAAqB,CAAC,EAAE,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC;IAEvE,OAAO,OAAO,CAAC,2BAA2B,CACxC,OAAO,CAAC,2BAA2B,CACjC,OAAO,CAAC,uBAAuB,CAAC,OAAO,CAAC,gBAAgB,CAAC,aAAa,CAAC,EAAE;QACvE,OAAO,CAAC,2BAA2B,CACjC,OAAO,CAAC,2BAA2B,CACjC,OAAO,CAAC,2BAA2B,CACjC,OAAO,CAAC,uBAAuB,CAC7B,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,EACjC,SAAS,CACV,EACD,OAAO,CAAC,qBAAqB,CAC3B,OAAO,CAAC,mBAAmB,CAAC,SAAS,CAAC,IAAI,CAAC,CAC5C,CACF,EACD,OAAO,CAAC,qBAAqB,CAC3B,OAAO,CAAC,mBAAmB,CAAC,SAAS,CAAC,MAAM,CAAC,CAC9C,CACF,EACD,OAAO,CAAC,qBAAqB,CAC3B,OAAO,CAAC,mBAAmB,CAAC,aAAa,CAAC,CAC3C,CACF;KACF,CAAC;IACF,uFAAuF;IACvF,OAAO,CAAC,qBAAqB,CAAC,OAAO,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC,CACtE,EACD,OAAO,CAAC,qBAAqB,CAC3B,OAAO,CAAC,mBAAmB,CAAC,SAAS,CAAC,SAAS,CAAC,CACjD,CACF,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,6BAA6B,GAAG,CAAC,SAA2B,EAAE,EAAE;IACpE,IAAI,CAAC,SAAS,CAAC,UAAU;QACvB,OAAO,OAAO,CAAC,qBAAqB,CAAC,EAAE,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC;IAEvE,OAAO,OAAO,CAAC,2BAA2B,CACxC,OAAO,CAAC,2BAA2B,CACjC,OAAO,CAAC,2BAA2B,CACjC,OAAO,CAAC,uBAAuB,CAC7B,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,EACjC,SAAS,CACV,EACD,OAAO,CAAC,qBAAqB,CAC3B,OAAO,CAAC,mBAAmB,CAAC,SAAS,CAAC,IAAI,CAAC,CAC5C,CACF,EACD,OAAO,CAAC,qBAAqB,CAC3B,OAAO,CAAC,mBAAmB,CAAC,SAAS,CAAC,MAAM,CAAC,CAC9C,CACF,EACD,OAAO,CAAC,qBAAqB,CAAC,OAAO,CAAC,mBAAmB,CAAC,YAAY,CAAC,CAAC,CACzE,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,yBAAyB,GAAG,CAChC,EAAE,QAAQ,EAAE,YAAY,EAA8C,EACtE,UAA8B,EAC9B,EAAE;IACF,OAAO,OAAO,CAAC,uBAAuB,CACpC,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,EAClD,OAAO,CAAC,6BAA6B,CACnC;QACE,OAAO,CAAC,yBAAyB,CAC/B,OAAO,CAAC,gBAAgB,CAAC,YAAY,CAAC,EACtC,SAAS,EACT,6BAA6B,CAAC,EAAE,QAAQ,EAAE,CAAC,EAC3C,OAAO,CAAC,kBAAkB,CACxB,OAAO,CAAC,6BAA6B,CACnC,UAAU,CAAC,GAAG,CAAC,iCAAiC,CAAC,EACjD,IAAI,CACL,EACD,OAAO,CAAC,uBAAuB,CAC7B,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,EACjC,SAAS,CACV,CACF,CACF;KACF,EACD,EAAE,CAAC,SAAS,CAAC,KAAK,CACnB,CACF,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,6BAA6B,GAAG,CAAC,EAAE,QAAQ,EAAwB,EAAE,EAAE;IAC3E,OAAO,OAAO,CAAC,oBAAoB,CACjC,SAAS,EACT,OAAO,CAAC,8BAA8B,CACpC,SAAS,EACT,OAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAC/B,OAAO,CAAC,sBAAsB,CAC5B,EAAE,CAAC,UAAU,CAAC,YAAY,EAC1B,OAAO,CAAC,uBAAuB,CAC7B,OAAO,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAClC,SAAS,CACV,CACF,EACD,SAAS,CACV,EACD,SAAS,EACT,SAAS,EACT,OAAO,CAAC,uBAAuB,CAAC,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE;QAChE,OAAO,CAAC,2BAA2B,CACjC,OAAO,CAAC,uBAAuB,CAC7B,OAAO,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAClC,SAAS,CACV,EACD,OAAO,CAAC,uBAAuB,CAC7B,OAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAC/B,SAAS,CACV,CACF;QACD,OAAO,CAAC,qBAAqB,CAAC,OAAO,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;KACrE,CAAC,EACF,SAAS,CACV,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,iCAAiC,GAAG,CAAC,SAA2B,EAAE,EAAE;IACxE,OAAO,OAAO,CAAC,wBAAwB,CACrC,OAAO,CAAC,gBAAgB,CAAC,SAAS,CAAC,IAAI,CAAC,EACxC,OAAO,CAAC,6BAA6B,CACnC;QACE,OAAO,CAAC,wBAAwB,CAC9B,OAAO,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAClC,OAAO,CAAC,6BAA6B,CACnC;YACE,OAAO,CAAC,wBAAwB,CAC9B,OAAO,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAClC,OAAO,CAAC,mBAAmB,CAAC,SAAS,CAAC,MAAM,CAAC,CAC9C;YACD,OAAO,CAAC,wBAAwB,CAC9B,OAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAC/B,OAAO,CAAC,mBAAmB,CAAC,SAAS,CAAC,IAAI,CAAC,CAC5C;YACD,SAAS,CAAC,SAAS;gBACjB,CAAC,CAAC,OAAO,CAAC,wBAAwB,CAC9B,OAAO,CAAC,gBAAgB,CAAC,WAAW,CAAC,EACrC,OAAO,CAAC,mBAAmB,CAAC,SAAS,CAAC,SAAS,CAAC,CACjD;gBACH,CAAC,CAAC,IAAI;SACT,CAAC,MAAM,CAAC,CAAC,IAAI,EAAoC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,EACnE,IAAI,CACL,CACF;KACF,EACD,IAAI,CACL,CACF,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,sBAAsB,GAAG,CAAC,OAAiB,EAAE,EAAE;IACnD,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CACtC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAC9C,CAAC;IAEF,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QAClB,MAAM,IAAI,GACR,MAAM,CAAC,MAAM,KAAK,CAAC;YACjB,CAAC,CAAC,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;YAC3B,CAAC,CAAC,SAAS,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;QAEzC,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,sCAAsC;IAC9E,CAAC;IAED,OAAO,EAAE,CAAC;AACZ,CAAC,CAAC"}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import ts from 'typescript';
|
|
2
|
-
import { Service } from '../open-api/getServices.js';
|
|
3
|
-
type Options = {
|
|
4
|
-
explicitImportExtensions: boolean;
|
|
5
|
-
};
|
|
6
|
-
export declare const getServiceIndexFactory: (services: Service[], options: Options) => (ts.ImportDeclaration | ts.VariableStatement | ts.TypeAliasDeclaration)[];
|
|
7
|
-
export {};
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import ts from 'typescript';
|
|
2
|
-
export const getServiceIndexFactory = (services, options) => {
|
|
3
|
-
return [
|
|
4
|
-
...getServicesImportsFactory(services, options),
|
|
5
|
-
getServiceIndexInterfaceFactory(services),
|
|
6
|
-
getServiceIndexVariableFactory(services),
|
|
7
|
-
];
|
|
8
|
-
};
|
|
9
|
-
const getServiceIndexInterfaceFactory = (services) => {
|
|
10
|
-
const factory = ts.factory;
|
|
11
|
-
return factory.createTypeAliasDeclaration([factory.createToken(ts.SyntaxKind.ExportKeyword)], factory.createIdentifier('Services'), undefined, factory.createTypeLiteralNode(services.map(({ name, typeName }) => factory.createPropertySignature(undefined, factory.createIdentifier(name), undefined, factory.createTypeReferenceNode(factory.createIdentifier(typeName), undefined)))));
|
|
12
|
-
};
|
|
13
|
-
const getServiceIndexVariableFactory = (services) => {
|
|
14
|
-
const factory = ts.factory;
|
|
15
|
-
return factory.createVariableStatement([factory.createToken(ts.SyntaxKind.ExportKeyword)], factory.createVariableDeclarationList([
|
|
16
|
-
factory.createVariableDeclaration(factory.createIdentifier('services'), undefined, undefined, factory.createAsExpression(factory.createObjectLiteralExpression(services.map(({ name, variableName }) => factory.createPropertyAssignment(factory.createIdentifier(name), factory.createIdentifier(variableName))), true), factory.createTypeReferenceNode(factory.createIdentifier('const'), undefined))),
|
|
17
|
-
], ts.NodeFlags.Const));
|
|
18
|
-
};
|
|
19
|
-
const getServicesImportsFactory = (services, { explicitImportExtensions }) => {
|
|
20
|
-
const factory = ts.factory;
|
|
21
|
-
return services.map(({ variableName, typeName, fileBaseName }) => factory.createImportDeclaration(undefined, factory.createImportClause(false, undefined, factory.createNamedImports([
|
|
22
|
-
factory.createImportSpecifier(false, undefined, factory.createIdentifier(typeName)),
|
|
23
|
-
factory.createImportSpecifier(false, undefined, factory.createIdentifier(variableName)),
|
|
24
|
-
])), factory.createStringLiteral(`./${fileBaseName}${explicitImportExtensions ? '.js' : ''}`)));
|
|
25
|
-
};
|
|
26
|
-
//# sourceMappingURL=getServiceIndexFactory.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"getServiceIndexFactory.js","sourceRoot":"","sources":["../../../src/lib/ts-factory/getServiceIndexFactory.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
/// <reference types="node" resolution-mode="require"/>
|
|
2
|
-
/// <reference types="node" resolution-mode="require"/>
|
|
3
|
-
/// <reference types="node" resolution-mode="require"/>
|
|
4
|
-
import { Readable } from 'node:stream';
|
|
5
|
-
import { OpenAPI3 } from 'openapi-typescript';
|
|
6
|
-
import { ServiceBaseName } from './lib/open-api/getServices.js';
|
|
7
|
-
import { ServiceImportsFactoryOptions } from './lib/ts-factory/getServiceFactory.js';
|
|
8
|
-
type OutputOptions = {
|
|
9
|
-
fileHeader?: string;
|
|
10
|
-
dir: string;
|
|
11
|
-
clean: boolean;
|
|
12
|
-
postfixServices?: string;
|
|
13
|
-
explicitImportExtensions?: boolean;
|
|
14
|
-
servicesDirName: string;
|
|
15
|
-
serviceNameBase?: ServiceBaseName;
|
|
16
|
-
};
|
|
17
|
-
export declare const writeOpenAPIServices: ({ source, servicesGlob, serviceImports, output, }: {
|
|
18
|
-
source: string | URL | OpenAPI3 | Readable | Buffer;
|
|
19
|
-
servicesGlob: string[] | undefined;
|
|
20
|
-
serviceImports: ServiceImportsFactoryOptions;
|
|
21
|
-
output: OutputOptions;
|
|
22
|
-
}) => Promise<void>;
|
|
23
|
-
export {};
|
|
@@ -1,97 +0,0 @@
|
|
|
1
|
-
import c from 'ansi-colors';
|
|
2
|
-
import fs from 'node:fs';
|
|
3
|
-
import { resolve } from 'node:path';
|
|
4
|
-
import ora from 'ora';
|
|
5
|
-
import { getServices, } from './lib/open-api/getServices.js';
|
|
6
|
-
import { readSchema } from './lib/open-api/readSchema.js';
|
|
7
|
-
import { astToString } from './lib/ts-factory/astToString.js';
|
|
8
|
-
import { getClientFactory } from './lib/ts-factory/getClientFactory.js';
|
|
9
|
-
import { getIndexFactory } from './lib/ts-factory/getIndexFactory.js';
|
|
10
|
-
import { getServiceFactory, } from './lib/ts-factory/getServiceFactory.js';
|
|
11
|
-
import { getServiceIndexFactory } from './lib/ts-factory/getServiceIndexFactory.js';
|
|
12
|
-
export const writeOpenAPIServices = async ({ source, servicesGlob, serviceImports, output, }) => {
|
|
13
|
-
const schema = await readSchema(source);
|
|
14
|
-
const services = getServices(schema, output, servicesGlob);
|
|
15
|
-
await writeServices(services, serviceImports, output);
|
|
16
|
-
await writeServiceIndex(services, output);
|
|
17
|
-
await writeClient(output);
|
|
18
|
-
await writeIndex(output);
|
|
19
|
-
};
|
|
20
|
-
const writeServices = async (services, serviceImports, output) => {
|
|
21
|
-
const servicesDir = resolve(output.dir, output.servicesDirName);
|
|
22
|
-
if (output.clean)
|
|
23
|
-
await fs.promises.rm(servicesDir, {
|
|
24
|
-
recursive: true,
|
|
25
|
-
force: true,
|
|
26
|
-
});
|
|
27
|
-
await fs.promises.mkdir(servicesDir, { recursive: true });
|
|
28
|
-
const spinner = ora(`Generating services`).start();
|
|
29
|
-
for (const service of services) {
|
|
30
|
-
const { operations, name, typeName, variableName, fileBaseName } = service;
|
|
31
|
-
spinner.text = `Generating ${c.magenta(name)} service`;
|
|
32
|
-
try {
|
|
33
|
-
const code = getFileHeader(output) +
|
|
34
|
-
astToString(getServiceFactory({
|
|
35
|
-
typeName,
|
|
36
|
-
variableName,
|
|
37
|
-
}, operations, serviceImports));
|
|
38
|
-
await fs.promises.writeFile(resolve(servicesDir, `${fileBaseName}.ts`), code);
|
|
39
|
-
}
|
|
40
|
-
catch (error) {
|
|
41
|
-
spinner.fail(c.redBright(`Error occurred during ${c.magenta(name)} service generation`));
|
|
42
|
-
throw error;
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
spinner.succeed(c.green('Services has been generated'));
|
|
46
|
-
};
|
|
47
|
-
const writeServiceIndex = async (services, output) => {
|
|
48
|
-
const spinner = ora('Generating services index').start();
|
|
49
|
-
try {
|
|
50
|
-
const code = getFileHeader(output) +
|
|
51
|
-
astToString(getServiceIndexFactory(services, {
|
|
52
|
-
explicitImportExtensions: Boolean(output.explicitImportExtensions),
|
|
53
|
-
}));
|
|
54
|
-
await fs.promises.writeFile(resolve(output.dir, output.servicesDirName, 'index.ts'), code);
|
|
55
|
-
}
|
|
56
|
-
catch (error) {
|
|
57
|
-
spinner.fail(c.redBright('Error occurred during services index generation'));
|
|
58
|
-
throw error;
|
|
59
|
-
}
|
|
60
|
-
spinner.succeed(c.green('Services index has been generated'));
|
|
61
|
-
};
|
|
62
|
-
const writeClient = async (output) => {
|
|
63
|
-
const spinner = ora('Generating client').start();
|
|
64
|
-
try {
|
|
65
|
-
const code = getFileHeader(output) +
|
|
66
|
-
astToString(getClientFactory({
|
|
67
|
-
servicesDirName: output.servicesDirName,
|
|
68
|
-
explicitImportExtensions: Boolean(output.explicitImportExtensions),
|
|
69
|
-
}));
|
|
70
|
-
await fs.promises.writeFile(resolve(output.dir, 'create-api-client.ts'), code);
|
|
71
|
-
}
|
|
72
|
-
catch (error) {
|
|
73
|
-
spinner.fail(c.redBright('Error occurred during client generation'));
|
|
74
|
-
throw error;
|
|
75
|
-
}
|
|
76
|
-
spinner.succeed(c.green('Client has been generated'));
|
|
77
|
-
};
|
|
78
|
-
const writeIndex = async (output) => {
|
|
79
|
-
const spinner = ora('Generating index').start();
|
|
80
|
-
try {
|
|
81
|
-
const code = getFileHeader(output) +
|
|
82
|
-
astToString(getIndexFactory({
|
|
83
|
-
servicesDirName: output.servicesDirName,
|
|
84
|
-
explicitImportExtensions: Boolean(output.explicitImportExtensions),
|
|
85
|
-
}));
|
|
86
|
-
await fs.promises.writeFile(resolve(output.dir, 'index.ts'), code);
|
|
87
|
-
}
|
|
88
|
-
catch (error) {
|
|
89
|
-
spinner.fail(c.redBright('Error occurred during index generation'));
|
|
90
|
-
throw error;
|
|
91
|
-
}
|
|
92
|
-
spinner.succeed(c.green('Index has been generated'));
|
|
93
|
-
};
|
|
94
|
-
const getFileHeader = ({ fileHeader }) => {
|
|
95
|
-
return fileHeader && `${fileHeader}\n`;
|
|
96
|
-
};
|
|
97
|
-
//# sourceMappingURL=writeOpenAPIServices.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"writeOpenAPIServices.js","sourceRoot":"","sources":["../src/writeOpenAPIServices.ts"],"names":[],"mappings":"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"}
|