@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.
- package/dist/code-builder/lib/field/FieldManager.d.ts +2 -1
- package/dist/code-builder/lib/field/FieldManager.js +1 -0
- package/dist/code-builder/lib/field/FieldManager.js.map +1 -1
- 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
- package/{src/code-builder/lib/field/decorator-managers/dto/MinLengthDecoratorManager.js → dist/code-builder/lib/field/decorator-managers/dto/ApiPropertyDecoratorManager.js} +10 -10
- package/dist/code-builder/lib/field/decorator-managers/dto/ApiPropertyDecoratorManager.js.map +1 -0
- package/dist/code-builder/lib/field/decorator-managers/entity/JoinTableDecoratorManager.d.ts +2 -2
- package/dist/code-builder/lib/field/decorator-managers/entity/JoinTableDecoratorManager.js +8 -8
- package/dist/code-builder/lib/field/decorator-managers/entity/JoinTableDecoratorManager.js.map +1 -1
- package/dist/code-builder/lib/field/field-managers/base/BaseFieldManagerForDto.d.ts +1 -0
- package/dist/code-builder/lib/field/field-managers/base/BaseFieldManagerForDto.js +12 -4
- package/dist/code-builder/lib/field/field-managers/base/BaseFieldManagerForDto.js.map +1 -1
- package/dist/code-builder/lib/field/field-managers/base/BaseFieldManagerForEntity.js +2 -2
- package/dist/code-builder/lib/field/field-managers/base/BaseFieldManagerForEntity.js.map +1 -1
- package/package.json +1 -1
- package/src/code-builder/lib/field/FieldManager.ts +1 -0
- package/src/code-builder/lib/field/decorator-managers/dto/ApiPropertyDecoratorManager.ts +127 -0
- package/src/code-builder/lib/field/decorator-managers/entity/JoinTableDecoratorManager.ts +10 -10
- package/src/code-builder/lib/field/field-managers/base/BaseFieldManagerForDto.ts +13 -3
- package/src/code-builder/lib/field/field-managers/base/BaseFieldManagerForEntity.ts +2 -2
- package/solidstarters-solid-code-builder-1.0.7.tgz +0 -0
- package/src/code-builder/index.d.ts +0 -9
- package/src/code-builder/index.js +0 -178
- package/src/code-builder/index.js.map +0 -1
- package/src/code-builder/index_spec.d.ts +0 -1
- package/src/code-builder/index_spec.js +0 -46
- package/src/code-builder/index_spec.js.map +0 -1
- package/src/code-builder/lib/field/FieldManager.d.ts +0 -106
- package/src/code-builder/lib/field/FieldManager.js +0 -236
- package/src/code-builder/lib/field/FieldManager.js.map +0 -1
- package/src/code-builder/lib/field/decorator-managers/dto/ArrayDecoratorManager.d.ts +0 -26
- package/src/code-builder/lib/field/decorator-managers/dto/ArrayDecoratorManager.js +0 -107
- package/src/code-builder/lib/field/decorator-managers/dto/ArrayDecoratorManager.js.map +0 -1
- package/src/code-builder/lib/field/decorator-managers/dto/BigIntDecoratorManager.d.ts +0 -24
- package/src/code-builder/lib/field/decorator-managers/dto/BigIntDecoratorManager.js +0 -100
- package/src/code-builder/lib/field/decorator-managers/dto/BigIntDecoratorManager.js.map +0 -1
- package/src/code-builder/lib/field/decorator-managers/dto/BooleanDecoratorManager.d.ts +0 -24
- package/src/code-builder/lib/field/decorator-managers/dto/BooleanDecoratorManager.js +0 -102
- package/src/code-builder/lib/field/decorator-managers/dto/BooleanDecoratorManager.js.map +0 -1
- package/src/code-builder/lib/field/decorator-managers/dto/DateDecoratorManager.d.ts +0 -24
- package/src/code-builder/lib/field/decorator-managers/dto/DateDecoratorManager.js +0 -106
- package/src/code-builder/lib/field/decorator-managers/dto/DateDecoratorManager.js.map +0 -1
- package/src/code-builder/lib/field/decorator-managers/dto/DecimalDecoratorManager.js +0 -112
- package/src/code-builder/lib/field/decorator-managers/dto/DecimalDecoratorManager.js.map +0 -1
- package/src/code-builder/lib/field/decorator-managers/dto/EmailDecoratorManager.d.ts +0 -24
- package/src/code-builder/lib/field/decorator-managers/dto/EmailDecoratorManager.js +0 -99
- package/src/code-builder/lib/field/decorator-managers/dto/EmailDecoratorManager.js.map +0 -1
- package/src/code-builder/lib/field/decorator-managers/dto/IntDecoratorManager.d.ts +0 -24
- package/src/code-builder/lib/field/decorator-managers/dto/IntDecoratorManager.js +0 -100
- package/src/code-builder/lib/field/decorator-managers/dto/IntDecoratorManager.js.map +0 -1
- package/src/code-builder/lib/field/decorator-managers/dto/JsonDecoratorManager.d.ts +0 -24
- package/src/code-builder/lib/field/decorator-managers/dto/JsonDecoratorManager.js +0 -100
- package/src/code-builder/lib/field/decorator-managers/dto/JsonDecoratorManager.js.map +0 -1
- package/src/code-builder/lib/field/decorator-managers/dto/LengthDecoratorManager.d.ts +0 -25
- package/src/code-builder/lib/field/decorator-managers/dto/LengthDecoratorManager.js +0 -104
- package/src/code-builder/lib/field/decorator-managers/dto/LengthDecoratorManager.js.map +0 -1
- package/src/code-builder/lib/field/decorator-managers/dto/MaxDecoratorManager.d.ts +0 -25
- package/src/code-builder/lib/field/decorator-managers/dto/MaxDecoratorManager.js +0 -103
- package/src/code-builder/lib/field/decorator-managers/dto/MaxDecoratorManager.js.map +0 -1
- package/src/code-builder/lib/field/decorator-managers/dto/MaxLengthDecoratorManager.d.ts +0 -25
- package/src/code-builder/lib/field/decorator-managers/dto/MaxLengthDecoratorManager.js +0 -103
- package/src/code-builder/lib/field/decorator-managers/dto/MaxLengthDecoratorManager.js.map +0 -1
- package/src/code-builder/lib/field/decorator-managers/dto/MinDecoratorManager.d.ts +0 -25
- package/src/code-builder/lib/field/decorator-managers/dto/MinDecoratorManager.js +0 -102
- package/src/code-builder/lib/field/decorator-managers/dto/MinDecoratorManager.js.map +0 -1
- package/src/code-builder/lib/field/decorator-managers/dto/MinLengthDecoratorManager.d.ts +0 -25
- package/src/code-builder/lib/field/decorator-managers/dto/MinLengthDecoratorManager.js.map +0 -1
- package/src/code-builder/lib/field/decorator-managers/dto/NumberDecoratorManager.d.ts +0 -24
- package/src/code-builder/lib/field/decorator-managers/dto/NumberDecoratorManager.js +0 -112
- package/src/code-builder/lib/field/decorator-managers/dto/NumberDecoratorManager.js.map +0 -1
- package/src/code-builder/lib/field/decorator-managers/dto/OptionalDecoratorManager.d.ts +0 -26
- package/src/code-builder/lib/field/decorator-managers/dto/OptionalDecoratorManager.js +0 -104
- package/src/code-builder/lib/field/decorator-managers/dto/OptionalDecoratorManager.js.map +0 -1
- package/src/code-builder/lib/field/decorator-managers/dto/RegexDecoratorManager.d.ts +0 -25
- package/src/code-builder/lib/field/decorator-managers/dto/RegexDecoratorManager.js +0 -102
- package/src/code-builder/lib/field/decorator-managers/dto/RegexDecoratorManager.js.map +0 -1
- package/src/code-builder/lib/field/decorator-managers/dto/RequiredDecoratorManager.d.ts +0 -25
- package/src/code-builder/lib/field/decorator-managers/dto/RequiredDecoratorManager.js +0 -100
- package/src/code-builder/lib/field/decorator-managers/dto/RequiredDecoratorManager.js.map +0 -1
- package/src/code-builder/lib/field/decorator-managers/dto/StringDecoratorManager.d.ts +0 -24
- package/src/code-builder/lib/field/decorator-managers/dto/StringDecoratorManager.js +0 -99
- package/src/code-builder/lib/field/decorator-managers/dto/StringDecoratorManager.js.map +0 -1
- package/src/code-builder/lib/field/decorator-managers/dto/TransformDecoratorManager.d.ts +0 -25
- package/src/code-builder/lib/field/decorator-managers/dto/TransformDecoratorManager.js +0 -102
- package/src/code-builder/lib/field/decorator-managers/dto/TransformDecoratorManager.js.map +0 -1
- package/src/code-builder/lib/field/decorator-managers/dto/ValidateNestedDecoratorManager.d.ts +0 -30
- package/src/code-builder/lib/field/decorator-managers/dto/ValidateNestedDecoratorManager.js +0 -140
- package/src/code-builder/lib/field/decorator-managers/dto/ValidateNestedDecoratorManager.js.map +0 -1
- package/src/code-builder/lib/field/decorator-managers/entity/ColumnDecoratorManager.d.ts +0 -34
- package/src/code-builder/lib/field/decorator-managers/entity/ColumnDecoratorManager.js +0 -178
- package/src/code-builder/lib/field/decorator-managers/entity/ColumnDecoratorManager.js.map +0 -1
- package/src/code-builder/lib/field/decorator-managers/entity/IndexDecoratorManager.d.ts +0 -24
- package/src/code-builder/lib/field/decorator-managers/entity/IndexDecoratorManager.js +0 -79
- package/src/code-builder/lib/field/decorator-managers/entity/IndexDecoratorManager.js.map +0 -1
- package/src/code-builder/lib/field/decorator-managers/entity/JoinTableDecoratorManager.d.ts +0 -29
- package/src/code-builder/lib/field/decorator-managers/entity/JoinTableDecoratorManager.js +0 -118
- package/src/code-builder/lib/field/decorator-managers/entity/JoinTableDecoratorManager.js.map +0 -1
- package/src/code-builder/lib/field/decorator-managers/entity/ManyToManyDecoratorManager.d.ts +0 -37
- package/src/code-builder/lib/field/decorator-managers/entity/ManyToManyDecoratorManager.js +0 -175
- package/src/code-builder/lib/field/decorator-managers/entity/ManyToManyDecoratorManager.js.map +0 -1
- package/src/code-builder/lib/field/decorator-managers/entity/ManyToOneDecoratorManager.d.ts +0 -34
- package/src/code-builder/lib/field/decorator-managers/entity/ManyToOneDecoratorManager.js +0 -179
- package/src/code-builder/lib/field/decorator-managers/entity/ManyToOneDecoratorManager.js.map +0 -1
- package/src/code-builder/lib/field/decorator-managers/entity/OneToManyDecoratorManager.d.ts +0 -33
- package/src/code-builder/lib/field/decorator-managers/entity/OneToManyDecoratorManager.js +0 -155
- package/src/code-builder/lib/field/decorator-managers/entity/OneToManyDecoratorManager.js.map +0 -1
- package/src/code-builder/lib/field/decorator-managers/entity/UniqueIndexDecoratorManager.d.ts +0 -31
- package/src/code-builder/lib/field/decorator-managers/entity/UniqueIndexDecoratorManager.js +0 -174
- package/src/code-builder/lib/field/decorator-managers/entity/UniqueIndexDecoratorManager.js.map +0 -1
- package/src/code-builder/lib/field/field-managers/base/BaseFieldManagerForDto.d.ts +0 -51
- package/src/code-builder/lib/field/field-managers/base/BaseFieldManagerForDto.js +0 -345
- package/src/code-builder/lib/field/field-managers/base/BaseFieldManagerForDto.js.map +0 -1
- package/src/code-builder/lib/field/field-managers/base/BaseFieldManagerForEntity.d.ts +0 -58
- package/src/code-builder/lib/field/field-managers/base/BaseFieldManagerForEntity.js +0 -373
- package/src/code-builder/lib/field/field-managers/base/BaseFieldManagerForEntity.js.map +0 -1
- package/src/code-builder/lib/field/field-managers/base/DeleteType.d.ts +0 -6
- package/src/code-builder/lib/field/field-managers/base/DeleteType.js +0 -11
- package/src/code-builder/lib/field/field-managers/base/DeleteType.js.map +0 -1
- package/src/code-builder/lib/field/field-managers/bigint/BigIntFieldHandler.d.ts +0 -13
- package/src/code-builder/lib/field/field-managers/bigint/BigIntFieldHandler.js +0 -33
- package/src/code-builder/lib/field/field-managers/bigint/BigIntFieldHandler.js.map +0 -1
- package/src/code-builder/lib/field/field-managers/bigint/BigIntFieldManagerForDto.d.ts +0 -23
- package/src/code-builder/lib/field/field-managers/bigint/BigIntFieldManagerForDto.js +0 -81
- package/src/code-builder/lib/field/field-managers/bigint/BigIntFieldManagerForDto.js.map +0 -1
- package/src/code-builder/lib/field/field-managers/bigint/BigIntFieldManagerForEntity.d.ts +0 -13
- package/src/code-builder/lib/field/field-managers/bigint/BigIntFieldManagerForEntity.js +0 -55
- package/src/code-builder/lib/field/field-managers/bigint/BigIntFieldManagerForEntity.js.map +0 -1
- package/src/code-builder/lib/field/field-managers/boolean/BooleanFieldHandler.d.ts +0 -13
- package/src/code-builder/lib/field/field-managers/boolean/BooleanFieldHandler.js +0 -33
- package/src/code-builder/lib/field/field-managers/boolean/BooleanFieldHandler.js.map +0 -1
- package/src/code-builder/lib/field/field-managers/boolean/BooleanFieldManagerForDto.d.ts +0 -22
- package/src/code-builder/lib/field/field-managers/boolean/BooleanFieldManagerForDto.js +0 -75
- package/src/code-builder/lib/field/field-managers/boolean/BooleanFieldManagerForDto.js.map +0 -1
- package/src/code-builder/lib/field/field-managers/boolean/BooleanFieldManagerForEntity.d.ts +0 -13
- package/src/code-builder/lib/field/field-managers/boolean/BooleanFieldManagerForEntity.js +0 -51
- package/src/code-builder/lib/field/field-managers/boolean/BooleanFieldManagerForEntity.js.map +0 -1
- package/src/code-builder/lib/field/field-managers/computed/ComputedFieldHandler.d.ts +0 -14
- package/src/code-builder/lib/field/field-managers/computed/ComputedFieldHandler.js +0 -30
- package/src/code-builder/lib/field/field-managers/computed/ComputedFieldHandler.js.map +0 -1
- package/src/code-builder/lib/field/field-managers/computed/ComputedFieldManagerForEntity.d.ts +0 -11
- package/src/code-builder/lib/field/field-managers/computed/ComputedFieldManagerForEntity.js +0 -33
- package/src/code-builder/lib/field/field-managers/computed/ComputedFieldManagerForEntity.js.map +0 -1
- package/src/code-builder/lib/field/field-managers/date/DateFieldHandler.d.ts +0 -13
- package/src/code-builder/lib/field/field-managers/date/DateFieldHandler.js +0 -33
- package/src/code-builder/lib/field/field-managers/date/DateFieldHandler.js.map +0 -1
- package/src/code-builder/lib/field/field-managers/date/DateFieldManagerForDto.d.ts +0 -22
- package/src/code-builder/lib/field/field-managers/date/DateFieldManagerForDto.js +0 -81
- package/src/code-builder/lib/field/field-managers/date/DateFieldManagerForDto.js.map +0 -1
- package/src/code-builder/lib/field/field-managers/date/DateFieldManagerForEntity.d.ts +0 -13
- package/src/code-builder/lib/field/field-managers/date/DateFieldManagerForEntity.js +0 -59
- package/src/code-builder/lib/field/field-managers/date/DateFieldManagerForEntity.js.map +0 -1
- package/src/code-builder/lib/field/field-managers/decimal/DecimalFieldHandler.d.ts +0 -13
- package/src/code-builder/lib/field/field-managers/decimal/DecimalFieldHandler.js +0 -33
- package/src/code-builder/lib/field/field-managers/decimal/DecimalFieldHandler.js.map +0 -1
- package/src/code-builder/lib/field/field-managers/decimal/DecimalFieldManagerForDto.d.ts +0 -22
- package/src/code-builder/lib/field/field-managers/decimal/DecimalFieldManagerForDto.js +0 -77
- package/src/code-builder/lib/field/field-managers/decimal/DecimalFieldManagerForDto.js.map +0 -1
- package/src/code-builder/lib/field/field-managers/decimal/DecimalFieldManagerForEntity.d.ts +0 -13
- package/src/code-builder/lib/field/field-managers/decimal/DecimalFieldManagerForEntity.js +0 -53
- package/src/code-builder/lib/field/field-managers/decimal/DecimalFieldManagerForEntity.js.map +0 -1
- package/src/code-builder/lib/field/field-managers/email/EmailFieldHandler.d.ts +0 -14
- package/src/code-builder/lib/field/field-managers/email/EmailFieldHandler.js +0 -34
- package/src/code-builder/lib/field/field-managers/email/EmailFieldHandler.js.map +0 -1
- package/src/code-builder/lib/field/field-managers/email/EmailFieldManagerForDto.d.ts +0 -22
- package/src/code-builder/lib/field/field-managers/email/EmailFieldManagerForDto.js +0 -72
- package/src/code-builder/lib/field/field-managers/email/EmailFieldManagerForDto.js.map +0 -1
- package/src/code-builder/lib/field/field-managers/email/EmailFieldManagerForEntity.d.ts +0 -12
- package/src/code-builder/lib/field/field-managers/email/EmailFieldManagerForEntity.js +0 -44
- package/src/code-builder/lib/field/field-managers/email/EmailFieldManagerForEntity.js.map +0 -1
- package/src/code-builder/lib/field/field-managers/int/IntFieldHandler.d.ts +0 -13
- package/src/code-builder/lib/field/field-managers/int/IntFieldHandler.js +0 -33
- package/src/code-builder/lib/field/field-managers/int/IntFieldHandler.js.map +0 -1
- package/src/code-builder/lib/field/field-managers/int/IntFieldManagerForDto.d.ts +0 -22
- package/src/code-builder/lib/field/field-managers/int/IntFieldManagerForDto.js +0 -76
- package/src/code-builder/lib/field/field-managers/int/IntFieldManagerForDto.js.map +0 -1
- package/src/code-builder/lib/field/field-managers/int/IntFieldManagerForEntity.d.ts +0 -13
- package/src/code-builder/lib/field/field-managers/int/IntFieldManagerForEntity.js +0 -52
- package/src/code-builder/lib/field/field-managers/int/IntFieldManagerForEntity.js.map +0 -1
- package/src/code-builder/lib/field/field-managers/json/JsonFieldHandler.d.ts +0 -14
- package/src/code-builder/lib/field/field-managers/json/JsonFieldHandler.js +0 -34
- package/src/code-builder/lib/field/field-managers/json/JsonFieldHandler.js.map +0 -1
- package/src/code-builder/lib/field/field-managers/json/JsonFieldManagerForDto.d.ts +0 -20
- package/src/code-builder/lib/field/field-managers/json/JsonFieldManagerForDto.js +0 -57
- package/src/code-builder/lib/field/field-managers/json/JsonFieldManagerForDto.js.map +0 -1
- package/src/code-builder/lib/field/field-managers/json/JsonFieldManagerForEntity.d.ts +0 -9
- package/src/code-builder/lib/field/field-managers/json/JsonFieldManagerForEntity.js +0 -21
- package/src/code-builder/lib/field/field-managers/json/JsonFieldManagerForEntity.js.map +0 -1
- package/src/code-builder/lib/field/field-managers/long-text/LongTextFieldHandler.d.ts +0 -14
- package/src/code-builder/lib/field/field-managers/long-text/LongTextFieldHandler.js +0 -34
- package/src/code-builder/lib/field/field-managers/long-text/LongTextFieldHandler.js.map +0 -1
- package/src/code-builder/lib/field/field-managers/long-text/LongTextFieldManagerForDto.d.ts +0 -22
- package/src/code-builder/lib/field/field-managers/long-text/LongTextFieldManagerForDto.js +0 -63
- package/src/code-builder/lib/field/field-managers/long-text/LongTextFieldManagerForDto.js.map +0 -1
- package/src/code-builder/lib/field/field-managers/long-text/LongTextFieldManagerForEntity.d.ts +0 -11
- package/src/code-builder/lib/field/field-managers/long-text/LongTextFieldManagerForEntity.js +0 -34
- package/src/code-builder/lib/field/field-managers/long-text/LongTextFieldManagerForEntity.js.map +0 -1
- package/src/code-builder/lib/field/field-managers/media/MediaFieldHandler.d.ts +0 -13
- package/src/code-builder/lib/field/field-managers/media/MediaFieldHandler.js +0 -33
- package/src/code-builder/lib/field/field-managers/media/MediaFieldHandler.js.map +0 -1
- package/src/code-builder/lib/field/field-managers/media/MediaFieldManagerForDto.d.ts +0 -23
- package/src/code-builder/lib/field/field-managers/media/MediaFieldManagerForDto.js +0 -72
- package/src/code-builder/lib/field/field-managers/media/MediaFieldManagerForDto.js.map +0 -1
- package/src/code-builder/lib/field/field-managers/media/MediaFieldManagerForEntity.d.ts +0 -12
- package/src/code-builder/lib/field/field-managers/media/MediaFieldManagerForEntity.js +0 -57
- package/src/code-builder/lib/field/field-managers/media/MediaFieldManagerForEntity.js.map +0 -1
- package/src/code-builder/lib/field/field-managers/no-ops/NoOpsFieldHandler.d.ts +0 -13
- package/src/code-builder/lib/field/field-managers/no-ops/NoOpsFieldHandler.js +0 -27
- package/src/code-builder/lib/field/field-managers/no-ops/NoOpsFieldHandler.js.map +0 -1
- package/src/code-builder/lib/field/field-managers/no-ops/NoOpsFieldManagerForDto.d.ts +0 -24
- package/src/code-builder/lib/field/field-managers/no-ops/NoOpsFieldManagerForDto.js +0 -75
- package/src/code-builder/lib/field/field-managers/no-ops/NoOpsFieldManagerForDto.js.map +0 -1
- package/src/code-builder/lib/field/field-managers/no-ops/NoOpsFieldManagerForEntity.d.ts +0 -12
- package/src/code-builder/lib/field/field-managers/no-ops/NoOpsFieldManagerForEntity.js +0 -35
- package/src/code-builder/lib/field/field-managers/no-ops/NoOpsFieldManagerForEntity.js.map +0 -1
- package/src/code-builder/lib/field/field-managers/password/PasswordFieldHandler.d.ts +0 -14
- package/src/code-builder/lib/field/field-managers/password/PasswordFieldHandler.js +0 -34
- package/src/code-builder/lib/field/field-managers/password/PasswordFieldHandler.js.map +0 -1
- package/src/code-builder/lib/field/field-managers/password/PasswordFieldManagerForDto.d.ts +0 -29
- package/src/code-builder/lib/field/field-managers/password/PasswordFieldManagerForDto.js +0 -121
- package/src/code-builder/lib/field/field-managers/password/PasswordFieldManagerForDto.js.map +0 -1
- package/src/code-builder/lib/field/field-managers/password/PasswordFieldManagerForEntity.d.ts +0 -11
- package/src/code-builder/lib/field/field-managers/password/PasswordFieldManagerForEntity.js +0 -37
- package/src/code-builder/lib/field/field-managers/password/PasswordFieldManagerForEntity.js.map +0 -1
- package/src/code-builder/lib/field/field-managers/relation/ManyToManyRelationFieldHandler.d.ts +0 -13
- package/src/code-builder/lib/field/field-managers/relation/ManyToManyRelationFieldHandler.js +0 -33
- package/src/code-builder/lib/field/field-managers/relation/ManyToManyRelationFieldHandler.js.map +0 -1
- package/src/code-builder/lib/field/field-managers/relation/ManyToManyRelationFieldManagerForDto.d.ts +0 -51
- package/src/code-builder/lib/field/field-managers/relation/ManyToManyRelationFieldManagerForDto.js +0 -366
- package/src/code-builder/lib/field/field-managers/relation/ManyToManyRelationFieldManagerForDto.js.map +0 -1
- package/src/code-builder/lib/field/field-managers/relation/ManyToManyRelationFieldManagerForEntity.d.ts +0 -30
- package/src/code-builder/lib/field/field-managers/relation/ManyToManyRelationFieldManagerForEntity.js +0 -158
- package/src/code-builder/lib/field/field-managers/relation/ManyToManyRelationFieldManagerForEntity.js.map +0 -1
- package/src/code-builder/lib/field/field-managers/relation/ManyToOneRelationFieldHandler.d.ts +0 -13
- package/src/code-builder/lib/field/field-managers/relation/ManyToOneRelationFieldHandler.js +0 -33
- package/src/code-builder/lib/field/field-managers/relation/ManyToOneRelationFieldHandler.js.map +0 -1
- package/src/code-builder/lib/field/field-managers/relation/ManyToOneRelationFieldManagerForDto.d.ts +0 -43
- package/src/code-builder/lib/field/field-managers/relation/ManyToOneRelationFieldManagerForDto.js +0 -294
- package/src/code-builder/lib/field/field-managers/relation/ManyToOneRelationFieldManagerForDto.js.map +0 -1
- package/src/code-builder/lib/field/field-managers/relation/ManyToOneRelationFieldManagerForEntity.d.ts +0 -31
- package/src/code-builder/lib/field/field-managers/relation/ManyToOneRelationFieldManagerForEntity.js +0 -177
- package/src/code-builder/lib/field/field-managers/relation/ManyToOneRelationFieldManagerForEntity.js.map +0 -1
- package/src/code-builder/lib/field/field-managers/rich-text/RichTextFieldHandler.d.ts +0 -14
- package/src/code-builder/lib/field/field-managers/rich-text/RichTextFieldHandler.js +0 -34
- package/src/code-builder/lib/field/field-managers/rich-text/RichTextFieldHandler.js.map +0 -1
- package/src/code-builder/lib/field/field-managers/rich-text/RichTextFieldManagerForDto.d.ts +0 -22
- package/src/code-builder/lib/field/field-managers/rich-text/RichTextFieldManagerForDto.js +0 -63
- package/src/code-builder/lib/field/field-managers/rich-text/RichTextFieldManagerForDto.js.map +0 -1
- package/src/code-builder/lib/field/field-managers/rich-text/RichTextFieldManagerForEntity.d.ts +0 -11
- package/src/code-builder/lib/field/field-managers/rich-text/RichTextFieldManagerForEntity.js +0 -34
- package/src/code-builder/lib/field/field-managers/rich-text/RichTextFieldManagerForEntity.js.map +0 -1
- package/src/code-builder/lib/field/field-managers/short-text/ShortTextFieldHandler.d.ts +0 -14
- package/src/code-builder/lib/field/field-managers/short-text/ShortTextFieldHandler.js +0 -34
- package/src/code-builder/lib/field/field-managers/short-text/ShortTextFieldHandler.js.map +0 -1
- package/src/code-builder/lib/field/field-managers/short-text/ShortTextFieldManagerForDto.d.ts +0 -22
- package/src/code-builder/lib/field/field-managers/short-text/ShortTextFieldManagerForDto.js +0 -63
- package/src/code-builder/lib/field/field-managers/short-text/ShortTextFieldManagerForDto.js.map +0 -1
- package/src/code-builder/lib/field/field-managers/short-text/ShortTextFieldManagerForEntity.d.ts +0 -11
- package/src/code-builder/lib/field/field-managers/short-text/ShortTextFieldManagerForEntity.js +0 -37
- package/src/code-builder/lib/field/field-managers/short-text/ShortTextFieldManagerForEntity.js.map +0 -1
- package/src/code-builder/lib/field/field-managers/uuid/UUIDFieldHandler.d.ts +0 -14
- package/src/code-builder/lib/field/field-managers/uuid/UUIDFieldHandler.js +0 -34
- package/src/code-builder/lib/field/field-managers/uuid/UUIDFieldHandler.js.map +0 -1
- package/src/code-builder/lib/field/field-managers/uuid/UUIDFieldManagerForDto.d.ts +0 -8
- package/src/code-builder/lib/field/field-managers/uuid/UUIDFieldManagerForDto.js +0 -15
- package/src/code-builder/lib/field/field-managers/uuid/UUIDFieldManagerForDto.js.map +0 -1
- package/src/code-builder/lib/field/field-managers/uuid/UUIDFieldManagerForEntity.d.ts +0 -11
- package/src/code-builder/lib/field/field-managers/uuid/UUIDFieldManagerForEntity.js +0 -33
- package/src/code-builder/lib/field/field-managers/uuid/UUIDFieldManagerForEntity.js.map +0 -1
- package/src/code-builder/lib/model/helpers.d.ts +0 -49
- package/src/code-builder/lib/model/helpers.js +0 -407
- 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
|
package/src/code-builder/lib/field/decorator-managers/entity/ManyToManyDecoratorManager.js.map
DELETED
|
@@ -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
|
package/src/code-builder/lib/field/decorator-managers/entity/ManyToOneDecoratorManager.js.map
DELETED
|
@@ -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
|
package/src/code-builder/lib/field/decorator-managers/entity/OneToManyDecoratorManager.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"OneToManyDecoratorManager.js","sourceRoot":"","sources":["OneToManyDecoratorManager.ts"],"names":[],"mappings":"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"}
|