@haskou/value-objects 2.8.0 → 2.9.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.
Files changed (74) hide show
  1. package/README.md +28 -19
  2. package/dist/errors/InvalidEncryptedPrivateKeyFormatError.d.ts +5 -0
  3. package/dist/errors/InvalidEncryptedPrivateKeyFormatError.d.ts.map +1 -0
  4. package/dist/errors/InvalidEncryptedPrivateKeyFormatError.js +11 -0
  5. package/dist/errors/InvalidEncryptedPrivateKeyFormatError.js.map +1 -0
  6. package/dist/errors/InvalidPasswordError.d.ts +5 -0
  7. package/dist/errors/InvalidPasswordError.d.ts.map +1 -0
  8. package/dist/errors/InvalidPasswordError.js +11 -0
  9. package/dist/errors/InvalidPasswordError.js.map +1 -0
  10. package/dist/errors/index.d.ts +2 -0
  11. package/dist/errors/index.d.ts.map +1 -1
  12. package/dist/errors/index.js +2 -0
  13. package/dist/errors/index.js.map +1 -1
  14. package/dist/patterns/Assert.d.ts +1 -1
  15. package/dist/patterns/Assert.d.ts.map +1 -1
  16. package/dist/value-objects/Password.d.ts +8 -0
  17. package/dist/value-objects/Password.d.ts.map +1 -0
  18. package/dist/value-objects/Password.js +28 -0
  19. package/dist/value-objects/Password.js.map +1 -0
  20. package/dist/value-objects/crypto/CryptoAdapter.d.ts +3 -2
  21. package/dist/value-objects/crypto/CryptoAdapter.d.ts.map +1 -1
  22. package/dist/value-objects/crypto/CryptoAdapter.js +9 -4
  23. package/dist/value-objects/crypto/CryptoAdapter.js.map +1 -1
  24. package/dist/value-objects/crypto/EncryptedKeyPair.d.ts +4 -4
  25. package/dist/value-objects/crypto/EncryptedKeyPair.d.ts.map +1 -1
  26. package/dist/value-objects/crypto/EncryptedKeyPair.js.map +1 -1
  27. package/dist/value-objects/crypto/EncryptedPayload.d.ts.map +1 -1
  28. package/dist/value-objects/crypto/EncryptedPayload.js +5 -0
  29. package/dist/value-objects/crypto/EncryptedPayload.js.map +1 -1
  30. package/dist/value-objects/crypto/EncryptedPrivateKey.d.ts +3 -2
  31. package/dist/value-objects/crypto/EncryptedPrivateKey.d.ts.map +1 -1
  32. package/dist/value-objects/crypto/EncryptedPrivateKey.js +6 -4
  33. package/dist/value-objects/crypto/EncryptedPrivateKey.js.map +1 -1
  34. package/dist/value-objects/crypto/KeyPair.d.ts +2 -2
  35. package/dist/value-objects/crypto/KeyPair.d.ts.map +1 -1
  36. package/dist/value-objects/crypto/KeyPair.js +1 -1
  37. package/dist/value-objects/crypto/KeyPair.js.map +1 -1
  38. package/dist/value-objects/crypto/PrivateKey.d.ts +6 -3
  39. package/dist/value-objects/crypto/PrivateKey.d.ts.map +1 -1
  40. package/dist/value-objects/crypto/PrivateKey.js +43 -31
  41. package/dist/value-objects/crypto/PrivateKey.js.map +1 -1
  42. package/dist/value-objects/crypto/PublicKey.d.ts +3 -0
  43. package/dist/value-objects/crypto/PublicKey.d.ts.map +1 -1
  44. package/dist/value-objects/crypto/PublicKey.js +9 -2
  45. package/dist/value-objects/crypto/PublicKey.js.map +1 -1
  46. package/dist/value-objects/crypto/StrictBase64.d.ts +15 -0
  47. package/dist/value-objects/crypto/StrictBase64.d.ts.map +1 -0
  48. package/dist/value-objects/crypto/StrictBase64.js +36 -0
  49. package/dist/value-objects/crypto/StrictBase64.js.map +1 -0
  50. package/dist/value-objects/crypto/SymmetricKey.d.ts +14 -5
  51. package/dist/value-objects/crypto/SymmetricKey.d.ts.map +1 -1
  52. package/dist/value-objects/crypto/SymmetricKey.js +53 -18
  53. package/dist/value-objects/crypto/SymmetricKey.js.map +1 -1
  54. package/dist/value-objects/crypto/encrypted-private-key/EncryptedPrivateKeyLegacy.d.ts +2 -2
  55. package/dist/value-objects/crypto/encrypted-private-key/EncryptedPrivateKeyLegacy.d.ts.map +1 -1
  56. package/dist/value-objects/crypto/encrypted-private-key/EncryptedPrivateKeyLegacy.js.map +1 -1
  57. package/dist/value-objects/crypto/encrypted-private-key/EncryptedPrivateKeyV2.d.ts +4 -3
  58. package/dist/value-objects/crypto/encrypted-private-key/EncryptedPrivateKeyV2.d.ts.map +1 -1
  59. package/dist/value-objects/crypto/encrypted-private-key/EncryptedPrivateKeyV2.js +6 -3
  60. package/dist/value-objects/crypto/encrypted-private-key/EncryptedPrivateKeyV2.js.map +1 -1
  61. package/dist/value-objects/crypto/encrypted-private-key/EncryptedPrivateKeyV3.d.ts +24 -0
  62. package/dist/value-objects/crypto/encrypted-private-key/EncryptedPrivateKeyV3.d.ts.map +1 -0
  63. package/dist/value-objects/crypto/encrypted-private-key/EncryptedPrivateKeyV3.js +105 -0
  64. package/dist/value-objects/crypto/encrypted-private-key/EncryptedPrivateKeyV3.js.map +1 -0
  65. package/dist/value-objects/crypto/encrypted-private-key/EncryptedPrivateKeyVersion.d.ts +2 -2
  66. package/dist/value-objects/crypto/encrypted-private-key/EncryptedPrivateKeyVersion.d.ts.map +1 -1
  67. package/dist/value-objects/index.d.ts +1 -0
  68. package/dist/value-objects/index.d.ts.map +1 -1
  69. package/dist/value-objects/index.js +1 -0
  70. package/dist/value-objects/index.js.map +1 -1
  71. package/dist/value-objects/time/DayOfWeek.d.ts.map +1 -1
  72. package/dist/value-objects/time/DayOfWeek.js +2 -3
  73. package/dist/value-objects/time/DayOfWeek.js.map +1 -1
  74. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"EncryptedPrivateKeyV2.js","sourceRoot":"","sources":["../../../../src/value-objects/crypto/encrypted-private-key/EncryptedPrivateKeyV2.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EncryptedPrivateKeyV2.js","sourceRoot":"","sources":["../../../../src/value-objects/crypto/encrypted-private-key/EncryptedPrivateKeyV2.ts"],"names":[],"mappings":";;;AAAA,mCAAgC;AAEhC,iHAA8G;AAC9G,gDAA2C;AAC3C,8CAA2C;AAC3C,4EAAyE;AACzE,kDAA+D;AAC/D,yDAAsD;AACtD,6EAA0E;AAE1E,MAAa,qBAAsB,SAAQ,uDAA0B;IAC3D,MAAM,CAAU,OAAO,GAAG,IAAI,CAAC;IAC/B,MAAM,CAAU,GAAG,GAAG,QAAQ,CAAC;IAC/B,MAAM,CAAU,QAAQ,GAAG,KAAK,CAAC;IACjC,MAAM,CAAU,QAAQ,GAAG,CAAC,CAAC;IAC7B,MAAM,CAAU,QAAQ,GAAG,CAAC,CAAC;IAC7B,MAAM,CAAU,YAAY,GAAG,EAAE,CAAC;IAClC,MAAM,CAAU,MAAM,GAAG,aAAa,CAAC;IACvC,MAAM,CAAU,cAAc,GAAG,CAAC,CAAC;IACnC,MAAM,CAAU,yBAAyB,GAAG,IAAI,CAAC;IAEjD,MAAM,CAAC,4BAA4B,CAAC,KAAe;QACzD,OAAO,CACL,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI,qBAAqB,CAAC,QAAQ,EAAE;YACjD,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI,qBAAqB,CAAC,QAAQ,EAAE;YACjD,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI,qBAAqB,CAAC,QAAQ,EAAE,CAClD,CAAC;IACJ,CAAC;IAEO,MAAM,CAAC,KAAK,CAAC,kBAAkB,CACrC,QAAwB,EACxB,IAAY,EACZ,OAA4C;QAE5C,OAAO,2BAAY,CAAC,YAAY,CAAC,QAAQ,EAAE,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IACnE,CAAC;IAEO,MAAM,CAAC,kBAAkB,CAC/B,KAAe;QAEf,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACpB,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACrB,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QAE5B,OAAO,IAAI,qDAAyB,CAClC;YACE,qBAAqB,CAAC,yBAAyB;YAC/C,qBAAqB,CAAC,MAAM;YAC5B,EAAE;YACF,UAAU;YACV,GAAG;SACJ,CAAC,IAAI,CAAC,GAAG,CAAC,CACZ,CAAC;IACJ,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,OAAO,CACzB,UAAsB,EACtB,QAAwB;QAExB,MAAM,IAAI,GAAG,MAAM,mCAAgB,CAAC,gBAAgB,CAClD,qBAAqB,CAAC,YAAY,CACnC,CAAC;QACF,MAAM,GAAG,GAAG,MAAM,qBAAqB,CAAC,kBAAkB,CAAC,QAAQ,EAAE,IAAI,EAAE;YACzE,CAAC,EAAE,qBAAqB,CAAC,QAAQ;YACjC,CAAC,EAAE,qBAAqB,CAAC,QAAQ;YACjC,CAAC,EAAE,qBAAqB,CAAC,QAAQ;SAClC,CAAC,CAAC;QACH,MAAM,gBAAgB,GAAG,GAAG;aACzB,OAAO,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;aAC7B,OAAO,EAAE;aACT,KAAK,CAAC,GAAG,CAAC,CAAC;QACd,MAAM,EAAE,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC;QAC/B,MAAM,UAAU,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC;QACvC,MAAM,GAAG,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC;QAEhC,OAAO;YACL,qBAAqB,CAAC,OAAO;YAC7B,qBAAqB,CAAC,GAAG;YACzB,IAAI,qBAAqB,CAAC,QAAQ,EAAE;YACpC,IAAI,qBAAqB,CAAC,QAAQ,EAAE;YACpC,IAAI,qBAAqB,CAAC,QAAQ,EAAE;YACpC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;YACvB,EAAE;YACF,GAAG;YACH,UAAU;SACX,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACd,CAAC;IAEM,OAAO,CAAC,KAAe;QAC5B,OAAO,CACL,KAAK,CAAC,MAAM,KAAK,qBAAqB,CAAC,cAAc;YACrD,KAAK,CAAC,CAAC,CAAC,KAAK,qBAAqB,CAAC,OAAO;YAC1C,KAAK,CAAC,CAAC,CAAC,KAAK,qBAAqB,CAAC,GAAG;YACtC,qBAAqB,CAAC,4BAA4B,CAAC,KAAK,CAAC,CAC1D,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,OAAO,CAClB,KAAe,EACf,QAAwB;QAExB,IAAA,iBAAM,EACJ,qBAAqB,CAAC,4BAA4B,CAAC,KAAK,CAAC,EACzD,IAAI,6EAAqC,CACvC,8CAA8C,CAC/C,CACF,CAAC;QAEF,MAAM,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC1C,MAAM,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC1C,MAAM,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC1C,MAAM,IAAI,GAAG,eAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;QAC7C,MAAM,GAAG,GAAG,MAAM,qBAAqB,CAAC,kBAAkB,CAAC,QAAQ,EAAE,IAAI,EAAE;YACzE,CAAC;YACD,CAAC;YACD,CAAC;SACF,CAAC,CAAC;QAEH,MAAM,SAAS,GAAG,GAAG,CAAC,OAAO,CAC3B,qBAAqB,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAChD,CAAC;QAEF,OAAO,IAAI,uBAAU,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC9C,CAAC;IAEM,iBAAiB;QACtB,OAAO,IAAI,CAAC;IACd,CAAC;;AArHH,sDAsHC"}
