@rxap/schematics-ts-morph 16.0.0-dev.1 → 16.0.0-dev.2
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 +96 -79
- package/README.md +1 -1
- package/package.json +4 -3
- package/src/index.d.ts +4 -55
- package/src/index.js +4 -57
- package/src/index.js.map +1 -1
- package/src/lib/add-component-animations.js +2 -1
- package/src/lib/add-component-animations.js.map +1 -1
- package/src/lib/add-component-input.js +4 -3
- package/src/lib/add-component-input.js.map +1 -1
- package/src/lib/add-component-provider.js +2 -1
- package/src/lib/add-component-provider.js.map +1 -1
- package/src/lib/add-dependency-injection.js +4 -3
- package/src/lib/add-dependency-injection.js.map +1 -1
- package/src/lib/add-fake-provider.js +3 -2
- package/src/lib/add-fake-provider.js.map +1 -1
- package/src/lib/add-method-class.js +3 -2
- package/src/lib/add-method-class.js.map +1 -1
- package/src/lib/add-ng-module-import.js +2 -1
- package/src/lib/add-ng-module-import.js.map +1 -1
- package/src/lib/add-ng-module-provider.js +2 -1
- package/src/lib/add-ng-module-provider.js.map +1 -1
- package/src/lib/add-operation-to-controller.d.ts +33 -0
- package/src/lib/add-operation-to-controller.js +197 -0
- package/src/lib/add-operation-to-controller.js.map +1 -0
- package/src/lib/add-variable-provider.js +3 -2
- package/src/lib/add-variable-provider.js.map +1 -1
- package/src/lib/angular/build-angular-base-path.d.ts +8 -0
- package/src/lib/angular/build-angular-base-path.js +15 -0
- package/src/lib/angular/build-angular-base-path.js.map +1 -0
- package/src/lib/angular/coerce-accordion-component.d.ts +7 -0
- package/src/lib/angular/coerce-accordion-component.js +21 -0
- package/src/lib/angular/coerce-accordion-component.js.map +1 -0
- package/src/lib/angular/coerce-component-class.d.ts +8 -0
- package/src/lib/angular/coerce-component-class.js +39 -0
- package/src/lib/angular/coerce-component-class.js.map +1 -0
- package/src/lib/angular/coerce-component.d.ts +15 -0
- package/src/lib/angular/coerce-component.js +41 -0
- package/src/lib/angular/coerce-component.js.map +1 -0
- package/src/lib/angular/coerce-data-source-class.d.ts +10 -0
- package/src/lib/angular/coerce-data-source-class.js +42 -0
- package/src/lib/angular/coerce-data-source-class.js.map +1 -0
- package/src/lib/angular/coerce-form-builder-provider.d.ts +10 -0
- package/src/lib/angular/coerce-form-builder-provider.js +35 -0
- package/src/lib/angular/coerce-form-builder-provider.js.map +1 -0
- package/src/lib/angular/coerce-form-component-provider.d.ts +10 -0
- package/src/lib/angular/coerce-form-component-provider.js +37 -0
- package/src/lib/angular/coerce-form-component-provider.js.map +1 -0
- package/src/lib/angular/coerce-form-definition.d.ts +19 -0
- package/src/lib/angular/coerce-form-definition.js +94 -0
- package/src/lib/angular/coerce-form-definition.js.map +1 -0
- package/src/lib/angular/coerce-form-provider.d.ts +10 -0
- package/src/lib/angular/coerce-form-provider.js +36 -0
- package/src/lib/angular/coerce-form-provider.js.map +1 -0
- package/src/lib/angular/coerce-form-providers-file.d.ts +7 -0
- package/src/lib/angular/coerce-form-providers-file.js +84 -0
- package/src/lib/angular/coerce-form-providers-file.js.map +1 -0
- package/src/lib/angular/coerce-form-table-action.d.ts +5 -0
- package/src/lib/angular/coerce-form-table-action.js +82 -0
- package/src/lib/angular/coerce-form-table-action.js.map +1 -0
- package/src/lib/angular/coerce-method-class.d.ts +11 -0
- package/src/lib/angular/coerce-method-class.js +52 -0
- package/src/lib/angular/coerce-method-class.js.map +1 -0
- package/src/lib/angular/coerce-navigation-table-action.d.ts +5 -0
- package/src/lib/angular/coerce-navigation-table-action.js +64 -0
- package/src/lib/angular/coerce-navigation-table-action.js.map +1 -0
- package/src/lib/angular/coerce-operation-table-action.d.ts +5 -0
- package/src/lib/angular/coerce-operation-table-action.js +33 -0
- package/src/lib/angular/coerce-operation-table-action.js.map +1 -0
- package/src/lib/angular/coerce-project-feature.d.ts +6 -0
- package/src/lib/angular/coerce-project-feature.js +19 -0
- package/src/lib/angular/coerce-project-feature.js.map +1 -0
- package/src/lib/angular/coerce-proxy-remote-method-class.d.ts +13 -0
- package/src/lib/angular/coerce-proxy-remote-method-class.js +90 -0
- package/src/lib/angular/coerce-proxy-remote-method-class.js.map +1 -0
- package/src/lib/angular/coerce-table-action-index-provider.d.ts +5 -0
- package/src/lib/angular/coerce-table-action-index-provider.js +27 -0
- package/src/lib/angular/coerce-table-action-index-provider.js.map +1 -0
- package/src/lib/angular/coerce-table-action-index.d.ts +4 -0
- package/src/lib/angular/coerce-table-action-index.js +16 -0
- package/src/lib/angular/coerce-table-action-index.js.map +1 -0
- package/src/lib/angular/coerce-table-action-provider.d.ts +8 -0
- package/src/lib/angular/coerce-table-action-provider.js +49 -0
- package/src/lib/angular/coerce-table-action-provider.js.map +1 -0
- package/src/lib/angular/coerce-table-action.d.ts +13 -0
- package/src/lib/angular/coerce-table-action.js +70 -0
- package/src/lib/angular/coerce-table-action.js.map +1 -0
- package/src/lib/angular/coerce-table-parameters-from-route.d.ts +6 -0
- package/src/lib/angular/coerce-table-parameters-from-route.js +48 -0
- package/src/lib/angular/coerce-table-parameters-from-route.js.map +1 -0
- package/src/lib/angular/coerce-tree-table-children-proxy-remote-method-class.d.ts +5 -0
- package/src/lib/angular/coerce-tree-table-children-proxy-remote-method-class.js +31 -0
- package/src/lib/angular/coerce-tree-table-children-proxy-remote-method-class.js.map +1 -0
- package/src/lib/angular/coerce-tree-table-root-proxy-remote-method-class.d.ts +5 -0
- package/src/lib/angular/coerce-tree-table-root-proxy-remote-method-class.js +31 -0
- package/src/lib/angular/coerce-tree-table-root-proxy-remote-method-class.js.map +1 -0
- package/src/lib/angular/has-accordion-component.d.ts +6 -0
- package/src/lib/angular/has-accordion-component.js +20 -0
- package/src/lib/angular/has-accordion-component.js.map +1 -0
- package/src/lib/angular/has-component.d.ts +8 -0
- package/src/lib/angular/has-component.js +26 -0
- package/src/lib/angular/has-component.js.map +1 -0
- package/src/lib/angular/has-project-feature.d.ts +5 -0
- package/src/lib/angular/has-project-feature.js +15 -0
- package/src/lib/angular/has-project-feature.js.map +1 -0
- package/src/lib/angular/has-table-component.d.ts +8 -0
- package/src/lib/angular/has-table-component.js +19 -0
- package/src/lib/angular/has-table-component.js.map +1 -0
- package/src/lib/angular/index.d.ts +26 -0
- package/src/lib/angular/index.js +30 -0
- package/src/lib/angular/index.js.map +1 -0
- package/src/lib/coerce-class-method.d.ts +1 -1
- package/src/lib/coerce-class-method.js +3 -2
- package/src/lib/coerce-class-method.js.map +1 -1
- package/src/lib/create-dto-class.d.ts +10 -0
- package/src/lib/create-dto-class.js +127 -0
- package/src/lib/create-dto-class.js.map +1 -0
- package/src/lib/get-form-providers-source-file.js +2 -1
- package/src/lib/get-form-providers-source-file.js.map +1 -1
- package/src/lib/index.d.ts +48 -0
- package/src/lib/index.js +52 -0
- package/src/lib/index.js.map +1 -0
- package/src/lib/{nestjs → nest}/add-nest-controller.js +2 -1
- package/src/lib/nest/add-nest-controller.js.map +1 -0
- package/src/lib/{nestjs → nest}/add-nest-module-controller.js +2 -1
- package/src/lib/nest/add-nest-module-controller.js.map +1 -0
- package/src/lib/{nestjs → nest}/add-nest-module-import.js +2 -1
- package/src/lib/nest/add-nest-module-import.js.map +1 -0
- package/src/lib/{nestjs → nest}/add-nest-module-provider.js +2 -1
- package/src/lib/nest/add-nest-module-provider.js.map +1 -0
- package/src/lib/nest/add-nest-module-to-app-module.d.ts +8 -0
- package/src/lib/nest/add-nest-module-to-app-module.js +18 -0
- package/src/lib/nest/add-nest-module-to-app-module.js.map +1 -0
- package/src/lib/nest/add-nest-provider-to-array.js.map +1 -0
- package/src/lib/nest/build-nest-base-path.d.ts +8 -0
- package/src/lib/nest/build-nest-base-path.js +17 -0
- package/src/lib/nest/build-nest-base-path.js.map +1 -0
- package/src/lib/nest/build-nest-controller-name.d.ts +9 -0
- package/src/lib/nest/build-nest-controller-name.js +23 -0
- package/src/lib/nest/build-nest-controller-name.js.map +1 -0
- package/src/lib/nest/coerce-dto-class.d.ts +9 -0
- package/src/lib/nest/coerce-dto-class.js +118 -0
- package/src/lib/nest/coerce-dto-class.js.map +1 -0
- package/src/lib/nest/coerce-form-submit-operation.d.ts +6 -0
- package/src/lib/nest/coerce-form-submit-operation.js +22 -0
- package/src/lib/nest/coerce-form-submit-operation.js.map +1 -0
- package/src/lib/nest/coerce-get-by-id-operation.d.ts +17 -0
- package/src/lib/nest/coerce-get-by-id-operation.js +66 -0
- package/src/lib/nest/coerce-get-by-id-operation.js.map +1 -0
- package/src/lib/nest/coerce-get-children-operation.d.ts +4 -0
- package/src/lib/nest/coerce-get-children-operation.js +55 -0
- package/src/lib/nest/coerce-get-children-operation.js.map +1 -0
- package/src/lib/nest/coerce-get-data-grid-operation.d.ts +7 -0
- package/src/lib/nest/coerce-get-data-grid-operation.js +33 -0
- package/src/lib/nest/coerce-get-data-grid-operation.js.map +1 -0
- package/src/lib/nest/coerce-get-page-operation.d.ts +8 -0
- package/src/lib/nest/coerce-get-page-operation.js +117 -0
- package/src/lib/nest/coerce-get-page-operation.js.map +1 -0
- package/src/lib/nest/coerce-get-root-operation.d.ts +4 -0
- package/src/lib/nest/coerce-get-root-operation.js +50 -0
- package/src/lib/nest/coerce-get-root-operation.js.map +1 -0
- package/src/lib/nest/coerce-nest-controller.d.ts +10 -0
- package/src/lib/nest/coerce-nest-controller.js +34 -0
- package/src/lib/nest/coerce-nest-controller.js.map +1 -0
- package/src/lib/nest/coerce-nest-module.d.ts +8 -0
- package/src/lib/nest/coerce-nest-module.js +28 -0
- package/src/lib/nest/coerce-nest-module.js.map +1 -0
- package/src/lib/nest/coerce-nest-service-project.d.ts +7 -0
- package/src/lib/nest/coerce-nest-service-project.js +33 -0
- package/src/lib/nest/coerce-nest-service-project.js.map +1 -0
- package/src/lib/nest/coerce-operation.d.ts +27 -0
- package/src/lib/nest/coerce-operation.js +80 -0
- package/src/lib/nest/coerce-operation.js.map +1 -0
- package/src/lib/nest/coerce-page-dto-class.d.ts +12 -0
- package/src/lib/nest/coerce-page-dto-class.js +29 -0
- package/src/lib/nest/coerce-page-dto-class.js.map +1 -0
- package/src/lib/nest/coerce-row-dto-class.d.ts +10 -0
- package/src/lib/nest/coerce-row-dto-class.js +13 -0
- package/src/lib/nest/coerce-row-dto-class.js.map +1 -0
- package/src/lib/nest/coerce-submit-data-grid-operation.d.ts +5 -0
- package/src/lib/nest/coerce-submit-data-grid-operation.js +23 -0
- package/src/lib/nest/coerce-submit-data-grid-operation.js.map +1 -0
- package/src/lib/nest/find-nest-module-declaration.js.map +1 -0
- package/src/lib/nest/find-nest-module-source-file.js.map +1 -0
- package/src/lib/nest/get-nest-module-metadata.js.map +1 -0
- package/src/lib/nest/has-nest-controller.d.ts +10 -0
- package/src/lib/nest/has-nest-controller.js +17 -0
- package/src/lib/nest/has-nest-controller.js.map +1 -0
- package/src/lib/nest/has-nest-module-class.js.map +1 -0
- package/src/lib/nest/has-nest-module.d.ts +8 -0
- package/src/lib/nest/has-nest-module.js +18 -0
- package/src/lib/nest/has-nest-module.js.map +1 -0
- package/src/lib/nest/index.d.ts +31 -0
- package/src/lib/nest/index.js +35 -0
- package/src/lib/nest/index.js.map +1 -0
- package/src/lib/nest/is-nest-module-class.js.map +1 -0
- package/src/lib/nest/nest-provider-object.js.map +1 -0
- package/src/lib/nest/project-utilities.d.ts +11 -0
- package/src/lib/nest/project-utilities.js +24 -0
- package/src/lib/nest/project-utilities.js.map +1 -0
- package/src/lib/operation-id-utilities.d.ts +14 -0
- package/src/lib/operation-id-utilities.js +59 -0
- package/src/lib/operation-id-utilities.js.map +1 -0
- package/src/lib/{apply-ts-morph-project.d.ts → ts-morph/apply-ts-morph-project.d.ts} +1 -1
- package/src/lib/{apply-ts-morph-project.js → ts-morph/apply-ts-morph-project.js} +5 -11
- package/src/lib/ts-morph/apply-ts-morph-project.js.map +1 -0
- package/src/lib/ts-morph/coerce-class-implementation.d.ts +2 -0
- package/src/lib/ts-morph/coerce-class-implementation.js +10 -0
- package/src/lib/ts-morph/coerce-class-implementation.js.map +1 -0
- package/src/lib/ts-morph/coerce-class-property.d.ts +2 -0
- package/src/lib/ts-morph/coerce-class-property.js +12 -0
- package/src/lib/ts-morph/coerce-class-property.js.map +1 -0
- package/src/lib/ts-morph/coerce-decorator.d.ts +9 -0
- package/src/lib/ts-morph/coerce-decorator.js +22 -0
- package/src/lib/ts-morph/coerce-decorator.js.map +1 -0
- package/src/lib/ts-morph/coerce-function.d.ts +2 -0
- package/src/lib/ts-morph/coerce-function.js +10 -0
- package/src/lib/ts-morph/coerce-function.js.map +1 -0
- package/src/lib/ts-morph/coerce-imports.d.ts +2 -0
- package/src/lib/ts-morph/coerce-imports.js +25 -0
- package/src/lib/ts-morph/coerce-imports.js.map +1 -0
- package/src/lib/ts-morph/coerce-interface.d.ts +2 -0
- package/src/lib/ts-morph/coerce-interface.js +15 -0
- package/src/lib/ts-morph/coerce-interface.js.map +1 -0
- package/src/lib/ts-morph/coerce-parameter-declaration.d.ts +2 -0
- package/src/lib/ts-morph/coerce-parameter-declaration.js +13 -0
- package/src/lib/ts-morph/coerce-parameter-declaration.js.map +1 -0
- package/src/lib/ts-morph/coerce-statements.d.ts +2 -0
- package/src/lib/ts-morph/coerce-statements.js +11 -0
- package/src/lib/ts-morph/coerce-statements.js.map +1 -0
- package/src/lib/ts-morph/find-function.d.ts +6 -0
- package/src/lib/ts-morph/find-function.js +8 -0
- package/src/lib/ts-morph/find-function.js.map +1 -0
- package/src/lib/ts-morph/index.d.ts +10 -0
- package/src/lib/ts-morph/index.js +14 -0
- package/src/lib/ts-morph/index.js.map +1 -0
- package/src/lib/ts-morph-transform.d.ts +15 -0
- package/src/lib/ts-morph-transform.js +46 -0
- package/src/lib/ts-morph-transform.js.map +1 -0
- package/src/lib/apply-ts-morph-project.js.map +0 -1
- package/src/lib/coerce-method-class.d.ts +0 -3
- package/src/lib/coerce-method-class.js +0 -14
- package/src/lib/coerce-method-class.js.map +0 -1
- package/src/lib/nestjs/add-nest-controller.js.map +0 -1
- package/src/lib/nestjs/add-nest-module-controller.js.map +0 -1
- package/src/lib/nestjs/add-nest-module-import.js.map +0 -1
- package/src/lib/nestjs/add-nest-module-provider.js.map +0 -1
- package/src/lib/nestjs/add-nest-provider-to-array.js.map +0 -1
- package/src/lib/nestjs/find-nest-module-declaration.js.map +0 -1
- package/src/lib/nestjs/find-nest-module-source-file.js.map +0 -1
- package/src/lib/nestjs/get-nest-module-metadata.js.map +0 -1
- package/src/lib/nestjs/has-nest-module-class.js.map +0 -1
- package/src/lib/nestjs/is-nest-module-class.js.map +0 -1
- package/src/lib/nestjs/nest-provider-object.js.map +0 -1
- /package/src/lib/{nestjs → nest}/add-nest-controller.d.ts +0 -0
- /package/src/lib/{nestjs → nest}/add-nest-module-controller.d.ts +0 -0
- /package/src/lib/{nestjs → nest}/add-nest-module-import.d.ts +0 -0
- /package/src/lib/{nestjs → nest}/add-nest-module-provider.d.ts +0 -0
- /package/src/lib/{nestjs → nest}/add-nest-provider-to-array.d.ts +0 -0
- /package/src/lib/{nestjs → nest}/add-nest-provider-to-array.js +0 -0
- /package/src/lib/{nestjs → nest}/find-nest-module-declaration.d.ts +0 -0
- /package/src/lib/{nestjs → nest}/find-nest-module-declaration.js +0 -0
- /package/src/lib/{nestjs → nest}/find-nest-module-source-file.d.ts +0 -0
- /package/src/lib/{nestjs → nest}/find-nest-module-source-file.js +0 -0
- /package/src/lib/{nestjs → nest}/get-nest-module-metadata.d.ts +0 -0
- /package/src/lib/{nestjs → nest}/get-nest-module-metadata.js +0 -0
- /package/src/lib/{nestjs → nest}/has-nest-module-class.d.ts +0 -0
- /package/src/lib/{nestjs → nest}/has-nest-module-class.js +0 -0
- /package/src/lib/{nestjs → nest}/is-nest-module-class.d.ts +0 -0
- /package/src/lib/{nestjs → nest}/is-nest-module-class.js +0 -0
- /package/src/lib/{nestjs → nest}/nest-provider-object.d.ts +0 -0
- /package/src/lib/{nestjs → nest}/nest-provider-object.js +0 -0
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CoerceGetChildrenOperation = void 0;
|
|
4
|
+
const coerce_operation_1 = require("./coerce-operation");
|
|
5
|
+
const coerce_dto_class_1 = require("./coerce-dto-class");
|
|
6
|
+
const schematics_utilities_1 = require("@rxap/schematics-utilities");
|
|
7
|
+
const coerce_imports_1 = require("../ts-morph/coerce-imports");
|
|
8
|
+
const schematics_1 = require("@angular-devkit/schematics");
|
|
9
|
+
function CoerceGetChildrenOperation(options) {
|
|
10
|
+
let { tsMorphTransform, name, controllerName, nestController, paramList } = options;
|
|
11
|
+
tsMorphTransform !== null && tsMorphTransform !== void 0 ? tsMorphTransform : (tsMorphTransform = () => ({}));
|
|
12
|
+
controllerName !== null && controllerName !== void 0 ? controllerName : (controllerName = nestController);
|
|
13
|
+
controllerName !== null && controllerName !== void 0 ? controllerName : (controllerName = name);
|
|
14
|
+
if (!controllerName) {
|
|
15
|
+
throw new schematics_1.SchematicsException('No controller name provided!');
|
|
16
|
+
}
|
|
17
|
+
if (!name) {
|
|
18
|
+
throw new schematics_1.SchematicsException('No name provided!');
|
|
19
|
+
}
|
|
20
|
+
controllerName = (0, schematics_utilities_1.CoerceSuffix)(controllerName, '-tree-table');
|
|
21
|
+
paramList !== null && paramList !== void 0 ? paramList : (paramList = []);
|
|
22
|
+
paramList.push({ name: 'parentUuid', type: 'string' });
|
|
23
|
+
return (0, coerce_operation_1.CoerceOperation)(Object.assign(Object.assign({}, options), {
|
|
24
|
+
// TODO : remove after migration to controllerName
|
|
25
|
+
name: controllerName, nestController: controllerName, controllerName, operationName: 'get-children', paramList, tsMorphTransform: (project, sourceFile, classDeclaration, controllerName) => {
|
|
26
|
+
const { className, filePath } = (0, coerce_dto_class_1.CoerceDtoClass)(project, (0, schematics_utilities_1.CoerceSuffix)(name, '-item'), [
|
|
27
|
+
{ name: 'uuid', type: 'string' },
|
|
28
|
+
{ name: 'hasChildren', type: 'boolean' },
|
|
29
|
+
{
|
|
30
|
+
name: 'children',
|
|
31
|
+
type: (0, schematics_utilities_1.classify)((0, schematics_utilities_1.CoerceSuffix)(name, '-item-dto')),
|
|
32
|
+
isArray: true,
|
|
33
|
+
isOptional: true,
|
|
34
|
+
isType: true,
|
|
35
|
+
},
|
|
36
|
+
]);
|
|
37
|
+
(0, coerce_imports_1.CoerceImports)(sourceFile, [
|
|
38
|
+
{
|
|
39
|
+
namedImports: ['plainToInstance'],
|
|
40
|
+
moduleSpecifier: 'class-transformer',
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
namedImports: ['classTransformOptions'],
|
|
44
|
+
moduleSpecifier: '@rxap/nest/class-transformer/options',
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
namedImports: [className],
|
|
48
|
+
moduleSpecifier: `..${filePath}`,
|
|
49
|
+
},
|
|
50
|
+
]);
|
|
51
|
+
return Object.assign({ returnType: className + '[]' }, tsMorphTransform(project, sourceFile, classDeclaration, controllerName));
|
|
52
|
+
} }));
|
|
53
|
+
}
|
|
54
|
+
exports.CoerceGetChildrenOperation = CoerceGetChildrenOperation;
|
|
55
|
+
//# sourceMappingURL=coerce-get-children-operation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"coerce-get-children-operation.js","sourceRoot":"","sources":["../../../../../../libs/ts-morph/src/lib/nest/coerce-get-children-operation.ts"],"names":[],"mappings":";;;AAAA,yDAA6E;AAC7E,yDAAoD;AACpD,qEAAoE;AACpE,+DAA2D;AAC3D,2DAA+D;AAK/D,SAAgB,0BAA0B,CAAC,OAAoD;IAC7F,IAAI,EAAC,gBAAgB,EAAE,IAAI,EAAE,cAAc,EAAE,cAAc,EAAE,SAAS,EAAC,GAAG,OAAO,CAAC;IAClF,gBAAgB,aAAhB,gBAAgB,cAAhB,gBAAgB,IAAhB,gBAAgB,GAAK,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,EAAC;IAChC,cAAc,aAAd,cAAc,cAAd,cAAc,IAAd,cAAc,GAAK,cAAc,EAAC;IAClC,cAAc,aAAd,cAAc,cAAd,cAAc,IAAd,cAAc,GAAK,IAAI,EAAC;IACxB,IAAI,CAAC,cAAc,EAAE;QACnB,MAAM,IAAI,gCAAmB,CAAC,8BAA8B,CAAC,CAAC;KAC/D;IACD,IAAI,CAAC,IAAI,EAAE;QACT,MAAM,IAAI,gCAAmB,CAAC,mBAAmB,CAAC,CAAC;KACpD;IACD,cAAc,GAA4D,IAAA,mCAAY,EAAC,cAAc,EAAE,aAAa,CAAC,CAAC;IACtH,SAAS,aAAT,SAAS,cAAT,SAAS,IAAT,SAAS,GAAK,EAAE,EAAC;IACjB,SAAS,CAAC,IAAI,CAAC,EAAC,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAC,CAAC,CAAC;IACrD,OAAO,IAAA,kCAAe,kCACjB,OAAO;QACV,kDAAkD;QAClD,IAAI,EAAE,cAAc,EACpB,cAAc,EAAE,cAAc,EAC9B,cAAc,EACd,aAAa,EAAE,cAAc,EAC7B,SAAS,EACT,gBAAgB,EAAE,CAChB,OAAO,EACP,UAAU,EACV,gBAAgB,EAChB,cAAc,EACd,EAAE;YAEF,MAAM,EAAC,SAAS,EAAE,QAAQ,EAAC,GAAG,IAAA,iCAAc,EAC1C,OAAO,EACP,IAAA,mCAAY,EAAC,IAAK,EAAE,OAAO,CAAC,EAC5B;gBACE,EAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAC;gBAC9B,EAAC,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,SAAS,EAAC;gBACtC;oBACE,IAAI,EAAE,UAAU;oBAChB,IAAI,EAAE,IAAA,+BAAQ,EAAC,IAAA,mCAAY,EAAC,IAAK,EAAE,WAAW,CAAC,CAAC;oBAChD,OAAO,EAAE,IAAI;oBACb,UAAU,EAAE,IAAI;oBAChB,MAAM,EAAE,IAAI;iBACb;aACF,CACF,CAAC;YAEF,IAAA,8BAAa,EAAC,UAAU,EAAE;gBACxB;oBACE,YAAY,EAAE,CAAE,iBAAiB,CAAE;oBACnC,eAAe,EAAE,mBAAmB;iBACrC;gBACD;oBACE,YAAY,EAAE,CAAE,uBAAuB,CAAE;oBACzC,eAAe,EAAE,sCAAsC;iBACxD;gBACD;oBACE,YAAY,EAAE,CAAE,SAAS,CAAE;oBAC3B,eAAe,EAAE,KAAM,QAAS,EAAE;iBACnC;aACF,CAAC,CAAC;YAEH,uBACE,UAAU,EAAE,SAAS,GAAG,IAAI,IACzB,gBAAiB,CAAC,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,cAAc,CAAC,EAC3E;QACJ,CAAC,IACD,CAAC;AACL,CAAC;AAlED,gEAkEC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { CoerceOperationOptions } from './coerce-operation';
|
|
2
|
+
import { DtoClassProperty } from "../create-dto-class";
|
|
3
|
+
export interface CoerceGetDataGridOperationOptions extends Omit<CoerceOperationOptions, 'operationName'> {
|
|
4
|
+
collection?: boolean;
|
|
5
|
+
propertyList?: DtoClassProperty[];
|
|
6
|
+
}
|
|
7
|
+
export declare function CoerceGetDataGridOperation(options: Readonly<CoerceGetDataGridOperationOptions>): import("@angular-devkit/schematics").Rule;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CoerceGetDataGridOperation = void 0;
|
|
4
|
+
const coerce_operation_1 = require("./coerce-operation");
|
|
5
|
+
const coerce_dto_class_1 = require("./coerce-dto-class");
|
|
6
|
+
const schematics_utilities_1 = require("@rxap/schematics-utilities");
|
|
7
|
+
const coerce_imports_1 = require("../ts-morph/coerce-imports");
|
|
8
|
+
const schematics_1 = require("@angular-devkit/schematics");
|
|
9
|
+
function CoerceGetDataGridOperation(options) {
|
|
10
|
+
let { tsMorphTransform, collection, propertyList, controllerName, nestController, name } = options;
|
|
11
|
+
collection !== null && collection !== void 0 ? collection : (collection = false);
|
|
12
|
+
tsMorphTransform !== null && tsMorphTransform !== void 0 ? tsMorphTransform : (tsMorphTransform = () => ({}));
|
|
13
|
+
propertyList !== null && propertyList !== void 0 ? propertyList : (propertyList = []);
|
|
14
|
+
controllerName !== null && controllerName !== void 0 ? controllerName : (controllerName = nestController);
|
|
15
|
+
controllerName !== null && controllerName !== void 0 ? controllerName : (controllerName = name);
|
|
16
|
+
if (!controllerName) {
|
|
17
|
+
throw new schematics_1.SchematicsException('No controller name provided!');
|
|
18
|
+
}
|
|
19
|
+
controllerName =
|
|
20
|
+
(0, schematics_utilities_1.CoerceSuffix)(controllerName, '-data-grid');
|
|
21
|
+
return (0, coerce_operation_1.CoerceOperation)(Object.assign(Object.assign({}, options), {
|
|
22
|
+
// TODO : remove after migration to controllerName
|
|
23
|
+
name: controllerName, nestController: controllerName, controllerName, operationName: 'get', tsMorphTransform: (project, sourceFile, classDeclaration, controllerName) => {
|
|
24
|
+
const { className: dtoClassName, filePath: dtoFilePath } = (0, coerce_dto_class_1.CoerceDtoClass)(project, controllerName, propertyList);
|
|
25
|
+
(0, coerce_imports_1.CoerceImports)(sourceFile, {
|
|
26
|
+
namedImports: [dtoClassName],
|
|
27
|
+
moduleSpecifier: `..${dtoFilePath}`,
|
|
28
|
+
});
|
|
29
|
+
return Object.assign({ returnType: dtoClassName + (collection ? '[]' : '') }, tsMorphTransform(project, sourceFile, classDeclaration, controllerName));
|
|
30
|
+
} }));
|
|
31
|
+
}
|
|
32
|
+
exports.CoerceGetDataGridOperation = CoerceGetDataGridOperation;
|
|
33
|
+
//# sourceMappingURL=coerce-get-data-grid-operation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"coerce-get-data-grid-operation.js","sourceRoot":"","sources":["../../../../../../libs/ts-morph/src/lib/nest/coerce-get-data-grid-operation.ts"],"names":[],"mappings":";;;AAAA,yDAA6E;AAC7E,yDAAoD;AACpD,qEAA0D;AAC1D,+DAA2D;AAE3D,2DAA+D;AAO/D,SAAgB,0BAA0B,CAAC,OAAoD;IAC7F,IAAI,EAAC,gBAAgB,EAAE,UAAU,EAAE,YAAY,EAAE,cAAc,EAAE,cAAc,EAAE,IAAI,EAAC,GAAG,OAAO,CAAC;IACjG,UAAU,aAAV,UAAU,cAAV,UAAU,IAAV,UAAU,GAAK,KAAK,EAAC;IACrB,gBAAgB,aAAhB,gBAAgB,cAAhB,gBAAgB,IAAhB,gBAAgB,GAAK,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,EAAC;IAChC,YAAY,aAAZ,YAAY,cAAZ,YAAY,IAAZ,YAAY,GAAK,EAAE,EAAC;IACpB,cAAc,aAAd,cAAc,cAAd,cAAc,IAAd,cAAc,GAAK,cAAc,EAAC;IAClC,cAAc,aAAd,cAAc,cAAd,cAAc,IAAd,cAAc,GAAK,IAAI,EAAC;IACxB,IAAI,CAAC,cAAc,EAAE;QACnB,MAAM,IAAI,gCAAmB,CAAC,8BAA8B,CAAC,CAAC;KAC/D;IACD,cAAc;QACZ,IAAA,mCAAY,EAAC,cAAc,EAAE,YAAY,CAAC,CAAC;IAE7C,OAAO,IAAA,kCAAe,kCACjB,OAAO;QACV,kDAAkD;QAClD,IAAI,EAAE,cAAc,EACpB,cAAc,EAAE,cAAc,EAC9B,cAAc,EACd,aAAa,EAAE,KAAK,EACpB,gBAAgB,EAAE,CAChB,OAAO,EACP,UAAU,EACV,gBAAgB,EAChB,cAAc,EACd,EAAE;YAEF,MAAM,EAAC,SAAS,EAAE,YAAY,EAAE,QAAQ,EAAE,WAAW,EAAC,GAAG,IAAA,iCAAc,EACrE,OAAO,EACP,cAAc,EACd,YAAa,CACd,CAAC;YAEF,IAAA,8BAAa,EAAC,UAAU,EAAE;gBACxB,YAAY,EAAE,CAAE,YAAY,CAAE;gBAC9B,eAAe,EAAE,KAAM,WAAY,EAAE;aACtC,CAAC,CAAC;YAEH,uBACE,UAAU,EAAE,YAAY,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAChD,gBAAiB,CAAC,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,cAAc,CAAC,EAC3E;QAEJ,CAAC,IACD,CAAC;AAEL,CAAC;AA9CD,gEA8CC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { CoerceOperationOptions } from './coerce-operation';
|
|
2
|
+
export interface CoerceGetPageOperationOptions extends Omit<CoerceOperationOptions, 'operationName'> {
|
|
3
|
+
columnList: Array<{
|
|
4
|
+
name: string;
|
|
5
|
+
type?: string;
|
|
6
|
+
}>;
|
|
7
|
+
}
|
|
8
|
+
export declare function CoerceGetPageOperation(options: Readonly<CoerceGetPageOperationOptions>): import("@angular-devkit/schematics").Rule;
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CoerceGetPageOperation = void 0;
|
|
4
|
+
const coerce_operation_1 = require("./coerce-operation");
|
|
5
|
+
const schematics_utilities_1 = require("@rxap/schematics-utilities");
|
|
6
|
+
const coerce_page_dto_class_1 = require("./coerce-page-dto-class");
|
|
7
|
+
const coerce_row_dto_class_1 = require("./coerce-row-dto-class");
|
|
8
|
+
const coerce_imports_1 = require("../ts-morph/coerce-imports");
|
|
9
|
+
const schematics_1 = require("@angular-devkit/schematics");
|
|
10
|
+
function CoerceGetPageOperation(options) {
|
|
11
|
+
let { tsMorphTransform, name, columnList, controllerName, nestController } = options;
|
|
12
|
+
tsMorphTransform !== null && tsMorphTransform !== void 0 ? tsMorphTransform : (tsMorphTransform = () => ({}));
|
|
13
|
+
controllerName !== null && controllerName !== void 0 ? controllerName : (controllerName = nestController);
|
|
14
|
+
controllerName !== null && controllerName !== void 0 ? controllerName : (controllerName = name);
|
|
15
|
+
if (!controllerName) {
|
|
16
|
+
throw new schematics_1.SchematicsException('No controller name provided!');
|
|
17
|
+
}
|
|
18
|
+
controllerName = (0, schematics_utilities_1.CoerceSuffix)(controllerName, '-table');
|
|
19
|
+
return (0, coerce_operation_1.CoerceOperation)(Object.assign(Object.assign({}, options), {
|
|
20
|
+
// TODO : remove after migration to controllerName
|
|
21
|
+
name: controllerName, nestController: controllerName, controllerName, operationName: 'get-page', tsMorphTransform: (project, sourceFile, classDeclaration, controllerName) => {
|
|
22
|
+
const { className: rowClassName, filePath: rowFilePath, } = (0, coerce_row_dto_class_1.CoerceRowDtoClass)({
|
|
23
|
+
project,
|
|
24
|
+
name: controllerName,
|
|
25
|
+
propertyList: columnList.map(column => {
|
|
26
|
+
var _a;
|
|
27
|
+
return ({
|
|
28
|
+
name: column.name,
|
|
29
|
+
type: (_a = column.type) !== null && _a !== void 0 ? _a : 'unknown',
|
|
30
|
+
});
|
|
31
|
+
}),
|
|
32
|
+
});
|
|
33
|
+
const { className: pageClassName, filePath: pageFilePath, } = (0, coerce_page_dto_class_1.CoercePageDtoClass)({
|
|
34
|
+
project,
|
|
35
|
+
name: controllerName,
|
|
36
|
+
rowClassName,
|
|
37
|
+
rowFilePath,
|
|
38
|
+
});
|
|
39
|
+
(0, coerce_imports_1.CoerceImports)(sourceFile, [
|
|
40
|
+
{
|
|
41
|
+
namedImports: ['FilterQuery', 'FilterQueryPipe'],
|
|
42
|
+
moduleSpecifier: '@eurogard/service-nest-utilities',
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
namedImports: ['plainToInstance'],
|
|
46
|
+
moduleSpecifier: 'class-transformer',
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
namedImports: ['classTransformOptions'],
|
|
50
|
+
moduleSpecifier: '@rxap/nest/class-transformer/options',
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
namedImports: [pageClassName],
|
|
54
|
+
moduleSpecifier: `..${pageFilePath}`,
|
|
55
|
+
},
|
|
56
|
+
]);
|
|
57
|
+
return Object.assign({ queryList: [
|
|
58
|
+
{
|
|
59
|
+
name: 'pageIndex',
|
|
60
|
+
type: 'number',
|
|
61
|
+
defaultValue: '0',
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
name: 'pageSize',
|
|
65
|
+
type: 'number',
|
|
66
|
+
defaultValue: '5',
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
name: 'sortDirection',
|
|
70
|
+
type: 'string',
|
|
71
|
+
defaultValue: w => w.quote('desc'),
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
name: 'sortBy',
|
|
75
|
+
type: 'string',
|
|
76
|
+
defaultValue: w => w.quote('__updatedAt'),
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
name: 'filter',
|
|
80
|
+
type: 'FilterQuery[]',
|
|
81
|
+
pipeList: ['new FilterQueryPipe()'],
|
|
82
|
+
},
|
|
83
|
+
], returnType: pageClassName, statements: [
|
|
84
|
+
`const response = await ((() => { throw new NotImplementedException() })() as any).execute({
|
|
85
|
+
parameters: {
|
|
86
|
+
page: pageIndex,
|
|
87
|
+
size: pageSize,
|
|
88
|
+
sort: sortBy,
|
|
89
|
+
order: sortDirection,
|
|
90
|
+
filter: filter.map((item) => \`\${ item.column }:\${ item.filter }\`).join(';'),
|
|
91
|
+
},
|
|
92
|
+
});`,
|
|
93
|
+
`return plainToInstance(
|
|
94
|
+
${pageClassName},
|
|
95
|
+
{
|
|
96
|
+
total: response.maxCount ?? 0,
|
|
97
|
+
pageIndex,
|
|
98
|
+
pageSize,
|
|
99
|
+
sortBy,
|
|
100
|
+
sortDirection,
|
|
101
|
+
filter,
|
|
102
|
+
rows:
|
|
103
|
+
response.entities?.map((item) => ({
|
|
104
|
+
__rowId: item.uuid,
|
|
105
|
+
__archived: item.__archived,
|
|
106
|
+
__removedAt: item.__removedAt,
|
|
107
|
+
${columnList.map(column => `${(0, schematics_utilities_1.camelize)(column.name)}: item.${(0, schematics_utilities_1.camelize)(column.name)}`)
|
|
108
|
+
.join(',\n ')}
|
|
109
|
+
})) ?? [],
|
|
110
|
+
},
|
|
111
|
+
classTransformOptions,
|
|
112
|
+
);`,
|
|
113
|
+
] }, tsMorphTransform(project, sourceFile, classDeclaration, controllerName));
|
|
114
|
+
} }));
|
|
115
|
+
}
|
|
116
|
+
exports.CoerceGetPageOperation = CoerceGetPageOperation;
|
|
117
|
+
//# sourceMappingURL=coerce-get-page-operation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"coerce-get-page-operation.js","sourceRoot":"","sources":["../../../../../../libs/ts-morph/src/lib/nest/coerce-get-page-operation.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { CoerceOperationOptions } from './coerce-operation';
|
|
2
|
+
export interface CoerceGetRootOperationOptions extends Omit<CoerceOperationOptions, 'operationName'> {
|
|
3
|
+
}
|
|
4
|
+
export declare function CoerceGetRootOperation(options: Readonly<CoerceGetRootOperationOptions>): import("@angular-devkit/schematics").Rule;
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CoerceGetRootOperation = void 0;
|
|
4
|
+
const coerce_operation_1 = require("./coerce-operation");
|
|
5
|
+
const coerce_dto_class_1 = require("./coerce-dto-class");
|
|
6
|
+
const schematics_utilities_1 = require("@rxap/schematics-utilities");
|
|
7
|
+
const coerce_imports_1 = require("../ts-morph/coerce-imports");
|
|
8
|
+
const schematics_1 = require("@angular-devkit/schematics");
|
|
9
|
+
function CoerceGetRootOperation(options) {
|
|
10
|
+
let { tsMorphTransform, name, controllerName, nestController } = options;
|
|
11
|
+
tsMorphTransform !== null && tsMorphTransform !== void 0 ? tsMorphTransform : (tsMorphTransform = () => ({}));
|
|
12
|
+
controllerName !== null && controllerName !== void 0 ? controllerName : (controllerName = nestController);
|
|
13
|
+
controllerName !== null && controllerName !== void 0 ? controllerName : (controllerName = name);
|
|
14
|
+
if (!controllerName) {
|
|
15
|
+
throw new schematics_1.SchematicsException('No controller name provided!');
|
|
16
|
+
}
|
|
17
|
+
controllerName = (0, schematics_utilities_1.CoerceSuffix)(controllerName, '-tree-table');
|
|
18
|
+
return (0, coerce_operation_1.CoerceOperation)(Object.assign(Object.assign({}, options), {
|
|
19
|
+
// TODO : remove after migration to controllerName
|
|
20
|
+
name: controllerName, nestController: controllerName, controllerName, operationName: 'get-root', tsMorphTransform: (project, sourceFile, classDeclaration, controllerName) => {
|
|
21
|
+
const { className, filePath } = (0, coerce_dto_class_1.CoerceDtoClass)(project, (0, schematics_utilities_1.CoerceSuffix)(controllerName, '-item'), [
|
|
22
|
+
{ name: 'uuid', type: 'string' },
|
|
23
|
+
{ name: 'hasChildren', type: 'boolean' },
|
|
24
|
+
{
|
|
25
|
+
name: 'children',
|
|
26
|
+
type: (0, schematics_utilities_1.classify)((0, schematics_utilities_1.CoerceSuffix)(controllerName, '-item-dto')),
|
|
27
|
+
isArray: true,
|
|
28
|
+
isOptional: true,
|
|
29
|
+
isType: true,
|
|
30
|
+
},
|
|
31
|
+
]);
|
|
32
|
+
(0, coerce_imports_1.CoerceImports)(sourceFile, [
|
|
33
|
+
{
|
|
34
|
+
namedImports: ['plainToInstance'],
|
|
35
|
+
moduleSpecifier: 'class-transformer',
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
namedImports: ['classTransformOptions'],
|
|
39
|
+
moduleSpecifier: '@rxap/nest/class-transformer/options',
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
namedImports: [className],
|
|
43
|
+
moduleSpecifier: `..${filePath}`,
|
|
44
|
+
},
|
|
45
|
+
]);
|
|
46
|
+
return Object.assign({ returnType: className + '[]' }, tsMorphTransform(project, sourceFile, classDeclaration, controllerName));
|
|
47
|
+
} }));
|
|
48
|
+
}
|
|
49
|
+
exports.CoerceGetRootOperation = CoerceGetRootOperation;
|
|
50
|
+
//# sourceMappingURL=coerce-get-root-operation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"coerce-get-root-operation.js","sourceRoot":"","sources":["../../../../../../libs/ts-morph/src/lib/nest/coerce-get-root-operation.ts"],"names":[],"mappings":";;;AAAA,yDAA6E;AAC7E,yDAAoD;AACpD,qEAAoE;AACpE,+DAA2D;AAC3D,2DAA+D;AAK/D,SAAgB,sBAAsB,CAAC,OAAgD;IACrF,IAAI,EAAC,gBAAgB,EAAE,IAAI,EAAE,cAAc,EAAE,cAAc,EAAC,GAAG,OAAO,CAAC;IACvE,gBAAgB,aAAhB,gBAAgB,cAAhB,gBAAgB,IAAhB,gBAAgB,GAAK,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,EAAC;IAChC,cAAc,aAAd,cAAc,cAAd,cAAc,IAAd,cAAc,GAAK,cAAc,EAAC;IAClC,cAAc,aAAd,cAAc,cAAd,cAAc,IAAd,cAAc,GAAK,IAAI,EAAC;IACxB,IAAI,CAAC,cAAc,EAAE;QACnB,MAAM,IAAI,gCAAmB,CAAC,8BAA8B,CAAC,CAAC;KAC/D;IACD,cAAc,GAAiD,IAAA,mCAAY,EAAC,cAAc,EAAE,aAAa,CAAC,CAAC;IAC3G,OAAO,IAAA,kCAAe,kCACjB,OAAO;QACV,kDAAkD;QAClD,IAAI,EAAE,cAAc,EACpB,cAAc,EAAE,cAAc,EAC9B,cAAc,EACd,aAAa,EAAE,UAAU,EACzB,gBAAgB,EAAE,CAChB,OAAO,EACP,UAAU,EACV,gBAAgB,EAChB,cAAc,EACd,EAAE;YAEF,MAAM,EAAC,SAAS,EAAE,QAAQ,EAAC,GAAG,IAAA,iCAAc,EAC1C,OAAO,EACP,IAAA,mCAAY,EAAC,cAAc,EAAE,OAAO,CAAC,EACrC;gBACE,EAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAC;gBAC9B,EAAC,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,SAAS,EAAC;gBACtC;oBACE,IAAI,EAAE,UAAU;oBAChB,IAAI,EAAE,IAAA,+BAAQ,EAAC,IAAA,mCAAY,EAAC,cAAc,EAAE,WAAW,CAAC,CAAC;oBACzD,OAAO,EAAE,IAAI;oBACb,UAAU,EAAE,IAAI;oBAChB,MAAM,EAAE,IAAI;iBACb;aACF,CACF,CAAC;YAEF,IAAA,8BAAa,EAAC,UAAU,EAAE;gBACxB;oBACE,YAAY,EAAE,CAAE,iBAAiB,CAAE;oBACnC,eAAe,EAAE,mBAAmB;iBACrC;gBACD;oBACE,YAAY,EAAE,CAAE,uBAAuB,CAAE;oBACzC,eAAe,EAAE,sCAAsC;iBACxD;gBACD;oBACE,YAAY,EAAE,CAAE,SAAS,CAAE;oBAC3B,eAAe,EAAE,KAAM,QAAS,EAAE;iBACnC;aACF,CAAC,CAAC;YAEH,uBACE,UAAU,EAAE,SAAS,GAAG,IAAI,IACzB,gBAAiB,CAAC,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,cAAc,CAAC,EAC3E;QACJ,CAAC,IACD,CAAC;AACL,CAAC;AA5DD,wDA4DC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Rule } from '@angular-devkit/schematics';
|
|
2
|
+
export interface CoerceNestControllerOptions {
|
|
3
|
+
project: string;
|
|
4
|
+
feature?: string;
|
|
5
|
+
shared?: boolean;
|
|
6
|
+
name: string;
|
|
7
|
+
module?: string;
|
|
8
|
+
nestModule?: string;
|
|
9
|
+
}
|
|
10
|
+
export declare function CoerceNestController(options: CoerceNestControllerOptions): Rule;
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CoerceNestController = void 0;
|
|
4
|
+
const schematics_1 = require("@angular-devkit/schematics");
|
|
5
|
+
const coerce_nest_module_1 = require("./coerce-nest-module");
|
|
6
|
+
const coerce_nest_service_project_1 = require("./coerce-nest-service-project");
|
|
7
|
+
const has_nest_controller_1 = require("./has-nest-controller");
|
|
8
|
+
const project_utilities_1 = require("./project-utilities");
|
|
9
|
+
function CoerceNestController(options) {
|
|
10
|
+
let { name, module, nestModule } = options;
|
|
11
|
+
nestModule !== null && nestModule !== void 0 ? nestModule : (nestModule = module);
|
|
12
|
+
if (!nestModule) {
|
|
13
|
+
throw new schematics_1.SchematicsException('The property "nestModule" option is required for the CoerceNestController rule');
|
|
14
|
+
}
|
|
15
|
+
return (0, schematics_1.chain)([
|
|
16
|
+
(0, coerce_nest_service_project_1.CoerceNestServiceProject)(options),
|
|
17
|
+
(0, coerce_nest_module_1.CoerceNestModule)(Object.assign(Object.assign({}, options), { name: nestModule })),
|
|
18
|
+
tree => {
|
|
19
|
+
if (!(0, has_nest_controller_1.HasNestController)(tree, options)) {
|
|
20
|
+
console.log(`The project ${(0, project_utilities_1.buildNestProjectName)(options)} has not the controller '${name}'. The controller will now be created ...`);
|
|
21
|
+
return (0, schematics_1.externalSchematic)('@nrwl/nest', 'controller', {
|
|
22
|
+
name,
|
|
23
|
+
project: (0, project_utilities_1.buildNestProjectName)(options),
|
|
24
|
+
unitTestRunner: 'none',
|
|
25
|
+
flat: true,
|
|
26
|
+
directory: module,
|
|
27
|
+
module,
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
},
|
|
31
|
+
]);
|
|
32
|
+
}
|
|
33
|
+
exports.CoerceNestController = CoerceNestController;
|
|
34
|
+
//# sourceMappingURL=coerce-nest-controller.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"coerce-nest-controller.js","sourceRoot":"","sources":["../../../../../../libs/ts-morph/src/lib/nest/coerce-nest-controller.ts"],"names":[],"mappings":";;;AAAA,2DAAiG;AACjG,6DAAwD;AACxD,+EAAyE;AACzE,+DAA0D;AAC1D,2DAAyD;AAYzD,SAAgB,oBAAoB,CAAC,OAAoC;IACvE,IAAI,EAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAC,GAAG,OAAO,CAAC;IACzC,UAAU,aAAV,UAAU,cAAV,UAAU,IAAV,UAAU,GAAK,MAAM,EAAC;IACtB,IAAI,CAAC,UAAU,EAAE;QACf,MAAM,IAAI,gCAAmB,CAAC,gFAAgF,CAAC,CAAC;KACjH;IACD,OAAO,IAAA,kBAAK,EAAC;QACX,IAAA,sDAAwB,EAAC,OAAO,CAAC;QACjC,IAAA,qCAAgB,kCACX,OAAO,KACV,IAAI,EAAE,UAAU,IAChB;QACF,IAAI,CAAC,EAAE;YACL,IAAI,CAAC,IAAA,uCAAiB,EAAC,IAAI,EAAE,OAAO,CAAC,EAAE;gBACrC,OAAO,CAAC,GAAG,CAAC,eAAgB,IAAA,wCAAoB,EAAC,OAAO,CAAE,4BAA6B,IAAK,2CAA2C,CAAC,CAAC;gBACzI,OAAO,IAAA,8BAAiB,EACtB,YAAY,EACZ,YAAY,EACZ;oBACE,IAAI;oBACJ,OAAO,EAAE,IAAA,wCAAoB,EAAC,OAAO,CAAC;oBACtC,cAAc,EAAE,MAAM;oBACtB,IAAI,EAAE,IAAI;oBACV,SAAS,EAAE,MAAM;oBACjB,MAAM;iBACP,CACF,CAAC;aACH;QACH,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AA9BD,oDA8BC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CoerceNestModule = void 0;
|
|
4
|
+
const schematics_1 = require("@angular-devkit/schematics");
|
|
5
|
+
const coerce_nest_service_project_1 = require("./coerce-nest-service-project");
|
|
6
|
+
const has_nest_module_1 = require("./has-nest-module");
|
|
7
|
+
const add_nest_module_to_app_module_1 = require("./add-nest-module-to-app-module");
|
|
8
|
+
const project_utilities_1 = require("./project-utilities");
|
|
9
|
+
function CoerceNestModule(options) {
|
|
10
|
+
const { name } = options;
|
|
11
|
+
return (0, schematics_1.chain)([
|
|
12
|
+
(0, coerce_nest_service_project_1.CoerceNestServiceProject)(options),
|
|
13
|
+
tree => {
|
|
14
|
+
if (!(0, has_nest_module_1.HasNestModule)(tree, options)) {
|
|
15
|
+
console.log(`The project '${(0, project_utilities_1.buildNestProjectName)(options)}' has not the module '${name}'. The module will now be created ...`);
|
|
16
|
+
return (0, schematics_1.chain)([
|
|
17
|
+
(0, schematics_1.externalSchematic)('@nrwl/nest', 'module', {
|
|
18
|
+
name,
|
|
19
|
+
project: (0, project_utilities_1.buildNestProjectName)(options),
|
|
20
|
+
}),
|
|
21
|
+
(0, add_nest_module_to_app_module_1.AddNestModuleToAppModule)(options),
|
|
22
|
+
]);
|
|
23
|
+
}
|
|
24
|
+
},
|
|
25
|
+
]);
|
|
26
|
+
}
|
|
27
|
+
exports.CoerceNestModule = CoerceNestModule;
|
|
28
|
+
//# sourceMappingURL=coerce-nest-module.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"coerce-nest-module.js","sourceRoot":"","sources":["../../../../../../libs/ts-morph/src/lib/nest/coerce-nest-module.ts"],"names":[],"mappings":";;;AAAA,2DAA4E;AAC5E,+EAAyE;AACzE,uDAAkD;AAClD,mFAA2E;AAC3E,2DAAyD;AASzD,SAAgB,gBAAgB,CAAC,OAAgC;IAC/D,MAAM,EAAC,IAAI,EAAC,GAAG,OAAO,CAAC;IACvB,OAAO,IAAA,kBAAK,EAAC;QACX,IAAA,sDAAwB,EAAC,OAAO,CAAC;QACjC,IAAI,CAAC,EAAE;YACL,IAAI,CAAC,IAAA,+BAAa,EAAC,IAAI,EAAE,OAAO,CAAC,EAAE;gBACjC,OAAO,CAAC,GAAG,CAAC,gBAAiB,IAAA,wCAAoB,EAAC,OAAO,CAAE,yBAA0B,IAAK,uCAAuC,CAAC,CAAC;gBACnI,OAAO,IAAA,kBAAK,EAAC;oBACX,IAAA,8BAAiB,EACf,YAAY,EACZ,QAAQ,EACR;wBACE,IAAI;wBACJ,OAAO,EAAE,IAAA,wCAAoB,EAAC,OAAO,CAAC;qBACvC,CACF;oBACD,IAAA,wDAAwB,EAAC,OAAO,CAAC;iBAClC,CAAC,CAAC;aACJ;QACH,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AArBD,4CAqBC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CoerceNestServiceProject = void 0;
|
|
4
|
+
const schematics_1 = require("@angular-devkit/schematics");
|
|
5
|
+
const project_utilities_1 = require("./project-utilities");
|
|
6
|
+
function CoerceNestServiceProject(options) {
|
|
7
|
+
const { project, feature, shared } = options;
|
|
8
|
+
return tree => {
|
|
9
|
+
if (!(0, project_utilities_1.HasNestServiceProject)(tree, options)) {
|
|
10
|
+
console.log(`The nest service project '${(0, project_utilities_1.buildNestProjectName)(options)}' does not exists. Project will now be created ...`);
|
|
11
|
+
if (feature) {
|
|
12
|
+
if (shared) {
|
|
13
|
+
return (0, schematics_1.schematic)('feature-microservice', {
|
|
14
|
+
feature,
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
else {
|
|
18
|
+
return (0, schematics_1.schematic)('frontend-microservice', {
|
|
19
|
+
frontend: project,
|
|
20
|
+
feature,
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
else {
|
|
25
|
+
return (0, schematics_1.schematic)('microservice', {
|
|
26
|
+
project,
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
exports.CoerceNestServiceProject = CoerceNestServiceProject;
|
|
33
|
+
//# sourceMappingURL=coerce-nest-service-project.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"coerce-nest-service-project.js","sourceRoot":"","sources":["../../../../../../libs/ts-morph/src/lib/nest/coerce-nest-service-project.ts"],"names":[],"mappings":";;;AAAA,2DAA6D;AAC7D,2DAAgF;AAQhF,SAAgB,wBAAwB,CAAC,OAAwC;IAC/E,MAAM,EAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAC,GAAG,OAAO,CAAC;IAC3C,OAAO,IAAI,CAAC,EAAE;QACZ,IAAI,CAAC,IAAA,yCAAqB,EAAC,IAAI,EAAE,OAAO,CAAC,EAAE;YACzC,OAAO,CAAC,GAAG,CAAC,6BAA8B,IAAA,wCAAoB,EAAC,OAAO,CAAE,oDAAoD,CAAC,CAAC;YAC9H,IAAI,OAAO,EAAE;gBACX,IAAI,MAAM,EAAE;oBACV,OAAO,IAAA,sBAAS,EACd,sBAAsB,EACtB;wBACE,OAAO;qBACR,CACF,CAAC;iBACH;qBAAM;oBACL,OAAO,IAAA,sBAAS,EACd,uBAAuB,EACvB;wBACE,QAAQ,EAAE,OAAO;wBACjB,OAAO;qBACR,CACF,CAAC;iBACH;aACF;iBAAM;gBACL,OAAO,IAAA,sBAAS,EACd,cAAc,EACd;oBACE,OAAO;iBACR,CACF,CAAC;aACH;SACF;IACH,CAAC,CAAC;AACJ,CAAC;AAhCD,4DAgCC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { Rule } from '@angular-devkit/schematics';
|
|
2
|
+
import { ClassDeclaration, Project, SourceFile } from 'ts-morph';
|
|
3
|
+
import { OperationOptions, OperationParameter } from "../add-operation-to-controller";
|
|
4
|
+
export interface CoerceOperationOptions {
|
|
5
|
+
/**
|
|
6
|
+
* @deprecated use controllerName instead
|
|
7
|
+
*/
|
|
8
|
+
name?: string;
|
|
9
|
+
controllerName?: string;
|
|
10
|
+
nestController?: string;
|
|
11
|
+
project: string;
|
|
12
|
+
feature?: string;
|
|
13
|
+
shared?: boolean;
|
|
14
|
+
/**
|
|
15
|
+
* @deprecated use nestModule instead
|
|
16
|
+
*/
|
|
17
|
+
module?: string;
|
|
18
|
+
nestModule?: string;
|
|
19
|
+
skipCoerce?: boolean;
|
|
20
|
+
paramList?: OperationParameter[];
|
|
21
|
+
queryList?: OperationParameter[];
|
|
22
|
+
tsMorphTransform?: (project: Project, sourceFile: SourceFile, classDeclaration: ClassDeclaration, controllerName: string) => Partial<OperationOptions>;
|
|
23
|
+
operationName: string;
|
|
24
|
+
path?: string;
|
|
25
|
+
controllerPath?: string;
|
|
26
|
+
}
|
|
27
|
+
export declare function CoerceOperation(options: CoerceOperationOptions): Rule;
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CoerceOperation = void 0;
|
|
4
|
+
const schematics_1 = require("@angular-devkit/schematics");
|
|
5
|
+
const coerce_nest_module_1 = require("./coerce-nest-module");
|
|
6
|
+
const coerce_nest_controller_1 = require("./coerce-nest-controller");
|
|
7
|
+
const ts_morph_transform_1 = require("../ts-morph-transform");
|
|
8
|
+
const schematics_utilities_1 = require("@rxap/schematics-utilities");
|
|
9
|
+
const build_nest_controller_name_1 = require("./build-nest-controller-name");
|
|
10
|
+
const coerce_imports_1 = require("../ts-morph/coerce-imports");
|
|
11
|
+
const add_operation_to_controller_1 = require("../add-operation-to-controller");
|
|
12
|
+
function CoerceOperation(options) {
|
|
13
|
+
let { nestModule, nestController, controllerName, name, project, module, paramList, feature, shared, tsMorphTransform, operationName, skipCoerce, controllerPath, queryList, path, } = options;
|
|
14
|
+
nestModule !== null && nestModule !== void 0 ? nestModule : (nestModule = module);
|
|
15
|
+
tsMorphTransform !== null && tsMorphTransform !== void 0 ? tsMorphTransform : (tsMorphTransform = () => ({}));
|
|
16
|
+
controllerName !== null && controllerName !== void 0 ? controllerName : (controllerName = name);
|
|
17
|
+
controllerName !== null && controllerName !== void 0 ? controllerName : (controllerName = nestController);
|
|
18
|
+
paramList !== null && paramList !== void 0 ? paramList : (paramList = []);
|
|
19
|
+
queryList !== null && queryList !== void 0 ? queryList : (queryList = []);
|
|
20
|
+
/**
|
|
21
|
+
* If the module is not specified. This controller has an own module. Else the
|
|
22
|
+
* module is originated by another controller.
|
|
23
|
+
*
|
|
24
|
+
* **Example**
|
|
25
|
+
* true:
|
|
26
|
+
* The controller ReportDetailsController should be extended with getById Operation.
|
|
27
|
+
* And the controller is used in the module ReportDetailsModule
|
|
28
|
+
*
|
|
29
|
+
* name = "report-details"
|
|
30
|
+
* module = undefined
|
|
31
|
+
*
|
|
32
|
+
* false:
|
|
33
|
+
* The controller ReportDetailsNotificationController should be extend with getById Operation.
|
|
34
|
+
* And the controller ise used in the module ReportDetailsModule
|
|
35
|
+
*
|
|
36
|
+
* name = "notification"
|
|
37
|
+
* module = "report-details"
|
|
38
|
+
*/
|
|
39
|
+
let isFirstBornSibling = !nestModule || nestModule === controllerName;
|
|
40
|
+
controllerName = (0, build_nest_controller_name_1.BuildNestControllerName)({
|
|
41
|
+
controllerName,
|
|
42
|
+
nestModule,
|
|
43
|
+
});
|
|
44
|
+
if (isFirstBornSibling) {
|
|
45
|
+
nestModule = controllerName;
|
|
46
|
+
}
|
|
47
|
+
console.log(`Coerce Operation '${operationName}' with path '${path}' in the controller '${controllerName}' in the module '${nestModule}'`);
|
|
48
|
+
if (!nestModule) {
|
|
49
|
+
throw new schematics_1.SchematicsException('FATAL: the nestModule property is not defined');
|
|
50
|
+
}
|
|
51
|
+
return (0, schematics_1.chain)([
|
|
52
|
+
skipCoerce ? (0, schematics_1.noop)() : (0, schematics_1.chain)([
|
|
53
|
+
(0, coerce_nest_module_1.CoerceNestModule)({ project, feature, shared, name: nestModule }),
|
|
54
|
+
(0, coerce_nest_controller_1.CoerceNestController)(Object.assign(Object.assign({}, options), { name: controllerName, module: nestModule })),
|
|
55
|
+
]),
|
|
56
|
+
(0, ts_morph_transform_1.TsMorphNestProjectTransform)(options, project => {
|
|
57
|
+
const sourceFile = project.getSourceFileOrThrow(`/${nestModule}/${controllerName}.controller.ts`);
|
|
58
|
+
const classDeclaration = sourceFile.getClassOrThrow(`${(0, schematics_utilities_1.classify)(controllerName)}Controller`);
|
|
59
|
+
const operationOptions = tsMorphTransform(project, sourceFile, classDeclaration, controllerName);
|
|
60
|
+
if (controllerPath) {
|
|
61
|
+
classDeclaration.getDecoratorOrThrow('Controller').set({
|
|
62
|
+
arguments: [w => w.quote(`${nestModule}/${controllerPath}`)],
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
else if (!isFirstBornSibling) {
|
|
66
|
+
const parentParamList = paramList.filter(p => p.fromParent);
|
|
67
|
+
classDeclaration.getDecoratorOrThrow('Controller').set({
|
|
68
|
+
arguments: [w => w.quote(`${nestModule}/${parentParamList.length ?
|
|
69
|
+
parentParamList.map(param => `:${param.name}`).join('/') + '/' :
|
|
70
|
+
''}${controllerName.replace(nestModule + '-', '')}`)],
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
(0, coerce_imports_1.CoerceImports)(sourceFile, (0, add_operation_to_controller_1.AddOperationToController)(classDeclaration, operationName, Object.assign({ isAsync: true, paramList,
|
|
74
|
+
queryList,
|
|
75
|
+
path }, operationOptions)));
|
|
76
|
+
}),
|
|
77
|
+
]);
|
|
78
|
+
}
|
|
79
|
+
exports.CoerceOperation = CoerceOperation;
|
|
80
|
+
//# sourceMappingURL=coerce-operation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"coerce-operation.js","sourceRoot":"","sources":["../../../../../../libs/ts-morph/src/lib/nest/coerce-operation.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { ClassDeclarationStructure, ImportDeclarationStructure, OptionalKind, Project } from 'ts-morph';
|
|
2
|
+
import { DtoClassProperty } from "../create-dto-class";
|
|
3
|
+
export interface CoercePageDtoClassOptions {
|
|
4
|
+
project: Project;
|
|
5
|
+
name: string;
|
|
6
|
+
propertyList?: DtoClassProperty[];
|
|
7
|
+
classStructure?: Omit<OptionalKind<ClassDeclarationStructure>, 'name'>;
|
|
8
|
+
importStructureList?: Array<OptionalKind<ImportDeclarationStructure>>;
|
|
9
|
+
rowClassName: string;
|
|
10
|
+
rowFilePath: string;
|
|
11
|
+
}
|
|
12
|
+
export declare function CoercePageDtoClass(options: CoercePageDtoClassOptions): import("./coerce-dto-class").CoerceDtoClassOutput;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CoercePageDtoClass = void 0;
|
|
4
|
+
const coerce_dto_class_1 = require("./coerce-dto-class");
|
|
5
|
+
const schematics_utilities_1 = require("@rxap/schematics-utilities");
|
|
6
|
+
const path_1 = require("path");
|
|
7
|
+
function CoercePageDtoClass(options) {
|
|
8
|
+
let { project, name, propertyList, classStructure, importStructureList, rowClassName, rowFilePath } = options;
|
|
9
|
+
importStructureList !== null && importStructureList !== void 0 ? importStructureList : (importStructureList = []);
|
|
10
|
+
importStructureList.push({
|
|
11
|
+
namedImports: ['PageDto'],
|
|
12
|
+
moduleSpecifier: '@eurogard/service-nest-utilities',
|
|
13
|
+
}, {
|
|
14
|
+
namedImports: [rowClassName],
|
|
15
|
+
moduleSpecifier: `./${(0, path_1.basename)(rowFilePath)}`,
|
|
16
|
+
});
|
|
17
|
+
classStructure !== null && classStructure !== void 0 ? classStructure : (classStructure = {});
|
|
18
|
+
classStructure.extends = `PageDto<${rowClassName}>`;
|
|
19
|
+
propertyList !== null && propertyList !== void 0 ? propertyList : (propertyList = [{
|
|
20
|
+
name: 'rows',
|
|
21
|
+
type: rowClassName,
|
|
22
|
+
isArray: true,
|
|
23
|
+
isType: true,
|
|
24
|
+
}]);
|
|
25
|
+
propertyList.push();
|
|
26
|
+
return (0, coerce_dto_class_1.CoerceDtoClass)(project, (0, schematics_utilities_1.CoerceSuffix)(name, '-page'), propertyList, classStructure, importStructureList);
|
|
27
|
+
}
|
|
28
|
+
exports.CoercePageDtoClass = CoercePageDtoClass;
|
|
29
|
+
//# sourceMappingURL=coerce-page-dto-class.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"coerce-page-dto-class.js","sourceRoot":"","sources":["../../../../../../libs/ts-morph/src/lib/nest/coerce-page-dto-class.ts"],"names":[],"mappings":";;;AAAA,yDAAoD;AACpD,qEAA0D;AAC1D,+BAAgC;AAchC,SAAgB,kBAAkB,CAAC,OAAkC;IACnE,IAAI,EAAC,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,cAAc,EAAE,mBAAmB,EAAE,YAAY,EAAE,WAAW,EAAC,GAAG,OAAO,CAAC;IAC5G,mBAAmB,aAAnB,mBAAmB,cAAnB,mBAAmB,IAAnB,mBAAmB,GAAK,EAAE,EAAC;IAC3B,mBAAmB,CAAC,IAAI,CACtB;QACE,YAAY,EAAE,CAAE,SAAS,CAAE;QAC3B,eAAe,EAAE,kCAAkC;KACpD,EACD;QACE,YAAY,EAAE,CAAE,YAAY,CAAE;QAC9B,eAAe,EAAE,KAAM,IAAA,eAAQ,EAAC,WAAW,CAAE,EAAE;KAChD,CACF,CAAC;IACF,cAAc,aAAd,cAAc,cAAd,cAAc,IAAd,cAAc,GAAK,EAAE,EAAC;IACtB,cAAc,CAAC,OAAO,GAAG,WAAY,YAAa,GAAG,CAAC;IACtD,YAAY,aAAZ,YAAY,cAAZ,YAAY,IAAZ,YAAY,GAAK,CAAE;YACjB,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,YAAY;YAClB,OAAO,EAAE,IAAI;YACb,MAAM,EAAE,IAAI;SACb,CAAE,EAAC;IACJ,YAAY,CAAC,IAAI,EAAE,CAAC;IACpB,OAAO,IAAA,iCAAc,EACnB,OAAO,EACP,IAAA,mCAAY,EAAC,IAAI,EAAE,OAAO,CAAC,EAC3B,YAAY,EACZ,cAAc,EACd,mBAAmB,CACpB,CAAC;AACJ,CAAC;AA7BD,gDA6BC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { ClassDeclarationStructure, ImportDeclarationStructure, OptionalKind, Project } from 'ts-morph';
|
|
2
|
+
import { DtoClassProperty } from "../create-dto-class";
|
|
3
|
+
export interface CoerceRowDtoClassOptions {
|
|
4
|
+
project: Project;
|
|
5
|
+
name: string;
|
|
6
|
+
propertyList?: DtoClassProperty[];
|
|
7
|
+
classStructure?: Omit<OptionalKind<ClassDeclarationStructure>, 'name'>;
|
|
8
|
+
importStructureList?: Array<OptionalKind<ImportDeclarationStructure>>;
|
|
9
|
+
}
|
|
10
|
+
export declare function CoerceRowDtoClass(options: CoerceRowDtoClassOptions): import("./coerce-dto-class").CoerceDtoClassOutput;
|