@rxap/schematics-open-api 16.0.0-dev.11 → 16.0.0-dev.13
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 +12 -0
- package/README.md +1 -1
- package/package.json +8 -8
- package/src/index.js +26 -29
- package/src/index.js.map +1 -1
- package/src/lib/clear-operation.js +5 -9
- package/src/lib/clear-operation.js.map +1 -1
- package/src/lib/config.js +7 -10
- package/src/lib/config.js.map +1 -1
- package/src/lib/generate-components.js +8 -9
- package/src/lib/generate-components.js.map +1 -1
- package/src/lib/generate-index-exports.js +3 -7
- package/src/lib/generate-index-exports.js.map +1 -1
- package/src/lib/generate-operation.js +24 -26
- package/src/lib/generate-operation.js.map +1 -1
- package/src/lib/generate-parameters.js +16 -18
- package/src/lib/generate-parameters.js.map +1 -1
- package/src/lib/generate-request-body.js +13 -14
- package/src/lib/generate-request-body.js.map +1 -1
- package/src/lib/generate-response.js +13 -14
- package/src/lib/generate-response.js.map +1 -1
- package/src/lib/load-open-api-config.js +16 -23
- package/src/lib/load-open-api-config.js.map +1 -1
- package/src/lib/types.js +3 -9
- package/src/lib/types.js.map +1 -1
- package/src/lib/utilities/any-schema-object.js +1 -5
- package/src/lib/utilities/any-schema-object.js.map +1 -1
- package/src/lib/utilities/get-parameter-type.js +4 -8
- package/src/lib/utilities/get-parameter-type.js.map +1 -1
- package/src/lib/utilities/get-reqeust-body.js +6 -10
- package/src/lib/utilities/get-reqeust-body.js.map +1 -1
- package/src/lib/utilities/get-request-body-type.js +8 -12
- package/src/lib/utilities/get-request-body-type.js.map +1 -1
- package/src/lib/utilities/get-response-type.js +8 -12
- package/src/lib/utilities/get-response-type.js.map +1 -1
- package/src/lib/utilities/get-response.js +3 -7
- package/src/lib/utilities/get-response.js.map +1 -1
- package/src/lib/utilities/has-operation-paramters.js +1 -5
- package/src/lib/utilities/has-operation-paramters.js.map +1 -1
- package/src/lib/utilities/has-operation-request-body.js +1 -5
- package/src/lib/utilities/has-operation-request-body.js.map +1 -1
- package/src/lib/utilities/http-request.js +3 -7
- package/src/lib/utilities/http-request.js.map +1 -1
- package/src/lib/utilities/ignore-operation.js +2 -7
- package/src/lib/utilities/ignore-operation.js.map +1 -1
- package/src/lib/utilities/is-collection-response.js +7 -11
- package/src/lib/utilities/is-collection-response.js.map +1 -1
- package/src/lib/utilities/is-http-method.js +1 -5
- package/src/lib/utilities/is-http-method.js.map +1 -1
- package/src/lib/utilities/is-open-api-schema-from-path.js +3 -7
- package/src/lib/utilities/is-open-api-schema-from-path.js.map +1 -1
- package/src/lib/utilities/is-operation-object.js +1 -5
- package/src/lib/utilities/is-operation-object.js.map +1 -1
- package/src/lib/utilities/is-reference-object.js +1 -5
- package/src/lib/utilities/is-reference-object.js.map +1 -1
- package/src/lib/utilities/is-without-parameters.js +1 -5
- package/src/lib/utilities/is-without-parameters.js.map +1 -1
- package/src/schematics/generate/const.js +5 -8
- package/src/schematics/generate/const.js.map +1 -1
- package/src/schematics/generate/create-directive.js +10 -14
- package/src/schematics/generate/create-directive.js.map +1 -1
- package/src/schematics/generate/generate-data-source.js +13 -17
- package/src/schematics/generate/generate-data-source.js.map +1 -1
- package/src/schematics/generate/generate-openapi-provider.js +9 -13
- package/src/schematics/generate/generate-openapi-provider.js.map +1 -1
- package/src/schematics/generate/generate-operation-command.js +105 -112
- package/src/schematics/generate/generate-operation-command.js.map +1 -1
- package/src/schematics/generate/generate-remote-method.js +27 -31
- package/src/schematics/generate/generate-remote-method.js.map +1 -1
- package/src/schematics/generate/index.js +41 -43
- package/src/schematics/generate/index.js.map +1 -1
- package/src/schematics/generate/options.js +1 -2
- package/src/schematics/generate/schema.d.ts +2 -2
|
@@ -1,28 +1,24 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
const generate_data_source_1 = require("./generate-data-source");
|
|
15
|
-
const generate_operation_command_1 = require("./generate-operation-command");
|
|
16
|
-
const generate_remote_method_1 = require("./generate-remote-method");
|
|
1
|
+
import { chain, } from '@angular-devkit/schematics';
|
|
2
|
+
import { ApplyTsMorphProjectRule } from '@rxap/schematics-ts-morph';
|
|
3
|
+
import { dasherize, GetProjectSourceRoot, } from '@rxap/schematics-utilities';
|
|
4
|
+
import { join } from 'path';
|
|
5
|
+
import { IndentationText, Project, QuoteKind, } from 'ts-morph';
|
|
6
|
+
import { ClearOperation } from '../../lib/clear-operation';
|
|
7
|
+
import { COMPONENTS_BASE_PATH, PARAMETER_BASE_PATH, REQUEST_BODY_BASE_PATH, RESPONSE_BASE_PATH, } from '../../lib/config';
|
|
8
|
+
import { GenerateOperation } from '../../lib/generate-operation';
|
|
9
|
+
import { LoadOpenApiConfig } from '../../lib/load-open-api-config';
|
|
10
|
+
import { COMMAND_BASE_PATH, DATA_SOURCE_BASE_PATH, REMOTE_METHOD_BASE_PATH, } from './const';
|
|
11
|
+
import { GenerateDataSource } from './generate-data-source';
|
|
12
|
+
import { GenerateOperationCommand } from './generate-operation-command';
|
|
13
|
+
import { GenerateRemoteMethod } from './generate-remote-method';
|
|
17
14
|
function resolveRef(openApiSpec, node, parent, key) {
|
|
18
|
-
var _a;
|
|
19
15
|
if (typeof node !== 'object' || node === null) {
|
|
20
16
|
return;
|
|
21
17
|
}
|
|
22
18
|
if (node['$ref']) {
|
|
23
19
|
if (node.$ref.startsWith('#/components/schemas')) {
|
|
24
20
|
const name = node.$ref.replace('#/components/schemas/', '');
|
|
25
|
-
if (parent && key &&
|
|
21
|
+
if (parent && key && openApiSpec.components?.schemas) {
|
|
26
22
|
parent[key] = openApiSpec.components.schemas[name];
|
|
27
23
|
}
|
|
28
24
|
}
|
|
@@ -33,29 +29,32 @@ function resolveRef(openApiSpec, node, parent, key) {
|
|
|
33
29
|
}
|
|
34
30
|
}
|
|
35
31
|
}
|
|
36
|
-
function
|
|
37
|
-
return (host) =>
|
|
32
|
+
export default function (options) {
|
|
33
|
+
return async (host) => {
|
|
38
34
|
console.log('loading openapi config');
|
|
39
|
-
const openapi =
|
|
35
|
+
const openapi = await LoadOpenApiConfig(host, options);
|
|
40
36
|
console.log('resolve all schema refs');
|
|
41
37
|
resolveRef(openapi, openapi.paths);
|
|
42
|
-
const project = new
|
|
38
|
+
const project = new Project({
|
|
43
39
|
manipulationSettings: {
|
|
44
|
-
indentationText:
|
|
45
|
-
quoteKind:
|
|
40
|
+
indentationText: IndentationText.TwoSpaces,
|
|
41
|
+
quoteKind: QuoteKind.Single,
|
|
46
42
|
useTrailingCommas: true,
|
|
47
43
|
},
|
|
48
44
|
useInMemoryFileSystem: true,
|
|
49
45
|
});
|
|
46
|
+
if (options.inline !== false) {
|
|
47
|
+
options.inline = true;
|
|
48
|
+
}
|
|
50
49
|
if (!options.project) {
|
|
51
50
|
options.project = 'open-api';
|
|
52
51
|
}
|
|
53
52
|
if (options.directory) {
|
|
54
|
-
options.directory = options.directory.split('/').map(item =>
|
|
53
|
+
options.directory = options.directory.split('/').map(item => dasherize(item)).join('/');
|
|
55
54
|
}
|
|
56
55
|
const projectName = options.project;
|
|
57
|
-
const projectSourceRoot =
|
|
58
|
-
const basePath =
|
|
56
|
+
const projectSourceRoot = GetProjectSourceRoot(host, projectName);
|
|
57
|
+
const basePath = join(projectSourceRoot, 'lib');
|
|
59
58
|
// if (!options.debug) {
|
|
60
59
|
// // TODO : reset the hack after the schematic execution is finished
|
|
61
60
|
// // eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
@@ -64,29 +63,29 @@ function default_1(options) {
|
|
|
64
63
|
const generatorFunctionList = [];
|
|
65
64
|
const clearPathList = [];
|
|
66
65
|
if (!options.skipRemoteMethod) {
|
|
67
|
-
generatorFunctionList.push(
|
|
68
|
-
clearPathList.push(
|
|
66
|
+
generatorFunctionList.push(GenerateRemoteMethod);
|
|
67
|
+
clearPathList.push(REMOTE_METHOD_BASE_PATH);
|
|
69
68
|
}
|
|
70
69
|
if (!options.skipDataSource) {
|
|
71
|
-
generatorFunctionList.push(
|
|
72
|
-
clearPathList.push(
|
|
70
|
+
generatorFunctionList.push(GenerateDataSource);
|
|
71
|
+
clearPathList.push(DATA_SOURCE_BASE_PATH);
|
|
73
72
|
}
|
|
74
73
|
if (!options.skipCommand) {
|
|
75
|
-
generatorFunctionList.push(
|
|
76
|
-
clearPathList.push(
|
|
74
|
+
generatorFunctionList.push(GenerateOperationCommand);
|
|
75
|
+
clearPathList.push(COMMAND_BASE_PATH);
|
|
77
76
|
}
|
|
78
77
|
let start = Date.now();
|
|
79
|
-
return
|
|
78
|
+
return chain([
|
|
80
79
|
() => {
|
|
81
80
|
console.log(`+${Date.now() - start}ms`);
|
|
82
81
|
console.log(`remove old files`);
|
|
83
82
|
start = Date.now();
|
|
84
83
|
},
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
84
|
+
ClearOperation([
|
|
85
|
+
COMPONENTS_BASE_PATH,
|
|
86
|
+
PARAMETER_BASE_PATH,
|
|
87
|
+
RESPONSE_BASE_PATH,
|
|
88
|
+
REQUEST_BODY_BASE_PATH,
|
|
90
89
|
...clearPathList,
|
|
91
90
|
], basePath),
|
|
92
91
|
() => {
|
|
@@ -94,19 +93,18 @@ function default_1(options) {
|
|
|
94
93
|
console.log(`generate code for operations`);
|
|
95
94
|
start = Date.now();
|
|
96
95
|
},
|
|
97
|
-
() =>
|
|
96
|
+
() => GenerateOperation(openapi, project, options, generatorFunctionList),
|
|
98
97
|
() => {
|
|
99
98
|
console.log(`+${Date.now() - start}ms`);
|
|
100
99
|
console.log('apply changed to tree');
|
|
101
100
|
start = Date.now();
|
|
102
101
|
},
|
|
103
|
-
|
|
102
|
+
ApplyTsMorphProjectRule(project, basePath, true, true),
|
|
104
103
|
() => {
|
|
105
104
|
console.log(`+${Date.now() - start}ms`);
|
|
106
105
|
console.log('DONE');
|
|
107
106
|
},
|
|
108
107
|
]);
|
|
109
|
-
}
|
|
108
|
+
};
|
|
110
109
|
}
|
|
111
|
-
exports.default = default_1;
|
|
112
110
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../packages/schematic/open-api/src/schematics/generate/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../packages/schematic/open-api/src/schematics/generate/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,9 +3,9 @@ export interface OpenApiSchemaBase {
|
|
|
3
3
|
transport?: 'amplify';
|
|
4
4
|
debug?: boolean;
|
|
5
5
|
prefix: string;
|
|
6
|
-
export
|
|
6
|
+
export?: boolean;
|
|
7
7
|
serverId?: string;
|
|
8
|
-
inline
|
|
8
|
+
inline?: boolean;
|
|
9
9
|
directory?: string;
|
|
10
10
|
skipRemoteMethod: boolean;
|
|
11
11
|
skipCommand: boolean;
|