@rxap/schematics-ts-morph 16.1.0-dev.2 → 16.1.0-dev.20

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.
Files changed (118) hide show
  1. package/CHANGELOG.md +129 -0
  2. package/README.md +1 -1
  3. package/package.json +14 -12
  4. package/src/index.d.ts +8 -2
  5. package/src/index.js +8 -2
  6. package/src/index.js.map +1 -1
  7. package/src/lib/angular/coerce-component.d.ts +4 -1
  8. package/src/lib/angular/coerce-component.js +15 -7
  9. package/src/lib/angular/coerce-component.js.map +1 -1
  10. package/src/lib/angular/coerce-dialog-table-action-component.js +2 -2
  11. package/src/lib/angular/coerce-dialog-table-action-component.js.map +1 -1
  12. package/src/lib/angular/coerce-form-definition-array.d.ts +14 -0
  13. package/src/lib/angular/coerce-form-definition-array.js +87 -0
  14. package/src/lib/angular/coerce-form-definition-array.js.map +1 -0
  15. package/src/lib/angular/coerce-form-definition-control.d.ts +9 -12
  16. package/src/lib/angular/coerce-form-definition-control.js +68 -125
  17. package/src/lib/angular/coerce-form-definition-control.js.map +1 -1
  18. package/src/lib/angular/coerce-form-definition-form-control.d.ts +11 -0
  19. package/src/lib/angular/coerce-form-definition-form-control.js +66 -0
  20. package/src/lib/angular/coerce-form-definition-form-control.js.map +1 -0
  21. package/src/lib/angular/coerce-form-definition-group.d.ts +14 -0
  22. package/src/lib/angular/coerce-form-definition-group.js +80 -0
  23. package/src/lib/angular/coerce-form-definition-group.js.map +1 -0
  24. package/src/lib/angular/coerce-form-definition-type.d.ts +2 -2
  25. package/src/lib/angular/coerce-form-definition-type.js +16 -2
  26. package/src/lib/angular/coerce-form-definition-type.js.map +1 -1
  27. package/src/lib/angular/coerce-form-definition.d.ts +4 -4
  28. package/src/lib/angular/coerce-form-definition.js +24 -13
  29. package/src/lib/angular/coerce-form-definition.js.map +1 -1
  30. package/src/lib/angular/coerce-options-data-source.d.ts +3 -1
  31. package/src/lib/angular/coerce-options-data-source.js +35 -6
  32. package/src/lib/angular/coerce-options-data-source.js.map +1 -1
  33. package/src/lib/angular/coerce-proxy-remote-method-class.d.ts +4 -2
  34. package/src/lib/angular/coerce-proxy-remote-method-class.js +54 -35
  35. package/src/lib/angular/coerce-proxy-remote-method-class.js.map +1 -1
  36. package/src/lib/angular/coerce-table-parameters-from-route.js +4 -4
  37. package/src/lib/angular/coerce-table-parameters-from-route.js.map +1 -1
  38. package/src/lib/angular/coerce-table-select-resolve-value-method.js +2 -2
  39. package/src/lib/angular/coerce-table-select-resolve-value-method.js.map +1 -1
  40. package/src/lib/angular/coerce-tree-table-children-proxy-remote-method-class.js +2 -2
  41. package/src/lib/angular/coerce-tree-table-children-proxy-remote-method-class.js.map +1 -1
  42. package/src/lib/angular/coerce-tree-table-root-proxy-remote-method-class.d.ts +1 -0
  43. package/src/lib/angular/coerce-tree-table-root-proxy-remote-method-class.js +10 -3
  44. package/src/lib/angular/coerce-tree-table-root-proxy-remote-method-class.js.map +1 -1
  45. package/src/lib/angular/form-definition-utilities.d.ts +1 -0
  46. package/src/lib/angular/form-definition-utilities.js +7 -3
  47. package/src/lib/angular/form-definition-utilities.js.map +1 -1
  48. package/src/lib/nest/add-operation-to-controller.d.ts +1 -1
  49. package/src/lib/nest/add-operation-to-controller.js +59 -55
  50. package/src/lib/nest/add-operation-to-controller.js.map +1 -1
  51. package/src/lib/nest/build-nest-controller-name.js +10 -0
  52. package/src/lib/nest/build-nest-controller-name.js.map +1 -1
  53. package/src/lib/nest/coerce-autocomplete-options-operation.d.ts +12 -0
  54. package/src/lib/nest/coerce-autocomplete-options-operation.js +65 -0
  55. package/src/lib/nest/coerce-autocomplete-options-operation.js.map +1 -0
  56. package/src/lib/nest/coerce-autocomplete-table-select-value-resolve-operation.d.ts +7 -0
  57. package/src/lib/nest/coerce-autocomplete-table-select-value-resolve-operation.js +16 -0
  58. package/src/lib/nest/coerce-autocomplete-table-select-value-resolve-operation.js.map +1 -0
  59. package/src/lib/nest/coerce-dto-class.d.ts +3 -15
  60. package/src/lib/nest/coerce-dto-class.js +186 -149
  61. package/src/lib/nest/coerce-dto-class.js.map +1 -1
  62. package/src/lib/nest/coerce-form-submit-operation.d.ts +2 -4
  63. package/src/lib/nest/coerce-form-submit-operation.js +14 -15
  64. package/src/lib/nest/coerce-form-submit-operation.js.map +1 -1
  65. package/src/lib/nest/coerce-get-by-id-operation.d.ts +9 -7
  66. package/src/lib/nest/coerce-get-by-id-operation.js +85 -56
  67. package/src/lib/nest/coerce-get-by-id-operation.js.map +1 -1
  68. package/src/lib/nest/coerce-get-children-operation.js +8 -43
  69. package/src/lib/nest/coerce-get-children-operation.js.map +1 -1
  70. package/src/lib/nest/coerce-get-data-grid-operation.d.ts +5 -4
  71. package/src/lib/nest/coerce-get-data-grid-operation.js +7 -22
  72. package/src/lib/nest/coerce-get-data-grid-operation.js.map +1 -1
  73. package/src/lib/nest/coerce-get-operation.d.ts +5 -0
  74. package/src/lib/nest/coerce-get-operation.js +11 -0
  75. package/src/lib/nest/coerce-get-operation.js.map +1 -0
  76. package/src/lib/nest/coerce-get-page-operation.d.ts +17 -28
  77. package/src/lib/nest/coerce-get-page-operation.js +118 -112
  78. package/src/lib/nest/coerce-get-page-operation.js.map +1 -1
  79. package/src/lib/nest/coerce-get-root-operation.d.ts +6 -4
  80. package/src/lib/nest/coerce-get-root-operation.js +19 -26
  81. package/src/lib/nest/coerce-get-root-operation.js.map +1 -1
  82. package/src/lib/nest/coerce-operation.d.ts +32 -9
  83. package/src/lib/nest/coerce-operation.js +197 -29
  84. package/src/lib/nest/coerce-operation.js.map +1 -1
  85. package/src/lib/nest/coerce-options-operation.d.ts +6 -3
  86. package/src/lib/nest/coerce-options-operation.js +24 -43
  87. package/src/lib/nest/coerce-options-operation.js.map +1 -1
  88. package/src/lib/nest/coerce-page-dto-class.d.ts +3 -8
  89. package/src/lib/nest/coerce-page-dto-class.js +21 -20
  90. package/src/lib/nest/coerce-page-dto-class.js.map +1 -1
  91. package/src/lib/nest/coerce-row-dto-class.d.ts +3 -1
  92. package/src/lib/nest/coerce-row-dto-class.js +12 -10
  93. package/src/lib/nest/coerce-row-dto-class.js.map +1 -1
  94. package/src/lib/nest/coerce-submit-data-grid-operation.js +3 -7
  95. package/src/lib/nest/coerce-submit-data-grid-operation.js.map +1 -1
  96. package/src/lib/nest/coerce-table-select-operation.d.ts +4 -2
  97. package/src/lib/nest/coerce-table-select-operation.js +7 -14
  98. package/src/lib/nest/coerce-table-select-operation.js.map +1 -1
  99. package/src/lib/nest/coerce-table-select-value-resolve-operation.d.ts +9 -6
  100. package/src/lib/nest/coerce-table-select-value-resolve-operation.js +26 -33
  101. package/src/lib/nest/coerce-table-select-value-resolve-operation.js.map +1 -1
  102. package/src/lib/nest/coerce-tree-operation.js +36 -44
  103. package/src/lib/nest/coerce-tree-operation.js.map +1 -1
  104. package/src/lib/nest/dto-class-property.d.ts +11 -0
  105. package/src/lib/nest/dto-class-property.js +27 -0
  106. package/src/lib/nest/dto-class-property.js.map +1 -0
  107. package/src/lib/nest/table-query-list.js +10 -2
  108. package/src/lib/nest/table-query-list.js.map +1 -1
  109. package/src/lib/ts-morph/coerce-imports.js +1 -1
  110. package/src/lib/ts-morph/coerce-imports.js.map +1 -1
  111. package/src/lib/types/abstract-control.d.ts +8 -0
  112. package/src/lib/types/{form-definition-control.js → abstract-control.js} +1 -1
  113. package/src/lib/types/abstract-control.js.map +1 -0
  114. package/src/lib/nest/create-dto-class.d.ts +0 -24
  115. package/src/lib/nest/create-dto-class.js +0 -169
  116. package/src/lib/nest/create-dto-class.js.map +0 -1
  117. package/src/lib/types/form-definition-control.d.ts +0 -10
  118. package/src/lib/types/form-definition-control.js.map +0 -1
