@solidstarters/solid-code-builder 1.0.9 → 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 (271) 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/package.json +1 -1
  16. package/src/code-builder/lib/field/FieldManager.ts +1 -0
  17. package/src/code-builder/lib/field/decorator-managers/dto/ApiPropertyDecoratorManager.ts +127 -0
  18. package/src/code-builder/lib/field/decorator-managers/entity/JoinTableDecoratorManager.ts +10 -10
  19. package/src/code-builder/lib/field/field-managers/base/BaseFieldManagerForDto.ts +13 -3
  20. package/src/code-builder/lib/field/field-managers/base/BaseFieldManagerForEntity.ts +2 -2
  21. package/solidstarters-solid-code-builder-1.0.7.tgz +0 -0
  22. package/src/code-builder/index.d.ts +0 -9
  23. package/src/code-builder/index.js +0 -178
  24. package/src/code-builder/index.js.map +0 -1
  25. package/src/code-builder/index_spec.d.ts +0 -1
  26. package/src/code-builder/index_spec.js +0 -46
  27. package/src/code-builder/index_spec.js.map +0 -1
  28. package/src/code-builder/lib/field/FieldManager.d.ts +0 -106
  29. package/src/code-builder/lib/field/FieldManager.js +0 -236
  30. package/src/code-builder/lib/field/FieldManager.js.map +0 -1
  31. package/src/code-builder/lib/field/decorator-managers/dto/ArrayDecoratorManager.d.ts +0 -26
  32. package/src/code-builder/lib/field/decorator-managers/dto/ArrayDecoratorManager.js +0 -107
  33. package/src/code-builder/lib/field/decorator-managers/dto/ArrayDecoratorManager.js.map +0 -1
  34. package/src/code-builder/lib/field/decorator-managers/dto/BigIntDecoratorManager.d.ts +0 -24
  35. package/src/code-builder/lib/field/decorator-managers/dto/BigIntDecoratorManager.js +0 -100
  36. package/src/code-builder/lib/field/decorator-managers/dto/BigIntDecoratorManager.js.map +0 -1
  37. package/src/code-builder/lib/field/decorator-managers/dto/BooleanDecoratorManager.d.ts +0 -24
  38. package/src/code-builder/lib/field/decorator-managers/dto/BooleanDecoratorManager.js +0 -102
  39. package/src/code-builder/lib/field/decorator-managers/dto/BooleanDecoratorManager.js.map +0 -1
  40. package/src/code-builder/lib/field/decorator-managers/dto/DateDecoratorManager.d.ts +0 -24
  41. package/src/code-builder/lib/field/decorator-managers/dto/DateDecoratorManager.js +0 -106
  42. package/src/code-builder/lib/field/decorator-managers/dto/DateDecoratorManager.js.map +0 -1
  43. package/src/code-builder/lib/field/decorator-managers/dto/DecimalDecoratorManager.js +0 -112
  44. package/src/code-builder/lib/field/decorator-managers/dto/DecimalDecoratorManager.js.map +0 -1
  45. package/src/code-builder/lib/field/decorator-managers/dto/EmailDecoratorManager.d.ts +0 -24
  46. package/src/code-builder/lib/field/decorator-managers/dto/EmailDecoratorManager.js +0 -99
  47. package/src/code-builder/lib/field/decorator-managers/dto/EmailDecoratorManager.js.map +0 -1
  48. package/src/code-builder/lib/field/decorator-managers/dto/IntDecoratorManager.d.ts +0 -24
  49. package/src/code-builder/lib/field/decorator-managers/dto/IntDecoratorManager.js +0 -100
  50. package/src/code-builder/lib/field/decorator-managers/dto/IntDecoratorManager.js.map +0 -1
  51. package/src/code-builder/lib/field/decorator-managers/dto/JsonDecoratorManager.d.ts +0 -24
  52. package/src/code-builder/lib/field/decorator-managers/dto/JsonDecoratorManager.js +0 -100
  53. package/src/code-builder/lib/field/decorator-managers/dto/JsonDecoratorManager.js.map +0 -1
  54. package/src/code-builder/lib/field/decorator-managers/dto/LengthDecoratorManager.d.ts +0 -25
  55. package/src/code-builder/lib/field/decorator-managers/dto/LengthDecoratorManager.js +0 -104
  56. package/src/code-builder/lib/field/decorator-managers/dto/LengthDecoratorManager.js.map +0 -1
  57. package/src/code-builder/lib/field/decorator-managers/dto/MaxDecoratorManager.d.ts +0 -25
  58. package/src/code-builder/lib/field/decorator-managers/dto/MaxDecoratorManager.js +0 -103
  59. package/src/code-builder/lib/field/decorator-managers/dto/MaxDecoratorManager.js.map +0 -1
  60. package/src/code-builder/lib/field/decorator-managers/dto/MaxLengthDecoratorManager.d.ts +0 -25
  61. package/src/code-builder/lib/field/decorator-managers/dto/MaxLengthDecoratorManager.js +0 -103
  62. package/src/code-builder/lib/field/decorator-managers/dto/MaxLengthDecoratorManager.js.map +0 -1
  63. package/src/code-builder/lib/field/decorator-managers/dto/MinDecoratorManager.d.ts +0 -25
  64. package/src/code-builder/lib/field/decorator-managers/dto/MinDecoratorManager.js +0 -102
  65. package/src/code-builder/lib/field/decorator-managers/dto/MinDecoratorManager.js.map +0 -1
  66. package/src/code-builder/lib/field/decorator-managers/dto/MinLengthDecoratorManager.d.ts +0 -25
  67. package/src/code-builder/lib/field/decorator-managers/dto/MinLengthDecoratorManager.js.map +0 -1
  68. package/src/code-builder/lib/field/decorator-managers/dto/NumberDecoratorManager.d.ts +0 -24
  69. package/src/code-builder/lib/field/decorator-managers/dto/NumberDecoratorManager.js +0 -112
  70. package/src/code-builder/lib/field/decorator-managers/dto/NumberDecoratorManager.js.map +0 -1
  71. package/src/code-builder/lib/field/decorator-managers/dto/OptionalDecoratorManager.d.ts +0 -26
  72. package/src/code-builder/lib/field/decorator-managers/dto/OptionalDecoratorManager.js +0 -104
  73. package/src/code-builder/lib/field/decorator-managers/dto/OptionalDecoratorManager.js.map +0 -1
  74. package/src/code-builder/lib/field/decorator-managers/dto/RegexDecoratorManager.d.ts +0 -25
  75. package/src/code-builder/lib/field/decorator-managers/dto/RegexDecoratorManager.js +0 -102
  76. package/src/code-builder/lib/field/decorator-managers/dto/RegexDecoratorManager.js.map +0 -1
  77. package/src/code-builder/lib/field/decorator-managers/dto/RequiredDecoratorManager.d.ts +0 -25
  78. package/src/code-builder/lib/field/decorator-managers/dto/RequiredDecoratorManager.js +0 -100
  79. package/src/code-builder/lib/field/decorator-managers/dto/RequiredDecoratorManager.js.map +0 -1
  80. package/src/code-builder/lib/field/decorator-managers/dto/StringDecoratorManager.d.ts +0 -24
  81. package/src/code-builder/lib/field/decorator-managers/dto/StringDecoratorManager.js +0 -99
  82. package/src/code-builder/lib/field/decorator-managers/dto/StringDecoratorManager.js.map +0 -1
  83. package/src/code-builder/lib/field/decorator-managers/dto/TransformDecoratorManager.d.ts +0 -25
  84. package/src/code-builder/lib/field/decorator-managers/dto/TransformDecoratorManager.js +0 -102
  85. package/src/code-builder/lib/field/decorator-managers/dto/TransformDecoratorManager.js.map +0 -1
  86. package/src/code-builder/lib/field/decorator-managers/dto/ValidateNestedDecoratorManager.d.ts +0 -30
  87. package/src/code-builder/lib/field/decorator-managers/dto/ValidateNestedDecoratorManager.js +0 -140
  88. package/src/code-builder/lib/field/decorator-managers/dto/ValidateNestedDecoratorManager.js.map +0 -1
  89. package/src/code-builder/lib/field/decorator-managers/entity/ColumnDecoratorManager.d.ts +0 -34
  90. package/src/code-builder/lib/field/decorator-managers/entity/ColumnDecoratorManager.js +0 -178
  91. package/src/code-builder/lib/field/decorator-managers/entity/ColumnDecoratorManager.js.map +0 -1
  92. package/src/code-builder/lib/field/decorator-managers/entity/IndexDecoratorManager.d.ts +0 -24
  93. package/src/code-builder/lib/field/decorator-managers/entity/IndexDecoratorManager.js +0 -79
  94. package/src/code-builder/lib/field/decorator-managers/entity/IndexDecoratorManager.js.map +0 -1
  95. package/src/code-builder/lib/field/decorator-managers/entity/JoinTableDecoratorManager.d.ts +0 -29
  96. package/src/code-builder/lib/field/decorator-managers/entity/JoinTableDecoratorManager.js +0 -118
  97. package/src/code-builder/lib/field/decorator-managers/entity/JoinTableDecoratorManager.js.map +0 -1
  98. package/src/code-builder/lib/field/decorator-managers/entity/ManyToManyDecoratorManager.d.ts +0 -37
  99. package/src/code-builder/lib/field/decorator-managers/entity/ManyToManyDecoratorManager.js +0 -175
  100. package/src/code-builder/lib/field/decorator-managers/entity/ManyToManyDecoratorManager.js.map +0 -1
  101. package/src/code-builder/lib/field/decorator-managers/entity/ManyToOneDecoratorManager.d.ts +0 -34
  102. package/src/code-builder/lib/field/decorator-managers/entity/ManyToOneDecoratorManager.js +0 -179
  103. package/src/code-builder/lib/field/decorator-managers/entity/ManyToOneDecoratorManager.js.map +0 -1
  104. package/src/code-builder/lib/field/decorator-managers/entity/OneToManyDecoratorManager.d.ts +0 -33
  105. package/src/code-builder/lib/field/decorator-managers/entity/OneToManyDecoratorManager.js +0 -155
  106. package/src/code-builder/lib/field/decorator-managers/entity/OneToManyDecoratorManager.js.map +0 -1
  107. package/src/code-builder/lib/field/decorator-managers/entity/UniqueIndexDecoratorManager.d.ts +0 -31
  108. package/src/code-builder/lib/field/decorator-managers/entity/UniqueIndexDecoratorManager.js +0 -174
  109. package/src/code-builder/lib/field/decorator-managers/entity/UniqueIndexDecoratorManager.js.map +0 -1
  110. package/src/code-builder/lib/field/field-managers/base/BaseFieldManagerForDto.d.ts +0 -51
  111. package/src/code-builder/lib/field/field-managers/base/BaseFieldManagerForDto.js +0 -345
  112. package/src/code-builder/lib/field/field-managers/base/BaseFieldManagerForDto.js.map +0 -1
  113. package/src/code-builder/lib/field/field-managers/base/BaseFieldManagerForEntity.d.ts +0 -58
  114. package/src/code-builder/lib/field/field-managers/base/BaseFieldManagerForEntity.js +0 -373
  115. package/src/code-builder/lib/field/field-managers/base/BaseFieldManagerForEntity.js.map +0 -1
  116. package/src/code-builder/lib/field/field-managers/base/DeleteType.d.ts +0 -6
  117. package/src/code-builder/lib/field/field-managers/base/DeleteType.js +0 -11
  118. package/src/code-builder/lib/field/field-managers/base/DeleteType.js.map +0 -1
  119. package/src/code-builder/lib/field/field-managers/bigint/BigIntFieldHandler.d.ts +0 -13
  120. package/src/code-builder/lib/field/field-managers/bigint/BigIntFieldHandler.js +0 -33
  121. package/src/code-builder/lib/field/field-managers/bigint/BigIntFieldHandler.js.map +0 -1
  122. package/src/code-builder/lib/field/field-managers/bigint/BigIntFieldManagerForDto.d.ts +0 -23
  123. package/src/code-builder/lib/field/field-managers/bigint/BigIntFieldManagerForDto.js +0 -81
  124. package/src/code-builder/lib/field/field-managers/bigint/BigIntFieldManagerForDto.js.map +0 -1
  125. package/src/code-builder/lib/field/field-managers/bigint/BigIntFieldManagerForEntity.d.ts +0 -13
  126. package/src/code-builder/lib/field/field-managers/bigint/BigIntFieldManagerForEntity.js +0 -55
  127. package/src/code-builder/lib/field/field-managers/bigint/BigIntFieldManagerForEntity.js.map +0 -1
  128. package/src/code-builder/lib/field/field-managers/boolean/BooleanFieldHandler.d.ts +0 -13
  129. package/src/code-builder/lib/field/field-managers/boolean/BooleanFieldHandler.js +0 -33
  130. package/src/code-builder/lib/field/field-managers/boolean/BooleanFieldHandler.js.map +0 -1
  131. package/src/code-builder/lib/field/field-managers/boolean/BooleanFieldManagerForDto.d.ts +0 -22
  132. package/src/code-builder/lib/field/field-managers/boolean/BooleanFieldManagerForDto.js +0 -75
  133. package/src/code-builder/lib/field/field-managers/boolean/BooleanFieldManagerForDto.js.map +0 -1
  134. package/src/code-builder/lib/field/field-managers/boolean/BooleanFieldManagerForEntity.d.ts +0 -13
  135. package/src/code-builder/lib/field/field-managers/boolean/BooleanFieldManagerForEntity.js +0 -51
  136. package/src/code-builder/lib/field/field-managers/boolean/BooleanFieldManagerForEntity.js.map +0 -1
  137. package/src/code-builder/lib/field/field-managers/computed/ComputedFieldHandler.d.ts +0 -14
  138. package/src/code-builder/lib/field/field-managers/computed/ComputedFieldHandler.js +0 -30
  139. package/src/code-builder/lib/field/field-managers/computed/ComputedFieldHandler.js.map +0 -1
  140. package/src/code-builder/lib/field/field-managers/computed/ComputedFieldManagerForEntity.d.ts +0 -11
  141. package/src/code-builder/lib/field/field-managers/computed/ComputedFieldManagerForEntity.js +0 -33
  142. package/src/code-builder/lib/field/field-managers/computed/ComputedFieldManagerForEntity.js.map +0 -1
  143. package/src/code-builder/lib/field/field-managers/date/DateFieldHandler.d.ts +0 -13
  144. package/src/code-builder/lib/field/field-managers/date/DateFieldHandler.js +0 -33
  145. package/src/code-builder/lib/field/field-managers/date/DateFieldHandler.js.map +0 -1
  146. package/src/code-builder/lib/field/field-managers/date/DateFieldManagerForDto.d.ts +0 -22
  147. package/src/code-builder/lib/field/field-managers/date/DateFieldManagerForDto.js +0 -81
  148. package/src/code-builder/lib/field/field-managers/date/DateFieldManagerForDto.js.map +0 -1
  149. package/src/code-builder/lib/field/field-managers/date/DateFieldManagerForEntity.d.ts +0 -13
  150. package/src/code-builder/lib/field/field-managers/date/DateFieldManagerForEntity.js +0 -59
  151. package/src/code-builder/lib/field/field-managers/date/DateFieldManagerForEntity.js.map +0 -1
  152. package/src/code-builder/lib/field/field-managers/decimal/DecimalFieldHandler.d.ts +0 -13
  153. package/src/code-builder/lib/field/field-managers/decimal/DecimalFieldHandler.js +0 -33
  154. package/src/code-builder/lib/field/field-managers/decimal/DecimalFieldHandler.js.map +0 -1
  155. package/src/code-builder/lib/field/field-managers/decimal/DecimalFieldManagerForDto.d.ts +0 -22
  156. package/src/code-builder/lib/field/field-managers/decimal/DecimalFieldManagerForDto.js +0 -77
  157. package/src/code-builder/lib/field/field-managers/decimal/DecimalFieldManagerForDto.js.map +0 -1
  158. package/src/code-builder/lib/field/field-managers/decimal/DecimalFieldManagerForEntity.d.ts +0 -13
  159. package/src/code-builder/lib/field/field-managers/decimal/DecimalFieldManagerForEntity.js +0 -53
  160. package/src/code-builder/lib/field/field-managers/decimal/DecimalFieldManagerForEntity.js.map +0 -1
  161. package/src/code-builder/lib/field/field-managers/email/EmailFieldHandler.d.ts +0 -14
  162. package/src/code-builder/lib/field/field-managers/email/EmailFieldHandler.js +0 -34
  163. package/src/code-builder/lib/field/field-managers/email/EmailFieldHandler.js.map +0 -1
  164. package/src/code-builder/lib/field/field-managers/email/EmailFieldManagerForDto.d.ts +0 -22
  165. package/src/code-builder/lib/field/field-managers/email/EmailFieldManagerForDto.js +0 -72
  166. package/src/code-builder/lib/field/field-managers/email/EmailFieldManagerForDto.js.map +0 -1
  167. package/src/code-builder/lib/field/field-managers/email/EmailFieldManagerForEntity.d.ts +0 -12
  168. package/src/code-builder/lib/field/field-managers/email/EmailFieldManagerForEntity.js +0 -44
  169. package/src/code-builder/lib/field/field-managers/email/EmailFieldManagerForEntity.js.map +0 -1
  170. package/src/code-builder/lib/field/field-managers/int/IntFieldHandler.d.ts +0 -13
  171. package/src/code-builder/lib/field/field-managers/int/IntFieldHandler.js +0 -33
  172. package/src/code-builder/lib/field/field-managers/int/IntFieldHandler.js.map +0 -1
  173. package/src/code-builder/lib/field/field-managers/int/IntFieldManagerForDto.d.ts +0 -22
  174. package/src/code-builder/lib/field/field-managers/int/IntFieldManagerForDto.js +0 -76
  175. package/src/code-builder/lib/field/field-managers/int/IntFieldManagerForDto.js.map +0 -1
  176. package/src/code-builder/lib/field/field-managers/int/IntFieldManagerForEntity.d.ts +0 -13
  177. package/src/code-builder/lib/field/field-managers/int/IntFieldManagerForEntity.js +0 -52
  178. package/src/code-builder/lib/field/field-managers/int/IntFieldManagerForEntity.js.map +0 -1
  179. package/src/code-builder/lib/field/field-managers/json/JsonFieldHandler.d.ts +0 -14
  180. package/src/code-builder/lib/field/field-managers/json/JsonFieldHandler.js +0 -34
  181. package/src/code-builder/lib/field/field-managers/json/JsonFieldHandler.js.map +0 -1
  182. package/src/code-builder/lib/field/field-managers/json/JsonFieldManagerForDto.d.ts +0 -20
  183. package/src/code-builder/lib/field/field-managers/json/JsonFieldManagerForDto.js +0 -57
  184. package/src/code-builder/lib/field/field-managers/json/JsonFieldManagerForDto.js.map +0 -1
  185. package/src/code-builder/lib/field/field-managers/json/JsonFieldManagerForEntity.d.ts +0 -9
  186. package/src/code-builder/lib/field/field-managers/json/JsonFieldManagerForEntity.js +0 -21
  187. package/src/code-builder/lib/field/field-managers/json/JsonFieldManagerForEntity.js.map +0 -1
  188. package/src/code-builder/lib/field/field-managers/long-text/LongTextFieldHandler.d.ts +0 -14
  189. package/src/code-builder/lib/field/field-managers/long-text/LongTextFieldHandler.js +0 -34
  190. package/src/code-builder/lib/field/field-managers/long-text/LongTextFieldHandler.js.map +0 -1
  191. package/src/code-builder/lib/field/field-managers/long-text/LongTextFieldManagerForDto.d.ts +0 -22
  192. package/src/code-builder/lib/field/field-managers/long-text/LongTextFieldManagerForDto.js +0 -63
  193. package/src/code-builder/lib/field/field-managers/long-text/LongTextFieldManagerForDto.js.map +0 -1
  194. package/src/code-builder/lib/field/field-managers/long-text/LongTextFieldManagerForEntity.d.ts +0 -11
  195. package/src/code-builder/lib/field/field-managers/long-text/LongTextFieldManagerForEntity.js +0 -34
  196. package/src/code-builder/lib/field/field-managers/long-text/LongTextFieldManagerForEntity.js.map +0 -1
  197. package/src/code-builder/lib/field/field-managers/media/MediaFieldHandler.d.ts +0 -13
  198. package/src/code-builder/lib/field/field-managers/media/MediaFieldHandler.js +0 -33
  199. package/src/code-builder/lib/field/field-managers/media/MediaFieldHandler.js.map +0 -1
  200. package/src/code-builder/lib/field/field-managers/media/MediaFieldManagerForDto.d.ts +0 -23
  201. package/src/code-builder/lib/field/field-managers/media/MediaFieldManagerForDto.js +0 -72
  202. package/src/code-builder/lib/field/field-managers/media/MediaFieldManagerForDto.js.map +0 -1
  203. package/src/code-builder/lib/field/field-managers/media/MediaFieldManagerForEntity.d.ts +0 -12
  204. package/src/code-builder/lib/field/field-managers/media/MediaFieldManagerForEntity.js +0 -57
  205. package/src/code-builder/lib/field/field-managers/media/MediaFieldManagerForEntity.js.map +0 -1
  206. package/src/code-builder/lib/field/field-managers/no-ops/NoOpsFieldHandler.d.ts +0 -13
  207. package/src/code-builder/lib/field/field-managers/no-ops/NoOpsFieldHandler.js +0 -27
  208. package/src/code-builder/lib/field/field-managers/no-ops/NoOpsFieldHandler.js.map +0 -1
  209. package/src/code-builder/lib/field/field-managers/no-ops/NoOpsFieldManagerForDto.d.ts +0 -24
  210. package/src/code-builder/lib/field/field-managers/no-ops/NoOpsFieldManagerForDto.js +0 -75
  211. package/src/code-builder/lib/field/field-managers/no-ops/NoOpsFieldManagerForDto.js.map +0 -1
  212. package/src/code-builder/lib/field/field-managers/no-ops/NoOpsFieldManagerForEntity.d.ts +0 -12
  213. package/src/code-builder/lib/field/field-managers/no-ops/NoOpsFieldManagerForEntity.js +0 -35
  214. package/src/code-builder/lib/field/field-managers/no-ops/NoOpsFieldManagerForEntity.js.map +0 -1
  215. package/src/code-builder/lib/field/field-managers/password/PasswordFieldHandler.d.ts +0 -14
  216. package/src/code-builder/lib/field/field-managers/password/PasswordFieldHandler.js +0 -34
  217. package/src/code-builder/lib/field/field-managers/password/PasswordFieldHandler.js.map +0 -1
  218. package/src/code-builder/lib/field/field-managers/password/PasswordFieldManagerForDto.d.ts +0 -29
  219. package/src/code-builder/lib/field/field-managers/password/PasswordFieldManagerForDto.js +0 -121
  220. package/src/code-builder/lib/field/field-managers/password/PasswordFieldManagerForDto.js.map +0 -1
  221. package/src/code-builder/lib/field/field-managers/password/PasswordFieldManagerForEntity.d.ts +0 -11
  222. package/src/code-builder/lib/field/field-managers/password/PasswordFieldManagerForEntity.js +0 -37
  223. package/src/code-builder/lib/field/field-managers/password/PasswordFieldManagerForEntity.js.map +0 -1
  224. package/src/code-builder/lib/field/field-managers/relation/ManyToManyRelationFieldHandler.d.ts +0 -13
  225. package/src/code-builder/lib/field/field-managers/relation/ManyToManyRelationFieldHandler.js +0 -33
  226. package/src/code-builder/lib/field/field-managers/relation/ManyToManyRelationFieldHandler.js.map +0 -1
  227. package/src/code-builder/lib/field/field-managers/relation/ManyToManyRelationFieldManagerForDto.d.ts +0 -51
  228. package/src/code-builder/lib/field/field-managers/relation/ManyToManyRelationFieldManagerForDto.js +0 -366
  229. package/src/code-builder/lib/field/field-managers/relation/ManyToManyRelationFieldManagerForDto.js.map +0 -1
  230. package/src/code-builder/lib/field/field-managers/relation/ManyToManyRelationFieldManagerForEntity.d.ts +0 -30
  231. package/src/code-builder/lib/field/field-managers/relation/ManyToManyRelationFieldManagerForEntity.js +0 -158
  232. package/src/code-builder/lib/field/field-managers/relation/ManyToManyRelationFieldManagerForEntity.js.map +0 -1
  233. package/src/code-builder/lib/field/field-managers/relation/ManyToOneRelationFieldHandler.d.ts +0 -13
  234. package/src/code-builder/lib/field/field-managers/relation/ManyToOneRelationFieldHandler.js +0 -33
  235. package/src/code-builder/lib/field/field-managers/relation/ManyToOneRelationFieldHandler.js.map +0 -1
  236. package/src/code-builder/lib/field/field-managers/relation/ManyToOneRelationFieldManagerForDto.d.ts +0 -43
  237. package/src/code-builder/lib/field/field-managers/relation/ManyToOneRelationFieldManagerForDto.js +0 -294
  238. package/src/code-builder/lib/field/field-managers/relation/ManyToOneRelationFieldManagerForDto.js.map +0 -1
  239. package/src/code-builder/lib/field/field-managers/relation/ManyToOneRelationFieldManagerForEntity.d.ts +0 -31
  240. package/src/code-builder/lib/field/field-managers/relation/ManyToOneRelationFieldManagerForEntity.js +0 -177
  241. package/src/code-builder/lib/field/field-managers/relation/ManyToOneRelationFieldManagerForEntity.js.map +0 -1
  242. package/src/code-builder/lib/field/field-managers/rich-text/RichTextFieldHandler.d.ts +0 -14
  243. package/src/code-builder/lib/field/field-managers/rich-text/RichTextFieldHandler.js +0 -34
  244. package/src/code-builder/lib/field/field-managers/rich-text/RichTextFieldHandler.js.map +0 -1
  245. package/src/code-builder/lib/field/field-managers/rich-text/RichTextFieldManagerForDto.d.ts +0 -22
  246. package/src/code-builder/lib/field/field-managers/rich-text/RichTextFieldManagerForDto.js +0 -63
  247. package/src/code-builder/lib/field/field-managers/rich-text/RichTextFieldManagerForDto.js.map +0 -1
  248. package/src/code-builder/lib/field/field-managers/rich-text/RichTextFieldManagerForEntity.d.ts +0 -11
  249. package/src/code-builder/lib/field/field-managers/rich-text/RichTextFieldManagerForEntity.js +0 -34
  250. package/src/code-builder/lib/field/field-managers/rich-text/RichTextFieldManagerForEntity.js.map +0 -1
  251. package/src/code-builder/lib/field/field-managers/short-text/ShortTextFieldHandler.d.ts +0 -14
  252. package/src/code-builder/lib/field/field-managers/short-text/ShortTextFieldHandler.js +0 -34
  253. package/src/code-builder/lib/field/field-managers/short-text/ShortTextFieldHandler.js.map +0 -1
  254. package/src/code-builder/lib/field/field-managers/short-text/ShortTextFieldManagerForDto.d.ts +0 -22
  255. package/src/code-builder/lib/field/field-managers/short-text/ShortTextFieldManagerForDto.js +0 -63
  256. package/src/code-builder/lib/field/field-managers/short-text/ShortTextFieldManagerForDto.js.map +0 -1
  257. package/src/code-builder/lib/field/field-managers/short-text/ShortTextFieldManagerForEntity.d.ts +0 -11
  258. package/src/code-builder/lib/field/field-managers/short-text/ShortTextFieldManagerForEntity.js +0 -37
  259. package/src/code-builder/lib/field/field-managers/short-text/ShortTextFieldManagerForEntity.js.map +0 -1
  260. package/src/code-builder/lib/field/field-managers/uuid/UUIDFieldHandler.d.ts +0 -14
  261. package/src/code-builder/lib/field/field-managers/uuid/UUIDFieldHandler.js +0 -34
  262. package/src/code-builder/lib/field/field-managers/uuid/UUIDFieldHandler.js.map +0 -1
  263. package/src/code-builder/lib/field/field-managers/uuid/UUIDFieldManagerForDto.d.ts +0 -8
  264. package/src/code-builder/lib/field/field-managers/uuid/UUIDFieldManagerForDto.js +0 -15
  265. package/src/code-builder/lib/field/field-managers/uuid/UUIDFieldManagerForDto.js.map +0 -1
  266. package/src/code-builder/lib/field/field-managers/uuid/UUIDFieldManagerForEntity.d.ts +0 -11
  267. package/src/code-builder/lib/field/field-managers/uuid/UUIDFieldManagerForEntity.js +0 -33
  268. package/src/code-builder/lib/field/field-managers/uuid/UUIDFieldManagerForEntity.js.map +0 -1
  269. package/src/code-builder/lib/model/helpers.d.ts +0 -49
  270. package/src/code-builder/lib/model/helpers.js +0 -407
  271. package/src/code-builder/lib/model/helpers.js.map +0 -1
