@haskou/value-objects 4.0.0 → 4.1.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 +176 -79
- package/dist/errors/index.d.ts +0 -2
- package/dist/errors/index.d.ts.map +1 -1
- package/dist/errors/index.js +0 -2
- package/dist/errors/index.js.map +1 -1
- package/dist/interfaces/PrimitiveOf.d.ts +1 -5
- package/dist/interfaces/PrimitiveOf.d.ts.map +1 -1
- package/dist/patterns/Assert.d.ts +1 -1
- package/dist/patterns/Assert.d.ts.map +1 -1
- package/dist/types/Primitive.d.ts +1 -1
- package/dist/types/Primitive.d.ts.map +1 -1
- package/dist/value-objects/Email.d.ts +0 -1
- package/dist/value-objects/Email.d.ts.map +1 -1
- package/dist/value-objects/Email.js +1 -2
- package/dist/value-objects/Email.js.map +1 -1
- package/dist/value-objects/NumberValueObject.js +1 -1
- package/dist/value-objects/NumberValueObject.js.map +1 -1
- package/dist/value-objects/UniqueObjectArray.d.ts.map +1 -1
- package/dist/value-objects/coordinates/Latitude.d.ts.map +1 -1
- package/dist/value-objects/coordinates/Latitude.js +4 -5
- package/dist/value-objects/coordinates/Latitude.js.map +1 -1
- package/dist/value-objects/coordinates/Longitude.d.ts.map +1 -1
- package/dist/value-objects/coordinates/Longitude.js +4 -5
- package/dist/value-objects/coordinates/Longitude.js.map +1 -1
- package/dist/value-objects/crypto/CryptoAdapter.d.ts +2 -3
- package/dist/value-objects/crypto/CryptoAdapter.d.ts.map +1 -1
- package/dist/value-objects/crypto/CryptoAdapter.js +4 -9
- package/dist/value-objects/crypto/CryptoAdapter.js.map +1 -1
- package/dist/value-objects/crypto/EncryptedKeyPair.d.ts +4 -4
- package/dist/value-objects/crypto/EncryptedKeyPair.d.ts.map +1 -1
- package/dist/value-objects/crypto/EncryptedKeyPair.js.map +1 -1
- package/dist/value-objects/crypto/EncryptedPayload.d.ts +0 -2
- package/dist/value-objects/crypto/EncryptedPayload.d.ts.map +1 -1
- package/dist/value-objects/crypto/EncryptedPayload.js +0 -15
- package/dist/value-objects/crypto/EncryptedPayload.js.map +1 -1
- package/dist/value-objects/crypto/EncryptedPrivateKey.d.ts +2 -3
- package/dist/value-objects/crypto/EncryptedPrivateKey.d.ts.map +1 -1
- package/dist/value-objects/crypto/EncryptedPrivateKey.js +4 -6
- package/dist/value-objects/crypto/EncryptedPrivateKey.js.map +1 -1
- package/dist/value-objects/crypto/KeyPair.d.ts +2 -2
- package/dist/value-objects/crypto/KeyPair.d.ts.map +1 -1
- package/dist/value-objects/crypto/KeyPair.js +1 -1
- package/dist/value-objects/crypto/KeyPair.js.map +1 -1
- package/dist/value-objects/crypto/PrivateKey.d.ts +0 -13
- package/dist/value-objects/crypto/PrivateKey.d.ts.map +1 -1
- package/dist/value-objects/crypto/PrivateKey.js +12 -58
- package/dist/value-objects/crypto/PrivateKey.js.map +1 -1
- package/dist/value-objects/crypto/PublicKey.d.ts +2 -6
- package/dist/value-objects/crypto/PublicKey.d.ts.map +1 -1
- package/dist/value-objects/crypto/PublicKey.js +6 -20
- package/dist/value-objects/crypto/PublicKey.js.map +1 -1
- package/dist/value-objects/crypto/encrypted-private-key/EncryptedPrivateKeyLegacy.d.ts +2 -2
- package/dist/value-objects/crypto/encrypted-private-key/EncryptedPrivateKeyLegacy.d.ts.map +1 -1
- package/dist/value-objects/crypto/encrypted-private-key/EncryptedPrivateKeyLegacy.js.map +1 -1
- package/dist/value-objects/crypto/encrypted-private-key/EncryptedPrivateKeyV2.d.ts +5 -7
- package/dist/value-objects/crypto/encrypted-private-key/EncryptedPrivateKeyV2.d.ts.map +1 -1
- package/dist/value-objects/crypto/encrypted-private-key/EncryptedPrivateKeyV2.js +17 -41
- package/dist/value-objects/crypto/encrypted-private-key/EncryptedPrivateKeyV2.js.map +1 -1
- package/dist/value-objects/crypto/encrypted-private-key/EncryptedPrivateKeyVersion.d.ts +2 -2
- package/dist/value-objects/crypto/encrypted-private-key/EncryptedPrivateKeyVersion.d.ts.map +1 -1
- package/dist/value-objects/crypto/index.d.ts +0 -3
- package/dist/value-objects/crypto/index.d.ts.map +1 -1
- package/dist/value-objects/crypto/index.js +0 -3
- package/dist/value-objects/crypto/index.js.map +1 -1
- package/dist/value-objects/hashes/MD5Hash.d.ts.map +1 -1
- package/dist/value-objects/hashes/MD5Hash.js +1 -2
- package/dist/value-objects/hashes/MD5Hash.js.map +1 -1
- package/dist/value-objects/hashes/SHA256Hash.d.ts.map +1 -1
- package/dist/value-objects/hashes/SHA256Hash.js +1 -2
- package/dist/value-objects/hashes/SHA256Hash.js.map +1 -1
- package/dist/value-objects/hashes/SHA512Hash.d.ts.map +1 -1
- package/dist/value-objects/hashes/SHA512Hash.js +1 -2
- package/dist/value-objects/hashes/SHA512Hash.js.map +1 -1
- package/dist/value-objects/ids/ShortId.d.ts +0 -1
- package/dist/value-objects/ids/ShortId.d.ts.map +1 -1
- package/dist/value-objects/ids/ShortId.js +3 -7
- package/dist/value-objects/ids/ShortId.js.map +1 -1
- package/dist/value-objects/ids/UUID.d.ts +0 -2
- package/dist/value-objects/ids/UUID.d.ts.map +1 -1
- package/dist/value-objects/ids/UUID.js +4 -18
- package/dist/value-objects/ids/UUID.js.map +1 -1
- package/dist/value-objects/index.d.ts +0 -1
- package/dist/value-objects/index.d.ts.map +1 -1
- package/dist/value-objects/index.js +0 -1
- package/dist/value-objects/index.js.map +1 -1
- package/dist/value-objects/media/Media.d.ts +0 -2
- package/dist/value-objects/media/Media.d.ts.map +1 -1
- package/dist/value-objects/media/Media.js +1 -14
- package/dist/value-objects/media/Media.js.map +1 -1
- package/dist/value-objects/time/CalendarDay.d.ts +1 -2
- package/dist/value-objects/time/CalendarDay.d.ts.map +1 -1
- package/dist/value-objects/time/CalendarDay.js +11 -25
- package/dist/value-objects/time/CalendarDay.js.map +1 -1
- package/dist/value-objects/time/DayOfWeek.d.ts.map +1 -1
- package/dist/value-objects/time/DayOfWeek.js +3 -2
- package/dist/value-objects/time/DayOfWeek.js.map +1 -1
- package/dist/value-objects/time/Duration.js +2 -2
- package/dist/value-objects/time/Duration.js.map +1 -1
- package/dist/value-objects/time/Hour.d.ts +0 -3
- package/dist/value-objects/time/Hour.d.ts.map +1 -1
- package/dist/value-objects/time/Hour.js +31 -30
- package/dist/value-objects/time/Hour.js.map +1 -1
- package/dist/value-objects/time/Timestamp.d.ts +0 -3
- package/dist/value-objects/time/Timestamp.d.ts.map +1 -1
- package/dist/value-objects/time/Timestamp.js +6 -50
- package/dist/value-objects/time/Timestamp.js.map +1 -1
- package/dist/value-objects/time/TimestampInterval.d.ts +4 -2
- package/dist/value-objects/time/TimestampInterval.d.ts.map +1 -1
- package/dist/value-objects/time/TimestampInterval.js +10 -0
- package/dist/value-objects/time/TimestampInterval.js.map +1 -1
- package/package.json +32 -57
- package/dist/errors/InvalidEncryptedPrivateKeyFormatError.d.ts +0 -5
- package/dist/errors/InvalidEncryptedPrivateKeyFormatError.d.ts.map +0 -1
- package/dist/errors/InvalidEncryptedPrivateKeyFormatError.js +0 -11
- package/dist/errors/InvalidEncryptedPrivateKeyFormatError.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/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/crypto/AsymmetricEncryptedPayload.d.ts +0 -5
- package/dist/value-objects/crypto/AsymmetricEncryptedPayload.d.ts.map +0 -1
- package/dist/value-objects/crypto/AsymmetricEncryptedPayload.js +0 -11
- package/dist/value-objects/crypto/AsymmetricEncryptedPayload.js.map +0 -1
- package/dist/value-objects/crypto/StrictBase64.d.ts +0 -15
- package/dist/value-objects/crypto/StrictBase64.d.ts.map +0 -1
- package/dist/value-objects/crypto/StrictBase64.js +0 -36
- package/dist/value-objects/crypto/StrictBase64.js.map +0 -1
- package/dist/value-objects/crypto/SymmetricEncryptedPayload.d.ts +0 -5
- package/dist/value-objects/crypto/SymmetricEncryptedPayload.d.ts.map +0 -1
- package/dist/value-objects/crypto/SymmetricEncryptedPayload.js +0 -11
- package/dist/value-objects/crypto/SymmetricEncryptedPayload.js.map +0 -1
- package/dist/value-objects/crypto/SymmetricKey.d.ts +0 -49
- package/dist/value-objects/crypto/SymmetricKey.d.ts.map +0 -1
- package/dist/value-objects/crypto/SymmetricKey.js +0 -149
- package/dist/value-objects/crypto/SymmetricKey.js.map +0 -1
- package/dist/value-objects/crypto/encrypted-private-key/EncryptedPrivateKeyV3.d.ts +0 -24
- package/dist/value-objects/crypto/encrypted-private-key/EncryptedPrivateKeyV3.d.ts.map +0 -1
- package/dist/value-objects/crypto/encrypted-private-key/EncryptedPrivateKeyV3.js +0 -105
- package/dist/value-objects/crypto/encrypted-private-key/EncryptedPrivateKeyV3.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DayOfWeek.d.ts","sourceRoot":"","sources":["../../../src/value-objects/time/DayOfWeek.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"DayOfWeek.d.ts","sourceRoot":"","sources":["../../../src/value-objects/time/DayOfWeek.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAC/B,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,oBAAY,WAAW;IACrB,MAAM,WAAW;IACjB,OAAO,YAAY;IACnB,SAAS,cAAc;IACvB,QAAQ,aAAa;IACrB,MAAM,WAAW;IACjB,QAAQ,aAAa;IACrB,MAAM,WAAW;CAClB;AAED,eAAO,MAAM,qBAAqB;;;;;;;;CAQjC,CAAC;AAEF,qBAAa,SAAU,SAAQ,IAAI;IACjC,OAAc,MAAM,YAAqC;IACzD,OAAc,OAAO,YAAsC;IAC3D,OAAc,SAAS,YAAwC;IAC/D,OAAc,QAAQ,YAAuC;IAC7D,OAAc,MAAM,YAAqC;IACzD,OAAc,QAAQ,YAAuC;IAC7D,OAAc,MAAM,YAAqC;WAE3C,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS;WAalC,aAAa,CAAC,SAAS,EAAE,SAAS,GAAG,SAAS;IAMrD,SAAS,IAAI,MAAM,EAAE;IAIrB,QAAQ,IAAI,MAAM;CAG1B"}
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.DayOfWeek = exports.timeStampDayToDaysMap = exports.EDaysOfWeek = void 0;
|
|
4
4
|
const InvalidDayError_1 = require("../../errors/InvalidDayError");
|
|
5
|
-
const patterns_1 = require("../../patterns");
|
|
6
5
|
const Enum_1 = require("../Enum");
|
|
7
6
|
var EDaysOfWeek;
|
|
8
7
|
(function (EDaysOfWeek) {
|
|
@@ -33,7 +32,9 @@ class DayOfWeek extends Enum_1.Enum {
|
|
|
33
32
|
static SUNDAY = new DayOfWeek(EDaysOfWeek.SUNDAY);
|
|
34
33
|
static fromNumber(day) {
|
|
35
34
|
const [eDay] = Object.entries(exports.timeStampDayToDaysMap).find(([, value]) => value === day) || [];
|
|
36
|
-
|
|
35
|
+
if (!eDay) {
|
|
36
|
+
throw new InvalidDayError_1.InvalidDayError(eDay);
|
|
37
|
+
}
|
|
37
38
|
return new DayOfWeek(eDay);
|
|
38
39
|
}
|
|
39
40
|
static fromTimestamp(timestamp) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DayOfWeek.js","sourceRoot":"","sources":["../../../src/value-objects/time/DayOfWeek.ts"],"names":[],"mappings":";;;AAAA,kEAA+D;AAC/D,
|
|
1
|
+
{"version":3,"file":"DayOfWeek.js","sourceRoot":"","sources":["../../../src/value-objects/time/DayOfWeek.ts"],"names":[],"mappings":";;;AAAA,kEAA+D;AAC/D,kCAA+B;AAG/B,IAAY,WAQX;AARD,WAAY,WAAW;IACrB,gCAAiB,CAAA;IACjB,kCAAmB,CAAA;IACnB,sCAAuB,CAAA;IACvB,oCAAqB,CAAA;IACrB,gCAAiB,CAAA;IACjB,oCAAqB,CAAA;IACrB,gCAAiB,CAAA;AACnB,CAAC,EARW,WAAW,2BAAX,WAAW,QAQtB;AAEY,QAAA,qBAAqB,GAAG;IACnC,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;IACvB,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;IACvB,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC;IACzB,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;IACvB,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC;IACzB,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;IACxB,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE,CAAC;CAC3B,CAAC;AAEF,MAAa,SAAU,SAAQ,WAAI;IAC1B,MAAM,CAAC,MAAM,GAAG,IAAI,SAAS,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAClD,MAAM,CAAC,OAAO,GAAG,IAAI,SAAS,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IACpD,MAAM,CAAC,SAAS,GAAG,IAAI,SAAS,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;IACxD,MAAM,CAAC,QAAQ,GAAG,IAAI,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IACtD,MAAM,CAAC,MAAM,GAAG,IAAI,SAAS,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAClD,MAAM,CAAC,QAAQ,GAAG,IAAI,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IACtD,MAAM,CAAC,MAAM,GAAG,IAAI,SAAS,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAElD,MAAM,CAAC,UAAU,CAAC,GAAW;QAClC,MAAM,CAAC,IAAI,CAAC,GACV,MAAM,CAAC,OAAO,CAAC,6BAAqB,CAAC,CAAC,IAAI,CACxC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,KAAK,GAAG,CAC7B,IAAI,EAAE,CAAC;QAEV,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,iCAAe,CAAC,IAAI,CAAC,CAAC;QAClC,CAAC;QAED,OAAO,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IAEM,MAAM,CAAC,aAAa,CAAC,SAAoB;QAC9C,MAAM,eAAe,GAAG,SAAS,CAAC,YAAY,EAAE,CAAC;QAEjD,OAAO,SAAS,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;IAC/C,CAAC;IAEM,SAAS;QACd,OAAO,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IACpC,CAAC;IAEM,QAAQ;QACb,OAAO,6BAAqB,CAAC,IAAI,CAAC,KAAoB,CAAC,CAAC;IAC1D,CAAC;;AAlCH,8BAmCC"}
|
|
@@ -56,10 +56,10 @@ class Duration extends NumberValueObject_1.NumberValueObject {
|
|
|
56
56
|
return new NumberValueObject_1.NumberValueObject(this.valueOf());
|
|
57
57
|
}
|
|
58
58
|
getDays() {
|
|
59
|
-
return new NumberValueObject_1.NumberValueObject(Math.floor(new Duration(this).divide(Duration.millisecondFactors.DAYS).valueOf()));
|
|
59
|
+
return new NumberValueObject_1.NumberValueObject(Math.floor(new Duration(this).divide(Duration.millisecondFactors.DAYS).valueOf()) % Duration.SECOND_UNITS.DAYS);
|
|
60
60
|
}
|
|
61
61
|
getHours() {
|
|
62
|
-
return new NumberValueObject_1.NumberValueObject(Math.floor(new Duration(this).divide(Duration.millisecondFactors.HOURS).valueOf()) %
|
|
62
|
+
return new NumberValueObject_1.NumberValueObject(Math.floor(new Duration(this).divide(Duration.millisecondFactors.HOURS).valueOf()) % Duration.SECOND_UNITS.HOURS);
|
|
63
63
|
}
|
|
64
64
|
getMinutes() {
|
|
65
65
|
return new NumberValueObject_1.NumberValueObject(Math.floor(new Duration(this)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Duration.js","sourceRoot":"","sources":["../../../src/value-objects/time/Duration.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"Duration.js","sourceRoot":"","sources":["../../../src/value-objects/time/Duration.ts"],"names":[],"mappings":";;;AAAA,4DAAyD;AAEzD,MAAa,QAAS,SAAQ,qCAAiB;IACrC,MAAM,CAAU,kBAAkB,GAAG,IAAI,CAAC;IAC1C,MAAM,CAAU,YAAY,GAAG;QACrC,IAAI,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE;QAClB,KAAK,EAAE,EAAE,GAAG,EAAE;QACd,OAAO,EAAE,EAAE;QACX,MAAM,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE;QACzB,OAAO,EAAE,CAAC;QACV,KAAK,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE;QACvB,KAAK,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE;KAC1B,CAAC;IAEM,MAAM,CAAU,kBAAkB,GAAG;QAC3C,IAAI,EAAE,IAAI,qCAAiB,CACzB,IAAI,CAAC,YAAY,CAAC,IAAI,GAAG,IAAI,CAAC,kBAAkB,CACjD;QACD,KAAK,EAAE,IAAI,qCAAiB,CAC1B,IAAI,CAAC,YAAY,CAAC,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAClD;QACD,OAAO,EAAE,IAAI,qCAAiB,CAC5B,IAAI,CAAC,YAAY,CAAC,OAAO,GAAG,IAAI,CAAC,kBAAkB,CACpD;QACD,MAAM,EAAE,IAAI,qCAAiB,CAC3B,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,IAAI,CAAC,kBAAkB,CACnD;QACD,OAAO,EAAE,IAAI,qCAAiB,CAC5B,IAAI,CAAC,YAAY,CAAC,OAAO,GAAG,IAAI,CAAC,kBAAkB,CACpD;QACD,KAAK,EAAE,IAAI,qCAAiB,CAC1B,IAAI,CAAC,YAAY,CAAC,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAClD;QACD,KAAK,EAAE,IAAI,qCAAiB,CAC1B,IAAI,CAAC,YAAY,CAAC,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAClD;KACF,CAAC;IAEK,MAAM,CAAC,QAAQ,CAAC,IAAgC;QACrD,OAAO,IAAI,QAAQ,CACjB,IAAI,qCAAiB,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAC5C,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAC7B,CACF,CAAC;IACJ,CAAC;IAEM,MAAM,CAAC,SAAS,CAAC,KAAiC;QACvD,OAAO,IAAI,QAAQ,CACjB,IAAI,qCAAiB,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAC7C,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAC9B,CACF,CAAC;IACJ,CAAC;IAEM,MAAM,CAAC,WAAW,CAAC,OAAmC;QAC3D,OAAO,IAAI,QAAQ,CACjB,IAAI,qCAAiB,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAC/C,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAChC,CACF,CAAC;IACJ,CAAC;IAEM,MAAM,CAAC,WAAW,CAAC,OAAmC;QAC3D,OAAO,IAAI,QAAQ,CACjB,IAAI,qCAAiB,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAC/C,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAChC,CACF,CAAC;IACJ,CAAC;IAEM,MAAM,CAAC,gBAAgB,CAC5B,YAAwC;QAExC,OAAO,IAAI,QAAQ,CAAC,IAAI,qCAAiB,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IACrE,CAAC;IAED,YAAY,YAA0C;QACpD,KAAK,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC,CAAC;IAChC,CAAC;IAEM,YAAY;QACjB,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;IACrE,CAAC;IAEM,aAAa;QAClB,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;IACtE,CAAC;IAEM,eAAe;QACpB,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;IACxE,CAAC;IAEM,eAAe;QACpB,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;IACxE,CAAC;IAEM,oBAAoB;QACzB,OAAO,IAAI,qCAAiB,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;IAC/C,CAAC;IAEM,OAAO;QACZ,OAAO,IAAI,qCAAiB,CAC1B,IAAI,CAAC,KAAK,CACR,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CACtE,GAAG,QAAQ,CAAC,YAAY,CAAC,IAAI,CAC/B,CAAC;IACJ,CAAC;IAEM,QAAQ;QACb,OAAO,IAAI,qCAAiB,CAC1B,IAAI,CAAC,KAAK,CACR,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CACvE,GAAG,QAAQ,CAAC,YAAY,CAAC,KAAK,CAChC,CAAC;IACJ,CAAC;IAEM,UAAU;QACf,OAAO,IAAI,qCAAiB,CAC1B,IAAI,CAAC,KAAK,CACR,IAAI,QAAQ,CAAC,IAAI,CAAC;aACf,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAAC,OAAO,CAAC;aAC3C,OAAO,EAAE,CACb,GAAG,QAAQ,CAAC,YAAY,CAAC,OAAO,CAClC,CAAC;IACJ,CAAC;IAEM,UAAU;QACf,OAAO,IAAI,qCAAiB,CAC1B,IAAI,CAAC,KAAK,CACR,IAAI,QAAQ,CAAC,IAAI,CAAC;aACf,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAAC,OAAO,CAAC;aAC3C,OAAO,EAAE,CACb,GAAG,QAAQ,CAAC,YAAY,CAAC,OAAO,CAClC,CAAC;IACJ,CAAC;IAEM,eAAe;QACpB,OAAO,IAAI,qCAAiB,CAC1B,IAAI,CAAC,KAAK,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC,GAAG,QAAQ,CAAC,kBAAkB,CACvE,CAAC;IACJ,CAAC;;AA1IH,4BA2IC"}
|
|
@@ -3,9 +3,6 @@ export declare class Hour extends StringValueObject {
|
|
|
3
3
|
private readonly minutes;
|
|
4
4
|
private readonly hours;
|
|
5
5
|
private static addTrailZero;
|
|
6
|
-
private static normalizeMinutes;
|
|
7
|
-
private static parseFromNumber;
|
|
8
|
-
private static parseFromString;
|
|
9
6
|
constructor(value: string);
|
|
10
7
|
constructor(value: number, minutes?: number);
|
|
11
8
|
addMinutes(minutes: number): Hour;
|
|
@@ -1 +1 @@
|
|
|
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;
|
|
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;IAC/B,OAAO,CAAC,MAAM,CAAC,YAAY;gBAIf,KAAK,EAAE,MAAM;gBACb,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM;IAiCpC,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAkBjC,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"}
|
|
@@ -9,43 +9,44 @@ class Hour extends StringValueObject_1.StringValueObject {
|
|
|
9
9
|
minutes;
|
|
10
10
|
hours;
|
|
11
11
|
static addTrailZero(value) {
|
|
12
|
-
return value < 10 ? `0${value}` : value
|
|
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)];
|
|
12
|
+
return Number(value) < 10 ? `0${Number(value)}` : value;
|
|
34
13
|
}
|
|
35
14
|
constructor(value, minutes) {
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
15
|
+
let parsedHours;
|
|
16
|
+
let parsedMinutes;
|
|
17
|
+
if (typeof value === 'number' && minutes !== undefined) {
|
|
18
|
+
(0, Assert_1.assert)(Number(value) >= 0 && Number(value) <= 23, new InvalidHourError_1.InvalidHourError());
|
|
19
|
+
(0, Assert_1.assert)(Number(minutes) >= 0 && Number(minutes) <= 59, new InvalidMinutesError_1.InvalidMinutesError());
|
|
20
|
+
parsedHours = Hour.addTrailZero(value.toString());
|
|
21
|
+
parsedMinutes = Hour.addTrailZero(minutes.toString());
|
|
22
|
+
}
|
|
23
|
+
else {
|
|
24
|
+
(0, Assert_1.assert)(typeof value === 'string', new InvalidHourError_1.InvalidHourError());
|
|
25
|
+
(0, Assert_1.assert)(value.includes(':'), new InvalidHourError_1.InvalidHourError());
|
|
26
|
+
const [hours, minutes] = value.split(':');
|
|
27
|
+
(0, Assert_1.assert)(Number(hours) >= 0 && Number(hours) <= 23, new InvalidHourError_1.InvalidHourError());
|
|
28
|
+
(0, Assert_1.assert)(Number(minutes) >= 0 && Number(minutes) <= 59, new InvalidMinutesError_1.InvalidMinutesError());
|
|
29
|
+
parsedHours = Hour.addTrailZero(hours);
|
|
30
|
+
parsedMinutes = Hour.addTrailZero(minutes);
|
|
31
|
+
}
|
|
39
32
|
super(`${parsedHours}:${parsedMinutes}`);
|
|
40
33
|
this.hours = parsedHours;
|
|
41
34
|
this.minutes = parsedMinutes;
|
|
42
35
|
}
|
|
43
36
|
addMinutes(minutes) {
|
|
44
|
-
const
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
37
|
+
const totalMinutes = Number(this.minutes) + minutes;
|
|
38
|
+
let newHour = Number(this.hours) + Math.floor(totalMinutes / 60);
|
|
39
|
+
let newMinutes = totalMinutes % 60;
|
|
40
|
+
if (newHour > 23) {
|
|
41
|
+
newHour = newHour - 24;
|
|
42
|
+
}
|
|
43
|
+
else if (newHour < 0) {
|
|
44
|
+
newHour = 24 + newHour;
|
|
45
|
+
}
|
|
46
|
+
if (newMinutes < 0) {
|
|
47
|
+
newMinutes = 60 + newMinutes;
|
|
48
|
+
}
|
|
49
|
+
return new Hour(`${newHour}:${newMinutes}`);
|
|
49
50
|
}
|
|
50
51
|
diffInMinutes(other) {
|
|
51
52
|
let endHour = Number(other.hours);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Hour.js","sourceRoot":"","sources":["../../../src/value-objects/time/Hour.ts"],"names":[],"mappings":";;;AAAA,oEAAiE;AACjE,0EAAuE;AACvE,kDAA+C;AAC/C,4DAAyD;AAEzD,MAAa,IAAK,SAAQ,qCAAiB;IACxB,OAAO,CAAS;IAChB,KAAK,CAAS;
|
|
1
|
+
{"version":3,"file":"Hour.js","sourceRoot":"","sources":["../../../src/value-objects/time/Hour.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,9 +10,6 @@ type TimestampValue = number | Date | Timestamp | string;
|
|
|
10
10
|
export declare class Timestamp extends ValueObject<number> {
|
|
11
11
|
private static readonly FACTORS;
|
|
12
12
|
private static valueMilliseconds;
|
|
13
|
-
private static getLastDayOfUtcMonth;
|
|
14
|
-
private static ensureCalendarDelta;
|
|
15
|
-
private static createUtcCalendarValue;
|
|
16
13
|
static new(value: TimestampValue): Timestamp;
|
|
17
14
|
static now(): Timestamp;
|
|
18
15
|
static fromSeconds(seconds: number | NumberValueObject): Timestamp;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Timestamp.d.ts","sourceRoot":"","sources":["../../../src/value-objects/time/Timestamp.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Timestamp.d.ts","sourceRoot":"","sources":["../../../src/value-objects/time/Timestamp.ts"],"names":[],"mappings":"AAAA,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,CAQ7B;IAEF,OAAO,CAAC,MAAM,CAAC,iBAAiB;WAgBlB,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;IAIlC,WAAW,IAAI,SAAS;IAYxB,cAAc,IAAI,MAAM;IAIxB,SAAS,IAAI,MAAM;IAInB,MAAM,IAAI,IAAI;IAId,QAAQ,IAAI,MAAM;IAIlB,OAAO,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO;IAIlC,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;IAMxD,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS;IAMtD,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,9 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
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
4
|
const ValueObject_1 = require("../ValueObject");
|
|
8
5
|
const CalendarDay_1 = require("./CalendarDay");
|
|
9
6
|
const Day_1 = require("./Day");
|
|
@@ -15,8 +12,10 @@ class Timestamp extends ValueObject_1.ValueObject {
|
|
|
15
12
|
DAYS: 24 * 60 * 60 * 1000,
|
|
16
13
|
HOURS: 60 * 60 * 1000,
|
|
17
14
|
MINUTES: 60 * 1000,
|
|
15
|
+
MONTHS: 30 * 24 * 60 * 60 * 1000,
|
|
18
16
|
SECONDS: 1000,
|
|
19
17
|
WEEKS: 7 * 24 * 60 * 60 * 1000,
|
|
18
|
+
YEARS: 365 * 24 * 60 * 60 * 1000,
|
|
20
19
|
};
|
|
21
20
|
static valueMilliseconds(value) {
|
|
22
21
|
if (value instanceof Timestamp || value instanceof Date) {
|
|
@@ -30,37 +29,6 @@ class Timestamp extends ValueObject_1.ValueObject {
|
|
|
30
29
|
}
|
|
31
30
|
return Date.now().valueOf();
|
|
32
31
|
}
|
|
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
32
|
static new(value) {
|
|
65
33
|
return new Timestamp(value);
|
|
66
34
|
}
|
|
@@ -72,7 +40,6 @@ class Timestamp extends ValueObject_1.ValueObject {
|
|
|
72
40
|
}
|
|
73
41
|
constructor(value) {
|
|
74
42
|
super(Timestamp.valueMilliseconds(value));
|
|
75
|
-
(0, Assert_1.assert)(Number.isFinite(new Date(this.value).valueOf()), new InvalidNumberError_1.InvalidNumberError(this.value));
|
|
76
43
|
}
|
|
77
44
|
toExactHour() {
|
|
78
45
|
const date = new Date(this.valueOf());
|
|
@@ -134,23 +101,12 @@ class Timestamp extends ValueObject_1.ValueObject {
|
|
|
134
101
|
return this.clone(value);
|
|
135
102
|
}
|
|
136
103
|
addMonths(months) {
|
|
137
|
-
const
|
|
138
|
-
|
|
139
|
-
const source = new Date(Math.floor(this.value));
|
|
140
|
-
const totalMonths = source.getUTCFullYear() * 12 + source.getUTCMonth() + delta;
|
|
141
|
-
const targetYear = Math.floor(totalMonths / 12);
|
|
142
|
-
const targetMonth = totalMonths - targetYear * 12;
|
|
143
|
-
const targetDay = Math.min(source.getUTCDate(), Timestamp.getLastDayOfUtcMonth(targetYear, targetMonth));
|
|
144
|
-
return this.clone(Timestamp.createUtcCalendarValue(this.value, targetYear, targetMonth, targetDay));
|
|
104
|
+
const value = this.value + months.valueOf() * Timestamp.FACTORS.MONTHS;
|
|
105
|
+
return this.clone(value);
|
|
145
106
|
}
|
|
146
107
|
addYears(years) {
|
|
147
|
-
const
|
|
148
|
-
|
|
149
|
-
const source = new Date(Math.floor(this.value));
|
|
150
|
-
const targetYear = source.getUTCFullYear() + delta;
|
|
151
|
-
const targetMonth = source.getUTCMonth();
|
|
152
|
-
const targetDay = Math.min(source.getUTCDate(), Timestamp.getLastDayOfUtcMonth(targetYear, targetMonth));
|
|
153
|
-
return this.clone(Timestamp.createUtcCalendarValue(this.value, targetYear, targetMonth, targetDay));
|
|
108
|
+
const value = this.value + years.valueOf() * Timestamp.FACTORS.YEARS;
|
|
109
|
+
return this.clone(value);
|
|
154
110
|
}
|
|
155
111
|
addDuration(duration) {
|
|
156
112
|
const value = this.value + duration.valueOf();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Timestamp.js","sourceRoot":"","sources":["../../../src/value-objects/time/Timestamp.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"Timestamp.js","sourceRoot":"","sources":["../../../src/value-objects/time/Timestamp.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,8 +5,8 @@ import { DayOfWeek } from './DayOfWeek';
|
|
|
5
5
|
import { Duration } from './Duration';
|
|
6
6
|
import { Timestamp } from './Timestamp';
|
|
7
7
|
export declare class TimestampInterval extends ValueObject<string> {
|
|
8
|
-
private
|
|
9
|
-
private
|
|
8
|
+
private start;
|
|
9
|
+
private end;
|
|
10
10
|
static fromPrimitives(primitives: PrimitiveOf<TimestampInterval>): TimestampInterval;
|
|
11
11
|
constructor(start: Timestamp, end: Timestamp);
|
|
12
12
|
toPrimitives(): {
|
|
@@ -17,6 +17,8 @@ export declare class TimestampInterval extends ValueObject<string> {
|
|
|
17
17
|
getEnd(): Timestamp;
|
|
18
18
|
getDuration(): Duration;
|
|
19
19
|
getTotalDaysOfWeek(dayOfWeek: DayOfWeek): number;
|
|
20
|
+
modifyStart(start: Timestamp): void;
|
|
21
|
+
modifyEnd(end: Timestamp): void;
|
|
20
22
|
getDaysBetweenInterval(): CalendarDay[];
|
|
21
23
|
getOverlappingInterval(searchInterval: TimestampInterval): TimestampInterval | null;
|
|
22
24
|
includes(timestamp: Timestamp): boolean;
|
|
@@ -1 +1 @@
|
|
|
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,
|
|
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,KAAK;IACb,OAAO,CAAC,GAAG;WAXC,cAAc,CAC1B,UAAU,EAAE,WAAW,CAAC,iBAAiB,CAAC,GACzC,iBAAiB;gBAQV,KAAK,EAAE,SAAS,EAChB,GAAG,EAAE,SAAS;IAUjB,YAAY;;;;IAOZ,QAAQ,IAAI,SAAS;IAIrB,MAAM,IAAI,SAAS;IAInB,WAAW,IAAI,QAAQ;IAMvB,kBAAkB,CAAC,SAAS,EAAE,SAAS,GAAG,MAAM;IAmBhD,WAAW,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI;IAMnC,SAAS,CAAC,GAAG,EAAE,SAAS,GAAG,IAAI;IAM/B,sBAAsB,IAAI,WAAW,EAAE;IAcvC,sBAAsB,CAC3B,cAAc,EAAE,iBAAiB,GAChC,iBAAiB,GAAG,IAAI;IAepB,QAAQ,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO;CAM/C"}
|
|
@@ -47,6 +47,16 @@ class TimestampInterval extends ValueObject_1.ValueObject {
|
|
|
47
47
|
}
|
|
48
48
|
return count;
|
|
49
49
|
}
|
|
50
|
+
modifyStart(start) {
|
|
51
|
+
const end = this.end;
|
|
52
|
+
(0, Assert_1.assert)(start.isBefore(end), new InvalidTimestampIntervalError_1.InvalidTimestampIntervalError(start, end));
|
|
53
|
+
this.start = start;
|
|
54
|
+
}
|
|
55
|
+
modifyEnd(end) {
|
|
56
|
+
const start = this.start;
|
|
57
|
+
(0, Assert_1.assert)(start.isBefore(end), new InvalidTimestampIntervalError_1.InvalidTimestampIntervalError(start, end));
|
|
58
|
+
this.end = end;
|
|
59
|
+
}
|
|
50
60
|
getDaysBetweenInterval() {
|
|
51
61
|
const days = [];
|
|
52
62
|
let iteratorTimestamp = new Timestamp_1.Timestamp(this.getStart());
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TimestampInterval.js","sourceRoot":"","sources":["../../../src/value-objects/time/TimestampInterval.ts"],"names":[],"mappings":";;;AAAA,8FAA2F;AAE3F,kDAA+C;AAC/C,sDAAmD;AACnD,gDAA6C;AAC7C,+CAA4C;AAE5C,yCAAsC;AACtC,2CAAwC;AAExC,MAAa,iBAAkB,SAAQ,yBAAmB;
|
|
1
|
+
{"version":3,"file":"TimestampInterval.js","sourceRoot":"","sources":["../../../src/value-objects/time/TimestampInterval.ts"],"names":[],"mappings":";;;AAAA,8FAA2F;AAE3F,kDAA+C;AAC/C,sDAAmD;AACnD,gDAA6C;AAC7C,+CAA4C;AAE5C,yCAAsC;AACtC,2CAAwC;AAExC,MAAa,iBAAkB,SAAQ,yBAAmB;IAW9C;IACA;IAXH,MAAM,CAAC,cAAc,CAC1B,UAA0C;QAE1C,OAAO,IAAI,iBAAiB,CAC1B,IAAI,qBAAS,CAAC,UAAU,CAAC,KAAK,CAAC,EAC/B,IAAI,qBAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAC9B,CAAC;IACJ,CAAC;IAED,YACU,KAAgB,EAChB,GAAc;QAEtB,KAAK,CAAC,GAAG,KAAK,CAAC,OAAO,EAAE,IAAI,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAHrC,UAAK,GAAL,KAAK,CAAW;QAChB,QAAG,GAAH,GAAG,CAAW;QAItB,IAAA,eAAM,EACJ,KAAK,CAAC,eAAe,CAAC,GAAG,CAAC,EAC1B,IAAI,6DAA6B,CAAC,KAAK,EAAE,GAAG,CAAC,CAC9C,CAAC;IACJ,CAAC;IAEM,YAAY;QACjB,OAAO;YACL,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE;YACvB,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;SAC5B,CAAC;IACJ,CAAC;IAEM,QAAQ;QACb,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAEM,MAAM;QACX,OAAO,IAAI,CAAC,GAAG,CAAC;IAClB,CAAC;IAEM,WAAW;QAChB,OAAO,IAAI,mBAAQ,CACjB,IAAI,+BAAc,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAC9D,CAAC;IACJ,CAAC;IAEM,kBAAkB,CAAC,SAAoB;QAC5C,MAAM,oBAAoB,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;QACjD,MAAM,WAAW,GAAW,IAAI,CAAC,KAAK,CACpC,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,EAAE,GAAG,oBAAoB,CACpD,CAAC;QAEF,IAAI,KAAK,GAAG,CAAC,CAAC;QAEd,KAAK,IAAI,WAAW,GAAG,CAAC,EAAE,WAAW,IAAI,WAAW,EAAE,WAAW,EAAE,EAAE,CAAC;YACpE,MAAM,WAAW,GAAG,IAAI,qBAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;YAEnE,IAAI,WAAW,CAAC,YAAY,EAAE,KAAK,SAAS,CAAC,QAAQ,EAAE,EAAE,CAAC;gBACxD,KAAK,EAAE,CAAC;YACV,CAAC;QACH,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAEM,WAAW,CAAC,KAAgB;QACjC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;QACrB,IAAA,eAAM,EAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,IAAI,6DAA6B,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;QAC3E,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAEM,SAAS,CAAC,GAAc;QAC7B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,IAAA,eAAM,EAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,IAAI,6DAA6B,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;QAC3E,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACjB,CAAC;IAEM,sBAAsB;QAC3B,MAAM,IAAI,GAAkB,EAAE,CAAC;QAE/B,IAAI,iBAAiB,GAAG,IAAI,qBAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QACvD,MAAM,YAAY,GAAG,IAAI,qBAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QAElD,OAAO,iBAAiB,CAAC,eAAe,CAAC,YAAY,CAAC,EAAE,CAAC;YACvD,IAAI,CAAC,IAAI,CAAC,IAAI,yBAAW,CAAC,iBAAiB,CAAC,CAAC,CAAC;YAC9C,iBAAiB,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACnD,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,sBAAsB,CAC3B,cAAiC;QAEjC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC;YACzD,CAAC,CAAC,IAAI,CAAC,KAAK;YACZ,CAAC,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC;QAC9B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC;YACpD,CAAC,CAAC,IAAI,CAAC,GAAG;YACV,CAAC,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC;QAE5B,IAAI,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;YAC9B,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,IAAI,iBAAiB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAC3C,CAAC;IAEM,QAAQ,CAAC,SAAoB;QAClC,OAAO,CACL,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC;YACpC,SAAS,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CACpC,CAAC;IACJ,CAAC;CACF;AA/GD,8CA+GC"}
|
package/package.json
CHANGED
|
@@ -1,47 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@haskou/value-objects",
|
|
3
|
-
"version": "4.
|
|
4
|
-
"description": "TypeScript value objects for validated, immutable primitive values and small domain-safe data structures.",
|
|
3
|
+
"version": "4.1.0",
|
|
5
4
|
"main": "dist/index.js",
|
|
6
5
|
"types": "dist/index.d.ts",
|
|
7
|
-
"exports": {
|
|
8
|
-
".": {
|
|
9
|
-
"types": "./dist/index.d.ts",
|
|
10
|
-
"require": "./dist/index.js",
|
|
11
|
-
"default": "./dist/index.js"
|
|
12
|
-
},
|
|
13
|
-
"./package.json": "./package.json"
|
|
14
|
-
},
|
|
15
6
|
"files": [
|
|
16
7
|
"dist"
|
|
17
8
|
],
|
|
18
|
-
"sideEffects": false,
|
|
19
9
|
"license": "MIT",
|
|
20
|
-
"engines": {
|
|
21
|
-
"node": ">=20.20.2"
|
|
22
|
-
},
|
|
23
|
-
"keywords": [
|
|
24
|
-
"value-object",
|
|
25
|
-
"value-objects",
|
|
26
|
-
"typescript",
|
|
27
|
-
"validation",
|
|
28
|
-
"validated-types",
|
|
29
|
-
"immutable",
|
|
30
|
-
"immutability",
|
|
31
|
-
"type-safety",
|
|
32
|
-
"domain-primitives",
|
|
33
|
-
"primitive-obsession",
|
|
34
|
-
"ddd",
|
|
35
|
-
"domain-driven-design",
|
|
36
|
-
"email-validation",
|
|
37
|
-
"uuid",
|
|
38
|
-
"hash",
|
|
39
|
-
"crypto",
|
|
40
|
-
"aes-256-gcm",
|
|
41
|
-
"ed25519",
|
|
42
|
-
"x25519",
|
|
43
|
-
"scrypt"
|
|
44
|
-
],
|
|
45
10
|
"publishConfig": {
|
|
46
11
|
"access": "public"
|
|
47
12
|
},
|
|
@@ -52,36 +17,46 @@
|
|
|
52
17
|
"bugs": {
|
|
53
18
|
"url": "https://github.com/haskou/value-objects/issues"
|
|
54
19
|
},
|
|
55
|
-
"homepage": "https://
|
|
20
|
+
"homepage": "https://github.com/haskou/value-objects#readme",
|
|
56
21
|
"scripts": {
|
|
57
22
|
"lint": "eslint ./src --ext .ts",
|
|
58
23
|
"lint:fix": "eslint ./src --ext .ts --fix",
|
|
59
24
|
"test": "yarn lint && yarn test:unit",
|
|
60
|
-
"test:unit": "jest --runInBand",
|
|
25
|
+
"test:unit": "jest --passWithNoTests --runInBand",
|
|
61
26
|
"test:coverage": "NODE_ENV=test jest --collect-coverage",
|
|
62
27
|
"build": "rm -rf dist/ && tsc",
|
|
63
|
-
"
|
|
64
|
-
"
|
|
65
|
-
"
|
|
28
|
+
"publish:patch": "yarn lint && yarn test:coverage && tsc --declaration --outDir dist && yarn version --patch && yarn publish && git push",
|
|
29
|
+
"publish:minor": "yarn lint && yarn test:coverage && tsc --declaration --outDir dist && yarn version --minor && yarn publish && git push",
|
|
30
|
+
"publish:major": "yarn lint && yarn test:coverage && tsc --declaration --outDir dist && yarn version --major && yarn publish && git push"
|
|
31
|
+
},
|
|
32
|
+
"devDependencies": {
|
|
33
|
+
"@types/jest": "^30.0.0",
|
|
34
|
+
"@types/node": "^24.0.13",
|
|
35
|
+
"@types/uuid": "8",
|
|
36
|
+
"@typescript-eslint/eslint-plugin": "6.20.0",
|
|
37
|
+
"@typescript-eslint/parser": "6.20.0",
|
|
38
|
+
"eslint": "8.57.0",
|
|
39
|
+
"eslint-config-prettier": "^10.1.5",
|
|
40
|
+
"eslint-plugin-perfectionist": "^4.15.0",
|
|
41
|
+
"eslint-plugin-prettier": "^5.5.1",
|
|
42
|
+
"eslint-plugin-sonarjs": "^3.0.4",
|
|
43
|
+
"eslint-plugin-unused-imports": "^4.1.4",
|
|
44
|
+
"faker": "^6.6.6",
|
|
45
|
+
"jest": "^30.0.4",
|
|
46
|
+
"jest-extended": "^6.0.0",
|
|
47
|
+
"jest-runner-tsc": "^1.6.0",
|
|
48
|
+
"prettier": "^3.6.2",
|
|
49
|
+
"prettier-eslint": "^16.4.2",
|
|
50
|
+
"ts-jest": "^29.4.0",
|
|
51
|
+
"ts-node": "^10.9.2",
|
|
52
|
+
"typescript": "^5.8.3"
|
|
66
53
|
},
|
|
67
54
|
"dependencies": {
|
|
68
55
|
"@noble/ciphers": "^2.2.0",
|
|
69
|
-
"@noble/curves": "^2.
|
|
70
|
-
"@noble/hashes": "^2.
|
|
56
|
+
"@noble/curves": "^2.0.1",
|
|
57
|
+
"@noble/hashes": "^2.0.1",
|
|
58
|
+
"bson-objectid": "^2.0.4",
|
|
71
59
|
"buffer": "^6.0.3",
|
|
72
|
-
"
|
|
73
|
-
},
|
|
74
|
-
"devDependencies": {
|
|
75
|
-
"@haskou/eslint-config": "^0.2.1",
|
|
76
|
-
"@types/jest": "^30.0.0",
|
|
77
|
-
"@types/node": "^26.1.2",
|
|
78
|
-
"eslint": "^10.8.0",
|
|
79
|
-
"jest": "^30.4.2",
|
|
80
|
-
"jest-extended": "^7.0.0",
|
|
81
|
-
"prettier": "^3.9.6",
|
|
82
|
-
"ts-jest": "^29.4.12",
|
|
83
|
-
"typescript": "^6.0.3",
|
|
84
|
-
"vitepress": "^1.6.4",
|
|
85
|
-
"vue": "^3.5.40"
|
|
60
|
+
"uuid": "8"
|
|
86
61
|
}
|
|
87
62
|
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"InvalidEncryptedPrivateKeyFormatError.d.ts","sourceRoot":"","sources":["../../src/errors/InvalidEncryptedPrivateKeyFormatError.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,qBAAa,qCAAsC,SAAQ,WAAW;gBACxD,MAAM,SAAyC;CAG5D"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.InvalidEncryptedPrivateKeyFormatError = void 0;
|
|
4
|
-
const DomainError_1 = require("./DomainError");
|
|
5
|
-
class InvalidEncryptedPrivateKeyFormatError extends DomainError_1.DomainError {
|
|
6
|
-
constructor(reason = 'Invalid encrypted private key format') {
|
|
7
|
-
super(reason);
|
|
8
|
-
}
|
|
9
|
-
}
|
|
10
|
-
exports.InvalidEncryptedPrivateKeyFormatError = InvalidEncryptedPrivateKeyFormatError;
|
|
11
|
-
//# sourceMappingURL=InvalidEncryptedPrivateKeyFormatError.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"InvalidEncryptedPrivateKeyFormatError.js","sourceRoot":"","sources":["../../src/errors/InvalidEncryptedPrivateKeyFormatError.ts"],"names":[],"mappings":";;;AAAA,+CAA4C;AAE5C,MAAa,qCAAsC,SAAQ,yBAAW;IACpE,YAAY,MAAM,GAAG,sCAAsC;QACzD,KAAK,CAAC,MAAM,CAAC,CAAC;IAChB,CAAC;CACF;AAJD,sFAIC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"InvalidPasswordError.d.ts","sourceRoot":"","sources":["../../src/errors/InvalidPasswordError.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,qBAAa,oBAAqB,SAAQ,WAAW;gBACvC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;CAKjD"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.InvalidPasswordError = void 0;
|
|
4
|
-
const DomainError_1 = require("./DomainError");
|
|
5
|
-
class InvalidPasswordError extends DomainError_1.DomainError {
|
|
6
|
-
constructor(minLength, maxLength) {
|
|
7
|
-
super(`Password must be between ${minLength} and ${maxLength} characters long and include at least one uppercase letter, one lowercase letter, one number and one symbol.`);
|
|
8
|
-
}
|
|
9
|
-
}
|
|
10
|
-
exports.InvalidPasswordError = InvalidPasswordError;
|
|
11
|
-
//# sourceMappingURL=InvalidPasswordError.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"InvalidPasswordError.js","sourceRoot":"","sources":["../../src/errors/InvalidPasswordError.ts"],"names":[],"mappings":";;;AAAA,+CAA4C;AAE5C,MAAa,oBAAqB,SAAQ,yBAAW;IACnD,YAAY,SAAiB,EAAE,SAAiB;QAC9C,KAAK,CACH,4BAA4B,SAAS,QAAQ,SAAS,8GAA8G,CACrK,CAAC;IACJ,CAAC;CACF;AAND,oDAMC"}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { StringValueObject } from './StringValueObject';
|
|
2
|
-
export declare class Password extends StringValueObject {
|
|
3
|
-
private static readonly MAX_LENGTH;
|
|
4
|
-
private static readonly MIN_LENGTH;
|
|
5
|
-
constructor(value: string | StringValueObject);
|
|
6
|
-
private isValidPassword;
|
|
7
|
-
}
|
|
8
|
-
//# sourceMappingURL=Password.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Password.d.ts","sourceRoot":"","sources":["../../src/value-objects/Password.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,qBAAa,QAAS,SAAQ,iBAAiB;IAC7C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAO;IACzC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAM;gBAE5B,KAAK,EAAE,MAAM,GAAG,iBAAiB;IAa7C,OAAO,CAAC,eAAe;CAUxB"}
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Password = void 0;
|
|
4
|
-
const InvalidPasswordError_1 = require("../errors/InvalidPasswordError");
|
|
5
|
-
const patterns_1 = require("../patterns");
|
|
6
|
-
const NullObject_1 = require("./NullObject");
|
|
7
|
-
const StringValueObject_1 = require("./StringValueObject");
|
|
8
|
-
class Password extends StringValueObject_1.StringValueObject {
|
|
9
|
-
static MAX_LENGTH = 256;
|
|
10
|
-
static MIN_LENGTH = 12;
|
|
11
|
-
constructor(value) {
|
|
12
|
-
super(value);
|
|
13
|
-
if (NullObject_1.NullObject.isNullObject(this)) {
|
|
14
|
-
return this;
|
|
15
|
-
}
|
|
16
|
-
(0, patterns_1.assert)(this.isValidPassword(), new InvalidPasswordError_1.InvalidPasswordError(Password.MIN_LENGTH, Password.MAX_LENGTH));
|
|
17
|
-
}
|
|
18
|
-
isValidPassword() {
|
|
19
|
-
return (this.value.length >= Password.MIN_LENGTH &&
|
|
20
|
-
this.value.length <= Password.MAX_LENGTH &&
|
|
21
|
-
/[A-Z]/.test(this.value) &&
|
|
22
|
-
/[a-z]/.test(this.value) &&
|
|
23
|
-
/[0-9]/.test(this.value) &&
|
|
24
|
-
/[^A-Za-z0-9]/.test(this.value));
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
exports.Password = Password;
|
|
28
|
-
//# sourceMappingURL=Password.js.map
|