@solidstarters/solid-code-builder 1.0.8 → 1.0.10

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 (277) hide show
  1. package/dist/code-builder/lib/field/FieldManager.d.ts +2 -1
  2. package/dist/code-builder/lib/field/FieldManager.js +1 -0
  3. package/dist/code-builder/lib/field/FieldManager.js.map +1 -1
  4. package/{src/code-builder/lib/field/decorator-managers/dto/DecimalDecoratorManager.d.ts → dist/code-builder/lib/field/decorator-managers/dto/ApiPropertyDecoratorManager.d.ts} +7 -7
  5. package/{src/code-builder/lib/field/decorator-managers/dto/MinLengthDecoratorManager.js → dist/code-builder/lib/field/decorator-managers/dto/ApiPropertyDecoratorManager.js} +10 -10
  6. package/dist/code-builder/lib/field/decorator-managers/dto/ApiPropertyDecoratorManager.js.map +1 -0
  7. package/dist/code-builder/lib/field/decorator-managers/entity/JoinTableDecoratorManager.d.ts +2 -2
  8. package/dist/code-builder/lib/field/decorator-managers/entity/JoinTableDecoratorManager.js +8 -8
  9. package/dist/code-builder/lib/field/decorator-managers/entity/JoinTableDecoratorManager.js.map +1 -1
  10. package/dist/code-builder/lib/field/field-managers/base/BaseFieldManagerForDto.d.ts +1 -0
  11. package/dist/code-builder/lib/field/field-managers/base/BaseFieldManagerForDto.js +12 -4
  12. package/dist/code-builder/lib/field/field-managers/base/BaseFieldManagerForDto.js.map +1 -1
  13. package/dist/code-builder/lib/field/field-managers/base/BaseFieldManagerForEntity.js +2 -2
  14. package/dist/code-builder/lib/field/field-managers/base/BaseFieldManagerForEntity.js.map +1 -1
  15. package/dist/code-builder/lib/model/helpers.d.ts +1 -0
  16. package/dist/code-builder/lib/model/helpers.js +4 -0
  17. package/dist/code-builder/lib/model/helpers.js.map +1 -1
  18. package/dist/files/generate-model/controllers/__model@dasherize__.controller.ts +3 -2
  19. package/files/generate-model/controllers/__model@dasherize__.controller.ts +3 -2
  20. package/package.json +1 -1
  21. package/src/code-builder/lib/field/FieldManager.ts +1 -0
  22. package/src/code-builder/lib/field/decorator-managers/dto/ApiPropertyDecoratorManager.ts +127 -0
  23. package/src/code-builder/lib/field/decorator-managers/entity/JoinTableDecoratorManager.ts +10 -10
  24. package/src/code-builder/lib/field/field-managers/base/BaseFieldManagerForDto.ts +13 -3
  25. package/src/code-builder/lib/field/field-managers/base/BaseFieldManagerForEntity.ts +2 -2
  26. package/src/code-builder/lib/model/helpers.ts +4 -0
  27. package/solidstarters-solid-code-builder-1.0.7.tgz +0 -0
  28. package/src/code-builder/index.d.ts +0 -9
  29. package/src/code-builder/index.js +0 -178
  30. package/src/code-builder/index.js.map +0 -1
  31. package/src/code-builder/index_spec.d.ts +0 -1
  32. package/src/code-builder/index_spec.js +0 -46
  33. package/src/code-builder/index_spec.js.map +0 -1
  34. package/src/code-builder/lib/field/FieldManager.d.ts +0 -106
  35. package/src/code-builder/lib/field/FieldManager.js +0 -236
  36. package/src/code-builder/lib/field/FieldManager.js.map +0 -1
  37. package/src/code-builder/lib/field/decorator-managers/dto/ArrayDecoratorManager.d.ts +0 -26
  38. package/src/code-builder/lib/field/decorator-managers/dto/ArrayDecoratorManager.js +0 -107
  39. package/src/code-builder/lib/field/decorator-managers/dto/ArrayDecoratorManager.js.map +0 -1
  40. package/src/code-builder/lib/field/decorator-managers/dto/BigIntDecoratorManager.d.ts +0 -24
  41. package/src/code-builder/lib/field/decorator-managers/dto/BigIntDecoratorManager.js +0 -100
  42. package/src/code-builder/lib/field/decorator-managers/dto/BigIntDecoratorManager.js.map +0 -1
  43. package/src/code-builder/lib/field/decorator-managers/dto/BooleanDecoratorManager.d.ts +0 -24
  44. package/src/code-builder/lib/field/decorator-managers/dto/BooleanDecoratorManager.js +0 -102
  45. package/src/code-builder/lib/field/decorator-managers/dto/BooleanDecoratorManager.js.map +0 -1
  46. package/src/code-builder/lib/field/decorator-managers/dto/DateDecoratorManager.d.ts +0 -24
  47. package/src/code-builder/lib/field/decorator-managers/dto/DateDecoratorManager.js +0 -106
  48. package/src/code-builder/lib/field/decorator-managers/dto/DateDecoratorManager.js.map +0 -1
  49. package/src/code-builder/lib/field/decorator-managers/dto/DecimalDecoratorManager.js +0 -112
  50. package/src/code-builder/lib/field/decorator-managers/dto/DecimalDecoratorManager.js.map +0 -1
  51. package/src/code-builder/lib/field/decorator-managers/dto/EmailDecoratorManager.d.ts +0 -24
  52. package/src/code-builder/lib/field/decorator-managers/dto/EmailDecoratorManager.js +0 -99
  53. package/src/code-builder/lib/field/decorator-managers/dto/EmailDecoratorManager.js.map +0 -1
  54. package/src/code-builder/lib/field/decorator-managers/dto/IntDecoratorManager.d.ts +0 -24
  55. package/src/code-builder/lib/field/decorator-managers/dto/IntDecoratorManager.js +0 -100
  56. package/src/code-builder/lib/field/decorator-managers/dto/IntDecoratorManager.js.map +0 -1
  57. package/src/code-builder/lib/field/decorator-managers/dto/JsonDecoratorManager.d.ts +0 -24
  58. package/src/code-builder/lib/field/decorator-managers/dto/JsonDecoratorManager.js +0 -100
  59. package/src/code-builder/lib/field/decorator-managers/dto/JsonDecoratorManager.js.map +0 -1
  60. package/src/code-builder/lib/field/decorator-managers/dto/LengthDecoratorManager.d.ts +0 -25
  61. package/src/code-builder/lib/field/decorator-managers/dto/LengthDecoratorManager.js +0 -104
  62. package/src/code-builder/lib/field/decorator-managers/dto/LengthDecoratorManager.js.map +0 -1
  63. package/src/code-builder/lib/field/decorator-managers/dto/MaxDecoratorManager.d.ts +0 -25
  64. package/src/code-builder/lib/field/decorator-managers/dto/MaxDecoratorManager.js +0 -103
  65. package/src/code-builder/lib/field/decorator-managers/dto/MaxDecoratorManager.js.map +0 -1
  66. package/src/code-builder/lib/field/decorator-managers/dto/MaxLengthDecoratorManager.d.ts +0 -25
  67. package/src/code-builder/lib/field/decorator-managers/dto/MaxLengthDecoratorManager.js +0 -103
  68. package/src/code-builder/lib/field/decorator-managers/dto/MaxLengthDecoratorManager.js.map +0 -1
  69. package/src/code-builder/lib/field/decorator-managers/dto/MinDecoratorManager.d.ts +0 -25
  70. package/src/code-builder/lib/field/decorator-managers/dto/MinDecoratorManager.js +0 -102
  71. package/src/code-builder/lib/field/decorator-managers/dto/MinDecoratorManager.js.map +0 -1
  72. package/src/code-builder/lib/field/decorator-managers/dto/MinLengthDecoratorManager.d.ts +0 -25
  73. package/src/code-builder/lib/field/decorator-managers/dto/MinLengthDecoratorManager.js.map +0 -1
  74. package/src/code-builder/lib/field/decorator-managers/dto/NumberDecoratorManager.d.ts +0 -24
  75. package/src/code-builder/lib/field/decorator-managers/dto/NumberDecoratorManager.js +0 -112
  76. package/src/code-builder/lib/field/decorator-managers/dto/NumberDecoratorManager.js.map +0 -1
  77. package/src/code-builder/lib/field/decorator-managers/dto/OptionalDecoratorManager.d.ts +0 -26
  78. package/src/code-builder/lib/field/decorator-managers/dto/OptionalDecoratorManager.js +0 -104
  79. package/src/code-builder/lib/field/decorator-managers/dto/OptionalDecoratorManager.js.map +0 -1
  80. package/src/code-builder/lib/field/decorator-managers/dto/RegexDecoratorManager.d.ts +0 -25
  81. package/src/code-builder/lib/field/decorator-managers/dto/RegexDecoratorManager.js +0 -102
  82. package/src/code-builder/lib/field/decorator-managers/dto/RegexDecoratorManager.js.map +0 -1
  83. package/src/code-builder/lib/field/decorator-managers/dto/RequiredDecoratorManager.d.ts +0 -25
  84. package/src/code-builder/lib/field/decorator-managers/dto/RequiredDecoratorManager.js +0 -100
  85. package/src/code-builder/lib/field/decorator-managers/dto/RequiredDecoratorManager.js.map +0 -1
  86. package/src/code-builder/lib/field/decorator-managers/dto/StringDecoratorManager.d.ts +0 -24
  87. package/src/code-builder/lib/field/decorator-managers/dto/StringDecoratorManager.js +0 -99
  88. package/src/code-builder/lib/field/decorator-managers/dto/StringDecoratorManager.js.map +0 -1
  89. package/src/code-builder/lib/field/decorator-managers/dto/TransformDecoratorManager.d.ts +0 -25
  90. package/src/code-builder/lib/field/decorator-managers/dto/TransformDecoratorManager.js +0 -102
  91. package/src/code-builder/lib/field/decorator-managers/dto/TransformDecoratorManager.js.map +0 -1
  92. package/src/code-builder/lib/field/decorator-managers/dto/ValidateNestedDecoratorManager.d.ts +0 -30
  93. package/src/code-builder/lib/field/decorator-managers/dto/ValidateNestedDecoratorManager.js +0 -140
  94. package/src/code-builder/lib/field/decorator-managers/dto/ValidateNestedDecoratorManager.js.map +0 -1
  95. package/src/code-builder/lib/field/decorator-managers/entity/ColumnDecoratorManager.d.ts +0 -34
  96. package/src/code-builder/lib/field/decorator-managers/entity/ColumnDecoratorManager.js +0 -178
  97. package/src/code-builder/lib/field/decorator-managers/entity/ColumnDecoratorManager.js.map +0 -1
  98. package/src/code-builder/lib/field/decorator-managers/entity/IndexDecoratorManager.d.ts +0 -24
  99. package/src/code-builder/lib/field/decorator-managers/entity/IndexDecoratorManager.js +0 -79
  100. package/src/code-builder/lib/field/decorator-managers/entity/IndexDecoratorManager.js.map +0 -1
  101. package/src/code-builder/lib/field/decorator-managers/entity/JoinTableDecoratorManager.d.ts +0 -29
  102. package/src/code-builder/lib/field/decorator-managers/entity/JoinTableDecoratorManager.js +0 -118
  103. package/src/code-builder/lib/field/decorator-managers/entity/JoinTableDecoratorManager.js.map +0 -1
  104. package/src/code-builder/lib/field/decorator-managers/entity/ManyToManyDecoratorManager.d.ts +0 -37
  105. package/src/code-builder/lib/field/decorator-managers/entity/ManyToManyDecoratorManager.js +0 -175
  106. package/src/code-builder/lib/field/decorator-managers/entity/ManyToManyDecoratorManager.js.map +0 -1
  107. package/src/code-builder/lib/field/decorator-managers/entity/ManyToOneDecoratorManager.d.ts +0 -34
  108. package/src/code-builder/lib/field/decorator-managers/entity/ManyToOneDecoratorManager.js +0 -179
  109. package/src/code-builder/lib/field/decorator-managers/entity/ManyToOneDecoratorManager.js.map +0 -1
  110. package/src/code-builder/lib/field/decorator-managers/entity/OneToManyDecoratorManager.d.ts +0 -33
  111. package/src/code-builder/lib/field/decorator-managers/entity/OneToManyDecoratorManager.js +0 -155
  112. package/src/code-builder/lib/field/decorator-managers/entity/OneToManyDecoratorManager.js.map +0 -1
  113. package/src/code-builder/lib/field/decorator-managers/entity/UniqueIndexDecoratorManager.d.ts +0 -31
  114. package/src/code-builder/lib/field/decorator-managers/entity/UniqueIndexDecoratorManager.js +0 -174
  115. package/src/code-builder/lib/field/decorator-managers/entity/UniqueIndexDecoratorManager.js.map +0 -1
  116. package/src/code-builder/lib/field/field-managers/base/BaseFieldManagerForDto.d.ts +0 -51
  117. package/src/code-builder/lib/field/field-managers/base/BaseFieldManagerForDto.js +0 -345
  118. package/src/code-builder/lib/field/field-managers/base/BaseFieldManagerForDto.js.map +0 -1
  119. package/src/code-builder/lib/field/field-managers/base/BaseFieldManagerForEntity.d.ts +0 -58
  120. package/src/code-builder/lib/field/field-managers/base/BaseFieldManagerForEntity.js +0 -373
  121. package/src/code-builder/lib/field/field-managers/base/BaseFieldManagerForEntity.js.map +0 -1
  122. package/src/code-builder/lib/field/field-managers/base/DeleteType.d.ts +0 -6
  123. package/src/code-builder/lib/field/field-managers/base/DeleteType.js +0 -11
  124. package/src/code-builder/lib/field/field-managers/base/DeleteType.js.map +0 -1
  125. package/src/code-builder/lib/field/field-managers/bigint/BigIntFieldHandler.d.ts +0 -13
  126. package/src/code-builder/lib/field/field-managers/bigint/BigIntFieldHandler.js +0 -33
  127. package/src/code-builder/lib/field/field-managers/bigint/BigIntFieldHandler.js.map +0 -1
  128. package/src/code-builder/lib/field/field-managers/bigint/BigIntFieldManagerForDto.d.ts +0 -23
  129. package/src/code-builder/lib/field/field-managers/bigint/BigIntFieldManagerForDto.js +0 -81
  130. package/src/code-builder/lib/field/field-managers/bigint/BigIntFieldManagerForDto.js.map +0 -1
  131. package/src/code-builder/lib/field/field-managers/bigint/BigIntFieldManagerForEntity.d.ts +0 -13
  132. package/src/code-builder/lib/field/field-managers/bigint/BigIntFieldManagerForEntity.js +0 -55
  133. package/src/code-builder/lib/field/field-managers/bigint/BigIntFieldManagerForEntity.js.map +0 -1
  134. package/src/code-builder/lib/field/field-managers/boolean/BooleanFieldHandler.d.ts +0 -13
  135. package/src/code-builder/lib/field/field-managers/boolean/BooleanFieldHandler.js +0 -33
  136. package/src/code-builder/lib/field/field-managers/boolean/BooleanFieldHandler.js.map +0 -1
  137. package/src/code-builder/lib/field/field-managers/boolean/BooleanFieldManagerForDto.d.ts +0 -22
  138. package/src/code-builder/lib/field/field-managers/boolean/BooleanFieldManagerForDto.js +0 -75
  139. package/src/code-builder/lib/field/field-managers/boolean/BooleanFieldManagerForDto.js.map +0 -1
  140. package/src/code-builder/lib/field/field-managers/boolean/BooleanFieldManagerForEntity.d.ts +0 -13
  141. package/src/code-builder/lib/field/field-managers/boolean/BooleanFieldManagerForEntity.js +0 -51
  142. package/src/code-builder/lib/field/field-managers/boolean/BooleanFieldManagerForEntity.js.map +0 -1
  143. package/src/code-builder/lib/field/field-managers/computed/ComputedFieldHandler.d.ts +0 -14
  144. package/src/code-builder/lib/field/field-managers/computed/ComputedFieldHandler.js +0 -30
  145. package/src/code-builder/lib/field/field-managers/computed/ComputedFieldHandler.js.map +0 -1
  146. package/src/code-builder/lib/field/field-managers/computed/ComputedFieldManagerForEntity.d.ts +0 -11
  147. package/src/code-builder/lib/field/field-managers/computed/ComputedFieldManagerForEntity.js +0 -33
  148. package/src/code-builder/lib/field/field-managers/computed/ComputedFieldManagerForEntity.js.map +0 -1
  149. package/src/code-builder/lib/field/field-managers/date/DateFieldHandler.d.ts +0 -13
  150. package/src/code-builder/lib/field/field-managers/date/DateFieldHandler.js +0 -33
  151. package/src/code-builder/lib/field/field-managers/date/DateFieldHandler.js.map +0 -1
  152. package/src/code-builder/lib/field/field-managers/date/DateFieldManagerForDto.d.ts +0 -22
  153. package/src/code-builder/lib/field/field-managers/date/DateFieldManagerForDto.js +0 -81
  154. package/src/code-builder/lib/field/field-managers/date/DateFieldManagerForDto.js.map +0 -1
  155. package/src/code-builder/lib/field/field-managers/date/DateFieldManagerForEntity.d.ts +0 -13
  156. package/src/code-builder/lib/field/field-managers/date/DateFieldManagerForEntity.js +0 -59
  157. package/src/code-builder/lib/field/field-managers/date/DateFieldManagerForEntity.js.map +0 -1
  158. package/src/code-builder/lib/field/field-managers/decimal/DecimalFieldHandler.d.ts +0 -13
  159. package/src/code-builder/lib/field/field-managers/decimal/DecimalFieldHandler.js +0 -33
  160. package/src/code-builder/lib/field/field-managers/decimal/DecimalFieldHandler.js.map +0 -1
  161. package/src/code-builder/lib/field/field-managers/decimal/DecimalFieldManagerForDto.d.ts +0 -22
  162. package/src/code-builder/lib/field/field-managers/decimal/DecimalFieldManagerForDto.js +0 -77
  163. package/src/code-builder/lib/field/field-managers/decimal/DecimalFieldManagerForDto.js.map +0 -1
  164. package/src/code-builder/lib/field/field-managers/decimal/DecimalFieldManagerForEntity.d.ts +0 -13
  165. package/src/code-builder/lib/field/field-managers/decimal/DecimalFieldManagerForEntity.js +0 -53
  166. package/src/code-builder/lib/field/field-managers/decimal/DecimalFieldManagerForEntity.js.map +0 -1
  167. package/src/code-builder/lib/field/field-managers/email/EmailFieldHandler.d.ts +0 -14
  168. package/src/code-builder/lib/field/field-managers/email/EmailFieldHandler.js +0 -34
  169. package/src/code-builder/lib/field/field-managers/email/EmailFieldHandler.js.map +0 -1
  170. package/src/code-builder/lib/field/field-managers/email/EmailFieldManagerForDto.d.ts +0 -22
  171. package/src/code-builder/lib/field/field-managers/email/EmailFieldManagerForDto.js +0 -72
  172. package/src/code-builder/lib/field/field-managers/email/EmailFieldManagerForDto.js.map +0 -1
  173. package/src/code-builder/lib/field/field-managers/email/EmailFieldManagerForEntity.d.ts +0 -12
  174. package/src/code-builder/lib/field/field-managers/email/EmailFieldManagerForEntity.js +0 -44
  175. package/src/code-builder/lib/field/field-managers/email/EmailFieldManagerForEntity.js.map +0 -1
  176. package/src/code-builder/lib/field/field-managers/int/IntFieldHandler.d.ts +0 -13
  177. package/src/code-builder/lib/field/field-managers/int/IntFieldHandler.js +0 -33
  178. package/src/code-builder/lib/field/field-managers/int/IntFieldHandler.js.map +0 -1
  179. package/src/code-builder/lib/field/field-managers/int/IntFieldManagerForDto.d.ts +0 -22
  180. package/src/code-builder/lib/field/field-managers/int/IntFieldManagerForDto.js +0 -76
  181. package/src/code-builder/lib/field/field-managers/int/IntFieldManagerForDto.js.map +0 -1
  182. package/src/code-builder/lib/field/field-managers/int/IntFieldManagerForEntity.d.ts +0 -13
  183. package/src/code-builder/lib/field/field-managers/int/IntFieldManagerForEntity.js +0 -52
  184. package/src/code-builder/lib/field/field-managers/int/IntFieldManagerForEntity.js.map +0 -1
  185. package/src/code-builder/lib/field/field-managers/json/JsonFieldHandler.d.ts +0 -14
  186. package/src/code-builder/lib/field/field-managers/json/JsonFieldHandler.js +0 -34
  187. package/src/code-builder/lib/field/field-managers/json/JsonFieldHandler.js.map +0 -1
  188. package/src/code-builder/lib/field/field-managers/json/JsonFieldManagerForDto.d.ts +0 -20
  189. package/src/code-builder/lib/field/field-managers/json/JsonFieldManagerForDto.js +0 -57
  190. package/src/code-builder/lib/field/field-managers/json/JsonFieldManagerForDto.js.map +0 -1
  191. package/src/code-builder/lib/field/field-managers/json/JsonFieldManagerForEntity.d.ts +0 -9
  192. package/src/code-builder/lib/field/field-managers/json/JsonFieldManagerForEntity.js +0 -21
  193. package/src/code-builder/lib/field/field-managers/json/JsonFieldManagerForEntity.js.map +0 -1
  194. package/src/code-builder/lib/field/field-managers/long-text/LongTextFieldHandler.d.ts +0 -14
  195. package/src/code-builder/lib/field/field-managers/long-text/LongTextFieldHandler.js +0 -34
  196. package/src/code-builder/lib/field/field-managers/long-text/LongTextFieldHandler.js.map +0 -1
  197. package/src/code-builder/lib/field/field-managers/long-text/LongTextFieldManagerForDto.d.ts +0 -22
  198. package/src/code-builder/lib/field/field-managers/long-text/LongTextFieldManagerForDto.js +0 -63
  199. package/src/code-builder/lib/field/field-managers/long-text/LongTextFieldManagerForDto.js.map +0 -1
  200. package/src/code-builder/lib/field/field-managers/long-text/LongTextFieldManagerForEntity.d.ts +0 -11
  201. package/src/code-builder/lib/field/field-managers/long-text/LongTextFieldManagerForEntity.js +0 -34
  202. package/src/code-builder/lib/field/field-managers/long-text/LongTextFieldManagerForEntity.js.map +0 -1
  203. package/src/code-builder/lib/field/field-managers/media/MediaFieldHandler.d.ts +0 -13
  204. package/src/code-builder/lib/field/field-managers/media/MediaFieldHandler.js +0 -33
  205. package/src/code-builder/lib/field/field-managers/media/MediaFieldHandler.js.map +0 -1
  206. package/src/code-builder/lib/field/field-managers/media/MediaFieldManagerForDto.d.ts +0 -23
  207. package/src/code-builder/lib/field/field-managers/media/MediaFieldManagerForDto.js +0 -72
  208. package/src/code-builder/lib/field/field-managers/media/MediaFieldManagerForDto.js.map +0 -1
  209. package/src/code-builder/lib/field/field-managers/media/MediaFieldManagerForEntity.d.ts +0 -12
  210. package/src/code-builder/lib/field/field-managers/media/MediaFieldManagerForEntity.js +0 -57
  211. package/src/code-builder/lib/field/field-managers/media/MediaFieldManagerForEntity.js.map +0 -1
  212. package/src/code-builder/lib/field/field-managers/no-ops/NoOpsFieldHandler.d.ts +0 -13
  213. package/src/code-builder/lib/field/field-managers/no-ops/NoOpsFieldHandler.js +0 -27
  214. package/src/code-builder/lib/field/field-managers/no-ops/NoOpsFieldHandler.js.map +0 -1
  215. package/src/code-builder/lib/field/field-managers/no-ops/NoOpsFieldManagerForDto.d.ts +0 -24
  216. package/src/code-builder/lib/field/field-managers/no-ops/NoOpsFieldManagerForDto.js +0 -75
  217. package/src/code-builder/lib/field/field-managers/no-ops/NoOpsFieldManagerForDto.js.map +0 -1
  218. package/src/code-builder/lib/field/field-managers/no-ops/NoOpsFieldManagerForEntity.d.ts +0 -12
  219. package/src/code-builder/lib/field/field-managers/no-ops/NoOpsFieldManagerForEntity.js +0 -35
  220. package/src/code-builder/lib/field/field-managers/no-ops/NoOpsFieldManagerForEntity.js.map +0 -1
  221. package/src/code-builder/lib/field/field-managers/password/PasswordFieldHandler.d.ts +0 -14
  222. package/src/code-builder/lib/field/field-managers/password/PasswordFieldHandler.js +0 -34
  223. package/src/code-builder/lib/field/field-managers/password/PasswordFieldHandler.js.map +0 -1
  224. package/src/code-builder/lib/field/field-managers/password/PasswordFieldManagerForDto.d.ts +0 -29
  225. package/src/code-builder/lib/field/field-managers/password/PasswordFieldManagerForDto.js +0 -121
  226. package/src/code-builder/lib/field/field-managers/password/PasswordFieldManagerForDto.js.map +0 -1
  227. package/src/code-builder/lib/field/field-managers/password/PasswordFieldManagerForEntity.d.ts +0 -11
  228. package/src/code-builder/lib/field/field-managers/password/PasswordFieldManagerForEntity.js +0 -37
  229. package/src/code-builder/lib/field/field-managers/password/PasswordFieldManagerForEntity.js.map +0 -1
  230. package/src/code-builder/lib/field/field-managers/relation/ManyToManyRelationFieldHandler.d.ts +0 -13
  231. package/src/code-builder/lib/field/field-managers/relation/ManyToManyRelationFieldHandler.js +0 -33
  232. package/src/code-builder/lib/field/field-managers/relation/ManyToManyRelationFieldHandler.js.map +0 -1
  233. package/src/code-builder/lib/field/field-managers/relation/ManyToManyRelationFieldManagerForDto.d.ts +0 -51
  234. package/src/code-builder/lib/field/field-managers/relation/ManyToManyRelationFieldManagerForDto.js +0 -366
  235. package/src/code-builder/lib/field/field-managers/relation/ManyToManyRelationFieldManagerForDto.js.map +0 -1
  236. package/src/code-builder/lib/field/field-managers/relation/ManyToManyRelationFieldManagerForEntity.d.ts +0 -30
  237. package/src/code-builder/lib/field/field-managers/relation/ManyToManyRelationFieldManagerForEntity.js +0 -158
  238. package/src/code-builder/lib/field/field-managers/relation/ManyToManyRelationFieldManagerForEntity.js.map +0 -1
  239. package/src/code-builder/lib/field/field-managers/relation/ManyToOneRelationFieldHandler.d.ts +0 -13
  240. package/src/code-builder/lib/field/field-managers/relation/ManyToOneRelationFieldHandler.js +0 -33
  241. package/src/code-builder/lib/field/field-managers/relation/ManyToOneRelationFieldHandler.js.map +0 -1
  242. package/src/code-builder/lib/field/field-managers/relation/ManyToOneRelationFieldManagerForDto.d.ts +0 -43
  243. package/src/code-builder/lib/field/field-managers/relation/ManyToOneRelationFieldManagerForDto.js +0 -294
  244. package/src/code-builder/lib/field/field-managers/relation/ManyToOneRelationFieldManagerForDto.js.map +0 -1
  245. package/src/code-builder/lib/field/field-managers/relation/ManyToOneRelationFieldManagerForEntity.d.ts +0 -31
  246. package/src/code-builder/lib/field/field-managers/relation/ManyToOneRelationFieldManagerForEntity.js +0 -177
  247. package/src/code-builder/lib/field/field-managers/relation/ManyToOneRelationFieldManagerForEntity.js.map +0 -1
  248. package/src/code-builder/lib/field/field-managers/rich-text/RichTextFieldHandler.d.ts +0 -14
  249. package/src/code-builder/lib/field/field-managers/rich-text/RichTextFieldHandler.js +0 -34
  250. package/src/code-builder/lib/field/field-managers/rich-text/RichTextFieldHandler.js.map +0 -1
  251. package/src/code-builder/lib/field/field-managers/rich-text/RichTextFieldManagerForDto.d.ts +0 -22
  252. package/src/code-builder/lib/field/field-managers/rich-text/RichTextFieldManagerForDto.js +0 -63
  253. package/src/code-builder/lib/field/field-managers/rich-text/RichTextFieldManagerForDto.js.map +0 -1
  254. package/src/code-builder/lib/field/field-managers/rich-text/RichTextFieldManagerForEntity.d.ts +0 -11
  255. package/src/code-builder/lib/field/field-managers/rich-text/RichTextFieldManagerForEntity.js +0 -34
  256. package/src/code-builder/lib/field/field-managers/rich-text/RichTextFieldManagerForEntity.js.map +0 -1
  257. package/src/code-builder/lib/field/field-managers/short-text/ShortTextFieldHandler.d.ts +0 -14
  258. package/src/code-builder/lib/field/field-managers/short-text/ShortTextFieldHandler.js +0 -34
  259. package/src/code-builder/lib/field/field-managers/short-text/ShortTextFieldHandler.js.map +0 -1
  260. package/src/code-builder/lib/field/field-managers/short-text/ShortTextFieldManagerForDto.d.ts +0 -22
  261. package/src/code-builder/lib/field/field-managers/short-text/ShortTextFieldManagerForDto.js +0 -63
  262. package/src/code-builder/lib/field/field-managers/short-text/ShortTextFieldManagerForDto.js.map +0 -1
  263. package/src/code-builder/lib/field/field-managers/short-text/ShortTextFieldManagerForEntity.d.ts +0 -11
  264. package/src/code-builder/lib/field/field-managers/short-text/ShortTextFieldManagerForEntity.js +0 -37
  265. package/src/code-builder/lib/field/field-managers/short-text/ShortTextFieldManagerForEntity.js.map +0 -1
  266. package/src/code-builder/lib/field/field-managers/uuid/UUIDFieldHandler.d.ts +0 -14
  267. package/src/code-builder/lib/field/field-managers/uuid/UUIDFieldHandler.js +0 -34
  268. package/src/code-builder/lib/field/field-managers/uuid/UUIDFieldHandler.js.map +0 -1
  269. package/src/code-builder/lib/field/field-managers/uuid/UUIDFieldManagerForDto.d.ts +0 -8
  270. package/src/code-builder/lib/field/field-managers/uuid/UUIDFieldManagerForDto.js +0 -15
  271. package/src/code-builder/lib/field/field-managers/uuid/UUIDFieldManagerForDto.js.map +0 -1
  272. package/src/code-builder/lib/field/field-managers/uuid/UUIDFieldManagerForEntity.d.ts +0 -11
  273. package/src/code-builder/lib/field/field-managers/uuid/UUIDFieldManagerForEntity.js +0 -33
  274. package/src/code-builder/lib/field/field-managers/uuid/UUIDFieldManagerForEntity.js.map +0 -1
  275. package/src/code-builder/lib/model/helpers.d.ts +0 -49
  276. package/src/code-builder/lib/model/helpers.js +0 -407
  277. package/src/code-builder/lib/model/helpers.js.map +0 -1
