@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":"add-control-validator.js","sourceRoot":"","sources":["../../../../../../../packages/schematic/ts-morph/src/lib/angular/add-control-validator.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,EAEtB,kBAAkB,GACnB,MAAM,UAAU,CAAC;AAElB,MAAM,UAAU,iCAAiC,CAAC,CAAS,EAAE,CAAS;IACpE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;AACjF,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,SAAiB,EACjB,cAAuC,EACvC,YAA+C,iCAAiC;IAGhF,IAAI,2BAA2B,GAAG,cAAc,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;IAE3E,IAAI,CAAC,2BAA2B,EAAE;QAChC,2BAA2B,GAAG,cAAc,CAAC,qBAAqB,CAAC;YACjE,IAAI,EAAE,YAAY;YAClB,WAAW,EAAE,IAAI;SAClB,CAAC,CAAC;KACJ;IAED,IAAI,CAAC,CAAC,2BAA2B,YAAY,kBAAkB,CAAC,EAAE;QAChE,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;KACrE;IAED,MAAM,iBAAiB,GAAG,2BAA2B,CAAC,cAAc,EAAE,CAAC;IAEvE,IAAI,iBAAiB,YAAY,sBAAsB,EAAE;QACvD,MAAM,KAAK,GAAG,iBAAiB;aAC5B,WAAW,EAAE;aACb,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,SAAS,CAAC,CAAC,CAAC;QACrE,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;YAChB,iBAAiB,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;SACzC;aAAM;YACL,iBAAiB,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YACvC,iBAAiB,CAAC,aAAa,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;SACnD;KACF;AAEH,CAAC"}
@@ -0,0 +1,52 @@
1
+ import { Scope, Writers, } from 'ts-morph';
2
+ import { CoerceClassConstructor } from '../coerce-class-constructor';
3
+ import { CoerceImports } from '../ts-morph/coerce-imports';
4
+ export var Module;
5
+ (function (Module) {
6
+ Module["ANGULAR"] = "@angular/core";
7
+ Module["NEST"] = "@nestjs/common";
8
+ })(Module || (Module = {}));
9
+ export function AddDependencyInjection(sourceFile, definition, structures = []) {
10
+ if (!definition.module) {
11
+ definition.module = Module.ANGULAR;
12
+ }
13
+ const classDeclaration = sourceFile.getClasses()[0];
14
+ if (!classDeclaration) {
15
+ throw new Error('Could not find class declaration');
16
+ }
17
+ const constructorDeclarations = CoerceClassConstructor(classDeclaration);
18
+ const constructorDeclaration = constructorDeclarations[0];
19
+ if (constructorDeclaration.getParameter(definition.parameterName)) {
20
+ return;
21
+ }
22
+ const constructorParameter = {
23
+ name: definition.parameterName,
24
+ type: definition.type ?? definition.injectionToken,
25
+ scope: definition.scope ?? Scope.Public,
26
+ isReadonly: true,
27
+ decorators: [
28
+ {
29
+ name: 'Inject',
30
+ arguments: [definition.injectionToken],
31
+ },
32
+ ],
33
+ };
34
+ if (definition.optional) {
35
+ constructorParameter.decorators?.unshift({
36
+ name: 'Optional',
37
+ arguments: [],
38
+ });
39
+ constructorParameter.type = Writers.intersectionType(definition.type ?? definition.injectionToken, 'null');
40
+ CoerceImports(sourceFile, {
41
+ namedImports: ['Optional'],
42
+ moduleSpecifier: definition.module,
43
+ });
44
+ }
45
+ constructorDeclaration.addParameter(constructorParameter);
46
+ CoerceImports(sourceFile, {
47
+ namedImports: ['Inject'],
48
+ moduleSpecifier: definition.module,
49
+ });
50
+ CoerceImports(sourceFile, structures);
51
+ }
52
+ //# sourceMappingURL=add-dependency-injection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"add-dependency-injection.js","sourceRoot":"","sources":["../../../../../../../packages/schematic/ts-morph/src/lib/angular/add-dependency-injection.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,EAEL,OAAO,GACR,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAE3D,MAAM,CAAN,IAAY,MAGX;AAHD,WAAY,MAAM;IAChB,mCAAyB,CAAA;IACzB,iCAAuB,CAAA;AACzB,CAAC,EAHW,MAAM,KAAN,MAAM,QAGjB;AAWD,MAAM,UAAU,sBAAsB,CACpC,UAAsB,EACtB,UAA+B,EAC/B,aAAsE,EAAE;IAGxE,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE;QACtB,UAAU,CAAC,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC;KACpC;IAED,MAAM,gBAAgB,GAAG,UAAU,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC;IAEpD,IAAI,CAAC,gBAAgB,EAAE;QACrB,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;KACrD;IAED,MAAM,uBAAuB,GAAG,sBAAsB,CAAC,gBAAgB,CAAC,CAAC;IACzE,MAAM,sBAAsB,GAAG,uBAAuB,CAAC,CAAC,CAAC,CAAC;IAE1D,IAAI,sBAAsB,CAAC,YAAY,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE;QACjE,OAAO;KACR;IAED,MAAM,oBAAoB,GAAgD;QACxE,IAAI,EAAE,UAAU,CAAC,aAAa;QAC9B,IAAI,EAAE,UAAU,CAAC,IAAI,IAAI,UAAU,CAAC,cAAc;QAClD,KAAK,EAAE,UAAU,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM;QACvC,UAAU,EAAE,IAAI;QAChB,UAAU,EAAE;YACV;gBACE,IAAI,EAAE,QAAQ;gBACd,SAAS,EAAE,CAAE,UAAU,CAAC,cAAc,CAAE;aACzC;SACF;KACF,CAAC;IAEF,IAAI,UAAU,CAAC,QAAQ,EAAE;QACvB,oBAAoB,CAAC,UAAU,EAAE,OAAO,CAAC;YACvC,IAAI,EAAE,UAAU;YAChB,SAAS,EAAE,EAAE;SACd,CAAC,CAAC;QACH,oBAAoB,CAAC,IAAI,GAAG,OAAO,CAAC,gBAAgB,CAClD,UAAU,CAAC,IAAI,IAAI,UAAU,CAAC,cAAc,EAC5C,MAAM,CACP,CAAC;QACF,aAAa,CAAC,UAAU,EAAE;YACxB,YAAY,EAAE,CAAE,UAAU,CAAE;YAC5B,eAAe,EAAE,UAAU,CAAC,MAAM;SACnC,CAAC,CAAC;KACJ;IAED,sBAAsB,CAAC,YAAY,CAAC,oBAAoB,CAAC,CAAC;IAE1D,aAAa,CAAC,UAAU,EAAE;QACxB,YAAY,EAAE,CAAE,QAAQ,CAAE;QAC1B,eAAe,EAAE,UAAU,CAAC,MAAM;KACnC,CAAC,CAAC;IAEH,aAAa,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;AACxC,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { SourceFile } from 'ts-morph';
2
+ export declare function AddNgModuleExport(sourceFile: SourceFile, namedImport: string, moduleSpecifier?: string): void;
@@ -0,0 +1,17 @@
1
+ import { GetCoerceArrayLiteralFromObjectLiteral } from '../get-coerce-array-literal-form-object-literal';
2
+ import { CoerceImports } from '../ts-morph/coerce-imports';
3
+ import { GetNgModuleOptionsObject } from './get-ng-module-options-object';
4
+ export function AddNgModuleExport(sourceFile, namedImport, moduleSpecifier) {
5
+ if (moduleSpecifier) {
6
+ CoerceImports(sourceFile, {
7
+ moduleSpecifier,
8
+ namedImports: [namedImport],
9
+ });
10
+ }
11
+ const ngModuleOptions = GetNgModuleOptionsObject(sourceFile);
12
+ const importsArray = GetCoerceArrayLiteralFromObjectLiteral(ngModuleOptions, 'exports');
13
+ if (!importsArray.getElements().some(element => element.getFullText().trim() === namedImport)) {
14
+ importsArray.addElement(namedImport);
15
+ }
16
+ }
17
+ //# sourceMappingURL=add-ng-module-export.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"add-ng-module-export.js","sourceRoot":"","sources":["../../../../../../../packages/schematic/ts-morph/src/lib/angular/add-ng-module-export.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sCAAsC,EAAE,MAAM,iDAAiD,CAAC;AAEzG,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;AAE1E,MAAM,UAAU,iBAAiB,CAAC,UAAsB,EAAE,WAAmB,EAAE,eAAwB;IAErG,IAAI,eAAe,EAAE;QACnB,aAAa,CAAC,UAAU,EAAE;YACxB,eAAe;YACf,YAAY,EAAE,CAAE,WAAW,CAAE;SAC9B,CAAC,CAAC;KACJ;IAED,MAAM,eAAe,GAAG,wBAAwB,CAAC,UAAU,CAAC,CAAC;IAE7D,MAAM,YAAY,GAAG,sCAAsC,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;IAExF,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,KAAK,WAAW,CAAC,EAAE;QAC7F,YAAY,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;KACtC;AAEH,CAAC"}
@@ -0,0 +1,17 @@
1
+ import { GetCoerceArrayLiteralFromObjectLiteral } from '../get-coerce-array-literal-form-object-literal';
2
+ import { CoerceImports } from '../ts-morph/coerce-imports';
3
+ import { GetNgModuleOptionsObject } from './get-ng-module-options-object';
4
+ export function AddNgModuleImport(sourceFile, namedImport, moduleSpecifier) {
5
+ if (moduleSpecifier) {
6
+ CoerceImports(sourceFile, {
7
+ moduleSpecifier,
8
+ namedImports: [namedImport],
9
+ });
10
+ }
11
+ const ngModuleOptions = GetNgModuleOptionsObject(sourceFile);
12
+ const importsArray = GetCoerceArrayLiteralFromObjectLiteral(ngModuleOptions, 'imports');
13
+ if (!importsArray.getElements().some(element => element.getFullText().trim() === namedImport)) {
14
+ importsArray.addElement(namedImport);
15
+ }
16
+ }
17
+ //# sourceMappingURL=add-ng-module-import.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"add-ng-module-import.js","sourceRoot":"","sources":["../../../../../../../packages/schematic/ts-morph/src/lib/angular/add-ng-module-import.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sCAAsC,EAAE,MAAM,iDAAiD,CAAC;AACzG,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;AAE1E,MAAM,UAAU,iBAAiB,CAAC,UAAsB,EAAE,WAAmB,EAAE,eAAwB;IAErG,IAAI,eAAe,EAAE;QACnB,aAAa,CAAC,UAAU,EAAE;YACxB,eAAe;YACf,YAAY,EAAE,CAAE,WAAW,CAAE;SAC9B,CAAC,CAAC;KACJ;IAED,MAAM,eAAe,GAAG,wBAAwB,CAAC,UAAU,CAAC,CAAC;IAE7D,MAAM,YAAY,GAAG,sCAAsC,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;IAExF,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,KAAK,WAAW,CAAC,EAAE;QAC7F,YAAY,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;KACtC;AAEH,CAAC"}
@@ -1,3 +1,3 @@
1
- import { SourceFile, OptionalKind, ImportDeclarationStructure } from 'ts-morph';
2
- import { ProviderObject } from './provider-object';
1
+ import { ImportDeclarationStructure, OptionalKind, SourceFile } from 'ts-morph';
2
+ import { ProviderObject } from '../provider-object';
3
3
  export declare function AddNgModuleProvider(sourceFile: SourceFile, providerObject: ProviderObject | string, structures?: ReadonlyArray<OptionalKind<ImportDeclarationStructure>>, overwrite?: boolean): void;
