@haskou/value-objects 1.1.3 → 1.1.4
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/errors/BaseError.d.ts.map +1 -0
- package/dist/errors/BaseError.js.map +1 -0
- package/dist/errors/DomainError.d.ts.map +1 -0
- package/dist/errors/DomainError.js.map +1 -0
- package/dist/errors/InvalidColorError.d.ts.map +1 -0
- package/dist/errors/InvalidColorError.js.map +1 -0
- package/dist/errors/InvalidDayError.d.ts.map +1 -0
- package/dist/errors/InvalidDayError.js.map +1 -0
- package/dist/errors/InvalidDayFormatError.d.ts.map +1 -0
- package/dist/errors/InvalidDayFormatError.js.map +1 -0
- package/dist/errors/InvalidEmailError.d.ts.map +1 -0
- package/dist/errors/InvalidEmailError.js.map +1 -0
- package/dist/errors/InvalidFormatError.d.ts.map +1 -0
- package/dist/errors/InvalidFormatError.js.map +1 -0
- package/dist/errors/InvalidHashError.d.ts.map +1 -0
- package/dist/errors/InvalidHashError.js.map +1 -0
- package/dist/errors/InvalidHourError.d.ts.map +1 -0
- package/dist/errors/InvalidHourError.js.map +1 -0
- package/dist/errors/InvalidIntegerError.d.ts.map +1 -0
- package/dist/errors/InvalidIntegerError.js.map +1 -0
- package/dist/errors/InvalidLatitudeError.d.ts.map +1 -0
- package/dist/errors/InvalidLatitudeError.js.map +1 -0
- package/dist/errors/InvalidLengthError.d.ts.map +1 -0
- package/dist/errors/InvalidLengthError.js.map +1 -0
- package/dist/errors/InvalidLongitudeError.d.ts.map +1 -0
- package/dist/errors/InvalidLongitudeError.js.map +1 -0
- package/dist/errors/InvalidMinutesError.d.ts.map +1 -0
- package/dist/errors/InvalidMinutesError.js.map +1 -0
- package/dist/errors/InvalidNumberError.d.ts.map +1 -0
- package/dist/errors/InvalidNumberError.js.map +1 -0
- package/dist/errors/InvalidPositiveNumberError.d.ts.map +1 -0
- package/dist/errors/InvalidPositiveNumberError.js.map +1 -0
- package/dist/errors/InvalidStringLengthError.d.ts.map +1 -0
- package/dist/errors/InvalidStringLengthError.js.map +1 -0
- package/dist/errors/InvalidTimestampIntervalError.d.ts.map +1 -0
- package/dist/errors/InvalidTimestampIntervalError.js.map +1 -0
- package/dist/errors/InvalidValueError.d.ts.map +1 -0
- package/dist/errors/InvalidValueError.js.map +1 -0
- package/dist/errors/NullObjectError.d.ts.map +1 -0
- package/dist/errors/NullObjectError.js.map +1 -0
- package/dist/errors/ValueNotInEnumError.d.ts.map +1 -0
- package/dist/errors/ValueNotInEnumError.js.map +1 -0
- package/dist/errors/index.d.ts.map +1 -0
- package/dist/errors/index.js.map +1 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js.map +1 -0
- package/dist/interfaces/PrimitiveOf.d.ts.map +1 -0
- package/dist/interfaces/PrimitiveOf.js.map +1 -0
- package/dist/interfaces/index.d.ts.map +1 -0
- package/dist/interfaces/index.js.map +1 -0
- package/dist/patterns/Assert.d.ts.map +1 -0
- package/dist/patterns/Assert.js.map +1 -0
- package/dist/patterns/index.d.ts.map +1 -0
- package/dist/patterns/index.js.map +1 -0
- package/dist/types/Nullish.d.ts.map +1 -0
- package/dist/{src/types → types}/Nullish.js.map +1 -1
- package/dist/types/Primitive.d.ts.map +1 -0
- package/dist/{src/types → types}/Primitive.js.map +1 -1
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js.map +1 -0
- package/dist/value-objects/Color.d.ts.map +1 -0
- package/dist/value-objects/Color.js.map +1 -0
- package/dist/value-objects/Email.d.ts.map +1 -0
- package/dist/value-objects/Email.js.map +1 -0
- package/dist/value-objects/Enum.d.ts.map +1 -0
- package/dist/value-objects/Enum.js.map +1 -0
- package/dist/value-objects/Integer.d.ts.map +1 -0
- package/dist/value-objects/Integer.js.map +1 -0
- package/dist/value-objects/NullObject.d.ts.map +1 -0
- package/dist/value-objects/NullObject.js.map +1 -0
- package/dist/value-objects/NumberValueObject.d.ts.map +1 -0
- package/dist/value-objects/NumberValueObject.js.map +1 -0
- package/dist/value-objects/PositiveNumber.d.ts.map +1 -0
- package/dist/value-objects/PositiveNumber.js.map +1 -0
- package/dist/value-objects/StringValueObject.d.ts.map +1 -0
- package/dist/value-objects/StringValueObject.js.map +1 -0
- package/dist/value-objects/ValueObject.d.ts.map +1 -0
- package/dist/value-objects/ValueObject.js.map +1 -0
- package/dist/value-objects/coordinates/Coordinates.d.ts.map +1 -0
- package/dist/value-objects/coordinates/Coordinates.js.map +1 -0
- package/dist/value-objects/coordinates/Latitude.d.ts.map +1 -0
- package/dist/value-objects/coordinates/Latitude.js.map +1 -0
- package/dist/value-objects/coordinates/Longitude.d.ts.map +1 -0
- package/dist/value-objects/coordinates/Longitude.js.map +1 -0
- package/dist/value-objects/coordinates/index.d.ts.map +1 -0
- package/dist/value-objects/coordinates/index.js.map +1 -0
- package/dist/value-objects/hashes/Hash.d.ts.map +1 -0
- package/dist/value-objects/hashes/Hash.js.map +1 -0
- package/dist/value-objects/hashes/MD5Hash.d.ts.map +1 -0
- package/dist/value-objects/hashes/MD5Hash.js.map +1 -0
- package/dist/value-objects/hashes/SHA256Hash.d.ts.map +1 -0
- package/dist/value-objects/hashes/SHA256Hash.js.map +1 -0
- package/dist/value-objects/hashes/SHA512Hash.d.ts.map +1 -0
- package/dist/value-objects/hashes/SHA512Hash.js.map +1 -0
- package/dist/value-objects/hashes/index.d.ts.map +1 -0
- package/dist/value-objects/hashes/index.js.map +1 -0
- package/dist/value-objects/ids/ShortId.d.ts.map +1 -0
- package/dist/value-objects/ids/ShortId.js.map +1 -0
- package/dist/value-objects/ids/UUID.d.ts.map +1 -0
- package/dist/value-objects/ids/UUID.js.map +1 -0
- package/dist/value-objects/ids/index.d.ts.map +1 -0
- package/dist/value-objects/ids/index.js.map +1 -0
- package/dist/value-objects/index.d.ts.map +1 -0
- package/dist/value-objects/index.js.map +1 -0
- package/dist/value-objects/time/CalendarDay.d.ts.map +1 -0
- package/dist/value-objects/time/CalendarDay.js.map +1 -0
- package/dist/value-objects/time/Day.d.ts.map +1 -0
- package/dist/value-objects/time/Day.js.map +1 -0
- package/dist/value-objects/time/DayOfWeek.d.ts.map +1 -0
- package/dist/value-objects/time/DayOfWeek.js.map +1 -0
- package/dist/value-objects/time/Duration.d.ts.map +1 -0
- package/dist/value-objects/time/Duration.js.map +1 -0
- package/dist/value-objects/time/Hour.d.ts.map +1 -0
- package/dist/value-objects/time/Hour.js.map +1 -0
- package/dist/value-objects/time/Month.d.ts.map +1 -0
- package/dist/value-objects/time/Month.js.map +1 -0
- package/dist/value-objects/time/MonthOfYear.d.ts.map +1 -0
- package/dist/value-objects/time/MonthOfYear.js.map +1 -0
- package/dist/value-objects/time/Timestamp.d.ts.map +1 -0
- package/dist/value-objects/time/Timestamp.js.map +1 -0
- package/dist/value-objects/time/TimestampInterval.d.ts.map +1 -0
- package/dist/value-objects/time/TimestampInterval.js.map +1 -0
- package/dist/value-objects/time/Year.d.ts.map +1 -0
- package/dist/value-objects/time/Year.js.map +1 -0
- package/dist/value-objects/time/index.d.ts.map +1 -0
- package/dist/value-objects/time/index.js.map +1 -0
- package/package.json +1 -1
- package/dist/src/errors/BaseError.d.ts.map +0 -1
- package/dist/src/errors/BaseError.js.map +0 -1
- package/dist/src/errors/DomainError.d.ts.map +0 -1
- package/dist/src/errors/DomainError.js.map +0 -1
- package/dist/src/errors/InvalidColorError.d.ts.map +0 -1
- package/dist/src/errors/InvalidColorError.js.map +0 -1
- package/dist/src/errors/InvalidDayError.d.ts.map +0 -1
- package/dist/src/errors/InvalidDayError.js.map +0 -1
- package/dist/src/errors/InvalidDayFormatError.d.ts.map +0 -1
- package/dist/src/errors/InvalidDayFormatError.js.map +0 -1
- package/dist/src/errors/InvalidEmailError.d.ts.map +0 -1
- package/dist/src/errors/InvalidEmailError.js.map +0 -1
- package/dist/src/errors/InvalidFormatError.d.ts.map +0 -1
- package/dist/src/errors/InvalidFormatError.js.map +0 -1
- package/dist/src/errors/InvalidHashError.d.ts.map +0 -1
- package/dist/src/errors/InvalidHashError.js.map +0 -1
- package/dist/src/errors/InvalidHourError.d.ts.map +0 -1
- package/dist/src/errors/InvalidHourError.js.map +0 -1
- package/dist/src/errors/InvalidIntegerError.d.ts.map +0 -1
- package/dist/src/errors/InvalidIntegerError.js.map +0 -1
- package/dist/src/errors/InvalidLatitudeError.d.ts.map +0 -1
- package/dist/src/errors/InvalidLatitudeError.js.map +0 -1
- package/dist/src/errors/InvalidLengthError.d.ts.map +0 -1
- package/dist/src/errors/InvalidLengthError.js.map +0 -1
- package/dist/src/errors/InvalidLongitudeError.d.ts.map +0 -1
- package/dist/src/errors/InvalidLongitudeError.js.map +0 -1
- package/dist/src/errors/InvalidMinutesError.d.ts.map +0 -1
- package/dist/src/errors/InvalidMinutesError.js.map +0 -1
- package/dist/src/errors/InvalidNumberError.d.ts.map +0 -1
- package/dist/src/errors/InvalidNumberError.js.map +0 -1
- package/dist/src/errors/InvalidPositiveNumberError.d.ts.map +0 -1
- package/dist/src/errors/InvalidPositiveNumberError.js.map +0 -1
- package/dist/src/errors/InvalidStringLengthError.d.ts.map +0 -1
- package/dist/src/errors/InvalidStringLengthError.js.map +0 -1
- package/dist/src/errors/InvalidTimestampIntervalError.d.ts.map +0 -1
- package/dist/src/errors/InvalidTimestampIntervalError.js.map +0 -1
- package/dist/src/errors/InvalidValueError.d.ts.map +0 -1
- package/dist/src/errors/InvalidValueError.js.map +0 -1
- package/dist/src/errors/NullObjectError.d.ts.map +0 -1
- package/dist/src/errors/NullObjectError.js.map +0 -1
- package/dist/src/errors/ValueNotInEnumError.d.ts.map +0 -1
- package/dist/src/errors/ValueNotInEnumError.js.map +0 -1
- package/dist/src/errors/index.d.ts.map +0 -1
- package/dist/src/errors/index.js.map +0 -1
- package/dist/src/index.d.ts.map +0 -1
- package/dist/src/index.js.map +0 -1
- package/dist/src/interfaces/PrimitiveOf.d.ts.map +0 -1
- package/dist/src/interfaces/PrimitiveOf.js.map +0 -1
- package/dist/src/interfaces/index.d.ts.map +0 -1
- package/dist/src/interfaces/index.js.map +0 -1
- package/dist/src/patterns/Assert.d.ts.map +0 -1
- package/dist/src/patterns/Assert.js.map +0 -1
- package/dist/src/patterns/index.d.ts.map +0 -1
- package/dist/src/patterns/index.js.map +0 -1
- package/dist/src/types/Nullish.d.ts.map +0 -1
- package/dist/src/types/Primitive.d.ts.map +0 -1
- package/dist/src/types/index.d.ts.map +0 -1
- package/dist/src/types/index.js.map +0 -1
- package/dist/src/value-objects/Color.d.ts.map +0 -1
- package/dist/src/value-objects/Color.js.map +0 -1
- package/dist/src/value-objects/Email.d.ts.map +0 -1
- package/dist/src/value-objects/Email.js.map +0 -1
- package/dist/src/value-objects/Enum.d.ts.map +0 -1
- package/dist/src/value-objects/Enum.js.map +0 -1
- package/dist/src/value-objects/Integer.d.ts.map +0 -1
- package/dist/src/value-objects/Integer.js.map +0 -1
- package/dist/src/value-objects/NullObject.d.ts.map +0 -1
- package/dist/src/value-objects/NullObject.js.map +0 -1
- package/dist/src/value-objects/NumberValueObject.d.ts.map +0 -1
- package/dist/src/value-objects/NumberValueObject.js.map +0 -1
- package/dist/src/value-objects/PositiveNumber.d.ts.map +0 -1
- package/dist/src/value-objects/PositiveNumber.js.map +0 -1
- package/dist/src/value-objects/StringValueObject.d.ts.map +0 -1
- package/dist/src/value-objects/StringValueObject.js.map +0 -1
- package/dist/src/value-objects/ValueObject.d.ts.map +0 -1
- package/dist/src/value-objects/ValueObject.js.map +0 -1
- package/dist/src/value-objects/coordinates/Coordinates.d.ts.map +0 -1
- package/dist/src/value-objects/coordinates/Coordinates.js.map +0 -1
- package/dist/src/value-objects/coordinates/Latitude.d.ts.map +0 -1
- package/dist/src/value-objects/coordinates/Latitude.js.map +0 -1
- package/dist/src/value-objects/coordinates/Longitude.d.ts.map +0 -1
- package/dist/src/value-objects/coordinates/Longitude.js.map +0 -1
- package/dist/src/value-objects/coordinates/index.d.ts.map +0 -1
- package/dist/src/value-objects/coordinates/index.js.map +0 -1
- package/dist/src/value-objects/hashes/Hash.d.ts.map +0 -1
- package/dist/src/value-objects/hashes/Hash.js.map +0 -1
- package/dist/src/value-objects/hashes/MD5Hash.d.ts.map +0 -1
- package/dist/src/value-objects/hashes/MD5Hash.js.map +0 -1
- package/dist/src/value-objects/hashes/SHA256Hash.d.ts.map +0 -1
- package/dist/src/value-objects/hashes/SHA256Hash.js.map +0 -1
- package/dist/src/value-objects/hashes/SHA512Hash.d.ts.map +0 -1
- package/dist/src/value-objects/hashes/SHA512Hash.js.map +0 -1
- package/dist/src/value-objects/hashes/index.d.ts.map +0 -1
- package/dist/src/value-objects/hashes/index.js.map +0 -1
- package/dist/src/value-objects/ids/ShortId.d.ts.map +0 -1
- package/dist/src/value-objects/ids/ShortId.js.map +0 -1
- package/dist/src/value-objects/ids/UUID.d.ts.map +0 -1
- package/dist/src/value-objects/ids/UUID.js.map +0 -1
- package/dist/src/value-objects/ids/index.d.ts.map +0 -1
- package/dist/src/value-objects/ids/index.js.map +0 -1
- package/dist/src/value-objects/index.d.ts.map +0 -1
- package/dist/src/value-objects/index.js.map +0 -1
- package/dist/src/value-objects/time/CalendarDay.d.ts.map +0 -1
- package/dist/src/value-objects/time/CalendarDay.js.map +0 -1
- package/dist/src/value-objects/time/Day.d.ts.map +0 -1
- package/dist/src/value-objects/time/Day.js.map +0 -1
- package/dist/src/value-objects/time/DayOfWeek.d.ts.map +0 -1
- package/dist/src/value-objects/time/DayOfWeek.js.map +0 -1
- package/dist/src/value-objects/time/Duration.d.ts.map +0 -1
- package/dist/src/value-objects/time/Duration.js.map +0 -1
- package/dist/src/value-objects/time/Hour.d.ts.map +0 -1
- package/dist/src/value-objects/time/Hour.js.map +0 -1
- package/dist/src/value-objects/time/Month.d.ts.map +0 -1
- package/dist/src/value-objects/time/Month.js.map +0 -1
- package/dist/src/value-objects/time/MonthOfYear.d.ts.map +0 -1
- package/dist/src/value-objects/time/MonthOfYear.js.map +0 -1
- package/dist/src/value-objects/time/Timestamp.d.ts.map +0 -1
- package/dist/src/value-objects/time/Timestamp.js.map +0 -1
- package/dist/src/value-objects/time/TimestampInterval.d.ts.map +0 -1
- package/dist/src/value-objects/time/TimestampInterval.js.map +0 -1
- package/dist/src/value-objects/time/Year.d.ts.map +0 -1
- package/dist/src/value-objects/time/Year.js.map +0 -1
- package/dist/src/value-objects/time/index.d.ts.map +0 -1
- package/dist/src/value-objects/time/index.js.map +0 -1
- package/dist/tests/errors/BaseError.spec.d.ts +0 -2
- package/dist/tests/errors/BaseError.spec.d.ts.map +0 -1
- package/dist/tests/errors/BaseError.spec.js +0 -54
- package/dist/tests/errors/BaseError.spec.js.map +0 -1
- package/dist/tests/errors/DomainError.spec.d.ts +0 -2
- package/dist/tests/errors/DomainError.spec.d.ts.map +0 -1
- package/dist/tests/errors/DomainError.spec.js +0 -47
- package/dist/tests/errors/DomainError.spec.js.map +0 -1
- package/dist/tests/patterns/Assert.spec.d.ts +0 -2
- package/dist/tests/patterns/Assert.spec.d.ts.map +0 -1
- package/dist/tests/patterns/Assert.spec.js +0 -27
- package/dist/tests/patterns/Assert.spec.js.map +0 -1
- package/dist/tests/setup.jest.d.ts +0 -2
- package/dist/tests/setup.jest.d.ts.map +0 -1
- package/dist/tests/setup.jest.js +0 -6
- package/dist/tests/setup.jest.js.map +0 -1
- package/dist/tests/value-objects/Color.spec.d.ts +0 -2
- package/dist/tests/value-objects/Color.spec.d.ts.map +0 -1
- package/dist/tests/value-objects/Color.spec.js +0 -171
- package/dist/tests/value-objects/Color.spec.js.map +0 -1
- package/dist/tests/value-objects/Email.spec.d.ts +0 -2
- package/dist/tests/value-objects/Email.spec.d.ts.map +0 -1
- package/dist/tests/value-objects/Email.spec.js +0 -117
- package/dist/tests/value-objects/Email.spec.js.map +0 -1
- package/dist/tests/value-objects/Enum.spec.d.ts +0 -2
- package/dist/tests/value-objects/Enum.spec.d.ts.map +0 -1
- package/dist/tests/value-objects/Enum.spec.js +0 -233
- package/dist/tests/value-objects/Enum.spec.js.map +0 -1
- package/dist/tests/value-objects/Integer.spec.d.ts +0 -2
- package/dist/tests/value-objects/Integer.spec.d.ts.map +0 -1
- package/dist/tests/value-objects/Integer.spec.js +0 -31
- package/dist/tests/value-objects/Integer.spec.js.map +0 -1
- package/dist/tests/value-objects/NullObject.spec.d.ts +0 -2
- package/dist/tests/value-objects/NullObject.spec.d.ts.map +0 -1
- package/dist/tests/value-objects/NullObject.spec.js +0 -48
- package/dist/tests/value-objects/NullObject.spec.js.map +0 -1
- package/dist/tests/value-objects/NumberValueObject.spec.d.ts +0 -2
- package/dist/tests/value-objects/NumberValueObject.spec.d.ts.map +0 -1
- package/dist/tests/value-objects/NumberValueObject.spec.js +0 -333
- package/dist/tests/value-objects/NumberValueObject.spec.js.map +0 -1
- package/dist/tests/value-objects/PositiveNumber.spec.d.ts +0 -2
- package/dist/tests/value-objects/PositiveNumber.spec.d.ts.map +0 -1
- package/dist/tests/value-objects/PositiveNumber.spec.js +0 -209
- package/dist/tests/value-objects/PositiveNumber.spec.js.map +0 -1
- package/dist/tests/value-objects/StringValueObject.spec.d.ts +0 -2
- package/dist/tests/value-objects/StringValueObject.spec.d.ts.map +0 -1
- package/dist/tests/value-objects/StringValueObject.spec.js +0 -104
- package/dist/tests/value-objects/StringValueObject.spec.js.map +0 -1
- package/dist/tests/value-objects/coordinates/Coordinates.spec.d.ts +0 -2
- package/dist/tests/value-objects/coordinates/Coordinates.spec.d.ts.map +0 -1
- package/dist/tests/value-objects/coordinates/Coordinates.spec.js +0 -76
- package/dist/tests/value-objects/coordinates/Coordinates.spec.js.map +0 -1
- package/dist/tests/value-objects/coordinates/Latitude.spec.d.ts +0 -2
- package/dist/tests/value-objects/coordinates/Latitude.spec.d.ts.map +0 -1
- package/dist/tests/value-objects/coordinates/Latitude.spec.js +0 -23
- package/dist/tests/value-objects/coordinates/Latitude.spec.js.map +0 -1
- package/dist/tests/value-objects/coordinates/Longitude.spec.d.ts +0 -2
- package/dist/tests/value-objects/coordinates/Longitude.spec.d.ts.map +0 -1
- package/dist/tests/value-objects/coordinates/Longitude.spec.js +0 -23
- package/dist/tests/value-objects/coordinates/Longitude.spec.js.map +0 -1
- package/dist/tests/value-objects/hashes/Hashes.spec.d.ts +0 -2
- package/dist/tests/value-objects/hashes/Hashes.spec.d.ts.map +0 -1
- package/dist/tests/value-objects/hashes/Hashes.spec.js +0 -107
- package/dist/tests/value-objects/hashes/Hashes.spec.js.map +0 -1
- package/dist/tests/value-objects/hashes/MD5Hash.spec.d.ts +0 -2
- package/dist/tests/value-objects/hashes/MD5Hash.spec.d.ts.map +0 -1
- package/dist/tests/value-objects/hashes/MD5Hash.spec.js +0 -147
- package/dist/tests/value-objects/hashes/MD5Hash.spec.js.map +0 -1
- package/dist/tests/value-objects/hashes/SHA256Hash.spec.d.ts +0 -2
- package/dist/tests/value-objects/hashes/SHA256Hash.spec.d.ts.map +0 -1
- package/dist/tests/value-objects/hashes/SHA256Hash.spec.js +0 -147
- package/dist/tests/value-objects/hashes/SHA256Hash.spec.js.map +0 -1
- package/dist/tests/value-objects/hashes/SHA512Hash.spec.d.ts +0 -2
- package/dist/tests/value-objects/hashes/SHA512Hash.spec.d.ts.map +0 -1
- package/dist/tests/value-objects/hashes/SHA512Hash.spec.js +0 -147
- package/dist/tests/value-objects/hashes/SHA512Hash.spec.js.map +0 -1
- package/dist/tests/value-objects/ids/ShortId.spec.d.ts +0 -2
- package/dist/tests/value-objects/ids/ShortId.spec.d.ts.map +0 -1
- package/dist/tests/value-objects/ids/ShortId.spec.js +0 -30
- package/dist/tests/value-objects/ids/ShortId.spec.js.map +0 -1
- package/dist/tests/value-objects/ids/UUID.spec.d.ts +0 -2
- package/dist/tests/value-objects/ids/UUID.spec.d.ts.map +0 -1
- package/dist/tests/value-objects/ids/UUID.spec.js +0 -30
- package/dist/tests/value-objects/ids/UUID.spec.js.map +0 -1
- package/dist/tests/value-objects/time/CalendarDay.spec.d.ts +0 -2
- package/dist/tests/value-objects/time/CalendarDay.spec.d.ts.map +0 -1
- package/dist/tests/value-objects/time/CalendarDay.spec.js +0 -149
- package/dist/tests/value-objects/time/CalendarDay.spec.js.map +0 -1
- package/dist/tests/value-objects/time/Day.spec.d.ts +0 -2
- package/dist/tests/value-objects/time/Day.spec.d.ts.map +0 -1
- package/dist/tests/value-objects/time/Day.spec.js +0 -28
- package/dist/tests/value-objects/time/Day.spec.js.map +0 -1
- package/dist/tests/value-objects/time/DayOfWeek.spec.d.ts +0 -2
- package/dist/tests/value-objects/time/DayOfWeek.spec.d.ts.map +0 -1
- package/dist/tests/value-objects/time/DayOfWeek.spec.js +0 -44
- package/dist/tests/value-objects/time/DayOfWeek.spec.js.map +0 -1
- package/dist/tests/value-objects/time/Duration.spec.d.ts +0 -2
- package/dist/tests/value-objects/time/Duration.spec.d.ts.map +0 -1
- package/dist/tests/value-objects/time/Duration.spec.js +0 -255
- package/dist/tests/value-objects/time/Duration.spec.js.map +0 -1
- package/dist/tests/value-objects/time/Hour.spec.d.ts +0 -2
- package/dist/tests/value-objects/time/Hour.spec.d.ts.map +0 -1
- package/dist/tests/value-objects/time/Hour.spec.js +0 -168
- package/dist/tests/value-objects/time/Hour.spec.js.map +0 -1
- package/dist/tests/value-objects/time/MonthOfYear.spec.d.ts +0 -2
- package/dist/tests/value-objects/time/MonthOfYear.spec.d.ts.map +0 -1
- package/dist/tests/value-objects/time/MonthOfYear.spec.js +0 -93
- package/dist/tests/value-objects/time/MonthOfYear.spec.js.map +0 -1
- package/dist/tests/value-objects/time/Timestamp.spec.d.ts +0 -2
- package/dist/tests/value-objects/time/Timestamp.spec.d.ts.map +0 -1
- package/dist/tests/value-objects/time/Timestamp.spec.js +0 -391
- package/dist/tests/value-objects/time/Timestamp.spec.js.map +0 -1
- package/dist/tests/value-objects/time/TimestampInterval.spec.d.ts +0 -2
- package/dist/tests/value-objects/time/TimestampInterval.spec.d.ts.map +0 -1
- package/dist/tests/value-objects/time/TimestampInterval.spec.js +0 -270
- package/dist/tests/value-objects/time/TimestampInterval.spec.js.map +0 -1
- package/dist/tests/value-objects/time/Year.spec.d.ts +0 -2
- package/dist/tests/value-objects/time/Year.spec.d.ts.map +0 -1
- package/dist/tests/value-objects/time/Year.spec.js +0 -41
- package/dist/tests/value-objects/time/Year.spec.js.map +0 -1
- /package/dist/{src/errors → errors}/BaseError.d.ts +0 -0
- /package/dist/{src/errors → errors}/BaseError.js +0 -0
- /package/dist/{src/errors → errors}/DomainError.d.ts +0 -0
- /package/dist/{src/errors → errors}/DomainError.js +0 -0
- /package/dist/{src/errors → errors}/InvalidColorError.d.ts +0 -0
- /package/dist/{src/errors → errors}/InvalidColorError.js +0 -0
- /package/dist/{src/errors → errors}/InvalidDayError.d.ts +0 -0
- /package/dist/{src/errors → errors}/InvalidDayError.js +0 -0
- /package/dist/{src/errors → errors}/InvalidDayFormatError.d.ts +0 -0
- /package/dist/{src/errors → errors}/InvalidDayFormatError.js +0 -0
- /package/dist/{src/errors → errors}/InvalidEmailError.d.ts +0 -0
- /package/dist/{src/errors → errors}/InvalidEmailError.js +0 -0
- /package/dist/{src/errors → errors}/InvalidFormatError.d.ts +0 -0
- /package/dist/{src/errors → errors}/InvalidFormatError.js +0 -0
- /package/dist/{src/errors → errors}/InvalidHashError.d.ts +0 -0
- /package/dist/{src/errors → errors}/InvalidHashError.js +0 -0
- /package/dist/{src/errors → errors}/InvalidHourError.d.ts +0 -0
- /package/dist/{src/errors → errors}/InvalidHourError.js +0 -0
- /package/dist/{src/errors → errors}/InvalidIntegerError.d.ts +0 -0
- /package/dist/{src/errors → errors}/InvalidIntegerError.js +0 -0
- /package/dist/{src/errors → errors}/InvalidLatitudeError.d.ts +0 -0
- /package/dist/{src/errors → errors}/InvalidLatitudeError.js +0 -0
- /package/dist/{src/errors → errors}/InvalidLengthError.d.ts +0 -0
- /package/dist/{src/errors → errors}/InvalidLengthError.js +0 -0
- /package/dist/{src/errors → errors}/InvalidLongitudeError.d.ts +0 -0
- /package/dist/{src/errors → errors}/InvalidLongitudeError.js +0 -0
- /package/dist/{src/errors → errors}/InvalidMinutesError.d.ts +0 -0
- /package/dist/{src/errors → errors}/InvalidMinutesError.js +0 -0
- /package/dist/{src/errors → errors}/InvalidNumberError.d.ts +0 -0
- /package/dist/{src/errors → errors}/InvalidNumberError.js +0 -0
- /package/dist/{src/errors → errors}/InvalidPositiveNumberError.d.ts +0 -0
- /package/dist/{src/errors → errors}/InvalidPositiveNumberError.js +0 -0
- /package/dist/{src/errors → errors}/InvalidStringLengthError.d.ts +0 -0
- /package/dist/{src/errors → errors}/InvalidStringLengthError.js +0 -0
- /package/dist/{src/errors → errors}/InvalidTimestampIntervalError.d.ts +0 -0
- /package/dist/{src/errors → errors}/InvalidTimestampIntervalError.js +0 -0
- /package/dist/{src/errors → errors}/InvalidValueError.d.ts +0 -0
- /package/dist/{src/errors → errors}/InvalidValueError.js +0 -0
- /package/dist/{src/errors → errors}/NullObjectError.d.ts +0 -0
- /package/dist/{src/errors → errors}/NullObjectError.js +0 -0
- /package/dist/{src/errors → errors}/ValueNotInEnumError.d.ts +0 -0
- /package/dist/{src/errors → errors}/ValueNotInEnumError.js +0 -0
- /package/dist/{src/errors → errors}/index.d.ts +0 -0
- /package/dist/{src/errors → errors}/index.js +0 -0
- /package/dist/{src/index.d.ts → index.d.ts} +0 -0
- /package/dist/{src/index.js → index.js} +0 -0
- /package/dist/{src/interfaces → interfaces}/PrimitiveOf.d.ts +0 -0
- /package/dist/{src/interfaces → interfaces}/PrimitiveOf.js +0 -0
- /package/dist/{src/interfaces → interfaces}/index.d.ts +0 -0
- /package/dist/{src/interfaces → interfaces}/index.js +0 -0
- /package/dist/{src/patterns → patterns}/Assert.d.ts +0 -0
- /package/dist/{src/patterns → patterns}/Assert.js +0 -0
- /package/dist/{src/patterns → patterns}/index.d.ts +0 -0
- /package/dist/{src/patterns → patterns}/index.js +0 -0
- /package/dist/{src/types → types}/Nullish.d.ts +0 -0
- /package/dist/{src/types → types}/Nullish.js +0 -0
- /package/dist/{src/types → types}/Primitive.d.ts +0 -0
- /package/dist/{src/types → types}/Primitive.js +0 -0
- /package/dist/{src/types → types}/index.d.ts +0 -0
- /package/dist/{src/types → types}/index.js +0 -0
- /package/dist/{src/value-objects → value-objects}/Color.d.ts +0 -0
- /package/dist/{src/value-objects → value-objects}/Color.js +0 -0
- /package/dist/{src/value-objects → value-objects}/Email.d.ts +0 -0
- /package/dist/{src/value-objects → value-objects}/Email.js +0 -0
- /package/dist/{src/value-objects → value-objects}/Enum.d.ts +0 -0
- /package/dist/{src/value-objects → value-objects}/Enum.js +0 -0
- /package/dist/{src/value-objects → value-objects}/Integer.d.ts +0 -0
- /package/dist/{src/value-objects → value-objects}/Integer.js +0 -0
- /package/dist/{src/value-objects → value-objects}/NullObject.d.ts +0 -0
- /package/dist/{src/value-objects → value-objects}/NullObject.js +0 -0
- /package/dist/{src/value-objects → value-objects}/NumberValueObject.d.ts +0 -0
- /package/dist/{src/value-objects → value-objects}/NumberValueObject.js +0 -0
- /package/dist/{src/value-objects → value-objects}/PositiveNumber.d.ts +0 -0
- /package/dist/{src/value-objects → value-objects}/PositiveNumber.js +0 -0
- /package/dist/{src/value-objects → value-objects}/StringValueObject.d.ts +0 -0
- /package/dist/{src/value-objects → value-objects}/StringValueObject.js +0 -0
- /package/dist/{src/value-objects → value-objects}/ValueObject.d.ts +0 -0
- /package/dist/{src/value-objects → value-objects}/ValueObject.js +0 -0
- /package/dist/{src/value-objects → value-objects}/coordinates/Coordinates.d.ts +0 -0
- /package/dist/{src/value-objects → value-objects}/coordinates/Coordinates.js +0 -0
- /package/dist/{src/value-objects → value-objects}/coordinates/Latitude.d.ts +0 -0
- /package/dist/{src/value-objects → value-objects}/coordinates/Latitude.js +0 -0
- /package/dist/{src/value-objects → value-objects}/coordinates/Longitude.d.ts +0 -0
- /package/dist/{src/value-objects → value-objects}/coordinates/Longitude.js +0 -0
- /package/dist/{src/value-objects → value-objects}/coordinates/index.d.ts +0 -0
- /package/dist/{src/value-objects → value-objects}/coordinates/index.js +0 -0
- /package/dist/{src/value-objects → value-objects}/hashes/Hash.d.ts +0 -0
- /package/dist/{src/value-objects → value-objects}/hashes/Hash.js +0 -0
- /package/dist/{src/value-objects → value-objects}/hashes/MD5Hash.d.ts +0 -0
- /package/dist/{src/value-objects → value-objects}/hashes/MD5Hash.js +0 -0
- /package/dist/{src/value-objects → value-objects}/hashes/SHA256Hash.d.ts +0 -0
- /package/dist/{src/value-objects → value-objects}/hashes/SHA256Hash.js +0 -0
- /package/dist/{src/value-objects → value-objects}/hashes/SHA512Hash.d.ts +0 -0
- /package/dist/{src/value-objects → value-objects}/hashes/SHA512Hash.js +0 -0
- /package/dist/{src/value-objects → value-objects}/hashes/index.d.ts +0 -0
- /package/dist/{src/value-objects → value-objects}/hashes/index.js +0 -0
- /package/dist/{src/value-objects → value-objects}/ids/ShortId.d.ts +0 -0
- /package/dist/{src/value-objects → value-objects}/ids/ShortId.js +0 -0
- /package/dist/{src/value-objects → value-objects}/ids/UUID.d.ts +0 -0
- /package/dist/{src/value-objects → value-objects}/ids/UUID.js +0 -0
- /package/dist/{src/value-objects → value-objects}/ids/index.d.ts +0 -0
- /package/dist/{src/value-objects → value-objects}/ids/index.js +0 -0
- /package/dist/{src/value-objects → value-objects}/index.d.ts +0 -0
- /package/dist/{src/value-objects → value-objects}/index.js +0 -0
- /package/dist/{src/value-objects → value-objects}/time/CalendarDay.d.ts +0 -0
- /package/dist/{src/value-objects → value-objects}/time/CalendarDay.js +0 -0
- /package/dist/{src/value-objects → value-objects}/time/Day.d.ts +0 -0
- /package/dist/{src/value-objects → value-objects}/time/Day.js +0 -0
- /package/dist/{src/value-objects → value-objects}/time/DayOfWeek.d.ts +0 -0
- /package/dist/{src/value-objects → value-objects}/time/DayOfWeek.js +0 -0
- /package/dist/{src/value-objects → value-objects}/time/Duration.d.ts +0 -0
- /package/dist/{src/value-objects → value-objects}/time/Duration.js +0 -0
- /package/dist/{src/value-objects → value-objects}/time/Hour.d.ts +0 -0
- /package/dist/{src/value-objects → value-objects}/time/Hour.js +0 -0
- /package/dist/{src/value-objects → value-objects}/time/Month.d.ts +0 -0
- /package/dist/{src/value-objects → value-objects}/time/Month.js +0 -0
- /package/dist/{src/value-objects → value-objects}/time/MonthOfYear.d.ts +0 -0
- /package/dist/{src/value-objects → value-objects}/time/MonthOfYear.js +0 -0
- /package/dist/{src/value-objects → value-objects}/time/Timestamp.d.ts +0 -0
- /package/dist/{src/value-objects → value-objects}/time/Timestamp.js +0 -0
- /package/dist/{src/value-objects → value-objects}/time/TimestampInterval.d.ts +0 -0
- /package/dist/{src/value-objects → value-objects}/time/TimestampInterval.js +0 -0
- /package/dist/{src/value-objects → value-objects}/time/Year.d.ts +0 -0
- /package/dist/{src/value-objects → value-objects}/time/Year.js +0 -0
- /package/dist/{src/value-objects → value-objects}/time/index.d.ts +0 -0
- /package/dist/{src/value-objects → value-objects}/time/index.js +0 -0
|
@@ -1,233 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const src_1 = require("../../src");
|
|
4
|
-
class StringEnum extends src_1.Enum {
|
|
5
|
-
getValues() {
|
|
6
|
-
return ['A', 'B', 'C'];
|
|
7
|
-
}
|
|
8
|
-
}
|
|
9
|
-
class NumberEnum extends src_1.Enum {
|
|
10
|
-
getValues() {
|
|
11
|
-
return [1, 2, 3];
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
class MixedEnum extends src_1.Enum {
|
|
15
|
-
getValues() {
|
|
16
|
-
return ['1', 2];
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
var StatusEnum;
|
|
20
|
-
(function (StatusEnum) {
|
|
21
|
-
StatusEnum["ACTIVE"] = "active";
|
|
22
|
-
StatusEnum["INACTIVE"] = "inactive";
|
|
23
|
-
StatusEnum["PENDING"] = "pending";
|
|
24
|
-
})(StatusEnum || (StatusEnum = {}));
|
|
25
|
-
class Status extends src_1.Enum {
|
|
26
|
-
getValues() {
|
|
27
|
-
return Object.values(StatusEnum);
|
|
28
|
-
}
|
|
29
|
-
// Static factory methods for convenience
|
|
30
|
-
static ACTIVE = () => new Status(StatusEnum.ACTIVE);
|
|
31
|
-
static INACTIVE = () => new Status(StatusEnum.INACTIVE);
|
|
32
|
-
static PENDING = () => new Status(StatusEnum.PENDING);
|
|
33
|
-
}
|
|
34
|
-
describe('Enum', () => {
|
|
35
|
-
describe('constructor', () => {
|
|
36
|
-
it('should return a Null when a Nullish is received', () => {
|
|
37
|
-
expect(() => new StringEnum(undefined)).not.toThrow();
|
|
38
|
-
expect(src_1.NullObject.isNullObject(new StringEnum(undefined))).toBeTrue();
|
|
39
|
-
expect(src_1.NullObject.isNullObject(new StringEnum(null))).toBeTrue();
|
|
40
|
-
});
|
|
41
|
-
it('should accept valid string enum values', () => {
|
|
42
|
-
expect(() => new StringEnum('A')).not.toThrow();
|
|
43
|
-
expect(() => new StringEnum('B')).not.toThrow();
|
|
44
|
-
expect(() => new StringEnum('C')).not.toThrow();
|
|
45
|
-
const enumValue = new StringEnum('A');
|
|
46
|
-
expect(enumValue.valueOf()).toBe('A');
|
|
47
|
-
expect(enumValue.toString()).toBe('A');
|
|
48
|
-
});
|
|
49
|
-
it('should accept valid number enum values', () => {
|
|
50
|
-
expect(() => new NumberEnum(1)).not.toThrow();
|
|
51
|
-
expect(() => new NumberEnum(2)).not.toThrow();
|
|
52
|
-
expect(() => new NumberEnum(3)).not.toThrow();
|
|
53
|
-
const enumValue = new NumberEnum(2);
|
|
54
|
-
expect(enumValue.valueOf()).toBe(2);
|
|
55
|
-
expect(enumValue.toString()).toBe('2');
|
|
56
|
-
});
|
|
57
|
-
it('should accept valid mixed enum values', () => {
|
|
58
|
-
expect(() => new MixedEnum('1')).not.toThrow();
|
|
59
|
-
expect(() => new MixedEnum(2)).not.toThrow();
|
|
60
|
-
const stringValue = new MixedEnum('1');
|
|
61
|
-
const numberValue = new MixedEnum(2);
|
|
62
|
-
expect(stringValue.valueOf()).toBe('1');
|
|
63
|
-
expect(numberValue.valueOf()).toBe(2);
|
|
64
|
-
});
|
|
65
|
-
it('should reject invalid string enum values', () => {
|
|
66
|
-
expect(() => new StringEnum('D')).toThrow(src_1.ValueNotInEnumError);
|
|
67
|
-
expect(() => new StringEnum('X')).toThrow(src_1.ValueNotInEnumError);
|
|
68
|
-
expect(() => new StringEnum('')).toThrow(src_1.ValueNotInEnumError);
|
|
69
|
-
});
|
|
70
|
-
it('should reject invalid number enum values', () => {
|
|
71
|
-
expect(() => new NumberEnum(0)).toThrow(src_1.ValueNotInEnumError);
|
|
72
|
-
expect(() => new NumberEnum(4)).toThrow(src_1.ValueNotInEnumError);
|
|
73
|
-
expect(() => new NumberEnum(-1)).toThrow(src_1.ValueNotInEnumError);
|
|
74
|
-
});
|
|
75
|
-
it('should reject invalid mixed enum values', () => {
|
|
76
|
-
expect(() => new MixedEnum('2')).toThrow(src_1.ValueNotInEnumError);
|
|
77
|
-
expect(() => new MixedEnum(1)).toThrow(src_1.ValueNotInEnumError);
|
|
78
|
-
expect(() => new MixedEnum('invalid')).toThrow(src_1.ValueNotInEnumError);
|
|
79
|
-
});
|
|
80
|
-
it('should work with TypeScript enum values', () => {
|
|
81
|
-
expect(() => new Status(StatusEnum.ACTIVE)).not.toThrow();
|
|
82
|
-
expect(() => new Status('active')).not.toThrow();
|
|
83
|
-
expect(() => new Status('inactive')).not.toThrow();
|
|
84
|
-
expect(() => new Status('pending')).not.toThrow();
|
|
85
|
-
const status = new Status(StatusEnum.ACTIVE);
|
|
86
|
-
expect(status.valueOf()).toBe('active');
|
|
87
|
-
});
|
|
88
|
-
it('should reject invalid TypeScript enum values', () => {
|
|
89
|
-
expect(() => new Status('unknown')).toThrow(src_1.ValueNotInEnumError);
|
|
90
|
-
expect(() => new Status('ACTIVE')).toThrow(src_1.ValueNotInEnumError); // Case sensitive
|
|
91
|
-
});
|
|
92
|
-
});
|
|
93
|
-
describe('inheritance and behavior', () => {
|
|
94
|
-
it('should inherit from ', () => {
|
|
95
|
-
const enumValue = new StringEnum('A');
|
|
96
|
-
expect(enumValue).toBeInstanceOf(StringEnum);
|
|
97
|
-
expect(enumValue).toBeInstanceOf(src_1.Enum);
|
|
98
|
-
expect(enumValue.valueOf).toBeDefined();
|
|
99
|
-
expect(enumValue.isEqual).toBeDefined();
|
|
100
|
-
expect(enumValue.toString).toBeDefined();
|
|
101
|
-
});
|
|
102
|
-
it('should implement valueOf() method correctly', () => {
|
|
103
|
-
const stringEnum = new StringEnum('B');
|
|
104
|
-
const numberEnum = new NumberEnum(2);
|
|
105
|
-
expect(stringEnum.valueOf()).toBe('B');
|
|
106
|
-
expect(numberEnum.valueOf()).toBe(2);
|
|
107
|
-
});
|
|
108
|
-
it('should implement toString() method correctly from ', () => {
|
|
109
|
-
const stringEnum = new StringEnum('C');
|
|
110
|
-
const numberEnum = new NumberEnum(3);
|
|
111
|
-
expect(stringEnum.toString()).toBe('C');
|
|
112
|
-
expect(numberEnum.toString()).toBe('3');
|
|
113
|
-
});
|
|
114
|
-
it('should implement isEqual() method correctly', () => {
|
|
115
|
-
const enum1 = new StringEnum('A');
|
|
116
|
-
const enum2 = new StringEnum('A');
|
|
117
|
-
const enum3 = new StringEnum('B');
|
|
118
|
-
expect(enum1.isEqual(enum2)).toBeTrue();
|
|
119
|
-
expect(enum1.isEqual(enum3)).toBeFalse();
|
|
120
|
-
expect(enum1.isEqual('A')).toBeTrue();
|
|
121
|
-
expect(enum1.isEqual('B')).toBeFalse();
|
|
122
|
-
});
|
|
123
|
-
it('should compare with primitive values using isEqual', () => {
|
|
124
|
-
const stringEnum = new StringEnum('A');
|
|
125
|
-
const numberEnum = new NumberEnum(1);
|
|
126
|
-
expect(stringEnum.isEqual('A')).toBeTrue();
|
|
127
|
-
expect(stringEnum.isEqual('B')).toBeFalse();
|
|
128
|
-
expect(numberEnum.isEqual(1)).toBeTrue();
|
|
129
|
-
expect(numberEnum.isEqual(2)).toBeFalse();
|
|
130
|
-
});
|
|
131
|
-
it('should implement clone() method correctly', () => {
|
|
132
|
-
const original = new StringEnum('B');
|
|
133
|
-
const cloned = original.clone();
|
|
134
|
-
expect(cloned).toBeInstanceOf(StringEnum);
|
|
135
|
-
expect(cloned).toBeInstanceOf(src_1.Enum);
|
|
136
|
-
expect(cloned.valueOf()).toBe('B');
|
|
137
|
-
expect(cloned.toString()).toBe('B');
|
|
138
|
-
expect(cloned.isEqual(original)).toBeTrue();
|
|
139
|
-
expect(cloned).not.toBe(original); // Different instances
|
|
140
|
-
});
|
|
141
|
-
it('should maintain enum validation in cloned instances', () => {
|
|
142
|
-
const original = new NumberEnum(3);
|
|
143
|
-
const cloned = original.clone();
|
|
144
|
-
expect(cloned).toBeInstanceOf(NumberEnum);
|
|
145
|
-
expect(cloned.valueOf()).toBe(3);
|
|
146
|
-
// Cloned instance should still be a valid enum value
|
|
147
|
-
expect(() => cloned.toString()).not.toThrow();
|
|
148
|
-
expect(cloned.toString()).toBe('3');
|
|
149
|
-
});
|
|
150
|
-
});
|
|
151
|
-
describe('immutability', () => {
|
|
152
|
-
it('should have immutable value property inherited from ', () => {
|
|
153
|
-
const enumValue = new StringEnum('A');
|
|
154
|
-
// Verify immutability through value consistency
|
|
155
|
-
expect(enumValue.valueOf()).toBe('A');
|
|
156
|
-
expect(enumValue.value).toBe('A');
|
|
157
|
-
const originalValue = enumValue.valueOf();
|
|
158
|
-
expect(originalValue).toBe('A');
|
|
159
|
-
});
|
|
160
|
-
it('should return the same value after creation', () => {
|
|
161
|
-
const originalValue = 'B';
|
|
162
|
-
const enumValue = new StringEnum(originalValue);
|
|
163
|
-
expect(enumValue.valueOf()).toBe(originalValue);
|
|
164
|
-
expect(enumValue.toString()).toBe(originalValue);
|
|
165
|
-
// Value should remain the same
|
|
166
|
-
expect(enumValue.valueOf()).toBe(originalValue);
|
|
167
|
-
});
|
|
168
|
-
it('should create new instances instead of modifying existing ones', () => {
|
|
169
|
-
const value1 = 'A';
|
|
170
|
-
const value2 = 'C';
|
|
171
|
-
const enum1 = new StringEnum(value1);
|
|
172
|
-
const enum2 = new StringEnum(value2);
|
|
173
|
-
expect(enum1.valueOf()).toBe(value1);
|
|
174
|
-
expect(enum2.valueOf()).toBe(value2);
|
|
175
|
-
expect(enum1.valueOf()).not.toBe(enum2.valueOf());
|
|
176
|
-
});
|
|
177
|
-
it('should maintain immutability when cloning', () => {
|
|
178
|
-
const original = new NumberEnum(2);
|
|
179
|
-
const cloned = original.clone();
|
|
180
|
-
expect(original.valueOf()).toBe(2);
|
|
181
|
-
expect(cloned.valueOf()).toBe(2);
|
|
182
|
-
expect(original.isEqual(cloned)).toBeTrue();
|
|
183
|
-
expect(original).not.toBe(cloned);
|
|
184
|
-
// Both should remain immutable
|
|
185
|
-
expect(original.valueOf()).toBe(2);
|
|
186
|
-
expect(cloned.valueOf()).toBe(2);
|
|
187
|
-
});
|
|
188
|
-
});
|
|
189
|
-
describe('enum validation', () => {
|
|
190
|
-
it('should validate against the defined enum values', () => {
|
|
191
|
-
const stringEnum = new StringEnum('A');
|
|
192
|
-
expect(stringEnum.valueOf()).toBe('A');
|
|
193
|
-
// Should be one of ['A', 'B', 'C']
|
|
194
|
-
expect(['A', 'B', 'C']).toContain(stringEnum.valueOf());
|
|
195
|
-
});
|
|
196
|
-
it('should provide meaningful error messages for invalid values', () => {
|
|
197
|
-
expect(() => new StringEnum('D')).toThrow(/enum does not include value: D/);
|
|
198
|
-
expect(() => new NumberEnum(4)).toThrow(/enum does not include value: 4/);
|
|
199
|
-
});
|
|
200
|
-
it('should be case-sensitive for string enums', () => {
|
|
201
|
-
expect(() => new StringEnum('a')).toThrow(src_1.ValueNotInEnumError);
|
|
202
|
-
expect(() => new Status('ACTIVE')).toThrow(src_1.ValueNotInEnumError);
|
|
203
|
-
});
|
|
204
|
-
it('should handle type-sensitive validation for mixed enums', () => {
|
|
205
|
-
// '1' (string) is valid, but 1 (number) is not
|
|
206
|
-
expect(() => new MixedEnum('1')).not.toThrow();
|
|
207
|
-
expect(() => new MixedEnum(1)).toThrow(src_1.ValueNotInEnumError);
|
|
208
|
-
// 2 (number) is valid, but '2' (string) is not
|
|
209
|
-
expect(() => new MixedEnum(2)).not.toThrow();
|
|
210
|
-
expect(() => new MixedEnum('2')).toThrow(src_1.ValueNotInEnumError);
|
|
211
|
-
});
|
|
212
|
-
});
|
|
213
|
-
describe('static factory methods', () => {
|
|
214
|
-
it('should work with static factory methods for convenience', () => {
|
|
215
|
-
const activeStatus = Status.ACTIVE();
|
|
216
|
-
const inactiveStatus = Status.INACTIVE();
|
|
217
|
-
const pendingStatus = Status.PENDING();
|
|
218
|
-
expect(activeStatus.valueOf()).toBe('active');
|
|
219
|
-
expect(inactiveStatus.valueOf()).toBe('inactive');
|
|
220
|
-
expect(pendingStatus.valueOf()).toBe('pending');
|
|
221
|
-
expect(activeStatus).toBeInstanceOf(Status);
|
|
222
|
-
expect(inactiveStatus).toBeInstanceOf(Status);
|
|
223
|
-
expect(pendingStatus).toBeInstanceOf(Status);
|
|
224
|
-
});
|
|
225
|
-
it('should maintain equality with factory methods', () => {
|
|
226
|
-
const status1 = Status.ACTIVE();
|
|
227
|
-
const status2 = new Status('active');
|
|
228
|
-
expect(status1.isEqual(status2)).toBeTrue();
|
|
229
|
-
expect(status1.valueOf()).toBe(status2.valueOf());
|
|
230
|
-
});
|
|
231
|
-
});
|
|
232
|
-
});
|
|
233
|
-
//# sourceMappingURL=Enum.spec.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Enum.spec.js","sourceRoot":"","sources":["../../../tests/value-objects/Enum.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Integer.spec.d.ts","sourceRoot":"","sources":["../../../tests/value-objects/Integer.spec.ts"],"names":[],"mappings":""}
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const src_1 = require("../../src");
|
|
4
|
-
describe('Integer', () => {
|
|
5
|
-
it('should create an Integer for a valid integer', () => {
|
|
6
|
-
const value = 42;
|
|
7
|
-
const integer = new src_1.Integer(value);
|
|
8
|
-
expect(integer).toMatchObject({ value });
|
|
9
|
-
});
|
|
10
|
-
it('should throw InvalidIntegerError for a non-integer value', () => {
|
|
11
|
-
const value = 42.5;
|
|
12
|
-
expect(() => new src_1.Integer(value)).toThrow(src_1.InvalidIntegerError);
|
|
13
|
-
expect(() => new src_1.Integer(value)).toThrow(`Invalid integer value ${value}`);
|
|
14
|
-
});
|
|
15
|
-
it('should throw InvalidNumberError for NaN', () => {
|
|
16
|
-
const value = NaN;
|
|
17
|
-
expect(() => new src_1.Integer(value)).toThrow(src_1.InvalidNumberError);
|
|
18
|
-
expect(() => new src_1.Integer(value)).toThrow(`Invalid number ${value}`);
|
|
19
|
-
});
|
|
20
|
-
it('should throw InvalidIntegerError for Infinity', () => {
|
|
21
|
-
const value = Infinity;
|
|
22
|
-
expect(() => new src_1.Integer(value)).toThrow(src_1.InvalidIntegerError);
|
|
23
|
-
expect(() => new src_1.Integer(value)).toThrow(`Invalid integer value ${value}`);
|
|
24
|
-
});
|
|
25
|
-
it('should throw InvalidIntegerError for -Infinity', () => {
|
|
26
|
-
const value = -Infinity;
|
|
27
|
-
expect(() => new src_1.Integer(value)).toThrow(src_1.InvalidIntegerError);
|
|
28
|
-
expect(() => new src_1.Integer(value)).toThrow(`Invalid integer value ${value}`);
|
|
29
|
-
});
|
|
30
|
-
});
|
|
31
|
-
//# sourceMappingURL=Integer.spec.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Integer.spec.js","sourceRoot":"","sources":["../../../tests/value-objects/Integer.spec.ts"],"names":[],"mappings":";;AAAA,mCAA6E;AAE7E,QAAQ,CAAC,SAAS,EAAE,GAAG,EAAE;IACvB,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;QACtD,MAAM,KAAK,GAAG,EAAE,CAAC;QACjB,MAAM,OAAO,GAAG,IAAI,aAAO,CAAC,KAAK,CAAC,CAAC;QAEnC,MAAM,CAAC,OAAO,CAAC,CAAC,aAAa,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0DAA0D,EAAE,GAAG,EAAE;QAClE,MAAM,KAAK,GAAG,IAAI,CAAC;QAEnB,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,aAAO,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,yBAAmB,CAAC,CAAC;QAC9D,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,aAAO,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,yBAAyB,KAAK,EAAE,CAAC,CAAC;IAC7E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yCAAyC,EAAE,GAAG,EAAE;QACjD,MAAM,KAAK,GAAG,GAAG,CAAC;QAElB,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,aAAO,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,wBAAkB,CAAC,CAAC;QAC7D,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,aAAO,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,kBAAkB,KAAK,EAAE,CAAC,CAAC;IACtE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+CAA+C,EAAE,GAAG,EAAE;QACvD,MAAM,KAAK,GAAG,QAAQ,CAAC;QAEvB,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,aAAO,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,yBAAmB,CAAC,CAAC;QAC9D,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,aAAO,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,yBAAyB,KAAK,EAAE,CAAC,CAAC;IAC7E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gDAAgD,EAAE,GAAG,EAAE;QACxD,MAAM,KAAK,GAAG,CAAC,QAAQ,CAAC;QAExB,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,aAAO,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,yBAAmB,CAAC,CAAC;QAC9D,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,aAAO,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,yBAAyB,KAAK,EAAE,CAAC,CAAC;IAC7E,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"NullObject.spec.d.ts","sourceRoot":"","sources":["../../../tests/value-objects/NullObject.spec.ts"],"names":[],"mappings":""}
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const src_1 = require("../../src");
|
|
4
|
-
/* eslint-disable no-unused-expressions */
|
|
5
|
-
describe('NullObject', () => {
|
|
6
|
-
class TestNullObject {
|
|
7
|
-
uid;
|
|
8
|
-
constructor(uid) {
|
|
9
|
-
this.uid = uid;
|
|
10
|
-
}
|
|
11
|
-
getUid() {
|
|
12
|
-
return 'uid';
|
|
13
|
-
}
|
|
14
|
-
getName() {
|
|
15
|
-
return 'name';
|
|
16
|
-
}
|
|
17
|
-
valueOf() {
|
|
18
|
-
return this.getUid();
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
let test;
|
|
22
|
-
beforeEach(() => {
|
|
23
|
-
test = src_1.NullObject.new(TestNullObject);
|
|
24
|
-
});
|
|
25
|
-
it('should replace all methods with fake methods throwing NullObjectError', () => {
|
|
26
|
-
expect(() => test.getUid()).toThrow(src_1.NullObjectError);
|
|
27
|
-
expect(() => test.getName()).toThrow(src_1.NullObjectError);
|
|
28
|
-
});
|
|
29
|
-
it('should replace valueOf with undefined ', () => {
|
|
30
|
-
expect(test.valueOf()).toBeUndefined();
|
|
31
|
-
});
|
|
32
|
-
it('should return true when checking if it is a null object', () => {
|
|
33
|
-
expect(src_1.NullObject.isNullObject(test)).toBeTrue();
|
|
34
|
-
});
|
|
35
|
-
it('should return false when checking if empty object it is a null object', () => {
|
|
36
|
-
expect(src_1.NullObject.isNullObject({})).toBeFalse();
|
|
37
|
-
});
|
|
38
|
-
it('should return false when checking if null it is a null object', () => {
|
|
39
|
-
expect(src_1.NullObject.isNullObject(null)).toBeFalse();
|
|
40
|
-
});
|
|
41
|
-
it('should return false when checking if undefined it is a null object', () => {
|
|
42
|
-
expect(src_1.NullObject.isNullObject(undefined)).toBeFalse();
|
|
43
|
-
});
|
|
44
|
-
it('should return false when checking if NaN it is a null object', () => {
|
|
45
|
-
expect(src_1.NullObject.isNullObject(NaN)).toBeFalse();
|
|
46
|
-
});
|
|
47
|
-
});
|
|
48
|
-
//# sourceMappingURL=NullObject.spec.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"NullObject.spec.js","sourceRoot":"","sources":["../../../tests/value-objects/NullObject.spec.ts"],"names":[],"mappings":";;AAAA,mCAAwD;AAExD,0CAA0C;AAC1C,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;IAC1B,MAAM,cAAc;QACW;QAA7B,YAA6B,GAAW;YAAX,QAAG,GAAH,GAAG,CAAQ;QAAG,CAAC;QAErC,MAAM;YACX,OAAO,KAAK,CAAC;QACf,CAAC;QAEM,OAAO;YACZ,OAAO,MAAM,CAAC;QAChB,CAAC;QAEM,OAAO;YACZ,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;QACvB,CAAC;KACF;IAED,IAAI,IAAoB,CAAC;IAEzB,UAAU,CAAC,GAAG,EAAE;QACd,IAAI,GAAG,gBAAU,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uEAAuE,EAAE,GAAG,EAAE;QAC/E,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,qBAAe,CAAC,CAAC;QACrD,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,qBAAe,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;QAChD,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,aAAa,EAAE,CAAC;IACzC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yDAAyD,EAAE,GAAG,EAAE;QACjE,MAAM,CAAC,gBAAU,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;IACnD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uEAAuE,EAAE,GAAG,EAAE;QAC/E,MAAM,CAAC,gBAAU,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;IAClD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+DAA+D,EAAE,GAAG,EAAE;QACvE,MAAM,CAAC,gBAAU,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;IACpD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oEAAoE,EAAE,GAAG,EAAE;QAC5E,MAAM,CAAC,gBAAU,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;IACzD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8DAA8D,EAAE,GAAG,EAAE;QACtE,MAAM,CAAC,gBAAU,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;IACnD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"NumberValueObject.spec.d.ts","sourceRoot":"","sources":["../../../tests/value-objects/NumberValueObject.spec.ts"],"names":[],"mappings":""}
|