@@ -1,175 +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.ManyToManyDecoratorManager = void 0;
7
- const strings_1 = require("@angular-devkit/core/src/utils/strings");
8
- const typescript_1 = __importDefault(require("@schematics/angular/third_party/github.com/Microsoft/TypeScript/lib/typescript"));
9
- const ast_utils_1 = require("@schematics/angular/utility/ast-utils");
10
- class ManyToManyDecoratorManager {
11
- constructor(options, fieldNode) {
12
- this.options = options;
13
- this.fieldNode = fieldNode;
14
- }
15
- isApplyDecorator() {
16
- return this.options.isManyToMany;
17
- }
18
- decoratorName() {
19
- return 'ManyToMany';
20
- }
21
- buildDecorator() {
22
- const changes = [];
23
- const fieldSourceLines = [];
24
- // Add the many-to-many import
25
- // const decoratorImport = insertImport(
26
- // this.options.source,
27
- // this.options.source.fileName,
28
- // this.decoratorName(),
29
- // 'typeorm',
30
- // );
31
- changes.push(...this.decoratorImports());
32
- // if (decoratorImport) {
33
- // changes.push(decoratorImport);
34
- // }
35
- const fieldSourceLineComponents = [];
36
- fieldSourceLineComponents.push(`() => ${(0, strings_1.classify)(this.options.relationModelName)}`);
37
- this.options.relationInverseFieldName ? fieldSourceLineComponents.push(`${(0, strings_1.camelize)(this.options.relationModelName)} => ${(0, strings_1.camelize)(this.options.relationModelName)}.${this.options.relationInverseFieldName}`) : "no-ops";
38
- fieldSourceLineComponents.push(`${this.buildRelationOptionsCode()}`);
39
- fieldSourceLines.push(`@${this.decoratorName()}(${fieldSourceLineComponents.join(', ')})`);
40
- return {
41
- filePath: this.options.source.fileName,
42
- field: this.options.field,
43
- changes: changes,
44
- fieldSourceLines: fieldSourceLines,
45
- };
46
- }
47
- setFieldNode(fieldNode) {
48
- this.fieldNode = fieldNode;
49
- }
50
- decoratorImports() {
51
- return [(0, ast_utils_1.insertImport)(this.options.source, this.options.source.fileName, this.decoratorName(), 'typeorm')];
52
- }
53
- updateDecorator() {
54
- // Check if the field property declaration exists, if not throw an error
55
- if (!this.fieldNode)
56
- throw new Error('Field node is required for updating the one to many decorator');
57
- let newModifiers = [];
58
- let existingModifiers = this.fieldNode.modifiers;
59
- // Check if field has an existing one-to-many relation decorator
60
- const existingDecorator = this.findDecorator(this.decoratorName(), existingModifiers);
61
- //Remove the many-to-one decorator if it exists
62
- //TODO probably this too can be done in a lesser intrusive way i.e update everything instead of removing and adding
63
- newModifiers = [...this.filterNonDecorators(existingModifiers), ...this.filterOtherDecorators(this.decoratorName(), existingModifiers)];
64
- //Add the one-to-many decorator if it is required
65
- const changes = [];
66
- if (this.isApplyDecorator()) {
67
- newModifiers = [...newModifiers, this.createRelationDecorator(existingDecorator)];
68
- changes.push(...this.decoratorImports());
69
- }
70
- const updatedProperty = typescript_1.default.factory.updatePropertyDeclaration(this.fieldNode, newModifiers, //Replace with new modifiers
71
- this.fieldNode.name, this.fieldNode.questionToken, this.fieldNode.type, this.fieldNode.initializer);
72
- return [updatedProperty, changes];
73
- }
74
- buildRelationOptionsCode() {
75
- const relationOptions = new Map();
76
- // this.options.owner ? relationOptions.set('cascade', true): "no-ops";
77
- this.options.owner ? relationOptions.set('cascade', true) : relationOptions.set('cascade', ['insert', 'update']);
78
- const decoratorArgs = Array.from(relationOptions)
79
- .map(([key, value]) => {
80
- if (Array.isArray(value)) {
81
- return `${key}: [${value.map(v => `'${v}'`).join(', ')}]`;
82
- }
83
- return `${key}: ${value}`;
84
- })
85
- .join(', ');
86
- // Convert the map to a string
87
- return `{ ${decoratorArgs} }`;
88
- }
89
- createRelationDecorator(existingRelationDecorator) {
90
- let existingRelationOptions = this.existingDecoratorOptions(existingRelationDecorator);
91
- const mergedRelationOptions = this.mergeNewAndExistingDecoratorOptions(existingRelationOptions);
92
- // Re-create the decorator with the merged decorator options
93
- const decoratorIdentifier = typescript_1.default.factory.createIdentifier(this.decoratorName());
94
- const argumentsArray = this.createDecoratorArguments(mergedRelationOptions);
95
- const call = typescript_1.default.factory.createCallExpression(decoratorIdentifier, undefined, argumentsArray);
96
- return typescript_1.default.factory.createDecorator(call);
97
- }
98
- mergeNewAndExistingDecoratorOptions(existingRelationOptions) {
99
- const decoratorOptions = this.createRelationDecoratorOptions();
100
- const newPropertyAssignments = Array.from(decoratorOptions.values()).filter(p => p !== null);
101
- // console.log('newPropertyAssignments', newPropertyAssignments.map(p => JSON.stringify(p.name)).join(', '));
102
- // Add the other unhandled column decorator options
103
- const handledDecoratorOptions = Array.from(decoratorOptions.keys());
104
- //@ts-ignore
105
- const otherPropertyAssignments = existingRelationOptions.filter(ps => { var _a; return !handledDecoratorOptions.includes((_a = ps.name) === null || _a === void 0 ? void 0 : _a.escapedText); });
106
- newPropertyAssignments.push(...otherPropertyAssignments);
107
- return newPropertyAssignments;
108
- }
109
- createDecoratorArguments(newPropertyAssignments) {
110
- const argumentsArray = [];
111
- // 1st Argument: Target
112
- const typeFunctionOrTarget = typescript_1.default.factory.createArrowFunction(undefined, undefined, [], undefined, typescript_1.default.factory.createToken(typescript_1.default.SyntaxKind.EqualsGreaterThanToken), typescript_1.default.factory.createIdentifier((0, strings_1.classify)(this.options.relationModelName)));
113
- argumentsArray.push(typeFunctionOrTarget);
114
- if (this.options.relationInverseFieldName) {
115
- // 2nd Argument: Inverse side
116
- const inverseSide = typescript_1.default.factory.createArrowFunction(undefined, undefined, [typescript_1.default.factory.createParameterDeclaration(undefined, undefined, typescript_1.default.factory.createIdentifier((0, strings_1.camelize)(this.options.relationModelName)), undefined, undefined, undefined)], undefined, typescript_1.default.factory.createToken(typescript_1.default.SyntaxKind.EqualsGreaterThanToken), typescript_1.default.factory.createPropertyAccessExpression(typescript_1.default.factory.createIdentifier((0, strings_1.camelize)(this.options.relationModelName)), typescript_1.default.factory.createIdentifier(this.options.relationInverseFieldName)));
117
- argumentsArray.push(inverseSide);
118
- }
119
- // 3rd Argument: Options. This argument is optional
120
- if (newPropertyAssignments.length > 0) {
121
- const decoratorOptions = typescript_1.default.factory.createObjectLiteralExpression(newPropertyAssignments);
122
- argumentsArray.push(decoratorOptions);
123
- }
124
- return argumentsArray;
125
- }
126
- existingDecoratorOptions(existingRelationDecorator) {
127
- let existingRelationDecoratorPropertyAssignments = [];
128
- if (existingRelationDecorator !== undefined) {
129
- //Pre-set the relation options from the existing relation decorator
130
- const existingCallExpression = existingRelationDecorator.expression;
131
- // Check if call expression has at least 1 arguments
132
- if (existingCallExpression.arguments.length > 2) { //Because we are interested in the 2nd argument, we check for length > 1
133
- if (!typescript_1.default.isObjectLiteralExpression(existingCallExpression.arguments[2])) {
134
- throw new Error('Many-to-Many decorator 3rd argument must be an object literal containing the relation options');
135
- }
136
- const existingObjectLiteralExpression = existingCallExpression.arguments[2];
137
- existingRelationDecoratorPropertyAssignments.push(...existingObjectLiteralExpression.properties);
138
- }
139
- }
140
- return existingRelationDecoratorPropertyAssignments;
141
- }
142
- createRelationDecoratorOptions() {
143
- const relationOptions = new Map();
144
- this.options.owner ? relationOptions.set('cascade', typescript_1.default.factory.createTrue()) : "no-ops";
145
- return this.optionsToPropertyAssignmentsOrNull(relationOptions);
146
- }
147
- optionsToPropertyAssignmentsOrNull(options) {
148
- const decoratorOptions = new Map();
149
- options.forEach((value, key) => {
150
- if (value !== null) {
151
- decoratorOptions.set(key, typescript_1.default.factory.createPropertyAssignment(typescript_1.default.factory.createIdentifier(key), value));
152
- }
153
- else {
154
- decoratorOptions.set(key, null);
155
- }
156
- });
157
- return decoratorOptions;
158
- }
159
- findDecorator(name, existingModifiers) {
160
- return existingModifiers ? existingModifiers.filter((m) => (m.kind === typescript_1.default.SyntaxKind.Decorator)).map(m => m).filter(m => this.containsIdentifierName(m, name)).pop() : undefined;
161
- }
162
- filterOtherDecorators(name, existingModifiers) {
163
- return existingModifiers ? existingModifiers.filter((m) => (m.kind === typescript_1.default.SyntaxKind.Decorator)).map(m => m).filter(m => !this.containsIdentifierName(m, name)) : [];
164
- }
165
- filterNonDecorators(existingModifiers) {
166
- return existingModifiers ? existingModifiers.filter((m) => (m.kind !== typescript_1.default.SyntaxKind.Decorator)).map(m => m) : [];
167
- }
168
- containsIdentifierName(m, identifierName) {
169
- const callExpression = m.expression;
170
- const identifier = callExpression.expression;
171
- return identifier.text === identifierName;
172
- }
173
- }
174
- exports.ManyToManyDecoratorManager = ManyToManyDecoratorManager;
175
- //# sourceMappingURL=ManyToManyDecoratorManager.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ManyToManyDecoratorManager.js","sourceRoot":"","sources":["ManyToManyDecoratorManager.ts"],"names":[],"mappings":"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"}
@@ -1,34 +0,0 @@
1
- import ts, { PropertyDeclaration } from "@schematics/angular/third_party/github.com/Microsoft/TypeScript/lib/typescript";
2
- import { Change } from "@schematics/angular/utility/change";
3
- import { DecoratorManager, DeleteType, PartialAddFieldChange } from "../../FieldManager";
4
- interface ManyToOneDecoratorOptions {
5
- isManyToOne: boolean;
6
- relationModelSingularName: string;
7
- relationCascade: DeleteType;
8
- required: boolean;
9
- source: ts.SourceFile;
10
- field: any;
11
- fieldName: string;
12
- modelName: string;
13
- }
14
- export declare class ManyToOneDecoratorManager implements DecoratorManager {
15
- options: ManyToOneDecoratorOptions;
16
- fieldNode?: ts.PropertyDeclaration | undefined;
17
- constructor(options: ManyToOneDecoratorOptions, fieldNode?: ts.PropertyDeclaration | undefined);
18
- isApplyDecorator(): boolean;
19
- decoratorName(): string;
20
- buildDecorator(): PartialAddFieldChange;
21
- setFieldNode(fieldNode: PropertyDeclaration): void;
22
- decoratorImports(): Change[];
23
- updateDecorator(): [PropertyDeclaration, Change[]];
24
- private buildRelationOptionsCode;
25
- private buildRelationDecoratorOptions;
26
- private createRelationDecorator;
27
- private createRelationDecoratorOptions;
28
- private optionsToPropertyAssignmentsOrNull;
29
- private findDecorator;
30
- private filterOtherDecorators;
31
- private filterNonDecorators;
32
- private containsIdentifierName;
33
- }
34
- export {};
@@ -1,179 +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.ManyToOneDecoratorManager = void 0;
7
- const strings_1 = require("@angular-devkit/core/src/utils/strings");
8
- const typescript_1 = __importDefault(require("@schematics/angular/third_party/github.com/Microsoft/TypeScript/lib/typescript"));
9
- const ast_utils_1 = require("@schematics/angular/utility/ast-utils");
10
- const lodash_1 = __importDefault(require("lodash"));
11
- class ManyToOneDecoratorManager {
12
- constructor(options, fieldNode) {
13
- this.options = options;
14
- this.fieldNode = fieldNode;
15
- }
16
- isApplyDecorator() {
17
- return this.options.isManyToOne;
18
- }
19
- decoratorName() {
20
- return 'ManyToOne';
21
- }
22
- buildDecorator() {
23
- const changes = [];
24
- const fieldSourceLines = [];
25
- // Add the ManyToOne import
26
- // const relationImports = insertImport(
27
- // this.options.source,
28
- // this.options.source.fileName,
29
- // this.decoratorName(),
30
- // 'typeorm',
31
- // );
32
- // if (relationImports) {
33
- // changes.push(relationImports);
34
- // }
35
- // Add the relation decorator
36
- fieldSourceLines.push(`@${this.decoratorName()}(() => ${(0, strings_1.classify)(this.options.relationModelSingularName)}, ${this.buildRelationOptionsCode()})`);
37
- changes.push(...this.decoratorImports());
38
- return {
39
- filePath: this.options.source.fileName,
40
- field: this.options.field,
41
- changes: changes,
42
- fieldSourceLines: fieldSourceLines,
43
- };
44
- }
45
- setFieldNode(fieldNode) {
46
- this.fieldNode = fieldNode;
47
- }
48
- decoratorImports() {
49
- return [(0, ast_utils_1.insertImport)(this.options.source, this.options.source.fileName, this.decoratorName(), 'typeorm')];
50
- }
51
- updateDecorator() {
52
- // Check if the field property declaration exists, if not throw an error
53
- if (!this.fieldNode)
54
- throw new Error('Field node is required for updating the index decorator');
55
- let newModifiers = [];
56
- let existingModifiers = this.fieldNode.modifiers;
57
- // Check if field has an existing many-to-one relation decorator
58
- const existingDecorator = this.findDecorator(this.decoratorName(), existingModifiers);
59
- //Remove the many-to-one decorator if it exists
60
- //TODO probably this too can be done in a lesser intrusive way i.e update everything instead of removing and adding
61
- newModifiers = [...this.filterNonDecorators(existingModifiers), ...this.filterOtherDecorators(this.decoratorName(), existingModifiers)];
62
- //Add the many-to-one decorator if it is required
63
- const changes = [];
64
- if (this.isApplyDecorator()) {
65
- newModifiers = [...newModifiers, this.createRelationDecorator(existingDecorator)];
66
- changes.push(...this.decoratorImports());
67
- }
68
- const updatedProperty = typescript_1.default.factory.updatePropertyDeclaration(this.fieldNode, newModifiers, //Replace with new modifiers
69
- this.fieldNode.name, this.fieldNode.questionToken, this.fieldNode.type, this.fieldNode.initializer);
70
- return [updatedProperty, changes];
71
- }
72
- buildRelationOptionsCode() {
73
- const options = this.buildRelationDecoratorOptions();
74
- const keys = Array.from(options.keys());
75
- const optionsString = keys
76
- .filter((key) => options.get(key) !== null)
77
- .map((key) => {
78
- if (typeof options.get(key) === 'string') {
79
- return `${key}: "${options.get(key)}"`;
80
- }
81
- else {
82
- return `${key}: ${options.get(key)}`;
83
- }
84
- })
85
- .join(', ');
86
- return `{ ${optionsString} }`;
87
- }
88
- buildRelationDecoratorOptions() {
89
- const options = new Map();
90
- //Set common options
91
- // onDelete option
92
- if (!lodash_1.default.isEmpty(this.options.relationCascade)) {
93
- const cascade = this.options.relationCascade.toUpperCase();
94
- const onDeleteType = cascade;
95
- options.set('onDelete', onDeleteType);
96
- }
97
- // nullable option
98
- if (!this.options.required) {
99
- options.set('nullable', true);
100
- }
101
- else {
102
- options.set('nullable', false);
103
- }
104
- return options;
105
- }
106
- createRelationDecorator(existingRelationDecorator) {
107
- // console.log('createRelationDecorator called with ....', existingRelationDecorator?.getText());
108
- // Capture the existing relation decorator options
109
- let existingRelationDecoratorPropertyAssignments = [];
110
- if (existingRelationDecorator !== undefined) {
111
- //Pre-set the relation options from the existing relation decorator
112
- const existingCallExpression = existingRelationDecorator.expression;
113
- // Check if call expression has at least 1 arguments
114
- if (existingCallExpression.arguments.length > 1) { //Because we are interested in the 2nd argument, we check for length > 1
115
- if (!typescript_1.default.isObjectLiteralExpression(existingCallExpression.arguments[1])) {
116
- throw new Error('ManyToOne decorator 2nd arguments must be an object literal containing the relation options');
117
- }
118
- const existingObjectLiteralExpression = existingCallExpression.arguments[1];
119
- existingRelationDecoratorPropertyAssignments.push(...existingObjectLiteralExpression.properties);
120
- }
121
- }
122
- // Create the new relation decorator options
123
- const decoratorOptions = this.createRelationDecoratorOptions();
124
- const newPropertyAssignments = Array.from(decoratorOptions.values()).filter(p => p !== null);
125
- // console.log('newPropertyAssignments', newPropertyAssignments.map(p => JSON.stringify(p.name)).join(', '));
126
- // Add the other unhandled column decorator options
127
- const handledDecoratorOptions = Array.from(decoratorOptions.keys());
128
- //@ts-ignore
129
- const otherPropertyAssignments = existingRelationDecoratorPropertyAssignments.filter(ps => { var _a; return !handledDecoratorOptions.includes((_a = ps.name) === null || _a === void 0 ? void 0 : _a.escapedText); });
130
- newPropertyAssignments.push(...otherPropertyAssignments);
131
- // Re-create the relation decorator with the merged relation decorator options
132
- const decoratorIdentifier = typescript_1.default.factory.createIdentifier(this.decoratorName());
133
- const typeFunctionOrTarget = typescript_1.default.factory.createArrowFunction(undefined, undefined, [], undefined, typescript_1.default.factory.createToken(typescript_1.default.SyntaxKind.EqualsGreaterThanToken), typescript_1.default.factory.createIdentifier((0, strings_1.classify)(this.options.relationModelSingularName)));
134
- const decoratorOptionsExpression = typescript_1.default.factory.createObjectLiteralExpression(newPropertyAssignments);
135
- const call = typescript_1.default.factory.createCallExpression(decoratorIdentifier, undefined, [typeFunctionOrTarget, decoratorOptionsExpression]);
136
- return typescript_1.default.factory.createDecorator(call);
137
- }
138
- createRelationDecoratorOptions() {
139
- const options = new Map();
140
- const cascade = this.options.relationCascade.toUpperCase();
141
- const onDeleteType = cascade;
142
- options.set('onDelete', typescript_1.default.factory.createStringLiteral(onDeleteType));
143
- if (!this.options.required) {
144
- options.set('nullable', typescript_1.default.factory.createTrue());
145
- }
146
- else {
147
- options.set('nullable', typescript_1.default.factory.createFalse());
148
- }
149
- return this.optionsToPropertyAssignmentsOrNull(options);
150
- }
151
- optionsToPropertyAssignmentsOrNull(options) {
152
- const decoratorOptions = new Map();
153
- options.forEach((value, key) => {
154
- if (value !== null) {
155
- decoratorOptions.set(key, typescript_1.default.factory.createPropertyAssignment(typescript_1.default.factory.createIdentifier(key), value));
156
- }
157
- else {
158
- decoratorOptions.set(key, null);
159
- }
160
- });
161
- return decoratorOptions;
162
- }
163
- findDecorator(name, existingModifiers) {
164
- return existingModifiers ? existingModifiers.filter((m) => (m.kind === typescript_1.default.SyntaxKind.Decorator)).map(m => m).filter(m => this.containsIdentifierName(m, name)).pop() : undefined;
165
- }
166
- filterOtherDecorators(name, existingModifiers) {
167
- return existingModifiers ? existingModifiers.filter((m) => (m.kind === typescript_1.default.SyntaxKind.Decorator)).map(m => m).filter(m => !this.containsIdentifierName(m, name)) : [];
168
- }
169
- filterNonDecorators(existingModifiers) {
170
- return existingModifiers ? existingModifiers.filter((m) => (m.kind !== typescript_1.default.SyntaxKind.Decorator)).map(m => m) : [];
171
- }
172
- containsIdentifierName(m, identifierName) {
173
- const callExpression = m.expression;
174
- const identifier = callExpression.expression;
175
- return identifier.text === identifierName;
176
- }
177
- }
178
- exports.ManyToOneDecoratorManager = ManyToOneDecoratorManager;
179
- //# sourceMappingURL=ManyToOneDecoratorManager.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ManyToOneDecoratorManager.js","sourceRoot":"","sources":["ManyToOneDecoratorManager.ts"],"names":[],"mappings":"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"}
@@ -1,33 +0,0 @@
1
- import ts, { PropertyDeclaration } from "@schematics/angular/third_party/github.com/Microsoft/TypeScript/lib/typescript";
2
- import { Change } from "@schematics/angular/utility/change";
3
- import { DecoratorManager, DeleteType, PartialAddFieldChange } from "../../FieldManager";
4
- interface OneToManyDecoratorOptions {
5
- isOneToMany: boolean;
6
- relationCascade: DeleteType;
7
- source: ts.SourceFile;
8
- field: any;
9
- fieldName: string;
10
- modelName: string;
11
- }
12
- export declare class OneToManyDecoratorManager implements DecoratorManager {
13
- options: OneToManyDecoratorOptions;
14
- fieldNode?: ts.PropertyDeclaration | undefined;
15
- constructor(options: OneToManyDecoratorOptions, fieldNode?: ts.PropertyDeclaration | undefined);
16
- isApplyDecorator(): boolean;
17
- decoratorName(): string;
18
- buildDecorator(): PartialAddFieldChange;
19
- setFieldNode(fieldNode: PropertyDeclaration): void;
20
- decoratorImports(): Change[];
21
- updateDecorator(): [PropertyDeclaration, Change[]];
22
- private buildRelationOptionsCode;
23
- private createRelationDecorator;
24
- private createDecoratorArguments;
25
- private existingDecoratorOptions;
26
- private createRelationDecoratorOptions;
27
- private optionsToPropertyAssignmentsOrNull;
28
- private findDecorator;
29
- private filterOtherDecorators;
30
- private filterNonDecorators;
31
- private containsIdentifierName;
32
- }
33
- export {};
@@ -1,155 +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.OneToManyDecoratorManager = void 0;
7
- const strings_1 = require("@angular-devkit/core/src/utils/strings");
8
- const typescript_1 = __importDefault(require("@schematics/angular/third_party/github.com/Microsoft/TypeScript/lib/typescript"));
9
- const ast_utils_1 = require("@schematics/angular/utility/ast-utils");
10
- class OneToManyDecoratorManager {
11
- constructor(options, fieldNode) {
12
- this.options = options;
13
- this.fieldNode = fieldNode;
14
- }
15
- isApplyDecorator() {
16
- return this.options.isOneToMany;
17
- }
18
- decoratorName() {
19
- return 'OneToMany';
20
- }
21
- buildDecorator() {
22
- const changes = [];
23
- const fieldSourceLines = [];
24
- // Add the one-to-many import
25
- // const oneToManyImport = insertImport(
26
- // this.options.source,
27
- // this.options.source.fileName,
28
- // this.decoratorName(),
29
- // 'typeorm',
30
- // );
31
- // if (oneToManyImport) {
32
- // changes.push(oneToManyImport);
33
- // }
34
- fieldSourceLines.push(`@${this.decoratorName()}(() => ${(0, strings_1.classify)(this.options.modelName)}, ${(0, strings_1.camelize)(this.options.modelName)} => ${(0, strings_1.camelize)(this.options.modelName)}.${this.options.fieldName}, ${this.buildRelationOptionsCode()})`);
35
- changes.push(...this.decoratorImports());
36
- return {
37
- filePath: this.options.source.fileName,
38
- field: this.options.field,
39
- changes: changes,
40
- fieldSourceLines: fieldSourceLines,
41
- };
42
- }
43
- setFieldNode(fieldNode) {
44
- this.fieldNode = fieldNode;
45
- }
46
- decoratorImports() {
47
- return [(0, ast_utils_1.insertImport)(this.options.source, this.options.source.fileName, this.decoratorName(), 'typeorm')];
48
- }
49
- updateDecorator() {
50
- // Check if the field property declaration exists, if not throw an error
51
- if (!this.fieldNode)
52
- throw new Error('Field node is required for updating the one to many decorator');
53
- let newModifiers = [];
54
- let existingModifiers = this.fieldNode.modifiers;
55
- // Check if field has an existing one-to-many relation decorator
56
- const existingDecorator = this.findDecorator(this.decoratorName(), existingModifiers);
57
- //Remove the many-to-one decorator if it exists
58
- //TODO probably this too can be done in a lesser intrusive way i.e update everything instead of removing and adding
59
- newModifiers = [...this.filterNonDecorators(existingModifiers), ...this.filterOtherDecorators(this.decoratorName(), existingModifiers)];
60
- //Add the one-to-many decorator if it is required
61
- const changes = [];
62
- if (this.isApplyDecorator()) {
63
- newModifiers = [...newModifiers, this.createRelationDecorator(existingDecorator)];
64
- changes.push(...this.decoratorImports());
65
- }
66
- const updatedProperty = typescript_1.default.factory.updatePropertyDeclaration(this.fieldNode, newModifiers, //Replace with new modifiers
67
- this.fieldNode.name, this.fieldNode.questionToken, this.fieldNode.type, this.fieldNode.initializer);
68
- return [updatedProperty, changes];
69
- }
70
- buildRelationOptionsCode() {
71
- return `{ cascade: true }`;
72
- }
73
- createRelationDecorator(existingRelationDecorator) {
74
- // Capture the existing relation decorator options
75
- let existingRelationDecoratorPropertyAssignments = this.existingDecoratorOptions(existingRelationDecorator);
76
- // Create the new relation decorator options
77
- const decoratorOptions = this.createRelationDecoratorOptions();
78
- const newPropertyAssignments = Array.from(decoratorOptions.values()).filter(p => p !== null);
79
- // console.log('newPropertyAssignments', newPropertyAssignments.map(p => JSON.stringify(p.name)).join(', '));
80
- // Add the other unhandled column decorator options
81
- const handledDecoratorOptions = Array.from(decoratorOptions.keys());
82
- //@ts-ignore
83
- const otherPropertyAssignments = existingRelationDecoratorPropertyAssignments.filter(ps => { var _a; return !handledDecoratorOptions.includes((_a = ps.name) === null || _a === void 0 ? void 0 : _a.escapedText); });
84
- newPropertyAssignments.push(...otherPropertyAssignments);
85
- // Re-create the relation decorator with the merged relation decorator options
86
- const decoratorIdentifier = typescript_1.default.factory.createIdentifier(this.decoratorName());
87
- const argumentsArray = this.createDecoratorArguments(newPropertyAssignments);
88
- const call = typescript_1.default.factory.createCallExpression(decoratorIdentifier, undefined, argumentsArray);
89
- return typescript_1.default.factory.createDecorator(call);
90
- }
91
- createDecoratorArguments(newPropertyAssignments) {
92
- const argumentsArray = [];
93
- // 1st Argument: Target
94
- const typeFunctionOrTarget = typescript_1.default.factory.createArrowFunction(undefined, undefined, [], undefined, typescript_1.default.factory.createToken(typescript_1.default.SyntaxKind.EqualsGreaterThanToken), typescript_1.default.factory.createIdentifier((0, strings_1.classify)(this.options.modelName)));
95
- argumentsArray.push(typeFunctionOrTarget);
96
- // 2nd Argument: Inverse side
97
- const inverseSide = typescript_1.default.factory.createArrowFunction(undefined, undefined, [typescript_1.default.factory.createParameterDeclaration(undefined, undefined, typescript_1.default.factory.createIdentifier((0, strings_1.camelize)(this.options.modelName)), undefined, undefined, undefined)], undefined, typescript_1.default.factory.createToken(typescript_1.default.SyntaxKind.EqualsGreaterThanToken), typescript_1.default.factory.createPropertyAccessExpression(typescript_1.default.factory.createIdentifier((0, strings_1.camelize)(this.options.modelName)), typescript_1.default.factory.createIdentifier(this.options.fieldName)));
98
- argumentsArray.push(inverseSide);
99
- // 3rd Argument: Options. This argument is optional
100
- if (newPropertyAssignments.length > 0) {
101
- const decoratorOptions = typescript_1.default.factory.createObjectLiteralExpression(newPropertyAssignments);
102
- argumentsArray.push(decoratorOptions);
103
- }
104
- return argumentsArray;
105
- }
106
- existingDecoratorOptions(existingRelationDecorator) {
107
- let existingRelationDecoratorPropertyAssignments = [];
108
- if (existingRelationDecorator !== undefined) {
109
- //Pre-set the relation options from the existing relation decorator
110
- const existingCallExpression = existingRelationDecorator.expression;
111
- // Check if call expression has at least 1 arguments
112
- if (existingCallExpression.arguments.length > 2) { //Because we are interested in the 2nd argument, we check for length > 1
113
- if (!typescript_1.default.isObjectLiteralExpression(existingCallExpression.arguments[2])) {
114
- throw new Error('OneToMany decorator 3rd argument must be an object literal containing the relation options');
115
- }
116
- const existingObjectLiteralExpression = existingCallExpression.arguments[2];
117
- existingRelationDecoratorPropertyAssignments.push(...existingObjectLiteralExpression.properties);
118
- }
119
- }
120
- return existingRelationDecoratorPropertyAssignments;
121
- }
122
- createRelationDecoratorOptions() {
123
- const options = new Map();
124
- options.set('cascade', typescript_1.default.factory.createTrue());
125
- return this.optionsToPropertyAssignmentsOrNull(options);
126
- }
127
- optionsToPropertyAssignmentsOrNull(options) {
128
- const decoratorOptions = new Map();
129
- options.forEach((value, key) => {
130
- if (value !== null) {
131
- decoratorOptions.set(key, typescript_1.default.factory.createPropertyAssignment(typescript_1.default.factory.createIdentifier(key), value));
132
- }
133
- else {
134
- decoratorOptions.set(key, null);
135
- }
136
- });
137
- return decoratorOptions;
138
- }
139
- findDecorator(name, existingModifiers) {
140
- return existingModifiers ? existingModifiers.filter((m) => (m.kind === typescript_1.default.SyntaxKind.Decorator)).map(m => m).filter(m => this.containsIdentifierName(m, name)).pop() : undefined;
141
- }
142
- filterOtherDecorators(name, existingModifiers) {
143
- return existingModifiers ? existingModifiers.filter((m) => (m.kind === typescript_1.default.SyntaxKind.Decorator)).map(m => m).filter(m => !this.containsIdentifierName(m, name)) : [];
144
- }
145
- filterNonDecorators(existingModifiers) {
146
- return existingModifiers ? existingModifiers.filter((m) => (m.kind !== typescript_1.default.SyntaxKind.Decorator)).map(m => m) : [];
147
- }
148
- containsIdentifierName(m, identifierName) {
149
- const callExpression = m.expression;
150
- const identifier = callExpression.expression;
151
- return identifier.text === identifierName;
152
- }
153
- }
154
- exports.OneToManyDecoratorManager = OneToManyDecoratorManager;
155
- //# sourceMappingURL=OneToManyDecoratorManager.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"OneToManyDecoratorManager.js","sourceRoot":"","sources":["OneToManyDecoratorManager.ts"],"names":[],"mappings":"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"}