@@ -1,64 +1,93 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CoerceGetByIdOperation = void 0;
4
- const schematics_utilities_1 = require("@rxap/schematics-utilities");
5
- const ts_morph_1 = require("@rxap/ts-morph");
6
- const coerce_dto_class_1 = require("./coerce-dto-class");
7
- const coerce_operation_1 = require("./coerce-operation");
3
+ exports.CoerceGetByIdOperation = exports.BuiltGetByIdDtoDataMapperImplementation = exports.BuildUpstreamGetByIdParametersImplementation = void 0;
4
+ const utilities_1 = require("@rxap/utilities");
5
+ const ts_morph_1 = require("ts-morph");
6
+ const coerce_get_operation_1 = require("./coerce-get-operation");
7
+ function BuildUpstreamGetByIdParametersImplementation(classDeclaration, moduleSourceFile, dto, options) {
8
+ return () => {
9
+ const { idProperty } = options;
10
+ return idProperty ? `{ parameters: { ${idProperty.name} } }` : '';
11
+ };
12
+ }
13
+ exports.BuildUpstreamGetByIdParametersImplementation = BuildUpstreamGetByIdParametersImplementation;
14
+ function BuiltGetByIdDtoDataMapperImplementation(classDeclaration, moduleSourceFile, dto, options) {
15
+ const { propertyList = [], upstream, isArray, idProperty, } = options;
16
+ return () => {
17
+ var _a;
18
+ if (upstream) {
19
+ const mapper = {};
20
+ if (idProperty) {
21
+ mapper[idProperty.name] = idProperty.name;
22
+ }
23
+ for (const property of propertyList.filter(p => !idProperty || p.name !== idProperty.name)) {
24
+ mapper[property.name] = `data.${(_a = property.source) !== null && _a !== void 0 ? _a : property.name}`;
25
+ }
26
+ if (isArray) {
27
+ return w => {
28
+ w.write('data.map(item => (');
29
+ ts_morph_1.Writers.object(mapper)(w);
30
+ w.write('))');
31
+ };
32
+ }
33
+ else {
34
+ return ts_morph_1.Writers.object(mapper);
35
+ }
36
+ }
37
+ else {
38
+ if (isArray) {
39
+ return '[]';
40
+ }
41
+ if (idProperty) {
42
+ return `{ ${idProperty.name} }`;
43
+ }
44
+ return '{}';
45
+ }
46
+ };
47
+ }
48
+ exports.BuiltGetByIdDtoDataMapperImplementation = BuiltGetByIdDtoDataMapperImplementation;
8
49
  function CoerceGetByIdOperation(options) {
9
- const { controllerName, isArray, paramList = [], propertyList = [], idProperty = { name: 'uuid', type: 'string' }, operationName = 'getById', } = options;
10
- let { nestModule } = options;
11
- /**
12
- * If the module is not specified. This controller has an own module. Else the
13
- * module is originated by another controller.
14
- *
15
- * **Example**
16
- * true:
17
- * The controller ReportDetailsController should be extended with getById Operation.
18
- * And the controller is used in the module ReportDetailsModule
19
- *
20
- * name = "report-details"
21
- * module = undefined
22
- *
23
- * false:
24
- * The controller ReportDetailsNotificationController should be extend with getById Operation.
25
- * And the controller ise used in the module ReportDetailsModule
26
- *
27
- * name = "notification"
28
- * module = "report-details"
29
- */
30
- const isFirstBornSibling = !nestModule || nestModule === controllerName;
31
- if (isFirstBornSibling && !propertyList.some(param => param.name === idProperty.name)) {
32
- propertyList.unshift(idProperty);
33
- }
34
- if (isFirstBornSibling) {
35
- nestModule = controllerName;
36
- }
37
- if (!paramList.some(param => param.name === idProperty.name)) {
38
- paramList.push({
39
- name: idProperty.name,
40
- type: idProperty.type,
41
- alias: isFirstBornSibling ? undefined : (0, schematics_utilities_1.CoerceSuffix)(nestModule, '-' + idProperty.name),
42
- fromParent: !isFirstBornSibling,
43
- });
50
+ var _a, _b;
51
+ const { controllerName, paramList = [], propertyList = [], idProperty = { name: 'uuid', type: 'string' }, operationName = 'getById', nestModule, buildUpstreamGetParametersImplementation = BuildUpstreamGetByIdParametersImplementation, builtDtoDataMapperImplementation = BuiltGetByIdDtoDataMapperImplementation, } = options;
52
+ if (idProperty) {
53
+ /**
54
+ * If the module is not specified. This controller has an own module. Else the
55
+ * module is originated by another controller.
56
+ *
57
+ * **Example**
58
+ * true:
59
+ * The controller ReportDetailsController should be extended with getById Operation.
60
+ * And the controller is used in the module ReportDetailsModule
61
+ *
62
+ * name = "report-details"
63
+ * module = undefined
64
+ *
65
+ * false:
66
+ * The controller ReportDetailsNotificationController should be extend with getById Operation.
67
+ * And the controller ise used in the module ReportDetailsModule
68
+ *
69
+ * name = "notification"
70
+ * module = "report-details"
71
+ */
72
+ const isFirstBornSibling = !nestModule || nestModule === controllerName;
73
+ if (isFirstBornSibling) {
74
+ (0, utilities_1.CoerceArrayItems)(propertyList, [{
75
+ name: idProperty.name,
76
+ type: (_a = idProperty.type) !== null && _a !== void 0 ? _a : 'string',
77
+ isArray: idProperty.isArray,
78
+ }], (a, b) => a.name === b.name, true);
79
+ }
80
+ (0, utilities_1.CoerceArrayItems)(paramList, [{
81
+ name: idProperty.name,
82
+ type: idProperty.type,
83
+ fromParent: (_b = idProperty.fromParent) !== null && _b !== void 0 ? _b : !isFirstBornSibling,
84
+ }], (a, b) => a.name === b.name, true);
44
85
  }
45
- return (0, coerce_operation_1.CoerceOperation)(Object.assign(Object.assign({}, options), { nestModule,
46
- controllerName,
86
+ return (0, coerce_get_operation_1.CoerceGetOperation)(Object.assign(Object.assign({}, options), { operationName,
47
87
  paramList,
48
- operationName, tsMorphTransform: (project, sourceFile, classDeclaration, controllerName) => {
49
- const { className: dtoClassName, filePath: dtoFilePath, } = (0, coerce_dto_class_1.CoerceDtoClass)({
50
- project,
51
- name: controllerName,
52
- propertyList,
53
- });
54
- (0, ts_morph_1.CoerceImports)(sourceFile, {
55
- namedImports: [dtoClassName],
56
- moduleSpecifier: dtoFilePath,
57
- });
58
- return {
59
- returnType: dtoClassName + (isArray ? '[]' : ''),
60
- };
61
- } }));
88
+ propertyList,
89
+ buildUpstreamGetParametersImplementation,
90
+ builtDtoDataMapperImplementation }));
62
91
  }
63
92
  exports.CoerceGetByIdOperation = CoerceGetByIdOperation;
64
93
  //# sourceMappingURL=coerce-get-by-id-operation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"coerce-get-by-id-operation.js","sourceRoot":"","sources":["../../../../../../../packages/schematic/ts-morph/src/lib/nest/coerce-get-by-id-operation.ts"],"names":[],"mappings":";;;AAAA,qEAA0D;AAC1D,6CAA+C;AAC/C,yDAAoD;AACpD,yDAG4B;AAU5B,SAAgB,sBAAsB,CAAC,OAAuC;IAC5E,MAAM,EACJ,cAAc,EACd,OAAO,EACP,SAAS,GAAE,EAAE,EACb,YAAY,GAAG,EAAE,EACjB,UAAU,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,EAC7C,aAAa,GAAG,SAAS,GAC1B,GAAG,OAAO,CAAC;IACZ,IAAI,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;IAE7B;;;;;;;;;;;;;;;;;;OAkBG;IACH,MAAM,kBAAkB,GAAG,CAAC,UAAU,IAAI,UAAU,KAAK,cAAc,CAAC;IAExE,IAAI,kBAAkB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,UAAU,CAAC,IAAI,CAAC,EAAE;QACrF,YAAY,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;KAClC;IAED,IAAI,kBAAkB,EAAE;QACtB,UAAU,GAAG,cAAc,CAAC;KAC7B;IAED,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,UAAU,CAAC,IAAI,CAAC,EAAE;QAC5D,SAAS,CAAC,IAAI,CAAC;YACb,IAAI,EAAE,UAAU,CAAC,IAAI;YACrB,IAAI,EAAE,UAAU,CAAC,IAAI;YACrB,KAAK,EAAE,kBAAkB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAA,mCAAY,EAAC,UAAW,EAAE,GAAG,GAAG,UAAU,CAAC,IAAI,CAAC;YACxF,UAAU,EAAE,CAAC,kBAAkB;SAChC,CAAC,CAAC;KACJ;IAED,OAAO,IAAA,kCAAe,kCACjB,OAAO,KACV,UAAU;QACV,cAAc;QACd,SAAS;QACT,aAAa,EACb,gBAAgB,EAAE,CAChB,OAAO,EACP,UAAU,EACV,gBAAgB,EAChB,cAAc,EACd,EAAE;YAEF,MAAM,EACJ,SAAS,EAAE,YAAY,EACvB,QAAQ,EAAE,WAAW,GACtB,GAAG,IAAA,iCAAc,EAAC;gBACjB,OAAO;gBACP,IAAI,EAAE,cAAc;gBACpB,YAAY;aACb,CAAC,CAAC;YAEH,IAAA,wBAAa,EAAC,UAAU,EAAE;gBACxB,YAAY,EAAE,CAAE,YAAY,CAAE;gBAC9B,eAAe,EAAE,WAAW;aAC7B,CAAC,CAAC;YAEH,OAAO;gBACL,UAAU,EAAE,YAAY,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;aACjD,CAAC;QAEJ,CAAC,IACD,CAAC;AAEL,CAAC;AAnFD,wDAmFC"}
1
+ {"version":3,"file":"coerce-get-by-id-operation.js","sourceRoot":"","sources":["../../../../../../../packages/schematic/ts-morph/src/lib/nest/coerce-get-by-id-operation.ts"],"names":[],"mappings":"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"}
@@ -1,53 +1,18 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.CoerceGetChildrenOperation = void 0;
4
- const schematics_utilities_1 = require("@rxap/schematics-utilities");
5
4
  const utilities_1 = require("@rxap/utilities");
6
- const coerce_imports_1 = require("../ts-morph/coerce-imports");
7
- const coerce_dto_class_1 = require("./coerce-dto-class");
8
- const coerce_operation_1 = require("./coerce-operation");
9
- const table_query_list_1 = require("./table-query-list");
5
+ const coerce_get_root_operation_1 = require("./coerce-get-root-operation");
10
6
  function CoerceGetChildrenOperation(options) {
11
- const { tsMorphTransform = utilities_1.noop, paramList = [], propertyList = [], } = options;
12
- let { controllerName } = options;
13
- (0, utilities_1.CoerceArrayItems)(propertyList, [
7
+ const { paramList = [], operationName = 'get-children', } = options;
8
+ (0, utilities_1.CoerceArrayItems)(paramList, [
14
9
  {
15
- name: 'hasChildren',
16
- type: 'boolean',
17
- },
18
- {
19
- name: 'children',
20
- type: '<self>',
21
- isArray: true,
22
- isOptional: true,
23
- isType: true,
24
- },
10
+ name: 'parentUuid',
11
+ type: 'string',
12
+ }
25
13
  ], (a, b) => a.name === b.name);
26
- controllerName = (0, schematics_utilities_1.CoerceSuffix)(controllerName, '-tree-table');
27
- paramList.push({
28
- name: 'parentUuid',
29
- type: 'string',
30
- });
31
- return (0, coerce_operation_1.CoerceOperation)(Object.assign(Object.assign({}, options), {
32
- // TODO : remove after migration to controllerName
33
- controllerName, operationName: 'get-children', paramList, tsMorphTransform: (project, sourceFile, classDeclaration, controllerName) => {
34
- const { className, filePath, } = (0, coerce_dto_class_1.CoerceDtoClass)({
35
- project,
36
- name: (0, schematics_utilities_1.CoerceSuffix)(controllerName, '-item'),
37
- propertyList,
38
- });
39
- (0, coerce_imports_1.CoerceImports)(sourceFile, [
40
- {
41
- namedImports: ['FilterQuery', 'FilterQueryPipe'],
42
- moduleSpecifier: '@rxap/nest-utilities',
43
- },
44
- {
45
- namedImports: [className],
46
- moduleSpecifier: filePath,
47
- },
48
- ]);
49
- return Object.assign({ queryList: table_query_list_1.TABLE_QUERY_LIST, returnType: className + '[]' }, tsMorphTransform(project, sourceFile, classDeclaration, controllerName));
50
- } }));
14
+ return (0, coerce_get_root_operation_1.CoerceGetRootOperation)(Object.assign(Object.assign({}, options), { operationName,
15
+ paramList }));
51
16
  }
52
17
  exports.CoerceGetChildrenOperation = CoerceGetChildrenOperation;
53
18
  //# sourceMappingURL=coerce-get-children-operation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"coerce-get-children-operation.js","sourceRoot":"","sources":["../../../../../../../packages/schematic/ts-morph/src/lib/nest/coerce-get-children-operation.ts"],"names":[],"mappings":";;;AAAA,qEAGoC;AACpC,+CAGyB;AACzB,+DAA2D;AAC3D,yDAAoD;AAEpD,yDAG4B;AAC5B,yDAAsD;AAItD,SAAgB,0BAA0B,CAAC,OAAoD;IAC7F,MAAM,EACJ,gBAAgB,GAAG,gBAAI,EACvB,SAAS,GAAG,EAAE,EACd,YAAY,GAAG,EAAE,GAClB,GAAG,OAAO,CAAC;IACZ,IAAI,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC;IACjC,IAAA,4BAAgB,EAAC,YAAY,EAAE;QAC7B;YACE,IAAI,EAAE,aAAa;YACnB,IAAI,EAAE,SAAS;SAChB;QACD;YACE,IAAI,EAAE,UAAU;YAChB,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,IAAI;YACb,UAAU,EAAE,IAAI;YAChB,MAAM,EAAE,IAAI;SACb;KACF,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC;IAChC,cAAc,GAAG,IAAA,mCAAY,EAAC,cAAc,EAAE,aAAa,CAAC,CAAC;IAC7D,SAAS,CAAC,IAAI,CAAC;QACb,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE,QAAQ;KACf,CAAC,CAAC;IACH,OAAO,IAAA,kCAAe,kCACjB,OAAO;QACV,kDAAkD;QAClD,cAAc,EACd,aAAa,EAAE,cAAc,EAC7B,SAAS,EACT,gBAAgB,EAAE,CAChB,OAAO,EACP,UAAU,EACV,gBAAgB,EAChB,cAAc,EACd,EAAE;YAEF,MAAM,EACJ,SAAS,EACT,QAAQ,GACT,GAAG,IAAA,iCAAc,EAAC;gBACjB,OAAO;gBACP,IAAI,EAAE,IAAA,mCAAY,EAAC,cAAc,EAAE,OAAO,CAAC;gBAC3C,YAAY;aACb,CAAC,CAAC;YAEH,IAAA,8BAAa,EAAC,UAAU,EAAE;gBACxB;oBACE,YAAY,EAAE,CAAE,aAAa,EAAE,iBAAiB,CAAE;oBAClD,eAAe,EAAE,sBAAsB;iBACxC;gBACD;oBACE,YAAY,EAAE,CAAE,SAAS,CAAE;oBAC3B,eAAe,EAAE,QAAQ;iBAC1B;aACF,CAAC,CAAC;YAEH,uBACE,SAAS,EAAE,mCAAgB,EAC3B,UAAU,EAAE,SAAS,GAAG,IAAI,IACzB,gBAAiB,CAAC,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,cAAc,CAAC,EAC3E;QACJ,CAAC,IACD,CAAC;AACL,CAAC;AAjED,gEAiEC"}
1
+ {"version":3,"file":"coerce-get-children-operation.js","sourceRoot":"","sources":["../../../../../../../packages/schematic/ts-morph/src/lib/nest/coerce-get-children-operation.ts"],"names":[],"mappings":";;;AAAA,+CAAmD;AACnD,2EAGqC;AAIrC,SAAgB,0BAA0B,CAAC,OAAoD;IAC7F,MAAM,EACJ,SAAS,GAAG,EAAE,EACd,aAAa,GAAG,cAAc,GAC/B,GAAG,OAAO,CAAC;IACZ,IAAA,4BAAgB,EAAC,SAAS,EAAE;QAC1B;YACA,IAAI,EAAE,YAAY;YAClB,IAAI,EAAE,QAAQ;SACb;KACF,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC;IAChC,OAAO,IAAA,kDAAsB,kCACxB,OAAO,KACV,aAAa;QACb,SAAS,IACT,CAAC;AACL,CAAC;AAhBD,gEAgBC"}
@@ -1,7 +1,8 @@
1
- import { CoerceOperationOptions } from './coerce-operation';
2
- import { DtoClassProperty } from './create-dto-class';
3
- export interface CoerceGetDataGridOperationOptions extends Omit<CoerceOperationOptions, 'operationName'> {
1
+ import { CoerceGetByIdControllerOptions } from './coerce-get-by-id-operation';
2
+ export interface CoerceGetDataGridOperationOptions extends CoerceGetByIdControllerOptions {
3
+ /**
4
+ * @deprecated use isArray instead
5
+ */
4
6
  collection?: boolean;
5
- propertyList?: DtoClassProperty[];
6
7
  }
7
8
  export declare function CoerceGetDataGridOperation(options: Readonly<CoerceGetDataGridOperationOptions>): import("@angular-devkit/schematics").Rule;
@@ -1,29 +1,14 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.CoerceGetDataGridOperation = void 0;
4
- const schematics_utilities_1 = require("@rxap/schematics-utilities");
5
- const coerce_imports_1 = require("../ts-morph/coerce-imports");
6
- const coerce_dto_class_1 = require("./coerce-dto-class");
7
- const coerce_operation_1 = require("./coerce-operation");
4
+ const coerce_get_by_id_operation_1 = require("./coerce-get-by-id-operation");
8
5
  function CoerceGetDataGridOperation(options) {
9
- let { tsMorphTransform, collection, propertyList, controllerName, } = options;
10
- collection !== null && collection !== void 0 ? collection : (collection = false);
11
- tsMorphTransform !== null && tsMorphTransform !== void 0 ? tsMorphTransform : (tsMorphTransform = () => ({}));
12
- propertyList !== null && propertyList !== void 0 ? propertyList : (propertyList = []);
13
- controllerName =
14
- (0, schematics_utilities_1.CoerceSuffix)(controllerName, '-data-grid');
15
- return (0, coerce_operation_1.CoerceOperation)(Object.assign(Object.assign({}, options), { controllerName, operationName: 'get', tsMorphTransform: (project, sourceFile, classDeclaration, controllerName) => {
16
- const { className: dtoClassName, filePath: dtoFilePath, } = (0, coerce_dto_class_1.CoerceDtoClass)({
17
- project,
18
- name: controllerName,
19
- propertyList,
20
- });
21
- (0, coerce_imports_1.CoerceImports)(sourceFile, {
22
- namedImports: [dtoClassName],
23
- moduleSpecifier: dtoFilePath,
24
- });
25
- return Object.assign({ returnType: dtoClassName + (collection ? '[]' : '') }, tsMorphTransform(project, sourceFile, classDeclaration, controllerName));
26
- } }));
6
+ const { collection = false, isArray = collection !== null && collection !== void 0 ? collection : false,
7
+ // if not explicitly defined the idProperty is set to null, as not each data grid operation has an id
8
+ idProperty = null, operationName = idProperty ? 'getById' : 'get', } = options;
9
+ return (0, coerce_get_by_id_operation_1.CoerceGetByIdOperation)(Object.assign(Object.assign({}, options), { operationName,
10
+ idProperty,
11
+ isArray }));
27
12
  }
28
13
  exports.CoerceGetDataGridOperation = CoerceGetDataGridOperation;
29
14
  //# sourceMappingURL=coerce-get-data-grid-operation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"coerce-get-data-grid-operation.js","sourceRoot":"","sources":["../../../../../../../packages/schematic/ts-morph/src/lib/nest/coerce-get-data-grid-operation.ts"],"names":[],"mappings":";;;AAAA,qEAA0D;AAC1D,+DAA2D;AAC3D,yDAAoD;AACpD,yDAG4B;AAQ5B,SAAgB,0BAA0B,CAAC,OAAoD;IAC7F,IAAI,EACF,gBAAgB,EAChB,UAAU,EACV,YAAY,EACZ,cAAc,GACf,GAAG,OAAO,CAAC;IACZ,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;QACZ,IAAA,mCAAY,EAAC,cAAc,EAAE,YAAY,CAAC,CAAC;IAE7C,OAAO,IAAA,kCAAe,kCACjB,OAAO,KACV,cAAc,EACd,aAAa,EAAE,KAAK,EACpB,gBAAgB,EAAE,CAChB,OAAO,EACP,UAAU,EACV,gBAAgB,EAChB,cAAc,EACd,EAAE;YAEF,MAAM,EACJ,SAAS,EAAE,YAAY,EACvB,QAAQ,EAAE,WAAW,GACtB,GAAG,IAAA,iCAAc,EAAC;gBACjB,OAAO;gBACP,IAAI,EAAE,cAAc;gBACpB,YAAY;aACb,CAAC,CAAC;YAEH,IAAA,8BAAa,EAAC,UAAU,EAAE;gBACxB,YAAY,EAAE,CAAE,YAAY,CAAE;gBAC9B,eAAe,EAAE,WAAW;aAC7B,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"}
1
+ {"version":3,"file":"coerce-get-data-grid-operation.js","sourceRoot":"","sources":["../../../../../../../packages/schematic/ts-morph/src/lib/nest/coerce-get-data-grid-operation.ts"],"names":[],"mappings":";;;AAAA,6EAGsC;AAStC,SAAgB,0BAA0B,CAAC,OAAoD;IAC7F,MAAM,EACJ,UAAU,GAAE,KAAK,EACjB,OAAO,GAAG,UAAU,aAAV,UAAU,cAAV,UAAU,GAAI,KAAK;IAC7B,qGAAqG;IACrG,UAAU,GAAG,IAAI,EACjB,aAAa,GAAG,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,GAC/C,GAAG,OAAO,CAAC;IAEZ,OAAO,IAAA,mDAAsB,kCACxB,OAAO,KACV,aAAa;QACb,UAAU;QACV,OAAO,IACP,CAAC;AAEL,CAAC;AAhBD,gEAgBC"}
@@ -0,0 +1,5 @@
1
+ import { CoerceOperationOptions } from './coerce-operation';
2
+ export interface CoerceGetControllerOptions extends Omit<CoerceOperationOptions, 'operationName'> {
3
+ operationName?: string;
4
+ }
5
+ export declare function CoerceGetOperation<Options = Record<string, any>>(options: CoerceGetControllerOptions): import("@angular-devkit/schematics").Rule;
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CoerceGetOperation = void 0;
4
+ const coerce_operation_1 = require("./coerce-operation");
5
+ function CoerceGetOperation(options) {
6
+ const { operationName = 'get', isReturnVoid = false } = options;
7
+ return (0, coerce_operation_1.CoerceOperation)(Object.assign(Object.assign({}, options), { operationName,
8
+ isReturnVoid }));
9
+ }
10
+ exports.CoerceGetOperation = CoerceGetOperation;
11
+ //# sourceMappingURL=coerce-get-operation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"coerce-get-operation.js","sourceRoot":"","sources":["../../../../../../../packages/schematic/ts-morph/src/lib/nest/coerce-get-operation.ts"],"names":[],"mappings":";;;AAAA,yDAG4B;AAM5B,SAAgB,kBAAkB,CAAgC,OAAmC;IACnG,MAAM,EACJ,aAAa,GAAG,KAAK,EACrB,YAAY,GAAG,KAAK,EACrB,GAAG,OAAO,CAAC;IAEZ,OAAO,IAAA,kCAAe,kCACjB,OAAO,KACV,aAAa;QACb,YAAY,IACZ,CAAC;AAEL,CAAC;AAZD,gDAYC"}
@@ -1,41 +1,30 @@
1
- import { NormalizedUpstreamOptions, TypeImport } from '@rxap/ts-morph';
2
- import { ClassDeclaration, Project, SourceFile } from 'ts-morph';
1
+ import { DataProperty, NormalizedUpstreamOptions, TypeImport } from '@rxap/ts-morph';
2
+ import { ClassDeclaration, Project, SourceFile, WriterFunction } from 'ts-morph';
3
3
  import { OperationOptions } from './add-operation-to-controller';
4
- import { CoerceOperationOptions } from './coerce-operation';
5
- import { DtoClassProperty } from './create-dto-class';
6
- export interface GetPageOperationProperty {
7
- name: string;
8
- type: TypeImport;
9
- /**
10
- * the property name of the source object. if not defined the name will be used
11
- */
12
- source?: string;
13
- }
14
- export interface CoerceGetPageOperationOptions extends Omit<Omit<CoerceOperationOptions, 'operationName'>, 'tsMorphTransform'> {
15
- propertyList: GetPageOperationProperty[];
16
- tsMorphTransform?: (project: Project, sourceFile: SourceFile, classDeclaration: ClassDeclaration, controllerName: string, pageClassName: string, rowClassName: string) => Partial<OperationOptions>;
4
+ import { CoerceDtoClassOutput } from './coerce-dto-class';
5
+ import { CoerceOperationOptions, TransformOperation } from './coerce-operation';
6
+ import { DtoClassProperty } from './dto-class-property';
7
+ export interface CoerceGetPageOperationOptions extends Omit<CoerceOperationOptions, 'operationName' | 'tsMorphTransform' | 'coerceOperationDtoClass'> {
8
+ tsMorphTransform?: (project: Project, sourceFile: SourceFile, classDeclaration: ClassDeclaration, controllerName: string, moduleSourceFile: SourceFile, pageClassName: string, rowClassName: string) => Partial<OperationOptions>;
17
9
  /**
18
10
  * the name of the property used as row id value. defaults to the value 'uuid'. If null the __rowId property will be
19
11
  * set to the absolute row index absolute row index = page * pageSize + rowIndex
20
12
  */
21
- rowIdProperty?: string | null;
13
+ rowIdProperty?: DataProperty;
22
14
  operationName?: string;
23
- /**
24
- * true - the suffix '-table' will not be enforced for the controller name
25
- */
26
- skipCoerceTableSuffix?: boolean;
27
- /**
28
- * The base name of the page and row DTO class name. Defaults to the controller name
29
- */
30
- responseDtoName?: string;
31
15
  coerceToRowDtoMethod?: (sourceFile: SourceFile, classDeclaration: ClassDeclaration, rowClassName: string, options: CoerceGetPageOperationOptions) => void;
32
16
  coerceToPageDtoMethod?: (sourceFile: SourceFile, classDeclaration: ClassDeclaration, pageClassName: string, rowClassName: string, options: CoerceGetPageOperationOptions) => void;
33
- coerceGetPageDataMethod?: (sourceFile: SourceFile, classDeclaration: ClassDeclaration, options: CoerceGetPageOperationOptions) => void;
17
+ coerceGetPageDataMethod?: (sourceFile: SourceFile, classDeclaration: ClassDeclaration, moduleSourceFile: SourceFile, options: CoerceGetPageOperationOptions) => void;
18
+ coerceOperationDtoClass?: (classDeclaration: ClassDeclaration, controllerName: string, moduleSourceFile: SourceFile, options: Readonly<CoerceGetPageOperationOptions>) => CoerceDtoClassOutput | null;
34
19
  upstream?: NormalizedUpstreamOptions | null;
35
20
  }
36
- export declare function GetPageOperationColumnToDtoClassProperty(property: GetPageOperationProperty): DtoClassProperty;
37
- export declare function GetPageOperationColumnToCodeText(property: GetPageOperationProperty): string;
21
+ export declare function GetPageOperationColumnToCodeText(property: DtoClassProperty): string;
38
22
  export declare function CoerceToRowDtoMethod(sourceFile: SourceFile, classDeclaration: ClassDeclaration, rowClassName: string, options: CoerceGetPageOperationOptions): void;
39
23
  export declare function CoerceToPageDtoMethod(sourceFile: SourceFile, classDeclaration: ClassDeclaration, pageClassName: string, rowClassName: string, options: CoerceGetPageOperationOptions): void;
40
- export declare function CoerceGetPageDataMethod(sourceFile: SourceFile, classDeclaration: ClassDeclaration, { upstream }: CoerceGetPageOperationOptions): void;
24
+ export declare function CoerceGetPageDataMethod(sourceFile: SourceFile, classDeclaration: ClassDeclaration, moduleSourceFile: SourceFile, options: CoerceGetPageOperationOptions): void;
25
+ export declare function GetResponseTypeFromUpstream(upstream: NormalizedUpstreamOptions): TypeImport;
26
+ export declare function GetRawRowDataType(options: Readonly<CoerceGetPageOperationOptions>): TypeImport;
27
+ export declare function BuildGetPageUpstreamGetDataImplementation(classDeclaration: ClassDeclaration, moduleSourceFile: SourceFile, dto: CoerceDtoClassOutput | null, options: Readonly<CoerceOperationOptions>): TransformOperation;
28
+ export declare function CoerceGetPageOperationDtoClass(classDeclaration: ClassDeclaration, controllerName: string, moduleSourceFile: SourceFile, options: Readonly<CoerceGetPageOperationOptions>): CoerceDtoClassOutput | null;
29
+ export declare function BuiltGetPageDtoDataMapperImplementation(classDeclaration: ClassDeclaration, moduleSourceFile: SourceFile, dto: CoerceDtoClassOutput | null, options: Readonly<CoerceOperationOptions>): TransformOperation<string | WriterFunction>;
41
30
  export declare function CoerceGetPageOperation(options: Readonly<CoerceGetPageOperationOptions>): import("@angular-devkit/schematics").Rule;