@@ -0,0 +1,24 @@
1
+ import { PrivateKey } from '../PrivateKey';
2
+ import { CryptoPassword } from '../SymmetricKey';
3
+ import { EncryptedPrivateKeyVersion } from './EncryptedPrivateKeyVersion';
4
+ export declare class EncryptedPrivateKeyV3 extends EncryptedPrivateKeyVersion {
5
+ private static readonly VERSION;
6
+ private static readonly KDF;
7
+ private static readonly SCRYPT_N;
8
+ private static readonly SCRYPT_R;
9
+ private static readonly SCRYPT_P;
10
+ private static readonly SALT_ENTROPY;
11
+ private static readonly CIPHER;
12
+ private static readonly EXPECTED_PARTS;
13
+ private static readonly SYMMETRIC_PAYLOAD_VERSION;
14
+ private static hasSupportedScryptParameters;
15
+ private static getHeaderParts;
16
+ private static getAad;
17
+ private static ensureSaltIsValid;
18
+ private static deriveSymmetricKey;
19
+ private static toSymmetricPayload;
20
+ static encrypt(privateKey: PrivateKey, password: CryptoPassword): Promise<string>;
21
+ matches(parts: string[]): boolean;
22
+ decrypt(parts: string[], password: CryptoPassword): Promise<PrivateKey>;
23
+ }
24
+ //# sourceMappingURL=EncryptedPrivateKeyV3.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EncryptedPrivateKeyV3.d.ts","sourceRoot":"","sources":["../../../../src/value-objects/crypto/encrypted-private-key/EncryptedPrivateKeyV3.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAG3C,OAAO,EAAE,cAAc,EAAgB,MAAM,iBAAiB,CAAC;AAE/D,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAE1E,qBAAa,qBAAsB,SAAQ,0BAA0B;IACnE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAQ;IACvC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAY;IACvC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAS;IACzC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAK;IACrC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAK;IACrC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAM;IAC1C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAiB;IAC/C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAK;IAC3C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,yBAAyB,CAAQ;IAEzD,OAAO,CAAC,MAAM,CAAC,4BAA4B;IAQ3C,OAAO,CAAC,MAAM,CAAC,cAAc;IAU7B,OAAO,CAAC,MAAM,CAAC,MAAM;IAIrB,OAAO,CAAC,MAAM,CAAC,iBAAiB;mBAUX,kBAAkB;IAQvC,OAAO,CAAC,MAAM,CAAC,kBAAkB;WAkBb,OAAO,CACzB,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,cAAc,GACvB,OAAO,CAAC,MAAM,CAAC;IA4BX,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO;IAS3B,OAAO,CAClB,KAAK,EAAE,MAAM,EAAE,EACf,QAAQ,EAAE,cAAc,GACvB,OAAO,CAAC,UAAU,CAAC;CA2BvB"}
@@ -0,0 +1,105 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EncryptedPrivateKeyV3 = void 0;
4
+ const InvalidEncryptedPrivateKeyFormatError_1 = require("../../../errors/InvalidEncryptedPrivateKeyFormatError");
5
+ const patterns_1 = require("../../../patterns");
6
+ const PrivateKey_1 = require("../PrivateKey");
7
+ const StrictBase64_1 = require("../StrictBase64");
8
+ const SymmetricEncryptedPayload_1 = require("../SymmetricEncryptedPayload");
9
+ const SymmetricKey_1 = require("../SymmetricKey");
10
+ const CryptoDerivation_1 = require("./CryptoDerivation");
11
+ const EncryptedPrivateKeyVersion_1 = require("./EncryptedPrivateKeyVersion");
12
+ class EncryptedPrivateKeyV3 extends EncryptedPrivateKeyVersion_1.EncryptedPrivateKeyVersion {
13
+ static VERSION = 'v3';
14
+ static KDF = 'scrypt';
15
+ static SCRYPT_N = 16384;
16
+ static SCRYPT_R = 8;
17
+ static SCRYPT_P = 5;
18
+ static SALT_ENTROPY = 16;
19
+ static CIPHER = 'aes-256-gcm';
20
+ static EXPECTED_PARTS = 9;
21
+ static SYMMETRIC_PAYLOAD_VERSION = 'v1';
22
+ static hasSupportedScryptParameters(parts) {
23
+ return (parts[2] === `N${EncryptedPrivateKeyV3.SCRYPT_N}` &&
24
+ parts[3] === `r${EncryptedPrivateKeyV3.SCRYPT_R}` &&
25
+ parts[4] === `p${EncryptedPrivateKeyV3.SCRYPT_P}`);
26
+ }
27
+ static getHeaderParts() {
28
+ return [
29
+ EncryptedPrivateKeyV3.VERSION,
30
+ EncryptedPrivateKeyV3.KDF,
31
+ `N${EncryptedPrivateKeyV3.SCRYPT_N}`,
32
+ `r${EncryptedPrivateKeyV3.SCRYPT_R}`,
33
+ `p${EncryptedPrivateKeyV3.SCRYPT_P}`,
34
+ ];
35
+ }
36
+ static getAad(parts) {
37
+ return parts.slice(0, 5).join('.');
38
+ }
39
+ static ensureSaltIsValid(saltB64) {
40
+ return StrictBase64_1.StrictBase64.decodeCanonicalFixedLength(saltB64, new InvalidEncryptedPrivateKeyFormatError_1.InvalidEncryptedPrivateKeyFormatError('Invalid encrypted private key salt'), EncryptedPrivateKeyV3.SALT_ENTROPY);
41
+ }
42
+ static async deriveSymmetricKey(password, salt, options) {
43
+ return SymmetricKey_1.SymmetricKey.fromPassword(password, { ...options, salt });
44
+ }
45
+ static toSymmetricPayload(parts) {
46
+ const iv = parts[6];
47
+ const tag = parts[7];
48
+ const cipherText = parts[8];
49
+ return new SymmetricEncryptedPayload_1.SymmetricEncryptedPayload([
50
+ EncryptedPrivateKeyV3.SYMMETRIC_PAYLOAD_VERSION,
51
+ EncryptedPrivateKeyV3.CIPHER,
52
+ iv,
53
+ cipherText,
54
+ tag,
55
+ ].join('.'));
56
+ }
57
+ static async encrypt(privateKey, password) {
58
+ const salt = await CryptoDerivation_1.CryptoDerivation.randomBytesAsync(EncryptedPrivateKeyV3.SALT_ENTROPY);
59
+ const key = await EncryptedPrivateKeyV3.deriveSymmetricKey(password, salt, {
60
+ N: EncryptedPrivateKeyV3.SCRYPT_N,
61
+ p: EncryptedPrivateKeyV3.SCRYPT_P,
62
+ r: EncryptedPrivateKeyV3.SCRYPT_R,
63
+ });
64
+ const symmetricPayload = key
65
+ .encrypt(privateKey.valueOf(), {
66
+ aad: EncryptedPrivateKeyV3.getHeaderParts().join('.'),
67
+ })
68
+ .valueOf()
69
+ .split('.');
70
+ const iv = symmetricPayload[2];
71
+ const cipherText = symmetricPayload[3];
72
+ const tag = symmetricPayload[4];
73
+ return [
74
+ ...EncryptedPrivateKeyV3.getHeaderParts(),
75
+ salt.toString('base64'),
76
+ iv,
77
+ tag,
78
+ cipherText,
79
+ ].join('.');
80
+ }
81
+ matches(parts) {
82
+ return (parts.length === EncryptedPrivateKeyV3.EXPECTED_PARTS &&
83
+ parts[0] === EncryptedPrivateKeyV3.VERSION &&
84
+ parts[1] === EncryptedPrivateKeyV3.KDF &&
85
+ EncryptedPrivateKeyV3.hasSupportedScryptParameters(parts));
86
+ }
87
+ async decrypt(parts, password) {
88
+ (0, patterns_1.assert)(EncryptedPrivateKeyV3.hasSupportedScryptParameters(parts), new InvalidEncryptedPrivateKeyFormatError_1.InvalidEncryptedPrivateKeyFormatError('Unsupported encrypted private key parameters'));
89
+ const N = parseInt(parts[2].slice(1), 10);
90
+ const r = parseInt(parts[3].slice(1), 10);
91
+ const p = parseInt(parts[4].slice(1), 10);
92
+ const salt = EncryptedPrivateKeyV3.ensureSaltIsValid(parts[5]);
93
+ const key = await EncryptedPrivateKeyV3.deriveSymmetricKey(password, salt, {
94
+ N,
95
+ p,
96
+ r,
97
+ });
98
+ const decrypted = key.decrypt(EncryptedPrivateKeyV3.toSymmetricPayload(parts), {
99
+ aad: EncryptedPrivateKeyV3.getAad(parts),
100
+ });
101
+ return new PrivateKey_1.PrivateKey(decrypted.toString());
102
+ }
103
+ }
104
+ exports.EncryptedPrivateKeyV3 = EncryptedPrivateKeyV3;
105
+ //# sourceMappingURL=EncryptedPrivateKeyV3.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EncryptedPrivateKeyV3.js","sourceRoot":"","sources":["../../../../src/value-objects/crypto/encrypted-private-key/EncryptedPrivateKeyV3.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
- import { StringValueObject } from '../../StringValueObject';
2
1
  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: string | StringValueObject): Promise<PrivateKey>;
