@haskou/value-objects 1.1.1 → 1.1.2
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/src/errors/BaseError.d.ts +8 -0
- package/dist/src/errors/BaseError.d.ts.map +1 -0
- package/dist/src/errors/BaseError.js +22 -0
- package/dist/src/errors/BaseError.js.map +1 -0
- package/dist/src/errors/DomainError.d.ts +7 -0
- package/dist/src/errors/DomainError.d.ts.map +1 -0
- package/dist/src/errors/DomainError.js +15 -0
- package/dist/src/errors/DomainError.js.map +1 -0
- package/dist/src/errors/InvalidColorError.d.ts +5 -0
- package/dist/src/errors/InvalidColorError.d.ts.map +1 -0
- package/dist/src/errors/InvalidColorError.js +11 -0
- package/dist/src/errors/InvalidColorError.js.map +1 -0
- package/dist/src/errors/InvalidDayError.d.ts +5 -0
- package/dist/src/errors/InvalidDayError.d.ts.map +1 -0
- package/dist/src/errors/InvalidDayError.js +11 -0
- package/dist/src/errors/InvalidDayError.js.map +1 -0
- package/dist/src/errors/InvalidDayFormatError.d.ts +5 -0
- package/dist/src/errors/InvalidDayFormatError.d.ts.map +1 -0
- package/dist/src/errors/InvalidDayFormatError.js +11 -0
- package/dist/src/errors/InvalidDayFormatError.js.map +1 -0
- package/dist/src/errors/InvalidEmailError.d.ts +5 -0
- package/dist/src/errors/InvalidEmailError.d.ts.map +1 -0
- package/dist/src/errors/InvalidEmailError.js +11 -0
- package/dist/src/errors/InvalidEmailError.js.map +1 -0
- package/dist/src/errors/InvalidFormatError.d.ts +5 -0
- package/dist/src/errors/InvalidFormatError.d.ts.map +1 -0
- package/dist/src/errors/InvalidFormatError.js +11 -0
- package/dist/src/errors/InvalidFormatError.js.map +1 -0
- package/dist/src/errors/InvalidHashError.d.ts +5 -0
- package/dist/src/errors/InvalidHashError.d.ts.map +1 -0
- package/dist/src/errors/InvalidHashError.js +11 -0
- package/dist/src/errors/InvalidHashError.js.map +1 -0
- package/dist/src/errors/InvalidHourError.d.ts +5 -0
- package/dist/src/errors/InvalidHourError.d.ts.map +1 -0
- package/dist/src/errors/InvalidHourError.js +11 -0
- package/dist/src/errors/InvalidHourError.js.map +1 -0
- package/dist/src/errors/InvalidIntegerError.d.ts +5 -0
- package/dist/src/errors/InvalidIntegerError.d.ts.map +1 -0
- package/dist/src/errors/InvalidIntegerError.js +11 -0
- package/dist/src/errors/InvalidIntegerError.js.map +1 -0
- package/dist/src/errors/InvalidLatitudeError.d.ts +5 -0
- package/dist/src/errors/InvalidLatitudeError.d.ts.map +1 -0
- package/dist/src/errors/InvalidLatitudeError.js +11 -0
- package/dist/src/errors/InvalidLatitudeError.js.map +1 -0
- package/dist/src/errors/InvalidLengthError.d.ts +5 -0
- package/dist/src/errors/InvalidLengthError.d.ts.map +1 -0
- package/dist/src/errors/InvalidLengthError.js +11 -0
- package/dist/src/errors/InvalidLengthError.js.map +1 -0
- package/dist/src/errors/InvalidLongitudeError.d.ts +5 -0
- package/dist/src/errors/InvalidLongitudeError.d.ts.map +1 -0
- package/dist/src/errors/InvalidLongitudeError.js +11 -0
- package/dist/src/errors/InvalidLongitudeError.js.map +1 -0
- package/dist/src/errors/InvalidMinutesError.d.ts +5 -0
- package/dist/src/errors/InvalidMinutesError.d.ts.map +1 -0
- package/dist/src/errors/InvalidMinutesError.js +11 -0
- package/dist/src/errors/InvalidMinutesError.js.map +1 -0
- package/dist/src/errors/InvalidNumberError.d.ts +5 -0
- package/dist/src/errors/InvalidNumberError.d.ts.map +1 -0
- package/dist/src/errors/InvalidNumberError.js +11 -0
- package/dist/src/errors/InvalidNumberError.js.map +1 -0
- package/dist/src/errors/InvalidPositiveNumberError.d.ts +5 -0
- package/dist/src/errors/InvalidPositiveNumberError.d.ts.map +1 -0
- package/dist/src/errors/InvalidPositiveNumberError.js +11 -0
- package/dist/src/errors/InvalidPositiveNumberError.js.map +1 -0
- package/dist/src/errors/InvalidStringLengthError.d.ts +5 -0
- package/dist/src/errors/InvalidStringLengthError.d.ts.map +1 -0
- package/dist/src/errors/InvalidStringLengthError.js +11 -0
- package/dist/src/errors/InvalidStringLengthError.js.map +1 -0
- package/dist/src/errors/InvalidTimestampIntervalError.d.ts +6 -0
- package/dist/src/errors/InvalidTimestampIntervalError.d.ts.map +1 -0
- package/dist/src/errors/InvalidTimestampIntervalError.js +11 -0
- package/dist/src/errors/InvalidTimestampIntervalError.js.map +1 -0
- package/dist/src/errors/InvalidValueError.d.ts +5 -0
- package/dist/src/errors/InvalidValueError.d.ts.map +1 -0
- package/dist/src/errors/InvalidValueError.js +11 -0
- package/dist/src/errors/InvalidValueError.js.map +1 -0
- package/dist/src/errors/NullObjectError.d.ts +5 -0
- package/dist/src/errors/NullObjectError.d.ts.map +1 -0
- package/dist/src/errors/NullObjectError.js +12 -0
- package/dist/src/errors/NullObjectError.js.map +1 -0
- package/dist/src/errors/ValueNotInEnumError.d.ts +5 -0
- package/dist/src/errors/ValueNotInEnumError.d.ts.map +1 -0
- package/dist/src/errors/ValueNotInEnumError.js +11 -0
- package/dist/src/errors/ValueNotInEnumError.js.map +1 -0
- package/{src/errors/index.ts → dist/src/errors/index.d.ts} +1 -0
- package/dist/src/errors/index.d.ts.map +1 -0
- package/dist/src/errors/index.js +24 -0
- package/dist/src/errors/index.js.map +1 -0
- package/{src/index.ts → dist/src/index.d.ts} +1 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +9 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/interfaces/PrimitiveOf.d.ts +5 -0
- package/dist/src/interfaces/PrimitiveOf.d.ts.map +1 -0
- package/dist/src/interfaces/PrimitiveOf.js +3 -0
- package/dist/src/interfaces/PrimitiveOf.js.map +1 -0
- package/dist/src/interfaces/index.d.ts +2 -0
- package/dist/src/interfaces/index.d.ts.map +1 -0
- package/dist/src/interfaces/index.js +5 -0
- package/dist/src/interfaces/index.js.map +1 -0
- package/dist/src/patterns/Assert.d.ts +5 -0
- package/dist/src/patterns/Assert.d.ts.map +1 -0
- package/dist/src/patterns/Assert.js +11 -0
- package/dist/src/patterns/Assert.js.map +1 -0
- package/dist/src/patterns/index.d.ts +2 -0
- package/dist/src/patterns/index.d.ts.map +1 -0
- package/dist/src/patterns/index.js +5 -0
- package/dist/src/patterns/index.js.map +1 -0
- package/{src/types/Nullish.ts → dist/src/types/Nullish.d.ts} +1 -0
- package/dist/src/types/Nullish.d.ts.map +1 -0
- package/dist/src/types/Nullish.js +3 -0
- package/dist/src/types/Nullish.js.map +1 -0
- package/{src/types/Primitive.ts → dist/src/types/Primitive.d.ts} +1 -0
- package/dist/src/types/Primitive.d.ts.map +1 -0
- package/dist/src/types/Primitive.js +3 -0
- package/dist/src/types/Primitive.js.map +1 -0
- package/{src/types/index.ts → dist/src/types/index.d.ts} +1 -0
- package/dist/src/types/index.d.ts.map +1 -0
- package/dist/src/types/index.js +6 -0
- package/dist/src/types/index.js.map +1 -0
- package/dist/src/value-objects/Color.d.ts +19 -0
- package/dist/src/value-objects/Color.d.ts.map +1 -0
- package/dist/src/value-objects/Color.js +37 -0
- package/dist/src/value-objects/Color.js.map +1 -0
- package/dist/src/value-objects/Email.d.ts +6 -0
- package/dist/src/value-objects/Email.d.ts.map +1 -0
- package/dist/src/value-objects/Email.js +21 -0
- package/dist/src/value-objects/Email.js.map +1 -0
- package/dist/src/value-objects/Enum.d.ts +9 -0
- package/dist/src/value-objects/Enum.d.ts.map +1 -0
- package/dist/src/value-objects/Enum.js +24 -0
- package/dist/src/value-objects/Enum.js.map +1 -0
- package/dist/src/value-objects/Integer.d.ts +6 -0
- package/dist/src/value-objects/Integer.d.ts.map +1 -0
- package/dist/src/value-objects/Integer.js +21 -0
- package/dist/src/value-objects/Integer.js.map +1 -0
- package/dist/src/value-objects/NullObject.d.ts +8 -0
- package/dist/src/value-objects/NullObject.d.ts.map +1 -0
- package/dist/src/value-objects/NullObject.js +43 -0
- package/dist/src/value-objects/NullObject.js.map +1 -0
- package/dist/src/value-objects/NumberValueObject.d.ts +15 -0
- package/dist/src/value-objects/NumberValueObject.d.ts.map +1 -0
- package/dist/src/value-objects/NumberValueObject.js +48 -0
- package/dist/src/value-objects/NumberValueObject.js.map +1 -0
- package/dist/src/value-objects/PositiveNumber.d.ts +6 -0
- package/dist/src/value-objects/PositiveNumber.d.ts.map +1 -0
- package/dist/src/value-objects/PositiveNumber.js +21 -0
- package/dist/src/value-objects/PositiveNumber.js.map +1 -0
- package/dist/src/value-objects/StringValueObject.d.ts +7 -0
- package/dist/src/value-objects/StringValueObject.d.ts.map +1 -0
- package/dist/src/value-objects/StringValueObject.js +24 -0
- package/dist/src/value-objects/StringValueObject.js.map +1 -0
- package/dist/src/value-objects/ValueObject.d.ts +12 -0
- package/dist/src/value-objects/ValueObject.d.ts.map +1 -0
- package/dist/src/value-objects/ValueObject.js +33 -0
- package/dist/src/value-objects/ValueObject.js.map +1 -0
- package/dist/src/value-objects/coordinates/Coordinates.d.ts +12 -0
- package/dist/src/value-objects/coordinates/Coordinates.d.ts.map +1 -0
- package/dist/src/value-objects/coordinates/Coordinates.js +28 -0
- package/dist/src/value-objects/coordinates/Coordinates.js.map +1 -0
- package/dist/src/value-objects/coordinates/Latitude.d.ts +8 -0
- package/dist/src/value-objects/coordinates/Latitude.d.ts.map +1 -0
- package/dist/src/value-objects/coordinates/Latitude.js +21 -0
- package/dist/src/value-objects/coordinates/Latitude.js.map +1 -0
- package/dist/src/value-objects/coordinates/Longitude.d.ts +8 -0
- package/dist/src/value-objects/coordinates/Longitude.d.ts.map +1 -0
- package/dist/src/value-objects/coordinates/Longitude.js +21 -0
- package/dist/src/value-objects/coordinates/Longitude.js.map +1 -0
- package/{src/value-objects/coordinates/index.ts → dist/src/value-objects/coordinates/index.d.ts} +1 -0
- package/dist/src/value-objects/coordinates/index.d.ts.map +1 -0
- package/dist/src/value-objects/coordinates/index.js +7 -0
- package/dist/src/value-objects/coordinates/index.js.map +1 -0
- package/dist/src/value-objects/hashes/Hash.d.ts +7 -0
- package/dist/src/value-objects/hashes/Hash.d.ts.map +1 -0
- package/dist/src/value-objects/hashes/Hash.js +19 -0
- package/dist/src/value-objects/hashes/Hash.js.map +1 -0
- package/dist/src/value-objects/hashes/MD5Hash.d.ts +8 -0
- package/dist/src/value-objects/hashes/MD5Hash.d.ts.map +1 -0
- package/dist/src/value-objects/hashes/MD5Hash.js +26 -0
- package/dist/src/value-objects/hashes/MD5Hash.js.map +1 -0
- package/dist/src/value-objects/hashes/SHA256Hash.d.ts +9 -0
- package/dist/src/value-objects/hashes/SHA256Hash.d.ts.map +1 -0
- package/dist/src/value-objects/hashes/SHA256Hash.js +29 -0
- package/dist/src/value-objects/hashes/SHA256Hash.js.map +1 -0
- package/dist/src/value-objects/hashes/SHA512Hash.d.ts +9 -0
- package/dist/src/value-objects/hashes/SHA512Hash.d.ts.map +1 -0
- package/dist/src/value-objects/hashes/SHA512Hash.js +29 -0
- package/dist/src/value-objects/hashes/SHA512Hash.js.map +1 -0
- package/{src/value-objects/hashes/index.ts → dist/src/value-objects/hashes/index.d.ts} +1 -0
- package/dist/src/value-objects/hashes/index.d.ts.map +1 -0
- package/dist/src/value-objects/hashes/index.js +8 -0
- package/dist/src/value-objects/hashes/index.js.map +1 -0
- package/dist/src/value-objects/ids/ShortId.d.ts +10 -0
- package/dist/src/value-objects/ids/ShortId.d.ts.map +1 -0
- package/dist/src/value-objects/ids/ShortId.js +30 -0
- package/dist/src/value-objects/ids/ShortId.js.map +1 -0
- package/dist/src/value-objects/ids/UUID.d.ts +10 -0
- package/dist/src/value-objects/ids/UUID.d.ts.map +1 -0
- package/dist/src/value-objects/ids/UUID.js +29 -0
- package/dist/src/value-objects/ids/UUID.js.map +1 -0
- package/{src/value-objects/ids/index.ts → dist/src/value-objects/ids/index.d.ts} +1 -0
- package/dist/src/value-objects/ids/index.d.ts.map +1 -0
- package/dist/src/value-objects/ids/index.js +6 -0
- package/dist/src/value-objects/ids/index.js.map +1 -0
- package/{src/value-objects/index.ts → dist/src/value-objects/index.d.ts} +1 -0
- package/dist/src/value-objects/index.d.ts.map +1 -0
- package/dist/src/value-objects/index.js +16 -0
- package/dist/src/value-objects/index.js.map +1 -0
- package/dist/src/value-objects/time/CalendarDay.d.ts +25 -0
- package/dist/src/value-objects/time/CalendarDay.d.ts.map +1 -0
- package/dist/src/value-objects/time/CalendarDay.js +74 -0
- package/dist/src/value-objects/time/CalendarDay.js.map +1 -0
- package/dist/src/value-objects/time/Day.d.ts +7 -0
- package/dist/src/value-objects/time/Day.d.ts.map +1 -0
- package/dist/src/value-objects/time/Day.js +18 -0
- package/dist/src/value-objects/time/Day.js.map +1 -0
- package/dist/src/value-objects/time/DayOfWeek.d.ts +34 -0
- package/dist/src/value-objects/time/DayOfWeek.d.ts.map +1 -0
- package/dist/src/value-objects/time/DayOfWeek.js +52 -0
- package/dist/src/value-objects/time/DayOfWeek.js.map +1 -0
- package/dist/src/value-objects/time/Duration.d.ts +23 -0
- package/dist/src/value-objects/time/Duration.d.ts.map +1 -0
- package/dist/src/value-objects/time/Duration.js +79 -0
- package/dist/src/value-objects/time/Duration.js.map +1 -0
- package/dist/src/value-objects/time/Hour.d.ts +15 -0
- package/dist/src/value-objects/time/Hour.d.ts.map +1 -0
- package/dist/src/value-objects/time/Hour.js +81 -0
- package/dist/src/value-objects/time/Hour.js.map +1 -0
- package/dist/src/value-objects/time/Month.d.ts +18 -0
- package/dist/src/value-objects/time/Month.d.ts.map +1 -0
- package/dist/src/value-objects/time/Month.js +41 -0
- package/dist/src/value-objects/time/Month.js.map +1 -0
- package/dist/src/value-objects/time/MonthOfYear.d.ts +17 -0
- package/dist/src/value-objects/time/MonthOfYear.d.ts.map +1 -0
- package/dist/src/value-objects/time/MonthOfYear.js +45 -0
- package/dist/src/value-objects/time/MonthOfYear.js.map +1 -0
- package/dist/src/value-objects/time/Timestamp.d.ts +51 -0
- package/dist/src/value-objects/time/Timestamp.d.ts.map +1 -0
- package/dist/src/value-objects/time/Timestamp.js +156 -0
- package/dist/src/value-objects/time/Timestamp.js.map +1 -0
- package/dist/src/value-objects/time/TimestampInterval.d.ts +26 -0
- package/dist/src/value-objects/time/TimestampInterval.d.ts.map +1 -0
- package/dist/src/value-objects/time/TimestampInterval.js +88 -0
- package/dist/src/value-objects/time/TimestampInterval.js.map +1 -0
- package/dist/src/value-objects/time/Year.d.ts +10 -0
- package/dist/src/value-objects/time/Year.d.ts.map +1 -0
- package/dist/src/value-objects/time/Year.js +26 -0
- package/dist/src/value-objects/time/Year.js.map +1 -0
- package/{src/value-objects/time/index.ts → dist/src/value-objects/time/index.d.ts} +1 -0
- package/dist/src/value-objects/time/index.d.ts.map +1 -0
- package/dist/src/value-objects/time/index.js +14 -0
- package/dist/src/value-objects/time/index.js.map +1 -0
- package/dist/tests/errors/BaseError.spec.d.ts +2 -0
- package/dist/tests/errors/BaseError.spec.d.ts.map +1 -0
- package/dist/tests/errors/BaseError.spec.js +54 -0
- package/dist/tests/errors/BaseError.spec.js.map +1 -0
- package/dist/tests/errors/DomainError.spec.d.ts +2 -0
- package/dist/tests/errors/DomainError.spec.d.ts.map +1 -0
- package/dist/tests/errors/DomainError.spec.js +47 -0
- package/dist/tests/errors/DomainError.spec.js.map +1 -0
- package/dist/tests/patterns/Assert.spec.d.ts +2 -0
- package/dist/tests/patterns/Assert.spec.d.ts.map +1 -0
- package/dist/tests/patterns/Assert.spec.js +27 -0
- package/dist/tests/patterns/Assert.spec.js.map +1 -0
- package/dist/tests/setup.jest.d.ts +2 -0
- package/dist/tests/setup.jest.d.ts.map +1 -0
- package/dist/tests/setup.jest.js +6 -0
- package/dist/tests/setup.jest.js.map +1 -0
- package/dist/tests/value-objects/Color.spec.d.ts +2 -0
- package/dist/tests/value-objects/Color.spec.d.ts.map +1 -0
- package/dist/tests/value-objects/Color.spec.js +171 -0
- package/dist/tests/value-objects/Color.spec.js.map +1 -0
- package/dist/tests/value-objects/Email.spec.d.ts +2 -0
- package/dist/tests/value-objects/Email.spec.d.ts.map +1 -0
- package/dist/tests/value-objects/Email.spec.js +117 -0
- package/dist/tests/value-objects/Email.spec.js.map +1 -0
- package/dist/tests/value-objects/Enum.spec.d.ts +2 -0
- package/dist/tests/value-objects/Enum.spec.d.ts.map +1 -0
- package/dist/tests/value-objects/Enum.spec.js +233 -0
- package/dist/tests/value-objects/Enum.spec.js.map +1 -0
- package/dist/tests/value-objects/Integer.spec.d.ts +2 -0
- package/dist/tests/value-objects/Integer.spec.d.ts.map +1 -0
- package/dist/tests/value-objects/Integer.spec.js +31 -0
- package/dist/tests/value-objects/Integer.spec.js.map +1 -0
- package/dist/tests/value-objects/NullObject.spec.d.ts +2 -0
- package/dist/tests/value-objects/NullObject.spec.d.ts.map +1 -0
- package/dist/tests/value-objects/NullObject.spec.js +48 -0
- package/dist/tests/value-objects/NullObject.spec.js.map +1 -0
- package/dist/tests/value-objects/NumberValueObject.spec.d.ts +2 -0
- package/dist/tests/value-objects/NumberValueObject.spec.d.ts.map +1 -0
- package/dist/tests/value-objects/NumberValueObject.spec.js +333 -0
- package/dist/tests/value-objects/NumberValueObject.spec.js.map +1 -0
- package/dist/tests/value-objects/PositiveNumber.spec.d.ts +2 -0
- package/dist/tests/value-objects/PositiveNumber.spec.d.ts.map +1 -0
- package/dist/tests/value-objects/PositiveNumber.spec.js +209 -0
- package/dist/tests/value-objects/PositiveNumber.spec.js.map +1 -0
- package/dist/tests/value-objects/StringValueObject.spec.d.ts +2 -0
- package/dist/tests/value-objects/StringValueObject.spec.d.ts.map +1 -0
- package/dist/tests/value-objects/StringValueObject.spec.js +104 -0
- package/dist/tests/value-objects/StringValueObject.spec.js.map +1 -0
- package/dist/tests/value-objects/coordinates/Coordinates.spec.d.ts +2 -0
- package/dist/tests/value-objects/coordinates/Coordinates.spec.d.ts.map +1 -0
- package/dist/tests/value-objects/coordinates/Coordinates.spec.js +76 -0
- package/dist/tests/value-objects/coordinates/Coordinates.spec.js.map +1 -0
- package/dist/tests/value-objects/coordinates/Latitude.spec.d.ts +2 -0
- package/dist/tests/value-objects/coordinates/Latitude.spec.d.ts.map +1 -0
- package/dist/tests/value-objects/coordinates/Latitude.spec.js +23 -0
- package/dist/tests/value-objects/coordinates/Latitude.spec.js.map +1 -0
- package/dist/tests/value-objects/coordinates/Longitude.spec.d.ts +2 -0
- package/dist/tests/value-objects/coordinates/Longitude.spec.d.ts.map +1 -0
- package/dist/tests/value-objects/coordinates/Longitude.spec.js +23 -0
- package/dist/tests/value-objects/coordinates/Longitude.spec.js.map +1 -0
- package/dist/tests/value-objects/hashes/Hashes.spec.d.ts +2 -0
- package/dist/tests/value-objects/hashes/Hashes.spec.d.ts.map +1 -0
- package/dist/tests/value-objects/hashes/Hashes.spec.js +107 -0
- package/dist/tests/value-objects/hashes/Hashes.spec.js.map +1 -0
- package/dist/tests/value-objects/hashes/MD5Hash.spec.d.ts +2 -0
- package/dist/tests/value-objects/hashes/MD5Hash.spec.d.ts.map +1 -0
- package/dist/tests/value-objects/hashes/MD5Hash.spec.js +147 -0
- package/dist/tests/value-objects/hashes/MD5Hash.spec.js.map +1 -0
- package/dist/tests/value-objects/hashes/SHA256Hash.spec.d.ts +2 -0
- package/dist/tests/value-objects/hashes/SHA256Hash.spec.d.ts.map +1 -0
- package/dist/tests/value-objects/hashes/SHA256Hash.spec.js +147 -0
- package/dist/tests/value-objects/hashes/SHA256Hash.spec.js.map +1 -0
- package/dist/tests/value-objects/hashes/SHA512Hash.spec.d.ts +2 -0
- package/dist/tests/value-objects/hashes/SHA512Hash.spec.d.ts.map +1 -0
- package/dist/tests/value-objects/hashes/SHA512Hash.spec.js +147 -0
- package/dist/tests/value-objects/hashes/SHA512Hash.spec.js.map +1 -0
- package/dist/tests/value-objects/ids/ShortId.spec.d.ts +2 -0
- package/dist/tests/value-objects/ids/ShortId.spec.d.ts.map +1 -0
- package/dist/tests/value-objects/ids/ShortId.spec.js +30 -0
- package/dist/tests/value-objects/ids/ShortId.spec.js.map +1 -0
- package/dist/tests/value-objects/ids/UUID.spec.d.ts +2 -0
- package/dist/tests/value-objects/ids/UUID.spec.d.ts.map +1 -0
- package/dist/tests/value-objects/ids/UUID.spec.js +30 -0
- package/dist/tests/value-objects/ids/UUID.spec.js.map +1 -0
- package/dist/tests/value-objects/time/CalendarDay.spec.d.ts +2 -0
- package/dist/tests/value-objects/time/CalendarDay.spec.d.ts.map +1 -0
- package/dist/tests/value-objects/time/CalendarDay.spec.js +149 -0
- package/dist/tests/value-objects/time/CalendarDay.spec.js.map +1 -0
- package/dist/tests/value-objects/time/Day.spec.d.ts +2 -0
- package/dist/tests/value-objects/time/Day.spec.d.ts.map +1 -0
- package/dist/tests/value-objects/time/Day.spec.js +28 -0
- package/dist/tests/value-objects/time/Day.spec.js.map +1 -0
- package/dist/tests/value-objects/time/DayOfWeek.spec.d.ts +2 -0
- package/dist/tests/value-objects/time/DayOfWeek.spec.d.ts.map +1 -0
- package/dist/tests/value-objects/time/DayOfWeek.spec.js +44 -0
- package/dist/tests/value-objects/time/DayOfWeek.spec.js.map +1 -0
- package/dist/tests/value-objects/time/Duration.spec.d.ts +2 -0
- package/dist/tests/value-objects/time/Duration.spec.d.ts.map +1 -0
- package/dist/tests/value-objects/time/Duration.spec.js +255 -0
- package/dist/tests/value-objects/time/Duration.spec.js.map +1 -0
- package/dist/tests/value-objects/time/Hour.spec.d.ts +2 -0
- package/dist/tests/value-objects/time/Hour.spec.d.ts.map +1 -0
- package/dist/tests/value-objects/time/Hour.spec.js +168 -0
- package/dist/tests/value-objects/time/Hour.spec.js.map +1 -0
- package/dist/tests/value-objects/time/MonthOfYear.spec.d.ts +2 -0
- package/dist/tests/value-objects/time/MonthOfYear.spec.d.ts.map +1 -0
- package/dist/tests/value-objects/time/MonthOfYear.spec.js +93 -0
- package/dist/tests/value-objects/time/MonthOfYear.spec.js.map +1 -0
- package/dist/tests/value-objects/time/Timestamp.spec.d.ts +2 -0
- package/dist/tests/value-objects/time/Timestamp.spec.d.ts.map +1 -0
- package/dist/tests/value-objects/time/Timestamp.spec.js +391 -0
- package/dist/tests/value-objects/time/Timestamp.spec.js.map +1 -0
- package/dist/tests/value-objects/time/TimestampInterval.spec.d.ts +2 -0
- package/dist/tests/value-objects/time/TimestampInterval.spec.d.ts.map +1 -0
- package/dist/tests/value-objects/time/TimestampInterval.spec.js +270 -0
- package/dist/tests/value-objects/time/TimestampInterval.spec.js.map +1 -0
- package/dist/tests/value-objects/time/Year.spec.d.ts +2 -0
- package/dist/tests/value-objects/time/Year.spec.d.ts.map +1 -0
- package/dist/tests/value-objects/time/Year.spec.js +41 -0
- package/dist/tests/value-objects/time/Year.spec.js.map +1 -0
- package/package.json +6 -2
- package/.editorconfig +0 -15
- package/.eslintignore +0 -3
- package/.eslintrc.json +0 -218
- package/.prettierrc.json +0 -13
- package/TECHNICAL_DOCUMENTATION.md +0 -1257
- package/jest.config.ts +0 -30
- package/src/errors/BaseError.ts +0 -20
- package/src/errors/DomainError.ts +0 -12
- package/src/errors/InvalidColorError.ts +0 -7
- package/src/errors/InvalidDayError.ts +0 -7
- package/src/errors/InvalidDayFormatError.ts +0 -7
- package/src/errors/InvalidEmailError.ts +0 -7
- package/src/errors/InvalidFormatError.ts +0 -7
- package/src/errors/InvalidHashError.ts +0 -7
- package/src/errors/InvalidHourError.ts +0 -7
- package/src/errors/InvalidIntegerError.ts +0 -7
- package/src/errors/InvalidLatitudeError.ts +0 -7
- package/src/errors/InvalidLengthError.ts +0 -9
- package/src/errors/InvalidLongitudeError.ts +0 -7
- package/src/errors/InvalidMinutesError.ts +0 -7
- package/src/errors/InvalidNumberError.ts +0 -7
- package/src/errors/InvalidPositiveNumberError.ts +0 -7
- package/src/errors/InvalidStringLengthError.ts +0 -9
- package/src/errors/InvalidTimestampIntervalError.ts +0 -10
- package/src/errors/InvalidValueError.ts +0 -7
- package/src/errors/NullObjectError.ts +0 -8
- package/src/errors/ValueNotInEnumError.ts +0 -9
- package/src/interfaces/PrimitiveOf.ts +0 -5
- package/src/interfaces/index.ts +0 -1
- package/src/patterns/Assert.ts +0 -15
- package/src/patterns/index.ts +0 -1
- package/src/value-objects/Color.ts +0 -39
- package/src/value-objects/Email.ts +0 -23
- package/src/value-objects/Enum.ts +0 -31
- package/src/value-objects/Integer.ts +0 -22
- package/src/value-objects/NullObject.ts +0 -60
- package/src/value-objects/NumberValueObject.ts +0 -56
- package/src/value-objects/PositiveNumber.ts +0 -20
- package/src/value-objects/StringValueObject.ts +0 -27
- package/src/value-objects/ValueObject.ts +0 -39
- package/src/value-objects/coordinates/Coordinates.ts +0 -30
- package/src/value-objects/coordinates/Latitude.ts +0 -22
- package/src/value-objects/coordinates/Longitude.ts +0 -25
- package/src/value-objects/hashes/Hash.ts +0 -19
- package/src/value-objects/hashes/MD5Hash.ts +0 -32
- package/src/value-objects/hashes/SHA256Hash.ts +0 -38
- package/src/value-objects/hashes/SHA512Hash.ts +0 -38
- package/src/value-objects/ids/ShortId.ts +0 -34
- package/src/value-objects/ids/UUID.ts +0 -34
- package/src/value-objects/time/CalendarDay.ts +0 -91
- package/src/value-objects/time/Day.ts +0 -17
- package/src/value-objects/time/DayOfWeek.ts +0 -60
- package/src/value-objects/time/Duration.ts +0 -142
- package/src/value-objects/time/Hour.ts +0 -105
- package/src/value-objects/time/Month.ts +0 -39
- package/src/value-objects/time/MonthOfYear.ts +0 -52
- package/src/value-objects/time/Timestamp.ts +0 -208
- package/src/value-objects/time/TimestampInterval.ts +0 -122
- package/src/value-objects/time/Year.ts +0 -27
- package/tests/errors/BaseError.spec.ts +0 -63
- package/tests/errors/DomainError.spec.ts +0 -52
- package/tests/patterns/Assert.spec.ts +0 -29
- package/tests/setup.jest.ts +0 -2
- package/tests/value-objects/Color.spec.ts +0 -214
- package/tests/value-objects/Email.spec.ts +0 -141
- package/tests/value-objects/Enum.spec.ts +0 -293
- package/tests/value-objects/Integer.spec.ts +0 -38
- package/tests/value-objects/NullObject.spec.ts +0 -55
- package/tests/value-objects/NumberValueObject.spec.ts +0 -446
- package/tests/value-objects/PositiveNumber.spec.ts +0 -274
- package/tests/value-objects/StringValueObject.spec.ts +0 -135
- package/tests/value-objects/coordinates/Coordinates.spec.ts +0 -90
- package/tests/value-objects/coordinates/Latitude.spec.ts +0 -24
- package/tests/value-objects/coordinates/Longitude.spec.ts +0 -24
- package/tests/value-objects/hashes/Hashes.spec.ts +0 -139
- package/tests/value-objects/hashes/MD5Hash.spec.ts +0 -187
- package/tests/value-objects/hashes/SHA256Hash.spec.ts +0 -220
- package/tests/value-objects/hashes/SHA512Hash.spec.ts +0 -220
- package/tests/value-objects/ids/ShortId.spec.ts +0 -34
- package/tests/value-objects/ids/UUID.spec.ts +0 -37
- package/tests/value-objects/time/CalendarDay.spec.ts +0 -182
- package/tests/value-objects/time/Day.spec.ts +0 -29
- package/tests/value-objects/time/DayOfWeek.spec.ts +0 -71
- package/tests/value-objects/time/Duration.spec.ts +0 -278
- package/tests/value-objects/time/Hour.spec.ts +0 -197
- package/tests/value-objects/time/MonthOfYear.spec.ts +0 -111
- package/tests/value-objects/time/Timestamp.spec.ts +0 -497
- package/tests/value-objects/time/TimestampInterval.spec.ts +0 -383
- package/tests/value-objects/time/Year.spec.ts +0 -48
- package/tsconfig.jest.json +0 -33
- package/tsconfig.json +0 -42
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const crypto_1 = require("crypto");
|
|
4
|
+
const src_1 = require("../../../src");
|
|
5
|
+
function computeSHA256(input) {
|
|
6
|
+
return (0, crypto_1.createHash)('sha256').update(input).digest('hex');
|
|
7
|
+
}
|
|
8
|
+
describe('SHA256Hash', () => {
|
|
9
|
+
describe('constructor', () => {
|
|
10
|
+
it('should return a NullValueObject when a Nullish is received', () => {
|
|
11
|
+
expect(() => new src_1.SHA256Hash(undefined)).not.toThrow();
|
|
12
|
+
expect(src_1.NullObject.isNullObject(new src_1.SHA256Hash(undefined))).toBeTrue();
|
|
13
|
+
});
|
|
14
|
+
const validSHA256Hashes = [
|
|
15
|
+
'2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824', // SHA256 of 'hello'
|
|
16
|
+
'9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08', // SHA256 of 'test'
|
|
17
|
+
'5e884898da28047151d0e56f8dc6292773603d0d6aabbdd62a11ef721d1542d8', // SHA256 of 'password'
|
|
18
|
+
'e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855', // SHA256 of empty string
|
|
19
|
+
'8c6976e5b5410415bde908bd4dee15dfb167a9c873fc4bb8a81f6f2ab448a918', // SHA256 of 'admin'
|
|
20
|
+
];
|
|
21
|
+
it.each(validSHA256Hashes)('should create an SHA256Hash instance for valid SHA256 hash strings', (hash) => {
|
|
22
|
+
expect(() => new src_1.SHA256Hash(hash)).not.toThrow();
|
|
23
|
+
expect(new src_1.SHA256Hash(hash).toString()).toBe(hash);
|
|
24
|
+
});
|
|
25
|
+
const invalidSHA256Hashes = [
|
|
26
|
+
'invalid-hash',
|
|
27
|
+
'2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b982', // 63 chars
|
|
28
|
+
'2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b98245', // 65 chars
|
|
29
|
+
'gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg', // 64 chars but invalid hex
|
|
30
|
+
'2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b982g', // 64 chars with non-hex
|
|
31
|
+
'',
|
|
32
|
+
'a'.repeat(63),
|
|
33
|
+
'a'.repeat(65),
|
|
34
|
+
];
|
|
35
|
+
it.each(invalidSHA256Hashes)('should throw InvalidHashError for invalid SHA256 hash strings', (hash) => {
|
|
36
|
+
expect(() => new src_1.SHA256Hash(hash)).toThrow(src_1.InvalidHashError);
|
|
37
|
+
});
|
|
38
|
+
it('should accept another StringValueObject', () => {
|
|
39
|
+
const hashString = new src_1.StringValueObject('2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824');
|
|
40
|
+
const hash = new src_1.SHA256Hash(hashString);
|
|
41
|
+
expect(hash.toString()).toBe('2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824');
|
|
42
|
+
});
|
|
43
|
+
it('should validate hash format when constructed from StringValueObject', () => {
|
|
44
|
+
const invalidHashString = new src_1.StringValueObject('invalid-hash');
|
|
45
|
+
expect(() => new src_1.SHA256Hash(invalidHashString)).toThrow(src_1.InvalidHashError);
|
|
46
|
+
});
|
|
47
|
+
});
|
|
48
|
+
describe('static methods', () => {
|
|
49
|
+
describe('isValid', () => {
|
|
50
|
+
it('should return true for valid SHA256 hashes', () => {
|
|
51
|
+
const validHash = '2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824';
|
|
52
|
+
expect(src_1.SHA256Hash.isValid(validHash)).toBeTrue();
|
|
53
|
+
expect(src_1.SHA256Hash.isValid(new src_1.StringValueObject(validHash))).toBeTrue();
|
|
54
|
+
});
|
|
55
|
+
it('should return false for invalid SHA256 hashes', () => {
|
|
56
|
+
expect(src_1.SHA256Hash.isValid('invalid')).toBeFalse();
|
|
57
|
+
expect(src_1.SHA256Hash.isValid('123')).toBeFalse();
|
|
58
|
+
expect(src_1.SHA256Hash.isValid('g'.repeat(64))).toBeFalse();
|
|
59
|
+
});
|
|
60
|
+
});
|
|
61
|
+
describe('from', () => {
|
|
62
|
+
it('should compute SHA256 hash from string', () => {
|
|
63
|
+
const input = 'hello';
|
|
64
|
+
const expected = computeSHA256(input);
|
|
65
|
+
const hash = src_1.SHA256Hash.from(input);
|
|
66
|
+
expect(hash.valueOf()).toBe(expected);
|
|
67
|
+
});
|
|
68
|
+
it('should compute SHA256 hash from Buffer', () => {
|
|
69
|
+
const input = Buffer.from('hello');
|
|
70
|
+
const expected = computeSHA256(input);
|
|
71
|
+
const hash = src_1.SHA256Hash.from(input);
|
|
72
|
+
expect(hash.valueOf()).toBe(expected);
|
|
73
|
+
});
|
|
74
|
+
it('should compute SHA256 hash from StringValueObject', () => {
|
|
75
|
+
const input = new src_1.StringValueObject('hello');
|
|
76
|
+
const expected = computeSHA256(input.valueOf());
|
|
77
|
+
const hash = src_1.SHA256Hash.from(input);
|
|
78
|
+
expect(hash.valueOf()).toBe(expected);
|
|
79
|
+
});
|
|
80
|
+
});
|
|
81
|
+
});
|
|
82
|
+
describe('inheritance and ValueObject behavior', () => {
|
|
83
|
+
it('should inherit from ValueObject', () => {
|
|
84
|
+
const hash = new src_1.SHA256Hash('2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824');
|
|
85
|
+
expect(hash).toBeInstanceOf(src_1.SHA256Hash);
|
|
86
|
+
expect(hash.valueOf).toBeDefined();
|
|
87
|
+
expect(hash.isEqual).toBeDefined();
|
|
88
|
+
expect(hash.toString).toBeDefined();
|
|
89
|
+
});
|
|
90
|
+
it('should implement valueOf() method correctly', () => {
|
|
91
|
+
const hashValue = '9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08';
|
|
92
|
+
const hash = new src_1.SHA256Hash(hashValue);
|
|
93
|
+
expect(hash.valueOf()).toBe(hashValue);
|
|
94
|
+
});
|
|
95
|
+
it('should implement toString() method correctly', () => {
|
|
96
|
+
const hashValue = '5e884898da28047151d0e56f8dc6292773603d0d6aabbdd62a11ef721d1542d8';
|
|
97
|
+
const hash = new src_1.SHA256Hash(hashValue);
|
|
98
|
+
expect(hash.toString()).toBe(hashValue);
|
|
99
|
+
});
|
|
100
|
+
it('should implement isEqual() method correctly', () => {
|
|
101
|
+
const hashValue = '2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824';
|
|
102
|
+
const hash1 = new src_1.SHA256Hash(hashValue);
|
|
103
|
+
const hash2 = new src_1.SHA256Hash(hashValue);
|
|
104
|
+
const hash3 = new src_1.SHA256Hash('9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08');
|
|
105
|
+
expect(hash1.isEqual(hash2)).toBeTrue();
|
|
106
|
+
expect(hash1.isEqual(hash3)).toBeFalse();
|
|
107
|
+
expect(hash1.isEqual(hashValue)).toBeTrue();
|
|
108
|
+
expect(hash1.isEqual('9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08')).toBeFalse();
|
|
109
|
+
});
|
|
110
|
+
it('should compare with string values using isEqual', () => {
|
|
111
|
+
const hash = new src_1.SHA256Hash('2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824');
|
|
112
|
+
expect(hash.isEqual('2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824')).toBeTrue();
|
|
113
|
+
expect(hash.isEqual('9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08')).toBeFalse();
|
|
114
|
+
});
|
|
115
|
+
it('should implement clone() method correctly inherited from ValueObject', () => {
|
|
116
|
+
const originalValue = '2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824';
|
|
117
|
+
const original = new src_1.SHA256Hash(originalValue);
|
|
118
|
+
const cloned = original.clone();
|
|
119
|
+
expect(cloned).toBeInstanceOf(src_1.SHA256Hash);
|
|
120
|
+
expect(cloned.valueOf()).toBe(originalValue);
|
|
121
|
+
expect(cloned.toString()).toBe(originalValue);
|
|
122
|
+
expect(cloned.isEqual(original)).toBeTrue();
|
|
123
|
+
expect(cloned).not.toBe(original); // Different instances
|
|
124
|
+
});
|
|
125
|
+
it('should maintain hash validation in cloned instances', () => {
|
|
126
|
+
const original = new src_1.SHA256Hash('2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824');
|
|
127
|
+
const cloned = original.clone();
|
|
128
|
+
expect(cloned).toBeInstanceOf(src_1.SHA256Hash);
|
|
129
|
+
expect(cloned.valueOf()).toBe('2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824');
|
|
130
|
+
// Cloned instance should still be a valid hash
|
|
131
|
+
expect(() => cloned.toString()).not.toThrow();
|
|
132
|
+
expect(cloned.toString()).toBe('2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824');
|
|
133
|
+
});
|
|
134
|
+
});
|
|
135
|
+
describe('instance methods', () => {
|
|
136
|
+
describe('toBase64', () => {
|
|
137
|
+
it('should convert hash to base64 correctly', () => {
|
|
138
|
+
const hashValue = '2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824';
|
|
139
|
+
const hash = new src_1.SHA256Hash(hashValue);
|
|
140
|
+
const base64 = hash.toBase64();
|
|
141
|
+
expect(base64).toBeInstanceOf(src_1.StringValueObject);
|
|
142
|
+
expect(base64.valueOf()).toBe(Buffer.from(hashValue, 'hex').toString('base64'));
|
|
143
|
+
});
|
|
144
|
+
});
|
|
145
|
+
});
|
|
146
|
+
});
|
|
147
|
+
//# sourceMappingURL=SHA256Hash.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SHA256Hash.spec.js","sourceRoot":"","sources":["../../../../tests/value-objects/hashes/SHA256Hash.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SHA512Hash.spec.d.ts","sourceRoot":"","sources":["../../../../tests/value-objects/hashes/SHA512Hash.spec.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const crypto_1 = require("crypto");
|
|
4
|
+
const src_1 = require("../../../src");
|
|
5
|
+
function computeSHA512(input) {
|
|
6
|
+
return (0, crypto_1.createHash)('sha512').update(input).digest('hex');
|
|
7
|
+
}
|
|
8
|
+
describe('SHA512Hash', () => {
|
|
9
|
+
describe('constructor', () => {
|
|
10
|
+
it('should return a NullValueObject when a Nullish is received', () => {
|
|
11
|
+
expect(() => new src_1.SHA512Hash(undefined)).not.toThrow();
|
|
12
|
+
expect(src_1.NullObject.isNullObject(new src_1.SHA512Hash(undefined))).toBeTrue();
|
|
13
|
+
});
|
|
14
|
+
const validSHA512Hashes = [
|
|
15
|
+
'9b71d224bd62f3785d96d46ad3ea3d73319bfbc2890caadae2dff72519673ca72323c3d99ba5c11d7c7acc6e14b8c5da0c4663475c2e5c3adef46f73bcdec043', // SHA512 of 'hello'
|
|
16
|
+
'ee26b0dd4af7e749aa1a8ee3c10ae9923f618980772e473f8819a5d4940e0db27ac185f8a0e1d5f84f88bc887fd67b143732c304cc5fa9ad8e6f57f50028a8ff', // SHA512 of 'test'
|
|
17
|
+
'b109f3bbbc244eb82441917ed06d618b9008dd09b3befd1b5e07394c706a8bb980b1d7785e5976ec049b46df5f1326af5a2ea6d103fd07c95385ffab0cacbc86', // SHA512 of 'password'
|
|
18
|
+
'cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e', // SHA512 of empty string
|
|
19
|
+
'c7ad44cbad762a5da0a452f9e854fdc1e0e7a52a38015f23f3eab1d80b931dd472634dfac71cd34ebc35d16ab7fb8a90c81f975113d6c7538dc69dd8de9077ec', // SHA512 of 'admin'
|
|
20
|
+
];
|
|
21
|
+
it.each(validSHA512Hashes)('should create an SHA512Hash instance for valid SHA512 hash strings', (hash) => {
|
|
22
|
+
expect(() => new src_1.SHA512Hash(hash)).not.toThrow();
|
|
23
|
+
expect(new src_1.SHA512Hash(hash).toString()).toBe(hash);
|
|
24
|
+
});
|
|
25
|
+
const invalidSHA512Hashes = [
|
|
26
|
+
'invalid-hash',
|
|
27
|
+
'9b71d224bd62f3785d96d46ad3ea3d73319bfbc2890caadae2dff72519673ca7232', // 127 chars
|
|
28
|
+
'9b71d224bd62f3785d96d46ad3ea3d73319bfbc2890caadae2dff72519673ca723234', // 129 chars
|
|
29
|
+
'g'.repeat(128), // 128 chars but invalid hex
|
|
30
|
+
'9b71d224bd62f3785d96d46ad3ea3d73319bfbc2890caadae2dff72519673ca7232g', // 128 chars with non-hex
|
|
31
|
+
'',
|
|
32
|
+
'a'.repeat(127),
|
|
33
|
+
'a'.repeat(129),
|
|
34
|
+
];
|
|
35
|
+
it.each(invalidSHA512Hashes)('should throw InvalidHashError for invalid SHA512 hash strings', (hash) => {
|
|
36
|
+
expect(() => new src_1.SHA512Hash(hash)).toThrow(src_1.InvalidHashError);
|
|
37
|
+
});
|
|
38
|
+
it('should accept another StringValueObject', () => {
|
|
39
|
+
const hashString = new src_1.StringValueObject('9b71d224bd62f3785d96d46ad3ea3d73319bfbc2890caadae2dff72519673ca72323c3d99ba5c11d7c7acc6e14b8c5da0c4663475c2e5c3adef46f73bcdec043');
|
|
40
|
+
const hash = new src_1.SHA512Hash(hashString);
|
|
41
|
+
expect(hash.toString()).toBe('9b71d224bd62f3785d96d46ad3ea3d73319bfbc2890caadae2dff72519673ca72323c3d99ba5c11d7c7acc6e14b8c5da0c4663475c2e5c3adef46f73bcdec043');
|
|
42
|
+
});
|
|
43
|
+
it('should validate hash format when constructed from StringValueObject', () => {
|
|
44
|
+
const invalidHashString = new src_1.StringValueObject('invalid-hash');
|
|
45
|
+
expect(() => new src_1.SHA512Hash(invalidHashString)).toThrow(src_1.InvalidHashError);
|
|
46
|
+
});
|
|
47
|
+
});
|
|
48
|
+
describe('static methods', () => {
|
|
49
|
+
describe('isValid', () => {
|
|
50
|
+
it('should return true for valid SHA512 hashes', () => {
|
|
51
|
+
const validHash = '9b71d224bd62f3785d96d46ad3ea3d73319bfbc2890caadae2dff72519673ca72323c3d99ba5c11d7c7acc6e14b8c5da0c4663475c2e5c3adef46f73bcdec043';
|
|
52
|
+
expect(src_1.SHA512Hash.isValid(validHash)).toBeTrue();
|
|
53
|
+
expect(src_1.SHA512Hash.isValid(new src_1.StringValueObject(validHash))).toBeTrue();
|
|
54
|
+
});
|
|
55
|
+
it('should return false for invalid SHA512 hashes', () => {
|
|
56
|
+
expect(src_1.SHA512Hash.isValid('invalid')).toBeFalse();
|
|
57
|
+
expect(src_1.SHA512Hash.isValid('123')).toBeFalse();
|
|
58
|
+
expect(src_1.SHA512Hash.isValid('g'.repeat(128))).toBeFalse();
|
|
59
|
+
});
|
|
60
|
+
});
|
|
61
|
+
describe('from', () => {
|
|
62
|
+
it('should compute SHA512 hash from string', () => {
|
|
63
|
+
const input = 'hello';
|
|
64
|
+
const expected = computeSHA512(input);
|
|
65
|
+
const hash = src_1.SHA512Hash.from(input);
|
|
66
|
+
expect(hash.valueOf()).toBe(expected);
|
|
67
|
+
});
|
|
68
|
+
it('should compute SHA512 hash from Buffer', () => {
|
|
69
|
+
const input = Buffer.from('hello');
|
|
70
|
+
const expected = computeSHA512(input);
|
|
71
|
+
const hash = src_1.SHA512Hash.from(input);
|
|
72
|
+
expect(hash.valueOf()).toBe(expected);
|
|
73
|
+
});
|
|
74
|
+
it('should compute SHA512 hash from StringValueObject', () => {
|
|
75
|
+
const input = new src_1.StringValueObject('hello');
|
|
76
|
+
const expected = computeSHA512(input.valueOf());
|
|
77
|
+
const hash = src_1.SHA512Hash.from(input);
|
|
78
|
+
expect(hash.valueOf()).toBe(expected);
|
|
79
|
+
});
|
|
80
|
+
});
|
|
81
|
+
});
|
|
82
|
+
describe('inheritance and ValueObject behavior', () => {
|
|
83
|
+
it('should inherit from ValueObject', () => {
|
|
84
|
+
const hash = new src_1.SHA512Hash('9b71d224bd62f3785d96d46ad3ea3d73319bfbc2890caadae2dff72519673ca72323c3d99ba5c11d7c7acc6e14b8c5da0c4663475c2e5c3adef46f73bcdec043');
|
|
85
|
+
expect(hash).toBeInstanceOf(src_1.SHA512Hash);
|
|
86
|
+
expect(hash.valueOf).toBeDefined();
|
|
87
|
+
expect(hash.isEqual).toBeDefined();
|
|
88
|
+
expect(hash.toString).toBeDefined();
|
|
89
|
+
});
|
|
90
|
+
it('should implement valueOf() method correctly', () => {
|
|
91
|
+
const hashValue = 'ee26b0dd4af7e749aa1a8ee3c10ae9923f618980772e473f8819a5d4940e0db27ac185f8a0e1d5f84f88bc887fd67b143732c304cc5fa9ad8e6f57f50028a8ff';
|
|
92
|
+
const hash = new src_1.SHA512Hash(hashValue);
|
|
93
|
+
expect(hash.valueOf()).toBe(hashValue);
|
|
94
|
+
});
|
|
95
|
+
it('should implement toString() method correctly', () => {
|
|
96
|
+
const hashValue = 'b109f3bbbc244eb82441917ed06d618b9008dd09b3befd1b5e07394c706a8bb980b1d7785e5976ec049b46df5f1326af5a2ea6d103fd07c95385ffab0cacbc86';
|
|
97
|
+
const hash = new src_1.SHA512Hash(hashValue);
|
|
98
|
+
expect(hash.toString()).toBe(hashValue);
|
|
99
|
+
});
|
|
100
|
+
it('should implement isEqual() method correctly', () => {
|
|
101
|
+
const hashValue = '9b71d224bd62f3785d96d46ad3ea3d73319bfbc2890caadae2dff72519673ca72323c3d99ba5c11d7c7acc6e14b8c5da0c4663475c2e5c3adef46f73bcdec043';
|
|
102
|
+
const hash1 = new src_1.SHA512Hash(hashValue);
|
|
103
|
+
const hash2 = new src_1.SHA512Hash(hashValue);
|
|
104
|
+
const hash3 = new src_1.SHA512Hash('ee26b0dd4af7e749aa1a8ee3c10ae9923f618980772e473f8819a5d4940e0db27ac185f8a0e1d5f84f88bc887fd67b143732c304cc5fa9ad8e6f57f50028a8ff');
|
|
105
|
+
expect(hash1.isEqual(hash2)).toBeTrue();
|
|
106
|
+
expect(hash1.isEqual(hash3)).toBeFalse();
|
|
107
|
+
expect(hash1.isEqual(hashValue)).toBeTrue();
|
|
108
|
+
expect(hash1.isEqual('ee26b0dd4af7e749aa1a8ee3c10ae9923f618980772e473f8819a5d4940e0db27ac185f8a0e1d5f84f88bc887fd67b143732c304cc5fa9ad8e6f57f50028a8ff')).toBeFalse();
|
|
109
|
+
});
|
|
110
|
+
it('should compare with string values using isEqual', () => {
|
|
111
|
+
const hash = new src_1.SHA512Hash('9b71d224bd62f3785d96d46ad3ea3d73319bfbc2890caadae2dff72519673ca72323c3d99ba5c11d7c7acc6e14b8c5da0c4663475c2e5c3adef46f73bcdec043');
|
|
112
|
+
expect(hash.isEqual('9b71d224bd62f3785d96d46ad3ea3d73319bfbc2890caadae2dff72519673ca72323c3d99ba5c11d7c7acc6e14b8c5da0c4663475c2e5c3adef46f73bcdec043')).toBeTrue();
|
|
113
|
+
expect(hash.isEqual('ee26b0dd4af7e749aa1a8ee3c10ae9923f618980772e473f8819a5d4940e0db27ac185f8a0e1d5f84f88bc887fd67b143732c304cc5fa9ad8e6f57f50028a8ff')).toBeFalse();
|
|
114
|
+
});
|
|
115
|
+
it('should implement clone() method correctly inherited from ValueObject', () => {
|
|
116
|
+
const originalValue = '9b71d224bd62f3785d96d46ad3ea3d73319bfbc2890caadae2dff72519673ca72323c3d99ba5c11d7c7acc6e14b8c5da0c4663475c2e5c3adef46f73bcdec043';
|
|
117
|
+
const original = new src_1.SHA512Hash(originalValue);
|
|
118
|
+
const cloned = original.clone();
|
|
119
|
+
expect(cloned).toBeInstanceOf(src_1.SHA512Hash);
|
|
120
|
+
expect(cloned.valueOf()).toBe(originalValue);
|
|
121
|
+
expect(cloned.toString()).toBe(originalValue);
|
|
122
|
+
expect(cloned.isEqual(original)).toBeTrue();
|
|
123
|
+
expect(cloned).not.toBe(original); // Different instances
|
|
124
|
+
});
|
|
125
|
+
it('should maintain hash validation in cloned instances', () => {
|
|
126
|
+
const original = new src_1.SHA512Hash('9b71d224bd62f3785d96d46ad3ea3d73319bfbc2890caadae2dff72519673ca72323c3d99ba5c11d7c7acc6e14b8c5da0c4663475c2e5c3adef46f73bcdec043');
|
|
127
|
+
const cloned = original.clone();
|
|
128
|
+
expect(cloned).toBeInstanceOf(src_1.SHA512Hash);
|
|
129
|
+
expect(cloned.valueOf()).toBe('9b71d224bd62f3785d96d46ad3ea3d73319bfbc2890caadae2dff72519673ca72323c3d99ba5c11d7c7acc6e14b8c5da0c4663475c2e5c3adef46f73bcdec043');
|
|
130
|
+
// Cloned instance should still be a valid hash
|
|
131
|
+
expect(() => cloned.toString()).not.toThrow();
|
|
132
|
+
expect(cloned.toString()).toBe('9b71d224bd62f3785d96d46ad3ea3d73319bfbc2890caadae2dff72519673ca72323c3d99ba5c11d7c7acc6e14b8c5da0c4663475c2e5c3adef46f73bcdec043');
|
|
133
|
+
});
|
|
134
|
+
});
|
|
135
|
+
describe('instance methods', () => {
|
|
136
|
+
describe('toBase64', () => {
|
|
137
|
+
it('should convert hash to base64 correctly', () => {
|
|
138
|
+
const hashValue = '9b71d224bd62f3785d96d46ad3ea3d73319bfbc2890caadae2dff72519673ca72323c3d99ba5c11d7c7acc6e14b8c5da0c4663475c2e5c3adef46f73bcdec043';
|
|
139
|
+
const hash = new src_1.SHA512Hash(hashValue);
|
|
140
|
+
const base64 = hash.toBase64();
|
|
141
|
+
expect(base64).toBeInstanceOf(src_1.StringValueObject);
|
|
142
|
+
expect(base64.valueOf()).toBe(Buffer.from(hashValue, 'hex').toString('base64'));
|
|
143
|
+
});
|
|
144
|
+
});
|
|
145
|
+
});
|
|
146
|
+
});
|
|
147
|
+
//# sourceMappingURL=SHA512Hash.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SHA512Hash.spec.js","sourceRoot":"","sources":["../../../../tests/value-objects/hashes/SHA512Hash.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ShortId.spec.d.ts","sourceRoot":"","sources":["../../../../tests/value-objects/ids/ShortId.spec.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const InvalidFormatError_1 = require("../../../src/errors/InvalidFormatError");
|
|
4
|
+
const InvalidLengthError_1 = require("../../../src/errors/InvalidLengthError");
|
|
5
|
+
const ShortId_1 = require("../../../src/value-objects/ids/ShortId");
|
|
6
|
+
describe('ShortId', () => {
|
|
7
|
+
describe('generate', () => {
|
|
8
|
+
it('should generate a valid ShortId', () => {
|
|
9
|
+
const id = ShortId_1.ShortId.generate();
|
|
10
|
+
expect(id).toBeInstanceOf(ShortId_1.ShortId);
|
|
11
|
+
expect(id.toString()).toHaveLength(24);
|
|
12
|
+
});
|
|
13
|
+
});
|
|
14
|
+
describe('constructor', () => {
|
|
15
|
+
it('should throw invalid length error when constructor receives a empty string', () => {
|
|
16
|
+
expect(() => new ShortId_1.ShortId('')).toThrow(InvalidLengthError_1.InvalidLengthError);
|
|
17
|
+
});
|
|
18
|
+
it('should throw invalid format when value is not a valid id', () => {
|
|
19
|
+
expect(() => new ShortId_1.ShortId('123')).toThrow(InvalidLengthError_1.InvalidLengthError);
|
|
20
|
+
});
|
|
21
|
+
it("should be a valid id when it's 24 length string", () => {
|
|
22
|
+
expect(() => new ShortId_1.ShortId('12345678901234567890abcd')).not.toThrow();
|
|
23
|
+
expect(new ShortId_1.ShortId('12345678901234567890abcd')).toBeInstanceOf(ShortId_1.ShortId);
|
|
24
|
+
});
|
|
25
|
+
it("should be invalid id when it's 24 length but invalid characters", () => {
|
|
26
|
+
expect(() => new ShortId_1.ShortId('123456789@123456789#abcd')).toThrow(InvalidFormatError_1.InvalidFormatError);
|
|
27
|
+
});
|
|
28
|
+
});
|
|
29
|
+
});
|
|
30
|
+
//# sourceMappingURL=ShortId.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ShortId.spec.js","sourceRoot":"","sources":["../../../../tests/value-objects/ids/ShortId.spec.ts"],"names":[],"mappings":";;AAAA,+EAA4E;AAC5E,+EAA4E;AAE5E,oEAAiE;AAEjE,QAAQ,CAAC,SAAS,EAAE,GAAG,EAAE;IACvB,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE;QACxB,EAAE,CAAC,iCAAiC,EAAE,GAAG,EAAE;YACzC,MAAM,EAAE,GAAG,iBAAO,CAAC,QAAQ,EAAE,CAAC;YAC9B,MAAM,CAAC,EAAE,CAAC,CAAC,cAAc,CAAC,iBAAO,CAAC,CAAC;YACnC,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IACH,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;QAC3B,EAAE,CAAC,4EAA4E,EAAE,GAAG,EAAE;YACpF,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,iBAAO,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,uCAAkB,CAAC,CAAC;QAC5D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,0DAA0D,EAAE,GAAG,EAAE;YAClE,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,iBAAO,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,uCAAkB,CAAC,CAAC;QAC/D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,iDAAiD,EAAE,GAAG,EAAE;YACzD,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,iBAAO,CAAC,0BAA0B,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;YACpE,MAAM,CAAC,IAAI,iBAAO,CAAC,0BAA0B,CAAC,CAAC,CAAC,cAAc,CAAC,iBAAO,CAAC,CAAC;QAC1E,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,iEAAiE,EAAE,GAAG,EAAE;YACzE,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,iBAAO,CAAC,0BAA0B,CAAC,CAAC,CAAC,OAAO,CAC3D,uCAAkB,CACnB,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UUID.spec.d.ts","sourceRoot":"","sources":["../../../../tests/value-objects/ids/UUID.spec.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const InvalidFormatError_1 = require("../../../src/errors/InvalidFormatError");
|
|
4
|
+
const InvalidLengthError_1 = require("../../../src/errors/InvalidLengthError");
|
|
5
|
+
const UUID_1 = require("../../../src/value-objects/ids/UUID");
|
|
6
|
+
describe('UUID', () => {
|
|
7
|
+
describe('generate', () => {
|
|
8
|
+
it('should generate a valid LongId', () => {
|
|
9
|
+
const id = UUID_1.UUID.generate();
|
|
10
|
+
expect(id).toBeInstanceOf(UUID_1.UUID);
|
|
11
|
+
expect(id.toString()).toHaveLength(36);
|
|
12
|
+
});
|
|
13
|
+
});
|
|
14
|
+
describe('constructor', () => {
|
|
15
|
+
it('should throw invalid length error when constructor receives a empty string', () => {
|
|
16
|
+
expect(() => new UUID_1.UUID('')).toThrow(InvalidLengthError_1.InvalidLengthError);
|
|
17
|
+
});
|
|
18
|
+
it('should throw invalid format when value is not a valid id', () => {
|
|
19
|
+
expect(() => new UUID_1.UUID('123')).toThrow(InvalidLengthError_1.InvalidLengthError);
|
|
20
|
+
});
|
|
21
|
+
it("should be a valid id when it's 36 length string", () => {
|
|
22
|
+
expect(() => new UUID_1.UUID('8ab0b0f7-7324-4637-bc6b-109326f081c0')).not.toThrow();
|
|
23
|
+
expect(new UUID_1.UUID('8ab0b0f7-7324-4637-bc6b-109326f081c0')).toBeInstanceOf(UUID_1.UUID);
|
|
24
|
+
});
|
|
25
|
+
it("should be invalid id when it's 36 length but invalid characters", () => {
|
|
26
|
+
expect(() => new UUID_1.UUID('8ab0b0f7-7324#5637-bc6b-109326f081c0')).toThrow(InvalidFormatError_1.InvalidFormatError);
|
|
27
|
+
});
|
|
28
|
+
});
|
|
29
|
+
});
|
|
30
|
+
//# sourceMappingURL=UUID.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UUID.spec.js","sourceRoot":"","sources":["../../../../tests/value-objects/ids/UUID.spec.ts"],"names":[],"mappings":";;AAAA,+EAA4E;AAC5E,+EAA4E;AAC5E,8DAA2D;AAE3D,QAAQ,CAAC,MAAM,EAAE,GAAG,EAAE;IACpB,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE;QACxB,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;YACxC,MAAM,EAAE,GAAG,WAAI,CAAC,QAAQ,EAAE,CAAC;YAC3B,MAAM,CAAC,EAAE,CAAC,CAAC,cAAc,CAAC,WAAI,CAAC,CAAC;YAChC,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IACH,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;QAC3B,EAAE,CAAC,4EAA4E,EAAE,GAAG,EAAE;YACpF,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,WAAI,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,uCAAkB,CAAC,CAAC;QACzD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,0DAA0D,EAAE,GAAG,EAAE;YAClE,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,WAAI,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,uCAAkB,CAAC,CAAC;QAC5D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,iDAAiD,EAAE,GAAG,EAAE;YACzD,MAAM,CACJ,GAAG,EAAE,CAAC,IAAI,WAAI,CAAC,sCAAsC,CAAC,CACvD,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;YAChB,MAAM,CAAC,IAAI,WAAI,CAAC,sCAAsC,CAAC,CAAC,CAAC,cAAc,CACrE,WAAI,CACL,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,iEAAiE,EAAE,GAAG,EAAE;YACzE,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,WAAI,CAAC,sCAAsC,CAAC,CAAC,CAAC,OAAO,CACpE,uCAAkB,CACnB,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CalendarDay.spec.d.ts","sourceRoot":"","sources":["../../../../tests/value-objects/time/CalendarDay.spec.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const src_1 = require("../../../src");
|
|
4
|
+
/* eslint-disable @typescript-eslint/no-unsafe-call */
|
|
5
|
+
describe('CalendarDay', () => {
|
|
6
|
+
describe('constructor', () => {
|
|
7
|
+
it('should create a CalendarDay ', () => {
|
|
8
|
+
const now = new src_1.Timestamp();
|
|
9
|
+
const day = new src_1.CalendarDay();
|
|
10
|
+
expect(day).toMatchObject({
|
|
11
|
+
year: now.getYear().valueOf(),
|
|
12
|
+
month: now.getMonth().valueOf(),
|
|
13
|
+
day: now.getDay().valueOf(),
|
|
14
|
+
});
|
|
15
|
+
});
|
|
16
|
+
it('should create a day instance with a valid date string', () => {
|
|
17
|
+
const day = new src_1.CalendarDay('2022-01-01');
|
|
18
|
+
expect(day).toMatchObject({
|
|
19
|
+
year: 2022,
|
|
20
|
+
month: 1,
|
|
21
|
+
day: 1,
|
|
22
|
+
});
|
|
23
|
+
});
|
|
24
|
+
it('should create a day instance with a valid Timestamp', () => {
|
|
25
|
+
const day = new src_1.CalendarDay(new src_1.Timestamp('2022-01-01'));
|
|
26
|
+
expect(day).toMatchObject({
|
|
27
|
+
year: 2022,
|
|
28
|
+
month: 1,
|
|
29
|
+
day: 1,
|
|
30
|
+
});
|
|
31
|
+
});
|
|
32
|
+
it('should create a day instance with a valid Date', () => {
|
|
33
|
+
const day = new src_1.CalendarDay(new Date('2022-01-01'));
|
|
34
|
+
expect(day).toMatchObject({
|
|
35
|
+
year: 2022,
|
|
36
|
+
month: 1,
|
|
37
|
+
day: 1,
|
|
38
|
+
});
|
|
39
|
+
});
|
|
40
|
+
it('should create a day instance with a valid number', () => {
|
|
41
|
+
const day = new src_1.CalendarDay(1640995200000);
|
|
42
|
+
expect(day).toMatchObject({
|
|
43
|
+
year: 2022,
|
|
44
|
+
month: 1,
|
|
45
|
+
day: 1,
|
|
46
|
+
});
|
|
47
|
+
});
|
|
48
|
+
it('should throw InvalidDateFormatError when provided with an invalid date string', () => {
|
|
49
|
+
expect(() => new src_1.CalendarDay('2022-01-001')).toThrow(src_1.InvalidDayFormatError);
|
|
50
|
+
});
|
|
51
|
+
it('should throw InvalidDateFormatError when provided with an invalid date string', () => {
|
|
52
|
+
expect(() => new src_1.CalendarDay('2022-01')).toThrow(src_1.InvalidDayFormatError);
|
|
53
|
+
});
|
|
54
|
+
it('should throw InvalidDateFormatError when provided with an invalid date', () => {
|
|
55
|
+
expect(() => new src_1.CalendarDay(new Date(NaN))).toThrow(src_1.InvalidDayError);
|
|
56
|
+
});
|
|
57
|
+
});
|
|
58
|
+
describe('valueOf', () => {
|
|
59
|
+
it('should return the date value as a string', () => {
|
|
60
|
+
const day = new src_1.CalendarDay('2022-01-01');
|
|
61
|
+
expect(day.valueOf()).toBe('2022-01-01');
|
|
62
|
+
});
|
|
63
|
+
});
|
|
64
|
+
describe('isEqual', () => {
|
|
65
|
+
it('should return true when two days have the same value', () => {
|
|
66
|
+
const day1 = new src_1.CalendarDay('2022-01-01');
|
|
67
|
+
const day2 = new src_1.CalendarDay('2022-01-01');
|
|
68
|
+
expect(day1.isEqual(day2)).toBe(true);
|
|
69
|
+
});
|
|
70
|
+
it('should return false when two days have different values', () => {
|
|
71
|
+
const day1 = new src_1.CalendarDay('2022-01-01');
|
|
72
|
+
const day2 = new src_1.CalendarDay('2022-01-02');
|
|
73
|
+
expect(day1.isEqual(day2)).toBe(false);
|
|
74
|
+
});
|
|
75
|
+
});
|
|
76
|
+
describe('isAfter', () => {
|
|
77
|
+
it('should return true when the current day is after the provided day', () => {
|
|
78
|
+
const day1 = new src_1.CalendarDay('2022-01-02');
|
|
79
|
+
const day2 = new src_1.CalendarDay('2022-01-01');
|
|
80
|
+
expect(day1.isAfter(day2)).toBe(true);
|
|
81
|
+
});
|
|
82
|
+
it('should return false when the current day is not after the provided day', () => {
|
|
83
|
+
const day1 = new src_1.CalendarDay('2022-01-01');
|
|
84
|
+
const day2 = new src_1.CalendarDay('2022-01-02');
|
|
85
|
+
expect(day1.isAfter(day2)).toBe(false);
|
|
86
|
+
});
|
|
87
|
+
});
|
|
88
|
+
describe('isBefore', () => {
|
|
89
|
+
it('should return true when the current day is before the provided day', () => {
|
|
90
|
+
const day1 = new src_1.CalendarDay('2022-01-01');
|
|
91
|
+
const day2 = new src_1.CalendarDay('2022-01-02');
|
|
92
|
+
expect(day1.isBefore(day2)).toBe(true);
|
|
93
|
+
});
|
|
94
|
+
it('should return false when the current day is not before the provided day', () => {
|
|
95
|
+
const day1 = new src_1.CalendarDay('2022-01-02');
|
|
96
|
+
const day2 = new src_1.CalendarDay('2022-01-01');
|
|
97
|
+
expect(day1.isBefore(day2)).toBe(false);
|
|
98
|
+
});
|
|
99
|
+
});
|
|
100
|
+
describe('getYear', () => {
|
|
101
|
+
it('should return the year of the day', () => {
|
|
102
|
+
const day = new src_1.CalendarDay('2022-01-02');
|
|
103
|
+
expect(day.getYear()).toBe(2022);
|
|
104
|
+
});
|
|
105
|
+
});
|
|
106
|
+
describe('getMonth', () => {
|
|
107
|
+
it('should return the Month of the day', () => {
|
|
108
|
+
const day = new src_1.CalendarDay('2022-01-02');
|
|
109
|
+
expect(day.getMonth()).toStrictEqual(src_1.Month.JANUARY);
|
|
110
|
+
});
|
|
111
|
+
});
|
|
112
|
+
describe('getDay', () => {
|
|
113
|
+
it('should return the year of the day', () => {
|
|
114
|
+
const day = new src_1.CalendarDay('2022-01-02');
|
|
115
|
+
expect(day.getDay()).toStrictEqual(new src_1.Day(2));
|
|
116
|
+
});
|
|
117
|
+
});
|
|
118
|
+
describe('getDayOfWeek', () => {
|
|
119
|
+
it('should return the correct DayOfWeek for a given date', () => {
|
|
120
|
+
expect(new src_1.CalendarDay('2025-01-05').getDayOfWeek()).toEqual(src_1.DayOfWeek.SUNDAY);
|
|
121
|
+
expect(new src_1.CalendarDay('2025-01-31').getDayOfWeek()).toEqual(src_1.DayOfWeek.FRIDAY);
|
|
122
|
+
expect(new src_1.CalendarDay('2025-02-28').getDayOfWeek()).toEqual(src_1.DayOfWeek.FRIDAY);
|
|
123
|
+
expect(new src_1.CalendarDay('2024-12-31').getDayOfWeek()).toEqual(src_1.DayOfWeek.TUESDAY);
|
|
124
|
+
});
|
|
125
|
+
describe('toTimestamp', () => {
|
|
126
|
+
it('should return the correct Timestamp instance', () => {
|
|
127
|
+
const timestamp = new src_1.Timestamp('2022-01-01');
|
|
128
|
+
const day = new src_1.CalendarDay(timestamp);
|
|
129
|
+
expect(day.toTimestamp()).toStrictEqual(timestamp);
|
|
130
|
+
});
|
|
131
|
+
it('should return a Timestamp instance matching the date value', () => {
|
|
132
|
+
const day = new src_1.CalendarDay('2022-01-01');
|
|
133
|
+
const timestamp = day.toTimestamp();
|
|
134
|
+
expect(timestamp.valueOf()).toBe(new src_1.Timestamp('2022-01-01').valueOf());
|
|
135
|
+
});
|
|
136
|
+
});
|
|
137
|
+
describe('getMonthOfYear', () => {
|
|
138
|
+
it('should return a MonthOfYear instance with the correct month and year', () => {
|
|
139
|
+
const day = new src_1.CalendarDay('2022-01-02');
|
|
140
|
+
const month = day.getMonthOfYear();
|
|
141
|
+
expect(month).toMatchObject({
|
|
142
|
+
month: src_1.Month.JANUARY,
|
|
143
|
+
year: new src_1.Year(2022),
|
|
144
|
+
});
|
|
145
|
+
});
|
|
146
|
+
});
|
|
147
|
+
});
|
|
148
|
+
});
|
|
149
|
+
//# sourceMappingURL=CalendarDay.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CalendarDay.spec.js","sourceRoot":"","sources":["../../../../tests/value-objects/time/CalendarDay.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Day.spec.d.ts","sourceRoot":"","sources":["../../../../tests/value-objects/time/Day.spec.ts"],"names":[],"mappings":""}
|