@haskou/value-objects 4.0.1 → 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
|
@@ -2,11 +2,8 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.EncryptedPrivateKeyV2 = void 0;
|
|
4
4
|
const buffer_1 = require("buffer");
|
|
5
|
-
const
|
|
6
|
-
const patterns_1 = require("../../../patterns");
|
|
5
|
+
const CryptoAdapter_1 = require("../CryptoAdapter");
|
|
7
6
|
const PrivateKey_1 = require("../PrivateKey");
|
|
8
|
-
const SymmetricEncryptedPayload_1 = require("../SymmetricEncryptedPayload");
|
|
9
|
-
const SymmetricKey_1 = require("../SymmetricKey");
|
|
10
7
|
const CryptoDerivation_1 = require("./CryptoDerivation");
|
|
11
8
|
const EncryptedPrivateKeyVersion_1 = require("./EncryptedPrivateKeyVersion");
|
|
12
9
|
class EncryptedPrivateKeyV2 extends EncryptedPrivateKeyVersion_1.EncryptedPrivateKeyVersion {
|
|
@@ -16,43 +13,24 @@ class EncryptedPrivateKeyV2 extends EncryptedPrivateKeyVersion_1.EncryptedPrivat
|
|
|
16
13
|
static SCRYPT_R = 8;
|
|
17
14
|
static SCRYPT_P = 1;
|
|
18
15
|
static SALT_ENTROPY = 16;
|
|
16
|
+
static IV_ENTROPY = 12;
|
|
17
|
+
static KEY_LENGTH = 32;
|
|
19
18
|
static CIPHER = 'aes-256-gcm';
|
|
20
19
|
static EXPECTED_PARTS = 9;
|
|
21
|
-
static SYMMETRIC_PAYLOAD_VERSION = 'v1';
|
|
22
20
|
static hasSupportedScryptParameters(parts) {
|
|
23
21
|
return (parts[2] === `N${EncryptedPrivateKeyV2.SCRYPT_N}` &&
|
|
24
22
|
parts[3] === `r${EncryptedPrivateKeyV2.SCRYPT_R}` &&
|
|
25
23
|
parts[4] === `p${EncryptedPrivateKeyV2.SCRYPT_P}`);
|
|
26
24
|
}
|
|
27
|
-
static async deriveSymmetricKey(password, salt, options) {
|
|
28
|
-
return SymmetricKey_1.SymmetricKey.fromPassword(password, { ...options, salt });
|
|
29
|
-
}
|
|
30
|
-
static toSymmetricPayload(parts) {
|
|
31
|
-
const iv = parts[6];
|
|
32
|
-
const tag = parts[7];
|
|
33
|
-
const cipherText = parts[8];
|
|
34
|
-
return new SymmetricEncryptedPayload_1.SymmetricEncryptedPayload([
|
|
35
|
-
EncryptedPrivateKeyV2.SYMMETRIC_PAYLOAD_VERSION,
|
|
36
|
-
EncryptedPrivateKeyV2.CIPHER,
|
|
37
|
-
iv,
|
|
38
|
-
cipherText,
|
|
39
|
-
tag,
|
|
40
|
-
].join('.'));
|
|
41
|
-
}
|
|
42
25
|
static async encrypt(privateKey, password) {
|
|
43
26
|
const salt = await CryptoDerivation_1.CryptoDerivation.randomBytesAsync(EncryptedPrivateKeyV2.SALT_ENTROPY);
|
|
44
|
-
const key = await
|
|
27
|
+
const key = await CryptoDerivation_1.CryptoDerivation.scryptAsync(password.valueOf(), salt, EncryptedPrivateKeyV2.KEY_LENGTH, {
|
|
45
28
|
N: EncryptedPrivateKeyV2.SCRYPT_N,
|
|
46
29
|
p: EncryptedPrivateKeyV2.SCRYPT_P,
|
|
47
30
|
r: EncryptedPrivateKeyV2.SCRYPT_R,
|
|
48
31
|
});
|
|
49
|
-
const
|
|
50
|
-
|
|
51
|
-
.valueOf()
|
|
52
|
-
.split('.');
|
|
53
|
-
const iv = symmetricPayload[2];
|
|
54
|
-
const cipherText = symmetricPayload[3];
|
|
55
|
-
const tag = symmetricPayload[4];
|
|
32
|
+
const iv = await CryptoDerivation_1.CryptoDerivation.randomBytesAsync(EncryptedPrivateKeyV2.IV_ENTROPY);
|
|
33
|
+
const { cipherText, tag } = CryptoAdapter_1.CryptoAdapter.encryptAes256Gcm(key, iv, buffer_1.Buffer.from(privateKey.valueOf()));
|
|
56
34
|
return [
|
|
57
35
|
EncryptedPrivateKeyV2.VERSION,
|
|
58
36
|
EncryptedPrivateKeyV2.KDF,
|
|
@@ -60,9 +38,9 @@ class EncryptedPrivateKeyV2 extends EncryptedPrivateKeyVersion_1.EncryptedPrivat
|
|
|
60
38
|
`r${EncryptedPrivateKeyV2.SCRYPT_R}`,
|
|
61
39
|
`p${EncryptedPrivateKeyV2.SCRYPT_P}`,
|
|
62
40
|
salt.toString('base64'),
|
|
63
|
-
iv,
|
|
64
|
-
tag,
|
|
65
|
-
cipherText,
|
|
41
|
+
iv.toString('base64'),
|
|
42
|
+
buffer_1.Buffer.from(tag).toString('base64'),
|
|
43
|
+
buffer_1.Buffer.from(cipherText).toString('base64'),
|
|
66
44
|
].join('.');
|
|
67
45
|
}
|
|
68
46
|
matches(parts) {
|
|
@@ -72,22 +50,20 @@ class EncryptedPrivateKeyV2 extends EncryptedPrivateKeyVersion_1.EncryptedPrivat
|
|
|
72
50
|
EncryptedPrivateKeyV2.hasSupportedScryptParameters(parts));
|
|
73
51
|
}
|
|
74
52
|
async decrypt(parts, password) {
|
|
75
|
-
|
|
53
|
+
if (!EncryptedPrivateKeyV2.hasSupportedScryptParameters(parts)) {
|
|
54
|
+
throw new Error('Unsupported encrypted private key parameters');
|
|
55
|
+
}
|
|
76
56
|
const N = parseInt(parts[2].slice(1), 10);
|
|
77
57
|
const r = parseInt(parts[3].slice(1), 10);
|
|
78
58
|
const p = parseInt(parts[4].slice(1), 10);
|
|
79
59
|
const salt = buffer_1.Buffer.from(parts[5], 'base64');
|
|
80
|
-
const
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
const decrypted = key.decrypt(EncryptedPrivateKeyV2.toSymmetricPayload(parts));
|
|
60
|
+
const iv = buffer_1.Buffer.from(parts[6], 'base64');
|
|
61
|
+
const tag = buffer_1.Buffer.from(parts[7], 'base64');
|
|
62
|
+
const cipherText = buffer_1.Buffer.from(parts[8], 'base64');
|
|
63
|
+
const key = await CryptoDerivation_1.CryptoDerivation.scryptAsync(password.valueOf(), salt, EncryptedPrivateKeyV2.KEY_LENGTH, { N, p, r });
|
|
64
|
+
const decrypted = CryptoAdapter_1.CryptoAdapter.decryptAes256Gcm(key, iv, cipherText, tag);
|
|
86
65
|
return new PrivateKey_1.PrivateKey(decrypted.toString());
|
|
87
66
|
}
|
|
88
|
-
needsReEncryption() {
|
|
89
|
-
return true;
|
|
90
|
-
}
|
|
91
67
|
}
|
|
92
68
|
exports.EncryptedPrivateKeyV2 = EncryptedPrivateKeyV2;
|
|
93
69
|
//# sourceMappingURL=EncryptedPrivateKeyV2.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EncryptedPrivateKeyV2.js","sourceRoot":"","sources":["../../../../src/value-objects/crypto/encrypted-private-key/EncryptedPrivateKeyV2.ts"],"names":[],"mappings":";;;AAAA,mCAAgC;
|
|
1
|
+
{"version":3,"file":"EncryptedPrivateKeyV2.js","sourceRoot":"","sources":["../../../../src/value-objects/crypto/encrypted-private-key/EncryptedPrivateKeyV2.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
+
import { StringValueObject } from '../../StringValueObject';
|
|
1
2
|
import { PrivateKey } from '../PrivateKey';
|
|
2
|
-
import { CryptoPassword } from '../SymmetricKey';
|
|
3
3
|
export declare abstract class EncryptedPrivateKeyVersion {
|
|
4
4
|
abstract matches(parts: string[]): boolean;
|
|
5
|
-
abstract decrypt(parts: string[], password:
|
|
5
|
+
abstract decrypt(parts: string[], password: string | StringValueObject): Promise<PrivateKey>;
|
|
6
6
|
needsReEncryption(): boolean;
|
|
7
7
|
}
|
|
8
8
|
//# sourceMappingURL=EncryptedPrivateKeyVersion.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EncryptedPrivateKeyVersion.d.ts","sourceRoot":"","sources":["../../../../src/value-objects/crypto/encrypted-private-key/EncryptedPrivateKeyVersion.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"EncryptedPrivateKeyVersion.d.ts","sourceRoot":"","sources":["../../../../src/value-objects/crypto/encrypted-private-key/EncryptedPrivateKeyVersion.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,8BAAsB,0BAA0B;aAC9B,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO;aACjC,OAAO,CACrB,KAAK,EAAE,MAAM,EAAE,EACf,QAAQ,EAAE,MAAM,GAAG,iBAAiB,GACnC,OAAO,CAAC,UAAU,CAAC;IAEf,iBAAiB,IAAI,OAAO;CAGpC"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
export * from './AsymmetricEncryptedPayload';
|
|
2
1
|
export * from './EncryptedKeyPair';
|
|
3
2
|
export * from './EncryptedPayload';
|
|
4
3
|
export * from './EncryptedPrivateKey';
|
|
@@ -7,6 +6,4 @@ export * from './KeyPair';
|
|
|
7
6
|
export * from './PrivateKey';
|
|
8
7
|
export * from './PublicKey';
|
|
9
8
|
export * from './Signature';
|
|
10
|
-
export * from './SymmetricEncryptedPayload';
|
|
11
|
-
export * from './SymmetricKey';
|
|
12
9
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/value-objects/crypto/index.ts"],"names":[],"mappings":"AAAA,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/value-objects/crypto/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,OAAO,CAAC;AACtB,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const tslib_1 = require("tslib");
|
|
4
|
-
tslib_1.__exportStar(require("./AsymmetricEncryptedPayload"), exports);
|
|
5
4
|
tslib_1.__exportStar(require("./EncryptedKeyPair"), exports);
|
|
6
5
|
tslib_1.__exportStar(require("./EncryptedPayload"), exports);
|
|
7
6
|
tslib_1.__exportStar(require("./EncryptedPrivateKey"), exports);
|
|
@@ -10,6 +9,4 @@ tslib_1.__exportStar(require("./KeyPair"), exports);
|
|
|
10
9
|
tslib_1.__exportStar(require("./PrivateKey"), exports);
|
|
11
10
|
tslib_1.__exportStar(require("./PublicKey"), exports);
|
|
12
11
|
tslib_1.__exportStar(require("./Signature"), exports);
|
|
13
|
-
tslib_1.__exportStar(require("./SymmetricEncryptedPayload"), exports);
|
|
14
|
-
tslib_1.__exportStar(require("./SymmetricKey"), exports);
|
|
15
12
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/value-objects/crypto/index.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/value-objects/crypto/index.ts"],"names":[],"mappings":";;;AAAA,6DAAmC;AACnC,6DAAmC;AACnC,gEAAsC;AACtC,gDAAsB;AACtB,oDAA0B;AAC1B,uDAA6B;AAC7B,sDAA4B;AAC5B,sDAA4B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MD5Hash.d.ts","sourceRoot":"","sources":["../../../src/value-objects/hashes/MD5Hash.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAKhC,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAEvC,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;WAIlD,IAAI,CAChB,MAAM,EAAE,MAAM,GAAG,iBAAiB,GAAG,KAAK,GAAG,MAAM,GAClD,OAAO;
|
|
1
|
+
{"version":3,"file":"MD5Hash.d.ts","sourceRoot":"","sources":["../../../src/value-objects/hashes/MD5Hash.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAKhC,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAEvC,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;WAIlD,IAAI,CAChB,MAAM,EAAE,MAAM,GAAG,iBAAiB,GAAG,KAAK,GAAG,MAAM,GAClD,OAAO;gBAIE,MAAM,EAAE,MAAM,GAAG,iBAAiB;CAY/C"}
|
|
@@ -4,7 +4,6 @@ exports.MD5Hash = void 0;
|
|
|
4
4
|
const InvalidHashError_1 = require("../../errors/InvalidHashError");
|
|
5
5
|
const patterns_1 = require("../../patterns");
|
|
6
6
|
const CryptoAdapter_1 = require("../crypto/CryptoAdapter");
|
|
7
|
-
const Media_1 = require("../media/Media");
|
|
8
7
|
const NullObject_1 = require("../NullObject");
|
|
9
8
|
const Hash_1 = require("./Hash");
|
|
10
9
|
class MD5Hash extends Hash_1.Hash {
|
|
@@ -12,7 +11,7 @@ class MD5Hash extends Hash_1.Hash {
|
|
|
12
11
|
return !!hash.valueOf().match(/^[a-f0-9]{32}$/);
|
|
13
12
|
}
|
|
14
13
|
static from(buffer) {
|
|
15
|
-
return new MD5Hash(CryptoAdapter_1.CryptoAdapter.hash('md5', buffer
|
|
14
|
+
return new MD5Hash(CryptoAdapter_1.CryptoAdapter.hash('md5', buffer.valueOf()));
|
|
16
15
|
}
|
|
17
16
|
constructor(source) {
|
|
18
17
|
super(source?.valueOf());
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MD5Hash.js","sourceRoot":"","sources":["../../../src/value-objects/hashes/MD5Hash.ts"],"names":[],"mappings":";;;AAEA,oEAAiE;AACjE,6CAAwC;AACxC,2DAAwD;
|
|
1
|
+
{"version":3,"file":"MD5Hash.js","sourceRoot":"","sources":["../../../src/value-objects/hashes/MD5Hash.ts"],"names":[],"mappings":";;;AAEA,oEAAiE;AACjE,6CAAwC;AACxC,2DAAwD;AAExD,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;IAEM,MAAM,CAAC,IAAI,CAChB,MAAmD;QAEnD,OAAO,IAAI,OAAO,CAAC,6BAAa,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IAClE,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;AAvBD,0BAuBC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SHA256Hash.d.ts","sourceRoot":"","sources":["../../../src/value-objects/hashes/SHA256Hash.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAKhC,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAEvC,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;WAIlD,IAAI,CAChB,MAAM,EAAE,MAAM,GAAG,iBAAiB,GAAG,KAAK,GAAG,MAAM,GAClD,UAAU;
|
|
1
|
+
{"version":3,"file":"SHA256Hash.d.ts","sourceRoot":"","sources":["../../../src/value-objects/hashes/SHA256Hash.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAKhC,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAEvC,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;WAIlD,IAAI,CAChB,MAAM,EAAE,MAAM,GAAG,iBAAiB,GAAG,KAAK,GAAG,MAAM,GAClD,UAAU;gBAID,MAAM,EAAE,MAAM,GAAG,iBAAiB;IAavC,QAAQ,IAAI,iBAAiB;CAKrC"}
|
|
@@ -5,7 +5,6 @@ const buffer_1 = require("buffer");
|
|
|
5
5
|
const InvalidHashError_1 = require("../../errors/InvalidHashError");
|
|
6
6
|
const patterns_1 = require("../../patterns");
|
|
7
7
|
const CryptoAdapter_1 = require("../crypto/CryptoAdapter");
|
|
8
|
-
const Media_1 = require("../media/Media");
|
|
9
8
|
const NullObject_1 = require("../NullObject");
|
|
10
9
|
const StringValueObject_1 = require("../StringValueObject");
|
|
11
10
|
const ValueObject_1 = require("../ValueObject");
|
|
@@ -14,7 +13,7 @@ class SHA256Hash extends ValueObject_1.ValueObject {
|
|
|
14
13
|
return !!hash.valueOf().match(/^[a-f0-9]{64}$/i);
|
|
15
14
|
}
|
|
16
15
|
static from(buffer) {
|
|
17
|
-
return new SHA256Hash(CryptoAdapter_1.CryptoAdapter.hash('sha256', buffer
|
|
16
|
+
return new SHA256Hash(CryptoAdapter_1.CryptoAdapter.hash('sha256', buffer.valueOf()));
|
|
18
17
|
}
|
|
19
18
|
constructor(source) {
|
|
20
19
|
super(source?.valueOf());
|
|
@@ -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,2DAAwD;
|
|
1
|
+
{"version":3,"file":"SHA256Hash.js","sourceRoot":"","sources":["../../../src/value-objects/hashes/SHA256Hash.ts"],"names":[],"mappings":";;;AAAA,mCAAgC;AAEhC,oEAAiE;AACjE,6CAAwC;AACxC,2DAAwD;AAExD,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;IAEM,MAAM,CAAC,IAAI,CAChB,MAAmD;QAEnD,OAAO,IAAI,UAAU,CAAC,6BAAa,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IACxE,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;AA7BD,gCA6BC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SHA512Hash.d.ts","sourceRoot":"","sources":["../../../src/value-objects/hashes/SHA512Hash.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAKhC,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAEvC,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;WAIlD,IAAI,CAChB,MAAM,EAAE,MAAM,GAAG,iBAAiB,GAAG,KAAK,GAAG,MAAM,GAClD,UAAU;
|
|
1
|
+
{"version":3,"file":"SHA512Hash.d.ts","sourceRoot":"","sources":["../../../src/value-objects/hashes/SHA512Hash.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAKhC,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAEvC,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;WAIlD,IAAI,CAChB,MAAM,EAAE,MAAM,GAAG,iBAAiB,GAAG,KAAK,GAAG,MAAM,GAClD,UAAU;gBAID,MAAM,EAAE,MAAM,GAAG,iBAAiB;IAavC,QAAQ,IAAI,iBAAiB;CAKrC"}
|
|
@@ -5,7 +5,6 @@ const buffer_1 = require("buffer");
|
|
|
5
5
|
const InvalidHashError_1 = require("../../errors/InvalidHashError");
|
|
6
6
|
const patterns_1 = require("../../patterns");
|
|
7
7
|
const CryptoAdapter_1 = require("../crypto/CryptoAdapter");
|
|
8
|
-
const Media_1 = require("../media/Media");
|
|
9
8
|
const NullObject_1 = require("../NullObject");
|
|
10
9
|
const StringValueObject_1 = require("../StringValueObject");
|
|
11
10
|
const ValueObject_1 = require("../ValueObject");
|
|
@@ -14,7 +13,7 @@ class SHA512Hash extends ValueObject_1.ValueObject {
|
|
|
14
13
|
return !!hash.valueOf().match(/^[a-f0-9]{128}$/i);
|
|
15
14
|
}
|
|
16
15
|
static from(buffer) {
|
|
17
|
-
return new SHA512Hash(CryptoAdapter_1.CryptoAdapter.hash('sha512', buffer
|
|
16
|
+
return new SHA512Hash(CryptoAdapter_1.CryptoAdapter.hash('sha512', buffer.valueOf()));
|
|
18
17
|
}
|
|
19
18
|
constructor(source) {
|
|
20
19
|
super(source?.valueOf());
|
|
@@ -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,2DAAwD;
|
|
1
|
+
{"version":3,"file":"SHA512Hash.js","sourceRoot":"","sources":["../../../src/value-objects/hashes/SHA512Hash.ts"],"names":[],"mappings":";;;AAAA,mCAAgC;AAEhC,oEAAiE;AACjE,6CAAwC;AACxC,2DAAwD;AAExD,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;IAEM,MAAM,CAAC,IAAI,CAChB,MAAmD;QAEnD,OAAO,IAAI,UAAU,CAAC,6BAAa,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IACxE,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;AA7BD,gCA6BC"}
|
|
@@ -3,7 +3,6 @@ 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 generateObjectIdHex;
|
|
7
6
|
static generate(): ShortId;
|
|
8
7
|
constructor(value: string | StringValueObject);
|
|
9
8
|
private ensureIsShortId;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ShortId.d.ts","sourceRoot":"","sources":["../../../src/value-objects/ids/ShortId.ts"],"names":[],"mappings":"
|
|
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;WAE/D,QAAQ,IAAI,OAAO;gBAIrB,KAAK,EAAE,MAAM,GAAG,iBAAiB;IAS7C,OAAO,CAAC,eAAe;CAOxB"}
|
|
@@ -1,22 +1,18 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.ShortId = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const bson_objectid_1 = tslib_1.__importDefault(require("bson-objectid"));
|
|
4
6
|
const InvalidFormatError_1 = require("../../errors/InvalidFormatError");
|
|
5
7
|
const InvalidLengthError_1 = require("../../errors/InvalidLengthError");
|
|
6
8
|
const patterns_1 = require("../../patterns");
|
|
7
|
-
const CryptoAdapter_1 = require("../crypto/CryptoAdapter");
|
|
8
9
|
const NullObject_1 = require("../NullObject");
|
|
9
10
|
const ValueObject_1 = require("../ValueObject");
|
|
10
11
|
class ShortId extends ValueObject_1.ValueObject {
|
|
11
12
|
static LENGTH = 24;
|
|
12
13
|
static PATTERN = new RegExp(`[a-zA-Z0-9]{${this.LENGTH}}$`);
|
|
13
|
-
static generateObjectIdHex() {
|
|
14
|
-
const bytes = CryptoAdapter_1.CryptoAdapter.randomBytes(12);
|
|
15
|
-
bytes.writeUInt32BE(Math.floor(Date.now() / 1000), 0);
|
|
16
|
-
return bytes.toString('hex');
|
|
17
|
-
}
|
|
18
14
|
static generate() {
|
|
19
|
-
return new ShortId(
|
|
15
|
+
return new ShortId((0, bson_objectid_1.default)().toHexString());
|
|
20
16
|
}
|
|
21
17
|
constructor(value) {
|
|
22
18
|
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,0EAAqC;AAErC,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;IAEtE,MAAM,CAAC,QAAQ;QACpB,OAAO,IAAI,OAAO,CAAC,IAAA,uBAAQ,GAAE,CAAC,WAAW,EAAE,CAAC,CAAC;IAC/C,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;;AAvBH,0BAwBC"}
|
|
@@ -3,8 +3,6 @@ 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 fromRandomBytes;
|
|
8
6
|
static generate(): UUID;
|
|
9
7
|
constructor(value: string | StringValueObject);
|
|
10
8
|
private ensureIsUUID;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UUID.d.ts","sourceRoot":"","sources":["../../../src/value-objects/ids/UUID.ts"],"names":[],"mappings":"
|
|
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,CAA6C;WAE9D,QAAQ,IAAI,IAAI;gBAIlB,KAAK,EAAE,MAAM,GAAG,iBAAiB;IAS7C,OAAO,CAAC,YAAY;CAOrB"}
|
|
@@ -1,31 +1,17 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.UUID = void 0;
|
|
4
|
+
const uuid_1 = require("uuid");
|
|
4
5
|
const InvalidFormatError_1 = require("../../errors/InvalidFormatError");
|
|
5
6
|
const InvalidLengthError_1 = require("../../errors/InvalidLengthError");
|
|
6
7
|
const patterns_1 = require("../../patterns");
|
|
7
|
-
const CryptoAdapter_1 = require("../crypto/CryptoAdapter");
|
|
8
8
|
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 =
|
|
13
|
-
static SENTINEL_PATTERN = /^(?:00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/i;
|
|
14
|
-
static fromRandomBytes(bytes) {
|
|
15
|
-
const uuidBytes = Buffer.from(bytes);
|
|
16
|
-
uuidBytes[6] = (uuidBytes[6] % 16) + 64;
|
|
17
|
-
uuidBytes[8] = (uuidBytes[8] % 64) + 128;
|
|
18
|
-
const hex = uuidBytes.toString('hex');
|
|
19
|
-
return [
|
|
20
|
-
hex.slice(0, 8),
|
|
21
|
-
hex.slice(8, 12),
|
|
22
|
-
hex.slice(12, 16),
|
|
23
|
-
hex.slice(16, 20),
|
|
24
|
-
hex.slice(20),
|
|
25
|
-
].join('-');
|
|
26
|
-
}
|
|
12
|
+
static PATTERN = new RegExp(`^[a-z0-9-]{${this.LENGTH}}$`);
|
|
27
13
|
static generate() {
|
|
28
|
-
return new UUID(
|
|
14
|
+
return new UUID((0, uuid_1.v4)());
|
|
29
15
|
}
|
|
30
16
|
constructor(value) {
|
|
31
17
|
super(value?.valueOf());
|
|
@@ -36,7 +22,7 @@ class UUID extends ValueObject_1.ValueObject {
|
|
|
36
22
|
}
|
|
37
23
|
ensureIsUUID(value) {
|
|
38
24
|
(0, patterns_1.assert)(value.length === UUID.LENGTH, new InvalidLengthError_1.InvalidLengthError(this.value, UUID.LENGTH));
|
|
39
|
-
(0, patterns_1.assert)(UUID.PATTERN.test(value)
|
|
25
|
+
(0, patterns_1.assert)(UUID.PATTERN.test(value), new InvalidFormatError_1.InvalidFormatError(this.value));
|
|
40
26
|
}
|
|
41
27
|
}
|
|
42
28
|
exports.UUID = UUID;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UUID.js","sourceRoot":"","sources":["../../../src/value-objects/ids/UUID.ts"],"names":[],"mappings":";;;AAAA,wEAAqE;AACrE,wEAAqE;AACrE,6CAAwC;AACxC,
|
|
1
|
+
{"version":3,"file":"UUID.js","sourceRoot":"","sources":["../../../src/value-objects/ids/UUID.ts"],"names":[],"mappings":";;;AAAA,+BAA0B;AAE1B,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,GAAG,IAAI,MAAM,CAAC,cAAc,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC;IAErE,MAAM,CAAC,QAAQ;QACpB,OAAO,IAAI,IAAI,CAAC,IAAA,SAAE,GAAE,CAAC,CAAC;IACxB,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,EAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,uCAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IACvE,CAAC;;AAvBH,oBAwBC"}
|
|
@@ -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,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,
|
|
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,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,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC;AACpC,cAAc,eAAe,CAAC"}
|
|
@@ -12,7 +12,6 @@ tslib_1.__exportStar(require("./Email"), exports);
|
|
|
12
12
|
tslib_1.__exportStar(require("./Enum"), exports);
|
|
13
13
|
tslib_1.__exportStar(require("./Integer"), exports);
|
|
14
14
|
tslib_1.__exportStar(require("./NumberValueObject"), exports);
|
|
15
|
-
tslib_1.__exportStar(require("./Password"), exports);
|
|
16
15
|
tslib_1.__exportStar(require("./PositiveNumber"), exports);
|
|
17
16
|
tslib_1.__exportStar(require("./StringValueObject"), exports);
|
|
18
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,mDAAyB;AACzB,gDAAsB;AACtB,kDAAwB;AACxB,iDAAuB;AACvB,kDAAwB;AACxB,kDAAwB;AACxB,iDAAuB;AACvB,oDAA0B;AAC1B,8DAAoC;AACpC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/value-objects/index.ts"],"names":[],"mappings":";;;AAAA,wDAA8B;AAC9B,mDAAyB;AACzB,mDAAyB;AACzB,gDAAsB;AACtB,kDAAwB;AACxB,iDAAuB;AACvB,kDAAwB;AACxB,kDAAwB;AACxB,iDAAuB;AACvB,oDAA0B;AAC1B,8DAAoC;AACpC,2DAAiC;AACjC,8DAAoC;AACpC,uDAA6B;AAC7B,8DAAoC;AACpC,wDAA8B"}
|
|
@@ -1,11 +1,9 @@
|
|
|
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?;
|
|
5
4
|
constructor(value: string | Buffer);
|
|
6
5
|
getBuffer(): Buffer;
|
|
7
6
|
getSize(): number;
|
|
8
7
|
getBase64(): string;
|
|
9
|
-
isEqual(other: unknown): boolean;
|
|
10
8
|
}
|
|
11
9
|
//# 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;gBAChC,KAAK,EAAE,MAAM,GAAG,MAAM;IAQ3B,SAAS,IAAI,MAAM;IAInB,OAAO,IAAI,MAAM;IAIjB,SAAS,IAAI,MAAM;CAG3B"}
|
|
@@ -5,18 +5,14 @@ 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;
|
|
9
8
|
constructor(value) {
|
|
10
9
|
super(value?.toString());
|
|
11
10
|
if (NullObject_1.NullObject.isNullObject(this)) {
|
|
12
11
|
return this;
|
|
13
12
|
}
|
|
14
|
-
this.buffer = buffer_1.Buffer.isBuffer(value) ? buffer_1.Buffer.from(value) : undefined;
|
|
15
13
|
}
|
|
16
14
|
getBuffer() {
|
|
17
|
-
return this.
|
|
18
|
-
? buffer_1.Buffer.from(this.value)
|
|
19
|
-
: buffer_1.Buffer.from(this.buffer);
|
|
15
|
+
return buffer_1.Buffer.from(this.value);
|
|
20
16
|
}
|
|
21
17
|
getSize() {
|
|
22
18
|
return this.getBuffer().length;
|
|
@@ -24,15 +20,6 @@ class Media extends ValueObject_1.ValueObject {
|
|
|
24
20
|
getBase64() {
|
|
25
21
|
return this.getBuffer().toString('base64');
|
|
26
22
|
}
|
|
27
|
-
isEqual(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.isEqual(other);
|
|
35
|
-
}
|
|
36
23
|
}
|
|
37
24
|
exports.Media = Media;
|
|
38
25
|
//# 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;IAC5C,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;IACH,CAAC;IAEM,SAAS;QACd,OAAO,eAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACjC,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;CACF;AApBD,sBAoBC"}
|
|
@@ -8,11 +8,10 @@ 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;
|
|
11
12
|
private static ensureIsValidString;
|
|
12
13
|
private static generateStringValue;
|
|
13
14
|
private static ensureIsValidDate;
|
|
14
|
-
private static timestampFromString;
|
|
15
|
-
private static timestampFromValue;
|
|
16
15
|
constructor(value?: string | Date | number | Timestamp);
|
|
17
16
|
isAfter(date: CalendarDay): boolean;
|
|
18
17
|
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,kBAAkB;IASjC,OAAO,CAAC,MAAM,CAAC,mBAAmB;IAOlC,OAAO,CAAC,MAAM,CAAC,mBAAmB;IAOlC,OAAO,CAAC,MAAM,CAAC,iBAAiB;gBAIpB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,GAAG,SAAS;IAiB/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;CAGhC"}
|
|
@@ -14,6 +14,12 @@ 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
|
+
}
|
|
17
23
|
static ensureIsValidString(value) {
|
|
18
24
|
(0, Assert_1.assert)(value.match(/^\d{4}-\d{1,2}-\d{1,2}$/), new InvalidDayFormatError_1.InvalidDayFormatError(value));
|
|
19
25
|
}
|
|
@@ -23,30 +29,13 @@ class CalendarDay extends ValueObject_1.ValueObject {
|
|
|
23
29
|
return `${timestamp.getYear().toString()}-${paddedMonth}-${paddedDay}`;
|
|
24
30
|
}
|
|
25
31
|
static ensureIsValidDate(value) {
|
|
26
|
-
(0, Assert_1.assert)(
|
|
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);
|
|
32
|
+
(0, Assert_1.assert)(!isNaN(value.valueOf()), new InvalidDayError_1.InvalidDayError(value));
|
|
45
33
|
}
|
|
46
34
|
constructor(value) {
|
|
47
35
|
let timestamp;
|
|
48
|
-
if (value
|
|
49
|
-
|
|
36
|
+
if (value) {
|
|
37
|
+
CalendarDay.ensureIsValidValue(value);
|
|
38
|
+
timestamp = new Timestamp_1.Timestamp(value);
|
|
50
39
|
}
|
|
51
40
|
else {
|
|
52
41
|
timestamp = new Timestamp_1.Timestamp();
|
|
@@ -78,10 +67,7 @@ class CalendarDay extends ValueObject_1.ValueObject {
|
|
|
78
67
|
return DayOfWeek_1.DayOfWeek.fromNumber(this.toTimestamp().getDayOfWeek());
|
|
79
68
|
}
|
|
80
69
|
toTimestamp() {
|
|
81
|
-
|
|
82
|
-
date.setUTCHours(0, 0, 0, 0);
|
|
83
|
-
date.setUTCFullYear(this.year, this.month - 1, this.day);
|
|
84
|
-
return new Timestamp_1.Timestamp(date);
|
|
70
|
+
return new Timestamp_1.Timestamp(Date.UTC(this.year, this.month - 1, this.day));
|
|
85
71
|
}
|
|
86
72
|
}
|
|
87
73
|
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":";;;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,kBAAkB,CAC/B,KAAyC;QAEzC,IAAI,OAAO,KAAK,IAAI,QAAQ,EAAE,CAAC;YAC7B,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;QAClC,CAAC;QACD,IAAI,CAAC,iBAAiB,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IACpD,CAAC;IAEO,MAAM,CAAC,mBAAmB,CAAC,KAAa;QAC9C,IAAA,eAAM,EACJ,KAAK,CAAC,KAAK,CAAC,yBAAyB,CAAC,EACtC,IAAI,6CAAqB,CAAC,KAAK,CAAC,CACjC,CAAC;IACJ,CAAC;IAEO,MAAM,CAAC,mBAAmB,CAAC,SAAoB;QACrD,MAAM,WAAW,GAAG,SAAS,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACrE,MAAM,SAAS,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QAEjE,OAAO,GAAG,SAAS,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,IAAI,WAAW,IAAI,SAAS,EAAE,CAAC;IACzE,CAAC;IAEO,MAAM,CAAC,iBAAiB,CAAC,KAAgC;QAC/D,IAAA,eAAM,EAAC,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,EAAE,IAAI,iCAAe,CAAC,KAAK,CAAC,CAAC,CAAC;IAC9D,CAAC;IAED,YAAY,KAA0C;QACpD,IAAI,SAAoB,CAAC;QAEzB,IAAI,KAAK,EAAE,CAAC;YACV,WAAW,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;YACtC,SAAS,GAAG,IAAI,qBAAS,CAAC,KAAK,CAAC,CAAC;QACnC,CAAC;aAAM,CAAC;YACN,SAAS,GAAG,IAAI,qBAAS,EAAE,CAAC;QAC9B,CAAC;QAED,KAAK,CAAC,WAAW,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC,CAAC;QAElD,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,CAAC;QAC1C,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QACjD,IAAI,CAAC,GAAG,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,CAAC;IAC1C,CAAC;IAEM,OAAO,CAAC,IAAiB;QAC9B,OAAO,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;IACzC,CAAC;IAEM,QAAQ,CAAC,IAAiB;QAC/B,OAAO,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;IACzC,CAAC;IAEM,OAAO;QACZ,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAEM,QAAQ;QACb,OAAO,IAAI,aAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IAEM,cAAc;QACnB,OAAO,IAAI,yBAAW,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IAChD,CAAC;IAEM,MAAM;QACX,OAAO,IAAI,SAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC3B,CAAC;IAEM,YAAY;QACjB,OAAO,qBAAS,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,YAAY,EAAE,CAAC,CAAC;IACjE,CAAC;IAEM,WAAW;QAChB,OAAO,IAAI,qBAAS,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,GAAG,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IACtE,CAAC;CACF;AAhFD,kCAgFC"}
|