5
+ abstract decrypt(parts: string[], password: CryptoPassword): 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,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
+ {"version":3,"file":"EncryptedPrivateKeyVersion.d.ts","sourceRoot":"","sources":["../../../../src/value-objects/crypto/encrypted-private-key/EncryptedPrivateKeyVersion.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEjD,8BAAsB,0BAA0B;aAC9B,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO;aACjC,OAAO,CACrB,KAAK,EAAE,MAAM,EAAE,EACf,QAAQ,EAAE,cAAc,GACvB,OAAO,CAAC,UAAU,CAAC;IAEf,iBAAiB,IAAI,OAAO;CAGpC"}
@@ -9,6 +9,7 @@ export * from './Email';
9
9
  export * from './Enum';
10
10
  export * from './Integer';
11
11
  export * from './NumberValueObject';
12
+ export * from './Password';
12
13
  export * from './PositiveNumber';
13
14
  export * from './StringValueObject';
14
15
  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,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"}
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,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC;AACpC,cAAc,eAAe,CAAC"}
@@ -12,6 +12,7 @@ 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);
15
16
  tslib_1.__exportStar(require("./PositiveNumber"), exports);
16
17
  tslib_1.__exportStar(require("./StringValueObject"), exports);
17
18
  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,2DAAiC;AACjC,8DAAoC;AACpC,uDAA6B;AAC7B,8DAAoC;AACpC,wDAA8B"}
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,qDAA2B;AAC3B,2DAAiC;AACjC,8DAAoC;AACpC,uDAA6B;AAC7B,8DAAoC;AACpC,wDAA8B"}
@@ -1 +1 @@
1
- {"version":3,"file":"DayOfWeek.d.ts","sourceRoot":"","sources":["../../../src/value-objects/time/DayOfWeek.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAC/B,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,oBAAY,WAAW;IACrB,MAAM,WAAW;IACjB,OAAO,YAAY;IACnB,SAAS,cAAc;IACvB,QAAQ,aAAa;IACrB,MAAM,WAAW;IACjB,QAAQ,aAAa;IACrB,MAAM,WAAW;CAClB;AAED,eAAO,MAAM,qBAAqB;;;;;;;;CAQjC,CAAC;AAEF,qBAAa,SAAU,SAAQ,IAAI;IACjC,OAAc,MAAM,YAAqC;IACzD,OAAc,OAAO,YAAsC;IAC3D,OAAc,SAAS,YAAwC;IAC/D,OAAc,QAAQ,YAAuC;IAC7D,OAAc,MAAM,YAAqC;IACzD,OAAc,QAAQ,YAAuC;IAC7D,OAAc,MAAM,YAAqC;WAE3C,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS;WAalC,aAAa,CAAC,SAAS,EAAE,SAAS,GAAG,SAAS;IAMrD,SAAS,IAAI,MAAM,EAAE;IAIrB,QAAQ,IAAI,MAAM;CAG1B"}
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
- if (!eDay) {
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) {
@@ -1 +1 @@
1
- {"version":3,"file":"DayOfWeek.js","sourceRoot":"","sources":["../../../src/value-objects/time/DayOfWeek.ts"],"names":[],"mappings":";;;AAAA,kEAA+D;AAC/D,kCAA+B;AAG/B,IAAY,WAQX;AARD,WAAY,WAAW;IACrB,gCAAiB,CAAA;IACjB,kCAAmB,CAAA;IACnB,sCAAuB,CAAA;IACvB,oCAAqB,CAAA;IACrB,gCAAiB,CAAA;IACjB,oCAAqB,CAAA;IACrB,gCAAiB,CAAA;AACnB,CAAC,EARW,WAAW,2BAAX,WAAW,QAQtB;AAEY,QAAA,qBAAqB,GAAG;IACnC,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;IACvB,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;IACvB,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC;IACzB,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;IACvB,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC;IACzB,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;IACxB,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE,CAAC;CAC3B,CAAC;AAEF,MAAa,SAAU,SAAQ,WAAI;IAC1B,MAAM,CAAC,MAAM,GAAG,IAAI,SAAS,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAClD,MAAM,CAAC,OAAO,GAAG,IAAI,SAAS,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IACpD,MAAM,CAAC,SAAS,GAAG,IAAI,SAAS,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;IACxD,MAAM,CAAC,QAAQ,GAAG,IAAI,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IACtD,MAAM,CAAC,MAAM,GAAG,IAAI,SAAS,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAClD,MAAM,CAAC,QAAQ,GAAG,IAAI,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IACtD,MAAM,CAAC,MAAM,GAAG,IAAI,SAAS,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAElD,MAAM,CAAC,UAAU,CAAC,GAAW;QAClC,MAAM,CAAC,IAAI,CAAC,GACV,MAAM,CAAC,OAAO,CAAC,6BAAqB,CAAC,CAAC,IAAI,CACxC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,KAAK,GAAG,CAC7B,IAAI,EAAE,CAAC;QAEV,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,iCAAe,CAAC,IAAI,CAAC,CAAC;QAClC,CAAC;QAED,OAAO,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IAEM,MAAM,CAAC,aAAa,CAAC,SAAoB;QAC9C,MAAM,eAAe,GAAG,SAAS,CAAC,YAAY,EAAE,CAAC;QAEjD,OAAO,SAAS,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;IAC/C,CAAC;IAEM,SAAS;QACd,OAAO,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IACpC,CAAC;IAEM,QAAQ;QACb,OAAO,6BAAqB,CAAC,IAAI,CAAC,KAAoB,CAAC,CAAC;IAC1D,CAAC;;AAlCH,8BAmCC"}
1
+ {"version":3,"file":"DayOfWeek.js","sourceRoot":"","sources":["../../../src/value-objects/time/DayOfWeek.ts"],"names":[],"mappings":";;;AAAA,kEAA+D;AAC/D,6CAAwC;AACxC,kCAA+B;AAG/B,IAAY,WAQX;AARD,WAAY,WAAW;IACrB,gCAAiB,CAAA;IACjB,kCAAmB,CAAA;IACnB,sCAAuB,CAAA;IACvB,oCAAqB,CAAA;IACrB,gCAAiB,CAAA;IACjB,oCAAqB,CAAA;IACrB,gCAAiB,CAAA;AACnB,CAAC,EARW,WAAW,2BAAX,WAAW,QAQtB;AAEY,QAAA,qBAAqB,GAAG;IACnC,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;IACvB,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;IACvB,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC;IACzB,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;IACvB,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC;IACzB,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;IACxB,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE,CAAC;CAC3B,CAAC;AAEF,MAAa,SAAU,SAAQ,WAAI;IAC1B,MAAM,CAAC,MAAM,GAAG,IAAI,SAAS,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAClD,MAAM,CAAC,OAAO,GAAG,IAAI,SAAS,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IACpD,MAAM,CAAC,SAAS,GAAG,IAAI,SAAS,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;IACxD,MAAM,CAAC,QAAQ,GAAG,IAAI,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IACtD,MAAM,CAAC,MAAM,GAAG,IAAI,SAAS,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAClD,MAAM,CAAC,QAAQ,GAAG,IAAI,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IACtD,MAAM,CAAC,MAAM,GAAG,IAAI,SAAS,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAElD,MAAM,CAAC,UAAU,CAAC,GAAW;QAClC,MAAM,CAAC,IAAI,CAAC,GACV,MAAM,CAAC,OAAO,CAAC,6BAAqB,CAAC,CAAC,IAAI,CACxC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,KAAK,GAAG,CAC7B,IAAI,EAAE,CAAC;QAEV,IAAA,iBAAM,EAAC,IAAI,EAAE,IAAI,iCAAe,CAAC,IAAI,CAAC,CAAC,CAAC;QAExC,OAAO,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IAEM,MAAM,CAAC,aAAa,CAAC,SAAoB;QAC9C,MAAM,eAAe,GAAG,SAAS,CAAC,YAAY,EAAE,CAAC;QAEjD,OAAO,SAAS,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;IAC/C,CAAC;IAEM,SAAS;QACd,OAAO,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IACpC,CAAC;IAEM,QAAQ;QACb,OAAO,6BAAqB,CAAC,IAAI,CAAC,KAAoB,CAAC,CAAC;IAC1D,CAAC;;AAhCH,8BAiCC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@haskou/value-objects",
3
- "version": "2.8.0",
3
+ "version": "2.9.0",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "files": [