@rxap/schematics-ts-morph 16.0.0-dev.4 → 16.0.0-dev.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (321) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/README.md +1 -1
  3. package/package.json +20 -6
  4. package/src/index.d.ts +140 -4
  5. package/src/index.js +150 -4
  6. package/src/index.js.map +1 -1
  7. package/src/lib/add-dir.js.map +1 -1
  8. package/src/lib/add-fake-provider.js +3 -3
  9. package/src/lib/add-fake-provider.js.map +1 -1
  10. package/src/lib/add-method-class.d.ts +1 -0
  11. package/src/lib/add-method-class.js +12 -4
  12. package/src/lib/add-method-class.js.map +1 -1
  13. package/src/lib/add-variable-provider.js +3 -3
  14. package/src/lib/add-variable-provider.js.map +1 -1
  15. package/src/lib/{add-component-animations.js → angular/add-component-animations.js} +3 -3
  16. package/src/lib/angular/add-component-animations.js.map +1 -0
  17. package/src/lib/{add-component-fake-provider.d.ts → angular/add-component-fake-provider.d.ts} +1 -1
  18. package/src/lib/{add-component-fake-provider.js → angular/add-component-fake-provider.js} +1 -1
  19. package/src/lib/angular/add-component-fake-provider.js.map +1 -0
  20. package/src/lib/angular/add-component-import.d.ts +2 -0
  21. package/src/lib/angular/add-component-import.js +21 -0
  22. package/src/lib/angular/add-component-import.js.map +1 -0
  23. package/src/lib/{add-component-input.js → angular/add-component-input.js} +4 -4
  24. package/src/lib/angular/add-component-input.js.map +1 -0
  25. package/src/lib/{add-component-provider.d.ts → angular/add-component-provider.d.ts} +1 -1
  26. package/src/lib/{add-component-provider.js → angular/add-component-provider.js} +4 -4
  27. package/src/lib/angular/add-component-provider.js.map +1 -0
  28. package/src/lib/angular/add-control-validator.js.map +1 -0
  29. package/src/lib/{add-dependency-injection.js → angular/add-dependency-injection.js} +5 -5
  30. package/src/lib/angular/add-dependency-injection.js.map +1 -0
  31. package/src/lib/angular/add-ng-module-export.d.ts +2 -0
  32. package/src/lib/angular/add-ng-module-export.js +21 -0
  33. package/src/lib/angular/add-ng-module-export.js.map +1 -0
  34. package/src/lib/{add-ng-module-import.js → angular/add-ng-module-import.js} +3 -3
  35. package/src/lib/angular/add-ng-module-import.js.map +1 -0
  36. package/src/lib/{add-ng-module-provider.d.ts → angular/add-ng-module-provider.d.ts} +1 -1
  37. package/src/lib/{add-ng-module-provider.js → angular/add-ng-module-provider.js} +4 -4
  38. package/src/lib/angular/add-ng-module-provider.js.map +1 -0
  39. package/src/lib/angular/build-angular-base-path.d.ts +2 -2
  40. package/src/lib/angular/build-angular-base-path.js +6 -1
  41. package/src/lib/angular/build-angular-base-path.js.map +1 -1
  42. package/src/lib/angular/coerce-accordion-component.d.ts +1 -1
  43. package/src/lib/angular/coerce-accordion-component.js +3 -3
  44. package/src/lib/angular/coerce-accordion-component.js.map +1 -1
  45. package/src/lib/angular/coerce-component-class.d.ts +1 -1
  46. package/src/lib/angular/coerce-component-class.js +7 -8
  47. package/src/lib/angular/coerce-component-class.js.map +1 -1
  48. package/src/lib/angular/coerce-component.d.ts +9 -9
  49. package/src/lib/angular/coerce-component.js +57 -18
  50. package/src/lib/angular/coerce-component.js.map +1 -1
  51. package/src/lib/angular/coerce-data-source-class.d.ts +17 -6
  52. package/src/lib/angular/coerce-data-source-class.js +51 -15
  53. package/src/lib/angular/coerce-data-source-class.js.map +1 -1
  54. package/src/lib/angular/coerce-dialog-component.d.ts +14 -0
  55. package/src/lib/angular/coerce-dialog-component.js +84 -0
  56. package/src/lib/angular/coerce-dialog-component.js.map +1 -0
  57. package/src/lib/angular/coerce-dialog-table-action-component.d.ts +8 -0
  58. package/src/lib/angular/coerce-dialog-table-action-component.js +102 -0
  59. package/src/lib/angular/coerce-dialog-table-action-component.js.map +1 -0
  60. package/src/lib/angular/coerce-dialog-table-action.d.ts +3 -0
  61. package/src/lib/angular/coerce-dialog-table-action.js +39 -0
  62. package/src/lib/angular/coerce-dialog-table-action.js.map +1 -0
  63. package/src/lib/angular/coerce-form-builder-provider.d.ts +2 -2
  64. package/src/lib/angular/coerce-form-builder-provider.js +4 -4
  65. package/src/lib/angular/coerce-form-builder-provider.js.map +1 -1
  66. package/src/lib/angular/coerce-form-component-provider.d.ts +2 -2
  67. package/src/lib/angular/coerce-form-component-provider.js +4 -4
  68. package/src/lib/angular/coerce-form-component-provider.js.map +1 -1
  69. package/src/lib/angular/coerce-form-definition-control.d.ts +20 -0
  70. package/src/lib/angular/coerce-form-definition-control.js +141 -0
  71. package/src/lib/angular/coerce-form-definition-control.js.map +1 -0
  72. package/src/lib/angular/coerce-form-definition-type.d.ts +10 -0
  73. package/src/lib/angular/coerce-form-definition-type.js +30 -0
  74. package/src/lib/angular/coerce-form-definition-type.js.map +1 -0
  75. package/src/lib/angular/coerce-form-definition.d.ts +4 -10
  76. package/src/lib/angular/coerce-form-definition.js +58 -76
  77. package/src/lib/angular/coerce-form-definition.js.map +1 -1
  78. package/src/lib/angular/coerce-form-provider.d.ts +2 -2
  79. package/src/lib/angular/coerce-form-provider.js +4 -4
  80. package/src/lib/angular/coerce-form-provider.js.map +1 -1
  81. package/src/lib/angular/coerce-form-providers-file.d.ts +2 -2
  82. package/src/lib/angular/coerce-form-providers-file.js +7 -7
  83. package/src/lib/angular/coerce-form-providers-file.js.map +1 -1
  84. package/src/lib/angular/coerce-form-table-action.d.ts +1 -0
  85. package/src/lib/angular/coerce-form-table-action.js +11 -11
  86. package/src/lib/angular/coerce-form-table-action.js.map +1 -1
  87. package/src/lib/angular/coerce-method-class.d.ts +4 -6
  88. package/src/lib/angular/coerce-method-class.js +12 -17
  89. package/src/lib/angular/coerce-method-class.js.map +1 -1
  90. package/src/lib/angular/coerce-navigation-table-action.d.ts +1 -1
  91. package/src/lib/angular/coerce-navigation-table-action.js +4 -4
  92. package/src/lib/angular/coerce-navigation-table-action.js.map +1 -1
  93. package/src/lib/angular/coerce-operation-table-action.d.ts +1 -0
  94. package/src/lib/angular/coerce-operation-table-action.js +8 -8
  95. package/src/lib/angular/coerce-operation-table-action.js.map +1 -1
  96. package/src/lib/angular/coerce-options-data-source.d.ts +6 -0
  97. package/src/lib/angular/coerce-options-data-source.js +47 -0
  98. package/src/lib/angular/coerce-options-data-source.js.map +1 -0
  99. package/src/lib/angular/coerce-project-feature.d.ts +2 -4
  100. package/src/lib/angular/coerce-project-feature.js +20 -6
  101. package/src/lib/angular/coerce-project-feature.js.map +1 -1
  102. package/src/lib/angular/coerce-proxy-remote-method-class.d.ts +3 -5
  103. package/src/lib/angular/coerce-proxy-remote-method-class.js +10 -7
  104. package/src/lib/angular/coerce-proxy-remote-method-class.js.map +1 -1
  105. package/src/lib/angular/coerce-table-action-index-provider.js +4 -6
  106. package/src/lib/angular/coerce-table-action-index-provider.js.map +1 -1
  107. package/src/lib/angular/coerce-table-action-index.js +2 -2
  108. package/src/lib/angular/coerce-table-action-index.js.map +1 -1
  109. package/src/lib/angular/coerce-table-action-provider.d.ts +3 -3
  110. package/src/lib/angular/coerce-table-action-provider.js +8 -8
  111. package/src/lib/angular/coerce-table-action-provider.js.map +1 -1
  112. package/src/lib/angular/coerce-table-action.d.ts +6 -6
  113. package/src/lib/angular/coerce-table-action.js +8 -7
  114. package/src/lib/angular/coerce-table-action.js.map +1 -1
  115. package/src/lib/angular/coerce-table-data-source.d.ts +9 -0
  116. package/src/lib/angular/coerce-table-data-source.js +50 -0
  117. package/src/lib/angular/coerce-table-data-source.js.map +1 -0
  118. package/src/lib/angular/coerce-table-parameters-from-route.js +5 -5
  119. package/src/lib/angular/coerce-table-parameters-from-route.js.map +1 -1
  120. package/src/lib/angular/coerce-table-select-resolve-value-method.d.ts +6 -0
  121. package/src/lib/angular/coerce-table-select-resolve-value-method.js +31 -0
  122. package/src/lib/angular/coerce-table-select-resolve-value-method.js.map +1 -0
  123. package/src/lib/angular/coerce-tree-table-children-proxy-remote-method-class.d.ts +1 -0
  124. package/src/lib/angular/coerce-tree-table-children-proxy-remote-method-class.js +6 -6
  125. package/src/lib/angular/coerce-tree-table-children-proxy-remote-method-class.js.map +1 -1
  126. package/src/lib/angular/coerce-tree-table-root-proxy-remote-method-class.d.ts +1 -0
  127. package/src/lib/angular/coerce-tree-table-root-proxy-remote-method-class.js +6 -6
  128. package/src/lib/angular/coerce-tree-table-root-proxy-remote-method-class.js.map +1 -1
  129. package/src/lib/angular/enforce-use-form-control-order.d.ts +5 -0
  130. package/src/lib/angular/enforce-use-form-control-order.js +33 -0
  131. package/src/lib/angular/enforce-use-form-control-order.js.map +1 -0
  132. package/src/lib/angular/find-component-module-source-file.js.map +1 -0
  133. package/src/lib/angular/find-component-source-file.js.map +1 -0
  134. package/src/lib/angular/find-routing-module.js.map +1 -0
  135. package/src/lib/angular/form-definition-utilities.d.ts +13 -0
  136. package/src/lib/angular/form-definition-utilities.js +29 -0
  137. package/src/lib/angular/form-definition-utilities.js.map +1 -0
  138. package/src/lib/angular/get-component-class.js.map +1 -0
  139. package/src/lib/angular/get-component-options-object.js.map +1 -0
  140. package/src/lib/angular/get-ng-module-options-object.js.map +1 -0
  141. package/src/lib/{handle-component-module.d.ts → angular/handle-component-module.d.ts} +1 -1
  142. package/src/lib/angular/handle-component-module.js.map +1 -0
  143. package/src/lib/{handle-component.d.ts → angular/handle-component.d.ts} +1 -1
  144. package/src/lib/angular/handle-component.js.map +1 -0
  145. package/src/lib/angular/has-accordion-component.d.ts +4 -3
  146. package/src/lib/angular/has-accordion-component.js +6 -1
  147. package/src/lib/angular/has-accordion-component.js.map +1 -1
  148. package/src/lib/angular/has-component.d.ts +2 -2
  149. package/src/lib/angular/has-component.js +2 -2
  150. package/src/lib/angular/has-component.js.map +1 -1
  151. package/src/lib/angular/has-dialog-component.d.ts +5 -0
  152. package/src/lib/angular/has-dialog-component.js +17 -0
  153. package/src/lib/angular/has-dialog-component.js.map +1 -0
  154. package/src/lib/angular/has-project-feature.d.ts +4 -3
  155. package/src/lib/angular/has-project-feature.js +5 -1
  156. package/src/lib/angular/has-project-feature.js.map +1 -1
  157. package/src/lib/angular/has-table-component.d.ts +2 -5
  158. package/src/lib/angular/has-table-component.js +5 -2
  159. package/src/lib/angular/has-table-component.js.map +1 -1
  160. package/src/lib/coerce-variable-declaration.d.ts +2 -2
  161. package/src/lib/coerce-variable-declaration.js +6 -3
  162. package/src/lib/coerce-variable-declaration.js.map +1 -1
  163. package/src/lib/get-form-providers-source-file.js +2 -2
  164. package/src/lib/get-form-providers-source-file.js.map +1 -1
  165. package/src/lib/nest/add-nest-controller.js +2 -2
  166. package/src/lib/nest/add-nest-controller.js.map +1 -1
  167. package/src/lib/nest/add-nest-module-controller.js +2 -2
  168. package/src/lib/nest/add-nest-module-controller.js.map +1 -1
  169. package/src/lib/nest/add-nest-module-import.js +2 -2
  170. package/src/lib/nest/add-nest-module-import.js.map +1 -1
  171. package/src/lib/nest/add-nest-module-provider.js +2 -2
  172. package/src/lib/nest/add-nest-module-provider.js.map +1 -1
  173. package/src/lib/nest/add-nest-module-to-app-module.d.ts +3 -4
  174. package/src/lib/nest/add-nest-module-to-app-module.js +15 -5
  175. package/src/lib/nest/add-nest-module-to-app-module.js.map +1 -1
  176. package/src/lib/{add-operation-to-controller.d.ts → nest/add-operation-to-controller.d.ts} +6 -2
  177. package/src/lib/{add-operation-to-controller.js → nest/add-operation-to-controller.js} +30 -11
  178. package/src/lib/nest/add-operation-to-controller.js.map +1 -0
  179. package/src/lib/nest/assert-nest-project.d.ts +7 -0
  180. package/src/lib/nest/assert-nest-project.js +15 -0
  181. package/src/lib/nest/assert-nest-project.js.map +1 -0
  182. package/src/lib/nest/build-nest-base-path.d.ts +2 -2
  183. package/src/lib/nest/build-nest-controller-name.d.ts +0 -3
  184. package/src/lib/nest/build-nest-controller-name.js +4 -7
  185. package/src/lib/nest/build-nest-controller-name.js.map +1 -1
  186. package/src/lib/nest/coerce-dto-class.d.ts +17 -3
  187. package/src/lib/nest/coerce-dto-class.js +72 -77
  188. package/src/lib/nest/coerce-dto-class.js.map +1 -1
  189. package/src/lib/nest/coerce-form-submit-operation.d.ts +2 -1
  190. package/src/lib/nest/coerce-form-submit-operation.js +11 -6
  191. package/src/lib/nest/coerce-form-submit-operation.js.map +1 -1
  192. package/src/lib/nest/coerce-get-by-id-operation.d.ts +3 -13
  193. package/src/lib/nest/coerce-get-by-id-operation.js +10 -14
  194. package/src/lib/nest/coerce-get-by-id-operation.js.map +1 -1
  195. package/src/lib/nest/coerce-get-children-operation.js +27 -32
  196. package/src/lib/nest/coerce-get-children-operation.js.map +1 -1
  197. package/src/lib/nest/coerce-get-data-grid-operation.d.ts +1 -1
  198. package/src/lib/nest/coerce-get-data-grid-operation.js +10 -14
  199. package/src/lib/nest/coerce-get-data-grid-operation.js.map +1 -1
  200. package/src/lib/nest/coerce-get-page-operation.d.ts +34 -5
  201. package/src/lib/nest/coerce-get-page-operation.js +140 -47
  202. package/src/lib/nest/coerce-get-page-operation.js.map +1 -1
  203. package/src/lib/nest/coerce-get-root-operation.js +27 -31
  204. package/src/lib/nest/coerce-get-root-operation.js.map +1 -1
  205. package/src/lib/nest/coerce-nest-controller.d.ts +8 -5
  206. package/src/lib/nest/coerce-nest-controller.js +63 -22
  207. package/src/lib/nest/coerce-nest-controller.js.map +1 -1
  208. package/src/lib/nest/coerce-nest-module.d.ts +4 -4
  209. package/src/lib/nest/coerce-nest-module.js +44 -18
  210. package/src/lib/nest/coerce-nest-module.js.map +1 -1
  211. package/src/lib/nest/coerce-nest-service-project.d.ts +4 -1
  212. package/src/lib/nest/coerce-nest-service-project.js +8 -5
  213. package/src/lib/nest/coerce-nest-service-project.js.map +1 -1
  214. package/src/lib/nest/coerce-operation.d.ts +11 -15
  215. package/src/lib/nest/coerce-operation.js +47 -32
  216. package/src/lib/nest/coerce-operation.js.map +1 -1
  217. package/src/lib/nest/coerce-options-operation.d.ts +8 -0
  218. package/src/lib/nest/coerce-options-operation.js +52 -0
  219. package/src/lib/nest/coerce-options-operation.js.map +1 -0
  220. package/src/lib/nest/coerce-page-dto-class.d.ts +1 -1
  221. package/src/lib/nest/coerce-page-dto-class.js +9 -3
  222. package/src/lib/nest/coerce-page-dto-class.js.map +1 -1
  223. package/src/lib/nest/coerce-row-dto-class.d.ts +7 -8
  224. package/src/lib/nest/coerce-row-dto-class.js +11 -12
  225. package/src/lib/nest/coerce-row-dto-class.js.map +1 -1
  226. package/src/lib/nest/coerce-submit-data-grid-operation.js +2 -10
  227. package/src/lib/nest/coerce-submit-data-grid-operation.js.map +1 -1
  228. package/src/lib/nest/coerce-table-select-operation.d.ts +6 -0
  229. package/src/lib/nest/coerce-table-select-operation.js +24 -0
  230. package/src/lib/nest/coerce-table-select-operation.js.map +1 -0
  231. package/src/lib/nest/coerce-table-select-value-resolve-operation.d.ts +8 -0
  232. package/src/lib/nest/coerce-table-select-value-resolve-operation.js +40 -0
  233. package/src/lib/nest/coerce-table-select-value-resolve-operation.js.map +1 -0
  234. package/src/lib/nest/coerce-tree-operation.d.ts +6 -0
  235. package/src/lib/nest/coerce-tree-operation.js +56 -0
  236. package/src/lib/nest/coerce-tree-operation.js.map +1 -0
  237. package/src/lib/{create-dto-class.d.ts → nest/create-dto-class.d.ts} +9 -0
  238. package/src/lib/{create-dto-class.js → nest/create-dto-class.js} +18 -14
  239. package/src/lib/nest/create-dto-class.js.map +1 -0
  240. package/src/lib/nest/has-nest-controller.d.ts +2 -3
  241. package/src/lib/nest/has-nest-controller.js +1 -2
  242. package/src/lib/nest/has-nest-controller.js.map +1 -1
  243. package/src/lib/nest/has-nest-module.d.ts +1 -1
  244. package/src/lib/{operation-id-utilities.d.ts → nest/operation-id-utilities.d.ts} +8 -6
  245. package/src/lib/nest/operation-id-utilities.js +104 -0
  246. package/src/lib/nest/operation-id-utilities.js.map +1 -0
  247. package/src/lib/nest/project-utilities.d.ts +8 -6
  248. package/src/lib/nest/project-utilities.js.map +1 -1
  249. package/src/lib/nest/remove-nest-module-provider.d.ts +3 -0
  250. package/src/lib/nest/remove-nest-module-provider.js +13 -0
  251. package/src/lib/nest/remove-nest-module-provider.js.map +1 -0
  252. package/src/lib/nest/remove-nest-provider-to-array.d.ts +3 -0
  253. package/src/lib/nest/remove-nest-provider-to-array.js +29 -0
  254. package/src/lib/nest/remove-nest-provider-to-array.js.map +1 -0
  255. package/src/lib/ts-morph/apply-ts-morph-project.d.ts +1 -1
  256. package/src/lib/ts-morph/apply-ts-morph-project.js +5 -67
  257. package/src/lib/ts-morph/apply-ts-morph-project.js.map +1 -1
  258. package/src/lib/ts-morph/coerce-interface.d.ts +9 -2
  259. package/src/lib/ts-morph/coerce-interface.js +20 -5
  260. package/src/lib/ts-morph/coerce-interface.js.map +1 -1
  261. package/src/lib/ts-morph/coerce-type-alias.d.ts +4 -0
  262. package/src/lib/ts-morph/coerce-type-alias.js +12 -0
  263. package/src/lib/ts-morph/coerce-type-alias.js.map +1 -0
  264. package/src/lib/ts-morph/write-type.d.ts +5 -0
  265. package/src/lib/ts-morph/write-type.js +34 -0
  266. package/src/lib/ts-morph/write-type.js.map +1 -0
  267. package/src/lib/ts-morph-transform.d.ts +27 -14
  268. package/src/lib/ts-morph-transform.js +11 -40
  269. package/src/lib/ts-morph-transform.js.map +1 -1
  270. package/src/lib/types/form-definition-control.d.ts +9 -0
  271. package/src/lib/types/form-definition-control.js +3 -0
  272. package/src/lib/types/form-definition-control.js.map +1 -0
  273. package/src/lib/add-component-animations.js.map +0 -1
  274. package/src/lib/add-component-fake-provider.js.map +0 -1
  275. package/src/lib/add-component-input.js.map +0 -1
  276. package/src/lib/add-component-provider.js.map +0 -1
  277. package/src/lib/add-control-validator.js.map +0 -1
  278. package/src/lib/add-dependency-injection.js.map +0 -1
  279. package/src/lib/add-ng-module-import.js.map +0 -1
  280. package/src/lib/add-ng-module-provider.js.map +0 -1
  281. package/src/lib/add-operation-to-controller.js.map +0 -1
  282. package/src/lib/create-dto-class.js.map +0 -1
  283. package/src/lib/find-component-module-source-file.js.map +0 -1
  284. package/src/lib/find-component-source-file.js.map +0 -1
  285. package/src/lib/find-routing-module.js.map +0 -1
  286. package/src/lib/get-component-class.js.map +0 -1
  287. package/src/lib/get-component-options-object.js.map +0 -1
  288. package/src/lib/get-ng-module-options-object.js.map +0 -1
  289. package/src/lib/handle-component-module.js.map +0 -1
  290. package/src/lib/handle-component.js.map +0 -1
  291. package/src/lib/index.d.ts +0 -48
  292. package/src/lib/index.js +0 -52
  293. package/src/lib/index.js.map +0 -1
  294. package/src/lib/nest/index.d.ts +0 -31
  295. package/src/lib/nest/index.js +0 -35
  296. package/src/lib/nest/index.js.map +0 -1
  297. package/src/lib/operation-id-utilities.js +0 -59
  298. package/src/lib/operation-id-utilities.js.map +0 -1
  299. package/src/lib/ts-morph/index.d.ts +0 -10
  300. package/src/lib/ts-morph/index.js +0 -14
  301. package/src/lib/ts-morph/index.js.map +0 -1
  302. /package/src/lib/{add-component-animations.d.ts → angular/add-component-animations.d.ts} +0 -0
  303. /package/src/lib/{add-component-input.d.ts → angular/add-component-input.d.ts} +0 -0
  304. /package/src/lib/{add-control-validator.d.ts → angular/add-control-validator.d.ts} +0 -0
  305. /package/src/lib/{add-control-validator.js → angular/add-control-validator.js} +0 -0
  306. /package/src/lib/{add-dependency-injection.d.ts → angular/add-dependency-injection.d.ts} +0 -0
  307. /package/src/lib/{add-ng-module-import.d.ts → angular/add-ng-module-import.d.ts} +0 -0
  308. /package/src/lib/{find-component-module-source-file.d.ts → angular/find-component-module-source-file.d.ts} +0 -0
  309. /package/src/lib/{find-component-module-source-file.js → angular/find-component-module-source-file.js} +0 -0
  310. /package/src/lib/{find-component-source-file.d.ts → angular/find-component-source-file.d.ts} +0 -0
  311. /package/src/lib/{find-component-source-file.js → angular/find-component-source-file.js} +0 -0
  312. /package/src/lib/{find-routing-module.d.ts → angular/find-routing-module.d.ts} +0 -0
  313. /package/src/lib/{find-routing-module.js → angular/find-routing-module.js} +0 -0
  314. /package/src/lib/{get-component-class.d.ts → angular/get-component-class.d.ts} +0 -0
  315. /package/src/lib/{get-component-class.js → angular/get-component-class.js} +0 -0
  316. /package/src/lib/{get-component-options-object.d.ts → angular/get-component-options-object.d.ts} +0 -0
  317. /package/src/lib/{get-component-options-object.js → angular/get-component-options-object.js} +0 -0
  318. /package/src/lib/{get-ng-module-options-object.d.ts → angular/get-ng-module-options-object.d.ts} +0 -0
  319. /package/src/lib/{get-ng-module-options-object.js → angular/get-ng-module-options-object.js} +0 -0
  320. /package/src/lib/{handle-component-module.js → angular/handle-component-module.js} +0 -0
  321. /package/src/lib/{handle-component.js → angular/handle-component.js} +0 -0
