@rxap/schematics-ts-morph 16.0.0-dev.1 → 16.0.0-dev.11

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 (466) hide show
  1. package/CHANGELOG.md +135 -242
  2. package/{LICENSE → LICENSE.md} +3 -12
  3. package/README.md +7 -6
  4. package/package.json +47 -26
  5. package/src/index.d.ts +133 -47
  6. package/src/index.js +150 -59
  7. package/src/index.js.map +1 -1
  8. package/src/lib/add-class-method.js +5 -6
  9. package/src/lib/add-class-method.js.map +1 -1
  10. package/src/lib/add-dir.js +4 -8
  11. package/src/lib/add-dir.js.map +1 -1
  12. package/src/lib/add-fake-provider.js +21 -25
  13. package/src/lib/add-fake-provider.js.map +1 -1
  14. package/src/lib/add-method-class.d.ts +1 -0
  15. package/src/lib/add-method-class.js +31 -23
  16. package/src/lib/add-method-class.js.map +1 -1
  17. package/src/lib/add-provider-to-array.js +13 -14
  18. package/src/lib/add-provider-to-array.js.map +1 -1
  19. package/src/lib/add-to-array.js +6 -10
  20. package/src/lib/add-to-array.js.map +1 -1
  21. package/src/lib/add-variable-fake-provider.d.ts +1 -1
  22. package/src/lib/add-variable-fake-provider.js +5 -9
  23. package/src/lib/add-variable-fake-provider.js.map +1 -1
  24. package/src/lib/add-variable-provider.d.ts +1 -1
  25. package/src/lib/add-variable-provider.js +12 -15
  26. package/src/lib/add-variable-provider.js.map +1 -1
  27. package/src/lib/angular/add-component-animations.js +15 -0
  28. package/src/lib/angular/add-component-animations.js.map +1 -0
  29. package/src/lib/{add-component-fake-provider.d.ts → angular/add-component-fake-provider.d.ts} +2 -2
  30. package/src/lib/angular/add-component-fake-provider.js +20 -0
  31. package/src/lib/angular/add-component-fake-provider.js.map +1 -0
  32. package/src/lib/angular/add-component-import.d.ts +2 -0
  33. package/src/lib/angular/add-component-import.js +17 -0
  34. package/src/lib/angular/add-component-import.js.map +1 -0
  35. package/src/lib/{add-component-input.js → angular/add-component-input.js} +14 -15
  36. package/src/lib/angular/add-component-input.js.map +1 -0
  37. package/src/lib/{add-component-provider.d.ts → angular/add-component-provider.d.ts} +2 -2
  38. package/src/lib/angular/add-component-provider.js +11 -0
  39. package/src/lib/angular/add-component-provider.js.map +1 -0
  40. package/src/lib/{add-control-validator.js → angular/add-control-validator.js} +6 -11
  41. package/src/lib/angular/add-control-validator.js.map +1 -0
  42. package/src/lib/angular/add-dependency-injection.js +52 -0
  43. package/src/lib/angular/add-dependency-injection.js.map +1 -0
  44. package/src/lib/angular/add-ng-module-export.d.ts +2 -0
  45. package/src/lib/angular/add-ng-module-export.js +17 -0
  46. package/src/lib/angular/add-ng-module-export.js.map +1 -0
  47. package/src/lib/angular/add-ng-module-import.js +17 -0
  48. package/src/lib/angular/add-ng-module-import.js.map +1 -0
  49. package/src/lib/{add-ng-module-provider.d.ts → angular/add-ng-module-provider.d.ts} +2 -2
  50. package/src/lib/angular/add-ng-module-provider.js +11 -0
  51. package/src/lib/angular/add-ng-module-provider.js.map +1 -0
  52. package/src/lib/angular/build-angular-base-path.d.ts +8 -0
  53. package/src/lib/angular/build-angular-base-path.js +16 -0
  54. package/src/lib/angular/build-angular-base-path.js.map +1 -0
  55. package/src/lib/angular/coerce-accordion-component.d.ts +7 -0
  56. package/src/lib/angular/coerce-accordion-component.js +18 -0
  57. package/src/lib/angular/coerce-accordion-component.js.map +1 -0
  58. package/src/lib/angular/coerce-component-class.d.ts +8 -0
  59. package/src/lib/angular/coerce-component-class.js +35 -0
  60. package/src/lib/angular/coerce-component-class.js.map +1 -0
  61. package/src/lib/angular/coerce-component.d.ts +15 -0
  62. package/src/lib/angular/coerce-component.js +82 -0
  63. package/src/lib/angular/coerce-component.js.map +1 -0
  64. package/src/lib/angular/coerce-data-source-class.d.ts +21 -0
  65. package/src/lib/angular/coerce-data-source-class.js +69 -0
  66. package/src/lib/angular/coerce-data-source-class.js.map +1 -0
  67. package/src/lib/angular/coerce-dialog-component.d.ts +14 -0
  68. package/src/lib/angular/coerce-dialog-component.js +79 -0
  69. package/src/lib/angular/coerce-dialog-component.js.map +1 -0
  70. package/src/lib/angular/coerce-dialog-table-action-component.d.ts +8 -0
  71. package/src/lib/angular/coerce-dialog-table-action-component.js +98 -0
  72. package/src/lib/angular/coerce-dialog-table-action-component.js.map +1 -0
  73. package/src/lib/angular/coerce-dialog-table-action.d.ts +3 -0
  74. package/src/lib/angular/coerce-dialog-table-action.js +42 -0
  75. package/src/lib/angular/coerce-dialog-table-action.js.map +1 -0
  76. package/src/lib/angular/coerce-form-builder-provider.d.ts +10 -0
  77. package/src/lib/angular/coerce-form-builder-provider.js +30 -0
  78. package/src/lib/angular/coerce-form-builder-provider.js.map +1 -0
  79. package/src/lib/angular/coerce-form-component-provider.d.ts +10 -0
  80. package/src/lib/angular/coerce-form-component-provider.js +32 -0
  81. package/src/lib/angular/coerce-form-component-provider.js.map +1 -0
  82. package/src/lib/angular/coerce-form-definition-control.d.ts +20 -0
  83. package/src/lib/angular/coerce-form-definition-control.js +133 -0
  84. package/src/lib/angular/coerce-form-definition-control.js.map +1 -0
  85. package/src/lib/angular/coerce-form-definition-type.d.ts +10 -0
  86. package/src/lib/angular/coerce-form-definition-type.js +25 -0
  87. package/src/lib/angular/coerce-form-definition-type.js.map +1 -0
  88. package/src/lib/angular/coerce-form-definition.d.ts +13 -0
  89. package/src/lib/angular/coerce-form-definition.js +70 -0
  90. package/src/lib/angular/coerce-form-definition.js.map +1 -0
  91. package/src/lib/angular/coerce-form-provider.d.ts +10 -0
  92. package/src/lib/angular/coerce-form-provider.js +31 -0
  93. package/src/lib/angular/coerce-form-provider.js.map +1 -0
  94. package/src/lib/angular/coerce-form-providers-file.d.ts +7 -0
  95. package/src/lib/angular/coerce-form-providers-file.js +80 -0
  96. package/src/lib/angular/coerce-form-providers-file.js.map +1 -0
  97. package/src/lib/angular/coerce-form-table-action.d.ts +6 -0
  98. package/src/lib/angular/coerce-form-table-action.js +91 -0
  99. package/src/lib/angular/coerce-form-table-action.js.map +1 -0
  100. package/src/lib/angular/coerce-method-class.d.ts +9 -0
  101. package/src/lib/angular/coerce-method-class.js +48 -0
  102. package/src/lib/angular/coerce-method-class.js.map +1 -0
  103. package/src/lib/angular/coerce-navigation-table-action.d.ts +5 -0
  104. package/src/lib/angular/coerce-navigation-table-action.js +68 -0
  105. package/src/lib/angular/coerce-navigation-table-action.js.map +1 -0
  106. package/src/lib/angular/coerce-operation-table-action.d.ts +6 -0
  107. package/src/lib/angular/coerce-operation-table-action.js +36 -0
  108. package/src/lib/angular/coerce-operation-table-action.js.map +1 -0
  109. package/src/lib/angular/coerce-options-data-source.d.ts +6 -0
  110. package/src/lib/angular/coerce-options-data-source.js +43 -0
  111. package/src/lib/angular/coerce-options-data-source.js.map +1 -0
  112. package/src/lib/angular/coerce-project-feature.d.ts +4 -0
  113. package/src/lib/angular/coerce-project-feature.js +30 -0
  114. package/src/lib/angular/coerce-project-feature.js.map +1 -0
  115. package/src/lib/angular/coerce-proxy-remote-method-class.d.ts +11 -0
  116. package/src/lib/angular/coerce-proxy-remote-method-class.js +99 -0
  117. package/src/lib/angular/coerce-proxy-remote-method-class.js.map +1 -0
  118. package/src/lib/angular/coerce-table-action-index-provider.d.ts +5 -0
  119. package/src/lib/angular/coerce-table-action-index-provider.js +21 -0
  120. package/src/lib/angular/coerce-table-action-index-provider.js.map +1 -0
  121. package/src/lib/angular/coerce-table-action-index.d.ts +3 -0
  122. package/src/lib/angular/coerce-table-action-index.js +12 -0
  123. package/src/lib/angular/coerce-table-action-index.js.map +1 -0
  124. package/src/lib/angular/coerce-table-action-provider.d.ts +8 -0
  125. package/src/lib/angular/coerce-table-action-provider.js +44 -0
  126. package/src/lib/angular/coerce-table-action-provider.js.map +1 -0
  127. package/src/lib/angular/coerce-table-action.d.ts +13 -0
  128. package/src/lib/angular/coerce-table-action.js +82 -0
  129. package/src/lib/angular/coerce-table-action.js.map +1 -0
  130. package/src/lib/angular/coerce-table-data-source.d.ts +9 -0
  131. package/src/lib/angular/coerce-table-data-source.js +51 -0
  132. package/src/lib/angular/coerce-table-data-source.js.map +1 -0
  133. package/src/lib/angular/coerce-table-header-button-method.d.ts +13 -0
  134. package/src/lib/angular/coerce-table-header-button-method.js +78 -0
  135. package/src/lib/angular/coerce-table-header-button-method.js.map +1 -0
  136. package/src/lib/angular/coerce-table-parameters-from-route.d.ts +6 -0
  137. package/src/lib/angular/coerce-table-parameters-from-route.js +48 -0
  138. package/src/lib/angular/coerce-table-parameters-from-route.js.map +1 -0
  139. package/src/lib/angular/coerce-table-select-resolve-value-method.d.ts +6 -0
  140. package/src/lib/angular/coerce-table-select-resolve-value-method.js +30 -0
  141. package/src/lib/angular/coerce-table-select-resolve-value-method.js.map +1 -0
  142. package/src/lib/angular/coerce-tree-table-children-proxy-remote-method-class.d.ts +6 -0
  143. package/src/lib/angular/coerce-tree-table-children-proxy-remote-method-class.js +34 -0
  144. package/src/lib/angular/coerce-tree-table-children-proxy-remote-method-class.js.map +1 -0
  145. package/src/lib/angular/coerce-tree-table-root-proxy-remote-method-class.d.ts +6 -0
  146. package/src/lib/angular/coerce-tree-table-root-proxy-remote-method-class.js +34 -0
  147. package/src/lib/angular/coerce-tree-table-root-proxy-remote-method-class.js.map +1 -0
  148. package/src/lib/angular/enforce-use-form-control-order.d.ts +5 -0
  149. package/src/lib/angular/enforce-use-form-control-order.js +29 -0
  150. package/src/lib/angular/enforce-use-form-control-order.js.map +1 -0
  151. package/src/lib/angular/find-component-module-source-file.js +5 -0
  152. package/src/lib/angular/find-component-module-source-file.js.map +1 -0
  153. package/src/lib/angular/find-component-source-file.js +15 -0
  154. package/src/lib/angular/find-component-source-file.js.map +1 -0
  155. package/src/lib/angular/find-routing-module.js +12 -0
  156. package/src/lib/angular/find-routing-module.js.map +1 -0
  157. package/src/lib/angular/form-definition-utilities.d.ts +13 -0
  158. package/src/lib/angular/form-definition-utilities.js +21 -0
  159. package/src/lib/angular/form-definition-utilities.js.map +1 -0
  160. package/src/lib/{get-component-class.d.ts → angular/get-component-class.d.ts} +1 -1
  161. package/src/lib/angular/get-component-class.js +8 -0
  162. package/src/lib/angular/get-component-class.js.map +1 -0
  163. package/src/lib/{get-component-options-object.d.ts → angular/get-component-options-object.d.ts} +1 -1
  164. package/src/lib/{get-component-options-object.js → angular/get-component-options-object.js} +4 -8
  165. package/src/lib/angular/get-component-options-object.js.map +1 -0
  166. package/src/lib/{get-ng-module-options-object.d.ts → angular/get-ng-module-options-object.d.ts} +1 -1
  167. package/src/lib/{get-ng-module-options-object.js → angular/get-ng-module-options-object.js} +4 -8
  168. package/src/lib/angular/get-ng-module-options-object.js.map +1 -0
  169. package/src/lib/{handle-component-module.d.ts → angular/handle-component-module.d.ts} +1 -1
  170. package/src/lib/angular/handle-component-module.js +2 -0
  171. package/src/lib/angular/handle-component-module.js.map +1 -0
  172. package/src/lib/{handle-component.d.ts → angular/handle-component.d.ts} +1 -1
  173. package/src/lib/angular/handle-component.js +2 -0
  174. package/src/lib/angular/handle-component.js.map +1 -0
  175. package/src/lib/angular/has-accordion-component.d.ts +7 -0
  176. package/src/lib/angular/has-accordion-component.js +21 -0
  177. package/src/lib/angular/has-accordion-component.js.map +1 -0
  178. package/src/lib/angular/has-component.d.ts +8 -0
  179. package/src/lib/angular/has-component.js +22 -0
  180. package/src/lib/angular/has-component.js.map +1 -0
  181. package/src/lib/angular/has-dialog-component.d.ts +5 -0
  182. package/src/lib/angular/has-dialog-component.js +13 -0
  183. package/src/lib/angular/has-dialog-component.js.map +1 -0
  184. package/src/lib/angular/has-project-feature.d.ts +6 -0
  185. package/src/lib/angular/has-project-feature.js +15 -0
  186. package/src/lib/angular/has-project-feature.js.map +1 -0
  187. package/src/lib/angular/has-table-component.d.ts +5 -0
  188. package/src/lib/angular/has-table-component.js +18 -0
  189. package/src/lib/angular/has-table-component.js.map +1 -0
  190. package/src/lib/angular/index.d.ts +26 -0
  191. package/src/lib/angular/index.js +27 -0
  192. package/src/lib/angular/index.js.map +1 -0
  193. package/src/lib/auto-import.js +12 -14
  194. package/src/lib/auto-import.js.map +1 -1
  195. package/src/lib/coerce-class-constructor.js +1 -5
  196. package/src/lib/coerce-class-constructor.js.map +1 -1
  197. package/src/lib/coerce-class-method.d.ts +1 -1
  198. package/src/lib/coerce-class-method.js +3 -6
  199. package/src/lib/coerce-class-method.js.map +1 -1
  200. package/src/lib/coerce-class.js +5 -6
  201. package/src/lib/coerce-class.js.map +1 -1
  202. package/src/lib/coerce-property-key.js +1 -5
  203. package/src/lib/coerce-property-key.js.map +1 -1
  204. package/src/lib/coerce-source-file.js +1 -5
  205. package/src/lib/coerce-source-file.js.map +1 -1
  206. package/src/lib/coerce-variable-declaration.d.ts +2 -2
  207. package/src/lib/coerce-variable-declaration.js +14 -10
  208. package/src/lib/coerce-variable-declaration.js.map +1 -1
  209. package/src/lib/fix-missing-imports.js +9 -13
  210. package/src/lib/fix-missing-imports.js.map +1 -1
  211. package/src/lib/get-array-declaration.js +6 -10
  212. package/src/lib/get-array-declaration.js.map +1 -1
  213. package/src/lib/get-class-decorator-arguments.js +2 -7
  214. package/src/lib/get-class-decorator-arguments.js.map +1 -1
  215. package/src/lib/get-coerce-array-literal-form-object-literal.d.ts +1 -1
  216. package/src/lib/get-coerce-array-literal-form-object-literal.js +5 -9
  217. package/src/lib/get-coerce-array-literal-form-object-literal.js.map +1 -1
  218. package/src/lib/get-form-providers-source-file.js +9 -13
  219. package/src/lib/get-form-providers-source-file.js.map +1 -1
  220. package/src/lib/get-variable-declaration.js +2 -7
  221. package/src/lib/get-variable-declaration.js.map +1 -1
  222. package/src/lib/is-array-literal-expression.js +4 -9
  223. package/src/lib/is-array-literal-expression.js.map +1 -1
  224. package/src/lib/merge-ts-morph-project.js +3 -7
  225. package/src/lib/merge-ts-morph-project.js.map +1 -1
  226. package/src/lib/nest/add-nest-controller.js +44 -0
  227. package/src/lib/nest/add-nest-controller.js.map +1 -0
  228. package/src/lib/nest/add-nest-module-controller.js +11 -0
  229. package/src/lib/nest/add-nest-module-controller.js.map +1 -0
  230. package/src/lib/nest/add-nest-module-import.js +16 -0
  231. package/src/lib/nest/add-nest-module-import.js.map +1 -0
  232. package/src/lib/nest/add-nest-module-provider.js +11 -0
  233. package/src/lib/nest/add-nest-module-provider.js.map +1 -0
  234. package/src/lib/nest/add-nest-module-to-app-module.d.ts +7 -0
  235. package/src/lib/nest/add-nest-module-to-app-module.js +26 -0
  236. package/src/lib/nest/add-nest-module-to-app-module.js.map +1 -0
  237. package/src/lib/nest/add-nest-provider-to-array.js +37 -0
  238. package/src/lib/nest/add-nest-provider-to-array.js.map +1 -0
  239. package/src/lib/nest/add-operation-to-controller.d.ts +37 -0
  240. package/src/lib/nest/add-operation-to-controller.js +221 -0
  241. package/src/lib/nest/add-operation-to-controller.js.map +1 -0
  242. package/src/lib/nest/assert-nest-project.d.ts +7 -0
  243. package/src/lib/nest/assert-nest-project.js +11 -0
  244. package/src/lib/nest/assert-nest-project.js.map +1 -0
  245. package/src/lib/nest/build-nest-base-path.d.ts +8 -0
  246. package/src/lib/nest/build-nest-base-path.js +13 -0
  247. package/src/lib/nest/build-nest-base-path.js.map +1 -0
  248. package/src/lib/nest/build-nest-controller-name.d.ts +6 -0
  249. package/src/lib/nest/build-nest-controller-name.js +23 -0
  250. package/src/lib/nest/build-nest-controller-name.js.map +1 -0
  251. package/src/lib/nest/coerce-dto-class.d.ts +23 -0
  252. package/src/lib/nest/coerce-dto-class.js +175 -0
  253. package/src/lib/nest/coerce-dto-class.js.map +1 -0
  254. package/src/lib/nest/coerce-form-submit-operation.d.ts +7 -0
  255. package/src/lib/nest/coerce-form-submit-operation.js +31 -0
  256. package/src/lib/nest/coerce-form-submit-operation.js.map +1 -0
  257. package/src/lib/nest/coerce-get-by-id-operation.d.ts +7 -0
  258. package/src/lib/nest/coerce-get-by-id-operation.js +68 -0
  259. package/src/lib/nest/coerce-get-by-id-operation.js.map +1 -0
  260. package/src/lib/nest/coerce-get-children-operation.d.ts +3 -0
  261. package/src/lib/nest/coerce-get-children-operation.js +63 -0
  262. package/src/lib/nest/coerce-get-children-operation.js.map +1 -0
  263. package/src/lib/nest/coerce-get-data-grid-operation.d.ts +7 -0
  264. package/src/lib/nest/coerce-get-data-grid-operation.js +33 -0
  265. package/src/lib/nest/coerce-get-data-grid-operation.js.map +1 -0
  266. package/src/lib/nest/coerce-get-page-operation.d.ts +39 -0
  267. package/src/lib/nest/coerce-get-page-operation.js +248 -0
  268. package/src/lib/nest/coerce-get-page-operation.js.map +1 -0
  269. package/src/lib/nest/coerce-get-root-operation.d.ts +3 -0
  270. package/src/lib/nest/coerce-get-root-operation.js +56 -0
  271. package/src/lib/nest/coerce-get-root-operation.js.map +1 -0
  272. package/src/lib/nest/coerce-nest-controller.d.ts +13 -0
  273. package/src/lib/nest/coerce-nest-controller.js +73 -0
  274. package/src/lib/nest/coerce-nest-controller.js.map +1 -0
  275. package/src/lib/nest/coerce-nest-module.d.ts +8 -0
  276. package/src/lib/nest/coerce-nest-module.js +51 -0
  277. package/src/lib/nest/coerce-nest-module.js.map +1 -0
  278. package/src/lib/nest/coerce-nest-service-project.d.ts +10 -0
  279. package/src/lib/nest/coerce-nest-service-project.js +33 -0
  280. package/src/lib/nest/coerce-nest-service-project.js.map +1 -0
  281. package/src/lib/nest/coerce-operation.d.ts +23 -0
  282. package/src/lib/nest/coerce-operation.js +100 -0
  283. package/src/lib/nest/coerce-operation.js.map +1 -0
  284. package/src/lib/nest/coerce-options-operation.d.ts +8 -0
  285. package/src/lib/nest/coerce-options-operation.js +51 -0
  286. package/src/lib/nest/coerce-options-operation.js.map +1 -0
  287. package/src/lib/nest/coerce-page-dto-class.d.ts +12 -0
  288. package/src/lib/nest/coerce-page-dto-class.js +33 -0
  289. package/src/lib/nest/coerce-page-dto-class.js.map +1 -0
  290. package/src/lib/nest/coerce-row-dto-class.d.ts +9 -0
  291. package/src/lib/nest/coerce-row-dto-class.js +18 -0
  292. package/src/lib/nest/coerce-row-dto-class.js.map +1 -0
  293. package/src/lib/nest/coerce-submit-data-grid-operation.d.ts +5 -0
  294. package/src/lib/nest/coerce-submit-data-grid-operation.js +14 -0
  295. package/src/lib/nest/coerce-submit-data-grid-operation.js.map +1 -0
  296. package/src/lib/nest/coerce-table-select-operation.d.ts +6 -0
  297. package/src/lib/nest/coerce-table-select-operation.js +23 -0
  298. package/src/lib/nest/coerce-table-select-operation.js.map +1 -0
  299. package/src/lib/nest/coerce-table-select-value-resolve-operation.d.ts +8 -0
  300. package/src/lib/nest/coerce-table-select-value-resolve-operation.js +39 -0
  301. package/src/lib/nest/coerce-table-select-value-resolve-operation.js.map +1 -0
  302. package/src/lib/nest/coerce-tree-operation.d.ts +6 -0
  303. package/src/lib/nest/coerce-tree-operation.js +59 -0
  304. package/src/lib/nest/coerce-tree-operation.js.map +1 -0
  305. package/src/lib/nest/create-dto-class.d.ts +19 -0
  306. package/src/lib/nest/create-dto-class.js +192 -0
  307. package/src/lib/nest/create-dto-class.js.map +1 -0
  308. package/src/lib/nest/find-nest-module-declaration.js +7 -0
  309. package/src/lib/nest/find-nest-module-declaration.js.map +1 -0
  310. package/src/lib/nest/find-nest-module-source-file.js +6 -0
  311. package/src/lib/nest/find-nest-module-source-file.js.map +1 -0
  312. package/src/lib/nest/get-nest-module-metadata.js +15 -0
  313. package/src/lib/nest/get-nest-module-metadata.js.map +1 -0
  314. package/src/lib/nest/has-nest-controller.d.ts +9 -0
  315. package/src/lib/nest/has-nest-controller.js +12 -0
  316. package/src/lib/nest/has-nest-controller.js.map +1 -0
  317. package/src/lib/nest/has-nest-module-class.js +7 -0
  318. package/src/lib/nest/has-nest-module-class.js.map +1 -0
  319. package/src/lib/nest/has-nest-module.d.ts +8 -0
  320. package/src/lib/nest/has-nest-module.js +14 -0
  321. package/src/lib/nest/has-nest-module.js.map +1 -0
  322. package/src/lib/nest/is-nest-module-class.js +4 -0
  323. package/src/lib/nest/is-nest-module-class.js.map +1 -0
  324. package/src/lib/nest/nest-provider-object.js +2 -0
  325. package/src/lib/nest/nest-provider-object.js.map +1 -0
  326. package/src/lib/nest/operation-id-utilities.d.ts +16 -0
  327. package/src/lib/nest/operation-id-utilities.js +89 -0
  328. package/src/lib/nest/operation-id-utilities.js.map +1 -0
  329. package/src/lib/nest/project-utilities.d.ts +13 -0
  330. package/src/lib/nest/project-utilities.js +19 -0
  331. package/src/lib/nest/project-utilities.js.map +1 -0
  332. package/src/lib/nest/remove-nest-module-provider.d.ts +3 -0
  333. package/src/lib/nest/remove-nest-module-provider.js +9 -0
  334. package/src/lib/nest/remove-nest-module-provider.js.map +1 -0
  335. package/src/lib/nest/remove-nest-provider-to-array.d.ts +3 -0
  336. package/src/lib/nest/remove-nest-provider-to-array.js +24 -0
  337. package/src/lib/nest/remove-nest-provider-to-array.js.map +1 -0
  338. package/src/lib/organize-imports.js +7 -11
  339. package/src/lib/organize-imports.js.map +1 -1
  340. package/src/lib/overwrite-decorator.d.ts +1 -1
  341. package/src/lib/overwrite-decorator.js +2 -6
  342. package/src/lib/overwrite-decorator.js.map +1 -1
  343. package/src/lib/overwrite-property.js +3 -7
  344. package/src/lib/overwrite-property.js.map +1 -1
  345. package/src/lib/provider-object.js +1 -2
  346. package/src/lib/provider-object.js.map +1 -1
  347. package/src/lib/to-value-context.js +1 -2
  348. package/src/lib/to-value-context.js.map +1 -1
  349. package/src/lib/ts-morph/apply-ts-morph-project.d.ts +3 -0
  350. package/src/lib/ts-morph/apply-ts-morph-project.js +5 -0
  351. package/src/lib/ts-morph/apply-ts-morph-project.js.map +1 -0
  352. package/src/lib/ts-morph/coerce-class-implementation.d.ts +2 -0
  353. package/src/lib/ts-morph/coerce-class-implementation.js +6 -0
  354. package/src/lib/ts-morph/coerce-class-implementation.js.map +1 -0
  355. package/src/lib/ts-morph/coerce-class-property.d.ts +2 -0
  356. package/src/lib/ts-morph/coerce-class-property.js +11 -0
  357. package/src/lib/ts-morph/coerce-class-property.js.map +1 -0
  358. package/src/lib/ts-morph/coerce-decorator.d.ts +9 -0
  359. package/src/lib/ts-morph/coerce-decorator.js +21 -0
  360. package/src/lib/ts-morph/coerce-decorator.js.map +1 -0
  361. package/src/lib/ts-morph/coerce-function.d.ts +2 -0
  362. package/src/lib/ts-morph/coerce-function.js +6 -0
  363. package/src/lib/ts-morph/coerce-function.js.map +1 -0
  364. package/src/lib/ts-morph/coerce-imports.d.ts +2 -0
  365. package/src/lib/ts-morph/coerce-imports.js +21 -0
  366. package/src/lib/ts-morph/coerce-imports.js.map +1 -0
  367. package/src/lib/ts-morph/coerce-interface.d.ts +9 -0
  368. package/src/lib/ts-morph/coerce-interface.js +28 -0
  369. package/src/lib/ts-morph/coerce-interface.js.map +1 -0
  370. package/src/lib/ts-morph/coerce-parameter-declaration.d.ts +2 -0
  371. package/src/lib/ts-morph/coerce-parameter-declaration.js +10 -0
  372. package/src/lib/ts-morph/coerce-parameter-declaration.js.map +1 -0
  373. package/src/lib/ts-morph/coerce-statements.d.ts +2 -0
  374. package/src/lib/ts-morph/coerce-statements.js +7 -0
  375. package/src/lib/ts-morph/coerce-statements.js.map +1 -0
  376. package/src/lib/ts-morph/coerce-type-alias.d.ts +4 -0
  377. package/src/lib/ts-morph/coerce-type-alias.js +12 -0
  378. package/src/lib/ts-morph/coerce-type-alias.js.map +1 -0
  379. package/src/lib/ts-morph/find-function.d.ts +6 -0
  380. package/src/lib/ts-morph/find-function.js +4 -0
  381. package/src/lib/ts-morph/find-function.js.map +1 -0
  382. package/src/lib/ts-morph/write-type.d.ts +6 -0
  383. package/src/lib/ts-morph/write-type.js +30 -0
  384. package/src/lib/ts-morph/write-type.js.map +1 -0
  385. package/src/lib/ts-morph-transform.d.ts +28 -0
  386. package/src/lib/ts-morph-transform.js +11 -0
  387. package/src/lib/ts-morph-transform.js.map +1 -0
  388. package/src/lib/types/form-definition-control.d.ts +9 -0
  389. package/src/lib/types/form-definition-control.js +2 -0
  390. package/src/lib/types/form-definition-control.js.map +1 -0
  391. package/migration.json +0 -4
  392. package/src/lib/add-component-animations.js +0 -18
  393. package/src/lib/add-component-animations.js.map +0 -1
  394. package/src/lib/add-component-fake-provider.js +0 -24
  395. package/src/lib/add-component-fake-provider.js.map +0 -1
  396. package/src/lib/add-component-input.js.map +0 -1
  397. package/src/lib/add-component-provider.js +0 -14
  398. package/src/lib/add-component-provider.js.map +0 -1
  399. package/src/lib/add-control-validator.js.map +0 -1
  400. package/src/lib/add-dependency-injection.js +0 -56
  401. package/src/lib/add-dependency-injection.js.map +0 -1
  402. package/src/lib/add-ng-module-import.js +0 -20
  403. package/src/lib/add-ng-module-import.js.map +0 -1
  404. package/src/lib/add-ng-module-provider.js +0 -14
  405. package/src/lib/add-ng-module-provider.js.map +0 -1
  406. package/src/lib/apply-ts-morph-project.d.ts +0 -3
  407. package/src/lib/apply-ts-morph-project.js +0 -71
  408. package/src/lib/apply-ts-morph-project.js.map +0 -1
  409. package/src/lib/coerce-method-class.d.ts +0 -3
  410. package/src/lib/coerce-method-class.js +0 -14
  411. package/src/lib/coerce-method-class.js.map +0 -1
  412. package/src/lib/find-component-module-source-file.js +0 -9
  413. package/src/lib/find-component-module-source-file.js.map +0 -1
  414. package/src/lib/find-component-source-file.js +0 -19
  415. package/src/lib/find-component-source-file.js.map +0 -1
  416. package/src/lib/find-routing-module.js +0 -17
  417. package/src/lib/find-routing-module.js.map +0 -1
  418. package/src/lib/get-component-class.js +0 -12
  419. package/src/lib/get-component-class.js.map +0 -1
  420. package/src/lib/get-component-options-object.js.map +0 -1
  421. package/src/lib/get-ng-module-options-object.js.map +0 -1
  422. package/src/lib/handle-component-module.js +0 -3
  423. package/src/lib/handle-component-module.js.map +0 -1
  424. package/src/lib/handle-component.js +0 -3
  425. package/src/lib/handle-component.js.map +0 -1
  426. package/src/lib/nestjs/add-nest-controller.js +0 -48
  427. package/src/lib/nestjs/add-nest-controller.js.map +0 -1
  428. package/src/lib/nestjs/add-nest-module-controller.js +0 -14
  429. package/src/lib/nestjs/add-nest-module-controller.js.map +0 -1
  430. package/src/lib/nestjs/add-nest-module-import.js +0 -19
  431. package/src/lib/nestjs/add-nest-module-import.js.map +0 -1
  432. package/src/lib/nestjs/add-nest-module-provider.js +0 -14
  433. package/src/lib/nestjs/add-nest-module-provider.js.map +0 -1
  434. package/src/lib/nestjs/add-nest-provider-to-array.js +0 -40
  435. package/src/lib/nestjs/add-nest-provider-to-array.js.map +0 -1
  436. package/src/lib/nestjs/find-nest-module-declaration.js +0 -11
  437. package/src/lib/nestjs/find-nest-module-declaration.js.map +0 -1
  438. package/src/lib/nestjs/find-nest-module-source-file.js +0 -10
  439. package/src/lib/nestjs/find-nest-module-source-file.js.map +0 -1
  440. package/src/lib/nestjs/get-nest-module-metadata.js +0 -19
  441. package/src/lib/nestjs/get-nest-module-metadata.js.map +0 -1
  442. package/src/lib/nestjs/has-nest-module-class.js +0 -11
  443. package/src/lib/nestjs/has-nest-module-class.js.map +0 -1
  444. package/src/lib/nestjs/is-nest-module-class.js +0 -8
  445. package/src/lib/nestjs/is-nest-module-class.js.map +0 -1
  446. package/src/lib/nestjs/nest-provider-object.js +0 -3
  447. package/src/lib/nestjs/nest-provider-object.js.map +0 -1
  448. /package/src/lib/{add-component-animations.d.ts → angular/add-component-animations.d.ts} +0 -0
  449. /package/src/lib/{add-component-input.d.ts → angular/add-component-input.d.ts} +0 -0
  450. /package/src/lib/{add-control-validator.d.ts → angular/add-control-validator.d.ts} +0 -0
  451. /package/src/lib/{add-dependency-injection.d.ts → angular/add-dependency-injection.d.ts} +0 -0
  452. /package/src/lib/{add-ng-module-import.d.ts → angular/add-ng-module-import.d.ts} +0 -0
  453. /package/src/lib/{find-component-module-source-file.d.ts → angular/find-component-module-source-file.d.ts} +0 -0
  454. /package/src/lib/{find-component-source-file.d.ts → angular/find-component-source-file.d.ts} +0 -0
  455. /package/src/lib/{find-routing-module.d.ts → angular/find-routing-module.d.ts} +0 -0
  456. /package/src/lib/{nestjs → nest}/add-nest-controller.d.ts +0 -0
  457. /package/src/lib/{nestjs → nest}/add-nest-module-controller.d.ts +0 -0
  458. /package/src/lib/{nestjs → nest}/add-nest-module-import.d.ts +0 -0
  459. /package/src/lib/{nestjs → nest}/add-nest-module-provider.d.ts +0 -0
  460. /package/src/lib/{nestjs → nest}/add-nest-provider-to-array.d.ts +0 -0
  461. /package/src/lib/{nestjs → nest}/find-nest-module-declaration.d.ts +0 -0
  462. /package/src/lib/{nestjs → nest}/find-nest-module-source-file.d.ts +0 -0
  463. /package/src/lib/{nestjs → nest}/get-nest-module-metadata.d.ts +0 -0
  464. /package/src/lib/{nestjs → nest}/has-nest-module-class.d.ts +0 -0
  465. /package/src/lib/{nestjs → nest}/is-nest-module-class.d.ts +0 -0
  466. /package/src/lib/{nestjs → nest}/nest-provider-object.d.ts +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"coerce-nest-module.js","sourceRoot":"","sources":["../../../../../../../packages/schematic/ts-morph/src/lib/nest/coerce-nest-module.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,EACL,IAAI,GAEL,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,QAAQ,EACR,SAAS,GACV,MAAM,iBAAiB,CAAC;AAMzB,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAEL,+BAA+B,GAChC,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAC3E,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAO1D,MAAM,UAAU,gBAAgB,CAAC,OAAgC;IAC/D,MAAM,EACJ,IAAI,EACJ,OAAO,EACP,OAAO,EACP,MAAM,EACN,SAAS,GACV,GAAG,OAAO,CAAC;IACZ,IAAI,EAAE,gBAAgB,EAAE,GAAG,OAAO,CAAC;IACnC,gEAAgE;IAChE,gBAAgB,KAAK,GAAG,EAAE,GAAE,CAAC,CAAC;IAC9B,OAAO,KAAK,CAAC;QACX,iBAAiB,CAAC;YAChB,OAAO;YACP,OAAO;YACP,MAAM;SACP,CAAC;QACF,+BAA+B,CAC7B;YACE,OAAO;YACP,OAAO;YACP,MAAM;YACN,SAAS;SACV,EACD,CAAC,OAAO,EAAE,CAAE,UAAU,CAAE,EAAE,EAAE;YAC1B,MAAM,gBAAgB,GAAG,WAAW,CAAC,UAAU,EAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,QAAQ,EAAE;gBAC1E,UAAU,EAAE,IAAI;gBAChB,UAAU,EAAE;oBACV;wBACE,IAAI,EAAE,QAAQ;wBACd,SAAS,EAAE,CAAE,IAAI,CAAE;qBACpB;iBACF;aACF,CAAC,CAAC;YACH,aAAa,CAAC,UAAU,EAAE;gBACxB;oBACE,YAAY,EAAE,CAAE,QAAQ,CAAE;oBAC1B,eAAe,EAAE,gBAAgB;iBAClC;aACF,CAAC,CAAC;YAEH,gBAAiB,CAAC,OAAO,EAAE,UAAU,EAAE,gBAAgB,CAAC,CAAC;QAC3D,CAAC,EACD,CAAE,GAAI,SAAS,CAAC,IAAI,CAAE,aAAa,CAAE,CACtC;QACD,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,wBAAwB,CAAC;YACxC,OAAO;YACP,OAAO;YACP,MAAM;YACN,IAAI;YACJ,SAAS;SACV,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;KACZ,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { Rule } from '@angular-devkit/schematics';
2
+ export interface CoerceNestServiceProjectOptions {
3
+ project: string;
4
+ feature?: string | null;
5
+ shared?: boolean;
6
+ }
7
+ /**
8
+ * @deprecated removed use the AssertNestProject function Rule
9
+ */
10
+ export declare function CoerceNestServiceProject(options: CoerceNestServiceProjectOptions): Rule;
@@ -0,0 +1,33 @@
1
+ import { buildNestProjectName, HasNestServiceProject, } from './project-utilities';
2
+ import { ExecuteSchematic } from '@rxap/schematics-utilities';
3
+ /**
4
+ * @deprecated removed use the AssertNestProject function Rule
5
+ */
6
+ export function CoerceNestServiceProject(options) {
7
+ const { project, feature, shared, } = options;
8
+ return tree => {
9
+ if (!HasNestServiceProject(tree, options)) {
10
+ console.log(`The nest service project '${buildNestProjectName(options)}' does not exists. Project will now be created ...`);
11
+ if (feature) {
12
+ if (shared) {
13
+ return ExecuteSchematic('feature-microservice', {
14
+ feature,
15
+ });
16
+ }
17
+ else {
18
+ return ExecuteSchematic('frontend-microservice', {
19
+ frontend: project,
20
+ feature,
21
+ });
22
+ }
23
+ }
24
+ else {
25
+ return ExecuteSchematic('microservice', {
26
+ project,
27
+ });
28
+ }
29
+ }
30
+ return undefined;
31
+ };
32
+ }
33
+ //# sourceMappingURL=coerce-nest-service-project.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"coerce-nest-service-project.js","sourceRoot":"","sources":["../../../../../../../packages/schematic/ts-morph/src/lib/nest/coerce-nest-service-project.ts"],"names":[],"mappings":"AACA,OAAO,EACL,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAQ9D;;GAEG;AACH,MAAM,UAAU,wBAAwB,CAAC,OAAwC;IAC/E,MAAM,EACJ,OAAO,EACP,OAAO,EACP,MAAM,GACP,GAAG,OAAO,CAAC;IACZ,OAAO,IAAI,CAAC,EAAE;QACZ,IAAI,CAAC,qBAAqB,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE;YACzC,OAAO,CAAC,GAAG,CAAC,6BAA8B,oBAAoB,CAAC,OAAO,CAAE,oDAAoD,CAAC,CAAC;YAC9H,IAAI,OAAO,EAAE;gBACX,IAAI,MAAM,EAAE;oBACV,OAAO,gBAAgB,CACrB,sBAAsB,EACtB;wBACE,OAAO;qBACR,CACF,CAAC;iBACH;qBAAM;oBACL,OAAO,gBAAgB,CACrB,uBAAuB,EACvB;wBACE,QAAQ,EAAE,OAAO;wBACjB,OAAO;qBACR,CACF,CAAC;iBACH;aACF;iBAAM;gBACL,OAAO,gBAAgB,CACrB,cAAc,EACd;oBACE,OAAO;iBACR,CACF,CAAC;aACH;SACF;QACD,OAAO,SAAS,CAAC;IACnB,CAAC,CAAC;AACJ,CAAC"}
@@ -0,0 +1,23 @@
1
+ import { Rule } from '@angular-devkit/schematics';
2
+ import { ClassDeclaration, Project, SourceFile } from 'ts-morph';
3
+ import { TsMorphNestProjectTransformOptions } from '../ts-morph-transform';
4
+ import { OperationOptions, OperationParameter } from './add-operation-to-controller';
5
+ export interface CoerceOperationOptions extends TsMorphNestProjectTransformOptions {
6
+ controllerName: string;
7
+ shared?: boolean;
8
+ nestModule?: string | null;
9
+ skipCoerce?: boolean;
10
+ paramList?: OperationParameter[];
11
+ queryList?: OperationParameter[];
12
+ tsMorphTransform?: (project: Project, sourceFile: SourceFile, classDeclaration: ClassDeclaration, controllerName: string) => Partial<OperationOptions>;
13
+ operationName: string;
14
+ path?: string;
15
+ controllerPath?: string;
16
+ /**
17
+ * true - the control path is overwritten with
18
+ */
19
+ overwriteControllerPath?: boolean;
20
+ context?: string | null;
21
+ }
22
+ export declare function CoerceOperationParamList(paramList: OperationParameter[], classDeclaration: ClassDeclaration): void;
23
+ export declare function CoerceOperation(options: CoerceOperationOptions): Rule;
@@ -0,0 +1,100 @@
1
+ import { chain, } from '@angular-devkit/schematics';
2
+ import { classify } from '@rxap/schematics-utilities';
3
+ import { join } from 'path';
4
+ import { TsMorphNestProjectTransformRule, } from '../ts-morph-transform';
5
+ import { AddOperationToController, } from './add-operation-to-controller';
6
+ import { BuildNestControllerName } from './build-nest-controller-name';
7
+ import { CoerceNestController } from './coerce-nest-controller';
8
+ export function CoerceOperationParamList(paramList, classDeclaration) {
9
+ const currentControllerPath = classDeclaration.getDecoratorOrThrow('Controller').getArguments()[0]?.getText() ?? '';
10
+ const fragments = currentControllerPath.split('/');
11
+ const parameters = fragments.filter(fragment => fragment.startsWith(':'));
12
+ for (const parameter of parameters) {
13
+ if (!paramList.some(param => param.name === parameter.substr(1))) {
14
+ paramList.push({ name: parameter.substr(1) });
15
+ }
16
+ }
17
+ }
18
+ export function CoerceOperation(options) {
19
+ let { nestModule, controllerName, project, paramList, feature, shared, tsMorphTransform, operationName, skipCoerce, controllerPath, queryList, path, overwriteControllerPath, directory, } = options;
20
+ tsMorphTransform ??= () => ({});
21
+ paramList ??= [];
22
+ queryList ??= [];
23
+ /**
24
+ * If the module is not specified. This controller has an own module. Else the
25
+ * module is originated by another controller.
26
+ *
27
+ * **Example**
28
+ * true:
29
+ * The controller ReportDetailsController should be extended with getById Operation.
30
+ * And the controller is used in the module ReportDetailsModule
31
+ *
32
+ * name = "report-details"
33
+ * module = undefined
34
+ *
35
+ * false:
36
+ * The controller ReportDetailsNotificationController should be extend with getById Operation.
37
+ * And the controller ise used in the module ReportDetailsModule
38
+ *
39
+ * name = "notification"
40
+ * module = "report-details"
41
+ */
42
+ const isFirstBornSibling = !nestModule || nestModule === controllerName;
43
+ const nestController = BuildNestControllerName({
44
+ controllerName,
45
+ nestModule,
46
+ });
47
+ if (!nestModule || isFirstBornSibling) {
48
+ nestModule = nestController;
49
+ }
50
+ directory = join(directory ?? '', nestModule);
51
+ return chain([
52
+ () => console.log(`Coerce Operation '${operationName}' with path '${path}' in the controller '${nestController}' in the module '${nestModule}'`),
53
+ CoerceNestController({
54
+ project,
55
+ feature,
56
+ shared,
57
+ directory,
58
+ coerceModule: !skipCoerce,
59
+ name: nestController,
60
+ nestModule,
61
+ }),
62
+ // IMPORTANT: the use of the filePath parameter for the narrow loading of the source file CAN NOT BE USED here
63
+ // because sub functions may need to load other source files that are then not loaded into the
64
+ // project instance!
65
+ TsMorphNestProjectTransformRule({
66
+ project,
67
+ feature,
68
+ shared,
69
+ directory,
70
+ }, project => {
71
+ const sourceFile = project.getSourceFileOrThrow(`${nestController}.controller.ts`);
72
+ const classDeclaration = sourceFile.getClassOrThrow(`${classify(nestController)}Controller`);
73
+ const operationOptions = tsMorphTransform(project, sourceFile, classDeclaration, nestController);
74
+ if (controllerPath) {
75
+ classDeclaration.getDecoratorOrThrow('Controller').set({
76
+ arguments: [w => w.quote(controllerPath)],
77
+ });
78
+ }
79
+ else if (!isFirstBornSibling) {
80
+ const parentParamList = paramList.filter(p => p.fromParent);
81
+ classDeclaration.getDecoratorOrThrow('Controller').set({
82
+ arguments: [
83
+ w => w.quote(`${nestModule}/${parentParamList.length ?
84
+ parentParamList.map(param => `:${param.name}`).join('/') + '/' :
85
+ ''}${controllerName.replace(nestModule + '-', '')}`),
86
+ ],
87
+ });
88
+ }
89
+ CoerceOperationParamList(paramList, classDeclaration);
90
+ AddOperationToController(sourceFile, classDeclaration, operationName, {
91
+ isAsync: true,
92
+ paramList,
93
+ queryList,
94
+ path,
95
+ ...operationOptions,
96
+ });
97
+ }),
98
+ ]);
99
+ }
100
+ //# sourceMappingURL=coerce-operation.js.map
@@ -0,0 +1 @@
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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"}
@@ -0,0 +1,8 @@
1
+ import { Rule } from '@angular-devkit/schematics';
2
+ import { FormDefinitionControl } from '../types/form-definition-control';
3
+ import { CoerceOperationOptions } from './coerce-operation';
4
+ export interface CoerceOptionsOperationRuleOptions extends CoerceOperationOptions {
5
+ control: Required<FormDefinitionControl>;
6
+ responseDtoName?: string;
7
+ }
8
+ export declare function CoerceOptionsOperationRule(options: Readonly<CoerceOptionsOperationRuleOptions>): Rule;
@@ -0,0 +1,51 @@
1
+ import { joinWithDash } from '@rxap/utilities';
2
+ import { CoerceImports } from '../ts-morph/coerce-imports';
3
+ import { WriteType } from '../ts-morph/write-type';
4
+ import { CoerceDtoClass } from './coerce-dto-class';
5
+ import { CoerceOperation, } from './coerce-operation';
6
+ export function CoerceOptionsOperationRule(options) {
7
+ let { responseDtoName, control, context, } = options;
8
+ responseDtoName ??= joinWithDash([context, control.name, 'options']);
9
+ return CoerceOperation({
10
+ ...options,
11
+ tsMorphTransform: (project, sourceFile, classDeclaration, controllerName) => {
12
+ const { className, filePath, } = CoerceDtoClass({
13
+ project,
14
+ name: responseDtoName,
15
+ propertyList: [
16
+ {
17
+ name: 'display',
18
+ type: 'string',
19
+ },
20
+ {
21
+ name: 'value',
22
+ type: WriteType(control),
23
+ },
24
+ ],
25
+ });
26
+ CoerceImports(sourceFile, {
27
+ namedImports: [className],
28
+ moduleSpecifier: filePath,
29
+ });
30
+ CoerceImports(sourceFile, {
31
+ namedImports: ['plainToInstance'],
32
+ moduleSpecifier: 'class-transformer',
33
+ });
34
+ CoerceImports(sourceFile, {
35
+ namedImports: ['classTransformOptions'],
36
+ moduleSpecifier: '@rxap/nest-utilities',
37
+ });
38
+ return {
39
+ returnType: `Array<${className}>`,
40
+ statements: [
41
+ 'return plainToInstance(',
42
+ className + ',',
43
+ '[],',
44
+ 'classTransformOptions',
45
+ ');',
46
+ ],
47
+ };
48
+ },
49
+ });
50
+ }
51
+ //# sourceMappingURL=coerce-options-operation.js.map
@@ -0,0 +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,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAEnD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EACL,eAAe,GAEhB,MAAM,oBAAoB,CAAC;AAO5B,MAAM,UAAU,0BAA0B,CAAC,OAAoD;IAC7F,IAAI,EACF,eAAe,EACf,OAAO,EACP,OAAO,GACR,GAAG,OAAO,CAAC;IACZ,eAAe,KAAK,YAAY,CAAC,CAAE,OAAO,EAAE,OAAO,CAAC,IAAI,EAAE,SAAS,CAAE,CAAC,CAAC;IACvE,OAAO,eAAe,CAAC;QACrB,GAAG,OAAO;QACV,gBAAgB,EAAE,CAAC,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,cAAc,EAAE,EAAE;YAE1E,MAAM,EACJ,SAAS,EACT,QAAQ,GACT,GAAG,cAAc,CAAC;gBACjB,OAAO;gBACP,IAAI,EAAE,eAAgB;gBACtB,YAAY,EAAE;oBACZ;wBACE,IAAI,EAAE,SAAS;wBACf,IAAI,EAAE,QAAQ;qBACf;oBACD;wBACE,IAAI,EAAE,OAAO;wBACb,IAAI,EAAE,SAAS,CAAC,OAAO,CAAC;qBACzB;iBACF;aACF,CAAC,CAAC;YAEH,aAAa,CAAC,UAAU,EAAE;gBACxB,YAAY,EAAE,CAAE,SAAS,CAAE;gBAC3B,eAAe,EAAE,QAAQ;aAC1B,CAAC,CAAC;YACH,aAAa,CAAC,UAAU,EAAE;gBACxB,YAAY,EAAE,CAAE,iBAAiB,CAAE;gBACnC,eAAe,EAAE,mBAAmB;aACrC,CAAC,CAAC;YACH,aAAa,CAAC,UAAU,EAAE;gBACxB,YAAY,EAAE,CAAE,uBAAuB,CAAE;gBACzC,eAAe,EAAE,sBAAsB;aACxC,CAAC,CAAC;YAEH,OAAO;gBACL,UAAU,EAAE,SAAU,SAAU,GAAG;gBACnC,UAAU,EAAE;oBACV,yBAAyB;oBACzB,SAAS,GAAG,GAAG;oBACf,KAAK;oBACL,uBAAuB;oBACvB,IAAI;iBACL;aACF,CAAC;QACJ,CAAC;KACF,CAAC,CAAC;AACL,CAAC"}
@@ -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,33 @@
1
+ import { CoerceSuffix } from '@rxap/schematics-utilities';
2
+ import { basename } from 'path';
3
+ import { CoerceDtoClass } from './coerce-dto-class';
4
+ export function CoercePageDtoClass(options) {
5
+ let { project, name, propertyList, classStructure, importStructureList, rowClassName, rowFilePath, } = options;
6
+ importStructureList ??= [];
7
+ importStructureList.push({
8
+ namedImports: ['PageDto'],
9
+ moduleSpecifier: '@rxap/nest-utilities',
10
+ }, {
11
+ namedImports: [rowClassName],
12
+ moduleSpecifier: `./${basename(rowFilePath)}`,
13
+ });
14
+ classStructure ??= {};
15
+ classStructure.extends = `PageDto<${rowClassName}>`;
16
+ propertyList ??= [
17
+ {
18
+ name: 'rows',
19
+ type: rowClassName,
20
+ isArray: true,
21
+ isType: true,
22
+ },
23
+ ];
24
+ propertyList.push();
25
+ return CoerceDtoClass({
26
+ project,
27
+ name: CoerceSuffix(name, '-page'),
28
+ propertyList,
29
+ classStructure,
30
+ importStructureList,
31
+ });
32
+ }
33
+ //# sourceMappingURL=coerce-page-dto-class.js.map
@@ -0,0 +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,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAOhC,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAapD,MAAM,UAAU,kBAAkB,CAAC,OAAkC;IACnE,IAAI,EACF,OAAO,EACP,IAAI,EACJ,YAAY,EACZ,cAAc,EACd,mBAAmB,EACnB,YAAY,EACZ,WAAW,GACZ,GAAG,OAAO,CAAC;IACZ,mBAAmB,KAAK,EAAE,CAAC;IAC3B,mBAAmB,CAAC,IAAI,CACtB;QACE,YAAY,EAAE,CAAE,SAAS,CAAE;QAC3B,eAAe,EAAE,sBAAsB;KACxC,EACD;QACE,YAAY,EAAE,CAAE,YAAY,CAAE;QAC9B,eAAe,EAAE,KAAM,QAAQ,CAAC,WAAW,CAAE,EAAE;KAChD,CACF,CAAC;IACF,cAAc,KAAK,EAAE,CAAC;IACtB,cAAc,CAAC,OAAO,GAAG,WAAY,YAAa,GAAG,CAAC;IACtD,YAAY,KAAK;QACf;YACE,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,YAAY;YAClB,OAAO,EAAE,IAAI;YACb,MAAM,EAAE,IAAI;SACb;KACF,CAAC;IACF,YAAY,CAAC,IAAI,EAAE,CAAC;IACpB,OAAO,cAAc,CAAC;QACpB,OAAO;QACP,IAAI,EAAE,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC;QACjC,YAAY;QACZ,cAAc;QACd,mBAAmB;KACpB,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { CoerceDtoClassOptions } from './coerce-dto-class';
2
+ export interface CoerceRowDtoClassOptions extends CoerceDtoClassOptions {
3
+ /**
4
+ * the type of the property used as row id type. defaults to the type 'string'. If null the type will be
5
+ * set to number
6
+ */
7
+ rowIdType?: string | null;
8
+ }
9
+ export declare function CoerceRowDtoClass(options: CoerceRowDtoClassOptions): import("./coerce-dto-class").CoerceDtoClassOutput;
@@ -0,0 +1,18 @@
1
+ import { CoerceSuffix } from '@rxap/schematics-utilities';
2
+ import { CoerceDtoClass, } from './coerce-dto-class';
3
+ export function CoerceRowDtoClass(options) {
4
+ let { rowIdType, project, name, propertyList, classStructure, importStructureList, } = options;
5
+ propertyList ??= [];
6
+ propertyList.unshift({
7
+ name: '__rowId',
8
+ type: rowIdType === null ? 'number' : rowIdType ?? 'string',
9
+ });
10
+ return CoerceDtoClass({
11
+ project,
12
+ name: CoerceSuffix(name, '-row'),
13
+ propertyList,
14
+ classStructure,
15
+ importStructureList,
16
+ });
17
+ }
18
+ //# sourceMappingURL=coerce-row-dto-class.js.map
@@ -0,0 +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,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EACL,cAAc,GAEf,MAAM,oBAAoB,CAAC;AAU5B,MAAM,UAAU,iBAAiB,CAAC,OAAiC;IACjE,IAAI,EACF,SAAS,EACT,OAAO,EACP,IAAI,EACJ,YAAY,EACZ,cAAc,EACd,mBAAmB,GACpB,GAAG,OAAO,CAAC;IACZ,YAAY,KAAK,EAAE,CAAC;IACpB,YAAY,CAAC,OAAO,CAClB;QACE,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,IAAI,QAAQ;KAC5D,CACF,CAAC;IACF,OAAO,cAAc,CAAC;QACpB,OAAO;QACP,IAAI,EAAE,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC;QAChC,YAAY;QACZ,cAAc;QACd,mBAAmB;KACpB,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { CoerceFormSubmitOperationOptions } from './coerce-form-submit-operation';
2
+ export interface CoerceSubmitDataGridOperationOptions extends Omit<CoerceFormSubmitOperationOptions, 'operationName'> {
3
+ collection?: boolean;
4
+ }
5
+ export declare function CoerceSubmitDataGridOperation(options: Readonly<CoerceSubmitDataGridOperationOptions>): import("@angular-devkit/schematics").Rule;
@@ -0,0 +1,14 @@
1
+ import { CoerceSuffix } from '@rxap/schematics-utilities';
2
+ import { CoerceFormSubmitOperation, } from './coerce-form-submit-operation';
3
+ export function CoerceSubmitDataGridOperation(options) {
4
+ let { paramList, collection, controllerName, } = options;
5
+ collection ??= false;
6
+ paramList ??= [];
7
+ controllerName = CoerceSuffix(controllerName, '-data-grid');
8
+ return CoerceFormSubmitOperation({
9
+ ...options,
10
+ controllerName,
11
+ paramList,
12
+ });
13
+ }
14
+ //# sourceMappingURL=coerce-submit-data-grid-operation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"coerce-submit-data-grid-operation.js","sourceRoot":"","sources":["../../../../../../../packages/schematic/ts-morph/src/lib/nest/coerce-submit-data-grid-operation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EACL,yBAAyB,GAE1B,MAAM,gCAAgC,CAAC;AAMxC,MAAM,UAAU,6BAA6B,CAAC,OAAuD;IACnG,IAAI,EACF,SAAS,EACT,UAAU,EACV,cAAc,GACf,GAAG,OAAO,CAAC;IACZ,UAAU,KAAK,KAAK,CAAC;IACrB,SAAS,KAAK,EAAE,CAAC;IACjB,cAAc,GAAG,YAAY,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;IAE5D,OAAO,yBAAyB,CAAC;QAC/B,GAAG,OAAO;QACV,cAAc;QACd,SAAS;KACV,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { CoerceGetPageOperationOptions } from './coerce-get-page-operation';
2
+ export interface CoerceTableSelectOperationOptions extends CoerceGetPageOperationOptions {
3
+ rowDisplayProperty?: string;
4
+ rowValueProperty?: string;
5
+ }
6
+ export declare function CoerceTableSelectOperationRule(options: CoerceTableSelectOperationOptions): import("@angular-devkit/schematics").Rule;
@@ -0,0 +1,23 @@
1
+ import { CoerceGetPageOperation, } from './coerce-get-page-operation';
2
+ export function CoerceTableSelectOperationRule(options) {
3
+ let { columnList, rowIdProperty, rowDisplayProperty, rowValueProperty, } = options;
4
+ rowIdProperty ??= 'uuid';
5
+ rowDisplayProperty ??= 'name';
6
+ rowValueProperty ??= rowIdProperty;
7
+ columnList.unshift({
8
+ name: '__display',
9
+ type: 'string',
10
+ source: rowDisplayProperty,
11
+ });
12
+ columnList.unshift({
13
+ name: '__value',
14
+ type: 'string',
15
+ source: rowValueProperty,
16
+ });
17
+ return CoerceGetPageOperation({
18
+ ...options,
19
+ columnList,
20
+ rowIdProperty,
21
+ });
22
+ }
23
+ //# sourceMappingURL=coerce-table-select-operation.js.map
@@ -0,0 +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,OAAO,EACL,sBAAsB,GAEvB,MAAM,6BAA6B,CAAC;AAOrC,MAAM,UAAU,8BAA8B,CAAC,OAA0C;IACvF,IAAI,EACF,UAAU,EACV,aAAa,EACb,kBAAkB,EAClB,gBAAgB,GACjB,GAAG,OAAO,CAAC;IAEZ,aAAa,KAAK,MAAM,CAAC;IACzB,kBAAkB,KAAK,MAAM,CAAC;IAC9B,gBAAgB,KAAK,aAAa,CAAC;IAEnC,UAAU,CAAC,OAAO,CAAC;QACjB,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,QAAQ;QACd,MAAM,EAAE,kBAAkB;KAC3B,CAAC,CAAC;IACH,UAAU,CAAC,OAAO,CAAC;QACjB,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,QAAQ;QACd,MAAM,EAAE,gBAAgB;KACzB,CAAC,CAAC;IAEH,OAAO,sBAAsB,CAAC;QAC5B,GAAG,OAAO;QACV,UAAU;QACV,aAAa;KACd,CAAC,CAAC;AAEL,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { CoerceOperationOptions } from './coerce-operation';
2
+ export interface CoerceTableSelectValueResolveOperationOptions extends Omit<CoerceOperationOptions, 'tsMorphTransform'> {
3
+ /**
4
+ * The base name of the page and row DTO class name. Defaults to the controller name
5
+ */
6
+ responseDtoName?: string;
7
+ }
8
+ export declare function CoerceTableSelectValueResolveOperationRule(options: CoerceTableSelectValueResolveOperationOptions): import("@angular-devkit/schematics").Rule;
@@ -0,0 +1,39 @@
1
+ import { CoerceImports } from '../ts-morph/coerce-imports';
2
+ import { CoerceOperation, } from './coerce-operation';
3
+ import { CoercePageDtoClass } from './coerce-page-dto-class';
4
+ import { CoerceRowDtoClass } from './coerce-row-dto-class';
5
+ export function CoerceTableSelectValueResolveOperationRule(options) {
6
+ let { responseDtoName, controllerName, } = options;
7
+ responseDtoName ??= controllerName;
8
+ return CoerceOperation({
9
+ ...options,
10
+ tsMorphTransform: (project, sourceFile, classDeclaration, controllerName) => {
11
+ const { className: rowClassName, filePath: rowFilePath, } = CoerceRowDtoClass({
12
+ project,
13
+ name: responseDtoName,
14
+ });
15
+ const { className: pageClassName, filePath: pageFilePath, } = CoercePageDtoClass({
16
+ project,
17
+ name: responseDtoName,
18
+ rowClassName,
19
+ rowFilePath,
20
+ });
21
+ CoerceImports(sourceFile, {
22
+ moduleSpecifier: rowFilePath,
23
+ namedImports: [rowClassName],
24
+ });
25
+ return {
26
+ returnType: rowClassName,
27
+ statements: [
28
+ 'const item = {} as any',
29
+ 'return plainToInstance(',
30
+ rowClassName + ',',
31
+ `this.to${rowClassName}(item),`,
32
+ 'classTransformOptions',
33
+ ')',
34
+ ],
35
+ };
36
+ },
37
+ });
38
+ }
39
+ //# sourceMappingURL=coerce-table-select-value-resolve-operation.js.map
@@ -0,0 +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":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EACL,eAAe,GAEhB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAU3D,MAAM,UAAU,0CAA0C,CAAC,OAAsD;IAC/G,IAAI,EACF,eAAe,EACf,cAAc,GACf,GAAG,OAAO,CAAC;IACZ,eAAe,KAAK,cAAc,CAAC;IAEnC,OAAO,eAAe,CAAC;QACrB,GAAG,OAAO;QACV,gBAAgB,EAAE,CAAC,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,cAAc,EAAE,EAAE;YAE1E,MAAM,EACJ,SAAS,EAAE,YAAY,EACvB,QAAQ,EAAE,WAAW,GACtB,GAAG,iBAAiB,CAAC;gBACpB,OAAO;gBACP,IAAI,EAAE,eAAgB;aACvB,CAAC,CAAC;YAEH,MAAM,EACJ,SAAS,EAAE,aAAa,EACxB,QAAQ,EAAE,YAAY,GACvB,GAAG,kBAAkB,CAAC;gBACrB,OAAO;gBACP,IAAI,EAAE,eAAgB;gBACtB,YAAY;gBACZ,WAAW;aACZ,CAAC,CAAC;YAEH,aAAa,CAAC,UAAU,EAAE;gBACxB,eAAe,EAAE,WAAW;gBAC5B,YAAY,EAAE,CAAE,YAAY,CAAE;aAC/B,CAAC,CAAC;YAEH,OAAO;gBACL,UAAU,EAAE,YAAY;gBACxB,UAAU,EAAE;oBACV,wBAAwB;oBACxB,yBAAyB;oBACzB,YAAY,GAAG,GAAG;oBAClB,UAAW,YAAa,SAAS;oBACjC,uBAAuB;oBACvB,GAAG;iBACJ;aACF,CAAC;QAEJ,CAAC;KACF,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { CoerceOperationOptions } from './coerce-operation';
2
+ export interface CoerceTreeOperationOptions extends Omit<CoerceOperationOptions, 'operationName'> {
3
+ operationName?: string;
4
+ fullTree?: boolean;
5
+ }
6
+ export declare function CoerceTreeOperationRule(options: CoerceTreeOperationOptions): import("@angular-devkit/schematics").Rule;
@@ -0,0 +1,59 @@
1
+ import { CoerceImports } from '../ts-morph/coerce-imports';
2
+ import { CoerceDtoClass } from './coerce-dto-class';
3
+ import { CoerceOperation, } from './coerce-operation';
4
+ export function CoerceTreeOperationRule(options) {
5
+ let { tsMorphTransform, operationName, fullTree, path, } = options;
6
+ operationName ??= 'tree';
7
+ fullTree ??= false;
8
+ path ??= 'tree';
9
+ tsMorphTransform ??= () => ({});
10
+ if (!fullTree) {
11
+ throw new Error('non full tree not implemented yet');
12
+ }
13
+ return CoerceOperation({
14
+ ...options,
15
+ path,
16
+ operationName,
17
+ tsMorphTransform: (project, sourceFile, classDeclaration, controllerName) => {
18
+ const { className, filePath, } = CoerceDtoClass({
19
+ project,
20
+ name: 'TreeNode',
21
+ propertyList: [
22
+ {
23
+ name: 'id',
24
+ type: 'string',
25
+ },
26
+ {
27
+ name: 'name',
28
+ type: 'string',
29
+ },
30
+ {
31
+ name: 'type',
32
+ type: 'string',
33
+ },
34
+ {
35
+ name: 'icon',
36
+ type: 'IconConfigDto',
37
+ isType: true,
38
+ },
39
+ {
40
+ name: 'children',
41
+ isOptional: true,
42
+ isArray: true,
43
+ isType: true,
44
+ type: '<self>',
45
+ },
46
+ ]
47
+ });
48
+ CoerceImports(sourceFile, {
49
+ namedImports: [className],
50
+ moduleSpecifier: filePath,
51
+ });
52
+ return {
53
+ returnType: className + '[]',
54
+ ...tsMorphTransform(project, sourceFile, classDeclaration, controllerName),
55
+ };
56
+ },
57
+ });
58
+ }
59
+ //# sourceMappingURL=coerce-tree-operation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"coerce-tree-operation.js","sourceRoot":"","sources":["../../../../../../../packages/schematic/ts-morph/src/lib/nest/coerce-tree-operation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EACL,eAAe,GAEhB,MAAM,oBAAoB,CAAC;AAO5B,MAAM,UAAU,uBAAuB,CAAC,OAAmC;IACzE,IAAI,EACF,gBAAgB,EAChB,aAAa,EACb,QAAQ,EACR,IAAI,GACL,GAAG,OAAO,CAAC;IACZ,aAAa,KAAK,MAAM,CAAC;IACzB,QAAQ,KAAK,KAAK,CAAC;IACnB,IAAI,KAAK,MAAM,CAAC;IAChB,gBAAgB,KAAK,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;IAEhC,IAAI,CAAC,QAAQ,EAAE;QACb,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;KACtD;IAED,OAAO,eAAe,CAAC;QACrB,GAAG,OAAO;QACV,IAAI;QACJ,aAAa;QACb,gBAAgB,EAAE,CAAC,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,cAAc,EAAE,EAAE;YAE1E,MAAM,EACJ,SAAS,EACT,QAAQ,GACT,GAAG,cAAc,CAAC;gBACjB,OAAO;gBACP,IAAI,EAAE,UAAU;gBAChB,YAAY,EAAE;oBACd;wBACE,IAAI,EAAE,IAAI;wBACV,IAAI,EAAE,QAAQ;qBACf;oBACD;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,QAAQ;qBACf;oBACD;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,QAAQ;qBACf;oBACD;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,eAAe;wBACrB,MAAM,EAAE,IAAI;qBACb;oBACD;wBACE,IAAI,EAAE,UAAU;wBAChB,UAAU,EAAE,IAAI;wBAChB,OAAO,EAAE,IAAI;wBACb,MAAM,EAAE,IAAI;wBACZ,IAAI,EAAE,QAAQ;qBACf;iBACA;aACF,CAAC,CAAC;YAEH,aAAa,CACX,UAAU,EACV;gBACE,YAAY,EAAE,CAAE,SAAS,CAAE;gBAC3B,eAAe,EAAE,QAAQ;aAC1B,CACF,CAAC;YAEF,OAAO;gBACL,UAAU,EAAE,SAAS,GAAG,IAAI;gBAC5B,GAAG,gBAAiB,CAAC,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,cAAc,CAAC;aAC5E,CAAC;QACJ,CAAC;KACF,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,19 @@
1
+ import { ClassDeclaration, ClassDeclarationStructure, ImportDeclarationStructure, OptionalKind, SourceFile, WriterFunction } from 'ts-morph';
2
+ export interface DtoClassProperty {
3
+ name: string;
4
+ /**
5
+ * The type of the property
6
+ *
7
+ * if type = '<self>' the type will be the name of the class
8
+ */
9
+ type: string | WriterFunction;
10
+ isArray?: boolean;
11
+ isType?: boolean;
12
+ isOptional?: boolean;
13
+ /**
14
+ * Use to import the type
15
+ */
16
+ moduleSpecifier?: string;
17
+ }
18
+ export declare function CreateDtoClass(sourceFile: SourceFile, className: string, propertyList: DtoClassProperty[], classStructure?: Omit<OptionalKind<ClassDeclarationStructure>, 'name'>, structures?: Array<OptionalKind<ImportDeclarationStructure>>): ClassDeclaration;
19
+ export declare function CreatePageDtoClass(sourceFile: SourceFile, className: string, rowType: string | WriterFunction, classStructure?: Omit<OptionalKind<ClassDeclarationStructure>, 'name'>, structures?: Array<OptionalKind<ImportDeclarationStructure>>): ClassDeclaration;