@haskou/value-objects 6.1.2 → 7.0.0
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/README.md +4 -0
- package/dist/index.cjs +1244 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +538 -0
- package/dist/index.d.cts.map +1 -0
- package/dist/index.d.mts +1 -0
- package/dist/index.mjs +2 -0
- package/package.json +17 -11
- package/dist/errors/BaseError.d.ts +0 -8
- package/dist/errors/BaseError.d.ts.map +0 -1
- package/dist/errors/BaseError.js +0 -22
- package/dist/errors/BaseError.js.map +0 -1
- package/dist/errors/DomainError.d.ts +0 -7
- package/dist/errors/DomainError.d.ts.map +0 -1
- package/dist/errors/DomainError.js +0 -15
- package/dist/errors/DomainError.js.map +0 -1
- package/dist/errors/InvalidColorError.d.ts +0 -5
- package/dist/errors/InvalidColorError.d.ts.map +0 -1
- package/dist/errors/InvalidColorError.js +0 -11
- package/dist/errors/InvalidColorError.js.map +0 -1
- package/dist/errors/InvalidDayError.d.ts +0 -5
- package/dist/errors/InvalidDayError.d.ts.map +0 -1
- package/dist/errors/InvalidDayError.js +0 -11
- package/dist/errors/InvalidDayError.js.map +0 -1
- package/dist/errors/InvalidDayFormatError.d.ts +0 -5
- package/dist/errors/InvalidDayFormatError.d.ts.map +0 -1
- package/dist/errors/InvalidDayFormatError.js +0 -11
- package/dist/errors/InvalidDayFormatError.js.map +0 -1
- package/dist/errors/InvalidEmailError.d.ts +0 -5
- package/dist/errors/InvalidEmailError.d.ts.map +0 -1
- package/dist/errors/InvalidEmailError.js +0 -11
- package/dist/errors/InvalidEmailError.js.map +0 -1
- package/dist/errors/InvalidFormatError.d.ts +0 -5
- package/dist/errors/InvalidFormatError.d.ts.map +0 -1
- package/dist/errors/InvalidFormatError.js +0 -11
- package/dist/errors/InvalidFormatError.js.map +0 -1
- package/dist/errors/InvalidHashError.d.ts +0 -5
- package/dist/errors/InvalidHashError.d.ts.map +0 -1
- package/dist/errors/InvalidHashError.js +0 -11
- package/dist/errors/InvalidHashError.js.map +0 -1
- package/dist/errors/InvalidHourError.d.ts +0 -5
- package/dist/errors/InvalidHourError.d.ts.map +0 -1
- package/dist/errors/InvalidHourError.js +0 -11
- package/dist/errors/InvalidHourError.js.map +0 -1
- package/dist/errors/InvalidIntegerError.d.ts +0 -5
- package/dist/errors/InvalidIntegerError.d.ts.map +0 -1
- package/dist/errors/InvalidIntegerError.js +0 -11
- package/dist/errors/InvalidIntegerError.js.map +0 -1
- package/dist/errors/InvalidLatitudeError.d.ts +0 -5
- package/dist/errors/InvalidLatitudeError.d.ts.map +0 -1
- package/dist/errors/InvalidLatitudeError.js +0 -11
- package/dist/errors/InvalidLatitudeError.js.map +0 -1
- package/dist/errors/InvalidLengthError.d.ts +0 -5
- package/dist/errors/InvalidLengthError.d.ts.map +0 -1
- package/dist/errors/InvalidLengthError.js +0 -11
- package/dist/errors/InvalidLengthError.js.map +0 -1
- package/dist/errors/InvalidLongitudeError.d.ts +0 -5
- package/dist/errors/InvalidLongitudeError.d.ts.map +0 -1
- package/dist/errors/InvalidLongitudeError.js +0 -11
- package/dist/errors/InvalidLongitudeError.js.map +0 -1
- package/dist/errors/InvalidMinutesError.d.ts +0 -5
- package/dist/errors/InvalidMinutesError.d.ts.map +0 -1
- package/dist/errors/InvalidMinutesError.js +0 -11
- package/dist/errors/InvalidMinutesError.js.map +0 -1
- package/dist/errors/InvalidNumberError.d.ts +0 -5
- package/dist/errors/InvalidNumberError.d.ts.map +0 -1
- package/dist/errors/InvalidNumberError.js +0 -11
- package/dist/errors/InvalidNumberError.js.map +0 -1
- package/dist/errors/InvalidPasswordError.d.ts +0 -5
- package/dist/errors/InvalidPasswordError.d.ts.map +0 -1
- package/dist/errors/InvalidPasswordError.js +0 -11
- package/dist/errors/InvalidPasswordError.js.map +0 -1
- package/dist/errors/InvalidPositiveNumberError.d.ts +0 -5
- package/dist/errors/InvalidPositiveNumberError.d.ts.map +0 -1
- package/dist/errors/InvalidPositiveNumberError.js +0 -11
- package/dist/errors/InvalidPositiveNumberError.js.map +0 -1
- package/dist/errors/InvalidStringLengthError.d.ts +0 -5
- package/dist/errors/InvalidStringLengthError.d.ts.map +0 -1
- package/dist/errors/InvalidStringLengthError.js +0 -11
- package/dist/errors/InvalidStringLengthError.js.map +0 -1
- package/dist/errors/InvalidTimestampIntervalError.d.ts +0 -6
- package/dist/errors/InvalidTimestampIntervalError.d.ts.map +0 -1
- package/dist/errors/InvalidTimestampIntervalError.js +0 -11
- package/dist/errors/InvalidTimestampIntervalError.js.map +0 -1
- package/dist/errors/NullObjectCreationDisabledError.d.ts +0 -5
- package/dist/errors/NullObjectCreationDisabledError.d.ts.map +0 -1
- package/dist/errors/NullObjectCreationDisabledError.js +0 -12
- package/dist/errors/NullObjectCreationDisabledError.js.map +0 -1
- package/dist/errors/NullObjectError.d.ts +0 -5
- package/dist/errors/NullObjectError.d.ts.map +0 -1
- package/dist/errors/NullObjectError.js +0 -12
- package/dist/errors/NullObjectError.js.map +0 -1
- package/dist/errors/ValueNotInEnumError.d.ts +0 -5
- package/dist/errors/ValueNotInEnumError.d.ts.map +0 -1
- package/dist/errors/ValueNotInEnumError.js +0 -11
- package/dist/errors/ValueNotInEnumError.js.map +0 -1
- package/dist/errors/index.d.ts +0 -24
- package/dist/errors/index.d.ts.map +0 -1
- package/dist/errors/index.js +0 -27
- package/dist/errors/index.js.map +0 -1
- package/dist/index.d.ts +0 -6
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -9
- package/dist/index.js.map +0 -1
- package/dist/interfaces/PrimitiveOf.d.ts +0 -9
- package/dist/interfaces/PrimitiveOf.d.ts.map +0 -1
- package/dist/interfaces/PrimitiveOf.js +0 -3
- package/dist/interfaces/PrimitiveOf.js.map +0 -1
- package/dist/interfaces/index.d.ts +0 -2
- package/dist/interfaces/index.d.ts.map +0 -1
- package/dist/interfaces/index.js +0 -5
- package/dist/interfaces/index.js.map +0 -1
- package/dist/patterns/Assert.d.ts +0 -5
- package/dist/patterns/Assert.d.ts.map +0 -1
- package/dist/patterns/Assert.js +0 -11
- package/dist/patterns/Assert.js.map +0 -1
- package/dist/patterns/index.d.ts +0 -2
- package/dist/patterns/index.d.ts.map +0 -1
- package/dist/patterns/index.js +0 -5
- package/dist/patterns/index.js.map +0 -1
- package/dist/types/Nullish.d.ts +0 -2
- package/dist/types/Nullish.d.ts.map +0 -1
- package/dist/types/Nullish.js +0 -3
- package/dist/types/Nullish.js.map +0 -1
- package/dist/types/Primitive.d.ts +0 -2
- package/dist/types/Primitive.d.ts.map +0 -1
- package/dist/types/Primitive.js +0 -3
- package/dist/types/Primitive.js.map +0 -1
- package/dist/types/index.d.ts +0 -3
- package/dist/types/index.d.ts.map +0 -1
- package/dist/types/index.js +0 -6
- package/dist/types/index.js.map +0 -1
- package/dist/value-objects/Color.d.ts +0 -19
- package/dist/value-objects/Color.d.ts.map +0 -1
- package/dist/value-objects/Color.js +0 -40
- package/dist/value-objects/Color.js.map +0 -1
- package/dist/value-objects/Email.d.ts +0 -7
- package/dist/value-objects/Email.d.ts.map +0 -1
- package/dist/value-objects/Email.js +0 -22
- package/dist/value-objects/Email.js.map +0 -1
- package/dist/value-objects/Enum.d.ts +0 -9
- package/dist/value-objects/Enum.d.ts.map +0 -1
- package/dist/value-objects/Enum.js +0 -24
- package/dist/value-objects/Enum.js.map +0 -1
- package/dist/value-objects/Integer.d.ts +0 -6
- package/dist/value-objects/Integer.d.ts.map +0 -1
- package/dist/value-objects/Integer.js +0 -21
- package/dist/value-objects/Integer.js.map +0 -1
- package/dist/value-objects/NullObject.d.ts +0 -8
- package/dist/value-objects/NullObject.d.ts.map +0 -1
- package/dist/value-objects/NullObject.js +0 -43
- package/dist/value-objects/NullObject.js.map +0 -1
- package/dist/value-objects/NumberValueObject.d.ts +0 -15
- package/dist/value-objects/NumberValueObject.d.ts.map +0 -1
- package/dist/value-objects/NumberValueObject.js +0 -48
- package/dist/value-objects/NumberValueObject.js.map +0 -1
- package/dist/value-objects/Password.d.ts +0 -8
- package/dist/value-objects/Password.d.ts.map +0 -1
- package/dist/value-objects/Password.js +0 -28
- package/dist/value-objects/Password.js.map +0 -1
- package/dist/value-objects/PositiveNumber.d.ts +0 -6
- package/dist/value-objects/PositiveNumber.d.ts.map +0 -1
- package/dist/value-objects/PositiveNumber.js +0 -21
- package/dist/value-objects/PositiveNumber.js.map +0 -1
- package/dist/value-objects/StringValueObject.d.ts +0 -7
- package/dist/value-objects/StringValueObject.d.ts.map +0 -1
- package/dist/value-objects/StringValueObject.js +0 -24
- package/dist/value-objects/StringValueObject.js.map +0 -1
- package/dist/value-objects/UniqueObjectArray.d.ts +0 -15
- package/dist/value-objects/UniqueObjectArray.d.ts.map +0 -1
- package/dist/value-objects/UniqueObjectArray.js +0 -42
- package/dist/value-objects/UniqueObjectArray.js.map +0 -1
- package/dist/value-objects/ValueObject.d.ts +0 -16
- package/dist/value-objects/ValueObject.d.ts.map +0 -1
- package/dist/value-objects/ValueObject.js +0 -50
- package/dist/value-objects/ValueObject.js.map +0 -1
- package/dist/value-objects/coordinates/Coordinates.d.ts +0 -12
- package/dist/value-objects/coordinates/Coordinates.d.ts.map +0 -1
- package/dist/value-objects/coordinates/Coordinates.js +0 -28
- package/dist/value-objects/coordinates/Coordinates.js.map +0 -1
- package/dist/value-objects/coordinates/Latitude.d.ts +0 -8
- package/dist/value-objects/coordinates/Latitude.d.ts.map +0 -1
- package/dist/value-objects/coordinates/Latitude.js +0 -22
- package/dist/value-objects/coordinates/Latitude.js.map +0 -1
- package/dist/value-objects/coordinates/Longitude.d.ts +0 -8
- package/dist/value-objects/coordinates/Longitude.d.ts.map +0 -1
- package/dist/value-objects/coordinates/Longitude.js +0 -22
- package/dist/value-objects/coordinates/Longitude.js.map +0 -1
- package/dist/value-objects/coordinates/index.d.ts +0 -4
- package/dist/value-objects/coordinates/index.d.ts.map +0 -1
- package/dist/value-objects/coordinates/index.js +0 -7
- package/dist/value-objects/coordinates/index.js.map +0 -1
- package/dist/value-objects/hashes/Hash.d.ts +0 -7
- package/dist/value-objects/hashes/Hash.d.ts.map +0 -1
- package/dist/value-objects/hashes/Hash.js +0 -20
- package/dist/value-objects/hashes/Hash.js.map +0 -1
- package/dist/value-objects/hashes/MD5Hash.d.ts +0 -7
- package/dist/value-objects/hashes/MD5Hash.d.ts.map +0 -1
- package/dist/value-objects/hashes/MD5Hash.js +0 -21
- package/dist/value-objects/hashes/MD5Hash.js.map +0 -1
- package/dist/value-objects/hashes/SHA256Hash.d.ts +0 -8
- package/dist/value-objects/hashes/SHA256Hash.d.ts.map +0 -1
- package/dist/value-objects/hashes/SHA256Hash.js +0 -26
- package/dist/value-objects/hashes/SHA256Hash.js.map +0 -1
- package/dist/value-objects/hashes/SHA512Hash.d.ts +0 -8
- package/dist/value-objects/hashes/SHA512Hash.d.ts.map +0 -1
- package/dist/value-objects/hashes/SHA512Hash.js +0 -26
- package/dist/value-objects/hashes/SHA512Hash.js.map +0 -1
- package/dist/value-objects/hashes/index.d.ts +0 -5
- package/dist/value-objects/hashes/index.d.ts.map +0 -1
- package/dist/value-objects/hashes/index.js +0 -8
- package/dist/value-objects/hashes/index.js.map +0 -1
- package/dist/value-objects/ids/ShortId.d.ts +0 -11
- package/dist/value-objects/ids/ShortId.d.ts.map +0 -1
- package/dist/value-objects/ids/ShortId.js +0 -39
- package/dist/value-objects/ids/ShortId.js.map +0 -1
- package/dist/value-objects/ids/UUID.d.ts +0 -11
- package/dist/value-objects/ids/UUID.d.ts.map +0 -1
- package/dist/value-objects/ids/UUID.js +0 -30
- package/dist/value-objects/ids/UUID.js.map +0 -1
- package/dist/value-objects/ids/index.d.ts +0 -3
- package/dist/value-objects/ids/index.d.ts.map +0 -1
- package/dist/value-objects/ids/index.js +0 -6
- package/dist/value-objects/ids/index.js.map +0 -1
- package/dist/value-objects/index.d.ts +0 -17
- package/dist/value-objects/index.d.ts.map +0 -1
- package/dist/value-objects/index.js +0 -20
- package/dist/value-objects/index.js.map +0 -1
- package/dist/value-objects/media/Media.d.ts +0 -11
- package/dist/value-objects/media/Media.d.ts.map +0 -1
- package/dist/value-objects/media/Media.js +0 -38
- package/dist/value-objects/media/Media.js.map +0 -1
- package/dist/value-objects/media/index.d.ts +0 -2
- package/dist/value-objects/media/index.d.ts.map +0 -1
- package/dist/value-objects/media/index.js +0 -5
- package/dist/value-objects/media/index.js.map +0 -1
- package/dist/value-objects/time/CalendarDay.d.ts +0 -26
- package/dist/value-objects/time/CalendarDay.d.ts.map +0 -1
- package/dist/value-objects/time/CalendarDay.js +0 -88
- package/dist/value-objects/time/CalendarDay.js.map +0 -1
- package/dist/value-objects/time/Day.d.ts +0 -7
- package/dist/value-objects/time/Day.d.ts.map +0 -1
- package/dist/value-objects/time/Day.js +0 -18
- package/dist/value-objects/time/Day.js.map +0 -1
- package/dist/value-objects/time/DayOfWeek.d.ts +0 -34
- package/dist/value-objects/time/DayOfWeek.d.ts.map +0 -1
- package/dist/value-objects/time/DayOfWeek.js +0 -51
- package/dist/value-objects/time/DayOfWeek.js.map +0 -1
- package/dist/value-objects/time/Duration.d.ts +0 -23
- package/dist/value-objects/time/Duration.d.ts.map +0 -1
- package/dist/value-objects/time/Duration.js +0 -79
- package/dist/value-objects/time/Duration.js.map +0 -1
- package/dist/value-objects/time/Hour.d.ts +0 -18
- package/dist/value-objects/time/Hour.d.ts.map +0 -1
- package/dist/value-objects/time/Hour.js +0 -80
- package/dist/value-objects/time/Hour.js.map +0 -1
- package/dist/value-objects/time/Month.d.ts +0 -18
- package/dist/value-objects/time/Month.d.ts.map +0 -1
- package/dist/value-objects/time/Month.js +0 -41
- package/dist/value-objects/time/Month.js.map +0 -1
- package/dist/value-objects/time/MonthOfYear.d.ts +0 -17
- package/dist/value-objects/time/MonthOfYear.d.ts.map +0 -1
- package/dist/value-objects/time/MonthOfYear.js +0 -45
- package/dist/value-objects/time/MonthOfYear.js.map +0 -1
- package/dist/value-objects/time/Timestamp.d.ts +0 -53
- package/dist/value-objects/time/Timestamp.d.ts.map +0 -1
- package/dist/value-objects/time/Timestamp.js +0 -197
- package/dist/value-objects/time/Timestamp.js.map +0 -1
- package/dist/value-objects/time/TimestampInterval.d.ts +0 -24
- package/dist/value-objects/time/TimestampInterval.d.ts.map +0 -1
- package/dist/value-objects/time/TimestampInterval.js +0 -78
- package/dist/value-objects/time/TimestampInterval.js.map +0 -1
- package/dist/value-objects/time/Year.d.ts +0 -10
- package/dist/value-objects/time/Year.d.ts.map +0 -1
- package/dist/value-objects/time/Year.js +0 -26
- package/dist/value-objects/time/Year.js.map +0 -1
- package/dist/value-objects/time/index.d.ts +0 -11
- package/dist/value-objects/time/index.d.ts.map +0 -1
- package/dist/value-objects/time/index.js +0 -14
- package/dist/value-objects/time/index.js.map +0 -1
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { StringValueObject } from '../StringValueObject';
|
|
2
|
-
export declare class Hour extends StringValueObject {
|
|
3
|
-
private readonly minutes;
|
|
4
|
-
private readonly hours;
|
|
5
|
-
private static addTrailZero;
|
|
6
|
-
private static normalizeMinutes;
|
|
7
|
-
private static parseFromNumber;
|
|
8
|
-
private static parseFromString;
|
|
9
|
-
constructor(value: string);
|
|
10
|
-
constructor(value: number, minutes?: number);
|
|
11
|
-
addMinutes(minutes: number): Hour;
|
|
12
|
-
diffInMinutes(other: Hour): number;
|
|
13
|
-
getMinutes(): number;
|
|
14
|
-
getHours(): number;
|
|
15
|
-
isGreaterThan(hour: Hour): boolean;
|
|
16
|
-
isLessThan(hour: Hour): boolean;
|
|
17
|
-
}
|
|
18
|
-
//# sourceMappingURL=Hour.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Hour.d.ts","sourceRoot":"","sources":["../../../src/value-objects/time/Hour.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAEzD,qBAAa,IAAK,SAAQ,iBAAiB;IACzC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAE/B,OAAO,CAAC,MAAM,CAAC,YAAY;IAI3B,OAAO,CAAC,MAAM,CAAC,gBAAgB;IAM/B,OAAO,CAAC,MAAM,CAAC,eAAe;IAa9B,OAAO,CAAC,MAAM,CAAC,eAAe;gBAsBlB,KAAK,EAAE,MAAM;gBACb,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM;IAYpC,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IASjC,aAAa,CAAC,KAAK,EAAE,IAAI,GAAG,MAAM;IAiBlC,UAAU,IAAI,MAAM;IAIpB,QAAQ,IAAI,MAAM;IAIlB,aAAa,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO;IAQlC,UAAU,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO;CAOvC"}
|
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Hour = void 0;
|
|
4
|
-
const InvalidHourError_1 = require("../../errors/InvalidHourError");
|
|
5
|
-
const InvalidMinutesError_1 = require("../../errors/InvalidMinutesError");
|
|
6
|
-
const Assert_1 = require("../../patterns/Assert");
|
|
7
|
-
const StringValueObject_1 = require("../StringValueObject");
|
|
8
|
-
class Hour extends StringValueObject_1.StringValueObject {
|
|
9
|
-
minutes;
|
|
10
|
-
hours;
|
|
11
|
-
static addTrailZero(value) {
|
|
12
|
-
return value < 10 ? `0${value}` : value.toString();
|
|
13
|
-
}
|
|
14
|
-
static normalizeMinutes(totalMinutes) {
|
|
15
|
-
const minutesPerDay = 24 * 60;
|
|
16
|
-
return ((totalMinutes % minutesPerDay) + minutesPerDay) % minutesPerDay;
|
|
17
|
-
}
|
|
18
|
-
static parseFromNumber(value, minutes) {
|
|
19
|
-
(0, Assert_1.assert)(Number.isInteger(value) && value >= 0 && value <= 23, new InvalidHourError_1.InvalidHourError());
|
|
20
|
-
(0, Assert_1.assert)(Number.isInteger(minutes) && minutes >= 0 && minutes <= 59, new InvalidMinutesError_1.InvalidMinutesError());
|
|
21
|
-
return [Hour.addTrailZero(value), Hour.addTrailZero(minutes)];
|
|
22
|
-
}
|
|
23
|
-
static parseFromString(value) {
|
|
24
|
-
const parts = value.split(':');
|
|
25
|
-
(0, Assert_1.assert)(parts.length === 2 && parts[1] !== '', new InvalidHourError_1.InvalidHourError());
|
|
26
|
-
const [hours, minutes] = parts;
|
|
27
|
-
(0, Assert_1.assert)(/^\d{1,2}$/.test(hours), new InvalidHourError_1.InvalidHourError());
|
|
28
|
-
(0, Assert_1.assert)(/^\d{1,2}$/.test(minutes), new InvalidMinutesError_1.InvalidMinutesError());
|
|
29
|
-
const parsedHours = Number(hours);
|
|
30
|
-
const parsedMinutes = Number(minutes);
|
|
31
|
-
(0, Assert_1.assert)(parsedHours >= 0 && parsedHours <= 23, new InvalidHourError_1.InvalidHourError());
|
|
32
|
-
(0, Assert_1.assert)(parsedMinutes >= 0 && parsedMinutes <= 59, new InvalidMinutesError_1.InvalidMinutesError());
|
|
33
|
-
return [Hour.addTrailZero(parsedHours), Hour.addTrailZero(parsedMinutes)];
|
|
34
|
-
}
|
|
35
|
-
constructor(value, minutes) {
|
|
36
|
-
const [parsedHours, parsedMinutes] = typeof value === 'number' && minutes !== undefined
|
|
37
|
-
? Hour.parseFromNumber(value, minutes)
|
|
38
|
-
: Hour.parseFromString(value);
|
|
39
|
-
super(`${parsedHours}:${parsedMinutes}`);
|
|
40
|
-
this.hours = parsedHours;
|
|
41
|
-
this.minutes = parsedMinutes;
|
|
42
|
-
}
|
|
43
|
-
addMinutes(minutes) {
|
|
44
|
-
const currentMinutes = Number(this.hours) * 60 + Number(this.minutes);
|
|
45
|
-
const normalizedMinutes = Hour.normalizeMinutes(currentMinutes + minutes);
|
|
46
|
-
const newHour = Math.floor(normalizedMinutes / 60);
|
|
47
|
-
const newMinutes = normalizedMinutes % 60;
|
|
48
|
-
return new Hour(newHour, newMinutes);
|
|
49
|
-
}
|
|
50
|
-
diffInMinutes(other) {
|
|
51
|
-
let endHour = Number(other.hours);
|
|
52
|
-
if (other.hours < this.hours ||
|
|
53
|
-
(other.hours === this.hours && other.minutes < this.minutes)) {
|
|
54
|
-
endHour += 24;
|
|
55
|
-
}
|
|
56
|
-
const totalMinutes = (endHour - Number(this.hours)) * 60 +
|
|
57
|
-
(Number(other.minutes) - Number(this.minutes));
|
|
58
|
-
return totalMinutes;
|
|
59
|
-
}
|
|
60
|
-
getMinutes() {
|
|
61
|
-
return Number(this.minutes);
|
|
62
|
-
}
|
|
63
|
-
getHours() {
|
|
64
|
-
return Number(this.hours);
|
|
65
|
-
}
|
|
66
|
-
isGreaterThan(hour) {
|
|
67
|
-
if (this.hours === hour.hours) {
|
|
68
|
-
return Number(this.minutes) > Number(hour.minutes);
|
|
69
|
-
}
|
|
70
|
-
return Number(this.hours) > Number(hour.hours);
|
|
71
|
-
}
|
|
72
|
-
isLessThan(hour) {
|
|
73
|
-
if (this.hours === hour.hours) {
|
|
74
|
-
return Number(this.minutes) < Number(hour.minutes);
|
|
75
|
-
}
|
|
76
|
-
return Number(this.hours) < Number(hour.hours);
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
exports.Hour = Hour;
|
|
80
|
-
//# sourceMappingURL=Hour.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Hour.js","sourceRoot":"","sources":["../../../src/value-objects/time/Hour.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { Enum } from '../Enum';
|
|
2
|
-
export declare class Month extends Enum<number> {
|
|
3
|
-
static readonly JANUARY: Month;
|
|
4
|
-
static readonly FEBRUARY: Month;
|
|
5
|
-
static readonly MARCH: Month;
|
|
6
|
-
static readonly APRIL: Month;
|
|
7
|
-
static readonly MAY: Month;
|
|
8
|
-
static readonly JUNE: Month;
|
|
9
|
-
static readonly JULY: Month;
|
|
10
|
-
static readonly AUGUST: Month;
|
|
11
|
-
static readonly SEPTEMBER: Month;
|
|
12
|
-
static readonly OCTOBER: Month;
|
|
13
|
-
static readonly NOVEMBER: Month;
|
|
14
|
-
static readonly DECEMBER: Month;
|
|
15
|
-
getValues(): number[];
|
|
16
|
-
getIndex(): number;
|
|
17
|
-
}
|
|
18
|
-
//# sourceMappingURL=Month.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Month.d.ts","sourceRoot":"","sources":["../../../src/value-objects/time/Month.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAiB/B,qBAAa,KAAM,SAAQ,IAAI,CAAC,MAAM,CAAC;IACrC,gBAAuB,OAAO,QAAgC;IAC9D,gBAAuB,QAAQ,QAAiC;IAChE,gBAAuB,KAAK,QAA8B;IAC1D,gBAAuB,KAAK,QAA8B;IAC1D,gBAAuB,GAAG,QAA4B;IACtD,gBAAuB,IAAI,QAA6B;IACxD,gBAAuB,IAAI,QAA6B;IACxD,gBAAuB,MAAM,QAA+B;IAC5D,gBAAuB,SAAS,QAAkC;IAClE,gBAAuB,OAAO,QAAgC;IAC9D,gBAAuB,QAAQ,QAAiC;IAChE,gBAAuB,QAAQ,QAAiC;IAEzD,SAAS,IAAI,MAAM,EAAE;IAIrB,QAAQ,IAAI,MAAM;CAG1B"}
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Month = void 0;
|
|
4
|
-
const Enum_1 = require("../Enum");
|
|
5
|
-
var MonthEnum;
|
|
6
|
-
(function (MonthEnum) {
|
|
7
|
-
MonthEnum[MonthEnum["JANUARY"] = 1] = "JANUARY";
|
|
8
|
-
MonthEnum[MonthEnum["FEBRUARY"] = 2] = "FEBRUARY";
|
|
9
|
-
MonthEnum[MonthEnum["MARCH"] = 3] = "MARCH";
|
|
10
|
-
MonthEnum[MonthEnum["APRIL"] = 4] = "APRIL";
|
|
11
|
-
MonthEnum[MonthEnum["MAY"] = 5] = "MAY";
|
|
12
|
-
MonthEnum[MonthEnum["JUNE"] = 6] = "JUNE";
|
|
13
|
-
MonthEnum[MonthEnum["JULY"] = 7] = "JULY";
|
|
14
|
-
MonthEnum[MonthEnum["AUGUST"] = 8] = "AUGUST";
|
|
15
|
-
MonthEnum[MonthEnum["SEPTEMBER"] = 9] = "SEPTEMBER";
|
|
16
|
-
MonthEnum[MonthEnum["OCTOBER"] = 10] = "OCTOBER";
|
|
17
|
-
MonthEnum[MonthEnum["NOVEMBER"] = 11] = "NOVEMBER";
|
|
18
|
-
MonthEnum[MonthEnum["DECEMBER"] = 12] = "DECEMBER";
|
|
19
|
-
})(MonthEnum || (MonthEnum = {}));
|
|
20
|
-
class Month extends Enum_1.Enum {
|
|
21
|
-
static JANUARY = new Month(MonthEnum.JANUARY);
|
|
22
|
-
static FEBRUARY = new Month(MonthEnum.FEBRUARY);
|
|
23
|
-
static MARCH = new Month(MonthEnum.MARCH);
|
|
24
|
-
static APRIL = new Month(MonthEnum.APRIL);
|
|
25
|
-
static MAY = new Month(MonthEnum.MAY);
|
|
26
|
-
static JUNE = new Month(MonthEnum.JUNE);
|
|
27
|
-
static JULY = new Month(MonthEnum.JULY);
|
|
28
|
-
static AUGUST = new Month(MonthEnum.AUGUST);
|
|
29
|
-
static SEPTEMBER = new Month(MonthEnum.SEPTEMBER);
|
|
30
|
-
static OCTOBER = new Month(MonthEnum.OCTOBER);
|
|
31
|
-
static NOVEMBER = new Month(MonthEnum.NOVEMBER);
|
|
32
|
-
static DECEMBER = new Month(MonthEnum.DECEMBER);
|
|
33
|
-
getValues() {
|
|
34
|
-
return Object.values(MonthEnum);
|
|
35
|
-
}
|
|
36
|
-
getIndex() {
|
|
37
|
-
return Number(this.valueOf()) - 1;
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
exports.Month = Month;
|
|
41
|
-
//# sourceMappingURL=Month.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Month.js","sourceRoot":"","sources":["../../../src/value-objects/time/Month.ts"],"names":[],"mappings":";;;AAAA,kCAA+B;AAE/B,IAAK,SAaJ;AAbD,WAAK,SAAS;IACZ,+CAAW,CAAA;IACX,iDAAY,CAAA;IACZ,2CAAS,CAAA;IACT,2CAAS,CAAA;IACT,uCAAO,CAAA;IACP,yCAAQ,CAAA;IACR,yCAAQ,CAAA;IACR,6CAAU,CAAA;IACV,mDAAa,CAAA;IACb,gDAAY,CAAA;IACZ,kDAAa,CAAA;IACb,kDAAa,CAAA;AACf,CAAC,EAbI,SAAS,KAAT,SAAS,QAab;AAED,MAAa,KAAM,SAAQ,WAAY;IAC9B,MAAM,CAAU,OAAO,GAAG,IAAI,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IACvD,MAAM,CAAU,QAAQ,GAAG,IAAI,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IACzD,MAAM,CAAU,KAAK,GAAG,IAAI,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACnD,MAAM,CAAU,KAAK,GAAG,IAAI,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACnD,MAAM,CAAU,GAAG,GAAG,IAAI,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IAC/C,MAAM,CAAU,IAAI,GAAG,IAAI,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACjD,MAAM,CAAU,IAAI,GAAG,IAAI,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACjD,MAAM,CAAU,MAAM,GAAG,IAAI,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IACrD,MAAM,CAAU,SAAS,GAAG,IAAI,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;IAC3D,MAAM,CAAU,OAAO,GAAG,IAAI,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IACvD,MAAM,CAAU,QAAQ,GAAG,IAAI,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IACzD,MAAM,CAAU,QAAQ,GAAG,IAAI,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IAEzD,SAAS;QACd,OAAO,MAAM,CAAC,MAAM,CAAC,SAAS,CAAa,CAAC;IAC9C,CAAC;IAEM,QAAQ;QACb,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC;IACpC,CAAC;;AApBH,sBAqBC"}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { ValueObject } from '../ValueObject';
|
|
2
|
-
import { Month } from './Month';
|
|
3
|
-
import { Timestamp } from './Timestamp';
|
|
4
|
-
import { TimestampInterval } from './TimestampInterval';
|
|
5
|
-
import { Year } from './Year';
|
|
6
|
-
export declare class MonthOfYear extends ValueObject<string> {
|
|
7
|
-
private readonly month;
|
|
8
|
-
private readonly year;
|
|
9
|
-
static fromTimestamp(timestamp: Timestamp): MonthOfYear;
|
|
10
|
-
static fromString(value: string): MonthOfYear;
|
|
11
|
-
constructor(month: number | Month, year: number | Year);
|
|
12
|
-
getMonth(): Month;
|
|
13
|
-
getYear(): Year;
|
|
14
|
-
getNumberOfDays(): number;
|
|
15
|
-
getTimestampInterval(): TimestampInterval;
|
|
16
|
-
}
|
|
17
|
-
//# sourceMappingURL=MonthOfYear.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"MonthOfYear.d.ts","sourceRoot":"","sources":["../../../src/value-objects/time/MonthOfYear.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAE9B,qBAAa,WAAY,SAAQ,WAAW,CAAC,MAAM,CAAC;IAClD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAQ;IAC9B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAO;WAEd,aAAa,CAAC,SAAS,EAAE,SAAS,GAAG,WAAW;WAIhD,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW;gBAMxC,KAAK,EAAE,MAAM,GAAG,KAAK,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;IAU/C,QAAQ,IAAI,KAAK;IAIjB,OAAO,IAAI,IAAI;IAIf,eAAe,IAAI,MAAM;IAIzB,oBAAoB,IAAI,iBAAiB;CASjD"}
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.MonthOfYear = void 0;
|
|
4
|
-
const ValueObject_1 = require("../ValueObject");
|
|
5
|
-
const Month_1 = require("./Month");
|
|
6
|
-
const Timestamp_1 = require("./Timestamp");
|
|
7
|
-
const TimestampInterval_1 = require("./TimestampInterval");
|
|
8
|
-
const Year_1 = require("./Year");
|
|
9
|
-
class MonthOfYear extends ValueObject_1.ValueObject {
|
|
10
|
-
month;
|
|
11
|
-
year;
|
|
12
|
-
static fromTimestamp(timestamp) {
|
|
13
|
-
return new MonthOfYear(timestamp.getMonth(), timestamp.getYear());
|
|
14
|
-
}
|
|
15
|
-
static fromString(value) {
|
|
16
|
-
const [year, month] = value.split('/').map(Number);
|
|
17
|
-
return new MonthOfYear(month, year);
|
|
18
|
-
}
|
|
19
|
-
constructor(month, year) {
|
|
20
|
-
super(year.valueOf().toString() +
|
|
21
|
-
'/' +
|
|
22
|
-
month.valueOf().toString().padStart(2, '0'));
|
|
23
|
-
this.month = new Month_1.Month(month.valueOf());
|
|
24
|
-
this.year = new Year_1.Year(year.valueOf());
|
|
25
|
-
}
|
|
26
|
-
getMonth() {
|
|
27
|
-
return new Month_1.Month(this.month.valueOf());
|
|
28
|
-
}
|
|
29
|
-
getYear() {
|
|
30
|
-
return new Year_1.Year(this.year);
|
|
31
|
-
}
|
|
32
|
-
getNumberOfDays() {
|
|
33
|
-
return new Date(this.year.valueOf(), this.month.valueOf(), 0).getDate();
|
|
34
|
-
}
|
|
35
|
-
getTimestampInterval() {
|
|
36
|
-
const firstMonthDay = '01';
|
|
37
|
-
const month = this.month.valueOf().toString().padStart(2, '0');
|
|
38
|
-
const lastDay = this.getNumberOfDays().toString();
|
|
39
|
-
const startDate = new Timestamp_1.Timestamp(`${this.year}-${month}-${firstMonthDay}`);
|
|
40
|
-
const endDate = new Timestamp_1.Timestamp(`${this.year}-${month}-${lastDay}`);
|
|
41
|
-
return new TimestampInterval_1.TimestampInterval(startDate, endDate);
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
exports.MonthOfYear = MonthOfYear;
|
|
45
|
-
//# sourceMappingURL=MonthOfYear.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"MonthOfYear.js","sourceRoot":"","sources":["../../../src/value-objects/time/MonthOfYear.ts"],"names":[],"mappings":";;;AAAA,gDAA6C;AAC7C,mCAAgC;AAChC,2CAAwC;AACxC,2DAAwD;AACxD,iCAA8B;AAE9B,MAAa,WAAY,SAAQ,yBAAmB;IACjC,KAAK,CAAQ;IACb,IAAI,CAAO;IAErB,MAAM,CAAC,aAAa,CAAC,SAAoB;QAC9C,OAAO,IAAI,WAAW,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC;IACpE,CAAC;IAEM,MAAM,CAAC,UAAU,CAAC,KAAa;QACpC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAEnD,OAAO,IAAI,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACtC,CAAC;IAED,YAAY,KAAqB,EAAE,IAAmB;QACpD,KAAK,CACH,IAAI,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;YACvB,GAAG;YACH,KAAK,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAC9C,CAAC;QACF,IAAI,CAAC,KAAK,GAAG,IAAI,aAAK,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACxC,IAAI,CAAC,IAAI,GAAG,IAAI,WAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;IACvC,CAAC;IAEM,QAAQ;QACb,OAAO,IAAI,aAAK,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;IACzC,CAAC;IAEM,OAAO;QACZ,OAAO,IAAI,WAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IAEM,eAAe;QACpB,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;IAC1E,CAAC;IAEM,oBAAoB;QACzB,MAAM,aAAa,GAAG,IAAI,CAAC;QAC3B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QAC/D,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC,QAAQ,EAAE,CAAC;QAClD,MAAM,SAAS,GAAG,IAAI,qBAAS,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI,KAAK,IAAI,aAAa,EAAE,CAAC,CAAC;QAC1E,MAAM,OAAO,GAAG,IAAI,qBAAS,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI,KAAK,IAAI,OAAO,EAAE,CAAC,CAAC;QAElE,OAAO,IAAI,qCAAiB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IACnD,CAAC;CACF;AA7CD,kCA6CC"}
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
import { NumberValueObject } from '../NumberValueObject';
|
|
2
|
-
import { ValueObject } from '../ValueObject';
|
|
3
|
-
import { CalendarDay } from './CalendarDay';
|
|
4
|
-
import { Day } from './Day';
|
|
5
|
-
import { Duration } from './Duration';
|
|
6
|
-
import { Month } from './Month';
|
|
7
|
-
import { MonthOfYear } from './MonthOfYear';
|
|
8
|
-
import { Year } from './Year';
|
|
9
|
-
type TimestampValue = number | Date | Timestamp | string;
|
|
10
|
-
export declare class Timestamp extends ValueObject<number> {
|
|
11
|
-
private static readonly FACTORS;
|
|
12
|
-
private static valueMilliseconds;
|
|
13
|
-
private static getLastDayOfUtcMonth;
|
|
14
|
-
private static ensureCalendarDelta;
|
|
15
|
-
private static createUtcCalendarValue;
|
|
16
|
-
static new(value: TimestampValue): Timestamp;
|
|
17
|
-
static now(): Timestamp;
|
|
18
|
-
static fromSeconds(seconds: number | NumberValueObject): Timestamp;
|
|
19
|
-
constructor(value?: TimestampValue);
|
|
20
|
-
toExactHour(): Timestamp;
|
|
21
|
-
toMilliseconds(): number;
|
|
22
|
-
toSeconds(): number;
|
|
23
|
-
toDate(): Date;
|
|
24
|
-
toString(): string;
|
|
25
|
-
isBefore(other: Timestamp): boolean;
|
|
26
|
-
isAfter(other: Timestamp): boolean;
|
|
27
|
-
isBeforeOrEqual(other: Timestamp): boolean;
|
|
28
|
-
isAfterOrEqual(other: Timestamp): boolean;
|
|
29
|
-
addMilliseconds(milliseconds: number | NumberValueObject): Timestamp;
|
|
30
|
-
addSeconds(seconds: number | NumberValueObject): Timestamp;
|
|
31
|
-
addMinutes(minutes: number | NumberValueObject): Timestamp;
|
|
32
|
-
addHours(hours: number | NumberValueObject): Timestamp;
|
|
33
|
-
addDays(days: number | NumberValueObject): Timestamp;
|
|
34
|
-
addWeeks(weeks: number | NumberValueObject): Timestamp;
|
|
35
|
-
addMonths(months: number | NumberValueObject): Timestamp;
|
|
36
|
-
addYears(years: number | NumberValueObject): Timestamp;
|
|
37
|
-
addDuration(duration: Duration): Timestamp;
|
|
38
|
-
isSameDay(other: Timestamp): boolean;
|
|
39
|
-
isSameMonth(other: Timestamp): boolean;
|
|
40
|
-
isSameYear(other: Timestamp): boolean;
|
|
41
|
-
getCalendarDay(): CalendarDay;
|
|
42
|
-
getDay(): Day;
|
|
43
|
-
getMonth(): Month;
|
|
44
|
-
getYear(): Year;
|
|
45
|
-
getHours(): number;
|
|
46
|
-
getMinutes(): number;
|
|
47
|
-
getSeconds(): number;
|
|
48
|
-
getMilliseconds(): number;
|
|
49
|
-
getDayOfWeek(): number;
|
|
50
|
-
getMonthOfYear(): MonthOfYear;
|
|
51
|
-
}
|
|
52
|
-
export {};
|
|
53
|
-
//# sourceMappingURL=Timestamp.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Timestamp.d.ts","sourceRoot":"","sources":["../../../src/value-objects/time/Timestamp.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAC5B,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAE9B,KAAK,cAAc,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,CAAC;AAEzD,qBAAa,SAAU,SAAQ,WAAW,CAAC,MAAM,CAAC;IAChD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAM7B;IAEF,OAAO,CAAC,MAAM,CAAC,iBAAiB;IAgBhC,OAAO,CAAC,MAAM,CAAC,oBAAoB;IAqBnC,OAAO,CAAC,MAAM,CAAC,mBAAmB;IAIlC,OAAO,CAAC,MAAM,CAAC,sBAAsB;WAsBvB,GAAG,CAAC,KAAK,EAAE,cAAc,GAAG,SAAS;WAIrC,GAAG,IAAI,SAAS;WAIhB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS;gBAItD,KAAK,CAAC,EAAE,cAAc;IASlC,WAAW,IAAI,SAAS;IAYxB,cAAc,IAAI,MAAM;IAIxB,SAAS,IAAI,MAAM;IAInB,MAAM,IAAI,IAAI;IAId,QAAQ,IAAI,MAAM;IAIlB,QAAQ,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO;IAInC,OAAO,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO;IAIlC,eAAe,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO;IAI1C,cAAc,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO;IAIzC,eAAe,CAAC,YAAY,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS;IAMpE,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS;IAM1D,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS;IAM1D,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS;IAMtD,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS;IAMpD,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS;IAMtD,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS;IAwBxD,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS;IAsBtD,WAAW,CAAC,QAAQ,EAAE,QAAQ,GAAG,SAAS;IAM1C,SAAS,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO;IAIpC,WAAW,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO;IAItC,UAAU,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO;IAIrC,cAAc,IAAI,WAAW;IAI7B,MAAM,IAAI,GAAG;IAIb,QAAQ,IAAI,KAAK;IAIjB,OAAO,IAAI,IAAI;IAIf,QAAQ,IAAI,MAAM;IAIlB,UAAU,IAAI,MAAM;IAIpB,UAAU,IAAI,MAAM;IAIpB,eAAe,IAAI,MAAM;IAIzB,YAAY,IAAI,MAAM;IAItB,cAAc,IAAI,WAAW;CAGrC"}
|
|
@@ -1,197 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Timestamp = void 0;
|
|
4
|
-
const InvalidIntegerError_1 = require("../../errors/InvalidIntegerError");
|
|
5
|
-
const InvalidNumberError_1 = require("../../errors/InvalidNumberError");
|
|
6
|
-
const Assert_1 = require("../../patterns/Assert");
|
|
7
|
-
const ValueObject_1 = require("../ValueObject");
|
|
8
|
-
const CalendarDay_1 = require("./CalendarDay");
|
|
9
|
-
const Day_1 = require("./Day");
|
|
10
|
-
const Month_1 = require("./Month");
|
|
11
|
-
const MonthOfYear_1 = require("./MonthOfYear");
|
|
12
|
-
const Year_1 = require("./Year");
|
|
13
|
-
class Timestamp extends ValueObject_1.ValueObject {
|
|
14
|
-
static FACTORS = {
|
|
15
|
-
DAYS: 24 * 60 * 60 * 1000,
|
|
16
|
-
HOURS: 60 * 60 * 1000,
|
|
17
|
-
MINUTES: 60 * 1000,
|
|
18
|
-
SECONDS: 1000,
|
|
19
|
-
WEEKS: 7 * 24 * 60 * 60 * 1000,
|
|
20
|
-
};
|
|
21
|
-
static valueMilliseconds(value) {
|
|
22
|
-
if (value instanceof Timestamp || value instanceof Date) {
|
|
23
|
-
return value.valueOf();
|
|
24
|
-
}
|
|
25
|
-
if (typeof value === 'number') {
|
|
26
|
-
return value;
|
|
27
|
-
}
|
|
28
|
-
if (typeof value === 'string') {
|
|
29
|
-
return new Date(value).valueOf();
|
|
30
|
-
}
|
|
31
|
-
return Date.now().valueOf();
|
|
32
|
-
}
|
|
33
|
-
static getLastDayOfUtcMonth(year, month) {
|
|
34
|
-
const normalizedYear = year + Math.floor(month / 12);
|
|
35
|
-
const normalizedMonth = ((month % 12) + 12) % 12;
|
|
36
|
-
const days = [
|
|
37
|
-
31,
|
|
38
|
-
new Year_1.Year(normalizedYear).isLeapYear() ? 29 : 28,
|
|
39
|
-
31,
|
|
40
|
-
30,
|
|
41
|
-
31,
|
|
42
|
-
30,
|
|
43
|
-
31,
|
|
44
|
-
31,
|
|
45
|
-
30,
|
|
46
|
-
31,
|
|
47
|
-
30,
|
|
48
|
-
31,
|
|
49
|
-
];
|
|
50
|
-
return days[normalizedMonth];
|
|
51
|
-
}
|
|
52
|
-
static ensureCalendarDelta(value) {
|
|
53
|
-
(0, Assert_1.assert)(Number.isInteger(value), new InvalidIntegerError_1.InvalidIntegerError(value));
|
|
54
|
-
}
|
|
55
|
-
static createUtcCalendarValue(sourceValue, year, month, day) {
|
|
56
|
-
const integerValue = Math.floor(sourceValue);
|
|
57
|
-
const fractionalMilliseconds = sourceValue - integerValue;
|
|
58
|
-
const source = new Date(integerValue);
|
|
59
|
-
const target = new Date(0);
|
|
60
|
-
target.setUTCFullYear(year, month, day);
|
|
61
|
-
target.setUTCHours(source.getUTCHours(), source.getUTCMinutes(), source.getUTCSeconds(), source.getUTCMilliseconds());
|
|
62
|
-
return target.valueOf() + fractionalMilliseconds;
|
|
63
|
-
}
|
|
64
|
-
static new(value) {
|
|
65
|
-
return new Timestamp(value);
|
|
66
|
-
}
|
|
67
|
-
static now() {
|
|
68
|
-
return new Timestamp();
|
|
69
|
-
}
|
|
70
|
-
static fromSeconds(seconds) {
|
|
71
|
-
return new Timestamp(seconds.valueOf() * Timestamp.FACTORS.SECONDS);
|
|
72
|
-
}
|
|
73
|
-
constructor(value) {
|
|
74
|
-
super(Timestamp.valueMilliseconds(value));
|
|
75
|
-
(0, Assert_1.assert)(Number.isFinite(new Date(this.value).valueOf()), new InvalidNumberError_1.InvalidNumberError(this.value));
|
|
76
|
-
}
|
|
77
|
-
toExactHour() {
|
|
78
|
-
const date = new Date(this.valueOf());
|
|
79
|
-
date.setSeconds(0);
|
|
80
|
-
date.setMinutes(0);
|
|
81
|
-
date.setMilliseconds(0);
|
|
82
|
-
const value = Timestamp.new(date.getTime()).value;
|
|
83
|
-
return this.clone(value);
|
|
84
|
-
}
|
|
85
|
-
toMilliseconds() {
|
|
86
|
-
return this.value;
|
|
87
|
-
}
|
|
88
|
-
toSeconds() {
|
|
89
|
-
return Math.round(this.value / Timestamp.FACTORS.SECONDS);
|
|
90
|
-
}
|
|
91
|
-
toDate() {
|
|
92
|
-
return new Date(this.value);
|
|
93
|
-
}
|
|
94
|
-
toString() {
|
|
95
|
-
return `${this.valueOf()}`;
|
|
96
|
-
}
|
|
97
|
-
isBefore(other) {
|
|
98
|
-
return this.value < other.valueOf();
|
|
99
|
-
}
|
|
100
|
-
isAfter(other) {
|
|
101
|
-
return this.value > other.valueOf();
|
|
102
|
-
}
|
|
103
|
-
isBeforeOrEqual(other) {
|
|
104
|
-
return this.value <= other.valueOf();
|
|
105
|
-
}
|
|
106
|
-
isAfterOrEqual(other) {
|
|
107
|
-
return this.value >= other.valueOf();
|
|
108
|
-
}
|
|
109
|
-
addMilliseconds(milliseconds) {
|
|
110
|
-
const value = this.value + milliseconds.valueOf();
|
|
111
|
-
return this.clone(value);
|
|
112
|
-
}
|
|
113
|
-
addSeconds(seconds) {
|
|
114
|
-
const value = this.value + seconds.valueOf() * Timestamp.FACTORS.SECONDS;
|
|
115
|
-
return this.clone(value);
|
|
116
|
-
}
|
|
117
|
-
addMinutes(minutes) {
|
|
118
|
-
const value = this.value + minutes.valueOf() * Timestamp.FACTORS.MINUTES;
|
|
119
|
-
return this.clone(value);
|
|
120
|
-
}
|
|
121
|
-
addHours(hours) {
|
|
122
|
-
const value = this.value + hours.valueOf() * Timestamp.FACTORS.HOURS;
|
|
123
|
-
return this.clone(value);
|
|
124
|
-
}
|
|
125
|
-
addDays(days) {
|
|
126
|
-
const value = this.value + days.valueOf() * Timestamp.FACTORS.DAYS;
|
|
127
|
-
return this.clone(value);
|
|
128
|
-
}
|
|
129
|
-
addWeeks(weeks) {
|
|
130
|
-
const value = this.value + weeks.valueOf() * Timestamp.FACTORS.WEEKS;
|
|
131
|
-
return this.clone(value);
|
|
132
|
-
}
|
|
133
|
-
addMonths(months) {
|
|
134
|
-
const delta = months.valueOf();
|
|
135
|
-
Timestamp.ensureCalendarDelta(delta);
|
|
136
|
-
const source = new Date(Math.floor(this.value));
|
|
137
|
-
const totalMonths = source.getUTCFullYear() * 12 + source.getUTCMonth() + delta;
|
|
138
|
-
const targetYear = Math.floor(totalMonths / 12);
|
|
139
|
-
const targetMonth = totalMonths - targetYear * 12;
|
|
140
|
-
const targetDay = Math.min(source.getUTCDate(), Timestamp.getLastDayOfUtcMonth(targetYear, targetMonth));
|
|
141
|
-
return this.clone(Timestamp.createUtcCalendarValue(this.value, targetYear, targetMonth, targetDay));
|
|
142
|
-
}
|
|
143
|
-
addYears(years) {
|
|
144
|
-
const delta = years.valueOf();
|
|
145
|
-
Timestamp.ensureCalendarDelta(delta);
|
|
146
|
-
const source = new Date(Math.floor(this.value));
|
|
147
|
-
const targetYear = source.getUTCFullYear() + delta;
|
|
148
|
-
const targetMonth = source.getUTCMonth();
|
|
149
|
-
const targetDay = Math.min(source.getUTCDate(), Timestamp.getLastDayOfUtcMonth(targetYear, targetMonth));
|
|
150
|
-
return this.clone(Timestamp.createUtcCalendarValue(this.value, targetYear, targetMonth, targetDay));
|
|
151
|
-
}
|
|
152
|
-
addDuration(duration) {
|
|
153
|
-
const value = this.value + duration.valueOf();
|
|
154
|
-
return this.clone(value);
|
|
155
|
-
}
|
|
156
|
-
isSameDay(other) {
|
|
157
|
-
return this.getCalendarDay().isEqual(other.getCalendarDay());
|
|
158
|
-
}
|
|
159
|
-
isSameMonth(other) {
|
|
160
|
-
return this.getMonthOfYear().isEqual(other.getMonthOfYear());
|
|
161
|
-
}
|
|
162
|
-
isSameYear(other) {
|
|
163
|
-
return this.getYear().isEqual(other.getYear());
|
|
164
|
-
}
|
|
165
|
-
getCalendarDay() {
|
|
166
|
-
return new CalendarDay_1.CalendarDay(this);
|
|
167
|
-
}
|
|
168
|
-
getDay() {
|
|
169
|
-
return new Day_1.Day(this.toDate().getUTCDate());
|
|
170
|
-
}
|
|
171
|
-
getMonth() {
|
|
172
|
-
return new Month_1.Month(this.toDate().getUTCMonth() + 1);
|
|
173
|
-
}
|
|
174
|
-
getYear() {
|
|
175
|
-
return new Year_1.Year(this.toDate().getUTCFullYear());
|
|
176
|
-
}
|
|
177
|
-
getHours() {
|
|
178
|
-
return this.toDate().getUTCHours();
|
|
179
|
-
}
|
|
180
|
-
getMinutes() {
|
|
181
|
-
return this.toDate().getUTCMinutes();
|
|
182
|
-
}
|
|
183
|
-
getSeconds() {
|
|
184
|
-
return this.toDate().getUTCSeconds();
|
|
185
|
-
}
|
|
186
|
-
getMilliseconds() {
|
|
187
|
-
return this.toDate().getUTCMilliseconds();
|
|
188
|
-
}
|
|
189
|
-
getDayOfWeek() {
|
|
190
|
-
return this.toDate().getUTCDay();
|
|
191
|
-
}
|
|
192
|
-
getMonthOfYear() {
|
|
193
|
-
return new MonthOfYear_1.MonthOfYear(this.getMonth(), this.getYear());
|
|
194
|
-
}
|
|
195
|
-
}
|
|
196
|
-
exports.Timestamp = Timestamp;
|
|
197
|
-
//# sourceMappingURL=Timestamp.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Timestamp.js","sourceRoot":"","sources":["../../../src/value-objects/time/Timestamp.ts"],"names":[],"mappings":";;;AAAA,0EAAuE;AACvE,wEAAqE;AACrE,kDAA+C;AAE/C,gDAA6C;AAC7C,+CAA4C;AAC5C,+BAA4B;AAE5B,mCAAgC;AAChC,+CAA4C;AAC5C,iCAA8B;AAI9B,MAAa,SAAU,SAAQ,yBAAmB;IACxC,MAAM,CAAU,OAAO,GAAG;QAChC,IAAI,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI;QACzB,KAAK,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI;QACrB,OAAO,EAAE,EAAE,GAAG,IAAI;QAClB,OAAO,EAAE,IAAI;QACb,KAAK,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI;KAC/B,CAAC;IAEM,MAAM,CAAC,iBAAiB,CAAC,KAAsB;QACrD,IAAI,KAAK,YAAY,SAAS,IAAI,KAAK,YAAY,IAAI,EAAE,CAAC;YACxD,OAAO,KAAK,CAAC,OAAO,EAAE,CAAC;QACzB,CAAC;QAED,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC;QACnC,CAAC;QAED,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC;IAC9B,CAAC;IAEO,MAAM,CAAC,oBAAoB,CAAC,IAAY,EAAE,KAAa;QAC7D,MAAM,cAAc,GAAG,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC;QACrD,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC;QACjD,MAAM,IAAI,GAAG;YACX,EAAE;YACF,IAAI,WAAI,CAAC,cAAc,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;YAC/C,EAAE;YACF,EAAE;YACF,EAAE;YACF,EAAE;YACF,EAAE;YACF,EAAE;YACF,EAAE;YACF,EAAE;YACF,EAAE;YACF,EAAE;SACH,CAAC;QAEF,OAAO,IAAI,CAAC,eAAe,CAAC,CAAC;IAC/B,CAAC;IAEO,MAAM,CAAC,mBAAmB,CAAC,KAAa;QAC9C,IAAA,eAAM,EAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,IAAI,yCAAmB,CAAC,KAAK,CAAC,CAAC,CAAC;IAClE,CAAC;IAEO,MAAM,CAAC,sBAAsB,CACnC,WAAmB,EACnB,IAAY,EACZ,KAAa,EACb,GAAW;QAEX,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAC7C,MAAM,sBAAsB,GAAG,WAAW,GAAG,YAAY,CAAC;QAC1D,MAAM,MAAM,GAAG,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC;QACtC,MAAM,MAAM,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;QAE3B,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;QACxC,MAAM,CAAC,WAAW,CAChB,MAAM,CAAC,WAAW,EAAE,EACpB,MAAM,CAAC,aAAa,EAAE,EACtB,MAAM,CAAC,aAAa,EAAE,EACtB,MAAM,CAAC,kBAAkB,EAAE,CAC5B,CAAC;QAEF,OAAO,MAAM,CAAC,OAAO,EAAE,GAAG,sBAAsB,CAAC;IACnD,CAAC;IAEM,MAAM,CAAC,GAAG,CAAC,KAAqB;QACrC,OAAO,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;IAEM,MAAM,CAAC,GAAG;QACf,OAAO,IAAI,SAAS,EAAE,CAAC;IACzB,CAAC;IAEM,MAAM,CAAC,WAAW,CAAC,OAAmC;QAC3D,OAAO,IAAI,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACtE,CAAC;IAED,YAAmB,KAAsB;QACvC,KAAK,CAAC,SAAS,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC;QAE1C,IAAA,eAAM,EACJ,MAAM,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,EAC/C,IAAI,uCAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,CACnC,CAAC;IACJ,CAAC;IAEM,WAAW;QAChB,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QAEtC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QACnB,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QACnB,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;QAExB,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC;QAElD,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC;IAEM,cAAc;QACnB,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAEM,SAAS;QACd,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC5D,CAAC;IAEM,MAAM;QACX,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;IAEM,QAAQ;QACb,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;IAC7B,CAAC;IAEM,QAAQ,CAAC,KAAgB;QAC9B,OAAO,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC;IACtC,CAAC;IAEM,OAAO,CAAC,KAAgB;QAC7B,OAAO,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC;IACtC,CAAC;IAEM,eAAe,CAAC,KAAgB;QACrC,OAAO,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;IACvC,CAAC;IAEM,cAAc,CAAC,KAAgB;QACpC,OAAO,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;IACvC,CAAC;IAEM,eAAe,CAAC,YAAwC;QAC7D,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,YAAY,CAAC,OAAO,EAAE,CAAC;QAElD,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC;IAEM,UAAU,CAAC,OAAmC;QACnD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,OAAO,EAAE,GAAG,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC;QAEzE,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC;IAEM,UAAU,CAAC,OAAmC;QACnD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,OAAO,EAAE,GAAG,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC;QAEzE,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC;IAEM,QAAQ,CAAC,KAAiC;QAC/C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,OAAO,EAAE,GAAG,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC;QAErE,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC;IAEM,OAAO,CAAC,IAAgC;QAC7C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,EAAE,GAAG,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC;QAEnE,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC;IAEM,QAAQ,CAAC,KAAiC;QAC/C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,OAAO,EAAE,GAAG,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC;QAErE,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC;IAEM,SAAS,CAAC,MAAkC;QACjD,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;QAC/B,SAAS,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;QAErC,MAAM,MAAM,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QAChD,MAAM,WAAW,GACf,MAAM,CAAC,cAAc,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC,WAAW,EAAE,GAAG,KAAK,CAAC;QAC9D,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,EAAE,CAAC,CAAC;QAChD,MAAM,WAAW,GAAG,WAAW,GAAG,UAAU,GAAG,EAAE,CAAC;QAClD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CACxB,MAAM,CAAC,UAAU,EAAE,EACnB,SAAS,CAAC,oBAAoB,CAAC,UAAU,EAAE,WAAW,CAAC,CACxD,CAAC;QAEF,OAAO,IAAI,CAAC,KAAK,CACf,SAAS,CAAC,sBAAsB,CAC9B,IAAI,CAAC,KAAK,EACV,UAAU,EACV,WAAW,EACX,SAAS,CACV,CACF,CAAC;IACJ,CAAC;IAEM,QAAQ,CAAC,KAAiC;QAC/C,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC;QAC9B,SAAS,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;QAErC,MAAM,MAAM,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QAChD,MAAM,UAAU,GAAG,MAAM,CAAC,cAAc,EAAE,GAAG,KAAK,CAAC;QACnD,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;QACzC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CACxB,MAAM,CAAC,UAAU,EAAE,EACnB,SAAS,CAAC,oBAAoB,CAAC,UAAU,EAAE,WAAW,CAAC,CACxD,CAAC;QAEF,OAAO,IAAI,CAAC,KAAK,CACf,SAAS,CAAC,sBAAsB,CAC9B,IAAI,CAAC,KAAK,EACV,UAAU,EACV,WAAW,EACX,SAAS,CACV,CACF,CAAC;IACJ,CAAC;IAEM,WAAW,CAAC,QAAkB;QACnC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC;QAE9C,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC;IAEM,SAAS,CAAC,KAAgB;QAC/B,OAAO,IAAI,CAAC,cAAc,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC,CAAC;IAC/D,CAAC;IAEM,WAAW,CAAC,KAAgB;QACjC,OAAO,IAAI,CAAC,cAAc,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC,CAAC;IAC/D,CAAC;IAEM,UAAU,CAAC,KAAgB;QAChC,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;IACjD,CAAC;IAEM,cAAc;QACnB,OAAO,IAAI,yBAAW,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IAEM,MAAM;QACX,OAAO,IAAI,SAAG,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,UAAU,EAAE,CAAC,CAAC;IAC7C,CAAC;IAEM,QAAQ;QACb,OAAO,IAAI,aAAK,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC;IACpD,CAAC;IAEM,OAAO;QACZ,OAAO,IAAI,WAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,cAAc,EAAE,CAAC,CAAC;IAClD,CAAC;IAEM,QAAQ;QACb,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,WAAW,EAAE,CAAC;IACrC,CAAC;IAEM,UAAU;QACf,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,aAAa,EAAE,CAAC;IACvC,CAAC;IAEM,UAAU;QACf,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,aAAa,EAAE,CAAC;IACvC,CAAC;IAEM,eAAe;QACpB,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,kBAAkB,EAAE,CAAC;IAC5C,CAAC;IAEM,YAAY;QACjB,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,SAAS,EAAE,CAAC;IACnC,CAAC;IAEM,cAAc;QACnB,OAAO,IAAI,yBAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;IAC1D,CAAC;;AAnRH,8BAoRC"}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { PrimitiveOf } from '../../interfaces/PrimitiveOf';
|
|
2
|
-
import { ValueObject } from '../ValueObject';
|
|
3
|
-
import { CalendarDay } from './CalendarDay';
|
|
4
|
-
import { DayOfWeek } from './DayOfWeek';
|
|
5
|
-
import { Duration } from './Duration';
|
|
6
|
-
import { Timestamp } from './Timestamp';
|
|
7
|
-
export declare class TimestampInterval extends ValueObject<string> {
|
|
8
|
-
private readonly start;
|
|
9
|
-
private readonly end;
|
|
10
|
-
static fromPrimitives(primitives: PrimitiveOf<TimestampInterval>): TimestampInterval;
|
|
11
|
-
constructor(start: Timestamp, end: Timestamp);
|
|
12
|
-
toPrimitives(): {
|
|
13
|
-
end: number;
|
|
14
|
-
start: number;
|
|
15
|
-
};
|
|
16
|
-
getStart(): Timestamp;
|
|
17
|
-
getEnd(): Timestamp;
|
|
18
|
-
getDuration(): Duration;
|
|
19
|
-
getTotalDaysOfWeek(dayOfWeek: DayOfWeek): number;
|
|
20
|
-
getDaysBetweenInterval(): CalendarDay[];
|
|
21
|
-
getOverlappingInterval(searchInterval: TimestampInterval): TimestampInterval | null;
|
|
22
|
-
includes(timestamp: Timestamp): boolean;
|
|
23
|
-
}
|
|
24
|
-
//# sourceMappingURL=TimestampInterval.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TimestampInterval.d.ts","sourceRoot":"","sources":["../../../src/value-objects/time/TimestampInterval.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAG3D,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,qBAAa,iBAAkB,SAAQ,WAAW,CAAC,MAAM,CAAC;IAWtD,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,GAAG;WAXR,cAAc,CAC1B,UAAU,EAAE,WAAW,CAAC,iBAAiB,CAAC,GACzC,iBAAiB;gBAQD,KAAK,EAAE,SAAS,EAChB,GAAG,EAAE,SAAS;IAU1B,YAAY;;;;IAOZ,QAAQ,IAAI,SAAS;IAIrB,MAAM,IAAI,SAAS;IAInB,WAAW,IAAI,QAAQ;IAMvB,kBAAkB,CAAC,SAAS,EAAE,SAAS,GAAG,MAAM;IAmBhD,sBAAsB,IAAI,WAAW,EAAE;IAcvC,sBAAsB,CAC3B,cAAc,EAAE,iBAAiB,GAChC,iBAAiB,GAAG,IAAI;IAepB,QAAQ,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO;CAM/C"}
|
|
@@ -1,78 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.TimestampInterval = void 0;
|
|
4
|
-
const InvalidTimestampIntervalError_1 = require("../../errors/InvalidTimestampIntervalError");
|
|
5
|
-
const Assert_1 = require("../../patterns/Assert");
|
|
6
|
-
const PositiveNumber_1 = require("../PositiveNumber");
|
|
7
|
-
const ValueObject_1 = require("../ValueObject");
|
|
8
|
-
const CalendarDay_1 = require("./CalendarDay");
|
|
9
|
-
const Duration_1 = require("./Duration");
|
|
10
|
-
const Timestamp_1 = require("./Timestamp");
|
|
11
|
-
class TimestampInterval extends ValueObject_1.ValueObject {
|
|
12
|
-
start;
|
|
13
|
-
end;
|
|
14
|
-
static fromPrimitives(primitives) {
|
|
15
|
-
return new TimestampInterval(new Timestamp_1.Timestamp(primitives.start), new Timestamp_1.Timestamp(primitives.end));
|
|
16
|
-
}
|
|
17
|
-
constructor(start, end) {
|
|
18
|
-
super(`${start.valueOf()}-${end.valueOf()}`);
|
|
19
|
-
this.start = start;
|
|
20
|
-
this.end = end;
|
|
21
|
-
(0, Assert_1.assert)(start.isBeforeOrEqual(end), new InvalidTimestampIntervalError_1.InvalidTimestampIntervalError(start, end));
|
|
22
|
-
}
|
|
23
|
-
toPrimitives() {
|
|
24
|
-
return {
|
|
25
|
-
end: this.end.valueOf(),
|
|
26
|
-
start: this.start.valueOf(),
|
|
27
|
-
};
|
|
28
|
-
}
|
|
29
|
-
getStart() {
|
|
30
|
-
return this.start;
|
|
31
|
-
}
|
|
32
|
-
getEnd() {
|
|
33
|
-
return this.end;
|
|
34
|
-
}
|
|
35
|
-
getDuration() {
|
|
36
|
-
return new Duration_1.Duration(new PositiveNumber_1.PositiveNumber(this.end.valueOf() - this.start.valueOf()));
|
|
37
|
-
}
|
|
38
|
-
getTotalDaysOfWeek(dayOfWeek) {
|
|
39
|
-
const oneDayInMilliseconds = 24 * 60 * 60 * 1000;
|
|
40
|
-
const daysToCheck = Math.trunc(this.getDuration().valueOf() / oneDayInMilliseconds);
|
|
41
|
-
let count = 0;
|
|
42
|
-
for (let daysChecked = 0; daysChecked <= daysToCheck; daysChecked++) {
|
|
43
|
-
const iteratorDay = new Timestamp_1.Timestamp(this.start).addDays(daysChecked);
|
|
44
|
-
if (iteratorDay.getDayOfWeek() === dayOfWeek.toNumber()) {
|
|
45
|
-
count++;
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
return count;
|
|
49
|
-
}
|
|
50
|
-
getDaysBetweenInterval() {
|
|
51
|
-
const days = [];
|
|
52
|
-
let iteratorTimestamp = new Timestamp_1.Timestamp(this.getStart());
|
|
53
|
-
const endTimestamp = new Timestamp_1.Timestamp(this.getEnd());
|
|
54
|
-
while (iteratorTimestamp.isBeforeOrEqual(endTimestamp)) {
|
|
55
|
-
days.push(new CalendarDay_1.CalendarDay(iteratorTimestamp));
|
|
56
|
-
iteratorTimestamp = iteratorTimestamp.addDays(1);
|
|
57
|
-
}
|
|
58
|
-
return days;
|
|
59
|
-
}
|
|
60
|
-
getOverlappingInterval(searchInterval) {
|
|
61
|
-
const start = this.start.isAfter(searchInterval.getStart())
|
|
62
|
-
? this.start
|
|
63
|
-
: searchInterval.getStart();
|
|
64
|
-
const end = this.end.isBefore(searchInterval.getEnd())
|
|
65
|
-
? this.end
|
|
66
|
-
: searchInterval.getEnd();
|
|
67
|
-
if (start.isAfterOrEqual(end)) {
|
|
68
|
-
return null;
|
|
69
|
-
}
|
|
70
|
-
return new TimestampInterval(start, end);
|
|
71
|
-
}
|
|
72
|
-
includes(timestamp) {
|
|
73
|
-
return (timestamp.isAfterOrEqual(this.start) &&
|
|
74
|
-
timestamp.isBeforeOrEqual(this.end));
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
exports.TimestampInterval = TimestampInterval;
|
|
78
|
-
//# sourceMappingURL=TimestampInterval.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TimestampInterval.js","sourceRoot":"","sources":["../../../src/value-objects/time/TimestampInterval.ts"],"names":[],"mappings":"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"}
|