@@ -1,102 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.BooleanDecoratorManager = void 0;
7
- const typescript_1 = __importDefault(require("@schematics/angular/third_party/github.com/Microsoft/TypeScript/lib/typescript"));
8
- const ast_utils_1 = require("@schematics/angular/utility/ast-utils");
9
- class BooleanDecoratorManager {
10
- constructor(options, fieldNode) {
11
- this.options = options;
12
- this.fieldNode = fieldNode;
13
- }
14
- isApplyDecorator() {
15
- return this.options.isBoolean;
16
- }
17
- buildDecorator() {
18
- const fieldSourceLines = [];
19
- const changes = [];
20
- fieldSourceLines.push(`@${this.decoratorName()}()`);
21
- changes.push(...this.decoratorImports());
22
- return {
23
- filePath: this.options.source.fileName,
24
- field: this.options.field,
25
- changes: changes,
26
- fieldSourceLines: fieldSourceLines,
27
- };
28
- }
29
- setFieldNode(fieldNode) {
30
- this.fieldNode = fieldNode;
31
- }
32
- decoratorName() {
33
- return 'IsBoolean';
34
- }
35
- decoratorImports() {
36
- return [
37
- (0, ast_utils_1.insertImport)(this.options.source, this.options.source.fileName, this.decoratorName(), 'class-validator'),
38
- ];
39
- }
40
- updateDecorator() {
41
- if (!this.fieldNode)
42
- throw new Error(`Field node is required for updating the ${this.decoratorName()} decorator`);
43
- let newModifiers = [];
44
- let existingModifiers = this.fieldNode.modifiers;
45
- // Check if the field has an Length decorator.
46
- //@ts-ignore
47
- const existingDecorator = this.findDecorator(this.decoratorName(), existingModifiers);
48
- //Remove the column decorator if the column decorator exists
49
- //TODO probably this too can be done in a lesser intrusive way i.e update everything instead of removing and adding
50
- newModifiers = [...this.filterNonDecorators(existingModifiers), ...this.filterOtherDecorators(this.decoratorName(), existingModifiers)];
51
- //Add the column decorator if column decorator is required
52
- const changes = [];
53
- if (this.isApplyDecorator()) {
54
- newModifiers = [...newModifiers, this.createDecorator(existingDecorator)];
55
- changes.push(...this.decoratorImports());
56
- }
57
- const updatedProperty = typescript_1.default.factory.updatePropertyDeclaration(this.fieldNode, newModifiers, //Replace with new modifiers
58
- this.fieldNode.name, this.fieldNode.questionToken, this.fieldNode.type, this.fieldNode.initializer);
59
- return [updatedProperty, changes];
60
- }
61
- createDecorator(existingDecorator) {
62
- // Capture the existing column decorator options
63
- const validationOptions = [];
64
- if (existingDecorator !== undefined) {
65
- //Pre-set the column options from the existing column decorator
66
- const existingCallExpression = existingDecorator.expression;
67
- // Check if call expression has at least 1 arguments
68
- if (existingCallExpression.arguments.length > 0) {
69
- if (!typescript_1.default.isObjectLiteralExpression(existingCallExpression.arguments[0])) {
70
- throw new Error('Boolean decorator 1st argument must be an object literal containing the validation options');
71
- }
72
- const existingObjectLiteralExpression = existingCallExpression.arguments[0];
73
- validationOptions.push(...existingObjectLiteralExpression.properties);
74
- }
75
- }
76
- // Re-create the column decorator with the merged column decorator options
77
- const decoratorIdentifier = typescript_1.default.factory.createIdentifier(this.decoratorName());
78
- const argumentsArray = [];
79
- if (validationOptions.length > 0) {
80
- const validationOptionsObjectLiteral = typescript_1.default.factory.createObjectLiteralExpression(validationOptions);
81
- argumentsArray.push(validationOptionsObjectLiteral);
82
- }
83
- const call = typescript_1.default.factory.createCallExpression(decoratorIdentifier, undefined, argumentsArray);
84
- return typescript_1.default.factory.createDecorator(call);
85
- }
86
- findDecorator(name, existingModifiers) {
87
- return existingModifiers ? existingModifiers.filter((m) => (m.kind === typescript_1.default.SyntaxKind.Decorator)).map(m => m).filter(m => this.containsIdentifierName(m, name)).pop() : undefined;
88
- }
89
- filterOtherDecorators(name, existingModifiers) {
90
- return existingModifiers ? existingModifiers.filter((m) => (m.kind === typescript_1.default.SyntaxKind.Decorator)).map(m => m).filter(m => !this.containsIdentifierName(m, name)) : [];
91
- }
92
- filterNonDecorators(existingModifiers) {
93
- return existingModifiers ? existingModifiers.filter((m) => (m.kind !== typescript_1.default.SyntaxKind.Decorator)).map(m => m) : [];
94
- }
95
- containsIdentifierName(m, identifierName) {
96
- const callExpression = m.expression;
97
- const identifier = callExpression.expression;
98
- return identifier.text === identifierName;
99
- }
100
- }
101
- exports.BooleanDecoratorManager = BooleanDecoratorManager;
102
- //# sourceMappingURL=BooleanDecoratorManager.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"BooleanDecoratorManager.js","sourceRoot":"","sources":["BooleanDecoratorManager.ts"],"names":[],"mappings":"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"}
@@ -1,24 +0,0 @@
1
- import ts, { PropertyDeclaration } from "@schematics/angular/third_party/github.com/Microsoft/TypeScript/lib/typescript";
2
- import { DecoratorManager, PartialAddFieldChange } from "../../FieldManager";
3
- import { Change } from "@schematics/angular/utility/change";
4
- export interface DateDecoratorOptions {
5
- isDate: boolean;
6
- source: ts.SourceFile;
7
- field: any;
8
- }
9
- export declare class DateDecoratorManager implements DecoratorManager {
10
- options: DateDecoratorOptions;
11
- fieldNode?: any;
12
- constructor(options: DateDecoratorOptions, fieldNode?: any);
13
- isApplyDecorator(): boolean;
14
- buildDecorator(): PartialAddFieldChange;
15
- setFieldNode(fieldNode: ts.PropertyDeclaration): void;
16
- decoratorName(): string;
17
- decoratorImports(): Change[];
18
- updateDecorator(): [PropertyDeclaration, Change[]];
19
- createDecorator(existingDecorator: ts.Decorator | undefined): ts.Decorator;
20
- private findDecorator;
21
- private filterOtherDecorators;
22
- private filterNonDecorators;
23
- private containsIdentifierName;
24
- }
@@ -1,106 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.DateDecoratorManager = void 0;
7
- const typescript_1 = __importDefault(require("@schematics/angular/third_party/github.com/Microsoft/TypeScript/lib/typescript"));
8
- const ast_utils_1 = require("@schematics/angular/utility/ast-utils");
9
- class DateDecoratorManager {
10
- constructor(options, fieldNode) {
11
- this.options = options;
12
- this.fieldNode = fieldNode;
13
- }
14
- isApplyDecorator() {
15
- return this.options.isDate;
16
- }
17
- buildDecorator() {
18
- const fieldSourceLines = [];
19
- const changes = [];
20
- // fieldSourceLines.push(`@Type(() => Date)`);
21
- fieldSourceLines.push(`@${this.decoratorName()}()`);
22
- changes.push(...this.decoratorImports());
23
- return {
24
- filePath: this.options.source.fileName,
25
- field: this.options.field,
26
- changes: changes,
27
- fieldSourceLines: fieldSourceLines,
28
- };
29
- }
30
- setFieldNode(fieldNode) {
31
- this.fieldNode = fieldNode;
32
- }
33
- decoratorName() {
34
- return 'IsDate';
35
- }
36
- decoratorImports() {
37
- return [
38
- (0, ast_utils_1.insertImport)(this.options.source, this.options.source.fileName, this.decoratorName(), 'class-validator'),
39
- ];
40
- }
41
- updateDecorator() {
42
- if (!this.fieldNode)
43
- throw new Error(`Field node is required for updating the ${this.decoratorName()} decorator`);
44
- let newModifiers = [];
45
- let existingModifiers = this.fieldNode.modifiers;
46
- // Check if the field has an Length decorator.
47
- //@ts-ignore
48
- const existingDecorator = this.findDecorator(this.decoratorName(), existingModifiers);
49
- //Remove the column decorator if the column decorator exists
50
- //TODO probably this too can be done in a lesser intrusive way i.e update everything instead of removing and adding
51
- newModifiers = [...this.filterNonDecorators(existingModifiers), ...this.filterOtherDecorators(this.decoratorName(), existingModifiers)];
52
- //Add the column decorator if column decorator is required
53
- const changes = [];
54
- if (this.isApplyDecorator()) {
55
- newModifiers = [...newModifiers, this.createDecorator(existingDecorator)];
56
- changes.push(...this.decoratorImports());
57
- }
58
- const updatedProperty = typescript_1.default.factory.updatePropertyDeclaration(this.fieldNode, newModifiers, //Replace with new modifiers
59
- this.fieldNode.name, this.fieldNode.questionToken, this.fieldNode.type, this.fieldNode.initializer);
60
- return [updatedProperty, changes];
61
- }
62
- createDecorator(existingDecorator) {
63
- // Capture the existing column decorator options
64
- const validationOptions = [];
65
- if (existingDecorator !== undefined) {
66
- //Pre-set the column options from the existing column decorator
67
- const existingCallExpression = existingDecorator.expression;
68
- // Check if call expression has at least 1 arguments
69
- if (existingCallExpression.arguments.length > 0) {
70
- if (!typescript_1.default.isObjectLiteralExpression(existingCallExpression.arguments[0])) {
71
- throw new Error('Date decorator 1st argument must be an object literal containing the validation options');
72
- }
73
- const existingObjectLiteralExpression = existingCallExpression.arguments[0];
74
- validationOptions.push(...existingObjectLiteralExpression.properties);
75
- }
76
- }
77
- // Re-create the column decorator with the merged column decorator options
78
- const decoratorIdentifier = typescript_1.default.factory.createIdentifier("IsDate");
79
- const argumentsArray = [];
80
- if (validationOptions.length > 0) {
81
- const validationOptionsObjectLiteral = typescript_1.default.factory.createObjectLiteralExpression(validationOptions);
82
- argumentsArray.push(validationOptionsObjectLiteral);
83
- }
84
- const call = typescript_1.default.factory.createCallExpression(decoratorIdentifier, undefined, argumentsArray);
85
- return typescript_1.default.factory.createDecorator(call);
86
- }
87
- findDecorator(name, existingModifiers) {
88
- return existingModifiers ? existingModifiers.filter((m) => (m.kind === typescript_1.default.SyntaxKind.Decorator)).map(m => m).filter(m => this.containsIdentifierName(m, name)).pop() : undefined;
89
- }
90
- filterOtherDecorators(name, existingModifiers) {
91
- return existingModifiers ? existingModifiers.filter((m) => (m.kind === typescript_1.default.SyntaxKind.Decorator)).map(m => m).filter(m => !this.containsIdentifierName(m, name)) : [];
92
- }
93
- // private filterNonTransformerDecorators(existingDecorators: ts.Decorator[]): ts.Decorator[] {
94
- // return existingDecorators ? existingDecorators.filter(m => !this.containsIdentifierName(m, 'Type')) : [];
95
- // }
96
- filterNonDecorators(existingModifiers) {
97
- return existingModifiers ? existingModifiers.filter((m) => (m.kind !== typescript_1.default.SyntaxKind.Decorator)).map(m => m) : [];
98
- }
99
- containsIdentifierName(m, identifierName) {
100
- const callExpression = m.expression;
101
- const identifier = callExpression.expression;
102
- return identifier.text === identifierName;
103
- }
104
- }
105
- exports.DateDecoratorManager = DateDecoratorManager;
106
- //# sourceMappingURL=DateDecoratorManager.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DateDecoratorManager.js","sourceRoot":"","sources":["DateDecoratorManager.ts"],"names":[],"mappings":"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"}
@@ -1,112 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.DecimalDecoratorManager = void 0;
7
- const typescript_1 = __importDefault(require("@schematics/angular/third_party/github.com/Microsoft/TypeScript/lib/typescript"));
8
- const ast_utils_1 = require("@schematics/angular/utility/ast-utils");
9
- class DecimalDecoratorManager {
10
- constructor(options, fieldNode) {
11
- this.options = options;
12
- this.fieldNode = fieldNode;
13
- }
14
- isApplyDecorator() {
15
- return this.options.isDecimal;
16
- }
17
- buildDecorator() {
18
- const fieldSourceLines = [];
19
- const changes = [];
20
- fieldSourceLines.push(`@${this.decoratorName()}()`);
21
- changes.push(...this.decoratorImports());
22
- return {
23
- filePath: this.options.source.fileName,
24
- field: this.options.field,
25
- changes: changes,
26
- fieldSourceLines: fieldSourceLines,
27
- };
28
- }
29
- setFieldNode(fieldNode) {
30
- this.fieldNode = fieldNode;
31
- }
32
- decoratorName() {
33
- return 'IsNumber';
34
- }
35
- decoratorImports() {
36
- return [(0, ast_utils_1.insertImport)(this.options.source, this.options.source.fileName, this.decoratorName(), 'class-validator')];
37
- }
38
- updateDecorator() {
39
- if (!this.fieldNode)
40
- throw new Error(`Field node is required for updating the ${this.decoratorName()} decorator`);
41
- let newModifiers = [];
42
- let existingModifiers = this.fieldNode.modifiers;
43
- // Check if the field has an Length decorator.
44
- //@ts-ignore
45
- const existingDecorator = this.findDecorator(this.decoratorName(), existingModifiers);
46
- //Remove the column decorator if the column decorator exists
47
- //TODO probably this too can be done in a lesser intrusive way i.e update everything instead of removing and adding
48
- newModifiers = [...this.filterNonDecorators(existingModifiers), ...this.filterOtherDecorators(this.decoratorName(), existingModifiers)];
49
- //Add the column decorator if column decorator is required
50
- const changes = [];
51
- if (this.isApplyDecorator()) {
52
- newModifiers = [...newModifiers, this.createDecorator(existingDecorator)];
53
- changes.push(...this.decoratorImports());
54
- }
55
- const updatedProperty = typescript_1.default.factory.updatePropertyDeclaration(this.fieldNode, newModifiers, //Replace with new modifiers
56
- this.fieldNode.name, this.fieldNode.questionToken, this.fieldNode.type, this.fieldNode.initializer);
57
- return [updatedProperty, changes];
58
- }
59
- createDecorator(existingDecorator) {
60
- // Capture the existing column decorator options
61
- const decimalOptions = [];
62
- const validationOptions = [];
63
- if (existingDecorator !== undefined) {
64
- //Pre-set the column options from the existing column decorator
65
- const existingCallExpression = existingDecorator.expression;
66
- // Check if call expression has at least 1 arguments
67
- if (existingCallExpression.arguments.length > 0) {
68
- if (!typescript_1.default.isObjectLiteralExpression(existingCallExpression.arguments[0])) {
69
- throw new Error('Decimal decorator 2nd argument must be an object literal containing the validation options');
70
- }
71
- const existingObjectLiteralExpression = existingCallExpression.arguments[0];
72
- decimalOptions.push(...existingObjectLiteralExpression.properties);
73
- if (existingCallExpression.arguments.length > 1) {
74
- if (!typescript_1.default.isObjectLiteralExpression(existingCallExpression.arguments[1])) {
75
- throw new Error('Decimal decorator 3rd argument must be an object literal containing the validation options');
76
- }
77
- const existingObjectLiteralExpression = existingCallExpression.arguments[1];
78
- validationOptions.push(...existingObjectLiteralExpression.properties);
79
- }
80
- }
81
- }
82
- // Re-create the column decorator with the merged column decorator options
83
- const decoratorIdentifier = typescript_1.default.factory.createIdentifier(this.decoratorName());
84
- const argumentsArray = [];
85
- if (decimalOptions.length > 0) {
86
- const decimalOptionsObjectLiteral = typescript_1.default.factory.createObjectLiteralExpression(decimalOptions);
87
- argumentsArray.push(decimalOptionsObjectLiteral);
88
- }
89
- if (validationOptions.length > 0) {
90
- const validationOptionsObjectLiteral = typescript_1.default.factory.createObjectLiteralExpression(validationOptions);
91
- argumentsArray.push(validationOptionsObjectLiteral);
92
- }
93
- const call = typescript_1.default.factory.createCallExpression(decoratorIdentifier, undefined, argumentsArray);
94
- return typescript_1.default.factory.createDecorator(call);
95
- }
96
- findDecorator(name, existingModifiers) {
97
- return existingModifiers ? existingModifiers.filter((m) => (m.kind === typescript_1.default.SyntaxKind.Decorator)).map(m => m).filter(m => this.containsIdentifierName(m, name)).pop() : undefined;
98
- }
99
- filterOtherDecorators(name, existingModifiers) {
100
- return existingModifiers ? existingModifiers.filter((m) => (m.kind === typescript_1.default.SyntaxKind.Decorator)).map(m => m).filter(m => !this.containsIdentifierName(m, name)) : [];
101
- }
102
- filterNonDecorators(existingModifiers) {
103
- return existingModifiers ? existingModifiers.filter((m) => (m.kind !== typescript_1.default.SyntaxKind.Decorator)).map(m => m) : [];
104
- }
105
- containsIdentifierName(m, identifierName) {
106
- const callExpression = m.expression;
107
- const identifier = callExpression.expression;
108
- return identifier.text === identifierName;
109
- }
110
- }
111
- exports.DecimalDecoratorManager = DecimalDecoratorManager;
112
- //# sourceMappingURL=DecimalDecoratorManager.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DecimalDecoratorManager.js","sourceRoot":"","sources":["DecimalDecoratorManager.ts"],"names":[],"mappings":"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"}
@@ -1,24 +0,0 @@
1
- import ts, { PropertyDeclaration } from "@schematics/angular/third_party/github.com/Microsoft/TypeScript/lib/typescript";
2
- import { DecoratorManager, PartialAddFieldChange } from "../../FieldManager";
3
- import { Change } from "@schematics/angular/utility/change";
4
- export interface EmailDecoratorOptions {
5
- isEmail: boolean;
6
- source: ts.SourceFile;
7
- field: any;
8
- }
9
- export declare class EmailDecoratorManager implements DecoratorManager {
10
- options: EmailDecoratorOptions;
11
- fieldNode?: ts.PropertyDeclaration | undefined;
12
- constructor(options: EmailDecoratorOptions, fieldNode?: ts.PropertyDeclaration | undefined);
13
- isApplyDecorator(): boolean;
14
- buildDecorator(): PartialAddFieldChange;
15
- setFieldNode(fieldNode: PropertyDeclaration): void;
16
- decoratorName(): string;
17
- decoratorImports(): Change[];
18
- updateDecorator(): [PropertyDeclaration, Change[]];
19
- createDecorator(existingDecorator: ts.Decorator | undefined): ts.Decorator;
20
- private findDecorator;
21
- private filterOtherDecorators;
22
- private filterNonDecorators;
23
- private containsIdentifierName;
24
- }
@@ -1,99 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.EmailDecoratorManager = void 0;
7
- const typescript_1 = __importDefault(require("@schematics/angular/third_party/github.com/Microsoft/TypeScript/lib/typescript"));
8
- const ast_utils_1 = require("@schematics/angular/utility/ast-utils");
9
- class EmailDecoratorManager {
10
- constructor(options, fieldNode) {
11
- this.options = options;
12
- this.fieldNode = fieldNode;
13
- }
14
- isApplyDecorator() {
15
- return this.options.isEmail;
16
- }
17
- buildDecorator() {
18
- const fieldSourceLines = [];
19
- const changes = [];
20
- fieldSourceLines.push(`@${this.decoratorName()}()`);
21
- changes.push(...this.decoratorImports());
22
- return {
23
- filePath: this.options.source.fileName,
24
- field: this.options.field,
25
- changes: changes,
26
- fieldSourceLines: fieldSourceLines,
27
- };
28
- }
29
- setFieldNode(fieldNode) {
30
- this.fieldNode = fieldNode;
31
- }
32
- decoratorName() {
33
- return 'IsEmail';
34
- }
35
- decoratorImports() {
36
- return [(0, ast_utils_1.insertImport)(this.options.source, this.options.source.fileName, this.decoratorName(), 'class-validator')];
37
- }
38
- updateDecorator() {
39
- if (!this.fieldNode)
40
- throw new Error(`Field node is required for updating the ${this.decoratorName()} decorator`);
41
- let newModifiers = [];
42
- let existingModifiers = this.fieldNode.modifiers;
43
- // Check if the field has an Length decorator.
44
- const existingDecorator = this.findDecorator(this.decoratorName(), existingModifiers);
45
- //Remove the column decorator if the column decorator exists
46
- //TODO probably this too can be done in a lesser intrusive way i.e update everything instead of removing and adding
47
- newModifiers = [...this.filterNonDecorators(existingModifiers), ...this.filterOtherDecorators(this.decoratorName(), existingModifiers)];
48
- //Add the column decorator if column decorator is required
49
- const changes = [];
50
- if (this.isApplyDecorator()) {
51
- newModifiers = [...newModifiers, this.createDecorator(existingDecorator)];
52
- changes.push(...this.decoratorImports());
53
- }
54
- const updatedProperty = typescript_1.default.factory.updatePropertyDeclaration(this.fieldNode, newModifiers, //Replace with new modifiers
55
- this.fieldNode.name, this.fieldNode.questionToken, this.fieldNode.type, this.fieldNode.initializer);
56
- return [updatedProperty, changes];
57
- }
58
- createDecorator(existingDecorator) {
59
- // Capture the existing column decorator options
60
- let validationOptions = [];
61
- if (existingDecorator !== undefined) {
62
- //Pre-set the column options from the existing column decorator
63
- const existingCallExpression = existingDecorator.expression;
64
- // Check if call expression has at least 1 arguments
65
- if (existingCallExpression.arguments.length > 0) {
66
- if (!typescript_1.default.isObjectLiteralExpression(existingCallExpression.arguments[0])) {
67
- throw new Error(`${this.decoratorName()} decorator 1st argument must be an object literal containing the validation options`);
68
- }
69
- const existingObjectLiteralExpression = existingCallExpression.arguments[0];
70
- validationOptions.push(...existingObjectLiteralExpression.properties);
71
- }
72
- }
73
- // Re-create the column decorator with the merged column decorator options
74
- const decoratorIdentifier = typescript_1.default.factory.createIdentifier(this.decoratorName());
75
- const argumentsArray = [];
76
- if (validationOptions.length > 0) {
77
- const validationOptionsObjectLiteral = typescript_1.default.factory.createObjectLiteralExpression(validationOptions);
78
- argumentsArray.push(validationOptionsObjectLiteral);
79
- }
80
- const call = typescript_1.default.factory.createCallExpression(decoratorIdentifier, undefined, argumentsArray);
81
- return typescript_1.default.factory.createDecorator(call);
82
- }
83
- findDecorator(name, existingModifiers) {
84
- return existingModifiers ? existingModifiers.filter((m) => (m.kind === typescript_1.default.SyntaxKind.Decorator)).map(m => m).filter(m => this.containsIdentifierName(m, name)).pop() : undefined;
85
- }
86
- filterOtherDecorators(name, existingModifiers) {
87
- return existingModifiers ? existingModifiers.filter((m) => (m.kind === typescript_1.default.SyntaxKind.Decorator)).map(m => m).filter(m => !this.containsIdentifierName(m, name)) : [];
88
- }
89
- filterNonDecorators(existingModifiers) {
90
- return existingModifiers ? existingModifiers.filter((m) => (m.kind !== typescript_1.default.SyntaxKind.Decorator)).map(m => m) : [];
91
- }
92
- containsIdentifierName(m, identifierName) {
93
- const callExpression = m.expression;
94
- const identifier = callExpression.expression;
95
- return identifier.text === identifierName;
96
- }
97
- }
98
- exports.EmailDecoratorManager = EmailDecoratorManager;
99
- //# sourceMappingURL=EmailDecoratorManager.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"EmailDecoratorManager.js","sourceRoot":"","sources":["EmailDecoratorManager.ts"],"names":[],"mappings":"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"}
@@ -1,24 +0,0 @@
1
- import ts from "@schematics/angular/third_party/github.com/Microsoft/TypeScript/lib/typescript";
2
- import { DecoratorManager, PartialAddFieldChange } from "../../FieldManager";
3
- import { Change } from "@schematics/angular/utility/change";
4
- export interface IntDecoratorOptions {
5
- isInt: boolean;
6
- source: ts.SourceFile;
7
- field: any;
8
- }
9
- export declare class IntDecoratorManager implements DecoratorManager {
10
- options: IntDecoratorOptions;
11
- fieldNode?: any;
12
- constructor(options: IntDecoratorOptions, fieldNode?: any);
13
- isApplyDecorator(): boolean;
14
- buildDecorator(): PartialAddFieldChange;
15
- setFieldNode(fieldNode: ts.PropertyDeclaration): void;
16
- decoratorName(): string;
17
- decoratorImports(): Change[];
18
- updateDecorator(): any;
19
- createDecorator(existingDecorator: ts.Decorator | undefined): ts.Decorator;
20
- private findDecorator;
21
- private filterOtherDecorators;
22
- private filterNonDecorators;
23
- private containsIdentifierName;
24
- }
@@ -1,100 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.IntDecoratorManager = void 0;
7
- const typescript_1 = __importDefault(require("@schematics/angular/third_party/github.com/Microsoft/TypeScript/lib/typescript"));
8
- const ast_utils_1 = require("@schematics/angular/utility/ast-utils");
9
- class IntDecoratorManager {
10
- constructor(options, fieldNode) {
11
- this.options = options;
12
- this.fieldNode = fieldNode;
13
- }
14
- isApplyDecorator() {
15
- return this.options.isInt;
16
- }
17
- buildDecorator() {
18
- const fieldSourceLines = [];
19
- const changes = [];
20
- fieldSourceLines.push(`@${this.decoratorName()}()`);
21
- changes.push(...this.decoratorImports());
22
- return {
23
- filePath: this.options.source.fileName,
24
- field: this.options.field,
25
- changes: changes,
26
- fieldSourceLines: fieldSourceLines,
27
- };
28
- }
29
- setFieldNode(fieldNode) {
30
- this.fieldNode = fieldNode;
31
- }
32
- decoratorName() {
33
- return 'IsInt';
34
- }
35
- decoratorImports() {
36
- return [(0, ast_utils_1.insertImport)(this.options.source, this.options.source.fileName, this.decoratorName(), 'class-validator')];
37
- }
38
- updateDecorator() {
39
- if (!this.fieldNode)
40
- throw new Error(`Field node is required for updating the ${this.decoratorName()} decorator`);
41
- let newModifiers = [];
42
- let existingModifiers = this.fieldNode.modifiers;
43
- // Check if the field has an Length decorator.
44
- //@ts-ignore
45
- const existingDecorator = this.findDecorator(this.decoratorName(), existingModifiers);
46
- //Remove the column decorator if the column decorator exists
47
- //TODO probably this too can be done in a lesser intrusive way i.e update everything instead of removing and adding
48
- newModifiers = [...this.filterNonDecorators(existingModifiers), ...this.filterOtherDecorators(this.decoratorName(), existingModifiers)];
49
- //Add the column decorator if column decorator is required
50
- const changes = [];
51
- if (this.isApplyDecorator()) {
52
- newModifiers = [...newModifiers, this.createDecorator(existingDecorator)];
53
- changes.push(...this.decoratorImports());
54
- }
55
- const updatedProperty = typescript_1.default.factory.updatePropertyDeclaration(this.fieldNode, newModifiers, //Replace with new modifiers
56
- this.fieldNode.name, this.fieldNode.questionToken, this.fieldNode.type, this.fieldNode.initializer);
57
- return [updatedProperty, changes];
58
- }
59
- createDecorator(existingDecorator) {
60
- // Capture the existing column decorator options
61
- const validationOptions = [];
62
- if (existingDecorator !== undefined) {
63
- //Pre-set the column options from the existing column decorator
64
- const existingCallExpression = existingDecorator.expression;
65
- // Check if call expression has at least 1 arguments
66
- if (existingCallExpression.arguments.length > 0) {
67
- if (!typescript_1.default.isObjectLiteralExpression(existingCallExpression.arguments[0])) {
68
- throw new Error('Int decorator 1st argument must be an object literal containing the validation options');
69
- }
70
- const existingObjectLiteralExpression = existingCallExpression.arguments[0];
71
- validationOptions.push(...existingObjectLiteralExpression.properties);
72
- }
73
- }
74
- // Re-create the column decorator with the merged column decorator options
75
- const decoratorIdentifier = typescript_1.default.factory.createIdentifier(this.decoratorName());
76
- const argumentsArray = [];
77
- if (validationOptions.length > 0) {
78
- const validationOptionsObjectLiteral = typescript_1.default.factory.createObjectLiteralExpression(validationOptions);
79
- argumentsArray.push(validationOptionsObjectLiteral);
80
- }
81
- const call = typescript_1.default.factory.createCallExpression(decoratorIdentifier, undefined, argumentsArray);
82
- return typescript_1.default.factory.createDecorator(call);
83
- }
84
- findDecorator(name, existingModifiers) {
85
- return existingModifiers ? existingModifiers.filter((m) => (m.kind === typescript_1.default.SyntaxKind.Decorator)).map(m => m).filter(m => this.containsIdentifierName(m, name)).pop() : undefined;
86
- }
87
- filterOtherDecorators(name, existingModifiers) {
88
- return existingModifiers ? existingModifiers.filter((m) => (m.kind === typescript_1.default.SyntaxKind.Decorator)).map(m => m).filter(m => !this.containsIdentifierName(m, name)) : [];
89
- }
90
- filterNonDecorators(existingModifiers) {
91
- return existingModifiers ? existingModifiers.filter((m) => (m.kind !== typescript_1.default.SyntaxKind.Decorator)).map(m => m) : [];
92
- }
93
- containsIdentifierName(m, identifierName) {
94
- const callExpression = m.expression;
95
- const identifier = callExpression.expression;
96
- return identifier.text === identifierName;
97
- }
98
- }
99
- exports.IntDecoratorManager = IntDecoratorManager;
100
- //# sourceMappingURL=IntDecoratorManager.js.map