@solidstarters/solid-code-builder 1.0.8 → 1.0.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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/dist/code-builder/lib/model/helpers.d.ts +1 -0
- package/dist/code-builder/lib/model/helpers.js +4 -0
- package/dist/code-builder/lib/model/helpers.js.map +1 -1
- package/dist/files/generate-model/controllers/__model@dasherize__.controller.ts +3 -2
- package/files/generate-model/controllers/__model@dasherize__.controller.ts +3 -2
- 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/src/code-builder/lib/model/helpers.ts +4 -0
- 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 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"IntDecoratorManager.js","sourceRoot":"","sources":["IntDecoratorManager.ts"],"names":[],"mappings":";;;;;;AAAA,gIAAkH;AAElH,qEAAqE;AAQrE,MAAa,mBAAmB;IAC9B,YAAmB,OAA4B,EAAS,SAAe;QAApD,YAAO,GAAP,OAAO,CAAqB;QAAS,cAAS,GAAT,SAAS,CAAM;IAAI,CAAC;IAC5E,gBAAgB;QACd,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;IAC5B,CAAC;IACD,cAAc;QACZ,MAAM,gBAAgB,GAAG,EAAE,CAAC;QAC5B,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,gBAAgB,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;QACpD,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC;QAEzC,OAAO;YACL,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ;YACtC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK;YACzB,OAAO,EAAE,OAAO;YAChB,gBAAgB,EAAE,gBAAgB;SACnC,CAAC;IACJ,CAAC;IAED,YAAY,CAAC,SAAiC;QAC5C,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;IAED,aAAa;QACX,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,gBAAgB;QACd,OAAO,CAAC,IAAA,wBAAY,EAChB,IAAI,CAAC,OAAO,CAAC,MAAM,EACnB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,EAC5B,IAAI,CAAC,aAAa,EAAE,EACpB,iBAAiB,CAAC,CAAC,CAAA;IAC3B,CAAC;IAEC,eAAe;QACb,IAAI,CAAC,IAAI,CAAC,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,2CAA2C,IAAI,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;QAElH,IAAI,YAAY,GAAmB,EAAE,CAAC;QACtC,IAAI,iBAAiB,GAA2C,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC;QAEzF,8CAA8C;QAC9C,YAAY;QACZ,MAAM,iBAAiB,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,iBAAiB,CAAC,CAAC;QAEtF,4DAA4D;QAC5D,mHAAmH;QACnH,YAAY,GAAG,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,EAAE,GAAG,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,iBAAiB,CAAC,CAAC,CAAC;QAExI,0DAA0D;QAC1D,MAAM,OAAO,GAAa,EAAE,CAAC;QAE7B,IAAI,IAAI,CAAC,gBAAgB,EAAE,EAAE;YAC3B,YAAY,GAAG,CAAC,GAAG,YAAY,EAAE,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,CAAC,CAAC;YAC1E,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC;SAC1C;QAED,MAAM,eAAe,GAAG,oBAAE,CAAC,OAAO,CAAC,yBAAyB,CAC1D,IAAI,CAAC,SAAS,EACd,YAAY,EAAE,4BAA4B;QAC1C,IAAI,CAAC,SAAS,CAAC,IAAI,EACnB,IAAI,CAAC,SAAS,CAAC,aAAa,EAC5B,IAAI,CAAC,SAAS,CAAC,IAAI,EACnB,IAAI,CAAC,SAAS,CAAC,WAAW,CAC3B,CAAC;QACF,OAAO,CAAC,eAAe,EAAC,OAAO,CAAC,CAAC;IACnC,CAAC;IAED,eAAe,CAAC,iBAA2C;QACzD,gDAAgD;QAChD,MAAM,iBAAiB,GAAkC,EAAE,CAAC;QAE5D,IAAI,iBAAiB,KAAK,SAAS,EAAE;YACnC,+DAA+D;YAC/D,MAAM,sBAAsB,GAAG,iBAAiB,CAAC,UAA+B,CAAC;YACjF,qDAAqD;YACrD,IAAI,sBAAsB,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC/C,IAAI,CAAC,oBAAE,CAAC,yBAAyB,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE;oBAAE,MAAM,IAAI,KAAK,CAAC,wFAAwF,CAAC,CAAC;iBAAE;gBACtL,MAAM,+BAA+B,GAAG,sBAAsB,CAAC,SAAS,CAAC,CAAC,CAA+B,CAAC;gBAC1G,iBAAiB,CAAC,IAAI,CAAC,GAAG,+BAA+B,CAAC,UAAU,CAAC,CAAC;aACvE;SACF;QAED,0EAA0E;QAC1E,MAAM,mBAAmB,GAAG,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;QAC9E,MAAM,cAAc,GAAoB,EAAE,CAAC;QAC3C,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE;YAChC,MAAM,8BAA8B,GAAG,oBAAE,CAAC,OAAO,CAAC,6BAA6B,CAAC,iBAAiB,CAAC,CAAC;YACnG,cAAc,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;SACrD;QACD,MAAM,IAAI,GAAG,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAAC,mBAAmB,EAAE,SAAS,EAAE,cAAc,CAAC,CAAC;QAC7F,OAAO,oBAAE,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,CAAA;IACzC,CAAC;IAEO,aAAa,CAAC,IAAY,EAAE,iBAA4D;QAC9F,OAAO,iBAAiB,CAAC,CAAC,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,oBAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAiB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IACnM,CAAC;IAEO,qBAAqB,CAAC,IAAY,EAAE,iBAA4D;QACtG,OAAO,iBAAiB,CAAC,CAAC,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,oBAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAiB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACvL,CAAC;IAEO,mBAAmB,CAAC,iBAA4D;QACtF,OAAO,iBAAiB,CAAC,CAAC,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,oBAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAgB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACnI,CAAC;IAEO,sBAAsB,CAAC,CAAe,EAAE,cAAsB;QACpE,MAAM,cAAc,GAAG,CAAC,CAAC,UAA+B,CAAC;QACzD,MAAM,UAAU,GAAG,cAAc,CAAC,UAA2B,CAAC;QAC9D,OAAO,UAAU,CAAC,IAAI,KAAK,cAAc,CAAC;IAC5C,CAAC;CAEF;AAhHD,kDAgHC"}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import ts, { PropertyDeclaration } from "@schematics/angular/third_party/github.com/Microsoft/TypeScript/lib/typescript";
|
|
2
|
-
import { DecoratorManager, PartialAddFieldChange } from "../../FieldManager";
|
|
3
|
-
import { Change } from "@schematics/angular/utility/change";
|
|
4
|
-
export interface JsonDecoratorOptions {
|
|
5
|
-
isJson: boolean;
|
|
6
|
-
source: ts.SourceFile;
|
|
7
|
-
field: any;
|
|
8
|
-
}
|
|
9
|
-
export declare class JsonDecoratorManager implements DecoratorManager {
|
|
10
|
-
options: JsonDecoratorOptions;
|
|
11
|
-
fieldNode?: any;
|
|
12
|
-
constructor(options: JsonDecoratorOptions, fieldNode?: any);
|
|
13
|
-
isApplyDecorator(): boolean;
|
|
14
|
-
buildDecorator(): PartialAddFieldChange;
|
|
15
|
-
setFieldNode(fieldNode: ts.PropertyDeclaration): void;
|
|
16
|
-
decoratorName(): string;
|
|
17
|
-
decoratorImports(): Change[];
|
|
18
|
-
updateDecorator(): [PropertyDeclaration, Change[]];
|
|
19
|
-
createDecorator(existingDecorator: ts.Decorator | undefined): ts.Decorator;
|
|
20
|
-
private findDecorator;
|
|
21
|
-
private filterOtherDecorators;
|
|
22
|
-
private filterNonDecorators;
|
|
23
|
-
private containsIdentifierName;
|
|
24
|
-
}
|
|
@@ -1,100 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.JsonDecoratorManager = void 0;
|
|
7
|
-
const typescript_1 = __importDefault(require("@schematics/angular/third_party/github.com/Microsoft/TypeScript/lib/typescript"));
|
|
8
|
-
const ast_utils_1 = require("@schematics/angular/utility/ast-utils");
|
|
9
|
-
class JsonDecoratorManager {
|
|
10
|
-
constructor(options, fieldNode) {
|
|
11
|
-
this.options = options;
|
|
12
|
-
this.fieldNode = fieldNode;
|
|
13
|
-
}
|
|
14
|
-
isApplyDecorator() {
|
|
15
|
-
return this.options.isJson;
|
|
16
|
-
}
|
|
17
|
-
buildDecorator() {
|
|
18
|
-
const fieldSourceLines = [];
|
|
19
|
-
const changes = [];
|
|
20
|
-
fieldSourceLines.push(`@${this.decoratorName()}()`);
|
|
21
|
-
changes.push(...this.decoratorImports());
|
|
22
|
-
return {
|
|
23
|
-
filePath: this.options.source.fileName,
|
|
24
|
-
field: this.options.field,
|
|
25
|
-
changes: changes,
|
|
26
|
-
fieldSourceLines: fieldSourceLines,
|
|
27
|
-
};
|
|
28
|
-
}
|
|
29
|
-
setFieldNode(fieldNode) {
|
|
30
|
-
this.fieldNode = fieldNode;
|
|
31
|
-
}
|
|
32
|
-
decoratorName() {
|
|
33
|
-
return 'IsJSON';
|
|
34
|
-
}
|
|
35
|
-
decoratorImports() {
|
|
36
|
-
return [(0, ast_utils_1.insertImport)(this.options.source, this.options.source.fileName, this.decoratorName(), 'class-validator')];
|
|
37
|
-
}
|
|
38
|
-
updateDecorator() {
|
|
39
|
-
if (!this.fieldNode)
|
|
40
|
-
throw new Error(`Field node is required for updating the ${this.decoratorName()} decorator`);
|
|
41
|
-
let newModifiers = [];
|
|
42
|
-
let existingModifiers = this.fieldNode.modifiers;
|
|
43
|
-
// Check if the field has an Length decorator.
|
|
44
|
-
//@ts-ignore
|
|
45
|
-
const existingDecorator = this.findDecorator(this.decoratorName(), existingModifiers);
|
|
46
|
-
//Remove the column decorator if the column decorator exists
|
|
47
|
-
//TODO probably this too can be done in a lesser intrusive way i.e update everything instead of removing and adding
|
|
48
|
-
newModifiers = [...this.filterNonDecorators(existingModifiers), ...this.filterOtherDecorators(this.decoratorName(), existingModifiers)];
|
|
49
|
-
//Add the column decorator if column decorator is required
|
|
50
|
-
const changes = [];
|
|
51
|
-
if (this.isApplyDecorator()) {
|
|
52
|
-
newModifiers = [...newModifiers, this.createDecorator(existingDecorator)];
|
|
53
|
-
changes.push(...this.decoratorImports());
|
|
54
|
-
}
|
|
55
|
-
const updatedProperty = typescript_1.default.factory.updatePropertyDeclaration(this.fieldNode, newModifiers, //Replace with new modifiers
|
|
56
|
-
this.fieldNode.name, this.fieldNode.questionToken, this.fieldNode.type, this.fieldNode.initializer);
|
|
57
|
-
return [updatedProperty, changes];
|
|
58
|
-
}
|
|
59
|
-
createDecorator(existingDecorator) {
|
|
60
|
-
// Capture the existing column decorator options
|
|
61
|
-
const validationOptions = [];
|
|
62
|
-
if (existingDecorator !== undefined) {
|
|
63
|
-
//Pre-set the column options from the existing column decorator
|
|
64
|
-
const existingCallExpression = existingDecorator.expression;
|
|
65
|
-
// Check if call expression has at least 1 arguments
|
|
66
|
-
if (existingCallExpression.arguments.length > 0) {
|
|
67
|
-
if (!typescript_1.default.isObjectLiteralExpression(existingCallExpression.arguments[0])) {
|
|
68
|
-
throw new Error('Json decorator 1st argument must be an object literal containing the validation options');
|
|
69
|
-
}
|
|
70
|
-
const existingObjectLiteralExpression = existingCallExpression.arguments[0];
|
|
71
|
-
validationOptions.push(...existingObjectLiteralExpression.properties);
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
// Re-create the column decorator with the merged column decorator options
|
|
75
|
-
const decoratorIdentifier = typescript_1.default.factory.createIdentifier(this.decoratorName());
|
|
76
|
-
const argumentsArray = [];
|
|
77
|
-
if (validationOptions.length > 0) {
|
|
78
|
-
const validationOptionsObjectLiteral = typescript_1.default.factory.createObjectLiteralExpression(validationOptions);
|
|
79
|
-
argumentsArray.push(validationOptionsObjectLiteral);
|
|
80
|
-
}
|
|
81
|
-
const call = typescript_1.default.factory.createCallExpression(decoratorIdentifier, undefined, argumentsArray);
|
|
82
|
-
return typescript_1.default.factory.createDecorator(call);
|
|
83
|
-
}
|
|
84
|
-
findDecorator(name, existingModifiers) {
|
|
85
|
-
return existingModifiers ? existingModifiers.filter((m) => (m.kind === typescript_1.default.SyntaxKind.Decorator)).map(m => m).filter(m => this.containsIdentifierName(m, name)).pop() : undefined;
|
|
86
|
-
}
|
|
87
|
-
filterOtherDecorators(name, existingModifiers) {
|
|
88
|
-
return existingModifiers ? existingModifiers.filter((m) => (m.kind === typescript_1.default.SyntaxKind.Decorator)).map(m => m).filter(m => !this.containsIdentifierName(m, name)) : [];
|
|
89
|
-
}
|
|
90
|
-
filterNonDecorators(existingModifiers) {
|
|
91
|
-
return existingModifiers ? existingModifiers.filter((m) => (m.kind !== typescript_1.default.SyntaxKind.Decorator)).map(m => m) : [];
|
|
92
|
-
}
|
|
93
|
-
containsIdentifierName(m, identifierName) {
|
|
94
|
-
const callExpression = m.expression;
|
|
95
|
-
const identifier = callExpression.expression;
|
|
96
|
-
return identifier.text === identifierName;
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
exports.JsonDecoratorManager = JsonDecoratorManager;
|
|
100
|
-
//# sourceMappingURL=JsonDecoratorManager.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"JsonDecoratorManager.js","sourceRoot":"","sources":["JsonDecoratorManager.ts"],"names":[],"mappings":";;;;;;AAAA,gIAAuI;AAEvI,qEAAqE;AAQrE,MAAa,oBAAoB;IAC/B,YAAmB,OAA6B,EAAS,SAAe;QAArD,YAAO,GAAP,OAAO,CAAsB;QAAS,cAAS,GAAT,SAAS,CAAM;IAAI,CAAC;IAC7E,gBAAgB;QACd,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;IAC7B,CAAC;IACD,cAAc;QACZ,MAAM,gBAAgB,GAAG,EAAE,CAAC;QAC5B,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,gBAAgB,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;QACpD,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC;QACzC,OAAO;YACL,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ;YACtC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK;YACzB,OAAO,EAAE,OAAO;YAChB,gBAAgB,EAAE,gBAAgB;SACnC,CAAC;IACJ,CAAC;IAED,YAAY,CAAC,SAAiC;QAC5C,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;IAED,aAAa;QACX,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,gBAAgB;QACd,OAAO,CAAC,IAAA,wBAAY,EAChB,IAAI,CAAC,OAAO,CAAC,MAAM,EACnB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,EAC5B,IAAI,CAAC,aAAa,EAAE,EACpB,iBAAiB,CAAC,CAAC,CAAA;IAC3B,CAAC;IAEC,eAAe;QACb,IAAI,CAAC,IAAI,CAAC,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,2CAA2C,IAAI,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;QAElH,IAAI,YAAY,GAAmB,EAAE,CAAC;QACtC,IAAI,iBAAiB,GAA2C,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC;QAEzF,8CAA8C;QAC9C,YAAY;QACZ,MAAM,iBAAiB,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,iBAAiB,CAAC,CAAC;QAEtF,4DAA4D;QAC5D,mHAAmH;QACnH,YAAY,GAAG,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,EAAE,GAAG,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,iBAAiB,CAAC,CAAC,CAAC;QAExI,4DAA4D;QAC5D,MAAM,OAAO,GAAa,EAAE,CAAC;QAE7B,IAAI,IAAI,CAAC,gBAAgB,EAAE,EAAE;YAC3B,YAAY,GAAG,CAAC,GAAG,YAAY,EAAE,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,CAAC,CAAC;YAC1E,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC;SAC1C;QAED,MAAM,eAAe,GAAG,oBAAE,CAAC,OAAO,CAAC,yBAAyB,CAC1D,IAAI,CAAC,SAAS,EACd,YAAY,EAAE,4BAA4B;QAC1C,IAAI,CAAC,SAAS,CAAC,IAAI,EACnB,IAAI,CAAC,SAAS,CAAC,aAAa,EAC5B,IAAI,CAAC,SAAS,CAAC,IAAI,EACnB,IAAI,CAAC,SAAS,CAAC,WAAW,CAC3B,CAAC;QACF,OAAO,CAAC,eAAe,EAAC,OAAO,CAAC,CAAC;IACnC,CAAC;IAED,eAAe,CAAC,iBAA2C;QACzD,gDAAgD;QAChD,MAAM,iBAAiB,GAAkC,EAAE,CAAC;QAE5D,IAAI,iBAAiB,KAAK,SAAS,EAAE;YACnC,+DAA+D;YAC/D,MAAM,sBAAsB,GAAG,iBAAiB,CAAC,UAA+B,CAAC;YACjF,qDAAqD;YACrD,IAAI,sBAAsB,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC/C,IAAI,CAAC,oBAAE,CAAC,yBAAyB,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE;oBAAE,MAAM,IAAI,KAAK,CAAC,yFAAyF,CAAC,CAAC;iBAAE;gBACvL,MAAM,+BAA+B,GAAG,sBAAsB,CAAC,SAAS,CAAC,CAAC,CAA+B,CAAC;gBAC1G,iBAAiB,CAAC,IAAI,CAAC,GAAG,+BAA+B,CAAC,UAAU,CAAC,CAAC;aACvE;SACF;QAED,0EAA0E;QAC1E,MAAM,mBAAmB,GAAG,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;QAC9E,MAAM,cAAc,GAAoB,EAAE,CAAC;QAC3C,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE;YAChC,MAAM,8BAA8B,GAAG,oBAAE,CAAC,OAAO,CAAC,6BAA6B,CAAC,iBAAiB,CAAC,CAAC;YACnG,cAAc,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;SACrD;QACD,MAAM,IAAI,GAAG,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAAC,mBAAmB,EAAE,SAAS,EAAE,cAAc,CAAC,CAAC;QAC7F,OAAO,oBAAE,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,CAAA;IACzC,CAAC;IAEO,aAAa,CAAC,IAAY,EAAE,iBAA4D;QAC9F,OAAO,iBAAiB,CAAC,CAAC,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,oBAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAiB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IACnM,CAAC;IAEO,qBAAqB,CAAC,IAAY,EAAE,iBAA4D;QACtG,OAAO,iBAAiB,CAAC,CAAC,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,oBAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAiB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACvL,CAAC;IAEO,mBAAmB,CAAC,iBAA4D;QACtF,OAAO,iBAAiB,CAAC,CAAC,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,oBAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAgB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACnI,CAAC;IAEO,sBAAsB,CAAC,CAAe,EAAE,cAAsB;QACpE,MAAM,cAAc,GAAG,CAAC,CAAC,UAA+B,CAAC;QACzD,MAAM,UAAU,GAAG,cAAc,CAAC,UAA2B,CAAC;QAC9D,OAAO,UAAU,CAAC,IAAI,KAAK,cAAc,CAAC;IAC5C,CAAC;CAEF;AA/GD,oDA+GC"}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import ts, { PropertyDeclaration } from "@schematics/angular/third_party/github.com/Microsoft/TypeScript/lib/typescript";
|
|
2
|
-
import { DecoratorManager, PartialAddFieldChange } from "../../FieldManager";
|
|
3
|
-
import { Change } from "@schematics/angular/utility/change";
|
|
4
|
-
export interface LengthDecoratorOptions {
|
|
5
|
-
isApplyLength: boolean;
|
|
6
|
-
length: number;
|
|
7
|
-
source: ts.SourceFile;
|
|
8
|
-
field: any;
|
|
9
|
-
}
|
|
10
|
-
export declare class LengthDecoratorManager implements DecoratorManager {
|
|
11
|
-
options: LengthDecoratorOptions;
|
|
12
|
-
fieldNode?: any;
|
|
13
|
-
constructor(options: LengthDecoratorOptions, fieldNode?: any);
|
|
14
|
-
isApplyDecorator(): boolean;
|
|
15
|
-
setFieldNode(fieldNode: ts.PropertyDeclaration): void;
|
|
16
|
-
buildDecorator(): PartialAddFieldChange;
|
|
17
|
-
decoratorName(): string;
|
|
18
|
-
decoratorImports(): Change[];
|
|
19
|
-
updateDecorator(): [PropertyDeclaration, Change[]];
|
|
20
|
-
createDecorator(existingDecorator: ts.Decorator | undefined): ts.Decorator;
|
|
21
|
-
private findDecorator;
|
|
22
|
-
private filterOtherDecorators;
|
|
23
|
-
private filterNonDecorators;
|
|
24
|
-
private containsIdentifierName;
|
|
25
|
-
}
|
|
@@ -1,104 +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.LengthDecoratorManager = void 0;
|
|
7
|
-
const typescript_1 = __importDefault(require("@schematics/angular/third_party/github.com/Microsoft/TypeScript/lib/typescript"));
|
|
8
|
-
const ast_utils_1 = require("@schematics/angular/utility/ast-utils");
|
|
9
|
-
class LengthDecoratorManager {
|
|
10
|
-
constructor(options, fieldNode) {
|
|
11
|
-
this.options = options;
|
|
12
|
-
this.fieldNode = fieldNode;
|
|
13
|
-
}
|
|
14
|
-
isApplyDecorator() {
|
|
15
|
-
return (this.options.isApplyLength && this.options.length > 0);
|
|
16
|
-
}
|
|
17
|
-
setFieldNode(fieldNode) {
|
|
18
|
-
this.fieldNode = fieldNode;
|
|
19
|
-
}
|
|
20
|
-
buildDecorator() {
|
|
21
|
-
const fieldSourceLines = [];
|
|
22
|
-
const changes = [];
|
|
23
|
-
fieldSourceLines.push(`@Length(1, ${this.options.length})`);
|
|
24
|
-
changes.push(...this.decoratorImports());
|
|
25
|
-
return {
|
|
26
|
-
filePath: this.options.source.fileName,
|
|
27
|
-
field: this.options.field,
|
|
28
|
-
changes: changes,
|
|
29
|
-
fieldSourceLines: fieldSourceLines,
|
|
30
|
-
};
|
|
31
|
-
}
|
|
32
|
-
decoratorName() {
|
|
33
|
-
return 'Length';
|
|
34
|
-
}
|
|
35
|
-
decoratorImports() {
|
|
36
|
-
return [(0, ast_utils_1.insertImport)(this.options.source, this.options.source.fileName, this.decoratorName(), 'class-validator')];
|
|
37
|
-
}
|
|
38
|
-
updateDecorator() {
|
|
39
|
-
if (!this.fieldNode)
|
|
40
|
-
throw new Error(`Field node is required for updating the ${this.decoratorName()} decorator`);
|
|
41
|
-
let newModifiers = [];
|
|
42
|
-
let existingModifiers = this.fieldNode.modifiers;
|
|
43
|
-
// Check if the field has an Length decorator.
|
|
44
|
-
//@ts-ignore
|
|
45
|
-
const existingDecorator = this.findDecorator(this.decoratorName(), existingModifiers);
|
|
46
|
-
//Remove the column decorator if the column decorator exists
|
|
47
|
-
//TODO probably this too can be done in a lesser intrusive way i.e update everything instead of removing and adding
|
|
48
|
-
newModifiers = [...this.filterNonDecorators(existingModifiers), ...this.filterOtherDecorators(this.decoratorName(), existingModifiers)];
|
|
49
|
-
//Add the column decorator if column decorator is required
|
|
50
|
-
// console.log('this.options.isApplyLength', this.options.isApplyLength, this.options.length)
|
|
51
|
-
const changes = [];
|
|
52
|
-
if (this.isApplyDecorator()) {
|
|
53
|
-
newModifiers = [...newModifiers, this.createDecorator(existingDecorator)];
|
|
54
|
-
changes.push(...this.decoratorImports());
|
|
55
|
-
}
|
|
56
|
-
const updatedProperty = typescript_1.default.factory.updatePropertyDeclaration(this.fieldNode, newModifiers, //Replace with new modifiers
|
|
57
|
-
this.fieldNode.name, this.fieldNode.questionToken, this.fieldNode.type, this.fieldNode.initializer);
|
|
58
|
-
return [updatedProperty, changes];
|
|
59
|
-
}
|
|
60
|
-
createDecorator(existingDecorator) {
|
|
61
|
-
// Capture the existing validation options
|
|
62
|
-
let validationOptions = [];
|
|
63
|
-
if (existingDecorator !== undefined) {
|
|
64
|
-
//Pre-set the column options from the existing column decorator
|
|
65
|
-
const existingCallExpression = existingDecorator.expression;
|
|
66
|
-
// Check if call expression has at least 1 arguments
|
|
67
|
-
if (existingCallExpression.arguments.length > 2) {
|
|
68
|
-
if (!typescript_1.default.isObjectLiteralExpression(existingCallExpression.arguments[2])) {
|
|
69
|
-
throw new Error('Length decorator 3rd argument must be an object literal containing the validation options');
|
|
70
|
-
}
|
|
71
|
-
const existingObjectLiteralExpression = existingCallExpression.arguments[2];
|
|
72
|
-
validationOptions.push(...existingObjectLiteralExpression.properties);
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
// Re-create the column decorator with the merged column decorator options
|
|
76
|
-
const decoratorIdentifier = typescript_1.default.factory.createIdentifier("Length");
|
|
77
|
-
const argumentsArray = [];
|
|
78
|
-
const min = typescript_1.default.factory.createNumericLiteral(1);
|
|
79
|
-
const max = typescript_1.default.factory.createNumericLiteral(this.options.length);
|
|
80
|
-
argumentsArray.push(min, max);
|
|
81
|
-
if (validationOptions.length > 0) {
|
|
82
|
-
const validationOptionsObjectLiteral = typescript_1.default.factory.createObjectLiteralExpression(validationOptions);
|
|
83
|
-
argumentsArray.push(validationOptionsObjectLiteral);
|
|
84
|
-
}
|
|
85
|
-
const call = typescript_1.default.factory.createCallExpression(decoratorIdentifier, undefined, argumentsArray);
|
|
86
|
-
return typescript_1.default.factory.createDecorator(call);
|
|
87
|
-
}
|
|
88
|
-
findDecorator(name, existingModifiers) {
|
|
89
|
-
return existingModifiers ? existingModifiers.filter((m) => (m.kind === typescript_1.default.SyntaxKind.Decorator)).map(m => m).filter(m => this.containsIdentifierName(m, name)).pop() : undefined;
|
|
90
|
-
}
|
|
91
|
-
filterOtherDecorators(name, existingModifiers) {
|
|
92
|
-
return existingModifiers ? existingModifiers.filter((m) => (m.kind === typescript_1.default.SyntaxKind.Decorator)).map(m => m).filter(m => !this.containsIdentifierName(m, name)) : [];
|
|
93
|
-
}
|
|
94
|
-
filterNonDecorators(existingModifiers) {
|
|
95
|
-
return existingModifiers ? existingModifiers.filter((m) => (m.kind !== typescript_1.default.SyntaxKind.Decorator)).map(m => m) : [];
|
|
96
|
-
}
|
|
97
|
-
containsIdentifierName(m, identifierName) {
|
|
98
|
-
const callExpression = m.expression;
|
|
99
|
-
const identifier = callExpression.expression;
|
|
100
|
-
return identifier.text === identifierName;
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
exports.LengthDecoratorManager = LengthDecoratorManager;
|
|
104
|
-
//# sourceMappingURL=LengthDecoratorManager.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"LengthDecoratorManager.js","sourceRoot":"","sources":["LengthDecoratorManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import { DecoratorManager, PartialAddFieldChange } from "../../FieldManager";
|
|
2
|
-
import { Change } from "@schematics/angular/utility/change";
|
|
3
|
-
import ts, { PropertyDeclaration } from "@schematics/angular/third_party/github.com/Microsoft/TypeScript/lib/typescript";
|
|
4
|
-
export interface MaxDecoratorOptions {
|
|
5
|
-
isApplyMax: boolean;
|
|
6
|
-
max: number;
|
|
7
|
-
source: any;
|
|
8
|
-
field: any;
|
|
9
|
-
}
|
|
10
|
-
export declare class MaxDecoratorManager implements DecoratorManager {
|
|
11
|
-
options: MaxDecoratorOptions;
|
|
12
|
-
fieldNode?: any;
|
|
13
|
-
constructor(options: MaxDecoratorOptions, fieldNode?: any);
|
|
14
|
-
isApplyDecorator(): boolean;
|
|
15
|
-
buildDecorator(): PartialAddFieldChange;
|
|
16
|
-
setFieldNode(fieldNode: ts.PropertyDeclaration): void;
|
|
17
|
-
decoratorName(): string;
|
|
18
|
-
decoratorImports(): Change[];
|
|
19
|
-
updateDecorator(): [PropertyDeclaration, Change[]];
|
|
20
|
-
createDecorator(existingDecorator: ts.Decorator | undefined): ts.Decorator;
|
|
21
|
-
private findDecorator;
|
|
22
|
-
private filterOtherDecorators;
|
|
23
|
-
private filterNonDecorators;
|
|
24
|
-
private containsIdentifierName;
|
|
25
|
-
}
|
|
@@ -1,103 +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.MaxDecoratorManager = void 0;
|
|
7
|
-
const ast_utils_1 = require("@schematics/angular/utility/ast-utils");
|
|
8
|
-
const typescript_1 = __importDefault(require("@schematics/angular/third_party/github.com/Microsoft/TypeScript/lib/typescript"));
|
|
9
|
-
class MaxDecoratorManager {
|
|
10
|
-
constructor(options, fieldNode) {
|
|
11
|
-
this.options = options;
|
|
12
|
-
this.fieldNode = fieldNode;
|
|
13
|
-
}
|
|
14
|
-
isApplyDecorator() {
|
|
15
|
-
return this.options.isApplyMax && this.options.max > 0;
|
|
16
|
-
}
|
|
17
|
-
buildDecorator() {
|
|
18
|
-
const fieldSourceLines = [];
|
|
19
|
-
const changes = [];
|
|
20
|
-
fieldSourceLines.push(`@Max(${this.options.max})`);
|
|
21
|
-
changes.push(...this.decoratorImports());
|
|
22
|
-
return {
|
|
23
|
-
filePath: this.options.source.fileName,
|
|
24
|
-
field: this.options.field,
|
|
25
|
-
changes: changes,
|
|
26
|
-
fieldSourceLines: fieldSourceLines,
|
|
27
|
-
};
|
|
28
|
-
}
|
|
29
|
-
setFieldNode(fieldNode) {
|
|
30
|
-
this.fieldNode = fieldNode;
|
|
31
|
-
}
|
|
32
|
-
decoratorName() {
|
|
33
|
-
return 'Max';
|
|
34
|
-
}
|
|
35
|
-
decoratorImports() {
|
|
36
|
-
return [(0, ast_utils_1.insertImport)(this.options.source, this.options.source.fileName, this.decoratorName(), 'class-validator')];
|
|
37
|
-
}
|
|
38
|
-
updateDecorator() {
|
|
39
|
-
if (!this.fieldNode)
|
|
40
|
-
throw new Error(`Field node is required for updating the ${this.decoratorName()} decorator`);
|
|
41
|
-
let newModifiers = [];
|
|
42
|
-
let existingModifiers = this.fieldNode.modifiers;
|
|
43
|
-
// Check if the field has an Length decorator.
|
|
44
|
-
//@ts-ignore
|
|
45
|
-
const existingDecorator = this.findDecorator(this.decoratorName(), existingModifiers);
|
|
46
|
-
//Remove the column decorator if the column decorator exists
|
|
47
|
-
//TODO probably this too can be done in a lesser intrusive way i.e update everything instead of removing and adding
|
|
48
|
-
newModifiers = [...this.filterNonDecorators(existingModifiers), ...this.filterOtherDecorators(this.decoratorName(), existingModifiers)];
|
|
49
|
-
//Add the column decorator if column decorator is required
|
|
50
|
-
// console.log('this.options.isApplyMax', this.options.isApplyMax, this.options.max)
|
|
51
|
-
const changes = [];
|
|
52
|
-
if (this.isApplyDecorator()) {
|
|
53
|
-
newModifiers = [...newModifiers, this.createDecorator(existingDecorator)];
|
|
54
|
-
changes.push(...this.decoratorImports());
|
|
55
|
-
}
|
|
56
|
-
const updatedProperty = typescript_1.default.factory.updatePropertyDeclaration(this.fieldNode, newModifiers, //Replace with new modifiers
|
|
57
|
-
this.fieldNode.name, this.fieldNode.questionToken, this.fieldNode.type, this.fieldNode.initializer);
|
|
58
|
-
return [updatedProperty, changes];
|
|
59
|
-
}
|
|
60
|
-
createDecorator(existingDecorator) {
|
|
61
|
-
// Capture the existing column decorator options
|
|
62
|
-
let validationOptions = [];
|
|
63
|
-
if (existingDecorator !== undefined) {
|
|
64
|
-
//Pre-set the column options from the existing column decorator
|
|
65
|
-
const existingCallExpression = existingDecorator.expression;
|
|
66
|
-
// Check if call expression has at least 1 arguments
|
|
67
|
-
if (existingCallExpression.arguments.length > 1) {
|
|
68
|
-
if (!typescript_1.default.isObjectLiteralExpression(existingCallExpression.arguments[1])) {
|
|
69
|
-
throw new Error('Max decorator 2nd argument must be an object literal containing the validation options');
|
|
70
|
-
}
|
|
71
|
-
const existingObjectLiteralExpression = existingCallExpression.arguments[1];
|
|
72
|
-
validationOptions.push(...existingObjectLiteralExpression.properties);
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
// Re-create the column decorator with the merged column decorator options
|
|
76
|
-
const decoratorIdentifier = typescript_1.default.factory.createIdentifier("Max");
|
|
77
|
-
const argumentsArray = [];
|
|
78
|
-
const max = typescript_1.default.factory.createNumericLiteral(this.options.max);
|
|
79
|
-
argumentsArray.push(max);
|
|
80
|
-
if (validationOptions.length > 0) {
|
|
81
|
-
const validationOptionsObjectLiteral = typescript_1.default.factory.createObjectLiteralExpression(validationOptions);
|
|
82
|
-
argumentsArray.push(validationOptionsObjectLiteral);
|
|
83
|
-
}
|
|
84
|
-
const call = typescript_1.default.factory.createCallExpression(decoratorIdentifier, undefined, argumentsArray);
|
|
85
|
-
return typescript_1.default.factory.createDecorator(call);
|
|
86
|
-
}
|
|
87
|
-
findDecorator(name, existingModifiers) {
|
|
88
|
-
return existingModifiers ? existingModifiers.filter((m) => (m.kind === typescript_1.default.SyntaxKind.Decorator)).map(m => m).filter(m => this.containsIdentifierName(m, name)).pop() : undefined;
|
|
89
|
-
}
|
|
90
|
-
filterOtherDecorators(name, existingModifiers) {
|
|
91
|
-
return existingModifiers ? existingModifiers.filter((m) => (m.kind === typescript_1.default.SyntaxKind.Decorator)).map(m => m).filter(m => !this.containsIdentifierName(m, name)) : [];
|
|
92
|
-
}
|
|
93
|
-
filterNonDecorators(existingModifiers) {
|
|
94
|
-
return existingModifiers ? existingModifiers.filter((m) => (m.kind !== typescript_1.default.SyntaxKind.Decorator)).map(m => m) : [];
|
|
95
|
-
}
|
|
96
|
-
containsIdentifierName(m, identifierName) {
|
|
97
|
-
const callExpression = m.expression;
|
|
98
|
-
const identifier = callExpression.expression;
|
|
99
|
-
return identifier.text === identifierName;
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
exports.MaxDecoratorManager = MaxDecoratorManager;
|
|
103
|
-
//# sourceMappingURL=MaxDecoratorManager.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"MaxDecoratorManager.js","sourceRoot":"","sources":["MaxDecoratorManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import ts, { PropertyDeclaration } from "@schematics/angular/third_party/github.com/Microsoft/TypeScript/lib/typescript";
|
|
2
|
-
import { DecoratorManager, PartialAddFieldChange } from "../../FieldManager";
|
|
3
|
-
import { Change } from "@schematics/angular/utility/change";
|
|
4
|
-
export interface MaxLengthDecoratorOptions {
|
|
5
|
-
isApplyMaxLength: boolean;
|
|
6
|
-
length: number;
|
|
7
|
-
source: ts.SourceFile;
|
|
8
|
-
field: any;
|
|
9
|
-
}
|
|
10
|
-
export declare class MaxLengthDecoratorManager implements DecoratorManager {
|
|
11
|
-
options: MaxLengthDecoratorOptions;
|
|
12
|
-
fieldNode?: any;
|
|
13
|
-
constructor(options: MaxLengthDecoratorOptions, fieldNode?: any);
|
|
14
|
-
isApplyDecorator(): boolean;
|
|
15
|
-
setFieldNode(fieldNode: ts.PropertyDeclaration): void;
|
|
16
|
-
buildDecorator(): PartialAddFieldChange;
|
|
17
|
-
decoratorName(): string;
|
|
18
|
-
decoratorImports(): Change[];
|
|
19
|
-
updateDecorator(): [PropertyDeclaration, Change[]];
|
|
20
|
-
createDecorator(existingDecorator: ts.Decorator | undefined): ts.Decorator;
|
|
21
|
-
private findDecorator;
|
|
22
|
-
private filterOtherDecorators;
|
|
23
|
-
private filterNonDecorators;
|
|
24
|
-
private containsIdentifierName;
|
|
25
|
-
}
|
|
@@ -1,103 +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.MaxLengthDecoratorManager = void 0;
|
|
7
|
-
const typescript_1 = __importDefault(require("@schematics/angular/third_party/github.com/Microsoft/TypeScript/lib/typescript"));
|
|
8
|
-
const ast_utils_1 = require("@schematics/angular/utility/ast-utils");
|
|
9
|
-
class MaxLengthDecoratorManager {
|
|
10
|
-
constructor(options, fieldNode) {
|
|
11
|
-
this.options = options;
|
|
12
|
-
this.fieldNode = fieldNode;
|
|
13
|
-
}
|
|
14
|
-
isApplyDecorator() {
|
|
15
|
-
return (this.options.isApplyMaxLength && this.options.length > 0);
|
|
16
|
-
}
|
|
17
|
-
setFieldNode(fieldNode) {
|
|
18
|
-
this.fieldNode = fieldNode;
|
|
19
|
-
}
|
|
20
|
-
buildDecorator() {
|
|
21
|
-
const fieldSourceLines = [];
|
|
22
|
-
const changes = [];
|
|
23
|
-
fieldSourceLines.push(`@${this.decoratorName()}(${this.options.length})`);
|
|
24
|
-
changes.push(...this.decoratorImports());
|
|
25
|
-
return {
|
|
26
|
-
filePath: this.options.source.fileName,
|
|
27
|
-
field: this.options.field,
|
|
28
|
-
changes: changes,
|
|
29
|
-
fieldSourceLines: fieldSourceLines,
|
|
30
|
-
};
|
|
31
|
-
}
|
|
32
|
-
decoratorName() {
|
|
33
|
-
return 'MaxLength';
|
|
34
|
-
}
|
|
35
|
-
decoratorImports() {
|
|
36
|
-
return [(0, ast_utils_1.insertImport)(this.options.source, this.options.source.fileName, this.decoratorName(), 'class-validator')];
|
|
37
|
-
}
|
|
38
|
-
updateDecorator() {
|
|
39
|
-
if (!this.fieldNode)
|
|
40
|
-
throw new Error(`Field node is required for updating the ${this.decoratorName()} decorator`);
|
|
41
|
-
let newModifiers = [];
|
|
42
|
-
let existingModifiers = this.fieldNode.modifiers;
|
|
43
|
-
// Check if the field has an Length decorator.
|
|
44
|
-
//@ts-ignore
|
|
45
|
-
const existingDecorator = this.findDecorator(this.decoratorName(), existingModifiers);
|
|
46
|
-
//Remove the column decorator if the column decorator exists
|
|
47
|
-
//TODO probably this too can be done in a lesser intrusive way i.e update everything instead of removing and adding
|
|
48
|
-
newModifiers = [...this.filterNonDecorators(existingModifiers), ...this.filterOtherDecorators(this.decoratorName(), existingModifiers)];
|
|
49
|
-
//Add the column decorator if column decorator is required
|
|
50
|
-
// console.log('this.options.isApplyLength', this.options.isApplyLength, this.options.length)
|
|
51
|
-
const changes = [];
|
|
52
|
-
if (this.isApplyDecorator()) {
|
|
53
|
-
newModifiers = [...newModifiers, this.createDecorator(existingDecorator)];
|
|
54
|
-
changes.push(...this.decoratorImports());
|
|
55
|
-
}
|
|
56
|
-
const updatedProperty = typescript_1.default.factory.updatePropertyDeclaration(this.fieldNode, newModifiers, //Replace with new modifiers
|
|
57
|
-
this.fieldNode.name, this.fieldNode.questionToken, this.fieldNode.type, this.fieldNode.initializer);
|
|
58
|
-
return [updatedProperty, changes];
|
|
59
|
-
}
|
|
60
|
-
createDecorator(existingDecorator) {
|
|
61
|
-
// Capture the existing validation options
|
|
62
|
-
let validationOptions = [];
|
|
63
|
-
if (existingDecorator !== undefined) {
|
|
64
|
-
//Pre-set the column options from the existing column decorator
|
|
65
|
-
const existingCallExpression = existingDecorator.expression;
|
|
66
|
-
// Check if call expression has at least 1 arguments
|
|
67
|
-
if (existingCallExpression.arguments.length > 1) {
|
|
68
|
-
if (!typescript_1.default.isObjectLiteralExpression(existingCallExpression.arguments[1])) {
|
|
69
|
-
throw new Error(`${this.decoratorName()} decorator 2nd argument must be an object literal containing the validation options`);
|
|
70
|
-
}
|
|
71
|
-
const existingObjectLiteralExpression = existingCallExpression.arguments[1];
|
|
72
|
-
validationOptions.push(...existingObjectLiteralExpression.properties);
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
// Re-create the column decorator with the merged column decorator options
|
|
76
|
-
const decoratorIdentifier = typescript_1.default.factory.createIdentifier(this.decoratorName());
|
|
77
|
-
const argumentsArray = [];
|
|
78
|
-
const length = typescript_1.default.factory.createNumericLiteral(this.options.length);
|
|
79
|
-
argumentsArray.push(length);
|
|
80
|
-
if (validationOptions.length > 0) {
|
|
81
|
-
const validationOptionsObjectLiteral = typescript_1.default.factory.createObjectLiteralExpression(validationOptions);
|
|
82
|
-
argumentsArray.push(validationOptionsObjectLiteral);
|
|
83
|
-
}
|
|
84
|
-
const call = typescript_1.default.factory.createCallExpression(decoratorIdentifier, undefined, argumentsArray);
|
|
85
|
-
return typescript_1.default.factory.createDecorator(call);
|
|
86
|
-
}
|
|
87
|
-
findDecorator(name, existingModifiers) {
|
|
88
|
-
return existingModifiers ? existingModifiers.filter((m) => (m.kind === typescript_1.default.SyntaxKind.Decorator)).map(m => m).filter(m => this.containsIdentifierName(m, name)).pop() : undefined;
|
|
89
|
-
}
|
|
90
|
-
filterOtherDecorators(name, existingModifiers) {
|
|
91
|
-
return existingModifiers ? existingModifiers.filter((m) => (m.kind === typescript_1.default.SyntaxKind.Decorator)).map(m => m).filter(m => !this.containsIdentifierName(m, name)) : [];
|
|
92
|
-
}
|
|
93
|
-
filterNonDecorators(existingModifiers) {
|
|
94
|
-
return existingModifiers ? existingModifiers.filter((m) => (m.kind !== typescript_1.default.SyntaxKind.Decorator)).map(m => m) : [];
|
|
95
|
-
}
|
|
96
|
-
containsIdentifierName(m, identifierName) {
|
|
97
|
-
const callExpression = m.expression;
|
|
98
|
-
const identifier = callExpression.expression;
|
|
99
|
-
return identifier.text === identifierName;
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
exports.MaxLengthDecoratorManager = MaxLengthDecoratorManager;
|
|
103
|
-
//# sourceMappingURL=MaxLengthDecoratorManager.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"MaxLengthDecoratorManager.js","sourceRoot":"","sources":["MaxLengthDecoratorManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import { Change } from "@schematics/angular/utility/change";
|
|
2
|
-
import { DecoratorManager, PartialAddFieldChange } from "../../FieldManager";
|
|
3
|
-
import ts, { PropertyDeclaration } from "@schematics/angular/third_party/github.com/Microsoft/TypeScript/lib/typescript";
|
|
4
|
-
export interface MinDecoratorOptions {
|
|
5
|
-
isApplyMin: boolean;
|
|
6
|
-
min: number;
|
|
7
|
-
source: any;
|
|
8
|
-
field: any;
|
|
9
|
-
}
|
|
10
|
-
export declare class MinDecoratorManager implements DecoratorManager {
|
|
11
|
-
options: MinDecoratorOptions;
|
|
12
|
-
fieldNode?: any;
|
|
13
|
-
constructor(options: MinDecoratorOptions, fieldNode?: any);
|
|
14
|
-
isApplyDecorator(): boolean;
|
|
15
|
-
buildDecorator(): PartialAddFieldChange;
|
|
16
|
-
setFieldNode(fieldNode: ts.PropertyDeclaration): void;
|
|
17
|
-
decoratorName(): string;
|
|
18
|
-
decoratorImports(): Change[];
|
|
19
|
-
updateDecorator(): [PropertyDeclaration, Change[]];
|
|
20
|
-
createDecorator(existingDecorator: ts.Decorator | undefined): ts.Decorator;
|
|
21
|
-
private findDecorator;
|
|
22
|
-
private filterOtherDecorators;
|
|
23
|
-
private filterNonDecorators;
|
|
24
|
-
private containsIdentifierName;
|
|
25
|
-
}
|