@haskou/value-objects 4.0.0 → 4.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (143) hide show
  1. package/README.md +176 -79
  2. package/dist/errors/index.d.ts +0 -2
  3. package/dist/errors/index.d.ts.map +1 -1
  4. package/dist/errors/index.js +0 -2
  5. package/dist/errors/index.js.map +1 -1
  6. package/dist/interfaces/PrimitiveOf.d.ts +1 -5
  7. package/dist/interfaces/PrimitiveOf.d.ts.map +1 -1
  8. package/dist/patterns/Assert.d.ts +1 -1
  9. package/dist/patterns/Assert.d.ts.map +1 -1
  10. package/dist/types/Primitive.d.ts +1 -1
  11. package/dist/types/Primitive.d.ts.map +1 -1
  12. package/dist/value-objects/Email.d.ts +0 -1
  13. package/dist/value-objects/Email.d.ts.map +1 -1
  14. package/dist/value-objects/Email.js +1 -2
  15. package/dist/value-objects/Email.js.map +1 -1
  16. package/dist/value-objects/NumberValueObject.js +1 -1
  17. package/dist/value-objects/NumberValueObject.js.map +1 -1
  18. package/dist/value-objects/UniqueObjectArray.d.ts.map +1 -1
  19. package/dist/value-objects/coordinates/Latitude.d.ts.map +1 -1
  20. package/dist/value-objects/coordinates/Latitude.js +4 -5
  21. package/dist/value-objects/coordinates/Latitude.js.map +1 -1
  22. package/dist/value-objects/coordinates/Longitude.d.ts.map +1 -1
  23. package/dist/value-objects/coordinates/Longitude.js +4 -5
  24. package/dist/value-objects/coordinates/Longitude.js.map +1 -1
  25. package/dist/value-objects/crypto/CryptoAdapter.d.ts +2 -3
  26. package/dist/value-objects/crypto/CryptoAdapter.d.ts.map +1 -1
  27. package/dist/value-objects/crypto/CryptoAdapter.js +4 -9
  28. package/dist/value-objects/crypto/CryptoAdapter.js.map +1 -1
  29. package/dist/value-objects/crypto/EncryptedKeyPair.d.ts +4 -4
  30. package/dist/value-objects/crypto/EncryptedKeyPair.d.ts.map +1 -1
  31. package/dist/value-objects/crypto/EncryptedKeyPair.js.map +1 -1
  32. package/dist/value-objects/crypto/EncryptedPayload.d.ts +0 -2
  33. package/dist/value-objects/crypto/EncryptedPayload.d.ts.map +1 -1
  34. package/dist/value-objects/crypto/EncryptedPayload.js +0 -15
  35. package/dist/value-objects/crypto/EncryptedPayload.js.map +1 -1
  36. package/dist/value-objects/crypto/EncryptedPrivateKey.d.ts +2 -3
  37. package/dist/value-objects/crypto/EncryptedPrivateKey.d.ts.map +1 -1
  38. package/dist/value-objects/crypto/EncryptedPrivateKey.js +4 -6
  39. package/dist/value-objects/crypto/EncryptedPrivateKey.js.map +1 -1
  40. package/dist/value-objects/crypto/KeyPair.d.ts +2 -2
  41. package/dist/value-objects/crypto/KeyPair.d.ts.map +1 -1
  42. package/dist/value-objects/crypto/KeyPair.js +1 -1
  43. package/dist/value-objects/crypto/KeyPair.js.map +1 -1
  44. package/dist/value-objects/crypto/PrivateKey.d.ts +0 -13
  45. package/dist/value-objects/crypto/PrivateKey.d.ts.map +1 -1
  46. package/dist/value-objects/crypto/PrivateKey.js +12 -58
  47. package/dist/value-objects/crypto/PrivateKey.js.map +1 -1
  48. package/dist/value-objects/crypto/PublicKey.d.ts +2 -6
  49. package/dist/value-objects/crypto/PublicKey.d.ts.map +1 -1
  50. package/dist/value-objects/crypto/PublicKey.js +6 -20
  51. package/dist/value-objects/crypto/PublicKey.js.map +1 -1
  52. package/dist/value-objects/crypto/encrypted-private-key/EncryptedPrivateKeyLegacy.d.ts +2 -2
  53. package/dist/value-objects/crypto/encrypted-private-key/EncryptedPrivateKeyLegacy.d.ts.map +1 -1
  54. package/dist/value-objects/crypto/encrypted-private-key/EncryptedPrivateKeyLegacy.js.map +1 -1
  55. package/dist/value-objects/crypto/encrypted-private-key/EncryptedPrivateKeyV2.d.ts +5 -7
  56. package/dist/value-objects/crypto/encrypted-private-key/EncryptedPrivateKeyV2.d.ts.map +1 -1
  57. package/dist/value-objects/crypto/encrypted-private-key/EncryptedPrivateKeyV2.js +17 -41
  58. package/dist/value-objects/crypto/encrypted-private-key/EncryptedPrivateKeyV2.js.map +1 -1
  59. package/dist/value-objects/crypto/encrypted-private-key/EncryptedPrivateKeyVersion.d.ts +2 -2
  60. package/dist/value-objects/crypto/encrypted-private-key/EncryptedPrivateKeyVersion.d.ts.map +1 -1
  61. package/dist/value-objects/crypto/index.d.ts +0 -3
  62. package/dist/value-objects/crypto/index.d.ts.map +1 -1
  63. package/dist/value-objects/crypto/index.js +0 -3
  64. package/dist/value-objects/crypto/index.js.map +1 -1
  65. package/dist/value-objects/hashes/MD5Hash.d.ts.map +1 -1
  66. package/dist/value-objects/hashes/MD5Hash.js +1 -2
  67. package/dist/value-objects/hashes/MD5Hash.js.map +1 -1
  68. package/dist/value-objects/hashes/SHA256Hash.d.ts.map +1 -1
  69. package/dist/value-objects/hashes/SHA256Hash.js +1 -2
  70. package/dist/value-objects/hashes/SHA256Hash.js.map +1 -1
  71. package/dist/value-objects/hashes/SHA512Hash.d.ts.map +1 -1
  72. package/dist/value-objects/hashes/SHA512Hash.js +1 -2
  73. package/dist/value-objects/hashes/SHA512Hash.js.map +1 -1
  74. package/dist/value-objects/ids/ShortId.d.ts +0 -1
  75. package/dist/value-objects/ids/ShortId.d.ts.map +1 -1
  76. package/dist/value-objects/ids/ShortId.js +3 -7
  77. package/dist/value-objects/ids/ShortId.js.map +1 -1
  78. package/dist/value-objects/ids/UUID.d.ts +0 -2
  79. package/dist/value-objects/ids/UUID.d.ts.map +1 -1
  80. package/dist/value-objects/ids/UUID.js +4 -18
  81. package/dist/value-objects/ids/UUID.js.map +1 -1
  82. package/dist/value-objects/index.d.ts +0 -1
  83. package/dist/value-objects/index.d.ts.map +1 -1
  84. package/dist/value-objects/index.js +0 -1
  85. package/dist/value-objects/index.js.map +1 -1
  86. package/dist/value-objects/media/Media.d.ts +0 -2
  87. package/dist/value-objects/media/Media.d.ts.map +1 -1
  88. package/dist/value-objects/media/Media.js +1 -14
  89. package/dist/value-objects/media/Media.js.map +1 -1
  90. package/dist/value-objects/time/CalendarDay.d.ts +1 -2
  91. package/dist/value-objects/time/CalendarDay.d.ts.map +1 -1
  92. package/dist/value-objects/time/CalendarDay.js +11 -25
  93. package/dist/value-objects/time/CalendarDay.js.map +1 -1
  94. package/dist/value-objects/time/DayOfWeek.d.ts.map +1 -1
  95. package/dist/value-objects/time/DayOfWeek.js +3 -2
  96. package/dist/value-objects/time/DayOfWeek.js.map +1 -1
  97. package/dist/value-objects/time/Duration.js +2 -2
  98. package/dist/value-objects/time/Duration.js.map +1 -1
  99. package/dist/value-objects/time/Hour.d.ts +0 -3
  100. package/dist/value-objects/time/Hour.d.ts.map +1 -1
  101. package/dist/value-objects/time/Hour.js +31 -30
  102. package/dist/value-objects/time/Hour.js.map +1 -1
  103. package/dist/value-objects/time/Timestamp.d.ts +0 -3
  104. package/dist/value-objects/time/Timestamp.d.ts.map +1 -1
  105. package/dist/value-objects/time/Timestamp.js +6 -50
  106. package/dist/value-objects/time/Timestamp.js.map +1 -1
  107. package/dist/value-objects/time/TimestampInterval.d.ts +4 -2
  108. package/dist/value-objects/time/TimestampInterval.d.ts.map +1 -1
  109. package/dist/value-objects/time/TimestampInterval.js +10 -0
  110. package/dist/value-objects/time/TimestampInterval.js.map +1 -1
  111. package/package.json +32 -57
  112. package/dist/errors/InvalidEncryptedPrivateKeyFormatError.d.ts +0 -5
  113. package/dist/errors/InvalidEncryptedPrivateKeyFormatError.d.ts.map +0 -1
  114. package/dist/errors/InvalidEncryptedPrivateKeyFormatError.js +0 -11
  115. package/dist/errors/InvalidEncryptedPrivateKeyFormatError.js.map +0 -1
  116. package/dist/errors/InvalidPasswordError.d.ts +0 -5
  117. package/dist/errors/InvalidPasswordError.d.ts.map +0 -1
  118. package/dist/errors/InvalidPasswordError.js +0 -11
  119. package/dist/errors/InvalidPasswordError.js.map +0 -1
  120. package/dist/value-objects/Password.d.ts +0 -8
  121. package/dist/value-objects/Password.d.ts.map +0 -1
  122. package/dist/value-objects/Password.js +0 -28
  123. package/dist/value-objects/Password.js.map +0 -1
  124. package/dist/value-objects/crypto/AsymmetricEncryptedPayload.d.ts +0 -5
  125. package/dist/value-objects/crypto/AsymmetricEncryptedPayload.d.ts.map +0 -1
  126. package/dist/value-objects/crypto/AsymmetricEncryptedPayload.js +0 -11
  127. package/dist/value-objects/crypto/AsymmetricEncryptedPayload.js.map +0 -1
  128. package/dist/value-objects/crypto/StrictBase64.d.ts +0 -15
  129. package/dist/value-objects/crypto/StrictBase64.d.ts.map +0 -1
  130. package/dist/value-objects/crypto/StrictBase64.js +0 -36
  131. package/dist/value-objects/crypto/StrictBase64.js.map +0 -1
  132. package/dist/value-objects/crypto/SymmetricEncryptedPayload.d.ts +0 -5
  133. package/dist/value-objects/crypto/SymmetricEncryptedPayload.d.ts.map +0 -1
  134. package/dist/value-objects/crypto/SymmetricEncryptedPayload.js +0 -11
  135. package/dist/value-objects/crypto/SymmetricEncryptedPayload.js.map +0 -1
  136. package/dist/value-objects/crypto/SymmetricKey.d.ts +0 -49
  137. package/dist/value-objects/crypto/SymmetricKey.d.ts.map +0 -1
  138. package/dist/value-objects/crypto/SymmetricKey.js +0 -149
  139. package/dist/value-objects/crypto/SymmetricKey.js.map +0 -1
  140. package/dist/value-objects/crypto/encrypted-private-key/EncryptedPrivateKeyV3.d.ts +0 -24
  141. package/dist/value-objects/crypto/encrypted-private-key/EncryptedPrivateKeyV3.d.ts.map +0 -1
  142. package/dist/value-objects/crypto/encrypted-private-key/EncryptedPrivateKeyV3.js +0 -105
  143. package/dist/value-objects/crypto/encrypted-private-key/EncryptedPrivateKeyV3.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"DayOfWeek.d.ts","sourceRoot":"","sources":["../../../src/value-objects/time/DayOfWeek.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DayOfWeek.d.ts","sourceRoot":"","sources":["../../../src/value-objects/time/DayOfWeek.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAC/B,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,oBAAY,WAAW;IACrB,MAAM,WAAW;IACjB,OAAO,YAAY;IACnB,SAAS,cAAc;IACvB,QAAQ,aAAa;IACrB,MAAM,WAAW;IACjB,QAAQ,aAAa;IACrB,MAAM,WAAW;CAClB;AAED,eAAO,MAAM,qBAAqB;;;;;;;;CAQjC,CAAC;AAEF,qBAAa,SAAU,SAAQ,IAAI;IACjC,OAAc,MAAM,YAAqC;IACzD,OAAc,OAAO,YAAsC;IAC3D,OAAc,SAAS,YAAwC;IAC/D,OAAc,QAAQ,YAAuC;IAC7D,OAAc,MAAM,YAAqC;IACzD,OAAc,QAAQ,YAAuC;IAC7D,OAAc,MAAM,YAAqC;WAE3C,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS;WAalC,aAAa,CAAC,SAAS,EAAE,SAAS,GAAG,SAAS;IAMrD,SAAS,IAAI,MAAM,EAAE;IAIrB,QAAQ,IAAI,MAAM;CAG1B"}
@@ -2,7 +2,6 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.DayOfWeek = exports.timeStampDayToDaysMap = exports.EDaysOfWeek = void 0;
4
4
  const InvalidDayError_1 = require("../../errors/InvalidDayError");
5
- const patterns_1 = require("../../patterns");
6
5
  const Enum_1 = require("../Enum");
7
6
  var EDaysOfWeek;
8
7
  (function (EDaysOfWeek) {
@@ -33,7 +32,9 @@ class DayOfWeek extends Enum_1.Enum {
33
32
  static SUNDAY = new DayOfWeek(EDaysOfWeek.SUNDAY);
34
33
  static fromNumber(day) {
35
34
  const [eDay] = Object.entries(exports.timeStampDayToDaysMap).find(([, value]) => value === day) || [];
36
- (0, patterns_1.assert)(eDay, new InvalidDayError_1.InvalidDayError(eDay));
35
+ if (!eDay) {
36
+ throw new InvalidDayError_1.InvalidDayError(eDay);
37
+ }
37
38
  return new DayOfWeek(eDay);
38
39
  }
39
40
  static fromTimestamp(timestamp) {
@@ -1 +1 @@
1
- {"version":3,"file":"DayOfWeek.js","sourceRoot":"","sources":["../../../src/value-objects/time/DayOfWeek.ts"],"names":[],"mappings":";;;AAAA,kEAA+D;AAC/D,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"}
1
+ {"version":3,"file":"DayOfWeek.js","sourceRoot":"","sources":["../../../src/value-objects/time/DayOfWeek.ts"],"names":[],"mappings":";;;AAAA,kEAA+D;AAC/D,kCAA+B;AAG/B,IAAY,WAQX;AARD,WAAY,WAAW;IACrB,gCAAiB,CAAA;IACjB,kCAAmB,CAAA;IACnB,sCAAuB,CAAA;IACvB,oCAAqB,CAAA;IACrB,gCAAiB,CAAA;IACjB,oCAAqB,CAAA;IACrB,gCAAiB,CAAA;AACnB,CAAC,EARW,WAAW,2BAAX,WAAW,QAQtB;AAEY,QAAA,qBAAqB,GAAG;IACnC,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;IACvB,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;IACvB,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC;IACzB,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;IACvB,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC;IACzB,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;IACxB,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE,CAAC;CAC3B,CAAC;AAEF,MAAa,SAAU,SAAQ,WAAI;IAC1B,MAAM,CAAC,MAAM,GAAG,IAAI,SAAS,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAClD,MAAM,CAAC,OAAO,GAAG,IAAI,SAAS,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IACpD,MAAM,CAAC,SAAS,GAAG,IAAI,SAAS,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;IACxD,MAAM,CAAC,QAAQ,GAAG,IAAI,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IACtD,MAAM,CAAC,MAAM,GAAG,IAAI,SAAS,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAClD,MAAM,CAAC,QAAQ,GAAG,IAAI,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IACtD,MAAM,CAAC,MAAM,GAAG,IAAI,SAAS,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAElD,MAAM,CAAC,UAAU,CAAC,GAAW;QAClC,MAAM,CAAC,IAAI,CAAC,GACV,MAAM,CAAC,OAAO,CAAC,6BAAqB,CAAC,CAAC,IAAI,CACxC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,KAAK,GAAG,CAC7B,IAAI,EAAE,CAAC;QAEV,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,iCAAe,CAAC,IAAI,CAAC,CAAC;QAClC,CAAC;QAED,OAAO,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IAEM,MAAM,CAAC,aAAa,CAAC,SAAoB;QAC9C,MAAM,eAAe,GAAG,SAAS,CAAC,YAAY,EAAE,CAAC;QAEjD,OAAO,SAAS,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;IAC/C,CAAC;IAEM,SAAS;QACd,OAAO,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IACpC,CAAC;IAEM,QAAQ;QACb,OAAO,6BAAqB,CAAC,IAAI,CAAC,KAAoB,CAAC,CAAC;IAC1D,CAAC;;AAlCH,8BAmCC"}
@@ -56,10 +56,10 @@ class Duration extends NumberValueObject_1.NumberValueObject {
56
56
  return new NumberValueObject_1.NumberValueObject(this.valueOf());
57
57
  }
58
58
  getDays() {
59
- return new NumberValueObject_1.NumberValueObject(Math.floor(new Duration(this).divide(Duration.millisecondFactors.DAYS).valueOf()));
59
+ return new NumberValueObject_1.NumberValueObject(Math.floor(new Duration(this).divide(Duration.millisecondFactors.DAYS).valueOf()) % Duration.SECOND_UNITS.DAYS);
60
60
  }
61
61
  getHours() {
62
- return new NumberValueObject_1.NumberValueObject(Math.floor(new Duration(this).divide(Duration.millisecondFactors.HOURS).valueOf()) % 24);
62
+ return new NumberValueObject_1.NumberValueObject(Math.floor(new Duration(this).divide(Duration.millisecondFactors.HOURS).valueOf()) % Duration.SECOND_UNITS.HOURS);
63
63
  }
64
64
  getMinutes() {
65
65
  return new NumberValueObject_1.NumberValueObject(Math.floor(new Duration(this)
@@ -1 +1 @@
1
- {"version":3,"file":"Duration.js","sourceRoot":"","sources":["../../../src/value-objects/time/Duration.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Duration.js","sourceRoot":"","sources":["../../../src/value-objects/time/Duration.ts"],"names":[],"mappings":"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"}
@@ -3,9 +3,6 @@ export declare class Hour extends StringValueObject {
3
3
  private readonly minutes;
4
4
  private readonly hours;
5
5
  private static addTrailZero;
6
- private static normalizeMinutes;
7
- private static parseFromNumber;
8
- private static parseFromString;
9
6
  constructor(value: string);
10
7
  constructor(value: number, minutes?: number);
11
8
  addMinutes(minutes: number): Hour;
@@ -1 +1 @@
1
- {"version":3,"file":"Hour.d.ts","sourceRoot":"","sources":["../../../src/value-objects/time/Hour.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAEzD,qBAAa,IAAK,SAAQ,iBAAiB;IACzC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAE/B,OAAO,CAAC,MAAM,CAAC,YAAY;IAI3B,OAAO,CAAC,MAAM,CAAC,gBAAgB;IAM/B,OAAO,CAAC,MAAM,CAAC,eAAe;IAa9B,OAAO,CAAC,MAAM,CAAC,eAAe;gBAsBlB,KAAK,EAAE,MAAM;gBACb,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM;IAYpC,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IASjC,aAAa,CAAC,KAAK,EAAE,IAAI,GAAG,MAAM;IAiBlC,UAAU,IAAI,MAAM;IAIpB,QAAQ,IAAI,MAAM;IAIlB,aAAa,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO;IAQlC,UAAU,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO;CAOvC"}
1
+ {"version":3,"file":"Hour.d.ts","sourceRoot":"","sources":["../../../src/value-objects/time/Hour.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAEzD,qBAAa,IAAK,SAAQ,iBAAiB;IACzC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,MAAM,CAAC,YAAY;gBAIf,KAAK,EAAE,MAAM;gBACb,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM;IAiCpC,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAkBjC,aAAa,CAAC,KAAK,EAAE,IAAI,GAAG,MAAM;IAiBlC,UAAU,IAAI,MAAM;IAIpB,QAAQ,IAAI,MAAM;IAIlB,aAAa,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO;IAQlC,UAAU,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO;CAOvC"}
@@ -9,43 +9,44 @@ class Hour extends StringValueObject_1.StringValueObject {
9
9
  minutes;
10
10
  hours;
11
11
  static addTrailZero(value) {
12
- return value < 10 ? `0${value}` : value.toString();
13
- }
14
- static normalizeMinutes(totalMinutes) {
15
- const minutesPerDay = 24 * 60;
16
- return ((totalMinutes % minutesPerDay) + minutesPerDay) % minutesPerDay;
17
- }
18
- static parseFromNumber(value, minutes) {
19
- (0, Assert_1.assert)(Number.isInteger(value) && value >= 0 && value <= 23, new InvalidHourError_1.InvalidHourError());
20
- (0, Assert_1.assert)(Number.isInteger(minutes) && minutes >= 0 && minutes <= 59, new InvalidMinutesError_1.InvalidMinutesError());
21
- return [Hour.addTrailZero(value), Hour.addTrailZero(minutes)];
22
- }
23
- static parseFromString(value) {
24
- const parts = value.split(':');
25
- (0, Assert_1.assert)(parts.length === 2 && parts[1] !== '', new InvalidHourError_1.InvalidHourError());
26
- const [hours, minutes] = parts;
27
- (0, Assert_1.assert)(/^\d{1,2}$/.test(hours), new InvalidHourError_1.InvalidHourError());
28
- (0, Assert_1.assert)(/^\d{1,2}$/.test(minutes), new InvalidMinutesError_1.InvalidMinutesError());
29
- const parsedHours = Number(hours);
30
- const parsedMinutes = Number(minutes);
31
- (0, Assert_1.assert)(parsedHours >= 0 && parsedHours <= 23, new InvalidHourError_1.InvalidHourError());
32
- (0, Assert_1.assert)(parsedMinutes >= 0 && parsedMinutes <= 59, new InvalidMinutesError_1.InvalidMinutesError());
33
- return [Hour.addTrailZero(parsedHours), Hour.addTrailZero(parsedMinutes)];
12
+ return Number(value) < 10 ? `0${Number(value)}` : value;
34
13
  }
35
14
  constructor(value, minutes) {
36
- const [parsedHours, parsedMinutes] = typeof value === 'number' && minutes !== undefined
37
- ? Hour.parseFromNumber(value, minutes)
38
- : Hour.parseFromString(value);
15
+ let parsedHours;
16
+ let parsedMinutes;
17
+ if (typeof value === 'number' && minutes !== undefined) {
18
+ (0, Assert_1.assert)(Number(value) >= 0 && Number(value) <= 23, new InvalidHourError_1.InvalidHourError());
19
+ (0, Assert_1.assert)(Number(minutes) >= 0 && Number(minutes) <= 59, new InvalidMinutesError_1.InvalidMinutesError());
20
+ parsedHours = Hour.addTrailZero(value.toString());
21
+ parsedMinutes = Hour.addTrailZero(minutes.toString());
22
+ }
23
+ else {
24
+ (0, Assert_1.assert)(typeof value === 'string', new InvalidHourError_1.InvalidHourError());
25
+ (0, Assert_1.assert)(value.includes(':'), new InvalidHourError_1.InvalidHourError());
26
+ const [hours, minutes] = value.split(':');
27
+ (0, Assert_1.assert)(Number(hours) >= 0 && Number(hours) <= 23, new InvalidHourError_1.InvalidHourError());
28
+ (0, Assert_1.assert)(Number(minutes) >= 0 && Number(minutes) <= 59, new InvalidMinutesError_1.InvalidMinutesError());
29
+ parsedHours = Hour.addTrailZero(hours);
30
+ parsedMinutes = Hour.addTrailZero(minutes);
31
+ }
39
32
  super(`${parsedHours}:${parsedMinutes}`);
40
33
  this.hours = parsedHours;
41
34
  this.minutes = parsedMinutes;
42
35
  }
43
36
  addMinutes(minutes) {
44
- const currentMinutes = Number(this.hours) * 60 + Number(this.minutes);
45
- const normalizedMinutes = Hour.normalizeMinutes(currentMinutes + minutes);
46
- const newHour = Math.floor(normalizedMinutes / 60);
47
- const newMinutes = normalizedMinutes % 60;
48
- return new Hour(newHour, newMinutes);
37
+ const totalMinutes = Number(this.minutes) + minutes;
38
+ let newHour = Number(this.hours) + Math.floor(totalMinutes / 60);
39
+ let newMinutes = totalMinutes % 60;
40
+ if (newHour > 23) {
41
+ newHour = newHour - 24;
42
+ }
43
+ else if (newHour < 0) {
44
+ newHour = 24 + newHour;
45
+ }
46
+ if (newMinutes < 0) {
47
+ newMinutes = 60 + newMinutes;
48
+ }
49
+ return new Hour(`${newHour}:${newMinutes}`);
49
50
  }
50
51
  diffInMinutes(other) {
51
52
  let endHour = Number(other.hours);
@@ -1 +1 @@
1
- {"version":3,"file":"Hour.js","sourceRoot":"","sources":["../../../src/value-objects/time/Hour.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Hour.js","sourceRoot":"","sources":["../../../src/value-objects/time/Hour.ts"],"names":[],"mappings":";;;AAAA,oEAAiE;AACjE,0EAAuE;AACvE,kDAA+C;AAC/C,4DAAyD;AAEzD,MAAa,IAAK,SAAQ,qCAAiB;IACxB,OAAO,CAAS;IAChB,KAAK,CAAS;IACvB,MAAM,CAAC,YAAY,CAAC,KAAa;QACvC,OAAO,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;IAC1D,CAAC;IAID,YAAY,KAAsB,EAAE,OAAgB;QAClD,IAAI,WAAmB,CAAC;QACxB,IAAI,aAAqB,CAAC;QAE1B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YACvD,IAAA,eAAM,EAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,IAAI,mCAAgB,EAAE,CAAC,CAAC;YAC1E,IAAA,eAAM,EACJ,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,EAC7C,IAAI,yCAAmB,EAAE,CAC1B,CAAC;YAEF,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;YAClD,aAAa,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;QACxD,CAAC;aAAM,CAAC;YACN,IAAA,eAAM,EAAC,OAAO,KAAK,KAAK,QAAQ,EAAE,IAAI,mCAAgB,EAAE,CAAC,CAAC;YAC1D,IAAA,eAAM,EAAE,KAAgB,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,IAAI,mCAAgB,EAAE,CAAC,CAAC;YAChE,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,GAAI,KAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAEtD,IAAA,eAAM,EAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,IAAI,mCAAgB,EAAE,CAAC,CAAC;YAC1E,IAAA,eAAM,EACJ,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,EAC7C,IAAI,yCAAmB,EAAE,CAC1B,CAAC;YACF,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;YACvC,aAAa,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QAC7C,CAAC;QAED,KAAK,CAAC,GAAG,WAAW,IAAI,aAAa,EAAE,CAAC,CAAC;QACzC,IAAI,CAAC,KAAK,GAAG,WAAW,CAAC;QACzB,IAAI,CAAC,OAAO,GAAG,aAAa,CAAC;IAC/B,CAAC;IAEM,UAAU,CAAC,OAAe;QAC/B,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;QACpD,IAAI,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,EAAE,CAAC,CAAC;QACjE,IAAI,UAAU,GAAG,YAAY,GAAG,EAAE,CAAC;QAEnC,IAAI,OAAO,GAAG,EAAE,EAAE,CAAC;YACjB,OAAO,GAAG,OAAO,GAAG,EAAE,CAAC;QACzB,CAAC;aAAM,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;YACvB,OAAO,GAAG,EAAE,GAAG,OAAO,CAAC;QACzB,CAAC;QAED,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;YACnB,UAAU,GAAG,EAAE,GAAG,UAAU,CAAC;QAC/B,CAAC;QAED,OAAO,IAAI,IAAI,CAAC,GAAG,OAAO,IAAI,UAAU,EAAE,CAAC,CAAC;IAC9C,CAAC;IAEM,aAAa,CAAC,KAAW;QAC9B,IAAI,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAElC,IACE,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK;YACxB,CAAC,KAAK,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,EAC5D,CAAC;YACD,OAAO,IAAI,EAAE,CAAC;QAChB,CAAC;QAED,MAAM,YAAY,GAChB,CAAC,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE;YACnC,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;QAEjD,OAAO,YAAY,CAAC;IACtB,CAAC;IAEM,UAAU;QACf,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC9B,CAAC;IAEM,QAAQ;QACb,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC;IAEM,aAAa,CAAC,IAAU;QAC7B,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,EAAE,CAAC;YAC9B,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACrD,CAAC;QAED,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACjD,CAAC;IAEM,UAAU,CAAC,IAAU;QAC1B,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,EAAE,CAAC;YAC9B,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACrD,CAAC;QAED,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACjD,CAAC;CACF;AAnGD,oBAmGC"}
@@ -10,9 +10,6 @@ type TimestampValue = number | Date | Timestamp | string;
10
10
  export declare class Timestamp extends ValueObject<number> {
11
11
  private static readonly FACTORS;
12
12
  private static valueMilliseconds;
13
- private static getLastDayOfUtcMonth;
14
- private static ensureCalendarDelta;
15
- private static createUtcCalendarValue;
16
13
  static new(value: TimestampValue): Timestamp;
17
14
  static now(): Timestamp;
18
15
  static fromSeconds(seconds: number | NumberValueObject): Timestamp;
@@ -1 +1 @@
1
- {"version":3,"file":"Timestamp.d.ts","sourceRoot":"","sources":["../../../src/value-objects/time/Timestamp.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAC5B,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAE9B,KAAK,cAAc,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,CAAC;AAEzD,qBAAa,SAAU,SAAQ,WAAW,CAAC,MAAM,CAAC;IAChD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAM7B;IAEF,OAAO,CAAC,MAAM,CAAC,iBAAiB;IAgBhC,OAAO,CAAC,MAAM,CAAC,oBAAoB;IAqBnC,OAAO,CAAC,MAAM,CAAC,mBAAmB;IAIlC,OAAO,CAAC,MAAM,CAAC,sBAAsB;WAsBvB,GAAG,CAAC,KAAK,EAAE,cAAc,GAAG,SAAS;WAIrC,GAAG,IAAI,SAAS;WAIhB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS;gBAItD,KAAK,CAAC,EAAE,cAAc;IASlC,WAAW,IAAI,SAAS;IAYxB,cAAc,IAAI,MAAM;IAIxB,SAAS,IAAI,MAAM;IAInB,MAAM,IAAI,IAAI;IAId,QAAQ,IAAI,MAAM;IAIlB,OAAO,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO;IAIlC,QAAQ,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO;IAInC,OAAO,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO;IAIlC,eAAe,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO;IAI1C,cAAc,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO;IAIzC,eAAe,CAAC,YAAY,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS;IAMpE,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS;IAM1D,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS;IAM1D,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS;IAMtD,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS;IAMpD,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS;IAMtD,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS;IAwBxD,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS;IAsBtD,WAAW,CAAC,QAAQ,EAAE,QAAQ,GAAG,SAAS;IAM1C,SAAS,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO;IAIpC,WAAW,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO;IAItC,UAAU,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO;IAIrC,cAAc,IAAI,WAAW;IAI7B,MAAM,IAAI,GAAG;IAIb,QAAQ,IAAI,KAAK;IAIjB,OAAO,IAAI,IAAI;IAIf,QAAQ,IAAI,MAAM;IAIlB,UAAU,IAAI,MAAM;IAIpB,UAAU,IAAI,MAAM;IAIpB,eAAe,IAAI,MAAM;IAIzB,YAAY,IAAI,MAAM;IAItB,cAAc,IAAI,WAAW;CAGrC"}
1
+ {"version":3,"file":"Timestamp.d.ts","sourceRoot":"","sources":["../../../src/value-objects/time/Timestamp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAC5B,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAE9B,KAAK,cAAc,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,CAAC;AAEzD,qBAAa,SAAU,SAAQ,WAAW,CAAC,MAAM,CAAC;IAChD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAQ7B;IAEF,OAAO,CAAC,MAAM,CAAC,iBAAiB;WAgBlB,GAAG,CAAC,KAAK,EAAE,cAAc,GAAG,SAAS;WAIrC,GAAG,IAAI,SAAS;WAIhB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS;gBAItD,KAAK,CAAC,EAAE,cAAc;IAIlC,WAAW,IAAI,SAAS;IAYxB,cAAc,IAAI,MAAM;IAIxB,SAAS,IAAI,MAAM;IAInB,MAAM,IAAI,IAAI;IAId,QAAQ,IAAI,MAAM;IAIlB,OAAO,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO;IAIlC,QAAQ,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO;IAInC,OAAO,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO;IAIlC,eAAe,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO;IAI1C,cAAc,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO;IAIzC,eAAe,CAAC,YAAY,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS;IAMpE,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS;IAM1D,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS;IAM1D,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS;IAMtD,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS;IAMpD,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS;IAMtD,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS;IAMxD,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS;IAMtD,WAAW,CAAC,QAAQ,EAAE,QAAQ,GAAG,SAAS;IAM1C,SAAS,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO;IAIpC,WAAW,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO;IAItC,UAAU,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO;IAIrC,cAAc,IAAI,WAAW;IAI7B,MAAM,IAAI,GAAG;IAIb,QAAQ,IAAI,KAAK;IAIjB,OAAO,IAAI,IAAI;IAIf,QAAQ,IAAI,MAAM;IAIlB,UAAU,IAAI,MAAM;IAIpB,UAAU,IAAI,MAAM;IAIpB,eAAe,IAAI,MAAM;IAIzB,YAAY,IAAI,MAAM;IAItB,cAAc,IAAI,WAAW;CAGrC"}
@@ -1,9 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Timestamp = void 0;
4
- const InvalidIntegerError_1 = require("../../errors/InvalidIntegerError");
5
- const InvalidNumberError_1 = require("../../errors/InvalidNumberError");
6
- const Assert_1 = require("../../patterns/Assert");
7
4
  const ValueObject_1 = require("../ValueObject");
8
5
  const CalendarDay_1 = require("./CalendarDay");
9
6
  const Day_1 = require("./Day");
@@ -15,8 +12,10 @@ class Timestamp extends ValueObject_1.ValueObject {
15
12
  DAYS: 24 * 60 * 60 * 1000,
16
13
  HOURS: 60 * 60 * 1000,
17
14
  MINUTES: 60 * 1000,
15
+ MONTHS: 30 * 24 * 60 * 60 * 1000,
18
16
  SECONDS: 1000,
19
17
  WEEKS: 7 * 24 * 60 * 60 * 1000,
18
+ YEARS: 365 * 24 * 60 * 60 * 1000,
20
19
  };
21
20
  static valueMilliseconds(value) {
22
21
  if (value instanceof Timestamp || value instanceof Date) {
@@ -30,37 +29,6 @@ class Timestamp extends ValueObject_1.ValueObject {
30
29
  }
31
30
  return Date.now().valueOf();
32
31
  }
33
- static getLastDayOfUtcMonth(year, month) {
34
- const normalizedYear = year + Math.floor(month / 12);
35
- const normalizedMonth = ((month % 12) + 12) % 12;
36
- const days = [
37
- 31,
38
- new Year_1.Year(normalizedYear).isLeapYear() ? 29 : 28,
39
- 31,
40
- 30,
41
- 31,
42
- 30,
43
- 31,
44
- 31,
45
- 30,
46
- 31,
47
- 30,
48
- 31,
49
- ];
50
- return days[normalizedMonth];
51
- }
52
- static ensureCalendarDelta(value) {
53
- (0, Assert_1.assert)(Number.isInteger(value), new InvalidIntegerError_1.InvalidIntegerError(value));
54
- }
55
- static createUtcCalendarValue(sourceValue, year, month, day) {
56
- const integerValue = Math.floor(sourceValue);
57
- const fractionalMilliseconds = sourceValue - integerValue;
58
- const source = new Date(integerValue);
59
- const target = new Date(0);
60
- target.setUTCFullYear(year, month, day);
61
- target.setUTCHours(source.getUTCHours(), source.getUTCMinutes(), source.getUTCSeconds(), source.getUTCMilliseconds());
62
- return target.valueOf() + fractionalMilliseconds;
63
- }
64
32
  static new(value) {
65
33
  return new Timestamp(value);
66
34
  }
@@ -72,7 +40,6 @@ class Timestamp extends ValueObject_1.ValueObject {
72
40
  }
73
41
  constructor(value) {
74
42
  super(Timestamp.valueMilliseconds(value));
75
- (0, Assert_1.assert)(Number.isFinite(new Date(this.value).valueOf()), new InvalidNumberError_1.InvalidNumberError(this.value));
76
43
  }
77
44
  toExactHour() {
78
45
  const date = new Date(this.valueOf());
@@ -134,23 +101,12 @@ class Timestamp extends ValueObject_1.ValueObject {
134
101
  return this.clone(value);
135
102
  }
136
103
  addMonths(months) {
137
- const delta = months.valueOf();
138
- Timestamp.ensureCalendarDelta(delta);
139
- const source = new Date(Math.floor(this.value));
140
- const totalMonths = source.getUTCFullYear() * 12 + source.getUTCMonth() + delta;
141
- const targetYear = Math.floor(totalMonths / 12);
142
- const targetMonth = totalMonths - targetYear * 12;
143
- const targetDay = Math.min(source.getUTCDate(), Timestamp.getLastDayOfUtcMonth(targetYear, targetMonth));
144
- return this.clone(Timestamp.createUtcCalendarValue(this.value, targetYear, targetMonth, targetDay));
104
+ const value = this.value + months.valueOf() * Timestamp.FACTORS.MONTHS;
105
+ return this.clone(value);
145
106
  }
146
107
  addYears(years) {
147
- const delta = years.valueOf();
148
- Timestamp.ensureCalendarDelta(delta);
149
- const source = new Date(Math.floor(this.value));
150
- const targetYear = source.getUTCFullYear() + delta;
151
- const targetMonth = source.getUTCMonth();
152
- const targetDay = Math.min(source.getUTCDate(), Timestamp.getLastDayOfUtcMonth(targetYear, targetMonth));
153
- return this.clone(Timestamp.createUtcCalendarValue(this.value, targetYear, targetMonth, targetDay));
108
+ const value = this.value + years.valueOf() * Timestamp.FACTORS.YEARS;
109
+ return this.clone(value);
154
110
  }
155
111
  addDuration(duration) {
156
112
  const value = this.value + duration.valueOf();
@@ -1 +1 @@
1
- {"version":3,"file":"Timestamp.js","sourceRoot":"","sources":["../../../src/value-objects/time/Timestamp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Timestamp.js","sourceRoot":"","sources":["../../../src/value-objects/time/Timestamp.ts"],"names":[],"mappings":"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"}
@@ -5,8 +5,8 @@ import { DayOfWeek } from './DayOfWeek';
5
5
  import { Duration } from './Duration';
6
6
  import { Timestamp } from './Timestamp';
7
7
  export declare class TimestampInterval extends ValueObject<string> {
8
- private readonly start;
9
- private readonly end;
8
+ private start;
9
+ private end;
10
10
  static fromPrimitives(primitives: PrimitiveOf<TimestampInterval>): TimestampInterval;
11
11
  constructor(start: Timestamp, end: Timestamp);
12
12
  toPrimitives(): {
@@ -17,6 +17,8 @@ export declare class TimestampInterval extends ValueObject<string> {
17
17
  getEnd(): Timestamp;
18
18
  getDuration(): Duration;
19
19
  getTotalDaysOfWeek(dayOfWeek: DayOfWeek): number;
20
+ modifyStart(start: Timestamp): void;
21
+ modifyEnd(end: Timestamp): void;
20
22
  getDaysBetweenInterval(): CalendarDay[];
21
23
  getOverlappingInterval(searchInterval: TimestampInterval): TimestampInterval | null;
22
24
  includes(timestamp: Timestamp): boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"TimestampInterval.d.ts","sourceRoot":"","sources":["../../../src/value-objects/time/TimestampInterval.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAG3D,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,qBAAa,iBAAkB,SAAQ,WAAW,CAAC,MAAM,CAAC;IAWtD,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,GAAG;WAXR,cAAc,CAC1B,UAAU,EAAE,WAAW,CAAC,iBAAiB,CAAC,GACzC,iBAAiB;gBAQD,KAAK,EAAE,SAAS,EAChB,GAAG,EAAE,SAAS;IAU1B,YAAY;;;;IAOZ,QAAQ,IAAI,SAAS;IAIrB,MAAM,IAAI,SAAS;IAInB,WAAW,IAAI,QAAQ;IAMvB,kBAAkB,CAAC,SAAS,EAAE,SAAS,GAAG,MAAM;IAmBhD,sBAAsB,IAAI,WAAW,EAAE;IAcvC,sBAAsB,CAC3B,cAAc,EAAE,iBAAiB,GAChC,iBAAiB,GAAG,IAAI;IAepB,QAAQ,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO;CAM/C"}
1
+ {"version":3,"file":"TimestampInterval.d.ts","sourceRoot":"","sources":["../../../src/value-objects/time/TimestampInterval.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAG3D,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,qBAAa,iBAAkB,SAAQ,WAAW,CAAC,MAAM,CAAC;IAWtD,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,GAAG;WAXC,cAAc,CAC1B,UAAU,EAAE,WAAW,CAAC,iBAAiB,CAAC,GACzC,iBAAiB;gBAQV,KAAK,EAAE,SAAS,EAChB,GAAG,EAAE,SAAS;IAUjB,YAAY;;;;IAOZ,QAAQ,IAAI,SAAS;IAIrB,MAAM,IAAI,SAAS;IAInB,WAAW,IAAI,QAAQ;IAMvB,kBAAkB,CAAC,SAAS,EAAE,SAAS,GAAG,MAAM;IAmBhD,WAAW,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI;IAMnC,SAAS,CAAC,GAAG,EAAE,SAAS,GAAG,IAAI;IAM/B,sBAAsB,IAAI,WAAW,EAAE;IAcvC,sBAAsB,CAC3B,cAAc,EAAE,iBAAiB,GAChC,iBAAiB,GAAG,IAAI;IAepB,QAAQ,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO;CAM/C"}
@@ -47,6 +47,16 @@ class TimestampInterval extends ValueObject_1.ValueObject {
47
47
  }
48
48
  return count;
49
49
  }
50
+ modifyStart(start) {
51
+ const end = this.end;
52
+ (0, Assert_1.assert)(start.isBefore(end), new InvalidTimestampIntervalError_1.InvalidTimestampIntervalError(start, end));
53
+ this.start = start;
54
+ }
55
+ modifyEnd(end) {
56
+ const start = this.start;
57
+ (0, Assert_1.assert)(start.isBefore(end), new InvalidTimestampIntervalError_1.InvalidTimestampIntervalError(start, end));
58
+ this.end = end;
59
+ }
50
60
  getDaysBetweenInterval() {
51
61
  const days = [];
52
62
  let iteratorTimestamp = new Timestamp_1.Timestamp(this.getStart());
@@ -1 +1 @@
1
- {"version":3,"file":"TimestampInterval.js","sourceRoot":"","sources":["../../../src/value-objects/time/TimestampInterval.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TimestampInterval.js","sourceRoot":"","sources":["../../../src/value-objects/time/TimestampInterval.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,47 +1,12 @@
1
1
  {
2
2
  "name": "@haskou/value-objects",
3
- "version": "4.0.0",
4
- "description": "TypeScript value objects for validated, immutable primitive values and small domain-safe data structures.",
3
+ "version": "4.1.0",
5
4
  "main": "dist/index.js",
6
5
  "types": "dist/index.d.ts",
7
- "exports": {
8
- ".": {
9
- "types": "./dist/index.d.ts",
10
- "require": "./dist/index.js",
11
- "default": "./dist/index.js"
12
- },
13
- "./package.json": "./package.json"
14
- },
15
6
  "files": [
16
7
  "dist"
17
8
  ],
18
- "sideEffects": false,
19
9
  "license": "MIT",
20
- "engines": {
21
- "node": ">=20.20.2"
22
- },
23
- "keywords": [
24
- "value-object",
25
- "value-objects",
26
- "typescript",
27
- "validation",
28
- "validated-types",
29
- "immutable",
30
- "immutability",
31
- "type-safety",
32
- "domain-primitives",
33
- "primitive-obsession",
34
- "ddd",
35
- "domain-driven-design",
36
- "email-validation",
37
- "uuid",
38
- "hash",
39
- "crypto",
40
- "aes-256-gcm",
41
- "ed25519",
42
- "x25519",
43
- "scrypt"
44
- ],
45
10
  "publishConfig": {
46
11
  "access": "public"
47
12
  },
@@ -52,36 +17,46 @@
52
17
  "bugs": {
53
18
  "url": "https://github.com/haskou/value-objects/issues"
54
19
  },
55
- "homepage": "https://haskou.github.io/value-objects/",
20
+ "homepage": "https://github.com/haskou/value-objects#readme",
56
21
  "scripts": {
57
22
  "lint": "eslint ./src --ext .ts",
58
23
  "lint:fix": "eslint ./src --ext .ts --fix",
59
24
  "test": "yarn lint && yarn test:unit",
60
- "test:unit": "jest --runInBand",
25
+ "test:unit": "jest --passWithNoTests --runInBand",
61
26
  "test:coverage": "NODE_ENV=test jest --collect-coverage",
62
27
  "build": "rm -rf dist/ && tsc",
63
- "docs:dev": "vitepress dev docs",
64
- "docs:build": "vitepress build docs",
65
- "docs:preview": "vitepress build docs && vitepress preview docs"
28
+ "publish:patch": "yarn lint && yarn test:coverage && tsc --declaration --outDir dist && yarn version --patch && yarn publish && git push",
29
+ "publish:minor": "yarn lint && yarn test:coverage && tsc --declaration --outDir dist && yarn version --minor && yarn publish && git push",
30
+ "publish:major": "yarn lint && yarn test:coverage && tsc --declaration --outDir dist && yarn version --major && yarn publish && git push"
31
+ },
32
+ "devDependencies": {
33
+ "@types/jest": "^30.0.0",
34
+ "@types/node": "^24.0.13",
35
+ "@types/uuid": "8",
36
+ "@typescript-eslint/eslint-plugin": "6.20.0",
37
+ "@typescript-eslint/parser": "6.20.0",
38
+ "eslint": "8.57.0",
39
+ "eslint-config-prettier": "^10.1.5",
40
+ "eslint-plugin-perfectionist": "^4.15.0",
41
+ "eslint-plugin-prettier": "^5.5.1",
42
+ "eslint-plugin-sonarjs": "^3.0.4",
43
+ "eslint-plugin-unused-imports": "^4.1.4",
44
+ "faker": "^6.6.6",
45
+ "jest": "^30.0.4",
46
+ "jest-extended": "^6.0.0",
47
+ "jest-runner-tsc": "^1.6.0",
48
+ "prettier": "^3.6.2",
49
+ "prettier-eslint": "^16.4.2",
50
+ "ts-jest": "^29.4.0",
51
+ "ts-node": "^10.9.2",
52
+ "typescript": "^5.8.3"
66
53
  },
67
54
  "dependencies": {
68
55
  "@noble/ciphers": "^2.2.0",
69
- "@noble/curves": "^2.2.0",
70
- "@noble/hashes": "^2.2.0",
56
+ "@noble/curves": "^2.0.1",
57
+ "@noble/hashes": "^2.0.1",
58
+ "bson-objectid": "^2.0.4",
71
59
  "buffer": "^6.0.3",
72
- "tslib": "^2.8.1"
73
- },
74
- "devDependencies": {
75
- "@haskou/eslint-config": "^0.2.1",
76
- "@types/jest": "^30.0.0",
77
- "@types/node": "^26.1.2",
78
- "eslint": "^10.8.0",
79
- "jest": "^30.4.2",
80
- "jest-extended": "^7.0.0",
81
- "prettier": "^3.9.6",
82
- "ts-jest": "^29.4.12",
83
- "typescript": "^6.0.3",
84
- "vitepress": "^1.6.4",
85
- "vue": "^3.5.40"
60
+ "uuid": "8"
86
61
  }
87
62
  }
@@ -1,5 +0,0 @@
1
- import { DomainError } from './DomainError';
2
- export declare class InvalidEncryptedPrivateKeyFormatError extends DomainError {
3
- constructor(reason?: string);
4
- }
5
- //# sourceMappingURL=InvalidEncryptedPrivateKeyFormatError.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"InvalidEncryptedPrivateKeyFormatError.d.ts","sourceRoot":"","sources":["../../src/errors/InvalidEncryptedPrivateKeyFormatError.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,qBAAa,qCAAsC,SAAQ,WAAW;gBACxD,MAAM,SAAyC;CAG5D"}
@@ -1,11 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.InvalidEncryptedPrivateKeyFormatError = void 0;
4
- const DomainError_1 = require("./DomainError");
5
- class InvalidEncryptedPrivateKeyFormatError extends DomainError_1.DomainError {
6
- constructor(reason = 'Invalid encrypted private key format') {
7
- super(reason);
8
- }
9
- }
10
- exports.InvalidEncryptedPrivateKeyFormatError = InvalidEncryptedPrivateKeyFormatError;
11
- //# sourceMappingURL=InvalidEncryptedPrivateKeyFormatError.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"InvalidEncryptedPrivateKeyFormatError.js","sourceRoot":"","sources":["../../src/errors/InvalidEncryptedPrivateKeyFormatError.ts"],"names":[],"mappings":";;;AAAA,+CAA4C;AAE5C,MAAa,qCAAsC,SAAQ,yBAAW;IACpE,YAAY,MAAM,GAAG,sCAAsC;QACzD,KAAK,CAAC,MAAM,CAAC,CAAC;IAChB,CAAC;CACF;AAJD,sFAIC"}
@@ -1,5 +0,0 @@
1
- import { DomainError } from './DomainError';
2
- export declare class InvalidPasswordError extends DomainError {
3
- constructor(minLength: number, maxLength: number);
4
- }
5
- //# sourceMappingURL=InvalidPasswordError.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"InvalidPasswordError.d.ts","sourceRoot":"","sources":["../../src/errors/InvalidPasswordError.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,qBAAa,oBAAqB,SAAQ,WAAW;gBACvC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;CAKjD"}
@@ -1,11 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.InvalidPasswordError = void 0;
4
- const DomainError_1 = require("./DomainError");
5
- class InvalidPasswordError extends DomainError_1.DomainError {
6
- constructor(minLength, maxLength) {
7
- super(`Password must be between ${minLength} and ${maxLength} characters long and include at least one uppercase letter, one lowercase letter, one number and one symbol.`);
8
- }
9
- }
10
- exports.InvalidPasswordError = InvalidPasswordError;
11
- //# sourceMappingURL=InvalidPasswordError.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"InvalidPasswordError.js","sourceRoot":"","sources":["../../src/errors/InvalidPasswordError.ts"],"names":[],"mappings":";;;AAAA,+CAA4C;AAE5C,MAAa,oBAAqB,SAAQ,yBAAW;IACnD,YAAY,SAAiB,EAAE,SAAiB;QAC9C,KAAK,CACH,4BAA4B,SAAS,QAAQ,SAAS,8GAA8G,CACrK,CAAC;IACJ,CAAC;CACF;AAND,oDAMC"}
@@ -1,8 +0,0 @@
1
- import { StringValueObject } from './StringValueObject';
2
- export declare class Password extends StringValueObject {
3
- private static readonly MAX_LENGTH;
4
- private static readonly MIN_LENGTH;
5
- constructor(value: string | StringValueObject);
6
- private isValidPassword;
7
- }
8
- //# sourceMappingURL=Password.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Password.d.ts","sourceRoot":"","sources":["../../src/value-objects/Password.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,qBAAa,QAAS,SAAQ,iBAAiB;IAC7C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAO;IACzC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAM;gBAE5B,KAAK,EAAE,MAAM,GAAG,iBAAiB;IAa7C,OAAO,CAAC,eAAe;CAUxB"}
@@ -1,28 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Password = void 0;
4
- const InvalidPasswordError_1 = require("../errors/InvalidPasswordError");
5
- const patterns_1 = require("../patterns");
6
- const NullObject_1 = require("./NullObject");
7
- const StringValueObject_1 = require("./StringValueObject");
8
- class Password extends StringValueObject_1.StringValueObject {
9
- static MAX_LENGTH = 256;
10
- static MIN_LENGTH = 12;
11
- constructor(value) {
12
- super(value);
13
- if (NullObject_1.NullObject.isNullObject(this)) {
14
- return this;
15
- }
16
- (0, patterns_1.assert)(this.isValidPassword(), new InvalidPasswordError_1.InvalidPasswordError(Password.MIN_LENGTH, Password.MAX_LENGTH));
17
- }
18
- isValidPassword() {
19
- return (this.value.length >= Password.MIN_LENGTH &&
20
- this.value.length <= Password.MAX_LENGTH &&
21
- /[A-Z]/.test(this.value) &&
22
- /[a-z]/.test(this.value) &&
23
- /[0-9]/.test(this.value) &&
24
- /[^A-Za-z0-9]/.test(this.value));
25
- }
26
- }
27
- exports.Password = Password;
28
- //# sourceMappingURL=Password.js.map