@rxap/schematics-ts-morph 16.1.0-dev.5 → 16.1.0-dev.6
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 +16 -0
- package/package.json +2 -2
- package/src/index.d.ts +2 -1
- package/src/index.js +2 -1
- package/src/index.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-control.js +2 -3
- package/src/lib/angular/coerce-form-definition-control.js.map +1 -1
- package/src/lib/angular/coerce-form-definition.js +4 -4
- package/src/lib/angular/coerce-form-definition.js.map +1 -1
- package/src/lib/angular/coerce-proxy-remote-method-class.d.ts +1 -1
- package/src/lib/angular/coerce-proxy-remote-method-class.js +1 -1
- 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/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-dto-class.d.ts +2 -7
- package/src/lib/nest/coerce-dto-class.js +44 -59
- 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 +10 -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 +84 -56
- package/src/lib/nest/coerce-get-by-id-operation.js.map +1 -1
- package/src/lib/nest/coerce-get-children-operation.js +8 -40
- 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 -17
- 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 +16 -17
- package/src/lib/nest/coerce-get-page-operation.js +106 -112
- package/src/lib/nest/coerce-get-page-operation.js.map +1 -1
- package/src/lib/nest/coerce-get-root-operation.d.ts +2 -5
- package/src/lib/nest/coerce-get-root-operation.js +7 -22
- package/src/lib/nest/coerce-get-root-operation.js.map +1 -1
- package/src/lib/nest/coerce-operation.d.ts +36 -9
- package/src/lib/nest/coerce-operation.js +182 -24
- package/src/lib/nest/coerce-operation.js.map +1 -1
- package/src/lib/nest/coerce-options-operation.js +13 -42
- package/src/lib/nest/coerce-options-operation.js.map +1 -1
- package/src/lib/nest/coerce-page-dto-class.d.ts +1 -0
- package/src/lib/nest/coerce-page-dto-class.js +7 -3
- package/src/lib/nest/coerce-page-dto-class.js.map +1 -1
- package/src/lib/nest/coerce-row-dto-class.d.ts +1 -0
- package/src/lib/nest/coerce-row-dto-class.js +11 -6
- package/src/lib/nest/coerce-row-dto-class.js.map +1 -1
- package/src/lib/nest/coerce-table-select-operation.js +6 -6
- package/src/lib/nest/coerce-table-select-operation.js.map +1 -1
- package/src/lib/nest/coerce-table-select-value-resolve-operation.d.ts +5 -1
- package/src/lib/nest/coerce-table-select-value-resolve-operation.js +23 -32
- package/src/lib/nest/coerce-table-select-value-resolve-operation.js.map +1 -1
- package/src/lib/nest/coerce-tree-operation.js +35 -44
- package/src/lib/nest/coerce-tree-operation.js.map +1 -1
- package/src/lib/nest/dto-class-property.d.ts +19 -0
- package/src/lib/nest/dto-class-property.js +26 -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/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
|
@@ -1,34 +1,173 @@
|
|
|
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");
|
|
6
7
|
const utilities_1 = require("@rxap/utilities");
|
|
7
8
|
const path_1 = require("path");
|
|
9
|
+
const ts_morph_2 = require("ts-morph");
|
|
8
10
|
const ts_morph_transform_1 = require("../ts-morph-transform");
|
|
9
11
|
const add_operation_to_controller_1 = require("./add-operation-to-controller");
|
|
10
12
|
const build_nest_controller_name_1 = require("./build-nest-controller-name");
|
|
13
|
+
const coerce_dto_class_1 = require("./coerce-dto-class");
|
|
11
14
|
const coerce_nest_controller_1 = require("./coerce-nest-controller");
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
}
|
|
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
|
+
hasQuestionToken: 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
|
+
};
|
|
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, 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
|
+
});
|
|
24
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
|
+
if (upstream) {
|
|
84
|
+
const mapper = {};
|
|
85
|
+
for (const property of propertyList) {
|
|
86
|
+
mapper[property.name] = `data.${property.name}`;
|
|
87
|
+
}
|
|
88
|
+
if (isArray) {
|
|
89
|
+
return w => {
|
|
90
|
+
w.write('data.map(item => (');
|
|
91
|
+
ts_morph_2.Writers.object(mapper)(w);
|
|
92
|
+
w.write('))');
|
|
93
|
+
};
|
|
94
|
+
}
|
|
95
|
+
else {
|
|
96
|
+
return ts_morph_2.Writers.object(mapper);
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
else {
|
|
100
|
+
return isArray ? '[]' : '{}';
|
|
101
|
+
}
|
|
102
|
+
};
|
|
103
|
+
}
|
|
104
|
+
exports.BuiltDtoDataMapperImplementation = BuiltDtoDataMapperImplementation;
|
|
105
|
+
function BuildDtoReturnImplementation(classDeclaration, moduleSourceFile, dto, options) {
|
|
106
|
+
return (operationOptions) => {
|
|
107
|
+
var _a;
|
|
108
|
+
const { isArray, isReturnVoid = !dto, builtDtoDataMapperImplementation = BuiltDtoDataMapperImplementation, } = options;
|
|
109
|
+
if (!isReturnVoid && dto) {
|
|
110
|
+
const sourceFile = classDeclaration.getSourceFile();
|
|
111
|
+
(0, ts_morph_1.CoerceImports)(sourceFile, {
|
|
112
|
+
namedImports: ['ToDtoInstance'],
|
|
113
|
+
moduleSpecifier: '@rxap/nest-dto',
|
|
114
|
+
});
|
|
115
|
+
const mapper = builtDtoDataMapperImplementation(classDeclaration, moduleSourceFile, dto, options)(operationOptions);
|
|
116
|
+
operationOptions.returnType = dto.className + (isArray ? '[]' : '');
|
|
117
|
+
(_a = operationOptions.statements) !== null && _a !== void 0 ? _a : (operationOptions.statements = []);
|
|
118
|
+
operationOptions.statements = (0, utilities_1.coerceArray)(operationOptions.statements);
|
|
119
|
+
operationOptions.statements.push('return ToDtoInstance(', dto.className + ',', w => {
|
|
120
|
+
if (typeof mapper === 'string') {
|
|
121
|
+
w.write(mapper);
|
|
122
|
+
}
|
|
123
|
+
else {
|
|
124
|
+
mapper(w);
|
|
125
|
+
}
|
|
126
|
+
w.write(',');
|
|
127
|
+
}, ');');
|
|
128
|
+
}
|
|
129
|
+
};
|
|
130
|
+
}
|
|
131
|
+
exports.BuildDtoReturnImplementation = BuildDtoReturnImplementation;
|
|
132
|
+
function BuildUpstreamGetDataImplementation(classDeclaration, moduleSourceFile, dto, options) {
|
|
133
|
+
return (operationOptions) => {
|
|
134
|
+
var _a;
|
|
135
|
+
const { buildUpstreamGetParametersImplementation = (() => () => ''), upstream, } = options;
|
|
136
|
+
if (upstream) {
|
|
137
|
+
if ((0, ts_morph_1.IsNormalizedOpenApiUpstreamOptions)(upstream)) {
|
|
138
|
+
const { memberName: commandMemberName } = CoerceUpstreamBasicOperationImplementation(classDeclaration, moduleSourceFile, upstream);
|
|
139
|
+
const commandParameter = buildUpstreamGetParametersImplementation(classDeclaration, moduleSourceFile, dto, options)(operationOptions);
|
|
140
|
+
(_a = operationOptions.statements) !== null && _a !== void 0 ? _a : (operationOptions.statements = []);
|
|
141
|
+
operationOptions.statements = (0, utilities_1.coerceArray)(operationOptions.statements);
|
|
142
|
+
operationOptions.statements.push(w => {
|
|
143
|
+
w.write(`const data = await this.${commandMemberName}.execute(`);
|
|
144
|
+
if (typeof commandParameter === 'function') {
|
|
145
|
+
commandParameter(w);
|
|
146
|
+
}
|
|
147
|
+
else {
|
|
148
|
+
w.write(commandParameter);
|
|
149
|
+
}
|
|
150
|
+
w.write(');');
|
|
151
|
+
});
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
};
|
|
155
|
+
}
|
|
156
|
+
exports.BuildUpstreamGetDataImplementation = BuildUpstreamGetDataImplementation;
|
|
157
|
+
function CoerceUpstreamDefaultOperationImplementation(classDeclaration, moduleSourceFile, dto, options) {
|
|
158
|
+
return (operationOptions) => {
|
|
159
|
+
const { upstream, buildDtoReturnImplementation = BuildDtoReturnImplementation, buildUpstreamGetDataImplementation = BuildUpstreamGetDataImplementation, } = options;
|
|
160
|
+
if (upstream) {
|
|
161
|
+
operationOptions.isAsync = true;
|
|
162
|
+
buildUpstreamGetDataImplementation(classDeclaration, moduleSourceFile, dto, options)(operationOptions);
|
|
163
|
+
}
|
|
164
|
+
buildDtoReturnImplementation(classDeclaration, moduleSourceFile, dto, options)(operationOptions);
|
|
165
|
+
};
|
|
25
166
|
}
|
|
26
|
-
exports.
|
|
167
|
+
exports.CoerceUpstreamDefaultOperationImplementation = CoerceUpstreamDefaultOperationImplementation;
|
|
27
168
|
function CoerceOperation(options) {
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
paramList !== null && paramList !== void 0 ? paramList : (paramList = []);
|
|
31
|
-
queryList !== null && queryList !== void 0 ? queryList : (queryList = []);
|
|
169
|
+
const { controllerName, project, paramList = [], feature, shared, tsMorphTransform = utilities_1.noop, operationName, skipCoerce, controllerPath, queryList = [], coerceUpstreamOperationImplementation = CoerceUpstreamDefaultOperationImplementation, coerceOperationDtoClass = CoerceOperationDtoClass, } = options;
|
|
170
|
+
let { nestModule, directory, path } = options;
|
|
32
171
|
/**
|
|
33
172
|
* If the module is not specified. This controller has an own module. Else the
|
|
34
173
|
* module is originated by another controller.
|
|
@@ -57,8 +196,19 @@ function CoerceOperation(options) {
|
|
|
57
196
|
nestModule = nestController;
|
|
58
197
|
}
|
|
59
198
|
directory = (0, path_1.join)(directory !== null && directory !== void 0 ? directory : '', nestModule);
|
|
199
|
+
const operationPathParameters = paramList.filter(p => !p.fromParent).map(p => p.name);
|
|
200
|
+
if (operationPathParameters.length) {
|
|
201
|
+
if (!path) {
|
|
202
|
+
path = operationPathParameters.map(p => `:${p}`).join('/');
|
|
203
|
+
}
|
|
204
|
+
else {
|
|
205
|
+
const notFound = operationPathParameters.filter(p => !path.includes(p));
|
|
206
|
+
path += '/' + notFound.map(p => `:${p}`).join('/');
|
|
207
|
+
}
|
|
208
|
+
}
|
|
60
209
|
return (0, schematics_1.chain)([
|
|
61
|
-
() => console.log(`Coerce Operation '${operationName}' with path '${path !== null && path !== void 0 ? path : '<empty>'}' in the controller '${nestController}' in the module '${nestModule}'
|
|
210
|
+
() => console.log(`Coerce Operation '${operationName}' with path '${path !== null && path !== void 0 ? path : '<empty>'}' in the controller '${nestController}' in the module '${nestModule}'`.blue),
|
|
211
|
+
() => console.log(`Operation path parameters: ${paramList.map(p => (p.fromParent ? '^' : '') + p.name).join(', ')}`.grey),
|
|
62
212
|
(0, coerce_nest_controller_1.CoerceNestController)({
|
|
63
213
|
project,
|
|
64
214
|
feature,
|
|
@@ -68,9 +218,6 @@ function CoerceOperation(options) {
|
|
|
68
218
|
name: nestController,
|
|
69
219
|
nestModule,
|
|
70
220
|
}),
|
|
71
|
-
// IMPORTANT: the use of the filePath parameter for the narrow loading of the source file CAN NOT BE USED here
|
|
72
|
-
// because sub functions may need to load other source files that are then not loaded into the
|
|
73
|
-
// project instance!
|
|
74
221
|
(0, ts_morph_transform_1.TsMorphNestProjectTransformRule)({
|
|
75
222
|
project,
|
|
76
223
|
feature,
|
|
@@ -80,9 +227,20 @@ function CoerceOperation(options) {
|
|
|
80
227
|
// controller and module source file
|
|
81
228
|
filter: false,
|
|
82
229
|
}, (project, [controllerSourceFile, moduleSourceFile]) => {
|
|
230
|
+
var _a;
|
|
83
231
|
const classDeclaration = controllerSourceFile.getClassOrThrow(`${(0, schematics_utilities_1.classify)(nestController)}Controller`);
|
|
84
|
-
const
|
|
232
|
+
const dto = coerceOperationDtoClass(classDeclaration, nestController, moduleSourceFile, options);
|
|
233
|
+
if (dto) {
|
|
234
|
+
(0, ts_morph_1.CoerceImports)(controllerSourceFile, {
|
|
235
|
+
namedImports: [dto.className],
|
|
236
|
+
moduleSpecifier: dto.filePath,
|
|
237
|
+
});
|
|
238
|
+
}
|
|
239
|
+
let operationOptions = {};
|
|
240
|
+
coerceUpstreamOperationImplementation(classDeclaration, moduleSourceFile, dto, options)(operationOptions);
|
|
241
|
+
operationOptions = Object.assign(Object.assign({}, operationOptions), (_a = tsMorphTransform(project, controllerSourceFile, classDeclaration, nestController, moduleSourceFile, dto)) !== null && _a !== void 0 ? _a : {});
|
|
85
242
|
if (controllerPath) {
|
|
243
|
+
console.log(`Overwrite controller path with '${controllerPath}' for operation '${operationName}' in controller '${nestController}' in module '${nestModule}'`.yellow);
|
|
86
244
|
classDeclaration.getDecoratorOrThrow('Controller').set({
|
|
87
245
|
arguments: [w => w.quote(controllerPath)],
|
|
88
246
|
});
|
|
@@ -97,7 +255,7 @@ function CoerceOperation(options) {
|
|
|
97
255
|
],
|
|
98
256
|
});
|
|
99
257
|
}
|
|
100
|
-
CoerceOperationParamList(paramList, classDeclaration);
|
|
258
|
+
(0, ts_morph_1.CoerceOperationParamList)(paramList, classDeclaration);
|
|
101
259
|
(0, add_operation_to_controller_1.AddOperationToController)(controllerSourceFile, classDeclaration, operationName, Object.assign({ isAsync: true, paramList,
|
|
102
260
|
queryList,
|
|
103
261
|
path }, operationOptions));
|
|
@@ -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,+
|
|
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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"}
|
|
@@ -2,50 +2,21 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.CoerceOptionsOperationRule = void 0;
|
|
4
4
|
const utilities_1 = require("@rxap/utilities");
|
|
5
|
-
const coerce_imports_1 = require("../ts-morph/coerce-imports");
|
|
6
|
-
const ts_morph_1 = require("@rxap/ts-morph");
|
|
7
|
-
const coerce_dto_class_1 = require("./coerce-dto-class");
|
|
8
5
|
const coerce_operation_1 = require("./coerce-operation");
|
|
9
6
|
function CoerceOptionsOperationRule(options) {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
type: (0, ts_morph_1.WriteType)(control, sourceFile),
|
|
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
|
-
};
|
|
7
|
+
const { control, isArray = true, responseDtoName, propertyList = [
|
|
8
|
+
{
|
|
9
|
+
name: 'display',
|
|
10
|
+
type: 'string',
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
name: 'value',
|
|
14
|
+
type: control,
|
|
15
|
+
},
|
|
16
|
+
], } = options;
|
|
17
|
+
return (0, coerce_operation_1.CoerceOperation)(Object.assign(Object.assign({}, options), { propertyList,
|
|
18
|
+
isArray, buildOperationDtoClassName: (controllerName, { dtoClassName, dtoClassNameSuffix }) => {
|
|
19
|
+
return dtoClassName !== null && dtoClassName !== void 0 ? dtoClassName : (dtoClassNameSuffix ? (0, utilities_1.CoerceSuffix)(responseDtoName !== null && responseDtoName !== void 0 ? responseDtoName : (0, utilities_1.joinWithDash)([dtoClassName, 'control', control.name, 'options']), dtoClassNameSuffix) : responseDtoName !== null && responseDtoName !== void 0 ? responseDtoName : (0, utilities_1.joinWithDash)([dtoClassName, 'control', control.name, 'options']));
|
|
49
20
|
} }));
|
|
50
21
|
}
|
|
51
22
|
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":";;;AACA,+CAGyB;AAEzB,yDAG4B;AAO5B,SAAgB,0BAA0B,CAAC,OAAoD;IAC7F,MAAM,EACJ,OAAO,EACP,OAAO,GAAG,IAAI,EACd,eAAe,EACf,YAAY,GAAG;QACb;YACE,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,QAAQ;SACf;QACD;YACE,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,OAAO;SACd;KACF,GACF,GAAG,OAAO,CAAC;IACZ,OAAO,IAAA,kCAAe,kCACjB,OAAO,KACV,YAAY;QACZ,OAAO,EACP,0BAA0B,EAAE,CAAC,cAAc,EAAE,EAAE,YAAY,EAAE,kBAAkB,EAAE,EAAE,EAAE;YACnF,OAAO,YAAY,aAAZ,YAAY,cAAZ,YAAY,GAAI,CACrB,kBAAkB,CAAC,CAAC,CAAC,IAAA,wBAAY,EAAC,eAAe,aAAf,eAAe,cAAf,eAAe,GAAI,IAAA,wBAAY,EAAC,CAAE,YAAY,EAAE,SAAS,EAAE,OAAO,CAAC,IAAI,EAAE,SAAS,CAAE,CAAC,EAAE,kBAAkB,CAAC,CAAC,CAAC,CAAC,eAAe,aAAf,eAAe,cAAf,eAAe,GAAI,IAAA,wBAAY,EAAC,CAAE,YAAY,EAAE,SAAS,EAAE,OAAO,CAAC,IAAI,EAAE,SAAS,CAAE,CAAC,CACrO,CAAC;QACJ,CAAC,IACD,CAAC;AACL,CAAC;AA1BD,gEA0BC"}
|
|
@@ -3,4 +3,5 @@ export interface CoercePageDtoClassOptions extends CoerceDtoClassOptions {
|
|
|
3
3
|
rowClassName: string;
|
|
4
4
|
rowFilePath: string;
|
|
5
5
|
}
|
|
6
|
+
export declare function BuildPageDtoClassName(name: string): string;
|
|
6
7
|
export declare function CoercePageDtoClass(options: CoercePageDtoClassOptions): import("./coerce-dto-class").CoerceDtoClassOutput;
|
|
@@ -1,11 +1,15 @@
|
|
|
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
5
|
const ts_morph_1 = require("@rxap/ts-morph");
|
|
6
6
|
const utilities_1 = require("@rxap/utilities");
|
|
7
7
|
const path_1 = require("path");
|
|
8
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;
|
|
9
13
|
function CoercePageDtoClass(options) {
|
|
10
14
|
const { project, name, propertyList = [], rowClassName, rowFilePath, tsMorphTransform = utilities_1.noop, } = options;
|
|
11
15
|
(0, utilities_1.CoerceArrayItems)(propertyList, [
|
|
@@ -44,8 +48,8 @@ function CoercePageDtoClass(options) {
|
|
|
44
48
|
isType: true,
|
|
45
49
|
isOptional: true,
|
|
46
50
|
}
|
|
47
|
-
]);
|
|
48
|
-
return (0, coerce_dto_class_1.CoerceDtoClass)(Object.assign(Object.assign({}, options), { project, name: (
|
|
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) => {
|
|
49
53
|
(0, ts_morph_1.CoerceImports)(sourceFile, [
|
|
50
54
|
{
|
|
51
55
|
namedImports: [rowClassName],
|
|
@@ -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,6CAA+C;AAC/C,+CAGyB;AACzB,+BAAgC;
|
|
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"}
|
|
@@ -6,4 +6,5 @@ export interface CoerceRowDtoClassOptions extends CoerceDtoClassOptions {
|
|
|
6
6
|
*/
|
|
7
7
|
rowIdType?: string | null;
|
|
8
8
|
}
|
|
9
|
+
export declare function BuildRowDtoClassName(name: string): string;
|
|
9
10
|
export declare function CoerceRowDtoClass(options: CoerceRowDtoClassOptions): import("./coerce-dto-class").CoerceDtoClassOutput;
|
|
@@ -1,17 +1,22 @@
|
|
|
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
12
|
const { rowIdType, project, name, propertyList = [], } = options;
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
13
|
+
(0, utilities_1.CoerceArrayItems)(propertyList, [{
|
|
14
|
+
name: '__rowId',
|
|
15
|
+
type: rowIdType === null ? 'number' : rowIdType !== null && rowIdType !== void 0 ? rowIdType : 'string',
|
|
16
|
+
}], (a, b) => a.name === b.name);
|
|
12
17
|
return (0, coerce_dto_class_1.CoerceDtoClass)({
|
|
13
18
|
project,
|
|
14
|
-
name: (
|
|
19
|
+
name: BuildRowDtoClassName(name),
|
|
15
20
|
propertyList,
|
|
16
21
|
});
|
|
17
22
|
}
|
|
@@ -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;AAC1D,yDAG4B;AAU5B,SAAgB,iBAAiB,CAAC,OAAiC;IACjE,MAAM,EACJ,SAAS,EACT,OAAO,EACP,IAAI,EACJ,YAAY,GAAG,EAAE,GAClB,GAAG,OAAO,CAAC;IACZ,YAAY,CAAC
|
|
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;AAC1D,+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,EACT,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,KAAK,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI,QAAQ;SAC5D,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,20 +1,20 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.CoerceTableSelectOperationRule = void 0;
|
|
4
|
+
const ts_morph_1 = require("@rxap/ts-morph");
|
|
4
5
|
const coerce_get_page_operation_1 = require("./coerce-get-page-operation");
|
|
5
6
|
function CoerceTableSelectOperationRule(options) {
|
|
6
|
-
|
|
7
|
-
rowIdProperty !== null && rowIdProperty !== void 0 ? rowIdProperty : (rowIdProperty = 'uuid');
|
|
8
|
-
rowDisplayProperty !== null && rowDisplayProperty !== void 0 ? rowDisplayProperty : (rowDisplayProperty = 'name');
|
|
9
|
-
rowValueProperty !== null && rowValueProperty !== void 0 ? rowValueProperty : (rowValueProperty = rowIdProperty);
|
|
7
|
+
const { propertyList = [], rowIdProperty = 'uuid', rowDisplayProperty = 'name', rowValueProperty = rowIdProperty !== null && rowIdProperty !== void 0 ? rowIdProperty : 'uuid', } = options;
|
|
10
8
|
propertyList.unshift({
|
|
11
9
|
name: '__display',
|
|
12
|
-
type:
|
|
10
|
+
type: (0, ts_morph_1.NormalizeTypeImport)('string'),
|
|
11
|
+
isArray: false,
|
|
13
12
|
source: rowDisplayProperty,
|
|
14
13
|
});
|
|
15
14
|
propertyList.unshift({
|
|
16
15
|
name: '__value',
|
|
17
|
-
type:
|
|
16
|
+
type: (0, ts_morph_1.NormalizeTypeImport)('string'),
|
|
17
|
+
isArray: false,
|
|
18
18
|
source: rowValueProperty,
|
|
19
19
|
});
|
|
20
20
|
return (0, coerce_get_page_operation_1.CoerceGetPageOperation)(Object.assign(Object.assign({}, options), { propertyList: propertyList, rowIdProperty }));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"coerce-table-select-operation.js","sourceRoot":"","sources":["../../../../../../../packages/schematic/ts-morph/src/lib/nest/coerce-table-select-operation.ts"],"names":[],"mappings":";;;AAAA,2EAGqC;AAOrC,SAAgB,8BAA8B,CAAC,OAA0C;IACvF,
|
|
1
|
+
{"version":3,"file":"coerce-table-select-operation.js","sourceRoot":"","sources":["../../../../../../../packages/schematic/ts-morph/src/lib/nest/coerce-table-select-operation.ts"],"names":[],"mappings":";;;AAAA,6CAAqD;AACrD,2EAGqC;AAOrC,SAAgB,8BAA8B,CAAC,OAA0C;IACvF,MAAM,EACJ,YAAY,GAAG,EAAE,EACjB,aAAa,GAAE,MAAM,EACrB,kBAAkB,GAAG,MAAM,EAC3B,gBAAgB,GAAG,aAAa,aAAb,aAAa,cAAb,aAAa,GAAI,MAAM,GAC3C,GAAG,OAAO,CAAC;IAEZ,YAAY,CAAC,OAAO,CAAC;QACnB,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,IAAA,8BAAmB,EAAC,QAAQ,CAAC;QACnC,OAAO,EAAE,KAAK;QACd,MAAM,EAAE,kBAAkB;KAC3B,CAAC,CAAC;IACH,YAAY,CAAC,OAAO,CAAC;QACnB,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,IAAA,8BAAmB,EAAC,QAAQ,CAAC;QACnC,OAAO,EAAE,KAAK;QACd,MAAM,EAAE,gBAAgB;KACzB,CAAC,CAAC;IAEH,OAAO,IAAA,kDAAsB,kCACxB,OAAO,KACV,YAAY,EAAE,YAAY,EAC1B,aAAa,IACb,CAAC;AAEL,CAAC;AA3BD,wEA2BC"}
|
|
@@ -1,8 +1,12 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ClassDeclaration, SourceFile, WriterFunction } from 'ts-morph';
|
|
2
|
+
import { CoerceDtoClassOutput } from './coerce-dto-class';
|
|
3
|
+
import { CoerceOperationOptions, TransformOperation } from './coerce-operation';
|
|
2
4
|
export interface CoerceTableSelectValueResolveOperationOptions extends Omit<CoerceOperationOptions, 'tsMorphTransform'> {
|
|
3
5
|
/**
|
|
4
6
|
* The base name of the page and row DTO class name. Defaults to the controller name
|
|
5
7
|
*/
|
|
6
8
|
responseDtoName?: string;
|
|
7
9
|
}
|
|
10
|
+
export declare function BuiltTableSelectValueResolveDtoDataMapperImplementation(classDeclaration: ClassDeclaration, moduleSourceFile: SourceFile, dto: CoerceDtoClassOutput | null, options: Readonly<CoerceOperationOptions>): TransformOperation<string | WriterFunction>;
|
|
11
|
+
export declare function CoerceTableSelectValueResolveOperationDtoClass(classDeclaration: ClassDeclaration, controllerName: string, moduleSourceFile: SourceFile, options: Readonly<CoerceTableSelectValueResolveOperationOptions>): CoerceDtoClassOutput | null;
|
|
8
12
|
export declare function CoerceTableSelectValueResolveOperationRule(options: CoerceTableSelectValueResolveOperationOptions): import("@angular-devkit/schematics").Rule;
|
|
@@ -1,40 +1,31 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.CoerceTableSelectValueResolveOperationRule = void 0;
|
|
4
|
-
const coerce_imports_1 = require("../ts-morph/coerce-imports");
|
|
3
|
+
exports.CoerceTableSelectValueResolveOperationRule = exports.CoerceTableSelectValueResolveOperationDtoClass = exports.BuiltTableSelectValueResolveDtoDataMapperImplementation = void 0;
|
|
5
4
|
const coerce_operation_1 = require("./coerce-operation");
|
|
6
|
-
const coerce_page_dto_class_1 = require("./coerce-page-dto-class");
|
|
7
5
|
const coerce_row_dto_class_1 = require("./coerce-row-dto-class");
|
|
6
|
+
function BuiltTableSelectValueResolveDtoDataMapperImplementation(classDeclaration, moduleSourceFile, dto, options) {
|
|
7
|
+
return () => {
|
|
8
|
+
if (dto) {
|
|
9
|
+
return `this.to${dto.className}({} as any),`;
|
|
10
|
+
}
|
|
11
|
+
return '{}';
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
exports.BuiltTableSelectValueResolveDtoDataMapperImplementation = BuiltTableSelectValueResolveDtoDataMapperImplementation;
|
|
15
|
+
function CoerceTableSelectValueResolveOperationDtoClass(classDeclaration, controllerName, moduleSourceFile, options) {
|
|
16
|
+
const { responseDtoName = controllerName, } = options;
|
|
17
|
+
const sourceFile = classDeclaration.getSourceFile();
|
|
18
|
+
const project = sourceFile.getProject();
|
|
19
|
+
return (0, coerce_row_dto_class_1.CoerceRowDtoClass)({
|
|
20
|
+
project,
|
|
21
|
+
name: responseDtoName,
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
exports.CoerceTableSelectValueResolveOperationDtoClass = CoerceTableSelectValueResolveOperationDtoClass;
|
|
8
25
|
function CoerceTableSelectValueResolveOperationRule(options) {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
const { className: rowClassName, filePath: rowFilePath, } = (0, coerce_row_dto_class_1.CoerceRowDtoClass)({
|
|
13
|
-
project,
|
|
14
|
-
name: responseDtoName,
|
|
15
|
-
});
|
|
16
|
-
const { className: pageClassName, filePath: pageFilePath, } = (0, coerce_page_dto_class_1.CoercePageDtoClass)({
|
|
17
|
-
project,
|
|
18
|
-
name: responseDtoName,
|
|
19
|
-
rowClassName,
|
|
20
|
-
rowFilePath,
|
|
21
|
-
});
|
|
22
|
-
(0, coerce_imports_1.CoerceImports)(sourceFile, {
|
|
23
|
-
moduleSpecifier: rowFilePath,
|
|
24
|
-
namedImports: [rowClassName],
|
|
25
|
-
});
|
|
26
|
-
return {
|
|
27
|
-
returnType: rowClassName,
|
|
28
|
-
statements: [
|
|
29
|
-
'const item = {} as any',
|
|
30
|
-
'return plainToInstance(',
|
|
31
|
-
rowClassName + ',',
|
|
32
|
-
`this.to${rowClassName}(item),`,
|
|
33
|
-
'classTransformOptions',
|
|
34
|
-
')',
|
|
35
|
-
],
|
|
36
|
-
};
|
|
37
|
-
} }));
|
|
26
|
+
const { coerceOperationDtoClass = CoerceTableSelectValueResolveOperationDtoClass, buildDtoReturnImplementation = BuiltTableSelectValueResolveDtoDataMapperImplementation, } = options;
|
|
27
|
+
return (0, coerce_operation_1.CoerceOperation)(Object.assign(Object.assign({}, options), { coerceOperationDtoClass,
|
|
28
|
+
buildDtoReturnImplementation }));
|
|
38
29
|
}
|
|
39
30
|
exports.CoerceTableSelectValueResolveOperationRule = CoerceTableSelectValueResolveOperationRule;
|
|
40
31
|
//# sourceMappingURL=coerce-table-select-value-resolve-operation.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"coerce-table-select-value-resolve-operation.js","sourceRoot":"","sources":["../../../../../../../packages/schematic/ts-morph/src/lib/nest/coerce-table-select-value-resolve-operation.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"coerce-table-select-value-resolve-operation.js","sourceRoot":"","sources":["../../../../../../../packages/schematic/ts-morph/src/lib/nest/coerce-table-select-value-resolve-operation.ts"],"names":[],"mappings":";;;AAMA,yDAI4B;AAC5B,iEAA2D;AAU3D,SAAgB,uDAAuD,CACrE,gBAAkC,EAClC,gBAA4B,EAC5B,GAAgC,EAChC,OAAyC;IAEzC,OAAO,GAAG,EAAE;QACV,IAAI,GAAG,EAAE;YACP,OAAO,UAAW,GAAG,CAAC,SAAU,cAAc,CAAC;SAChD;QACD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;AACJ,CAAC;AAZD,0HAYC;AAED,SAAgB,8CAA8C,CAC5D,gBAAkC,EAClC,cAAsB,EACtB,gBAA4B,EAC5B,OAAgE;IAEhE,MAAM,EACJ,eAAe,GAAG,cAAc,GACjC,GAAG,OAAO,CAAC;IACZ,MAAM,UAAU,GAAG,gBAAgB,CAAC,aAAa,EAAE,CAAC;IACpD,MAAM,OAAO,GAAG,UAAU,CAAC,UAAU,EAAE,CAAC;IACxC,OAAO,IAAA,wCAAiB,EAAC;QACvB,OAAO;QACP,IAAI,EAAE,eAAe;KACtB,CAAC,CAAC;AACL,CAAC;AAfD,wGAeC;AAED,SAAgB,0CAA0C,CAAC,OAAsD;IAC/G,MAAM,EACJ,uBAAuB,GAAG,8CAA8C,EACxE,4BAA4B,GAAG,uDAAuD,GACvF,GAAG,OAAO,CAAC;IAEZ,OAAO,IAAA,kCAAe,kCACjB,OAAO,KACV,uBAAuB;QACvB,4BAA4B,IAC5B,CAAC;AACL,CAAC;AAXD,gGAWC"}
|