@rxap/schematics-ts-morph 16.1.0-dev.2 → 16.1.0-dev.21
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 +136 -0
- package/README.md +1 -1
- package/package.json +14 -12
- package/src/index.d.ts +8 -2
- package/src/index.js +8 -2
- package/src/index.js.map +1 -1
- package/src/lib/angular/coerce-component.d.ts +4 -1
- package/src/lib/angular/coerce-component.js +15 -7
- package/src/lib/angular/coerce-component.js.map +1 -1
- package/src/lib/angular/coerce-dialog-table-action-component.js +2 -2
- package/src/lib/angular/coerce-dialog-table-action-component.js.map +1 -1
- package/src/lib/angular/coerce-form-definition-array.d.ts +14 -0
- package/src/lib/angular/coerce-form-definition-array.js +87 -0
- package/src/lib/angular/coerce-form-definition-array.js.map +1 -0
- package/src/lib/angular/coerce-form-definition-control.d.ts +9 -12
- package/src/lib/angular/coerce-form-definition-control.js +68 -125
- package/src/lib/angular/coerce-form-definition-control.js.map +1 -1
- package/src/lib/angular/coerce-form-definition-form-control.d.ts +11 -0
- package/src/lib/angular/coerce-form-definition-form-control.js +66 -0
- package/src/lib/angular/coerce-form-definition-form-control.js.map +1 -0
- package/src/lib/angular/coerce-form-definition-group.d.ts +14 -0
- package/src/lib/angular/coerce-form-definition-group.js +80 -0
- package/src/lib/angular/coerce-form-definition-group.js.map +1 -0
- package/src/lib/angular/coerce-form-definition-type.d.ts +2 -2
- package/src/lib/angular/coerce-form-definition-type.js +16 -2
- package/src/lib/angular/coerce-form-definition-type.js.map +1 -1
- package/src/lib/angular/coerce-form-definition.d.ts +4 -4
- package/src/lib/angular/coerce-form-definition.js +24 -13
- package/src/lib/angular/coerce-form-definition.js.map +1 -1
- package/src/lib/angular/coerce-options-data-source.d.ts +3 -1
- package/src/lib/angular/coerce-options-data-source.js +35 -6
- package/src/lib/angular/coerce-options-data-source.js.map +1 -1
- package/src/lib/angular/coerce-proxy-remote-method-class.d.ts +4 -2
- package/src/lib/angular/coerce-proxy-remote-method-class.js +54 -35
- package/src/lib/angular/coerce-proxy-remote-method-class.js.map +1 -1
- package/src/lib/angular/coerce-table-parameters-from-route.js +4 -4
- package/src/lib/angular/coerce-table-parameters-from-route.js.map +1 -1
- package/src/lib/angular/coerce-table-select-resolve-value-method.js +2 -2
- package/src/lib/angular/coerce-table-select-resolve-value-method.js.map +1 -1
- package/src/lib/angular/coerce-tree-table-children-proxy-remote-method-class.js +2 -2
- package/src/lib/angular/coerce-tree-table-children-proxy-remote-method-class.js.map +1 -1
- package/src/lib/angular/coerce-tree-table-root-proxy-remote-method-class.d.ts +1 -0
- package/src/lib/angular/coerce-tree-table-root-proxy-remote-method-class.js +10 -3
- package/src/lib/angular/coerce-tree-table-root-proxy-remote-method-class.js.map +1 -1
- package/src/lib/angular/form-definition-utilities.d.ts +1 -0
- package/src/lib/angular/form-definition-utilities.js +7 -3
- package/src/lib/angular/form-definition-utilities.js.map +1 -1
- package/src/lib/nest/add-operation-to-controller.d.ts +1 -1
- package/src/lib/nest/add-operation-to-controller.js +59 -55
- package/src/lib/nest/add-operation-to-controller.js.map +1 -1
- package/src/lib/nest/build-nest-controller-name.js +10 -0
- package/src/lib/nest/build-nest-controller-name.js.map +1 -1
- package/src/lib/nest/coerce-autocomplete-options-operation.d.ts +12 -0
- package/src/lib/nest/coerce-autocomplete-options-operation.js +65 -0
- package/src/lib/nest/coerce-autocomplete-options-operation.js.map +1 -0
- package/src/lib/nest/coerce-autocomplete-table-select-value-resolve-operation.d.ts +7 -0
- package/src/lib/nest/coerce-autocomplete-table-select-value-resolve-operation.js +16 -0
- package/src/lib/nest/coerce-autocomplete-table-select-value-resolve-operation.js.map +1 -0
- package/src/lib/nest/coerce-dto-class.d.ts +3 -15
- package/src/lib/nest/coerce-dto-class.js +186 -149
- package/src/lib/nest/coerce-dto-class.js.map +1 -1
- package/src/lib/nest/coerce-form-submit-operation.d.ts +2 -4
- package/src/lib/nest/coerce-form-submit-operation.js +14 -15
- package/src/lib/nest/coerce-form-submit-operation.js.map +1 -1
- package/src/lib/nest/coerce-get-by-id-operation.d.ts +9 -7
- package/src/lib/nest/coerce-get-by-id-operation.js +102 -55
- package/src/lib/nest/coerce-get-by-id-operation.js.map +1 -1
- package/src/lib/nest/coerce-get-children-operation.js +8 -43
- package/src/lib/nest/coerce-get-children-operation.js.map +1 -1
- package/src/lib/nest/coerce-get-data-grid-operation.d.ts +5 -4
- package/src/lib/nest/coerce-get-data-grid-operation.js +7 -22
- package/src/lib/nest/coerce-get-data-grid-operation.js.map +1 -1
- package/src/lib/nest/coerce-get-operation.d.ts +5 -0
- package/src/lib/nest/coerce-get-operation.js +11 -0
- package/src/lib/nest/coerce-get-operation.js.map +1 -0
- package/src/lib/nest/coerce-get-page-operation.d.ts +17 -28
- package/src/lib/nest/coerce-get-page-operation.js +148 -119
- package/src/lib/nest/coerce-get-page-operation.js.map +1 -1
- package/src/lib/nest/coerce-get-root-operation.d.ts +6 -4
- package/src/lib/nest/coerce-get-root-operation.js +19 -26
- package/src/lib/nest/coerce-get-root-operation.js.map +1 -1
- package/src/lib/nest/coerce-operation.d.ts +32 -9
- package/src/lib/nest/coerce-operation.js +197 -29
- package/src/lib/nest/coerce-operation.js.map +1 -1
- package/src/lib/nest/coerce-options-operation.d.ts +6 -3
- package/src/lib/nest/coerce-options-operation.js +68 -43
- package/src/lib/nest/coerce-options-operation.js.map +1 -1
- package/src/lib/nest/coerce-page-dto-class.d.ts +3 -8
- package/src/lib/nest/coerce-page-dto-class.js +21 -20
- package/src/lib/nest/coerce-page-dto-class.js.map +1 -1
- package/src/lib/nest/coerce-row-dto-class.d.ts +3 -1
- package/src/lib/nest/coerce-row-dto-class.js +12 -10
- package/src/lib/nest/coerce-row-dto-class.js.map +1 -1
- package/src/lib/nest/coerce-submit-data-grid-operation.js +3 -7
- package/src/lib/nest/coerce-submit-data-grid-operation.js.map +1 -1
- package/src/lib/nest/coerce-table-select-operation.d.ts +4 -2
- package/src/lib/nest/coerce-table-select-operation.js +7 -14
- package/src/lib/nest/coerce-table-select-operation.js.map +1 -1
- package/src/lib/nest/coerce-table-select-value-resolve-operation.d.ts +9 -6
- package/src/lib/nest/coerce-table-select-value-resolve-operation.js +34 -33
- package/src/lib/nest/coerce-table-select-value-resolve-operation.js.map +1 -1
- package/src/lib/nest/coerce-tree-operation.js +36 -44
- package/src/lib/nest/coerce-tree-operation.js.map +1 -1
- package/src/lib/nest/dto-class-property.d.ts +11 -0
- package/src/lib/nest/dto-class-property.js +30 -0
- package/src/lib/nest/dto-class-property.js.map +1 -0
- package/src/lib/nest/table-query-list.js +10 -2
- package/src/lib/nest/table-query-list.js.map +1 -1
- package/src/lib/ts-morph/coerce-imports.js +1 -1
- package/src/lib/ts-morph/coerce-imports.js.map +1 -1
- package/src/lib/types/abstract-control.d.ts +8 -0
- package/src/lib/types/{form-definition-control.js → abstract-control.js} +1 -1
- package/src/lib/types/abstract-control.js.map +1 -0
- package/src/lib/nest/create-dto-class.d.ts +0 -24
- package/src/lib/nest/create-dto-class.js +0 -169
- package/src/lib/nest/create-dto-class.js.map +0 -1
- package/src/lib/types/form-definition-control.d.ts +0 -10
- package/src/lib/types/form-definition-control.js.map +0 -1
|
@@ -1,33 +1,180 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.CoerceOperation = exports.
|
|
3
|
+
exports.CoerceOperation = exports.CoerceUpstreamDefaultOperationImplementation = exports.BuildUpstreamGetDataImplementation = exports.BuildDtoReturnImplementation = exports.BuiltDtoDataMapperImplementation = exports.CoerceOperationDtoClass = exports.BuildOperationDtoClassName = exports.CoerceUpstreamBasicOperationImplementation = void 0;
|
|
4
4
|
const schematics_1 = require("@angular-devkit/schematics");
|
|
5
5
|
const schematics_utilities_1 = require("@rxap/schematics-utilities");
|
|
6
|
+
const ts_morph_1 = require("@rxap/ts-morph");
|
|
7
|
+
const utilities_1 = require("@rxap/utilities");
|
|
6
8
|
const path_1 = require("path");
|
|
9
|
+
const ts_morph_2 = require("ts-morph");
|
|
7
10
|
const ts_morph_transform_1 = require("../ts-morph-transform");
|
|
8
11
|
const add_operation_to_controller_1 = require("./add-operation-to-controller");
|
|
9
12
|
const build_nest_controller_name_1 = require("./build-nest-controller-name");
|
|
13
|
+
const coerce_dto_class_1 = require("./coerce-dto-class");
|
|
10
14
|
const coerce_nest_controller_1 = require("./coerce-nest-controller");
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
}
|
|
15
|
+
function CoerceUpstreamBasicOperationImplementation(classDeclaration, moduleSourceFile, upstream) {
|
|
16
|
+
if ((0, ts_morph_1.IsNormalizedOpenApiUpstreamOptions)(upstream)) {
|
|
17
|
+
const sourceFile = classDeclaration.getSourceFile();
|
|
18
|
+
const commandClassName = (0, ts_morph_1.OperationIdToCommandClassName)(upstream.operationId);
|
|
19
|
+
(0, ts_morph_1.CoerceImports)(sourceFile, {
|
|
20
|
+
namedImports: [commandClassName],
|
|
21
|
+
moduleSpecifier: (0, ts_morph_1.OperationIdToCommandClassImportPath)(upstream.operationId, upstream.scope, upstream.isService),
|
|
22
|
+
});
|
|
23
|
+
(0, ts_morph_1.CoerceNestModuleImport)(moduleSourceFile, {
|
|
24
|
+
moduleName: 'HttpModule',
|
|
25
|
+
moduleSpecifier: '@nestjs/axios',
|
|
26
|
+
});
|
|
27
|
+
(0, ts_morph_1.CoerceNestModuleProvider)(moduleSourceFile, {
|
|
28
|
+
providerObject: 'Logger',
|
|
29
|
+
moduleSpecifier: '@nestjs/common',
|
|
30
|
+
});
|
|
31
|
+
(0, ts_morph_1.CoerceNestModuleProvider)(moduleSourceFile, {
|
|
32
|
+
providerObject: commandClassName,
|
|
33
|
+
moduleSpecifier: (0, ts_morph_1.OperationIdToCommandClassImportPath)(upstream.operationId, upstream.scope, upstream.isService),
|
|
34
|
+
});
|
|
35
|
+
const commandMemberName = (0, utilities_1.camelize)(commandClassName);
|
|
36
|
+
(0, ts_morph_1.CoerceImports)(sourceFile, {
|
|
37
|
+
namedImports: ['Inject'],
|
|
38
|
+
moduleSpecifier: '@nestjs/common',
|
|
39
|
+
});
|
|
40
|
+
(0, ts_morph_1.CoercePropertyDeclaration)(classDeclaration, commandMemberName, {
|
|
41
|
+
type: commandClassName,
|
|
42
|
+
hasExclamationToken: true,
|
|
43
|
+
scope: ts_morph_2.Scope.Private,
|
|
44
|
+
isReadonly: true,
|
|
45
|
+
decorators: [
|
|
46
|
+
{
|
|
47
|
+
name: 'Inject',
|
|
48
|
+
arguments: [commandClassName],
|
|
49
|
+
},
|
|
50
|
+
],
|
|
51
|
+
});
|
|
52
|
+
return {
|
|
53
|
+
className: commandClassName,
|
|
54
|
+
memberName: commandMemberName,
|
|
55
|
+
};
|
|
23
56
|
}
|
|
57
|
+
throw new Error(`Upstream kind '${upstream.kind}' not supported`);
|
|
58
|
+
}
|
|
59
|
+
exports.CoerceUpstreamBasicOperationImplementation = CoerceUpstreamBasicOperationImplementation;
|
|
60
|
+
function BuildOperationDtoClassName(controllerName, options) {
|
|
61
|
+
const { dtoClassNameSuffix, dtoClassName, } = options;
|
|
62
|
+
return dtoClassName !== null && dtoClassName !== void 0 ? dtoClassName : (dtoClassNameSuffix ? (0, utilities_1.CoerceSuffix)(controllerName, (0, utilities_1.CoercePrefix)(dtoClassNameSuffix, '-')) : controllerName);
|
|
63
|
+
}
|
|
64
|
+
exports.BuildOperationDtoClassName = BuildOperationDtoClassName;
|
|
65
|
+
function CoerceOperationDtoClass(classDeclaration, controllerName, moduleSourceFile, options) {
|
|
66
|
+
const sourceFile = classDeclaration.getSourceFile();
|
|
67
|
+
const project = sourceFile.getProject();
|
|
68
|
+
const { dtoClassNameSuffix, dtoClassName, propertyList = [], isReturnVoid, buildOperationDtoClassName = BuildOperationDtoClassName } = options;
|
|
69
|
+
let dto = null;
|
|
70
|
+
if (propertyList.length > 0 || isReturnVoid === false || dtoClassNameSuffix || dtoClassName) {
|
|
71
|
+
dto = (0, coerce_dto_class_1.CoerceDtoClass)({
|
|
72
|
+
project,
|
|
73
|
+
name: buildOperationDtoClassName(controllerName, options),
|
|
74
|
+
propertyList,
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
return dto;
|
|
78
|
+
}
|
|
79
|
+
exports.CoerceOperationDtoClass = CoerceOperationDtoClass;
|
|
80
|
+
function BuiltDtoDataMapperImplementation(classDeclaration, moduleSourceFile, dto, options) {
|
|
81
|
+
const { propertyList = [], upstream, isArray, } = options;
|
|
82
|
+
return () => {
|
|
83
|
+
var _a;
|
|
84
|
+
if (upstream) {
|
|
85
|
+
const mapper = {};
|
|
86
|
+
for (const property of propertyList) {
|
|
87
|
+
mapper[property.name] = `data.${(_a = property.source) !== null && _a !== void 0 ? _a : property.name}`;
|
|
88
|
+
}
|
|
89
|
+
if (isArray) {
|
|
90
|
+
return w => {
|
|
91
|
+
w.write('data.map(item => (');
|
|
92
|
+
ts_morph_2.Writers.object(mapper)(w);
|
|
93
|
+
w.write('))');
|
|
94
|
+
};
|
|
95
|
+
}
|
|
96
|
+
else {
|
|
97
|
+
return ts_morph_2.Writers.object(mapper);
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
else {
|
|
101
|
+
return isArray ? '[]' : '{}';
|
|
102
|
+
}
|
|
103
|
+
};
|
|
24
104
|
}
|
|
25
|
-
exports.
|
|
105
|
+
exports.BuiltDtoDataMapperImplementation = BuiltDtoDataMapperImplementation;
|
|
106
|
+
function BuildDtoReturnImplementation(classDeclaration, moduleSourceFile, dto, options) {
|
|
107
|
+
return (operationOptions) => {
|
|
108
|
+
var _a;
|
|
109
|
+
const { isArray, isReturnVoid = !dto, builtDtoDataMapperImplementation = BuiltDtoDataMapperImplementation, } = options;
|
|
110
|
+
if (!isReturnVoid && dto) {
|
|
111
|
+
const sourceFile = classDeclaration.getSourceFile();
|
|
112
|
+
(0, ts_morph_1.CoerceImports)(sourceFile, {
|
|
113
|
+
namedImports: [isArray ? 'ToDtoInstanceList' : 'ToDtoInstance'],
|
|
114
|
+
moduleSpecifier: '@rxap/nest-dto',
|
|
115
|
+
});
|
|
116
|
+
const mapper = builtDtoDataMapperImplementation(classDeclaration, moduleSourceFile, dto, options)(operationOptions);
|
|
117
|
+
operationOptions.returnType = dto.className + (isArray ? '[]' : '');
|
|
118
|
+
(_a = operationOptions.statements) !== null && _a !== void 0 ? _a : (operationOptions.statements = []);
|
|
119
|
+
operationOptions.statements = (0, utilities_1.coerceArray)(operationOptions.statements);
|
|
120
|
+
if (isArray) {
|
|
121
|
+
operationOptions.statements.push('return ToDtoInstanceList(');
|
|
122
|
+
}
|
|
123
|
+
else {
|
|
124
|
+
operationOptions.statements.push('return ToDtoInstance(');
|
|
125
|
+
}
|
|
126
|
+
operationOptions.statements.push(dto.className + ',', w => {
|
|
127
|
+
if (typeof mapper === 'string') {
|
|
128
|
+
w.write(mapper);
|
|
129
|
+
}
|
|
130
|
+
else {
|
|
131
|
+
mapper(w);
|
|
132
|
+
}
|
|
133
|
+
w.write(',');
|
|
134
|
+
}, ');');
|
|
135
|
+
}
|
|
136
|
+
};
|
|
137
|
+
}
|
|
138
|
+
exports.BuildDtoReturnImplementation = BuildDtoReturnImplementation;
|
|
139
|
+
function BuildUpstreamGetDataImplementation(classDeclaration, moduleSourceFile, dto, options) {
|
|
140
|
+
return (operationOptions) => {
|
|
141
|
+
var _a;
|
|
142
|
+
const { buildUpstreamGetParametersImplementation = (() => () => ''), upstream, } = options;
|
|
143
|
+
if (upstream) {
|
|
144
|
+
if ((0, ts_morph_1.IsNormalizedOpenApiUpstreamOptions)(upstream)) {
|
|
145
|
+
const { memberName: commandMemberName } = CoerceUpstreamBasicOperationImplementation(classDeclaration, moduleSourceFile, upstream);
|
|
146
|
+
const commandParameter = buildUpstreamGetParametersImplementation(classDeclaration, moduleSourceFile, dto, options)(operationOptions);
|
|
147
|
+
(_a = operationOptions.statements) !== null && _a !== void 0 ? _a : (operationOptions.statements = []);
|
|
148
|
+
operationOptions.statements = (0, utilities_1.coerceArray)(operationOptions.statements);
|
|
149
|
+
operationOptions.statements.push(w => {
|
|
150
|
+
w.write(`const data = await this.${commandMemberName}.execute(`);
|
|
151
|
+
if (typeof commandParameter === 'function') {
|
|
152
|
+
commandParameter(w);
|
|
153
|
+
}
|
|
154
|
+
else {
|
|
155
|
+
w.write(commandParameter);
|
|
156
|
+
}
|
|
157
|
+
w.write(');');
|
|
158
|
+
});
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
};
|
|
162
|
+
}
|
|
163
|
+
exports.BuildUpstreamGetDataImplementation = BuildUpstreamGetDataImplementation;
|
|
164
|
+
function CoerceUpstreamDefaultOperationImplementation(classDeclaration, moduleSourceFile, dto, options) {
|
|
165
|
+
return (operationOptions) => {
|
|
166
|
+
const { upstream, buildDtoReturnImplementation = BuildDtoReturnImplementation, buildUpstreamGetDataImplementation = BuildUpstreamGetDataImplementation, } = options;
|
|
167
|
+
if (upstream) {
|
|
168
|
+
operationOptions.isAsync = true;
|
|
169
|
+
buildUpstreamGetDataImplementation(classDeclaration, moduleSourceFile, dto, options)(operationOptions);
|
|
170
|
+
}
|
|
171
|
+
buildDtoReturnImplementation(classDeclaration, moduleSourceFile, dto, options)(operationOptions);
|
|
172
|
+
};
|
|
173
|
+
}
|
|
174
|
+
exports.CoerceUpstreamDefaultOperationImplementation = CoerceUpstreamDefaultOperationImplementation;
|
|
26
175
|
function CoerceOperation(options) {
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
paramList !== null && paramList !== void 0 ? paramList : (paramList = []);
|
|
30
|
-
queryList !== null && queryList !== void 0 ? queryList : (queryList = []);
|
|
176
|
+
const { controllerName, project, paramList = [], feature, shared, tsMorphTransform = utilities_1.noop, operationName, skipCoerce, controllerPath, queryList = [], coerceUpstreamOperationImplementation = CoerceUpstreamDefaultOperationImplementation, coerceOperationDtoClass = CoerceOperationDtoClass, } = options;
|
|
177
|
+
let { nestModule, directory, path } = options;
|
|
31
178
|
/**
|
|
32
179
|
* If the module is not specified. This controller has an own module. Else the
|
|
33
180
|
* module is originated by another controller.
|
|
@@ -56,8 +203,19 @@ function CoerceOperation(options) {
|
|
|
56
203
|
nestModule = nestController;
|
|
57
204
|
}
|
|
58
205
|
directory = (0, path_1.join)(directory !== null && directory !== void 0 ? directory : '', nestModule);
|
|
206
|
+
const operationPathParameters = paramList.filter(p => !p.fromParent).map(p => p.name);
|
|
207
|
+
if (operationPathParameters.length) {
|
|
208
|
+
if (!path) {
|
|
209
|
+
path = operationPathParameters.map(p => `:${p}`).join('/');
|
|
210
|
+
}
|
|
211
|
+
else {
|
|
212
|
+
const notFound = operationPathParameters.filter(p => !path.includes(p));
|
|
213
|
+
path += '/' + notFound.map(p => `:${p}`).join('/');
|
|
214
|
+
}
|
|
215
|
+
}
|
|
59
216
|
return (0, schematics_1.chain)([
|
|
60
|
-
() => console.log(`Coerce Operation '${operationName}' with path '${path}' in the controller '${nestController}' in the module '${nestModule}'
|
|
217
|
+
() => console.log(`Coerce Operation '${operationName}' with path '${path !== null && path !== void 0 ? path : '<empty>'}' in the controller '${nestController}' in the module '${nestModule}'`.blue),
|
|
218
|
+
() => console.log(`Operation path parameters: ${paramList.map(p => (p.fromParent ? '^' : '') + p.name).join(', ')}`.grey),
|
|
61
219
|
(0, coerce_nest_controller_1.CoerceNestController)({
|
|
62
220
|
project,
|
|
63
221
|
feature,
|
|
@@ -67,19 +225,29 @@ function CoerceOperation(options) {
|
|
|
67
225
|
name: nestController,
|
|
68
226
|
nestModule,
|
|
69
227
|
}),
|
|
70
|
-
// IMPORTANT: the use of the filePath parameter for the narrow loading of the source file CAN NOT BE USED here
|
|
71
|
-
// because sub functions may need to load other source files that are then not loaded into the
|
|
72
|
-
// project instance!
|
|
73
228
|
(0, ts_morph_transform_1.TsMorphNestProjectTransformRule)({
|
|
74
229
|
project,
|
|
75
230
|
feature,
|
|
76
231
|
shared,
|
|
77
232
|
directory,
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
233
|
+
// must be set to false are some specializations of this function need to access more files then only the
|
|
234
|
+
// controller and module source file
|
|
235
|
+
filter: false,
|
|
236
|
+
}, (project, [controllerSourceFile, moduleSourceFile]) => {
|
|
237
|
+
var _a;
|
|
238
|
+
const classDeclaration = controllerSourceFile.getClassOrThrow(`${(0, schematics_utilities_1.classify)(nestController)}Controller`);
|
|
239
|
+
const dto = coerceOperationDtoClass(classDeclaration, nestController, moduleSourceFile, options);
|
|
240
|
+
if (dto) {
|
|
241
|
+
(0, ts_morph_1.CoerceImports)(controllerSourceFile, {
|
|
242
|
+
namedImports: [dto.className],
|
|
243
|
+
moduleSpecifier: dto.filePath,
|
|
244
|
+
});
|
|
245
|
+
}
|
|
246
|
+
let operationOptions = {};
|
|
247
|
+
coerceUpstreamOperationImplementation(classDeclaration, moduleSourceFile, dto, options)(operationOptions);
|
|
248
|
+
operationOptions = Object.assign(Object.assign({}, operationOptions), (_a = tsMorphTransform(project, controllerSourceFile, classDeclaration, nestController, moduleSourceFile, dto)) !== null && _a !== void 0 ? _a : {});
|
|
82
249
|
if (controllerPath) {
|
|
250
|
+
console.log(`Overwrite controller path with '${controllerPath}' for operation '${operationName}' in controller '${nestController}' in module '${nestModule}'`.yellow);
|
|
83
251
|
classDeclaration.getDecoratorOrThrow('Controller').set({
|
|
84
252
|
arguments: [w => w.quote(controllerPath)],
|
|
85
253
|
});
|
|
@@ -94,11 +262,11 @@ function CoerceOperation(options) {
|
|
|
94
262
|
],
|
|
95
263
|
});
|
|
96
264
|
}
|
|
97
|
-
CoerceOperationParamList(paramList, classDeclaration);
|
|
98
|
-
(0, add_operation_to_controller_1.AddOperationToController)(
|
|
265
|
+
(0, ts_morph_1.CoerceOperationParamList)(paramList, classDeclaration);
|
|
266
|
+
(0, add_operation_to_controller_1.AddOperationToController)(controllerSourceFile, classDeclaration, operationName, Object.assign({ isAsync: true, paramList,
|
|
99
267
|
queryList,
|
|
100
268
|
path }, operationOptions));
|
|
101
|
-
}),
|
|
269
|
+
}, [`${nestController}.controller.ts?`, `${(0, utilities_1.dasherize)(nestModule)}.module.ts?`]),
|
|
102
270
|
]);
|
|
103
271
|
}
|
|
104
272
|
exports.CoerceOperation = CoerceOperation;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"coerce-operation.js","sourceRoot":"","sources":["../../../../../../../packages/schematic/ts-morph/src/lib/nest/coerce-operation.ts"],"names":[],"mappings":";;;AAAA,2DAGoC;AACpC,qEAAsD;AACtD,+BAA4B;
|
|
1
|
+
{"version":3,"file":"coerce-operation.js","sourceRoot":"","sources":["../../../../../../../packages/schematic/ts-morph/src/lib/nest/coerce-operation.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
import { Rule } from '@angular-devkit/schematics';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
2
|
+
import { ClassDeclaration, SourceFile, WriterFunction } from 'ts-morph';
|
|
3
|
+
import { AbstractControl } from '../types/abstract-control';
|
|
4
|
+
import { CoerceDtoClassOutput } from './coerce-dto-class';
|
|
5
|
+
import { CoerceOperationOptions, TransformOperation } from './coerce-operation';
|
|
4
6
|
export interface CoerceOptionsOperationRuleOptions extends CoerceOperationOptions {
|
|
5
|
-
control:
|
|
7
|
+
control: AbstractControl;
|
|
6
8
|
responseDtoName?: string;
|
|
7
9
|
}
|
|
10
|
+
export declare function BuildOptionsDtoDataMapperImplementation(classDeclaration: ClassDeclaration, moduleSourceFile: SourceFile, dto: CoerceDtoClassOutput | null, options: Readonly<CoerceOperationOptions>): TransformOperation<string | WriterFunction>;
|
|
8
11
|
export declare function CoerceOptionsOperationRule(options: Readonly<CoerceOptionsOperationRuleOptions>): Rule;
|
|
@@ -1,51 +1,76 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.CoerceOptionsOperationRule = void 0;
|
|
4
|
-
const utilities_1 = require("@rxap/utilities");
|
|
5
|
-
const coerce_imports_1 = require("../ts-morph/coerce-imports");
|
|
3
|
+
exports.CoerceOptionsOperationRule = exports.BuildOptionsDtoDataMapperImplementation = void 0;
|
|
6
4
|
const ts_morph_1 = require("@rxap/ts-morph");
|
|
7
|
-
const
|
|
5
|
+
const utilities_1 = require("@rxap/utilities");
|
|
8
6
|
const coerce_operation_1 = require("./coerce-operation");
|
|
7
|
+
function BuildOptionsDtoDataMapperImplementation(classDeclaration, moduleSourceFile, dto, options) {
|
|
8
|
+
const { isArray, upstream, } = options;
|
|
9
|
+
return () => {
|
|
10
|
+
var _a, _b, _c;
|
|
11
|
+
if (upstream) {
|
|
12
|
+
if ((0, ts_morph_1.IsNormalizedOpenApiUpstreamOptions)(upstream)) {
|
|
13
|
+
const { mapper } = upstream;
|
|
14
|
+
let toFunction = 'ToOptions';
|
|
15
|
+
let toValue = null;
|
|
16
|
+
let toDisplay = null;
|
|
17
|
+
if (mapper && (0, ts_morph_1.IsNormalizedOptionsRequestMapper)(mapper)) {
|
|
18
|
+
toFunction = (_a = mapper.toFunction) !== null && _a !== void 0 ? _a : toFunction;
|
|
19
|
+
toValue = (_b = mapper.toValue) !== null && _b !== void 0 ? _b : toValue;
|
|
20
|
+
toDisplay = (_c = mapper.toDisplay) !== null && _c !== void 0 ? _c : toDisplay;
|
|
21
|
+
}
|
|
22
|
+
const sourceFile = classDeclaration.getSourceFile();
|
|
23
|
+
switch (toFunction) {
|
|
24
|
+
case ts_morph_1.ToOptionsFunction.TO_OPTIONS:
|
|
25
|
+
(0, ts_morph_1.CoerceImports)(sourceFile, {
|
|
26
|
+
namedImports: [ts_morph_1.ToOptionsFunction.TO_OPTIONS],
|
|
27
|
+
moduleSpecifier: '@rxap/utilities',
|
|
28
|
+
});
|
|
29
|
+
break;
|
|
30
|
+
case ts_morph_1.ToOptionsFunction.TO_OPTIONS_FROM_OBJECT:
|
|
31
|
+
(0, ts_morph_1.CoerceImports)(sourceFile, {
|
|
32
|
+
namedImports: [ts_morph_1.ToOptionsFunction.TO_OPTIONS_FROM_OBJECT],
|
|
33
|
+
moduleSpecifier: '@rxap/utilities',
|
|
34
|
+
});
|
|
35
|
+
break;
|
|
36
|
+
}
|
|
37
|
+
return w => {
|
|
38
|
+
w.write(toFunction);
|
|
39
|
+
w.write('(data');
|
|
40
|
+
if (toValue) {
|
|
41
|
+
w.write(`, ${toValue}`);
|
|
42
|
+
}
|
|
43
|
+
if (toDisplay) {
|
|
44
|
+
if (!toValue) {
|
|
45
|
+
w.write(', undefined');
|
|
46
|
+
}
|
|
47
|
+
w.write(`, ${toDisplay}`);
|
|
48
|
+
}
|
|
49
|
+
w.write(')');
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
// TODO : implement the data mapper
|
|
54
|
+
return isArray ? '[]' : '{}';
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
exports.BuildOptionsDtoDataMapperImplementation = BuildOptionsDtoDataMapperImplementation;
|
|
9
58
|
function CoerceOptionsOperationRule(options) {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
],
|
|
26
|
-
});
|
|
27
|
-
(0, coerce_imports_1.CoerceImports)(sourceFile, {
|
|
28
|
-
namedImports: [className],
|
|
29
|
-
moduleSpecifier: filePath,
|
|
30
|
-
});
|
|
31
|
-
(0, coerce_imports_1.CoerceImports)(sourceFile, {
|
|
32
|
-
namedImports: ['plainToInstance'],
|
|
33
|
-
moduleSpecifier: 'class-transformer',
|
|
34
|
-
});
|
|
35
|
-
(0, coerce_imports_1.CoerceImports)(sourceFile, {
|
|
36
|
-
namedImports: ['classTransformOptions'],
|
|
37
|
-
moduleSpecifier: '@rxap/nest-utilities',
|
|
38
|
-
});
|
|
39
|
-
return {
|
|
40
|
-
returnType: `Array<${className}>`,
|
|
41
|
-
statements: [
|
|
42
|
-
'return plainToInstance(',
|
|
43
|
-
className + ',',
|
|
44
|
-
'[],',
|
|
45
|
-
'classTransformOptions',
|
|
46
|
-
');',
|
|
47
|
-
],
|
|
48
|
-
};
|
|
59
|
+
const { control, builtDtoDataMapperImplementation = BuildOptionsDtoDataMapperImplementation, isArray = true, responseDtoName, propertyList = [
|
|
60
|
+
{
|
|
61
|
+
name: 'display',
|
|
62
|
+
type: 'string',
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
name: 'value',
|
|
66
|
+
type: control.type,
|
|
67
|
+
},
|
|
68
|
+
], } = options;
|
|
69
|
+
return (0, coerce_operation_1.CoerceOperation)(Object.assign(Object.assign({}, options), { propertyList,
|
|
70
|
+
isArray,
|
|
71
|
+
builtDtoDataMapperImplementation, buildOperationDtoClassName: (controllerName, { dtoClassName, dtoClassNameSuffix }) => {
|
|
72
|
+
const className = responseDtoName !== null && responseDtoName !== void 0 ? responseDtoName : (0, utilities_1.joinWithDash)([dtoClassName !== null && dtoClassName !== void 0 ? dtoClassName : controllerName, control.name, 'control', 'options']);
|
|
73
|
+
return dtoClassName !== null && dtoClassName !== void 0 ? dtoClassName : (dtoClassNameSuffix ? (0, utilities_1.CoerceSuffix)(className, dtoClassNameSuffix) : className);
|
|
49
74
|
} }));
|
|
50
75
|
}
|
|
51
76
|
exports.CoerceOptionsOperationRule = CoerceOptionsOperationRule;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"coerce-options-operation.js","sourceRoot":"","sources":["../../../../../../../packages/schematic/ts-morph/src/lib/nest/coerce-options-operation.ts"],"names":[],"mappings":";;;AACA
|
|
1
|
+
{"version":3,"file":"coerce-options-operation.js","sourceRoot":"","sources":["../../../../../../../packages/schematic/ts-morph/src/lib/nest/coerce-options-operation.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
export interface CoercePageDtoClassOptions {
|
|
4
|
-
project: Project;
|
|
5
|
-
name: string;
|
|
6
|
-
propertyList?: DtoClassProperty[];
|
|
7
|
-
classStructure?: Omit<OptionalKind<ClassDeclarationStructure>, 'name'>;
|
|
8
|
-
importStructureList?: Array<OptionalKind<ImportDeclarationStructure>>;
|
|
1
|
+
import { CoerceDtoClassOptions } from './coerce-dto-class';
|
|
2
|
+
export interface CoercePageDtoClassOptions extends CoerceDtoClassOptions {
|
|
9
3
|
rowClassName: string;
|
|
10
4
|
rowFilePath: string;
|
|
11
5
|
}
|
|
6
|
+
export declare function BuildPageDtoClassName(name: string): string;
|
|
12
7
|
export declare function CoercePageDtoClass(options: CoercePageDtoClassOptions): import("./coerce-dto-class").CoerceDtoClassOutput;
|
|
@@ -1,22 +1,17 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.CoercePageDtoClass = void 0;
|
|
3
|
+
exports.CoercePageDtoClass = exports.BuildPageDtoClassName = void 0;
|
|
4
4
|
const schematics_utilities_1 = require("@rxap/schematics-utilities");
|
|
5
|
+
const ts_morph_1 = require("@rxap/ts-morph");
|
|
5
6
|
const utilities_1 = require("@rxap/utilities");
|
|
6
7
|
const path_1 = require("path");
|
|
7
8
|
const coerce_dto_class_1 = require("./coerce-dto-class");
|
|
9
|
+
function BuildPageDtoClassName(name) {
|
|
10
|
+
return (0, schematics_utilities_1.CoerceSuffix)(name, '-page');
|
|
11
|
+
}
|
|
12
|
+
exports.BuildPageDtoClassName = BuildPageDtoClassName;
|
|
8
13
|
function CoercePageDtoClass(options) {
|
|
9
|
-
|
|
10
|
-
importStructureList !== null && importStructureList !== void 0 ? importStructureList : (importStructureList = []);
|
|
11
|
-
importStructureList.push({
|
|
12
|
-
namedImports: [rowClassName],
|
|
13
|
-
moduleSpecifier: `./${(0, path_1.basename)(rowFilePath)}`,
|
|
14
|
-
}, {
|
|
15
|
-
namedImports: ['FilterQueryDto'],
|
|
16
|
-
moduleSpecifier: '@rxap/nest-dto',
|
|
17
|
-
});
|
|
18
|
-
classStructure !== null && classStructure !== void 0 ? classStructure : (classStructure = {});
|
|
19
|
-
propertyList !== null && propertyList !== void 0 ? propertyList : (propertyList = []);
|
|
14
|
+
const { project, name, propertyList = [], rowClassName, rowFilePath, tsMorphTransform = utilities_1.noop, } = options;
|
|
20
15
|
(0, utilities_1.CoerceArrayItems)(propertyList, [
|
|
21
16
|
{
|
|
22
17
|
name: 'rows',
|
|
@@ -53,14 +48,20 @@ function CoercePageDtoClass(options) {
|
|
|
53
48
|
isType: true,
|
|
54
49
|
isOptional: true,
|
|
55
50
|
}
|
|
56
|
-
]);
|
|
57
|
-
return (0, coerce_dto_class_1.CoerceDtoClass)({
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
51
|
+
], (a, b) => a.name === b.name);
|
|
52
|
+
return (0, coerce_dto_class_1.CoerceDtoClass)(Object.assign(Object.assign({}, options), { project, name: BuildPageDtoClassName(name), propertyList, tsMorphTransform: (p, sourceFile, classDeclaration) => {
|
|
53
|
+
(0, ts_morph_1.CoerceImports)(sourceFile, [
|
|
54
|
+
{
|
|
55
|
+
namedImports: [rowClassName],
|
|
56
|
+
moduleSpecifier: `./${(0, path_1.basename)(rowFilePath)}`,
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
namedImports: ['FilterQueryDto'],
|
|
60
|
+
moduleSpecifier: '@rxap/nest-dto',
|
|
61
|
+
}
|
|
62
|
+
]);
|
|
63
|
+
tsMorphTransform(p, sourceFile, classDeclaration);
|
|
64
|
+
} }));
|
|
64
65
|
}
|
|
65
66
|
exports.CoercePageDtoClass = CoercePageDtoClass;
|
|
66
67
|
//# sourceMappingURL=coerce-page-dto-class.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"coerce-page-dto-class.js","sourceRoot":"","sources":["../../../../../../../packages/schematic/ts-morph/src/lib/nest/coerce-page-dto-class.ts"],"names":[],"mappings":";;;AAAA,qEAA0D;AAC1D,+
|
|
1
|
+
{"version":3,"file":"coerce-page-dto-class.js","sourceRoot":"","sources":["../../../../../../../packages/schematic/ts-morph/src/lib/nest/coerce-page-dto-class.ts"],"names":[],"mappings":";;;AAAA,qEAA0D;AAC1D,6CAA+C;AAC/C,+CAGyB;AACzB,+BAAgC;AAChC,yDAG4B;AAO5B,SAAgB,qBAAqB,CAAC,IAAY;IAChD,OAAO,IAAA,mCAAY,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AACrC,CAAC;AAFD,sDAEC;AAED,SAAgB,kBAAkB,CAAC,OAAkC;IACnE,MAAM,EACJ,OAAO,EACP,IAAI,EACJ,YAAY,GAAE,EAAE,EAChB,YAAY,EACZ,WAAW,EACX,gBAAgB,GAAG,gBAAI,GACxB,GAAG,OAAO,CAAC;IACZ,IAAA,4BAAgB,EAAC,YAAY,EAAE;QAC7B;YACE,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,YAAY;YAClB,OAAO,EAAE,IAAI;YACb,MAAM,EAAE,IAAI;SACb;QACD;YACE,IAAI,EAAE,UAAU;YAChB,IAAI,EAAE,QAAQ;SACf;QACD;YACE,IAAI,EAAE,WAAW;YACjB,IAAI,EAAE,QAAQ;SACf;QACD;YACE,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,QAAQ;SACf;QACD;YACE,IAAI,EAAE,eAAe;YACrB,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,IAAI;SACjB;QACD;YACE,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,IAAI;SACjB;QACD;YACE,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,gBAAgB;YACtB,OAAO,EAAE,IAAI;YACb,MAAM,EAAE,IAAI;YACZ,UAAU,EAAE,IAAI;SACjB;KACF,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC;IAChC,OAAO,IAAA,iCAAc,kCAChB,OAAO,KACV,OAAO,EACP,IAAI,EAAE,qBAAqB,CAAC,IAAI,CAAC,EACjC,YAAY,EACZ,gBAAgB,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,gBAAgB,EAAE,EAAE;YACpD,IAAA,wBAAa,EAAC,UAAU,EAAE;gBACxB;oBACE,YAAY,EAAE,CAAE,YAAY,CAAE;oBAC9B,eAAe,EAAE,KAAM,IAAA,eAAQ,EAAC,WAAW,CAAE,EAAE;iBAChD;gBACD;oBACE,YAAY,EAAE,CAAE,gBAAgB,CAAE;oBAClC,eAAe,EAAE,gBAAgB;iBAClC;aACF,CAAC,CAAC;YACH,gBAAgB,CAAC,CAAC,EAAE,UAAU,EAAE,gBAAgB,CAAC,CAAC;QACpD,CAAC,IACD,CAAC;AACL,CAAC;AAjED,gDAiEC"}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
|
+
import { TypeImport, TypeName } from '@rxap/ts-morph';
|
|
1
2
|
import { CoerceDtoClassOptions } from './coerce-dto-class';
|
|
2
3
|
export interface CoerceRowDtoClassOptions extends CoerceDtoClassOptions {
|
|
3
4
|
/**
|
|
4
5
|
* the type of the property used as row id type. defaults to the type 'string'. If null the type will be
|
|
5
6
|
* set to number
|
|
6
7
|
*/
|
|
7
|
-
rowIdType?:
|
|
8
|
+
rowIdType?: TypeImport | TypeName;
|
|
8
9
|
}
|
|
10
|
+
export declare function BuildRowDtoClassName(name: string): string;
|
|
9
11
|
export declare function CoerceRowDtoClass(options: CoerceRowDtoClassOptions): import("./coerce-dto-class").CoerceDtoClassOutput;
|
|
@@ -1,21 +1,23 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.CoerceRowDtoClass = void 0;
|
|
3
|
+
exports.CoerceRowDtoClass = exports.BuildRowDtoClassName = void 0;
|
|
4
4
|
const schematics_utilities_1 = require("@rxap/schematics-utilities");
|
|
5
|
+
const utilities_1 = require("@rxap/utilities");
|
|
5
6
|
const coerce_dto_class_1 = require("./coerce-dto-class");
|
|
7
|
+
function BuildRowDtoClassName(name) {
|
|
8
|
+
return (0, schematics_utilities_1.CoerceSuffix)(name, '-row');
|
|
9
|
+
}
|
|
10
|
+
exports.BuildRowDtoClassName = BuildRowDtoClassName;
|
|
6
11
|
function CoerceRowDtoClass(options) {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
});
|
|
12
|
+
const { rowIdType = 'number', project, name, propertyList = [], } = options;
|
|
13
|
+
(0, utilities_1.CoerceArrayItems)(propertyList, [{
|
|
14
|
+
name: '__rowId',
|
|
15
|
+
type: rowIdType,
|
|
16
|
+
}], (a, b) => a.name === b.name);
|
|
13
17
|
return (0, coerce_dto_class_1.CoerceDtoClass)({
|
|
14
18
|
project,
|
|
15
|
-
name: (
|
|
19
|
+
name: BuildRowDtoClassName(name),
|
|
16
20
|
propertyList,
|
|
17
|
-
classStructure,
|
|
18
|
-
importStructureList,
|
|
19
21
|
});
|
|
20
22
|
}
|
|
21
23
|
exports.CoerceRowDtoClass = CoerceRowDtoClass;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"coerce-row-dto-class.js","sourceRoot":"","sources":["../../../../../../../packages/schematic/ts-morph/src/lib/nest/coerce-row-dto-class.ts"],"names":[],"mappings":";;;AAAA,qEAA0D;
|
|
1
|
+
{"version":3,"file":"coerce-row-dto-class.js","sourceRoot":"","sources":["../../../../../../../packages/schematic/ts-morph/src/lib/nest/coerce-row-dto-class.ts"],"names":[],"mappings":";;;AAAA,qEAA0D;AAK1D,+CAAmD;AACnD,yDAG4B;AAU5B,SAAgB,oBAAoB,CAAC,IAAY;IAC/C,OAAO,IAAA,mCAAY,EAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AACpC,CAAC;AAFD,oDAEC;AAED,SAAgB,iBAAiB,CAAC,OAAiC;IACjE,MAAM,EACJ,SAAS,GAAG,QAAQ,EACpB,OAAO,EACP,IAAI,EACJ,YAAY,GAAG,EAAE,GAClB,GAAG,OAAO,CAAC;IACZ,IAAA,4BAAgB,EAAC,YAAY,EAAE,CAAC;YAC9B,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,SAAS;SAChB,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC;IACjC,OAAO,IAAA,iCAAc,EAAC;QACpB,OAAO;QACP,IAAI,EAAE,oBAAoB,CAAC,IAAI,CAAC;QAChC,YAAY;KACb,CAAC,CAAC;AACL,CAAC;AAhBD,8CAgBC"}
|
|
@@ -1,15 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.CoerceSubmitDataGridOperation = void 0;
|
|
4
|
-
const schematics_utilities_1 = require("@rxap/schematics-utilities");
|
|
5
4
|
const coerce_form_submit_operation_1 = require("./coerce-form-submit-operation");
|
|
6
5
|
function CoerceSubmitDataGridOperation(options) {
|
|
7
|
-
|
|
8
|
-
collection
|
|
9
|
-
|
|
10
|
-
controllerName = (0, schematics_utilities_1.CoerceSuffix)(controllerName, '-data-grid');
|
|
11
|
-
return (0, coerce_form_submit_operation_1.CoerceFormSubmitOperation)(Object.assign(Object.assign({}, options), { controllerName,
|
|
12
|
-
paramList }));
|
|
6
|
+
const { collection = false, } = options;
|
|
7
|
+
console.log(`collection: ${collection}`);
|
|
8
|
+
return (0, coerce_form_submit_operation_1.CoerceFormSubmitOperation)(Object.assign({}, options));
|
|
13
9
|
}
|
|
14
10
|
exports.CoerceSubmitDataGridOperation = CoerceSubmitDataGridOperation;
|
|
15
11
|
//# sourceMappingURL=coerce-submit-data-grid-operation.js.map
|