@@ -1,10 +1,13 @@
1
1
  import { Rule } from '@angular-devkit/schematics';
2
- export interface CoerceNestControllerOptions {
3
- project: string;
4
- feature?: string;
5
- shared?: boolean;
2
+ import { ClassDeclaration, Project, SourceFile } from 'ts-morph';
3
+ import { TsMorphNestProjectTransformOptions } from '../ts-morph-transform';
4
+ export interface CoerceNestControllerOptions extends TsMorphNestProjectTransformOptions {
6
5
  name: string;
7
- module?: string;
8
6
  nestModule?: string;
7
+ controllerPrefix?: string;
8
+ coerceModule?: boolean;
9
+ tsMorphTransform?: (project: Project, sourceFile: SourceFile, classDeclaration: ClassDeclaration, options: CoerceNestControllerOptions) => void;
10
+ skipModuleImport?: boolean;
11
+ overwrite?: boolean;
9
12
  }
10
13
  export declare function CoerceNestController(options: CoerceNestControllerOptions): Rule;
@@ -2,33 +2,74 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.CoerceNestController = void 0;
4
4
  const schematics_1 = require("@angular-devkit/schematics");
5
+ const utilities_1 = require("@rxap/utilities");
6
+ const coerce_class_1 = require("../coerce-class");
7
+ const ts_morph_transform_1 = require("../ts-morph-transform");
8
+ const coerce_decorator_1 = require("../ts-morph/coerce-decorator");
9
+ const coerce_imports_1 = require("../ts-morph/coerce-imports");
10
+ const add_nest_module_controller_1 = require("./add-nest-module-controller");
11
+ const assert_nest_project_1 = require("./assert-nest-project");
5
12
  const coerce_nest_module_1 = require("./coerce-nest-module");
6
- const coerce_nest_service_project_1 = require("./coerce-nest-service-project");
7
- const has_nest_controller_1 = require("./has-nest-controller");
8
- const project_utilities_1 = require("./project-utilities");
9
13
  function CoerceNestController(options) {
10
- let { name, module, nestModule, } = options;
11
- nestModule !== null && nestModule !== void 0 ? nestModule : (nestModule = module);
12
- if (!nestModule) {
13
- throw new schematics_1.SchematicsException('The property "nestModule" option is required for the CoerceNestController rule');
14
- }
14
+ const { project, feature, shared, controllerPrefix, directory, coerceModule, skipModuleImport, overwrite, } = options;
15
+ let { name, tsMorphTransform, nestModule } = options;
16
+ // eslint-disable-next-line @typescript-eslint/no-empty-function
17
+ tsMorphTransform !== null && tsMorphTransform !== void 0 ? tsMorphTransform : (tsMorphTransform = () => { });
18
+ name = (0, utilities_1.dasherize)(name);
19
+ nestModule !== null && nestModule !== void 0 ? nestModule : (nestModule = name);
15
20
  return (0, schematics_1.chain)([
16
- (0, coerce_nest_service_project_1.CoerceNestServiceProject)(options),
17
- (0, coerce_nest_module_1.CoerceNestModule)(Object.assign(Object.assign({}, options), { name: nestModule })),
18
- tree => {
19
- if (!(0, has_nest_controller_1.HasNestController)(tree, options)) {
20
- console.log(`The project ${(0, project_utilities_1.buildNestProjectName)(options)} has not the controller '${name}'. The controller will now be created ...`);
21
- return (0, schematics_1.externalSchematic)('@nrwl/nest', 'controller', {
22
- name,
23
- project: (0, project_utilities_1.buildNestProjectName)(options),
24
- unitTestRunner: 'none',
25
- flat: true,
26
- directory: module,
27
- module,
21
+ (0, assert_nest_project_1.AssertNestProject)({ project, feature, shared }),
22
+ coerceModule ? (0, coerce_nest_module_1.CoerceNestModule)({
23
+ project,
24
+ feature,
25
+ shared,
26
+ name: nestModule,
27
+ directory,
28
+ }) : (0, schematics_1.noop)(),
29
+ (0, ts_morph_transform_1.TsMorphNestProjectTransformRule)({
30
+ project,
31
+ feature,
32
+ shared,
33
+ directory,
34
+ }, (project, [controllerSourceFile, moduleSourceFile]) => {
35
+ const controllerDecoratorArguments = controllerPrefix ?
36
+ [w => w.quote(controllerPrefix)] :
37
+ [];
38
+ const classDeclaration = (0, coerce_class_1.CoerceClass)(controllerSourceFile, (0, utilities_1.classify)(name) + 'Controller', {
39
+ isExported: true,
40
+ decorators: [
41
+ {
42
+ name: 'Controller',
43
+ arguments: controllerDecoratorArguments,
44
+ },
45
+ ],
46
+ });
47
+ if (overwrite) {
48
+ (0, coerce_decorator_1.CoerceDecorator)(classDeclaration, 'Controller').set({
49
+ arguments: controllerDecoratorArguments,
28
50
  });
29
51
  }
30
- return (0, schematics_1.noop)();
31
- },
52
+ (0, coerce_imports_1.CoerceImports)(controllerSourceFile, [
53
+ {
54
+ namedImports: ['Controller'],
55
+ moduleSpecifier: '@nestjs/common',
56
+ },
57
+ ]);
58
+ if (!skipModuleImport) {
59
+ if (moduleSourceFile.getClass((0, utilities_1.classify)(nestModule) + 'Module')) {
60
+ (0, add_nest_module_controller_1.AddNestModuleController)(moduleSourceFile, (0, utilities_1.classify)(name) + 'Controller', [
61
+ {
62
+ namedImports: [(0, utilities_1.classify)(name) + 'Controller'],
63
+ moduleSpecifier: './' + (0, utilities_1.dasherize)(name) + '.controller',
64
+ },
65
+ ]);
66
+ }
67
+ }
68
+ tsMorphTransform(project, controllerSourceFile, classDeclaration, options);
69
+ }, [
70
+ `${(0, utilities_1.dasherize)(name)}.controller.ts?`,
71
+ `${(0, utilities_1.dasherize)(nestModule)}.module.ts?`,
72
+ ]),
32
73
  ]);
33
74
  }
34
75
  exports.CoerceNestController = CoerceNestController;
@@ -1 +1 @@
1
- {"version":3,"file":"coerce-nest-controller.js","sourceRoot":"","sources":["../../../../../../../packages/schematic/ts-morph/src/lib/nest/coerce-nest-controller.ts"],"names":[],"mappings":";;;AAAA,2DAMoC;AACpC,6DAAwD;AACxD,+EAAyE;AACzE,+DAA0D;AAC1D,2DAA2D;AAY3D,SAAgB,oBAAoB,CAAC,OAAoC;IACvE,IAAI,EACF,IAAI,EACJ,MAAM,EACN,UAAU,GACX,GAAG,OAAO,CAAC;IACZ,UAAU,aAAV,UAAU,cAAV,UAAU,IAAV,UAAU,GAAK,MAAM,EAAC;IACtB,IAAI,CAAC,UAAU,EAAE;QACf,MAAM,IAAI,gCAAmB,CAAC,gFAAgF,CAAC,CAAC;KACjH;IACD,OAAO,IAAA,kBAAK,EAAC;QACX,IAAA,sDAAwB,EAAC,OAAO,CAAC;QACjC,IAAA,qCAAgB,kCACX,OAAO,KACV,IAAI,EAAE,UAAU,IAChB;QACF,IAAI,CAAC,EAAE;YACL,IAAI,CAAC,IAAA,uCAAiB,EAAC,IAAI,EAAE,OAAO,CAAC,EAAE;gBACrC,OAAO,CAAC,GAAG,CAAC,eAAgB,IAAA,wCAAoB,EAAC,OAAO,CAAE,4BAA6B,IAAK,2CAA2C,CAAC,CAAC;gBACzI,OAAO,IAAA,8BAAiB,EACtB,YAAY,EACZ,YAAY,EACZ;oBACE,IAAI;oBACJ,OAAO,EAAE,IAAA,wCAAoB,EAAC,OAAO,CAAC;oBACtC,cAAc,EAAE,MAAM;oBACtB,IAAI,EAAE,IAAI;oBACV,SAAS,EAAE,MAAM;oBACjB,MAAM;iBACP,CACF,CAAC;aACH;YACD,OAAO,IAAA,iBAAI,GAAE,CAAC;QAChB,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AAnCD,oDAmCC"}
1
+ {"version":3,"file":"coerce-nest-controller.js","sourceRoot":"","sources":["../../../../../../../packages/schematic/ts-morph/src/lib/nest/coerce-nest-controller.ts"],"names":[],"mappings":";;;AAAA,2DAIoC;AACpC,+CAGyB;AAOzB,kDAA8C;AAC9C,8DAG+B;AAC/B,mEAA+D;AAC/D,+DAA2D;AAC3D,6EAAuE;AACvE,+DAA0D;AAC1D,6DAAwD;AAiBxD,SAAgB,oBAAoB,CAClC,OAAoC;IAEpC,MAAM,EACJ,OAAO,EACP,OAAO,EACP,MAAM,EACN,gBAAgB,EAChB,SAAS,EACT,YAAY,EACZ,gBAAgB,EAChB,SAAS,GACV,GAAG,OAAO,CAAC;IACZ,IAAI,EAAE,IAAI,EAAE,gBAAgB,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;IACrD,gEAAgE;IAChE,gBAAgB,aAAhB,gBAAgB,cAAhB,gBAAgB,IAAhB,gBAAgB,GAAK,GAAG,EAAE,GAAE,CAAC,EAAC;IAC9B,IAAI,GAAG,IAAA,qBAAS,EAAC,IAAI,CAAC,CAAC;IACvB,UAAU,aAAV,UAAU,cAAV,UAAU,IAAV,UAAU,GAAK,IAAI,EAAC;IACpB,OAAO,IAAA,kBAAK,EAAC;QACX,IAAA,uCAAiB,EAAC,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;QAC/C,YAAY,CAAC,CAAC,CAAC,IAAA,qCAAgB,EAAC;YAC9B,OAAO;YACP,OAAO;YACP,MAAM;YACN,IAAI,EAAE,UAAW;YACjB,SAAS;SACV,CAAC,CAAC,CAAC,CAAC,IAAA,iBAAI,GAAE;QACX,IAAA,oDAA+B,EAC7B;YACE,OAAO;YACP,OAAO;YACP,MAAM;YACN,SAAS;SACV,EACD,CAAC,OAAO,EAAE,CAAE,oBAAoB,EAAE,gBAAgB,CAAE,EAAE,EAAE;YACtD,MAAM,4BAA4B,GAAqB,gBAAgB,CAAC,CAAC;gBACvE,CAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAE,CAAC,CAAC;gBACpC,EAAE,CAAC;YACL,MAAM,gBAAgB,GAAG,IAAA,0BAAW,EAAC,oBAAoB,EAAE,IAAA,oBAAQ,EAAC,IAAI,CAAC,GAAG,YAAY,EAAE;gBACxF,UAAU,EAAE,IAAI;gBAChB,UAAU,EAAE;oBACV;wBACE,IAAI,EAAE,YAAY;wBAClB,SAAS,EAAE,4BAA4B;qBACxC;iBACF;aACF,CAAC,CAAC;YACH,IAAI,SAAS,EAAE;gBACb,IAAA,kCAAe,EAAC,gBAAgB,EAAE,YAAY,CAAC,CAAC,GAAG,CAAC;oBAClD,SAAS,EAAE,4BAA4B;iBACxC,CAAC,CAAC;aACJ;YACD,IAAA,8BAAa,EAAC,oBAAoB,EAAE;gBAClC;oBACE,YAAY,EAAE,CAAE,YAAY,CAAE;oBAC9B,eAAe,EAAE,gBAAgB;iBAClC;aACF,CAAC,CAAC;YACH,IAAI,CAAC,gBAAgB,EAAE;gBACrB,IAAI,gBAAgB,CAAC,QAAQ,CAAC,IAAA,oBAAQ,EAAC,UAAW,CAAC,GAAG,QAAQ,CAAC,EAAE;oBAC/D,IAAA,oDAAuB,EAAC,gBAAgB,EAAE,IAAA,oBAAQ,EAAC,IAAI,CAAC,GAAG,YAAY,EAAE;wBACvE;4BACE,YAAY,EAAE,CAAE,IAAA,oBAAQ,EAAC,IAAI,CAAC,GAAG,YAAY,CAAE;4BAC/C,eAAe,EAAE,IAAI,GAAG,IAAA,qBAAS,EAAC,IAAI,CAAC,GAAG,aAAa;yBACxD;qBACF,CAAC,CAAC;iBACJ;aACF;YACD,gBAAiB,CAAC,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,OAAO,CAAC,CAAC;QAC9E,CAAC,EACD;YACE,GAAI,IAAA,qBAAS,EAAC,IAAI,CAAE,iBAAiB;YACrC,GAAI,IAAA,qBAAS,EAAC,UAAW,CAAE,aAAa;SACzC,CACF;KACF,CAAC,CAAC;AACL,CAAC;AA5ED,oDA4EC"}
@@ -1,8 +1,8 @@
1
1
  import { Rule } from '@angular-devkit/schematics';
2
- export interface CoerceNestModuleOptions {
3
- project: string;
4
- feature?: string;
5
- shared?: boolean;
2
+ import { ClassDeclaration, Project, SourceFile } from 'ts-morph';
3
+ import { TsMorphNestProjectTransformOptions } from '../ts-morph-transform';
4
+ export interface CoerceNestModuleOptions extends TsMorphNestProjectTransformOptions {
6
5
  name: string;
6
+ tsMorphTransform?: (project: Project, sourceFile: SourceFile, classDeclaration: ClassDeclaration) => void;
7
7
  }
8
8
  export declare function CoerceNestModule(options: CoerceNestModuleOptions): Rule;
@@ -2,27 +2,53 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.CoerceNestModule = void 0;
4
4
  const schematics_1 = require("@angular-devkit/schematics");
5
- const coerce_nest_service_project_1 = require("./coerce-nest-service-project");
6
- const has_nest_module_1 = require("./has-nest-module");
5
+ const utilities_1 = require("@rxap/utilities");
6
+ const coerce_class_1 = require("../coerce-class");
7
+ const ts_morph_transform_1 = require("../ts-morph-transform");
8
+ const coerce_imports_1 = require("../ts-morph/coerce-imports");
7
9
  const add_nest_module_to_app_module_1 = require("./add-nest-module-to-app-module");
8
- const project_utilities_1 = require("./project-utilities");
10
+ const assert_nest_project_1 = require("./assert-nest-project");
9
11
  function CoerceNestModule(options) {
10
- const { name } = options;
12
+ const { name, project, feature, shared, directory, } = options;
13
+ let { tsMorphTransform } = options;
14
+ // eslint-disable-next-line @typescript-eslint/no-empty-function
15
+ tsMorphTransform !== null && tsMorphTransform !== void 0 ? tsMorphTransform : (tsMorphTransform = () => { });
11
16
  return (0, schematics_1.chain)([
12
- (0, coerce_nest_service_project_1.CoerceNestServiceProject)(options),
13
- tree => {
14
- if (!(0, has_nest_module_1.HasNestModule)(tree, options)) {
15
- console.log(`The project '${(0, project_utilities_1.buildNestProjectName)(options)}' has not the module '${name}'. The module will now be created ...`);
16
- return (0, schematics_1.chain)([
17
- (0, schematics_1.externalSchematic)('@nrwl/nest', 'module', {
18
- name,
19
- project: (0, project_utilities_1.buildNestProjectName)(options),
20
- }),
21
- (0, add_nest_module_to_app_module_1.AddNestModuleToAppModule)(options),
22
- ]);
23
- }
24
- return (0, schematics_1.noop)();
25
- },
17
+ (0, assert_nest_project_1.AssertNestProject)({
18
+ project,
19
+ feature,
20
+ shared,
21
+ }),
22
+ (0, ts_morph_transform_1.TsMorphNestProjectTransformRule)({
23
+ project,
24
+ feature,
25
+ shared,
26
+ directory,
27
+ }, (project, [sourceFile]) => {
28
+ const classDeclaration = (0, coerce_class_1.CoerceClass)(sourceFile, (0, utilities_1.classify)(name) + 'Module', {
29
+ isExported: true,
30
+ decorators: [
31
+ {
32
+ name: 'Module',
33
+ arguments: ['{}'],
34
+ },
35
+ ],
36
+ });
37
+ (0, coerce_imports_1.CoerceImports)(sourceFile, [
38
+ {
39
+ namedImports: ['Module'],
40
+ moduleSpecifier: '@nestjs/common',
41
+ },
42
+ ]);
43
+ tsMorphTransform(project, sourceFile, classDeclaration);
44
+ }, [`${(0, utilities_1.dasherize)(name)}.module.ts?`]),
45
+ name !== 'app' ? (0, add_nest_module_to_app_module_1.AddNestModuleToAppModule)({
46
+ project,
47
+ feature,
48
+ shared,
49
+ name,
50
+ directory,
51
+ }) : (0, schematics_1.noop)(),
26
52
  ]);
27
53
  }
28
54
  exports.CoerceNestModule = CoerceNestModule;
@@ -1 +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,2DAKoC;AACpC,+EAAyE;AACzE,uDAAkD;AAClD,mFAA2E;AAC3E,2DAA2D;AAS3D,SAAgB,gBAAgB,CAAC,OAAgC;IAC/D,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;IACzB,OAAO,IAAA,kBAAK,EAAC;QACX,IAAA,sDAAwB,EAAC,OAAO,CAAC;QACjC,IAAI,CAAC,EAAE;YACL,IAAI,CAAC,IAAA,+BAAa,EAAC,IAAI,EAAE,OAAO,CAAC,EAAE;gBACjC,OAAO,CAAC,GAAG,CAAC,gBAAiB,IAAA,wCAAoB,EAAC,OAAO,CAAE,yBAA0B,IAAK,uCAAuC,CAAC,CAAC;gBACnI,OAAO,IAAA,kBAAK,EAAC;oBACX,IAAA,8BAAiB,EACf,YAAY,EACZ,QAAQ,EACR;wBACE,IAAI;wBACJ,OAAO,EAAE,IAAA,wCAAoB,EAAC,OAAO,CAAC;qBACvC,CACF;oBACD,IAAA,wDAAwB,EAAC,OAAO,CAAC;iBAClC,CAAC,CAAC;aACJ;YACD,OAAO,IAAA,iBAAI,GAAE,CAAC;QAChB,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AAtBD,4CAsBC"}
1
+ {"version":3,"file":"coerce-nest-module.js","sourceRoot":"","sources":["../../../../../../../packages/schematic/ts-morph/src/lib/nest/coerce-nest-module.ts"],"names":[],"mappings":";;;AAAA,2DAIoC;AACpC,+CAGyB;AAMzB,kDAA8C;AAC9C,8DAG+B;AAC/B,+DAA2D;AAC3D,mFAA2E;AAC3E,+DAA0D;AAO1D,SAAgB,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,aAAhB,gBAAgB,cAAhB,gBAAgB,IAAhB,gBAAgB,GAAK,GAAG,EAAE,GAAE,CAAC,EAAC;IAC9B,OAAO,IAAA,kBAAK,EAAC;QACX,IAAA,uCAAiB,EAAC;YAChB,OAAO;YACP,OAAO;YACP,MAAM;SACP,CAAC;QACF,IAAA,oDAA+B,EAC7B;YACE,OAAO;YACP,OAAO;YACP,MAAM;YACN,SAAS;SACV,EACD,CAAC,OAAO,EAAE,CAAE,UAAU,CAAE,EAAE,EAAE;YAC1B,MAAM,gBAAgB,GAAG,IAAA,0BAAW,EAAC,UAAU,EAAE,IAAA,oBAAQ,EAAC,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,IAAA,8BAAa,EAAC,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,IAAA,qBAAS,EAAC,IAAI,CAAE,aAAa,CAAE,CACtC;QACD,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,IAAA,wDAAwB,EAAC;YACxC,OAAO;YACP,OAAO;YACP,MAAM;YACN,IAAI;YACJ,SAAS;SACV,CAAC,CAAC,CAAC,CAAC,IAAA,iBAAI,GAAE;KACZ,CAAC,CAAC;AACL,CAAC;AArDD,4CAqDC"}
@@ -1,7 +1,10 @@
1
1
  import { Rule } from '@angular-devkit/schematics';
2
2
  export interface CoerceNestServiceProjectOptions {
3
3
  project: string;
4
- feature?: string;
4
+ feature?: string | null;
5
5
  shared?: boolean;
6
6
  }
7
+ /**
8
+ * @deprecated removed use the AssertNestProject function Rule
9
+ */
7
10
  export declare function CoerceNestServiceProject(options: CoerceNestServiceProjectOptions): Rule;
@@ -1,8 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.CoerceNestServiceProject = void 0;
4
- const schematics_1 = require("@angular-devkit/schematics");
5
4
  const project_utilities_1 = require("./project-utilities");
5
+ const schematics_utilities_1 = require("@rxap/schematics-utilities");
6
+ /**
7
+ * @deprecated removed use the AssertNestProject function Rule
8
+ */
6
9
  function CoerceNestServiceProject(options) {
7
10
  const { project, feature, shared, } = options;
8
11
  return tree => {
@@ -10,24 +13,24 @@ function CoerceNestServiceProject(options) {
10
13
  console.log(`The nest service project '${(0, project_utilities_1.buildNestProjectName)(options)}' does not exists. Project will now be created ...`);
11
14
  if (feature) {
12
15
  if (shared) {
13
- return (0, schematics_1.schematic)('feature-microservice', {
16
+ return (0, schematics_utilities_1.ExecuteSchematic)('feature-microservice', {
14
17
  feature,
15
18
  });
16
19
  }
17
20
  else {
18
- return (0, schematics_1.schematic)('frontend-microservice', {
21
+ return (0, schematics_utilities_1.ExecuteSchematic)('frontend-microservice', {
19
22
  frontend: project,
20
23
  feature,
21
24
  });
22
25
  }
23
26
  }
24
27
  else {
25
- return (0, schematics_1.schematic)('microservice', {
28
+ return (0, schematics_utilities_1.ExecuteSchematic)('microservice', {
26
29
  project,
27
30
  });
28
31
  }
29
32
  }
30
- return (0, schematics_1.noop)();
33
+ return undefined;
31
34
  };
32
35
  }
33
36
  exports.CoerceNestServiceProject = CoerceNestServiceProject;
@@ -1 +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":";;;AAAA,2DAIoC;AACpC,2DAG6B;AAQ7B,SAAgB,wBAAwB,CAAC,OAAwC;IAC/E,MAAM,EACJ,OAAO,EACP,OAAO,EACP,MAAM,GACP,GAAG,OAAO,CAAC;IACZ,OAAO,IAAI,CAAC,EAAE;QACZ,IAAI,CAAC,IAAA,yCAAqB,EAAC,IAAI,EAAE,OAAO,CAAC,EAAE;YACzC,OAAO,CAAC,GAAG,CAAC,6BAA8B,IAAA,wCAAoB,EAAC,OAAO,CAAE,oDAAoD,CAAC,CAAC;YAC9H,IAAI,OAAO,EAAE;gBACX,IAAI,MAAM,EAAE;oBACV,OAAO,IAAA,sBAAS,EACd,sBAAsB,EACtB;wBACE,OAAO;qBACR,CACF,CAAC;iBACH;qBAAM;oBACL,OAAO,IAAA,sBAAS,EACd,uBAAuB,EACvB;wBACE,QAAQ,EAAE,OAAO;wBACjB,OAAO;qBACR,CACF,CAAC;iBACH;aACF;iBAAM;gBACL,OAAO,IAAA,sBAAS,EACd,cAAc,EACd;oBACE,OAAO;iBACR,CACF,CAAC;aACH;SACF;QACD,OAAO,IAAA,iBAAI,GAAE,CAAC;IAChB,CAAC,CAAC;AACJ,CAAC;AArCD,4DAqCC"}
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,2DAG6B;AAC7B,qEAA8D;AAQ9D;;GAEG;AACH,SAAgB,wBAAwB,CAAC,OAAwC;IAC/E,MAAM,EACJ,OAAO,EACP,OAAO,EACP,MAAM,GACP,GAAG,OAAO,CAAC;IACZ,OAAO,IAAI,CAAC,EAAE;QACZ,IAAI,CAAC,IAAA,yCAAqB,EAAC,IAAI,EAAE,OAAO,CAAC,EAAE;YACzC,OAAO,CAAC,GAAG,CAAC,6BAA8B,IAAA,wCAAoB,EAAC,OAAO,CAAE,oDAAoD,CAAC,CAAC;YAC9H,IAAI,OAAO,EAAE;gBACX,IAAI,MAAM,EAAE;oBACV,OAAO,IAAA,uCAAgB,EACrB,sBAAsB,EACtB;wBACE,OAAO;qBACR,CACF,CAAC;iBACH;qBAAM;oBACL,OAAO,IAAA,uCAAgB,EACrB,uBAAuB,EACvB;wBACE,QAAQ,EAAE,OAAO;wBACjB,OAAO;qBACR,CACF,CAAC;iBACH;aACF;iBAAM;gBACL,OAAO,IAAA,uCAAgB,EACrB,cAAc,EACd;oBACE,OAAO;iBACR,CACF,CAAC;aACH;SACF;QACD,OAAO,SAAS,CAAC;IACnB,CAAC,CAAC;AACJ,CAAC;AArCD,4DAqCC"}
@@ -1,21 +1,11 @@
1
1
  import { Rule } from '@angular-devkit/schematics';
2
2
  import { ClassDeclaration, Project, SourceFile } from 'ts-morph';
3
- import { OperationOptions, OperationParameter } from '../add-operation-to-controller';
4
- export interface CoerceOperationOptions {
5
- /**
6
- * @deprecated use controllerName instead
7
- */
8
- name?: string;
9
- controllerName?: string;
10
- nestController?: string;
11
- project: string;
12
- feature?: string;
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;
13
7
  shared?: boolean;
14
- /**
15
- * @deprecated use nestModule instead
16
- */
17
- module?: string;
18
- nestModule?: string;
8
+ nestModule?: string | null;
19
9
  skipCoerce?: boolean;
20
10
  paramList?: OperationParameter[];
21
11
  queryList?: OperationParameter[];
@@ -23,5 +13,11 @@ export interface CoerceOperationOptions {
23
13
  operationName: string;
24
14
  path?: string;
25
15
  controllerPath?: string;
16
+ /**
17
+ * true - the control path is overwritten with
18
+ */
19
+ overwriteControllerPath?: boolean;
20
+ context?: string | null;
26
21
  }
22
+ export declare function CoerceOperationParamList(paramList: OperationParameter[], classDeclaration: ClassDeclaration): void;
27
23
  export declare function CoerceOperation(options: CoerceOperationOptions): Rule;
@@ -1,20 +1,28 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CoerceOperation = void 0;
3
+ exports.CoerceOperation = exports.CoerceOperationParamList = void 0;
4
4
  const schematics_1 = require("@angular-devkit/schematics");
5
- const coerce_nest_module_1 = require("./coerce-nest-module");
6
- const coerce_nest_controller_1 = require("./coerce-nest-controller");
7
- const ts_morph_transform_1 = require("../ts-morph-transform");
8
5
  const schematics_utilities_1 = require("@rxap/schematics-utilities");
6
+ const path_1 = require("path");
7
+ const ts_morph_transform_1 = require("../ts-morph-transform");
8
+ const add_operation_to_controller_1 = require("./add-operation-to-controller");
9
9
  const build_nest_controller_name_1 = require("./build-nest-controller-name");
10
- const coerce_imports_1 = require("../ts-morph/coerce-imports");
11
- const add_operation_to_controller_1 = require("../add-operation-to-controller");
10
+ const coerce_nest_controller_1 = require("./coerce-nest-controller");
11
+ function CoerceOperationParamList(paramList, classDeclaration) {
12
+ var _a, _b;
13
+ const currentControllerPath = (_b = (_a = classDeclaration.getDecoratorOrThrow('Controller').getArguments()[0]) === null || _a === void 0 ? void 0 : _a.getText()) !== null && _b !== void 0 ? _b : '';
14
+ const fragments = currentControllerPath.split('/');
15
+ const parameters = fragments.filter(fragment => fragment.startsWith(':'));
16
+ for (const parameter of parameters) {
17
+ if (!paramList.some(param => param.name === parameter.substr(1))) {
18
+ paramList.push({ name: parameter.substr(1) });
19
+ }
20
+ }
21
+ }
22
+ exports.CoerceOperationParamList = CoerceOperationParamList;
12
23
  function CoerceOperation(options) {
13
- let { nestModule, nestController, controllerName, name, project, module, paramList, feature, shared, tsMorphTransform, operationName, skipCoerce, controllerPath, queryList, path, } = options;
14
- nestModule !== null && nestModule !== void 0 ? nestModule : (nestModule = module);
24
+ let { nestModule, controllerName, project, paramList, feature, shared, tsMorphTransform, operationName, skipCoerce, controllerPath, queryList, path, overwriteControllerPath, directory, } = options;
15
25
  tsMorphTransform !== null && tsMorphTransform !== void 0 ? tsMorphTransform : (tsMorphTransform = () => ({}));
16
- controllerName !== null && controllerName !== void 0 ? controllerName : (controllerName = name);
17
- controllerName !== null && controllerName !== void 0 ? controllerName : (controllerName = nestController);
18
26
  paramList !== null && paramList !== void 0 ? paramList : (paramList = []);
19
27
  queryList !== null && queryList !== void 0 ? queryList : (queryList = []);
20
28
  /**
@@ -37,31 +45,37 @@ function CoerceOperation(options) {
37
45
  * module = "report-details"
38
46
  */
39
47
  const isFirstBornSibling = !nestModule || nestModule === controllerName;
40
- controllerName = (0, build_nest_controller_name_1.BuildNestControllerName)({
48
+ const nestController = (0, build_nest_controller_name_1.BuildNestControllerName)({
41
49
  controllerName,
42
50
  nestModule,
43
51
  });
44
- if (isFirstBornSibling) {
45
- nestModule = controllerName;
46
- }
47
- console.log(`Coerce Operation '${operationName}' with path '${path}' in the controller '${controllerName}' in the module '${nestModule}'`);
48
- if (!nestModule) {
49
- throw new schematics_1.SchematicsException('FATAL: the nestModule property is not defined');
52
+ if (!nestModule || isFirstBornSibling) {
53
+ nestModule = nestController;
50
54
  }
55
+ directory = (0, path_1.join)(directory !== null && directory !== void 0 ? directory : '', nestModule);
51
56
  return (0, schematics_1.chain)([
52
- skipCoerce ? (0, schematics_1.noop)() : (0, schematics_1.chain)([
53
- (0, coerce_nest_module_1.CoerceNestModule)({
54
- project,
55
- feature,
56
- shared,
57
- name: nestModule,
58
- }),
59
- (0, coerce_nest_controller_1.CoerceNestController)(Object.assign(Object.assign({}, options), { name: controllerName, module: nestModule })),
60
- ]),
61
- (0, ts_morph_transform_1.TsMorphNestProjectTransform)(options, project => {
62
- const sourceFile = project.getSourceFileOrThrow(`/${nestModule}/${controllerName}.controller.ts`);
63
- const classDeclaration = sourceFile.getClassOrThrow(`${(0, schematics_utilities_1.classify)(controllerName)}Controller`);
64
- const operationOptions = tsMorphTransform(project, sourceFile, classDeclaration, controllerName);
57
+ () => console.log(`Coerce Operation '${operationName}' with path '${path}' in the controller '${nestController}' in the module '${nestModule}'`),
58
+ (0, coerce_nest_controller_1.CoerceNestController)({
59
+ project,
60
+ feature,
61
+ shared,
62
+ directory,
63
+ coerceModule: !skipCoerce,
64
+ name: nestController,
65
+ nestModule,
66
+ }),
67
+ // IMPORTANT: the use of the filePath parameter for the narrow loading of the source file CAN NOT BE USED here
68
+ // because sub functions may need to load other source files that are then not loaded into the
69
+ // project instance!
70
+ (0, ts_morph_transform_1.TsMorphNestProjectTransformRule)({
71
+ project,
72
+ feature,
73
+ shared,
74
+ directory,
75
+ }, project => {
76
+ const sourceFile = project.getSourceFileOrThrow(`${nestController}.controller.ts`);
77
+ const classDeclaration = sourceFile.getClassOrThrow(`${(0, schematics_utilities_1.classify)(nestController)}Controller`);
78
+ const operationOptions = tsMorphTransform(project, sourceFile, classDeclaration, nestController);
65
79
  if (controllerPath) {
66
80
  classDeclaration.getDecoratorOrThrow('Controller').set({
67
81
  arguments: [w => w.quote(`${nestModule}/${controllerPath}`)],
@@ -77,9 +91,10 @@ function CoerceOperation(options) {
77
91
  ],
78
92
  });
79
93
  }
80
- (0, coerce_imports_1.CoerceImports)(sourceFile, (0, add_operation_to_controller_1.AddOperationToController)(classDeclaration, operationName, Object.assign({ isAsync: true, paramList,
94
+ CoerceOperationParamList(paramList, classDeclaration);
95
+ (0, add_operation_to_controller_1.AddOperationToController)(sourceFile, classDeclaration, operationName, Object.assign({ isAsync: true, paramList,
81
96
  queryList,
82
- path }, operationOptions)));
97
+ path }, operationOptions));
83
98
  }),
84
99
  ]);
85
100
  }
@@ -1 +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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"}
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,52 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CoerceOptionsOperationRule = void 0;
4
+ const utilities_1 = require("@rxap/utilities");
5
+ const coerce_imports_1 = require("../ts-morph/coerce-imports");
6
+ const write_type_1 = require("../ts-morph/write-type");
7
+ const coerce_dto_class_1 = require("./coerce-dto-class");
8
+ const coerce_operation_1 = require("./coerce-operation");
9
+ function CoerceOptionsOperationRule(options) {
10
+ let { responseDtoName, control, context, } = options;
11
+ responseDtoName !== null && responseDtoName !== void 0 ? responseDtoName : (responseDtoName = (0, utilities_1.joinWithDash)([context, control.name, 'options']));
12
+ return (0, coerce_operation_1.CoerceOperation)(Object.assign(Object.assign({}, options), { tsMorphTransform: (project, sourceFile, classDeclaration, controllerName) => {
13
+ const { className, filePath, } = (0, coerce_dto_class_1.CoerceDtoClass)({
14
+ project,
15
+ name: responseDtoName,
16
+ propertyList: [
17
+ {
18
+ name: 'display',
19
+ type: 'string',
20
+ },
21
+ {
22
+ name: 'value',
23
+ type: (0, write_type_1.WriteType)(control),
24
+ },
25
+ ],
26
+ });
27
+ (0, coerce_imports_1.CoerceImports)(sourceFile, {
28
+ namedImports: [className],
29
+ moduleSpecifier: filePath,
30
+ });
31
+ (0, coerce_imports_1.CoerceImports)(sourceFile, {
32
+ namedImports: ['plainToInstance'],
33
+ moduleSpecifier: 'class-transformer',
34
+ });
35
+ (0, coerce_imports_1.CoerceImports)(sourceFile, {
36
+ namedImports: ['classTransformOptions'],
37
+ moduleSpecifier: '@rxap/nest-utilities',
38
+ });
39
+ return {
40
+ returnType: `Array<${className}>`,
41
+ statements: [
42
+ 'return plainToInstance(',
43
+ className + ',',
44
+ '[],',
45
+ 'classTransformOptions',
46
+ ');',
47
+ ],
48
+ };
49
+ } }));
50
+ }
51
+ exports.CoerceOptionsOperationRule = CoerceOptionsOperationRule;
52
+ //# 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,+CAA+C;AAC/C,+DAA2D;AAC3D,uDAAmD;AAEnD,yDAAoD;AACpD,yDAG4B;AAO5B,SAAgB,0BAA0B,CAAC,OAAoD;IAC7F,IAAI,EACF,eAAe,EACf,OAAO,EACP,OAAO,GACR,GAAG,OAAO,CAAC;IACZ,eAAe,aAAf,eAAe,cAAf,eAAe,IAAf,eAAe,GAAK,IAAA,wBAAY,EAAC,CAAE,OAAO,EAAE,OAAO,CAAC,IAAI,EAAE,SAAS,CAAE,CAAC,EAAC;IACvE,OAAO,IAAA,kCAAe,kCACjB,OAAO,KACV,gBAAgB,EAAE,CAAC,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,cAAc,EAAE,EAAE;YAE1E,MAAM,EACJ,SAAS,EACT,QAAQ,GACT,GAAG,IAAA,iCAAc,EAAC;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,IAAA,sBAAS,EAAC,OAAO,CAAC;qBACzB;iBACF;aACF,CAAC,CAAC;YAEH,IAAA,8BAAa,EAAC,UAAU,EAAE;gBACxB,YAAY,EAAE,CAAE,SAAS,CAAE;gBAC3B,eAAe,EAAE,QAAQ;aAC1B,CAAC,CAAC;YACH,IAAA,8BAAa,EAAC,UAAU,EAAE;gBACxB,YAAY,EAAE,CAAE,iBAAiB,CAAE;gBACnC,eAAe,EAAE,mBAAmB;aACrC,CAAC,CAAC;YACH,IAAA,8BAAa,EAAC,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,IACD,CAAC;AACL,CAAC;AAtDD,gEAsDC"}
@@ -1,5 +1,5 @@
1
1
  import { ClassDeclarationStructure, ImportDeclarationStructure, OptionalKind, Project } from 'ts-morph';
2
- import { DtoClassProperty } from '../create-dto-class';
2
+ import { DtoClassProperty } from './create-dto-class';
3
3
  export interface CoercePageDtoClassOptions {
4
4
  project: Project;
5
5
  name: string;
@@ -1,15 +1,15 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.CoercePageDtoClass = void 0;
4
- const coerce_dto_class_1 = require("./coerce-dto-class");
5
4
  const schematics_utilities_1 = require("@rxap/schematics-utilities");
6
5
  const path_1 = require("path");
6
+ const coerce_dto_class_1 = require("./coerce-dto-class");
7
7
  function CoercePageDtoClass(options) {
8
8
  let { project, name, propertyList, classStructure, importStructureList, rowClassName, rowFilePath, } = options;
9
9
  importStructureList !== null && importStructureList !== void 0 ? importStructureList : (importStructureList = []);
10
10
  importStructureList.push({
11
11
  namedImports: ['PageDto'],
12
- moduleSpecifier: '@eurogard/service-nest-utilities',
12
+ moduleSpecifier: '@rxap/nest-utilities',
13
13
  }, {
14
14
  namedImports: [rowClassName],
15
15
  moduleSpecifier: `./${(0, path_1.basename)(rowFilePath)}`,
@@ -25,7 +25,13 @@ function CoercePageDtoClass(options) {
25
25
  },
26
26
  ]);
27
27
  propertyList.push();
28
- return (0, coerce_dto_class_1.CoerceDtoClass)(project, (0, schematics_utilities_1.CoerceSuffix)(name, '-page'), propertyList, classStructure, importStructureList);
28
+ return (0, coerce_dto_class_1.CoerceDtoClass)({
29
+ project,
30
+ name: (0, schematics_utilities_1.CoerceSuffix)(name, '-page'),
31
+ propertyList,
32
+ classStructure,
33
+ importStructureList,
34
+ });
29
35
  }
30
36
  exports.CoercePageDtoClass = CoercePageDtoClass;
31
37
  //# sourceMappingURL=coerce-page-dto-class.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"coerce-page-dto-class.js","sourceRoot":"","sources":["../../../../../../../packages/schematic/ts-morph/src/lib/nest/coerce-page-dto-class.ts"],"names":[],"mappings":";;;AAAA,yDAAoD;AACpD,qEAA0D;AAC1D,+BAAgC;AAmBhC,SAAgB,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,aAAnB,mBAAmB,cAAnB,mBAAmB,IAAnB,mBAAmB,GAAK,EAAE,EAAC;IAC3B,mBAAmB,CAAC,IAAI,CACtB;QACE,YAAY,EAAE,CAAE,SAAS,CAAE;QAC3B,eAAe,EAAE,kCAAkC;KACpD,EACD;QACE,YAAY,EAAE,CAAE,YAAY,CAAE;QAC9B,eAAe,EAAE,KAAM,IAAA,eAAQ,EAAC,WAAW,CAAE,EAAE;KAChD,CACF,CAAC;IACF,cAAc,aAAd,cAAc,cAAd,cAAc,IAAd,cAAc,GAAK,EAAE,EAAC;IACtB,cAAc,CAAC,OAAO,GAAG,WAAY,YAAa,GAAG,CAAC;IACtD,YAAY,aAAZ,YAAY,cAAZ,YAAY,IAAZ,YAAY,GAAK;QACf;YACE,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,YAAY;YAClB,OAAO,EAAE,IAAI;YACb,MAAM,EAAE,IAAI;SACb;KACF,EAAC;IACF,YAAY,CAAC,IAAI,EAAE,CAAC;IACpB,OAAO,IAAA,iCAAc,EACnB,OAAO,EACP,IAAA,mCAAY,EAAC,IAAI,EAAE,OAAO,CAAC,EAC3B,YAAY,EACZ,cAAc,EACd,mBAAmB,CACpB,CAAC;AACJ,CAAC;AAvCD,gDAuCC"}
1
+ {"version":3,"file":"coerce-page-dto-class.js","sourceRoot":"","sources":["../../../../../../../packages/schematic/ts-morph/src/lib/nest/coerce-page-dto-class.ts"],"names":[],"mappings":";;;AAAA,qEAA0D;AAC1D,+BAAgC;AAOhC,yDAAoD;AAapD,SAAgB,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,aAAnB,mBAAmB,cAAnB,mBAAmB,IAAnB,mBAAmB,GAAK,EAAE,EAAC;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,IAAA,eAAQ,EAAC,WAAW,CAAE,EAAE;KAChD,CACF,CAAC;IACF,cAAc,aAAd,cAAc,cAAd,cAAc,IAAd,cAAc,GAAK,EAAE,EAAC;IACtB,cAAc,CAAC,OAAO,GAAG,WAAY,YAAa,GAAG,CAAC;IACtD,YAAY,aAAZ,YAAY,cAAZ,YAAY,IAAZ,YAAY,GAAK;QACf;YACE,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,YAAY;YAClB,OAAO,EAAE,IAAI;YACb,MAAM,EAAE,IAAI;SACb;KACF,EAAC;IACF,YAAY,CAAC,IAAI,EAAE,CAAC;IACpB,OAAO,IAAA,iCAAc,EAAC;QACpB,OAAO;QACP,IAAI,EAAE,IAAA,mCAAY,EAAC,IAAI,EAAE,OAAO,CAAC;QACjC,YAAY;QACZ,cAAc;QACd,mBAAmB;KACpB,CAAC,CAAC;AACL,CAAC;AAvCD,gDAuCC"}
@@ -1,10 +1,9 @@
1
- import { ClassDeclarationStructure, ImportDeclarationStructure, OptionalKind, Project } from 'ts-morph';
2
- import { DtoClassProperty } from '../create-dto-class';
3
- export interface CoerceRowDtoClassOptions {
4
- project: Project;
5
- name: string;
6
- propertyList?: DtoClassProperty[];
7
- classStructure?: Omit<OptionalKind<ClassDeclarationStructure>, 'name'>;
8
- importStructureList?: Array<OptionalKind<ImportDeclarationStructure>>;
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;
9
8
  }
10
9
  export declare function CoerceRowDtoClass(options: CoerceRowDtoClassOptions): import("./coerce-dto-class").CoerceDtoClassOutput;