@haskou/value-objects 4.1.0 → 6.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 +78 -176
- package/dist/errors/InvalidPasswordError.d.ts +5 -0
- package/dist/errors/InvalidPasswordError.d.ts.map +1 -0
- package/dist/errors/InvalidPasswordError.js +11 -0
- package/dist/errors/InvalidPasswordError.js.map +1 -0
- package/dist/errors/index.d.ts +1 -2
- package/dist/errors/index.d.ts.map +1 -1
- package/dist/errors/index.js +1 -2
- package/dist/errors/index.js.map +1 -1
- package/dist/interfaces/PrimitiveOf.d.ts +5 -1
- 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/Color.d.ts +1 -1
- package/dist/value-objects/Color.d.ts.map +1 -1
- package/dist/value-objects/Color.js +5 -2
- package/dist/value-objects/Color.js.map +1 -1
- package/dist/value-objects/Email.d.ts +1 -0
- package/dist/value-objects/Email.d.ts.map +1 -1
- package/dist/value-objects/Email.js +2 -1
- package/dist/value-objects/Email.js.map +1 -1
- package/dist/value-objects/Enum.d.ts +1 -1
- package/dist/value-objects/Enum.d.ts.map +1 -1
- package/dist/value-objects/Enum.js +1 -1
- package/dist/value-objects/Enum.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/Password.d.ts +8 -0
- package/dist/value-objects/Password.d.ts.map +1 -0
- package/dist/value-objects/Password.js +28 -0
- package/dist/value-objects/Password.js.map +1 -0
- package/dist/value-objects/UniqueObjectArray.d.ts.map +1 -1
- package/dist/value-objects/ValueObject.d.ts +1 -0
- package/dist/value-objects/ValueObject.d.ts.map +1 -1
- package/dist/value-objects/ValueObject.js +7 -1
- package/dist/value-objects/ValueObject.js.map +1 -1
- package/dist/value-objects/coordinates/Latitude.d.ts.map +1 -1
- package/dist/value-objects/coordinates/Latitude.js +5 -4
- 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 +5 -4
- package/dist/value-objects/coordinates/Longitude.js.map +1 -1
- package/dist/value-objects/hashes/MD5Hash.d.ts +0 -3
- package/dist/value-objects/hashes/MD5Hash.d.ts.map +1 -1
- package/dist/value-objects/hashes/MD5Hash.js +0 -4
- package/dist/value-objects/hashes/MD5Hash.js.map +1 -1
- package/dist/value-objects/hashes/SHA256Hash.d.ts +0 -3
- package/dist/value-objects/hashes/SHA256Hash.d.ts.map +1 -1
- package/dist/value-objects/hashes/SHA256Hash.js +0 -4
- package/dist/value-objects/hashes/SHA256Hash.js.map +1 -1
- package/dist/value-objects/hashes/SHA512Hash.d.ts +0 -3
- package/dist/value-objects/hashes/SHA512Hash.d.ts.map +1 -1
- package/dist/value-objects/hashes/SHA512Hash.js +0 -4
- package/dist/value-objects/hashes/SHA512Hash.js.map +1 -1
- package/dist/value-objects/ids/ShortId.d.ts +2 -0
- package/dist/value-objects/ids/ShortId.d.ts.map +1 -1
- package/dist/value-objects/ids/ShortId.js +12 -3
- package/dist/value-objects/ids/ShortId.js.map +1 -1
- package/dist/value-objects/ids/UUID.d.ts +3 -0
- package/dist/value-objects/ids/UUID.d.ts.map +1 -1
- package/dist/value-objects/ids/UUID.js +23 -4
- package/dist/value-objects/ids/UUID.js.map +1 -1
- package/dist/value-objects/index.d.ts +1 -1
- package/dist/value-objects/index.d.ts.map +1 -1
- package/dist/value-objects/index.js +1 -1
- package/dist/value-objects/index.js.map +1 -1
- package/dist/value-objects/media/Media.d.ts +2 -0
- package/dist/value-objects/media/Media.d.ts.map +1 -1
- package/dist/value-objects/media/Media.js +14 -1
- package/dist/value-objects/media/Media.js.map +1 -1
- package/dist/value-objects/time/CalendarDay.d.ts +2 -1
- package/dist/value-objects/time/CalendarDay.d.ts.map +1 -1
- package/dist/value-objects/time/CalendarDay.js +25 -11
- 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 +2 -3
- 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 +3 -0
- package/dist/value-objects/time/Hour.d.ts.map +1 -1
- package/dist/value-objects/time/Hour.js +30 -31
- package/dist/value-objects/time/Hour.js.map +1 -1
- package/dist/value-objects/time/Timestamp.d.ts +3 -1
- package/dist/value-objects/time/Timestamp.d.ts.map +1 -1
- package/dist/value-objects/time/Timestamp.js +50 -9
- package/dist/value-objects/time/Timestamp.js.map +1 -1
- package/dist/value-objects/time/TimestampInterval.d.ts +2 -4
- package/dist/value-objects/time/TimestampInterval.d.ts.map +1 -1
- package/dist/value-objects/time/TimestampInterval.js +0 -10
- package/dist/value-objects/time/TimestampInterval.js.map +1 -1
- package/package.json +50 -33
- package/dist/errors/InvalidKeyError.d.ts +0 -5
- package/dist/errors/InvalidKeyError.d.ts.map +0 -1
- package/dist/errors/InvalidKeyError.js +0 -11
- package/dist/errors/InvalidKeyError.js.map +0 -1
- package/dist/errors/InvalidSignatureError.d.ts +0 -5
- package/dist/errors/InvalidSignatureError.d.ts.map +0 -1
- package/dist/errors/InvalidSignatureError.js +0 -11
- package/dist/errors/InvalidSignatureError.js.map +0 -1
- package/dist/value-objects/crypto/CryptoAdapter.d.ts +0 -30
- package/dist/value-objects/crypto/CryptoAdapter.d.ts.map +0 -1
- package/dist/value-objects/crypto/CryptoAdapter.js +0 -96
- package/dist/value-objects/crypto/CryptoAdapter.js.map +0 -1
- package/dist/value-objects/crypto/CryptoPayload.d.ts +0 -5
- package/dist/value-objects/crypto/CryptoPayload.d.ts.map +0 -1
- package/dist/value-objects/crypto/CryptoPayload.js +0 -3
- package/dist/value-objects/crypto/CryptoPayload.js.map +0 -1
- package/dist/value-objects/crypto/EncryptedKeyPair.d.ts +0 -25
- package/dist/value-objects/crypto/EncryptedKeyPair.d.ts.map +0 -1
- package/dist/value-objects/crypto/EncryptedKeyPair.js +0 -42
- package/dist/value-objects/crypto/EncryptedKeyPair.js.map +0 -1
- package/dist/value-objects/crypto/EncryptedPayload.d.ts +0 -4
- package/dist/value-objects/crypto/EncryptedPayload.d.ts.map +0 -1
- package/dist/value-objects/crypto/EncryptedPayload.js +0 -8
- package/dist/value-objects/crypto/EncryptedPayload.js.map +0 -1
- package/dist/value-objects/crypto/EncryptedPrivateKey.d.ts +0 -11
- package/dist/value-objects/crypto/EncryptedPrivateKey.d.ts.map +0 -1
- package/dist/value-objects/crypto/EncryptedPrivateKey.js +0 -37
- package/dist/value-objects/crypto/EncryptedPrivateKey.js.map +0 -1
- package/dist/value-objects/crypto/Key.d.ts +0 -4
- package/dist/value-objects/crypto/Key.d.ts.map +0 -1
- package/dist/value-objects/crypto/Key.js +0 -8
- package/dist/value-objects/crypto/Key.js.map +0 -1
- package/dist/value-objects/crypto/KeyPair.d.ts +0 -26
- package/dist/value-objects/crypto/KeyPair.d.ts.map +0 -1
- package/dist/value-objects/crypto/KeyPair.js +0 -45
- package/dist/value-objects/crypto/KeyPair.js.map +0 -1
- package/dist/value-objects/crypto/PrivateKey.d.ts +0 -19
- package/dist/value-objects/crypto/PrivateKey.d.ts.map +0 -1
- package/dist/value-objects/crypto/PrivateKey.js +0 -56
- package/dist/value-objects/crypto/PrivateKey.js.map +0 -1
- package/dist/value-objects/crypto/PublicKey.d.ts +0 -15
- package/dist/value-objects/crypto/PublicKey.d.ts.map +0 -1
- package/dist/value-objects/crypto/PublicKey.js +0 -54
- package/dist/value-objects/crypto/PublicKey.js.map +0 -1
- package/dist/value-objects/crypto/Signature.d.ts +0 -11
- package/dist/value-objects/crypto/Signature.d.ts.map +0 -1
- package/dist/value-objects/crypto/Signature.js +0 -26
- package/dist/value-objects/crypto/Signature.js.map +0 -1
- package/dist/value-objects/crypto/encrypted-private-key/CryptoDerivation.d.ts +0 -21
- package/dist/value-objects/crypto/encrypted-private-key/CryptoDerivation.d.ts.map +0 -1
- package/dist/value-objects/crypto/encrypted-private-key/CryptoDerivation.js +0 -56
- package/dist/value-objects/crypto/encrypted-private-key/CryptoDerivation.js.map +0 -1
- package/dist/value-objects/crypto/encrypted-private-key/EncryptedPrivateKeyLegacy.d.ts +0 -14
- package/dist/value-objects/crypto/encrypted-private-key/EncryptedPrivateKeyLegacy.d.ts.map +0 -1
- package/dist/value-objects/crypto/encrypted-private-key/EncryptedPrivateKeyLegacy.js +0 -33
- package/dist/value-objects/crypto/encrypted-private-key/EncryptedPrivateKeyLegacy.js.map +0 -1
- package/dist/value-objects/crypto/encrypted-private-key/EncryptedPrivateKeyV2.d.ts +0 -20
- package/dist/value-objects/crypto/encrypted-private-key/EncryptedPrivateKeyV2.d.ts.map +0 -1
- package/dist/value-objects/crypto/encrypted-private-key/EncryptedPrivateKeyV2.js +0 -69
- package/dist/value-objects/crypto/encrypted-private-key/EncryptedPrivateKeyV2.js.map +0 -1
- package/dist/value-objects/crypto/encrypted-private-key/EncryptedPrivateKeyVersion.d.ts +0 -8
- package/dist/value-objects/crypto/encrypted-private-key/EncryptedPrivateKeyVersion.d.ts.map +0 -1
- package/dist/value-objects/crypto/encrypted-private-key/EncryptedPrivateKeyVersion.js +0 -10
- package/dist/value-objects/crypto/encrypted-private-key/EncryptedPrivateKeyVersion.js.map +0 -1
- package/dist/value-objects/crypto/index.d.ts +0 -9
- package/dist/value-objects/crypto/index.d.ts.map +0 -1
- package/dist/value-objects/crypto/index.js +0 -12
- package/dist/value-objects/crypto/index.js.map +0 -1
|
@@ -16,8 +16,14 @@ class ValueObject {
|
|
|
16
16
|
clone(value) {
|
|
17
17
|
return new this.constructor(this.isNullish(value) ? this.value : value);
|
|
18
18
|
}
|
|
19
|
+
hasValue(other) {
|
|
20
|
+
const otherValue = other instanceof ValueObject ? other.valueOf() : other;
|
|
21
|
+
return this.value === otherValue;
|
|
22
|
+
}
|
|
19
23
|
isEqual(other) {
|
|
20
|
-
return
|
|
24
|
+
return (other instanceof ValueObject &&
|
|
25
|
+
this.constructor === other.constructor &&
|
|
26
|
+
this.hasValue(other));
|
|
21
27
|
}
|
|
22
28
|
isNotEqual(other) {
|
|
23
29
|
return this.isEqual(other) === false;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ValueObject.js","sourceRoot":"","sources":["../../src/value-objects/ValueObject.ts"],"names":[],"mappings":";;;AACA,6CAA0C;AAE1C,MAAsB,WAAW;IACZ,KAAK,CAAK;IAE7B,YAAY,KAAkB;QAC5B,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;YAC1B,OAAO,uBAAU,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACpC,CAAC;QACD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAEO,SAAS,CAAC,KAAkB;QAClC,OAAO,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,CAAC;IAC/C,CAAC;IAES,KAAK,CAAC,KAAQ;QACtB,OAAO,IAAK,IAAI,CAAC,WAA8C,CAC7D,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CACnC,CAAC;IACZ,CAAC;IAEM,OAAO,CAAC,KAAc;QAC3B,OAAO,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"ValueObject.js","sourceRoot":"","sources":["../../src/value-objects/ValueObject.ts"],"names":[],"mappings":";;;AACA,6CAA0C;AAE1C,MAAsB,WAAW;IACZ,KAAK,CAAK;IAE7B,YAAY,KAAkB;QAC5B,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;YAC1B,OAAO,uBAAU,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACpC,CAAC;QACD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAEO,SAAS,CAAC,KAAkB;QAClC,OAAO,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,CAAC;IAC/C,CAAC;IAES,KAAK,CAAC,KAAQ;QACtB,OAAO,IAAK,IAAI,CAAC,WAA8C,CAC7D,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CACnC,CAAC;IACZ,CAAC;IAEM,QAAQ,CAAC,KAAc;QAC5B,MAAM,UAAU,GAAG,KAAK,YAAY,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;QAE1E,OAAO,IAAI,CAAC,KAAK,KAAK,UAAU,CAAC;IACnC,CAAC;IAEM,OAAO,CAAC,KAAc;QAC3B,OAAO,CACL,KAAK,YAAY,WAAW;YAC5B,IAAI,CAAC,WAAW,KAAK,KAAK,CAAC,WAAW;YACtC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CACrB,CAAC;IACJ,CAAC;IAEM,UAAU,CAAC,KAAc;QAC9B,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,KAAK,CAAC;IACvC,CAAC;IAEM,OAAO;QACZ,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAEM,QAAQ;QACb,OAAO,IAAI,CAAC,KAAM,CAAC,QAAQ,EAAE,CAAC;IAChC,CAAC;CACF;AA7CD,kCA6CC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Latitude.d.ts","sourceRoot":"","sources":["../../../src/value-objects/coordinates/Latitude.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAEzD,qBAAa,QAAS,SAAQ,iBAAiB;IAC7C,OAAO,CAAC,MAAM,CAAC,SAAS,CAA8B;IACtD,OAAO,CAAC,MAAM,CAAC,SAAS,CAA6B;IAErD,OAAO,CAAC,MAAM,CAAC,OAAO;
|
|
1
|
+
{"version":3,"file":"Latitude.d.ts","sourceRoot":"","sources":["../../../src/value-objects/coordinates/Latitude.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAEzD,qBAAa,QAAS,SAAQ,iBAAiB;IAC7C,OAAO,CAAC,MAAM,CAAC,SAAS,CAA8B;IACtD,OAAO,CAAC,MAAM,CAAC,SAAS,CAA6B;IAErD,OAAO,CAAC,MAAM,CAAC,OAAO;gBAUV,KAAK,EAAE,MAAM,GAAG,iBAAiB;CAI9C"}
|
|
@@ -8,13 +8,14 @@ class Latitude extends NumberValueObject_1.NumberValueObject {
|
|
|
8
8
|
static MIN_VALUE = new NumberValueObject_1.NumberValueObject(-90);
|
|
9
9
|
static MAX_VALUE = new NumberValueObject_1.NumberValueObject(90);
|
|
10
10
|
static isValid(value) {
|
|
11
|
-
const
|
|
12
|
-
return (
|
|
13
|
-
|
|
11
|
+
const primitive = value.valueOf();
|
|
12
|
+
return (Number.isFinite(primitive) &&
|
|
13
|
+
primitive >= this.MIN_VALUE.valueOf() &&
|
|
14
|
+
primitive <= this.MAX_VALUE.valueOf());
|
|
14
15
|
}
|
|
15
16
|
constructor(value) {
|
|
16
|
-
super(value.valueOf());
|
|
17
17
|
(0, Assert_1.assert)(Latitude.isValid(value), new InvalidLatitudeError_1.InvalidLatitudeError(value.valueOf()));
|
|
18
|
+
super(value.valueOf());
|
|
18
19
|
}
|
|
19
20
|
}
|
|
20
21
|
exports.Latitude = Latitude;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Latitude.js","sourceRoot":"","sources":["../../../src/value-objects/coordinates/Latitude.ts"],"names":[],"mappings":";;;AAAA,4EAAyE;AACzE,kDAA+C;AAC/C,4DAAyD;AAEzD,MAAa,QAAS,SAAQ,qCAAiB;IACrC,MAAM,CAAC,SAAS,GAAG,IAAI,qCAAiB,CAAC,CAAC,EAAE,CAAC,CAAC;IAC9C,MAAM,CAAC,SAAS,GAAG,IAAI,qCAAiB,CAAC,EAAE,CAAC,CAAC;IAE7C,MAAM,CAAC,OAAO,CAAC,KAAiC;QACtD,MAAM,
|
|
1
|
+
{"version":3,"file":"Latitude.js","sourceRoot":"","sources":["../../../src/value-objects/coordinates/Latitude.ts"],"names":[],"mappings":";;;AAAA,4EAAyE;AACzE,kDAA+C;AAC/C,4DAAyD;AAEzD,MAAa,QAAS,SAAQ,qCAAiB;IACrC,MAAM,CAAC,SAAS,GAAG,IAAI,qCAAiB,CAAC,CAAC,EAAE,CAAC,CAAC;IAC9C,MAAM,CAAC,SAAS,GAAG,IAAI,qCAAiB,CAAC,EAAE,CAAC,CAAC;IAE7C,MAAM,CAAC,OAAO,CAAC,KAAiC;QACtD,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC;QAElC,OAAO,CACL,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC;YAC1B,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE;YACrC,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CACtC,CAAC;IACJ,CAAC;IAED,YAAY,KAAiC;QAC3C,IAAA,eAAM,EAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,IAAI,2CAAoB,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAC3E,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;IACzB,CAAC;;AAjBH,4BAkBC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Longitude.d.ts","sourceRoot":"","sources":["../../../src/value-objects/coordinates/Longitude.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAEzD,qBAAa,SAAU,SAAQ,iBAAiB;IAC9C,OAAO,CAAC,MAAM,CAAC,SAAS,CAA+B;IACvD,OAAO,CAAC,MAAM,CAAC,SAAS,CAA8B;IAEtD,OAAO,CAAC,MAAM,CAAC,OAAO;
|
|
1
|
+
{"version":3,"file":"Longitude.d.ts","sourceRoot":"","sources":["../../../src/value-objects/coordinates/Longitude.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAEzD,qBAAa,SAAU,SAAQ,iBAAiB;IAC9C,OAAO,CAAC,MAAM,CAAC,SAAS,CAA+B;IACvD,OAAO,CAAC,MAAM,CAAC,SAAS,CAA8B;IAEtD,OAAO,CAAC,MAAM,CAAC,OAAO;gBAUV,KAAK,EAAE,MAAM,GAAG,iBAAiB;CAO9C"}
|
|
@@ -8,13 +8,14 @@ class Longitude extends NumberValueObject_1.NumberValueObject {
|
|
|
8
8
|
static MIN_VALUE = new NumberValueObject_1.NumberValueObject(-180);
|
|
9
9
|
static MAX_VALUE = new NumberValueObject_1.NumberValueObject(180);
|
|
10
10
|
static isValid(value) {
|
|
11
|
-
const
|
|
12
|
-
return (
|
|
13
|
-
|
|
11
|
+
const primitive = value.valueOf();
|
|
12
|
+
return (Number.isFinite(primitive) &&
|
|
13
|
+
primitive >= this.MIN_VALUE.valueOf() &&
|
|
14
|
+
primitive <= this.MAX_VALUE.valueOf());
|
|
14
15
|
}
|
|
15
16
|
constructor(value) {
|
|
16
|
-
super(value.valueOf());
|
|
17
17
|
(0, Assert_1.assert)(Longitude.isValid(value), new InvalidLongitudeError_1.InvalidLongitudeError(value.valueOf()));
|
|
18
|
+
super(value.valueOf());
|
|
18
19
|
}
|
|
19
20
|
}
|
|
20
21
|
exports.Longitude = Longitude;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Longitude.js","sourceRoot":"","sources":["../../../src/value-objects/coordinates/Longitude.ts"],"names":[],"mappings":";;;AAAA,8EAA2E;AAC3E,kDAA+C;AAC/C,4DAAyD;AAEzD,MAAa,SAAU,SAAQ,qCAAiB;IACtC,MAAM,CAAC,SAAS,GAAG,IAAI,qCAAiB,CAAC,CAAC,GAAG,CAAC,CAAC;IAC/C,MAAM,CAAC,SAAS,GAAG,IAAI,qCAAiB,CAAC,GAAG,CAAC,CAAC;IAE9C,MAAM,CAAC,OAAO,CAAC,KAAiC;QACtD,MAAM,
|
|
1
|
+
{"version":3,"file":"Longitude.js","sourceRoot":"","sources":["../../../src/value-objects/coordinates/Longitude.ts"],"names":[],"mappings":";;;AAAA,8EAA2E;AAC3E,kDAA+C;AAC/C,4DAAyD;AAEzD,MAAa,SAAU,SAAQ,qCAAiB;IACtC,MAAM,CAAC,SAAS,GAAG,IAAI,qCAAiB,CAAC,CAAC,GAAG,CAAC,CAAC;IAC/C,MAAM,CAAC,SAAS,GAAG,IAAI,qCAAiB,CAAC,GAAG,CAAC,CAAC;IAE9C,MAAM,CAAC,OAAO,CAAC,KAAiC;QACtD,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC;QAElC,OAAO,CACL,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC;YAC1B,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE;YACrC,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CACtC,CAAC;IACJ,CAAC;IAED,YAAY,KAAiC;QAC3C,IAAA,eAAM,EACJ,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,EACxB,IAAI,6CAAqB,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAC3C,CAAC;QACF,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;IACzB,CAAC;;AApBH,8BAqBC"}
|
|
@@ -1,10 +1,7 @@
|
|
|
1
|
-
import { Buffer } from 'buffer';
|
|
2
|
-
import { Media } from '../media/Media';
|
|
3
1
|
import { StringValueObject } from '../StringValueObject';
|
|
4
2
|
import { Hash } from './Hash';
|
|
5
3
|
export declare class MD5Hash extends Hash {
|
|
6
4
|
static isValid(hash: string | StringValueObject): boolean;
|
|
7
|
-
static from(buffer: string | StringValueObject | Media | Buffer): MD5Hash;
|
|
8
5
|
constructor(source: string | StringValueObject);
|
|
9
6
|
}
|
|
10
7
|
//# sourceMappingURL=MD5Hash.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MD5Hash.d.ts","sourceRoot":"","sources":["../../../src/value-objects/hashes/MD5Hash.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"MD5Hash.d.ts","sourceRoot":"","sources":["../../../src/value-objects/hashes/MD5Hash.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAE9B,qBAAa,OAAQ,SAAQ,IAAI;WACjB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB,GAAG,OAAO;gBAIpD,MAAM,EAAE,MAAM,GAAG,iBAAiB;CAY/C"}
|
|
@@ -3,16 +3,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.MD5Hash = void 0;
|
|
4
4
|
const InvalidHashError_1 = require("../../errors/InvalidHashError");
|
|
5
5
|
const patterns_1 = require("../../patterns");
|
|
6
|
-
const CryptoAdapter_1 = require("../crypto/CryptoAdapter");
|
|
7
6
|
const NullObject_1 = require("../NullObject");
|
|
8
7
|
const Hash_1 = require("./Hash");
|
|
9
8
|
class MD5Hash extends Hash_1.Hash {
|
|
10
9
|
static isValid(hash) {
|
|
11
10
|
return !!hash.valueOf().match(/^[a-f0-9]{32}$/);
|
|
12
11
|
}
|
|
13
|
-
static from(buffer) {
|
|
14
|
-
return new MD5Hash(CryptoAdapter_1.CryptoAdapter.hash('md5', buffer.valueOf()));
|
|
15
|
-
}
|
|
16
12
|
constructor(source) {
|
|
17
13
|
super(source?.valueOf());
|
|
18
14
|
if (NullObject_1.NullObject.isNullObject(this)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MD5Hash.js","sourceRoot":"","sources":["../../../src/value-objects/hashes/MD5Hash.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"MD5Hash.js","sourceRoot":"","sources":["../../../src/value-objects/hashes/MD5Hash.ts"],"names":[],"mappings":";;;AAAA,oEAAiE;AACjE,6CAAwC;AACxC,8CAA2C;AAE3C,iCAA8B;AAE9B,MAAa,OAAQ,SAAQ,WAAI;IACxB,MAAM,CAAC,OAAO,CAAC,IAAgC;QACpD,OAAO,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;IAClD,CAAC;IAED,YAAY,MAAkC;QAC5C,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;QAEzB,IAAI,uBAAU,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;YAClC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAA,iBAAM,EACJ,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,EAC/B,IAAI,mCAAgB,CAAC,KAAK,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAC9C,CAAC;IACJ,CAAC;CACF;AAjBD,0BAiBC"}
|
|
@@ -1,10 +1,7 @@
|
|
|
1
|
-
import { Buffer } from 'buffer';
|
|
2
|
-
import { Media } from '../media/Media';
|
|
3
1
|
import { StringValueObject } from '../StringValueObject';
|
|
4
2
|
import { ValueObject } from '../ValueObject';
|
|
5
3
|
export declare class SHA256Hash extends ValueObject<string> {
|
|
6
4
|
static isValid(hash: string | StringValueObject): boolean;
|
|
7
|
-
static from(buffer: string | StringValueObject | Media | Buffer): SHA256Hash;
|
|
8
5
|
constructor(source: string | StringValueObject);
|
|
9
6
|
toBase64(): StringValueObject;
|
|
10
7
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SHA256Hash.d.ts","sourceRoot":"","sources":["../../../src/value-objects/hashes/SHA256Hash.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"SHA256Hash.d.ts","sourceRoot":"","sources":["../../../src/value-objects/hashes/SHA256Hash.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,qBAAa,UAAW,SAAQ,WAAW,CAAC,MAAM,CAAC;WACnC,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB,GAAG,OAAO;gBAIpD,MAAM,EAAE,MAAM,GAAG,iBAAiB;IAavC,QAAQ,IAAI,iBAAiB;CAKrC"}
|
|
@@ -4,7 +4,6 @@ exports.SHA256Hash = void 0;
|
|
|
4
4
|
const buffer_1 = require("buffer");
|
|
5
5
|
const InvalidHashError_1 = require("../../errors/InvalidHashError");
|
|
6
6
|
const patterns_1 = require("../../patterns");
|
|
7
|
-
const CryptoAdapter_1 = require("../crypto/CryptoAdapter");
|
|
8
7
|
const NullObject_1 = require("../NullObject");
|
|
9
8
|
const StringValueObject_1 = require("../StringValueObject");
|
|
10
9
|
const ValueObject_1 = require("../ValueObject");
|
|
@@ -12,9 +11,6 @@ class SHA256Hash extends ValueObject_1.ValueObject {
|
|
|
12
11
|
static isValid(hash) {
|
|
13
12
|
return !!hash.valueOf().match(/^[a-f0-9]{64}$/i);
|
|
14
13
|
}
|
|
15
|
-
static from(buffer) {
|
|
16
|
-
return new SHA256Hash(CryptoAdapter_1.CryptoAdapter.hash('sha256', buffer.valueOf()));
|
|
17
|
-
}
|
|
18
14
|
constructor(source) {
|
|
19
15
|
super(source?.valueOf());
|
|
20
16
|
if (NullObject_1.NullObject.isNullObject(this)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SHA256Hash.js","sourceRoot":"","sources":["../../../src/value-objects/hashes/SHA256Hash.ts"],"names":[],"mappings":";;;AAAA,mCAAgC;AAEhC,oEAAiE;AACjE,6CAAwC;AACxC,
|
|
1
|
+
{"version":3,"file":"SHA256Hash.js","sourceRoot":"","sources":["../../../src/value-objects/hashes/SHA256Hash.ts"],"names":[],"mappings":";;;AAAA,mCAAgC;AAEhC,oEAAiE;AACjE,6CAAwC;AACxC,8CAA2C;AAC3C,4DAAyD;AACzD,gDAA6C;AAE7C,MAAa,UAAW,SAAQ,yBAAmB;IAC1C,MAAM,CAAC,OAAO,CAAC,IAAgC;QACpD,OAAO,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACnD,CAAC;IAED,YAAY,MAAkC;QAC5C,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;QAEzB,IAAI,uBAAU,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;YAClC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAA,iBAAM,EACJ,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,EAClC,IAAI,mCAAgB,CAAC,QAAQ,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CACjD,CAAC;IACJ,CAAC;IAEM,QAAQ;QACb,OAAO,IAAI,qCAAiB,CAC1B,eAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CACtD,CAAC;IACJ,CAAC;CACF;AAvBD,gCAuBC"}
|
|
@@ -1,10 +1,7 @@
|
|
|
1
|
-
import { Buffer } from 'buffer';
|
|
2
|
-
import { Media } from '../media/Media';
|
|
3
1
|
import { StringValueObject } from '../StringValueObject';
|
|
4
2
|
import { ValueObject } from '../ValueObject';
|
|
5
3
|
export declare class SHA512Hash extends ValueObject<string> {
|
|
6
4
|
static isValid(hash: string | StringValueObject): boolean;
|
|
7
|
-
static from(buffer: string | StringValueObject | Media | Buffer): SHA512Hash;
|
|
8
5
|
constructor(source: string | StringValueObject);
|
|
9
6
|
toBase64(): StringValueObject;
|
|
10
7
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SHA512Hash.d.ts","sourceRoot":"","sources":["../../../src/value-objects/hashes/SHA512Hash.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"SHA512Hash.d.ts","sourceRoot":"","sources":["../../../src/value-objects/hashes/SHA512Hash.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,qBAAa,UAAW,SAAQ,WAAW,CAAC,MAAM,CAAC;WACnC,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB,GAAG,OAAO;gBAIpD,MAAM,EAAE,MAAM,GAAG,iBAAiB;IAavC,QAAQ,IAAI,iBAAiB;CAKrC"}
|
|
@@ -4,7 +4,6 @@ exports.SHA512Hash = void 0;
|
|
|
4
4
|
const buffer_1 = require("buffer");
|
|
5
5
|
const InvalidHashError_1 = require("../../errors/InvalidHashError");
|
|
6
6
|
const patterns_1 = require("../../patterns");
|
|
7
|
-
const CryptoAdapter_1 = require("../crypto/CryptoAdapter");
|
|
8
7
|
const NullObject_1 = require("../NullObject");
|
|
9
8
|
const StringValueObject_1 = require("../StringValueObject");
|
|
10
9
|
const ValueObject_1 = require("../ValueObject");
|
|
@@ -12,9 +11,6 @@ class SHA512Hash extends ValueObject_1.ValueObject {
|
|
|
12
11
|
static isValid(hash) {
|
|
13
12
|
return !!hash.valueOf().match(/^[a-f0-9]{128}$/i);
|
|
14
13
|
}
|
|
15
|
-
static from(buffer) {
|
|
16
|
-
return new SHA512Hash(CryptoAdapter_1.CryptoAdapter.hash('sha512', buffer.valueOf()));
|
|
17
|
-
}
|
|
18
14
|
constructor(source) {
|
|
19
15
|
super(source?.valueOf());
|
|
20
16
|
if (NullObject_1.NullObject.isNullObject(this)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SHA512Hash.js","sourceRoot":"","sources":["../../../src/value-objects/hashes/SHA512Hash.ts"],"names":[],"mappings":";;;AAAA,mCAAgC;AAEhC,oEAAiE;AACjE,6CAAwC;AACxC,
|
|
1
|
+
{"version":3,"file":"SHA512Hash.js","sourceRoot":"","sources":["../../../src/value-objects/hashes/SHA512Hash.ts"],"names":[],"mappings":";;;AAAA,mCAAgC;AAEhC,oEAAiE;AACjE,6CAAwC;AACxC,8CAA2C;AAC3C,4DAAyD;AACzD,gDAA6C;AAE7C,MAAa,UAAW,SAAQ,yBAAmB;IAC1C,MAAM,CAAC,OAAO,CAAC,IAAgC;QACpD,OAAO,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;IACpD,CAAC;IAED,YAAY,MAAkC;QAC5C,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;QAEzB,IAAI,uBAAU,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;YAClC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAA,iBAAM,EACJ,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,EAClC,IAAI,mCAAgB,CAAC,QAAQ,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CACjD,CAAC;IACJ,CAAC;IAEM,QAAQ;QACb,OAAO,IAAI,qCAAiB,CAC1B,eAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CACtD,CAAC;IACJ,CAAC;CACF;AAvBD,gCAuBC"}
|
|
@@ -3,6 +3,8 @@ import { ValueObject } from '../ValueObject';
|
|
|
3
3
|
export declare class ShortId extends ValueObject<string> {
|
|
4
4
|
private static readonly LENGTH;
|
|
5
5
|
private static readonly PATTERN;
|
|
6
|
+
private static randomBytes;
|
|
7
|
+
private static generateObjectIdHex;
|
|
6
8
|
static generate(): ShortId;
|
|
7
9
|
constructor(value: string | StringValueObject);
|
|
8
10
|
private ensureIsShortId;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ShortId.d.ts","sourceRoot":"","sources":["../../../src/value-objects/ids/ShortId.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,qBAAa,OAAQ,SAAQ,WAAW,CAAC,MAAM,CAAC;IAC9C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAM;IACpC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAA8C;
|
|
1
|
+
{"version":3,"file":"ShortId.d.ts","sourceRoot":"","sources":["../../../src/value-objects/ids/ShortId.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,qBAAa,OAAQ,SAAQ,WAAW,CAAC,MAAM,CAAC;IAC9C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAM;IACpC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAA8C;IAE7E,OAAO,CAAC,MAAM,CAAC,WAAW;IAO1B,OAAO,CAAC,MAAM,CAAC,mBAAmB;WAOpB,QAAQ,IAAI,OAAO;gBAIrB,KAAK,EAAE,MAAM,GAAG,iBAAiB;IAS7C,OAAO,CAAC,eAAe;CAOxB"}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.ShortId = void 0;
|
|
4
|
-
const
|
|
5
|
-
const bson_objectid_1 = tslib_1.__importDefault(require("bson-objectid"));
|
|
4
|
+
const buffer_1 = require("buffer");
|
|
6
5
|
const InvalidFormatError_1 = require("../../errors/InvalidFormatError");
|
|
7
6
|
const InvalidLengthError_1 = require("../../errors/InvalidLengthError");
|
|
8
7
|
const patterns_1 = require("../../patterns");
|
|
@@ -11,8 +10,18 @@ const ValueObject_1 = require("../ValueObject");
|
|
|
11
10
|
class ShortId extends ValueObject_1.ValueObject {
|
|
12
11
|
static LENGTH = 24;
|
|
13
12
|
static PATTERN = new RegExp(`[a-zA-Z0-9]{${this.LENGTH}}$`);
|
|
13
|
+
static randomBytes(size) {
|
|
14
|
+
const bytes = new Uint8Array(size);
|
|
15
|
+
globalThis.crypto.getRandomValues(bytes);
|
|
16
|
+
return buffer_1.Buffer.from(bytes);
|
|
17
|
+
}
|
|
18
|
+
static generateObjectIdHex() {
|
|
19
|
+
const bytes = ShortId.randomBytes(12);
|
|
20
|
+
bytes.writeUInt32BE(Math.floor(Date.now() / 1000), 0);
|
|
21
|
+
return bytes.toString('hex');
|
|
22
|
+
}
|
|
14
23
|
static generate() {
|
|
15
|
-
return new ShortId(
|
|
24
|
+
return new ShortId(ShortId.generateObjectIdHex());
|
|
16
25
|
}
|
|
17
26
|
constructor(value) {
|
|
18
27
|
super(value?.valueOf());
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ShortId.js","sourceRoot":"","sources":["../../../src/value-objects/ids/ShortId.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ShortId.js","sourceRoot":"","sources":["../../../src/value-objects/ids/ShortId.ts"],"names":[],"mappings":";;;AAAA,mCAAgC;AAEhC,wEAAqE;AACrE,wEAAqE;AACrE,6CAAwC;AACxC,8CAA2C;AAE3C,gDAA6C;AAE7C,MAAa,OAAQ,SAAQ,yBAAmB;IACtC,MAAM,CAAU,MAAM,GAAG,EAAE,CAAC;IAC5B,MAAM,CAAU,OAAO,GAAG,IAAI,MAAM,CAAC,eAAe,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC;IAErE,MAAM,CAAC,WAAW,CAAC,IAAY;QACrC,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC;QACnC,UAAU,CAAC,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QAEzC,OAAO,eAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC;IAEO,MAAM,CAAC,mBAAmB;QAChC,MAAM,KAAK,GAAG,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QACtC,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QAEtD,OAAO,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IAEM,MAAM,CAAC,QAAQ;QACpB,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAAC;IACpD,CAAC;IAED,YAAY,KAAiC;QAC3C,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;QAExB,IAAI,uBAAU,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;YAClC,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACnC,CAAC;IAEO,eAAe,CAAC,KAAa;QACnC,IAAA,iBAAM,EACJ,KAAK,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM,EAC/B,IAAI,uCAAkB,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,CACnD,CAAC;QACF,IAAA,iBAAM,EAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,uCAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAC1E,CAAC;;AArCH,0BAsCC"}
|
|
@@ -3,6 +3,9 @@ import { ValueObject } from '../ValueObject';
|
|
|
3
3
|
export declare class UUID extends ValueObject<string> {
|
|
4
4
|
private static readonly LENGTH;
|
|
5
5
|
private static readonly PATTERN;
|
|
6
|
+
private static readonly SENTINEL_PATTERN;
|
|
7
|
+
private static randomBytes;
|
|
8
|
+
private static fromRandomBytes;
|
|
6
9
|
static generate(): UUID;
|
|
7
10
|
constructor(value: string | StringValueObject);
|
|
8
11
|
private ensureIsUUID;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UUID.d.ts","sourceRoot":"","sources":["../../../src/value-objects/ids/UUID.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,qBAAa,IAAK,SAAQ,WAAW,CAAC,MAAM,CAAC;IAC3C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAM;IACpC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,
|
|
1
|
+
{"version":3,"file":"UUID.d.ts","sourceRoot":"","sources":["../../../src/value-objects/ids/UUID.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,qBAAa,IAAK,SAAQ,WAAW,CAAC,MAAM,CAAC;IAC3C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAM;IACpC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CACgD;IAE/E,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAC6C;IAErF,OAAO,CAAC,MAAM,CAAC,WAAW;IAO1B,OAAO,CAAC,MAAM,CAAC,eAAe;WAgBhB,QAAQ,IAAI,IAAI;gBAIlB,KAAK,EAAE,MAAM,GAAG,iBAAiB;IAS7C,OAAO,CAAC,YAAY;CAUrB"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.UUID = void 0;
|
|
4
|
-
const
|
|
4
|
+
const buffer_1 = require("buffer");
|
|
5
5
|
const InvalidFormatError_1 = require("../../errors/InvalidFormatError");
|
|
6
6
|
const InvalidLengthError_1 = require("../../errors/InvalidLengthError");
|
|
7
7
|
const patterns_1 = require("../../patterns");
|
|
@@ -9,9 +9,28 @@ const NullObject_1 = require("../NullObject");
|
|
|
9
9
|
const ValueObject_1 = require("../ValueObject");
|
|
10
10
|
class UUID extends ValueObject_1.ValueObject {
|
|
11
11
|
static LENGTH = 36;
|
|
12
|
-
static PATTERN =
|
|
12
|
+
static PATTERN = /^[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;
|
|
13
|
+
static SENTINEL_PATTERN = /^(?:00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/i;
|
|
14
|
+
static randomBytes(size) {
|
|
15
|
+
const bytes = new Uint8Array(size);
|
|
16
|
+
globalThis.crypto.getRandomValues(bytes);
|
|
17
|
+
return buffer_1.Buffer.from(bytes);
|
|
18
|
+
}
|
|
19
|
+
static fromRandomBytes(bytes) {
|
|
20
|
+
const uuidBytes = buffer_1.Buffer.from(bytes);
|
|
21
|
+
uuidBytes[6] = (uuidBytes[6] % 16) + 64;
|
|
22
|
+
uuidBytes[8] = (uuidBytes[8] % 64) + 128;
|
|
23
|
+
const hex = uuidBytes.toString('hex');
|
|
24
|
+
return [
|
|
25
|
+
hex.slice(0, 8),
|
|
26
|
+
hex.slice(8, 12),
|
|
27
|
+
hex.slice(12, 16),
|
|
28
|
+
hex.slice(16, 20),
|
|
29
|
+
hex.slice(20),
|
|
30
|
+
].join('-');
|
|
31
|
+
}
|
|
13
32
|
static generate() {
|
|
14
|
-
return new UUID((
|
|
33
|
+
return new UUID(UUID.fromRandomBytes(UUID.randomBytes(16)));
|
|
15
34
|
}
|
|
16
35
|
constructor(value) {
|
|
17
36
|
super(value?.valueOf());
|
|
@@ -22,7 +41,7 @@ class UUID extends ValueObject_1.ValueObject {
|
|
|
22
41
|
}
|
|
23
42
|
ensureIsUUID(value) {
|
|
24
43
|
(0, patterns_1.assert)(value.length === UUID.LENGTH, new InvalidLengthError_1.InvalidLengthError(this.value, UUID.LENGTH));
|
|
25
|
-
(0, patterns_1.assert)(UUID.PATTERN.test(value), new InvalidFormatError_1.InvalidFormatError(this.value));
|
|
44
|
+
(0, patterns_1.assert)(UUID.PATTERN.test(value) || UUID.SENTINEL_PATTERN.test(value), new InvalidFormatError_1.InvalidFormatError(this.value));
|
|
26
45
|
}
|
|
27
46
|
}
|
|
28
47
|
exports.UUID = UUID;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UUID.js","sourceRoot":"","sources":["../../../src/value-objects/ids/UUID.ts"],"names":[],"mappings":";;;AAAA
|
|
1
|
+
{"version":3,"file":"UUID.js","sourceRoot":"","sources":["../../../src/value-objects/ids/UUID.ts"],"names":[],"mappings":";;;AAAA,mCAAgC;AAEhC,wEAAqE;AACrE,wEAAqE;AACrE,6CAAwC;AACxC,8CAA2C;AAE3C,gDAA6C;AAE7C,MAAa,IAAK,SAAQ,yBAAmB;IACnC,MAAM,CAAU,MAAM,GAAG,EAAE,CAAC;IAC5B,MAAM,CAAU,OAAO,GAC7B,4EAA4E,CAAC;IAEvE,MAAM,CAAU,gBAAgB,GACtC,kFAAkF,CAAC;IAE7E,MAAM,CAAC,WAAW,CAAC,IAAY;QACrC,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC;QACnC,UAAU,CAAC,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QAEzC,OAAO,eAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC;IAEO,MAAM,CAAC,eAAe,CAAC,KAAa;QAC1C,MAAM,SAAS,GAAG,eAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC;QACxC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,GAAG,CAAC;QAEzC,MAAM,GAAG,GAAG,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAEtC,OAAO;YACL,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;YACf,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;YAChB,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC;YACjB,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC;YACjB,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;SACd,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACd,CAAC;IAEM,MAAM,CAAC,QAAQ;QACpB,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC9D,CAAC;IAED,YAAY,KAAiC;QAC3C,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;QAExB,IAAI,uBAAU,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;YAClC,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;IAEO,YAAY,CAAC,KAAa;QAChC,IAAA,iBAAM,EACJ,KAAK,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,EAC5B,IAAI,uCAAkB,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAChD,CAAC;QACF,IAAA,iBAAM,EACJ,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,EAC7D,IAAI,uCAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,CACnC,CAAC;IACJ,CAAC;;AArDH,oBAsDC"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
export * from './coordinates';
|
|
2
|
-
export * from './crypto';
|
|
3
2
|
export * from './hashes';
|
|
4
3
|
export * from './ids';
|
|
5
4
|
export * from './media';
|
|
@@ -9,6 +8,7 @@ export * from './Email';
|
|
|
9
8
|
export * from './Enum';
|
|
10
9
|
export * from './Integer';
|
|
11
10
|
export * from './NumberValueObject';
|
|
11
|
+
export * from './Password';
|
|
12
12
|
export * from './PositiveNumber';
|
|
13
13
|
export * from './StringValueObject';
|
|
14
14
|
export * from './NullObject';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/value-objects/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/value-objects/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,OAAO,CAAC;AACtB,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAC1B,cAAc,qBAAqB,CAAC;AACpC,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC;AACpC,cAAc,eAAe,CAAC"}
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const tslib_1 = require("tslib");
|
|
4
4
|
tslib_1.__exportStar(require("./coordinates"), exports);
|
|
5
|
-
tslib_1.__exportStar(require("./crypto"), exports);
|
|
6
5
|
tslib_1.__exportStar(require("./hashes"), exports);
|
|
7
6
|
tslib_1.__exportStar(require("./ids"), exports);
|
|
8
7
|
tslib_1.__exportStar(require("./media"), exports);
|
|
@@ -12,6 +11,7 @@ tslib_1.__exportStar(require("./Email"), exports);
|
|
|
12
11
|
tslib_1.__exportStar(require("./Enum"), exports);
|
|
13
12
|
tslib_1.__exportStar(require("./Integer"), exports);
|
|
14
13
|
tslib_1.__exportStar(require("./NumberValueObject"), exports);
|
|
14
|
+
tslib_1.__exportStar(require("./Password"), exports);
|
|
15
15
|
tslib_1.__exportStar(require("./PositiveNumber"), exports);
|
|
16
16
|
tslib_1.__exportStar(require("./StringValueObject"), exports);
|
|
17
17
|
tslib_1.__exportStar(require("./NullObject"), exports);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/value-objects/index.ts"],"names":[],"mappings":";;;AAAA,wDAA8B;AAC9B,mDAAyB;AACzB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/value-objects/index.ts"],"names":[],"mappings":";;;AAAA,wDAA8B;AAC9B,mDAAyB;AACzB,gDAAsB;AACtB,kDAAwB;AACxB,iDAAuB;AACvB,kDAAwB;AACxB,kDAAwB;AACxB,iDAAuB;AACvB,oDAA0B;AAC1B,8DAAoC;AACpC,qDAA2B;AAC3B,2DAAiC;AACjC,8DAAoC;AACpC,uDAA6B;AAC7B,8DAAoC;AACpC,wDAA8B"}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import { Buffer } from 'buffer';
|
|
2
2
|
import { ValueObject } from '../ValueObject';
|
|
3
3
|
export declare class Media extends ValueObject<string> {
|
|
4
|
+
private readonly buffer?;
|
|
4
5
|
constructor(value: string | Buffer);
|
|
5
6
|
getBuffer(): Buffer;
|
|
6
7
|
getSize(): number;
|
|
7
8
|
getBase64(): string;
|
|
9
|
+
hasValue(other: unknown): boolean;
|
|
8
10
|
}
|
|
9
11
|
//# sourceMappingURL=Media.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Media.d.ts","sourceRoot":"","sources":["../../../src/value-objects/media/Media.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAGhC,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,qBAAa,KAAM,SAAQ,WAAW,CAAC,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"Media.d.ts","sourceRoot":"","sources":["../../../src/value-objects/media/Media.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAGhC,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,qBAAa,KAAM,SAAQ,WAAW,CAAC,MAAM,CAAC;IAC5C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAS;gBAErB,KAAK,EAAE,MAAM,GAAG,MAAM;IAU3B,SAAS,IAAI,MAAM;IAMnB,OAAO,IAAI,MAAM;IAIjB,SAAS,IAAI,MAAM;IAInB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO;CAWzC"}
|
|
@@ -5,14 +5,18 @@ const buffer_1 = require("buffer");
|
|
|
5
5
|
const NullObject_1 = require("../NullObject");
|
|
6
6
|
const ValueObject_1 = require("../ValueObject");
|
|
7
7
|
class Media extends ValueObject_1.ValueObject {
|
|
8
|
+
buffer;
|
|
8
9
|
constructor(value) {
|
|
9
10
|
super(value?.toString());
|
|
10
11
|
if (NullObject_1.NullObject.isNullObject(this)) {
|
|
11
12
|
return this;
|
|
12
13
|
}
|
|
14
|
+
this.buffer = buffer_1.Buffer.isBuffer(value) ? buffer_1.Buffer.from(value) : undefined;
|
|
13
15
|
}
|
|
14
16
|
getBuffer() {
|
|
15
|
-
return
|
|
17
|
+
return this.buffer === undefined
|
|
18
|
+
? buffer_1.Buffer.from(this.value)
|
|
19
|
+
: buffer_1.Buffer.from(this.buffer);
|
|
16
20
|
}
|
|
17
21
|
getSize() {
|
|
18
22
|
return this.getBuffer().length;
|
|
@@ -20,6 +24,15 @@ class Media extends ValueObject_1.ValueObject {
|
|
|
20
24
|
getBase64() {
|
|
21
25
|
return this.getBuffer().toString('base64');
|
|
22
26
|
}
|
|
27
|
+
hasValue(other) {
|
|
28
|
+
if (other instanceof Media) {
|
|
29
|
+
return this.getBuffer().equals(other.getBuffer());
|
|
30
|
+
}
|
|
31
|
+
if (buffer_1.Buffer.isBuffer(other)) {
|
|
32
|
+
return this.getBuffer().equals(other);
|
|
33
|
+
}
|
|
34
|
+
return super.hasValue(other);
|
|
35
|
+
}
|
|
23
36
|
}
|
|
24
37
|
exports.Media = Media;
|
|
25
38
|
//# sourceMappingURL=Media.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Media.js","sourceRoot":"","sources":["../../../src/value-objects/media/Media.ts"],"names":[],"mappings":";;;AAAA,mCAAgC;AAEhC,8CAA2C;AAC3C,gDAA6C;AAE7C,MAAa,KAAM,SAAQ,yBAAmB;
|
|
1
|
+
{"version":3,"file":"Media.js","sourceRoot":"","sources":["../../../src/value-objects/media/Media.ts"],"names":[],"mappings":";;;AAAA,mCAAgC;AAEhC,8CAA2C;AAC3C,gDAA6C;AAE7C,MAAa,KAAM,SAAQ,yBAAmB;IAC3B,MAAM,CAAU;IAEjC,YAAY,KAAsB;QAChC,KAAK,CAAC,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;QAEzB,IAAI,uBAAU,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;YAClC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,CAAC,MAAM,GAAG,eAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,eAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACxE,CAAC;IAEM,SAAS;QACd,OAAO,IAAI,CAAC,MAAM,KAAK,SAAS;YAC9B,CAAC,CAAC,eAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;YACzB,CAAC,CAAC,eAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC/B,CAAC;IAEM,OAAO;QACZ,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC,MAAM,CAAC;IACjC,CAAC;IAEM,SAAS;QACd,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAC7C,CAAC;IAEM,QAAQ,CAAC,KAAc;QAC5B,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;YAC3B,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC;QACpD,CAAC;QAED,IAAI,eAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YAC3B,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACxC,CAAC;QAED,OAAO,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;CACF;AAtCD,sBAsCC"}
|
|
@@ -8,10 +8,11 @@ export declare class CalendarDay extends ValueObject<string> {
|
|
|
8
8
|
private readonly year;
|
|
9
9
|
private readonly month;
|
|
10
10
|
private readonly day;
|
|
11
|
-
private static ensureIsValidValue;
|
|
12
11
|
private static ensureIsValidString;
|
|
13
12
|
private static generateStringValue;
|
|
14
13
|
private static ensureIsValidDate;
|
|
14
|
+
private static timestampFromString;
|
|
15
|
+
private static timestampFromValue;
|
|
15
16
|
constructor(value?: string | Date | number | Timestamp);
|
|
16
17
|
isAfter(date: CalendarDay): boolean;
|
|
17
18
|
isBefore(date: CalendarDay): boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CalendarDay.d.ts","sourceRoot":"","sources":["../../../src/value-objects/time/CalendarDay.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAC5B,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,qBAAa,WAAY,SAAQ,WAAW,CAAC,MAAM,CAAC;IAClD,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAS;IAC9B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAS;IAE7B,OAAO,CAAC,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"CalendarDay.d.ts","sourceRoot":"","sources":["../../../src/value-objects/time/CalendarDay.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAC5B,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,qBAAa,WAAY,SAAQ,WAAW,CAAC,MAAM,CAAC;IAClD,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAS;IAC9B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAS;IAE7B,OAAO,CAAC,MAAM,CAAC,mBAAmB;IAOlC,OAAO,CAAC,MAAM,CAAC,mBAAmB;IAOlC,OAAO,CAAC,MAAM,CAAC,iBAAiB;IAIhC,OAAO,CAAC,MAAM,CAAC,mBAAmB;IAkBlC,OAAO,CAAC,MAAM,CAAC,kBAAkB;gBAYrB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,GAAG,SAAS;IAgB/C,OAAO,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO;IAInC,QAAQ,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO;IAIpC,OAAO,IAAI,MAAM;IAIjB,QAAQ,IAAI,KAAK;IAIjB,cAAc,IAAI,WAAW;IAI7B,MAAM,IAAI,GAAG;IAIb,YAAY,IAAI,SAAS;IAIzB,WAAW,IAAI,SAAS;CAOhC"}
|
|
@@ -14,12 +14,6 @@ class CalendarDay extends ValueObject_1.ValueObject {
|
|
|
14
14
|
year;
|
|
15
15
|
month;
|
|
16
16
|
day;
|
|
17
|
-
static ensureIsValidValue(value) {
|
|
18
|
-
if (typeof value == 'string') {
|
|
19
|
-
this.ensureIsValidString(value);
|
|
20
|
-
}
|
|
21
|
-
this.ensureIsValidDate(new Date(value.valueOf()));
|
|
22
|
-
}
|
|
23
17
|
static ensureIsValidString(value) {
|
|
24
18
|
(0, Assert_1.assert)(value.match(/^\d{4}-\d{1,2}-\d{1,2}$/), new InvalidDayFormatError_1.InvalidDayFormatError(value));
|
|
25
19
|
}
|
|
@@ -29,13 +23,30 @@ class CalendarDay extends ValueObject_1.ValueObject {
|
|
|
29
23
|
return `${timestamp.getYear().toString()}-${paddedMonth}-${paddedDay}`;
|
|
30
24
|
}
|
|
31
25
|
static ensureIsValidDate(value) {
|
|
32
|
-
(0, Assert_1.assert)(
|
|
26
|
+
(0, Assert_1.assert)(Number.isFinite(value.valueOf()), new InvalidDayError_1.InvalidDayError(value));
|
|
27
|
+
}
|
|
28
|
+
static timestampFromString(value) {
|
|
29
|
+
CalendarDay.ensureIsValidString(value);
|
|
30
|
+
const [year, month, day] = value.split('-').map(Number);
|
|
31
|
+
const date = new Date(0);
|
|
32
|
+
date.setUTCHours(0, 0, 0, 0);
|
|
33
|
+
date.setUTCFullYear(year, month - 1, day);
|
|
34
|
+
(0, Assert_1.assert)(date.getUTCFullYear() === year &&
|
|
35
|
+
date.getUTCMonth() === month - 1 &&
|
|
36
|
+
date.getUTCDate() === day, new InvalidDayError_1.InvalidDayError(value));
|
|
37
|
+
return new Timestamp_1.Timestamp(date);
|
|
38
|
+
}
|
|
39
|
+
static timestampFromValue(value) {
|
|
40
|
+
if (typeof value === 'string') {
|
|
41
|
+
return CalendarDay.timestampFromString(value);
|
|
42
|
+
}
|
|
43
|
+
CalendarDay.ensureIsValidDate(value);
|
|
44
|
+
return new Timestamp_1.Timestamp(value);
|
|
33
45
|
}
|
|
34
46
|
constructor(value) {
|
|
35
47
|
let timestamp;
|
|
36
|
-
if (value) {
|
|
37
|
-
CalendarDay.
|
|
38
|
-
timestamp = new Timestamp_1.Timestamp(value);
|
|
48
|
+
if (value !== undefined) {
|
|
49
|
+
timestamp = CalendarDay.timestampFromValue(value);
|
|
39
50
|
}
|
|
40
51
|
else {
|
|
41
52
|
timestamp = new Timestamp_1.Timestamp();
|
|
@@ -67,7 +78,10 @@ class CalendarDay extends ValueObject_1.ValueObject {
|
|
|
67
78
|
return DayOfWeek_1.DayOfWeek.fromNumber(this.toTimestamp().getDayOfWeek());
|
|
68
79
|
}
|
|
69
80
|
toTimestamp() {
|
|
70
|
-
|
|
81
|
+
const date = new Date(0);
|
|
82
|
+
date.setUTCHours(0, 0, 0, 0);
|
|
83
|
+
date.setUTCFullYear(this.year, this.month - 1, this.day);
|
|
84
|
+
return new Timestamp_1.Timestamp(date);
|
|
71
85
|
}
|
|
72
86
|
}
|
|
73
87
|
exports.CalendarDay = CalendarDay;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CalendarDay.js","sourceRoot":"","sources":["../../../src/value-objects/time/CalendarDay.ts"],"names":[],"mappings":";;;AAAA,kEAA+D;AAC/D,8EAA2E;AAC3E,kDAA+C;AAC/C,gDAA6C;AAC7C,+BAA4B;AAC5B,2CAAwC;AACxC,mCAAgC;AAChC,+CAA4C;AAC5C,2CAAwC;AAExC,MAAa,WAAY,SAAQ,yBAAmB;IACjC,IAAI,CAAS;IACb,KAAK,CAAS;IACd,GAAG,CAAS;IAErB,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"CalendarDay.js","sourceRoot":"","sources":["../../../src/value-objects/time/CalendarDay.ts"],"names":[],"mappings":"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"}
|
|
@@ -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":"AAEA,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;WAWlC,aAAa,CAAC,SAAS,EAAE,SAAS,GAAG,SAAS;IAMrD,SAAS,IAAI,MAAM,EAAE;IAIrB,QAAQ,IAAI,MAAM;CAG1B"}
|
|
@@ -2,6 +2,7 @@
|
|
|
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");
|
|
5
6
|
const Enum_1 = require("../Enum");
|
|
6
7
|
var EDaysOfWeek;
|
|
7
8
|
(function (EDaysOfWeek) {
|
|
@@ -32,9 +33,7 @@ class DayOfWeek extends Enum_1.Enum {
|
|
|
32
33
|
static SUNDAY = new DayOfWeek(EDaysOfWeek.SUNDAY);
|
|
33
34
|
static fromNumber(day) {
|
|
34
35
|
const [eDay] = Object.entries(exports.timeStampDayToDaysMap).find(([, value]) => value === day) || [];
|
|
35
|
-
|
|
36
|
-
throw new InvalidDayError_1.InvalidDayError(eDay);
|
|
37
|
-
}
|
|
36
|
+
(0, patterns_1.assert)(eDay, new InvalidDayError_1.InvalidDayError(eDay));
|
|
38
37
|
return new DayOfWeek(eDay);
|
|
39
38
|
}
|
|
40
39
|
static fromTimestamp(timestamp) {
|