@@ -0,0 +1,11 @@
1
+ import { AddProviderToArray } from '../add-provider-to-array';
2
+ import { GetCoerceArrayLiteralFromObjectLiteral } from '../get-coerce-array-literal-form-object-literal';
3
+ import { CoerceImports } from '../ts-morph/coerce-imports';
4
+ import { GetNgModuleOptionsObject } from './get-ng-module-options-object';
5
+ export function AddNgModuleProvider(sourceFile, providerObject, structures = [], overwrite = false) {
6
+ CoerceImports(sourceFile, structures);
7
+ const ngModuleOptions = GetNgModuleOptionsObject(sourceFile);
8
+ const providerArray = GetCoerceArrayLiteralFromObjectLiteral(ngModuleOptions, 'providers');
9
+ AddProviderToArray(providerObject, providerArray, overwrite);
10
+ }
11
+ //# sourceMappingURL=add-ng-module-provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"add-ng-module-provider.js","sourceRoot":"","sources":["../../../../../../../packages/schematic/ts-morph/src/lib/angular/add-ng-module-provider.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,sCAAsC,EAAE,MAAM,iDAAiD,CAAC;AAEzG,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;AAE1E,MAAM,UAAU,mBAAmB,CACjC,UAAsB,EACtB,cAAuC,EACvC,aAAsE,EAAE,EACxE,SAAS,GAAG,KAAK;IAGjB,aAAa,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IAEtC,MAAM,eAAe,GAAG,wBAAwB,CAAC,UAAU,CAAC,CAAC;IAE7D,MAAM,aAAa,GAAG,sCAAsC,CAAC,eAAe,EAAE,WAAW,CAAC,CAAC;IAE3F,kBAAkB,CAAC,cAAc,EAAE,aAAa,EAAE,SAAS,CAAC,CAAC;AAE/D,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { Tree } from '@angular-devkit/schematics';
2
+ export interface BuildAngularBasePathOptions {
3
+ project: string;
4
+ feature?: string | null;
5
+ shared?: boolean;
6
+ directory?: string | null;
7
+ }
8
+ export declare function BuildAngularBasePath(host: Tree, options: Readonly<BuildAngularBasePathOptions>): string;
@@ -0,0 +1,16 @@
1
+ import { GetProjectSourceRoot, GetProjectType, } from '@rxap/schematics-utilities';
2
+ import { join } from 'path';
3
+ export function BuildAngularBasePath(host, options) {
4
+ let { project, feature, directory, shared, } = options;
5
+ directory ??= '';
6
+ project = shared ? 'shared' : project;
7
+ const projectSourceRoot = GetProjectSourceRoot(host, project);
8
+ const type = GetProjectType(host, project);
9
+ if (feature) {
10
+ return join(projectSourceRoot, type === 'library' ? 'lib' : '', 'feature', feature, directory);
11
+ }
12
+ else {
13
+ return join(projectSourceRoot, type === 'library' ? 'lib' : '', 'app', directory);
14
+ }
15
+ }
16
+ //# sourceMappingURL=build-angular-base-path.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"build-angular-base-path.js","sourceRoot":"","sources":["../../../../../../../packages/schematic/ts-morph/src/lib/angular/build-angular-base-path.ts"],"names":[],"mappings":"AACA,OAAO,EACL,oBAAoB,EACpB,cAAc,GACf,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAS5B,MAAM,UAAU,oBAAoB,CAAC,IAAU,EAAE,OAA8C;IAC7F,IAAI,EACF,OAAO,EACP,OAAO,EACP,SAAS,EACT,MAAM,GACP,GAAG,OAAO,CAAC;IACZ,SAAS,KAAK,EAAE,CAAC;IACjB,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC;IACtC,MAAM,iBAAiB,GAAG,oBAAoB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC9D,MAAM,IAAI,GAAG,cAAc,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC3C,IAAI,OAAO,EAAE;QACX,OAAO,IAAI,CAAC,iBAAiB,EAAE,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;KAChG;SAAM;QACL,OAAO,IAAI,CAAC,iBAAiB,EAAE,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;KACnF;AACH,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { Rule } from '@angular-devkit/schematics';
2
+ export interface CoerceAccordionComponentOptions {
3
+ accordionName: string;
4
+ project: string;
5
+ feature?: string;
6
+ }
7
+ export declare function CoerceAccordionComponent(options: CoerceAccordionComponentOptions): Rule;
@@ -0,0 +1,18 @@
1
+ import { HasAccordionComponent } from './has-accordion-component';
2
+ import { ExecuteSchematic } from '@rxap/schematics-utilities';
3
+ export function CoerceAccordionComponent(options) {
4
+ const { accordionName, project, feature, } = options;
5
+ return tree => {
6
+ if (!HasAccordionComponent(tree, options)) {
7
+ console.log(`The accordion component '${accordionName}' does not exists in the feature '${feature}' of the project '${project}'. Accordion component will now be created ...`);
8
+ return ExecuteSchematic('accordion-component', {
9
+ accordionName,
10
+ project,
11
+ feature,
12
+ itemList: [],
13
+ });
14
+ }
15
+ return undefined;
16
+ };
17
+ }
18
+ //# sourceMappingURL=coerce-accordion-component.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"coerce-accordion-component.js","sourceRoot":"","sources":["../../../../../../../packages/schematic/ts-morph/src/lib/angular/coerce-accordion-component.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAQ9D,MAAM,UAAU,wBAAwB,CAAC,OAAwC;IAC/E,MAAM,EACJ,aAAa,EACb,OAAO,EACP,OAAO,GACR,GAAG,OAAO,CAAC;IACZ,OAAO,IAAI,CAAC,EAAE;QACZ,IAAI,CAAC,qBAAqB,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE;YACzC,OAAO,CAAC,GAAG,CAAC,4BAA6B,aAAc,qCAAsC,OAAQ,qBAAsB,OAAQ,gDAAgD,CAAC,CAAC;YACrL,OAAO,gBAAgB,CACrB,qBAAqB,EACrB;gBACE,aAAa;gBACb,OAAO;gBACP,OAAO;gBACP,QAAQ,EAAE,EAAE;aACb,CACF,CAAC;SACH;QACD,OAAO,SAAS,CAAC;IACnB,CAAC,CAAC;AACJ,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { ArrayLiteralExpression, ClassDeclaration, ObjectLiteralExpression, Project, SourceFile } from 'ts-morph';
2
+ import { TsMorphAngularProjectTransformOptions } from '../ts-morph-transform';
3
+ export interface CoerceComponentClassRuleOptions extends TsMorphAngularProjectTransformOptions {
4
+ componentName: string;
5
+ selector?: string;
6
+ tsMorphTransform?: (project: Project, sourceFile: SourceFile, classDeclaration: ClassDeclaration, componentDecoratorObject: ObjectLiteralExpression, providerArray: ArrayLiteralExpression) => void;
7
+ }
8
+ export declare function CoerceComponentClassRule(options: Readonly<CoerceComponentClassRuleOptions>): import("@angular-devkit/schematics").Rule;
@@ -0,0 +1,35 @@
1
+ import { SchematicsException } from '@angular-devkit/schematics';
2
+ import { classify } from '@rxap/schematics-utilities';
3
+ import { ObjectLiteralExpression, Writers, } from 'ts-morph';
4
+ import { CoerceClass } from '../coerce-class';
5
+ import { CoerceSourceFile } from '../coerce-source-file';
6
+ import { TsMorphAngularProjectTransformRule, } from '../ts-morph-transform';
7
+ import { CoerceDecorator } from '../ts-morph/coerce-decorator';
8
+ export function CoerceComponentClassRule(options) {
9
+ const { componentName, selector, tsMorphTransform, } = options;
10
+ return TsMorphAngularProjectTransformRule(options, (project) => {
11
+ const sourceFile = CoerceSourceFile(project, `/${componentName}.component.ts`);
12
+ const classDeclaration = CoerceClass(sourceFile, classify(componentName) + 'Component', {
13
+ isExported: true,
14
+ });
15
+ const componentDecoratorDeclaration = CoerceDecorator(classDeclaration, 'Component', {
16
+ arguments: [
17
+ Writers.object({
18
+ selector: selector ?? componentName,
19
+ template: '',
20
+ styles: '[]',
21
+ }),
22
+ ],
23
+ });
24
+ const componentDecoratorObject = componentDecoratorDeclaration.getArguments()[0];
25
+ if (!componentDecoratorObject) {
26
+ throw new SchematicsException(`Could not find component decorator object for component '${componentName}'`);
27
+ }
28
+ if (!(componentDecoratorObject instanceof ObjectLiteralExpression)) {
29
+ throw new SchematicsException(`Component decorator object for component '${componentName}' is not an object literal expression`);
30
+ }
31
+ // const providerArrayDeclaration = CoercePropertyDeclaration(componentDecoratorObject, 'providers', {
32
+ throw new Error('Not implemented yet');
33
+ });
34
+ }
35
+ //# sourceMappingURL=coerce-component-class.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"coerce-component-class.js","sourceRoot":"","sources":["../../../../../../../packages/schematic/ts-morph/src/lib/angular/coerce-component-class.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AACtD,OAAO,EAGL,uBAAuB,EAGvB,OAAO,GACR,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAEL,kCAAkC,GACnC,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAc/D,MAAM,UAAU,wBAAwB,CAAC,OAAkD;IACzF,MAAM,EACJ,aAAa,EACb,QAAQ,EACR,gBAAgB,GACjB,GAAG,OAAO,CAAC;IAEZ,OAAO,kCAAkC,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,EAAE;QAE7D,MAAM,UAAU,GAAG,gBAAgB,CAAC,OAAO,EAAE,IAAK,aAAc,eAAe,CAAC,CAAC;QACjF,MAAM,gBAAgB,GAAG,WAAW,CAClC,UAAU,EACV,QAAQ,CAAC,aAAa,CAAC,GAAG,WAAW,EAAE;YACrC,UAAU,EAAE,IAAI;SACjB,CACF,CAAC;QACF,MAAM,6BAA6B,GAAG,eAAe,CAAC,gBAAgB,EAAE,WAAW,EAAE;YACnF,SAAS,EAAE;gBACT,OAAO,CAAC,MAAM,CAAC;oBACb,QAAQ,EAAE,QAAQ,IAAI,aAAa;oBACnC,QAAQ,EAAE,EAAE;oBACZ,MAAM,EAAE,IAAI;iBACb,CAAC;aACH;SACF,CAAC,CAAC;QACH,MAAM,wBAAwB,GAAG,6BAA6B,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC;QACjF,IAAI,CAAC,wBAAwB,EAAE;YAC7B,MAAM,IAAI,mBAAmB,CAAC,4DAA6D,aAAc,GAAG,CAAC,CAAC;SAC/G;QACD,IAAI,CAAC,CAAC,wBAAwB,YAAY,uBAAuB,CAAC,EAAE;YAClE,MAAM,IAAI,mBAAmB,CAAC,6CAA8C,aAAc,uCAAuC,CAAC,CAAC;SACpI;QACD,sGAAsG;QACtG,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;IAEzC,CAAC,CAAC,CAAC;AAEL,CAAC"}
@@ -0,0 +1,15 @@
1
+ import { Rule } from '@angular-devkit/schematics';
2
+ import { ClassDeclaration, Project, SourceFile } from 'ts-morph';
3
+ import { TsMorphAngularProjectTransformOptions } from '../ts-morph-transform';
4
+ export interface TemplateOptions {
5
+ url?: string;
6
+ options?: Record<string, unknown> | object;
7
+ }
8
+ export interface CoerceComponentOptions extends TsMorphAngularProjectTransformOptions {
9
+ name: string;
10
+ flat?: boolean;
11
+ template?: TemplateOptions;
12
+ overwrite?: boolean;
13
+ tsMorphTransform?: (project: Project, [componentSourceFile]: [SourceFile], [componentClass]: [ClassDeclaration], options: CoerceComponentOptions) => void;
14
+ }
15
+ export declare function CoerceComponentRule(options: Readonly<CoerceComponentOptions>): Rule;
@@ -0,0 +1,82 @@
1
+ import { strings } from '@angular-devkit/core';
2
+ import { apply, applyTemplates, chain, MergeStrategy, mergeWith, move, url, } from '@angular-devkit/schematics';
3
+ import { classify, CoerceFile, dasherize, GetProjectPrefix, } from '@rxap/schematics-utilities';
4
+ import { join } from 'path';
5
+ import { Writers, } from 'ts-morph';
6
+ import { TsMorphAngularProjectTransformRule, } from '../ts-morph-transform';
7
+ import { BuildAngularBasePath } from './build-angular-base-path';
8
+ import { HasComponent } from './has-component';
9
+ export function CoerceComponentRule(options) {
10
+ let { tsMorphTransform, template, project, feature, directory, name, flat, overwrite, } = options;
11
+ overwrite ??= false;
12
+ directory ??= '';
13
+ flat ??= directory.endsWith(name);
14
+ return tree => {
15
+ const rules = [];
16
+ const basePath = BuildAngularBasePath(tree, options);
17
+ const hasComponent = HasComponent(tree, options);
18
+ const componentPath = flat ? '' : name;
19
+ const prefix = GetProjectPrefix(tree, options.project);
20
+ if (!hasComponent) {
21
+ rules.push(() => console.log(`Project '${project}' does not have a component '${name}' in the feature '${feature}' in the directory '${directory}', New component will be created.`));
22
+ rules.push(TsMorphAngularProjectTransformRule(options, (project, [componentSourceFile]) => {
23
+ componentSourceFile.addClass({
24
+ isExported: true,
25
+ name: `${classify(name)}Component`,
26
+ decorators: [
27
+ {
28
+ name: 'Component',
29
+ arguments: [
30
+ Writers.object({
31
+ selector: w => w.quote(`${prefix}-${dasherize(name)}`),
32
+ templateUrl: w => w.quote(`./${name}.component.html`),
33
+ styleUrls: w => w.write('[').quote(`./${name}.component.scss`).write(']'),
34
+ changeDetection: 'ChangeDetectionStrategy.OnPush',
35
+ standalone: 'true',
36
+ }),
37
+ ],
38
+ },
39
+ ],
40
+ });
41
+ componentSourceFile.addImportDeclarations([
42
+ {
43
+ moduleSpecifier: '@angular/core',
44
+ namedImports: ['Component', 'ChangeDetectionStrategy'],
45
+ },
46
+ ]);
47
+ }, [
48
+ join(componentPath, `${name}.component.ts?`),
49
+ ]));
50
+ rules.push(tree => {
51
+ CoerceFile(tree, join(basePath, componentPath, `${name}.component.html`), '');
52
+ CoerceFile(tree, join(basePath, componentPath, `${name}.component.scss`), '');
53
+ });
54
+ }
55
+ if (template && (overwrite || !hasComponent)) {
56
+ template.url ??= './files/component';
57
+ const templateOptions = {
58
+ ...strings,
59
+ prefix,
60
+ scope: `${prefix}`,
61
+ ...options,
62
+ ...(template?.options ?? {}),
63
+ componentName: name,
64
+ };
65
+ templateOptions['prefix'] ??= GetProjectPrefix(tree, options.project);
66
+ rules.push(() => console.log(`Template '${template.url}' will be used to modify the component.`), mergeWith(apply(url(template.url), [
67
+ applyTemplates(templateOptions),
68
+ move(flat ? basePath : join(basePath, name)),
69
+ ]), MergeStrategy.Overwrite));
70
+ }
71
+ if (tsMorphTransform) {
72
+ rules.push(TsMorphAngularProjectTransformRule(options, (project, [componentSourceFile]) => {
73
+ const componentClass = componentSourceFile.getClassOrThrow(`${classify(name)}Component`);
74
+ tsMorphTransform(project, [componentSourceFile], [componentClass], options);
75
+ }, [
76
+ join(componentPath, `${name}.component.ts`),
77
+ ]));
78
+ }
79
+ return chain(rules);
80
+ };
81
+ }
82
+ //# sourceMappingURL=coerce-component.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"coerce-component.js","sourceRoot":"","sources":["../../../../../../../packages/schematic/ts-morph/src/lib/angular/coerce-component.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ import { ClassDeclaration, Project, SourceFile, WriterFunction } from 'ts-morph';
2
+ import { TsMorphAngularProjectTransformOptions } from '../ts-morph-transform';
3
+ export interface CoerceDataSourceClassOptions extends TsMorphAngularProjectTransformOptions {
4
+ name: string;
5
+ providedInRoot?: boolean;
6
+ tsMorphTransform?: (project: Project, sourceFile: SourceFile, classDeclaration: ClassDeclaration) => void;
7
+ decorator?: {
8
+ name: string;
9
+ moduleSpecifier: string;
10
+ argument?: string | WriterFunction;
11
+ };
12
+ extends?: {
13
+ name: string;
14
+ moduleSpecifier: string;
15
+ };
16
+ coerceDecorator?: (sourceFile: SourceFile, classDeclaration: ClassDeclaration, options: CoerceDataSourceClassOptions) => void;
17
+ coerceExtends?: (sourceFile: SourceFile, classDeclaration: ClassDeclaration, options: CoerceDataSourceClassOptions) => void;
18
+ }
19
+ export declare function CoerceRxapDataSourceDecorator(sourceFile: SourceFile, classDeclaration: ClassDeclaration, options: CoerceDataSourceClassOptions): void;
20
+ export declare function CoerceExtendsBaseDataSource(sourceFile: SourceFile, classDeclaration: ClassDeclaration, options: CoerceDataSourceClassOptions): void;
21
+ export declare function CoerceDataSourceClass(options: CoerceDataSourceClassOptions): import("@angular-devkit/schematics").Rule;
@@ -0,0 +1,69 @@
1
+ import { classify, CoerceSuffix, } from '@rxap/schematics-utilities';
2
+ import { CoerceClass } from '../coerce-class';
3
+ import { CoerceSourceFile } from '../coerce-source-file';
4
+ import { TsMorphAngularProjectTransformRule, } from '../ts-morph-transform';
5
+ import { CoerceDecorator } from '../ts-morph/coerce-decorator';
6
+ import { CoerceImports } from '../ts-morph/coerce-imports';
7
+ export function CoerceRxapDataSourceDecorator(sourceFile, classDeclaration, options) {
8
+ CoerceDecorator(classDeclaration, options.decorator.name, { arguments: [options.decorator.argument] });
9
+ CoerceImports(sourceFile, {
10
+ moduleSpecifier: options.decorator.moduleSpecifier,
11
+ namedImports: [options.decorator.name],
12
+ });
13
+ }
14
+ export function CoerceExtendsBaseDataSource(sourceFile, classDeclaration, options) {
15
+ if (!classDeclaration.getExtends()) {
16
+ classDeclaration.setExtends(options.extends.name);
17
+ CoerceImports(sourceFile, [
18
+ {
19
+ moduleSpecifier: options.extends.moduleSpecifier,
20
+ namedImports: [options.extends.name],
21
+ },
22
+ ]);
23
+ }
24
+ }
25
+ export function CoerceDataSourceClass(options) {
26
+ let { name, tsMorphTransform, coerceDecorator, providedInRoot, coerceExtends, } = options;
27
+ // eslint-disable-next-line @typescript-eslint/no-empty-function
28
+ tsMorphTransform ??= () => {
29
+ };
30
+ coerceDecorator ??= CoerceRxapDataSourceDecorator;
31
+ coerceExtends ??= CoerceExtendsBaseDataSource;
32
+ options.decorator ??= {
33
+ name: 'RxapDataSource',
34
+ moduleSpecifier: '@rxap/data-source',
35
+ };
36
+ options.extends ??= {
37
+ name: 'BaseDataSource',
38
+ moduleSpecifier: '@rxap/data-source',
39
+ };
40
+ options.decorator.argument ??= w => w.quote(options.name);
41
+ const className = classify(CoerceSuffix(name, 'DataSource'));
42
+ const fileName = CoerceSuffix(name, '.data-source.ts');
43
+ return TsMorphAngularProjectTransformRule(options, (project) => {
44
+ const sourceFile = CoerceSourceFile(project, fileName);
45
+ const classDeclaration = CoerceClass(sourceFile, className, {
46
+ isExported: true,
47
+ decorators: [
48
+ {
49
+ name: 'Injectable',
50
+ arguments: [
51
+ w => {
52
+ if (providedInRoot) {
53
+ w.write(`{ providedIn: 'root' }`);
54
+ }
55
+ },
56
+ ],
57
+ },
58
+ ],
59
+ });
60
+ coerceDecorator(sourceFile, classDeclaration, options);
61
+ coerceExtends(sourceFile, classDeclaration, options);
62
+ CoerceImports(sourceFile, {
63
+ moduleSpecifier: '@angular/core',
64
+ namedImports: ['Injectable'],
65
+ });
66
+ tsMorphTransform(project, sourceFile, classDeclaration);
67
+ });
68
+ }
69
+ //# sourceMappingURL=coerce-data-source-class.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"coerce-data-source-class.js","sourceRoot":"","sources":["../../../../../../../packages/schematic/ts-morph/src/lib/angular/coerce-data-source-class.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import { Rule } from '@angular-devkit/schematics';
2
+ import { ClassDeclaration, Project, SourceFile } from 'ts-morph';
3
+ import { TsMorphAngularProjectTransformOptions } from '../ts-morph-transform';
4
+ import { TemplateOptions } from './coerce-component';
5
+ export interface CoerceDialogComponentOptions extends TsMorphAngularProjectTransformOptions {
6
+ dialogName: string;
7
+ title?: string;
8
+ overwrite?: boolean;
9
+ template?: TemplateOptions;
10
+ tsMorphTransform?: (project: Project, [componentSourceFile]: [SourceFile], [componentClass]: [ClassDeclaration], options: CoerceDialogComponentOptions) => void;
11
+ coerceSubmitMethod?: (classDeclaration: ClassDeclaration, options: CoerceDialogComponentOptions) => void;
12
+ }
13
+ export declare function DefaultDialogSubmitMethod(classDeclaration: ClassDeclaration, options: CoerceDialogComponentOptions): void;
14
+ export declare function CoerceDialogComponentRule(options: CoerceDialogComponentOptions): Rule;
@@ -0,0 +1,79 @@
1
+ import { chain, } from '@angular-devkit/schematics';
2
+ import { CoerceClassConstructor } from '../coerce-class-constructor';
3
+ import { CoerceClassMethod } from '../coerce-class-method';
4
+ import { CoerceClassProperty } from '../ts-morph/coerce-class-property';
5
+ import { CoerceImports } from '../ts-morph/coerce-imports';
6
+ import { CoerceParameterDeclaration } from '../ts-morph/coerce-parameter-declaration';
7
+ import { AddComponentImport } from './add-component-import';
8
+ import { CoerceComponentRule, } from './coerce-component';
9
+ export function DefaultDialogSubmitMethod(classDeclaration, options) {
10
+ CoerceClassMethod(classDeclaration, 'submit', {
11
+ isAsync: true,
12
+ statements: ['this.matDialogRef.close(true);'],
13
+ });
14
+ }
15
+ export function CoerceDialogComponentRule(options) {
16
+ let { template, coerceSubmitMethod, tsMorphTransform, directory, overwrite, title, dialogName, project, feature, } = options;
17
+ // eslint-disable-next-line @typescript-eslint/no-empty-function
18
+ tsMorphTransform ??= () => {
19
+ };
20
+ coerceSubmitMethod ??= DefaultDialogSubmitMethod;
21
+ return chain([
22
+ () => console.log('Coerce dialog component ...'),
23
+ CoerceComponentRule({
24
+ project,
25
+ name: dialogName,
26
+ feature,
27
+ directory,
28
+ overwrite,
29
+ template,
30
+ tsMorphTransform: (_, [componentSourceFile], [componentClass]) => {
31
+ AddComponentImport(componentSourceFile, 'FlexLayoutModule', '@angular/flex-layout');
32
+ AddComponentImport(componentSourceFile, 'MatDialogModule', '@angular/material/dialog');
33
+ AddComponentImport(componentSourceFile, 'MatButtonModule', '@angular/material/button');
34
+ AddComponentImport(componentSourceFile, 'MatProgressBarModule', '@angular/material/progress-bar');
35
+ AddComponentImport(componentSourceFile, 'CommonModule', '@angular/common');
36
+ CoerceClassProperty(componentClass, 'loading$', {
37
+ initializer: `new ToggleSubject(true)`,
38
+ isReadonly: true,
39
+ });
40
+ CoerceClassProperty(componentClass, 'invalid$', {
41
+ initializer: `new ToggleSubject(true)`,
42
+ isReadonly: true,
43
+ });
44
+ CoerceImports(componentSourceFile, [
45
+ {
46
+ namedImports: ['ToggleSubject'],
47
+ moduleSpecifier: '@rxap/rxjs',
48
+ },
49
+ {
50
+ namedImports: ['MatDialogRef', 'MAT_DIALOG_DATA'],
51
+ moduleSpecifier: '@angular/material/dialog',
52
+ },
53
+ {
54
+ namedImports: ['Inject'],
55
+ moduleSpecifier: '@angular/core',
56
+ },
57
+ ]);
58
+ const [constructorDeclaration] = CoerceClassConstructor(componentClass);
59
+ CoerceParameterDeclaration(constructorDeclaration, 'matDialogRef', {
60
+ isReadonly: true,
61
+ type: 'MatDialogRef<any>',
62
+ });
63
+ CoerceParameterDeclaration(constructorDeclaration, 'data', {
64
+ isReadonly: true,
65
+ type: 'any',
66
+ decorators: [
67
+ {
68
+ name: 'Inject',
69
+ arguments: ['MAT_DIALOG_DATA'],
70
+ },
71
+ ],
72
+ });
73
+ tsMorphTransform(_, [componentSourceFile], [componentClass], options);
74
+ coerceSubmitMethod(componentClass, options);
75
+ },
76
+ }),
77
+ ]);
78
+ }
79
+ //# sourceMappingURL=coerce-dialog-component.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"coerce-dialog-component.js","sourceRoot":"","sources":["../../../../../../../packages/schematic/ts-morph/src/lib/angular/coerce-dialog-component.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { TsMorphAngularProjectTransformOptions } from '../ts-morph-transform';
2
+ import { CoerceDialogComponentOptions } from './coerce-dialog-component';
3
+ export interface CoerceDialogTableActionComponentOptions extends CoerceDialogComponentOptions, TsMorphAngularProjectTransformOptions {
4
+ operationId: string;
5
+ tableName: string;
6
+ scope?: string | null;
7
+ }
8
+ export declare function CoerceDialogTableActionComponentRule(options: CoerceDialogTableActionComponentOptions): import("@angular-devkit/schematics").Rule;