@haskou/value-objects 6.1.2 → 7.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (280) hide show
  1. package/README.md +4 -0
  2. package/dist/index.cjs +1244 -0
  3. package/dist/index.cjs.map +1 -0
  4. package/dist/index.d.cts +538 -0
  5. package/dist/index.d.cts.map +1 -0
  6. package/dist/index.d.mts +1 -0
  7. package/dist/index.mjs +2 -0
  8. package/package.json +17 -11
  9. package/dist/errors/BaseError.d.ts +0 -8
  10. package/dist/errors/BaseError.d.ts.map +0 -1
  11. package/dist/errors/BaseError.js +0 -22
  12. package/dist/errors/BaseError.js.map +0 -1
  13. package/dist/errors/DomainError.d.ts +0 -7
  14. package/dist/errors/DomainError.d.ts.map +0 -1
  15. package/dist/errors/DomainError.js +0 -15
  16. package/dist/errors/DomainError.js.map +0 -1
  17. package/dist/errors/InvalidColorError.d.ts +0 -5
  18. package/dist/errors/InvalidColorError.d.ts.map +0 -1
  19. package/dist/errors/InvalidColorError.js +0 -11
  20. package/dist/errors/InvalidColorError.js.map +0 -1
  21. package/dist/errors/InvalidDayError.d.ts +0 -5
  22. package/dist/errors/InvalidDayError.d.ts.map +0 -1
  23. package/dist/errors/InvalidDayError.js +0 -11
  24. package/dist/errors/InvalidDayError.js.map +0 -1
  25. package/dist/errors/InvalidDayFormatError.d.ts +0 -5
  26. package/dist/errors/InvalidDayFormatError.d.ts.map +0 -1
  27. package/dist/errors/InvalidDayFormatError.js +0 -11
  28. package/dist/errors/InvalidDayFormatError.js.map +0 -1
  29. package/dist/errors/InvalidEmailError.d.ts +0 -5
  30. package/dist/errors/InvalidEmailError.d.ts.map +0 -1
  31. package/dist/errors/InvalidEmailError.js +0 -11
  32. package/dist/errors/InvalidEmailError.js.map +0 -1
  33. package/dist/errors/InvalidFormatError.d.ts +0 -5
  34. package/dist/errors/InvalidFormatError.d.ts.map +0 -1
  35. package/dist/errors/InvalidFormatError.js +0 -11
  36. package/dist/errors/InvalidFormatError.js.map +0 -1
  37. package/dist/errors/InvalidHashError.d.ts +0 -5
  38. package/dist/errors/InvalidHashError.d.ts.map +0 -1
  39. package/dist/errors/InvalidHashError.js +0 -11
  40. package/dist/errors/InvalidHashError.js.map +0 -1
  41. package/dist/errors/InvalidHourError.d.ts +0 -5
  42. package/dist/errors/InvalidHourError.d.ts.map +0 -1
  43. package/dist/errors/InvalidHourError.js +0 -11
  44. package/dist/errors/InvalidHourError.js.map +0 -1
  45. package/dist/errors/InvalidIntegerError.d.ts +0 -5
  46. package/dist/errors/InvalidIntegerError.d.ts.map +0 -1
  47. package/dist/errors/InvalidIntegerError.js +0 -11
  48. package/dist/errors/InvalidIntegerError.js.map +0 -1
  49. package/dist/errors/InvalidLatitudeError.d.ts +0 -5
  50. package/dist/errors/InvalidLatitudeError.d.ts.map +0 -1
  51. package/dist/errors/InvalidLatitudeError.js +0 -11
  52. package/dist/errors/InvalidLatitudeError.js.map +0 -1
  53. package/dist/errors/InvalidLengthError.d.ts +0 -5
  54. package/dist/errors/InvalidLengthError.d.ts.map +0 -1
  55. package/dist/errors/InvalidLengthError.js +0 -11
  56. package/dist/errors/InvalidLengthError.js.map +0 -1
  57. package/dist/errors/InvalidLongitudeError.d.ts +0 -5
  58. package/dist/errors/InvalidLongitudeError.d.ts.map +0 -1
  59. package/dist/errors/InvalidLongitudeError.js +0 -11
  60. package/dist/errors/InvalidLongitudeError.js.map +0 -1
  61. package/dist/errors/InvalidMinutesError.d.ts +0 -5
  62. package/dist/errors/InvalidMinutesError.d.ts.map +0 -1
  63. package/dist/errors/InvalidMinutesError.js +0 -11
  64. package/dist/errors/InvalidMinutesError.js.map +0 -1
  65. package/dist/errors/InvalidNumberError.d.ts +0 -5
  66. package/dist/errors/InvalidNumberError.d.ts.map +0 -1
  67. package/dist/errors/InvalidNumberError.js +0 -11
  68. package/dist/errors/InvalidNumberError.js.map +0 -1
  69. package/dist/errors/InvalidPasswordError.d.ts +0 -5
  70. package/dist/errors/InvalidPasswordError.d.ts.map +0 -1
  71. package/dist/errors/InvalidPasswordError.js +0 -11
  72. package/dist/errors/InvalidPasswordError.js.map +0 -1
  73. package/dist/errors/InvalidPositiveNumberError.d.ts +0 -5
  74. package/dist/errors/InvalidPositiveNumberError.d.ts.map +0 -1
  75. package/dist/errors/InvalidPositiveNumberError.js +0 -11
  76. package/dist/errors/InvalidPositiveNumberError.js.map +0 -1
  77. package/dist/errors/InvalidStringLengthError.d.ts +0 -5
  78. package/dist/errors/InvalidStringLengthError.d.ts.map +0 -1
  79. package/dist/errors/InvalidStringLengthError.js +0 -11
  80. package/dist/errors/InvalidStringLengthError.js.map +0 -1
  81. package/dist/errors/InvalidTimestampIntervalError.d.ts +0 -6
  82. package/dist/errors/InvalidTimestampIntervalError.d.ts.map +0 -1
  83. package/dist/errors/InvalidTimestampIntervalError.js +0 -11
  84. package/dist/errors/InvalidTimestampIntervalError.js.map +0 -1
  85. package/dist/errors/NullObjectCreationDisabledError.d.ts +0 -5
  86. package/dist/errors/NullObjectCreationDisabledError.d.ts.map +0 -1
  87. package/dist/errors/NullObjectCreationDisabledError.js +0 -12
  88. package/dist/errors/NullObjectCreationDisabledError.js.map +0 -1
  89. package/dist/errors/NullObjectError.d.ts +0 -5
  90. package/dist/errors/NullObjectError.d.ts.map +0 -1
  91. package/dist/errors/NullObjectError.js +0 -12
  92. package/dist/errors/NullObjectError.js.map +0 -1
  93. package/dist/errors/ValueNotInEnumError.d.ts +0 -5
  94. package/dist/errors/ValueNotInEnumError.d.ts.map +0 -1
  95. package/dist/errors/ValueNotInEnumError.js +0 -11
  96. package/dist/errors/ValueNotInEnumError.js.map +0 -1
  97. package/dist/errors/index.d.ts +0 -24
  98. package/dist/errors/index.d.ts.map +0 -1
  99. package/dist/errors/index.js +0 -27
  100. package/dist/errors/index.js.map +0 -1
  101. package/dist/index.d.ts +0 -6
  102. package/dist/index.d.ts.map +0 -1
  103. package/dist/index.js +0 -9
  104. package/dist/index.js.map +0 -1
  105. package/dist/interfaces/PrimitiveOf.d.ts +0 -9
  106. package/dist/interfaces/PrimitiveOf.d.ts.map +0 -1
  107. package/dist/interfaces/PrimitiveOf.js +0 -3
  108. package/dist/interfaces/PrimitiveOf.js.map +0 -1
  109. package/dist/interfaces/index.d.ts +0 -2
  110. package/dist/interfaces/index.d.ts.map +0 -1
  111. package/dist/interfaces/index.js +0 -5
  112. package/dist/interfaces/index.js.map +0 -1
  113. package/dist/patterns/Assert.d.ts +0 -5
  114. package/dist/patterns/Assert.d.ts.map +0 -1
  115. package/dist/patterns/Assert.js +0 -11
  116. package/dist/patterns/Assert.js.map +0 -1
  117. package/dist/patterns/index.d.ts +0 -2
  118. package/dist/patterns/index.d.ts.map +0 -1
  119. package/dist/patterns/index.js +0 -5
  120. package/dist/patterns/index.js.map +0 -1
  121. package/dist/types/Nullish.d.ts +0 -2
  122. package/dist/types/Nullish.d.ts.map +0 -1
  123. package/dist/types/Nullish.js +0 -3
  124. package/dist/types/Nullish.js.map +0 -1
  125. package/dist/types/Primitive.d.ts +0 -2
  126. package/dist/types/Primitive.d.ts.map +0 -1
  127. package/dist/types/Primitive.js +0 -3
  128. package/dist/types/Primitive.js.map +0 -1
  129. package/dist/types/index.d.ts +0 -3
  130. package/dist/types/index.d.ts.map +0 -1
  131. package/dist/types/index.js +0 -6
  132. package/dist/types/index.js.map +0 -1
  133. package/dist/value-objects/Color.d.ts +0 -19
  134. package/dist/value-objects/Color.d.ts.map +0 -1
  135. package/dist/value-objects/Color.js +0 -40
  136. package/dist/value-objects/Color.js.map +0 -1
  137. package/dist/value-objects/Email.d.ts +0 -7
  138. package/dist/value-objects/Email.d.ts.map +0 -1
  139. package/dist/value-objects/Email.js +0 -22
  140. package/dist/value-objects/Email.js.map +0 -1
  141. package/dist/value-objects/Enum.d.ts +0 -9
  142. package/dist/value-objects/Enum.d.ts.map +0 -1
  143. package/dist/value-objects/Enum.js +0 -24
  144. package/dist/value-objects/Enum.js.map +0 -1
  145. package/dist/value-objects/Integer.d.ts +0 -6
  146. package/dist/value-objects/Integer.d.ts.map +0 -1
  147. package/dist/value-objects/Integer.js +0 -21
  148. package/dist/value-objects/Integer.js.map +0 -1
  149. package/dist/value-objects/NullObject.d.ts +0 -8
  150. package/dist/value-objects/NullObject.d.ts.map +0 -1
  151. package/dist/value-objects/NullObject.js +0 -43
  152. package/dist/value-objects/NullObject.js.map +0 -1
  153. package/dist/value-objects/NumberValueObject.d.ts +0 -15
  154. package/dist/value-objects/NumberValueObject.d.ts.map +0 -1
  155. package/dist/value-objects/NumberValueObject.js +0 -48
  156. package/dist/value-objects/NumberValueObject.js.map +0 -1
  157. package/dist/value-objects/Password.d.ts +0 -8
  158. package/dist/value-objects/Password.d.ts.map +0 -1
  159. package/dist/value-objects/Password.js +0 -28
  160. package/dist/value-objects/Password.js.map +0 -1
  161. package/dist/value-objects/PositiveNumber.d.ts +0 -6
  162. package/dist/value-objects/PositiveNumber.d.ts.map +0 -1
  163. package/dist/value-objects/PositiveNumber.js +0 -21
  164. package/dist/value-objects/PositiveNumber.js.map +0 -1
  165. package/dist/value-objects/StringValueObject.d.ts +0 -7
  166. package/dist/value-objects/StringValueObject.d.ts.map +0 -1
  167. package/dist/value-objects/StringValueObject.js +0 -24
  168. package/dist/value-objects/StringValueObject.js.map +0 -1
  169. package/dist/value-objects/UniqueObjectArray.d.ts +0 -15
  170. package/dist/value-objects/UniqueObjectArray.d.ts.map +0 -1
  171. package/dist/value-objects/UniqueObjectArray.js +0 -42
  172. package/dist/value-objects/UniqueObjectArray.js.map +0 -1
  173. package/dist/value-objects/ValueObject.d.ts +0 -16
  174. package/dist/value-objects/ValueObject.d.ts.map +0 -1
  175. package/dist/value-objects/ValueObject.js +0 -50
  176. package/dist/value-objects/ValueObject.js.map +0 -1
  177. package/dist/value-objects/coordinates/Coordinates.d.ts +0 -12
  178. package/dist/value-objects/coordinates/Coordinates.d.ts.map +0 -1
  179. package/dist/value-objects/coordinates/Coordinates.js +0 -28
  180. package/dist/value-objects/coordinates/Coordinates.js.map +0 -1
  181. package/dist/value-objects/coordinates/Latitude.d.ts +0 -8
  182. package/dist/value-objects/coordinates/Latitude.d.ts.map +0 -1
  183. package/dist/value-objects/coordinates/Latitude.js +0 -22
  184. package/dist/value-objects/coordinates/Latitude.js.map +0 -1
  185. package/dist/value-objects/coordinates/Longitude.d.ts +0 -8
  186. package/dist/value-objects/coordinates/Longitude.d.ts.map +0 -1
  187. package/dist/value-objects/coordinates/Longitude.js +0 -22
  188. package/dist/value-objects/coordinates/Longitude.js.map +0 -1
  189. package/dist/value-objects/coordinates/index.d.ts +0 -4
  190. package/dist/value-objects/coordinates/index.d.ts.map +0 -1
  191. package/dist/value-objects/coordinates/index.js +0 -7
  192. package/dist/value-objects/coordinates/index.js.map +0 -1
  193. package/dist/value-objects/hashes/Hash.d.ts +0 -7
  194. package/dist/value-objects/hashes/Hash.d.ts.map +0 -1
  195. package/dist/value-objects/hashes/Hash.js +0 -20
  196. package/dist/value-objects/hashes/Hash.js.map +0 -1
  197. package/dist/value-objects/hashes/MD5Hash.d.ts +0 -7
  198. package/dist/value-objects/hashes/MD5Hash.d.ts.map +0 -1
  199. package/dist/value-objects/hashes/MD5Hash.js +0 -21
  200. package/dist/value-objects/hashes/MD5Hash.js.map +0 -1
  201. package/dist/value-objects/hashes/SHA256Hash.d.ts +0 -8
  202. package/dist/value-objects/hashes/SHA256Hash.d.ts.map +0 -1
  203. package/dist/value-objects/hashes/SHA256Hash.js +0 -26
  204. package/dist/value-objects/hashes/SHA256Hash.js.map +0 -1
  205. package/dist/value-objects/hashes/SHA512Hash.d.ts +0 -8
  206. package/dist/value-objects/hashes/SHA512Hash.d.ts.map +0 -1
  207. package/dist/value-objects/hashes/SHA512Hash.js +0 -26
  208. package/dist/value-objects/hashes/SHA512Hash.js.map +0 -1
  209. package/dist/value-objects/hashes/index.d.ts +0 -5
  210. package/dist/value-objects/hashes/index.d.ts.map +0 -1
  211. package/dist/value-objects/hashes/index.js +0 -8
  212. package/dist/value-objects/hashes/index.js.map +0 -1
  213. package/dist/value-objects/ids/ShortId.d.ts +0 -11
  214. package/dist/value-objects/ids/ShortId.d.ts.map +0 -1
  215. package/dist/value-objects/ids/ShortId.js +0 -39
  216. package/dist/value-objects/ids/ShortId.js.map +0 -1
  217. package/dist/value-objects/ids/UUID.d.ts +0 -11
  218. package/dist/value-objects/ids/UUID.d.ts.map +0 -1
  219. package/dist/value-objects/ids/UUID.js +0 -30
  220. package/dist/value-objects/ids/UUID.js.map +0 -1
  221. package/dist/value-objects/ids/index.d.ts +0 -3
  222. package/dist/value-objects/ids/index.d.ts.map +0 -1
  223. package/dist/value-objects/ids/index.js +0 -6
  224. package/dist/value-objects/ids/index.js.map +0 -1
  225. package/dist/value-objects/index.d.ts +0 -17
  226. package/dist/value-objects/index.d.ts.map +0 -1
  227. package/dist/value-objects/index.js +0 -20
  228. package/dist/value-objects/index.js.map +0 -1
  229. package/dist/value-objects/media/Media.d.ts +0 -11
  230. package/dist/value-objects/media/Media.d.ts.map +0 -1
  231. package/dist/value-objects/media/Media.js +0 -38
  232. package/dist/value-objects/media/Media.js.map +0 -1
  233. package/dist/value-objects/media/index.d.ts +0 -2
  234. package/dist/value-objects/media/index.d.ts.map +0 -1
  235. package/dist/value-objects/media/index.js +0 -5
  236. package/dist/value-objects/media/index.js.map +0 -1
  237. package/dist/value-objects/time/CalendarDay.d.ts +0 -26
  238. package/dist/value-objects/time/CalendarDay.d.ts.map +0 -1
  239. package/dist/value-objects/time/CalendarDay.js +0 -88
  240. package/dist/value-objects/time/CalendarDay.js.map +0 -1
  241. package/dist/value-objects/time/Day.d.ts +0 -7
  242. package/dist/value-objects/time/Day.d.ts.map +0 -1
  243. package/dist/value-objects/time/Day.js +0 -18
  244. package/dist/value-objects/time/Day.js.map +0 -1
  245. package/dist/value-objects/time/DayOfWeek.d.ts +0 -34
  246. package/dist/value-objects/time/DayOfWeek.d.ts.map +0 -1
  247. package/dist/value-objects/time/DayOfWeek.js +0 -51
  248. package/dist/value-objects/time/DayOfWeek.js.map +0 -1
  249. package/dist/value-objects/time/Duration.d.ts +0 -23
  250. package/dist/value-objects/time/Duration.d.ts.map +0 -1
  251. package/dist/value-objects/time/Duration.js +0 -79
  252. package/dist/value-objects/time/Duration.js.map +0 -1
  253. package/dist/value-objects/time/Hour.d.ts +0 -18
  254. package/dist/value-objects/time/Hour.d.ts.map +0 -1
  255. package/dist/value-objects/time/Hour.js +0 -80
  256. package/dist/value-objects/time/Hour.js.map +0 -1
  257. package/dist/value-objects/time/Month.d.ts +0 -18
  258. package/dist/value-objects/time/Month.d.ts.map +0 -1
  259. package/dist/value-objects/time/Month.js +0 -41
  260. package/dist/value-objects/time/Month.js.map +0 -1
  261. package/dist/value-objects/time/MonthOfYear.d.ts +0 -17
  262. package/dist/value-objects/time/MonthOfYear.d.ts.map +0 -1
  263. package/dist/value-objects/time/MonthOfYear.js +0 -45
  264. package/dist/value-objects/time/MonthOfYear.js.map +0 -1
  265. package/dist/value-objects/time/Timestamp.d.ts +0 -53
  266. package/dist/value-objects/time/Timestamp.d.ts.map +0 -1
  267. package/dist/value-objects/time/Timestamp.js +0 -197
  268. package/dist/value-objects/time/Timestamp.js.map +0 -1
  269. package/dist/value-objects/time/TimestampInterval.d.ts +0 -24
  270. package/dist/value-objects/time/TimestampInterval.d.ts.map +0 -1
  271. package/dist/value-objects/time/TimestampInterval.js +0 -78
  272. package/dist/value-objects/time/TimestampInterval.js.map +0 -1
  273. package/dist/value-objects/time/Year.d.ts +0 -10
  274. package/dist/value-objects/time/Year.d.ts.map +0 -1
  275. package/dist/value-objects/time/Year.js +0 -26
  276. package/dist/value-objects/time/Year.js.map +0 -1
  277. package/dist/value-objects/time/index.d.ts +0 -11
  278. package/dist/value-objects/time/index.d.ts.map +0 -1
  279. package/dist/value-objects/time/index.js +0 -14
  280. package/dist/value-objects/time/index.js.map +0 -1
@@ -0,0 +1,538 @@
1
+ import { Buffer } from "buffer";
2
+ //#region src/errors/BaseError.d.ts
3
+ export declare class BaseError extends Error {
4
+ private readonly isBaseError;
5
+ static isBaseError(error: unknown): boolean;
6
+ constructor(message: string, prototype?: object);
7
+ toString(): string;
8
+ getStack(): string;
9
+ }
10
+ //#endregion
11
+ //#region src/errors/DomainError.d.ts
12
+ export declare class DomainError extends BaseError {
13
+ protected readonly isDomainError = true;
14
+ static isDomainError(error: unknown): boolean;
15
+ constructor(message: string);
16
+ }
17
+ //#endregion
18
+ //#region src/errors/InvalidColorError.d.ts
19
+ export declare class InvalidColorError extends DomainError {
20
+ constructor(value: string);
21
+ }
22
+ //#endregion
23
+ //#region src/errors/InvalidDayError.d.ts
24
+ export declare class InvalidDayError extends DomainError {
25
+ constructor(invalidDay: unknown);
26
+ }
27
+ //#endregion
28
+ //#region src/errors/InvalidDayFormatError.d.ts
29
+ export declare class InvalidDayFormatError extends DomainError {
30
+ constructor(invalidDate: string);
31
+ }
32
+ //#endregion
33
+ //#region src/errors/InvalidHourError.d.ts
34
+ export declare class InvalidHourError extends DomainError {
35
+ constructor();
36
+ }
37
+ //#endregion
38
+ //#region src/errors/InvalidEmailError.d.ts
39
+ export declare class InvalidEmailError extends DomainError {
40
+ constructor(value: string);
41
+ }
42
+ //#endregion
43
+ //#region src/errors/InvalidFormatError.d.ts
44
+ export declare class InvalidFormatError extends DomainError {
45
+ constructor(value?: string);
46
+ }
47
+ //#endregion
48
+ //#region src/errors/InvalidHashError.d.ts
49
+ export declare class InvalidHashError extends DomainError {
50
+ constructor(type: string, value: string);
51
+ }
52
+ //#endregion
53
+ //#region src/errors/InvalidIntegerError.d.ts
54
+ export declare class InvalidIntegerError extends DomainError {
55
+ constructor(value: number);
56
+ }
57
+ //#endregion
58
+ //#region src/errors/InvalidLatitudeError.d.ts
59
+ export declare class InvalidLatitudeError extends DomainError {
60
+ constructor(value: number);
61
+ }
62
+ //#endregion
63
+ //#region src/errors/InvalidLongitudeError.d.ts
64
+ export declare class InvalidLongitudeError extends DomainError {
65
+ constructor(value: number);
66
+ }
67
+ //#endregion
68
+ //#region src/errors/InvalidMinutesError.d.ts
69
+ export declare class InvalidMinutesError extends DomainError {
70
+ constructor();
71
+ }
72
+ //#endregion
73
+ //#region src/errors/InvalidNumberError.d.ts
74
+ export declare class InvalidNumberError extends DomainError {
75
+ constructor(invalidNumber: unknown);
76
+ }
77
+ //#endregion
78
+ //#region src/errors/InvalidPasswordError.d.ts
79
+ export declare class InvalidPasswordError extends DomainError {
80
+ constructor(minLength: number, maxLength: number);
81
+ }
82
+ //#endregion
83
+ //#region src/errors/InvalidPositiveNumberError.d.ts
84
+ export declare class InvalidPositiveNumberError extends DomainError {
85
+ constructor();
86
+ }
87
+ //#endregion
88
+ //#region src/errors/InvalidStringLengthError.d.ts
89
+ export declare class InvalidStringLengthError extends DomainError {
90
+ constructor(value: string, length: number);
91
+ }
92
+ //#endregion
93
+ //#region src/types/Primitive.d.ts
94
+ export type Primitive = string | number | boolean | bigint | symbol | null | undefined;
95
+ //#endregion
96
+ //#region src/types/Nullish.d.ts
97
+ export type Nullish = null | undefined;
98
+ //#endregion
99
+ //#region src/value-objects/ValueObject.d.ts
100
+ export declare abstract class ValueObject<T extends Primitive = Primitive> {
101
+ private static nullObjectCreationEnabled;
102
+ protected readonly value: T;
103
+ static disableNullObjectCreation(): void;
104
+ static enableNullObjectCreation(): void;
105
+ constructor(value: T | Nullish);
106
+ private isNullish;
107
+ protected clone(value: T): this;
108
+ hasValue(other: unknown): boolean;
109
+ isEqual(other: unknown): boolean;
110
+ isNotEqual(other: unknown): boolean;
111
+ valueOf(): T;
112
+ toString(): string;
113
+ }
114
+ //#endregion
115
+ //#region src/value-objects/NumberValueObject.d.ts
116
+ export declare class NumberValueObject extends ValueObject<number> {
117
+ constructor(value: number | NumberValueObject);
118
+ private isValidNumber;
119
+ isZero(): boolean;
120
+ isGreaterThan(other: number | NumberValueObject): boolean;
121
+ isGreaterOrEqualThan(other: number | NumberValueObject): boolean;
122
+ isLessThan(other: number | NumberValueObject): boolean;
123
+ isLessOrEqualThan(other: number | NumberValueObject): boolean;
124
+ add(other: number | NumberValueObject): NumberValueObject;
125
+ subtract(other: number | NumberValueObject): NumberValueObject;
126
+ multiply(other: number | NumberValueObject): NumberValueObject;
127
+ divide(other: number | NumberValueObject): NumberValueObject;
128
+ }
129
+ //#endregion
130
+ //#region src/value-objects/Integer.d.ts
131
+ export declare class Integer extends NumberValueObject {
132
+ constructor(value: number | NumberValueObject);
133
+ private ensureIsInteger;
134
+ }
135
+ //#endregion
136
+ //#region src/value-objects/time/Day.d.ts
137
+ export declare class Day extends Integer {
138
+ constructor(value: number | NumberValueObject);
139
+ private ensureIsValidDay;
140
+ }
141
+ //#endregion
142
+ //#region src/value-objects/Enum.d.ts
143
+ export declare abstract class Enum<T extends Primitive = Primitive> extends ValueObject<T> {
144
+ protected readonly value: T;
145
+ constructor(value: T);
146
+ abstract getValues(): T[];
147
+ private ensureIsValidValue;
148
+ }
149
+ //#endregion
150
+ //#region src/value-objects/time/DayOfWeek.d.ts
151
+ export declare enum EDaysOfWeek {
152
+ MONDAY = "monday",
153
+ TUESDAY = "tuesday",
154
+ WEDNESDAY = "wednesday",
155
+ THURSDAY = "thursday",
156
+ FRIDAY = "friday",
157
+ SATURDAY = "saturday",
158
+ SUNDAY = "sunday"
159
+ }
160
+ export declare const timeStampDayToDaysMap: {
161
+ friday: number;
162
+ monday: number;
163
+ saturday: number;
164
+ sunday: number;
165
+ thursday: number;
166
+ tuesday: number;
167
+ wednesday: number;
168
+ };
169
+ export declare class DayOfWeek extends Enum {
170
+ static MONDAY: DayOfWeek;
171
+ static TUESDAY: DayOfWeek;
172
+ static WEDNESDAY: DayOfWeek;
173
+ static THURSDAY: DayOfWeek;
174
+ static FRIDAY: DayOfWeek;
175
+ static SATURDAY: DayOfWeek;
176
+ static SUNDAY: DayOfWeek;
177
+ static fromNumber(day: number): DayOfWeek;
178
+ static fromTimestamp(timestamp: Timestamp): DayOfWeek;
179
+ getValues(): string[];
180
+ toNumber(): number;
181
+ }
182
+ //#endregion
183
+ //#region src/value-objects/time/Month.d.ts
184
+ export declare class Month extends Enum<number> {
185
+ static readonly JANUARY: Month;
186
+ static readonly FEBRUARY: Month;
187
+ static readonly MARCH: Month;
188
+ static readonly APRIL: Month;
189
+ static readonly MAY: Month;
190
+ static readonly JUNE: Month;
191
+ static readonly JULY: Month;
192
+ static readonly AUGUST: Month;
193
+ static readonly SEPTEMBER: Month;
194
+ static readonly OCTOBER: Month;
195
+ static readonly NOVEMBER: Month;
196
+ static readonly DECEMBER: Month;
197
+ getValues(): number[];
198
+ getIndex(): number;
199
+ }
200
+ //#endregion
201
+ //#region src/interfaces/PrimitiveOf.d.ts
202
+ type SerializedValue = Primitive | SerializedValue[] | {
203
+ [key: string]: SerializedValue;
204
+ };
205
+ export type PrimitiveOf<T extends {
206
+ toPrimitives(): SerializedValue;
207
+ }> = ReturnType<T['toPrimitives']>;
208
+ //#endregion
209
+ //#region src/value-objects/time/Duration.d.ts
210
+ export declare class Duration extends NumberValueObject {
211
+ private static readonly MILLISECOND_FACTOR;
212
+ private static readonly SECOND_UNITS;
213
+ private static readonly millisecondFactors;
214
+ static fromDays(days: number | NumberValueObject): Duration;
215
+ static fromHours(hours: number | NumberValueObject): Duration;
216
+ static fromMinutes(minutes: number | NumberValueObject): Duration;
217
+ static fromSeconds(seconds: number | NumberValueObject): Duration;
218
+ static fromMilliseconds(milliseconds: number | NumberValueObject): Duration;
219
+ constructor(milliseconds: NumberValueObject | Duration);
220
+ getTotalDays(): NumberValueObject;
221
+ getTotalHours(): NumberValueObject;
222
+ getTotalMinutes(): NumberValueObject;
223
+ getTotalSeconds(): NumberValueObject;
224
+ getTotalMilliseconds(): NumberValueObject;
225
+ getDays(): NumberValueObject;
226
+ getHours(): NumberValueObject;
227
+ getMinutes(): NumberValueObject;
228
+ getSeconds(): NumberValueObject;
229
+ getMilliseconds(): NumberValueObject;
230
+ }
231
+ //#endregion
232
+ //#region src/value-objects/time/TimestampInterval.d.ts
233
+ export declare class TimestampInterval extends ValueObject<string> {
234
+ private readonly start;
235
+ private readonly end;
236
+ static fromPrimitives(primitives: PrimitiveOf<TimestampInterval>): TimestampInterval;
237
+ constructor(start: Timestamp, end: Timestamp);
238
+ toPrimitives(): {
239
+ end: number;
240
+ start: number;
241
+ };
242
+ getStart(): Timestamp;
243
+ getEnd(): Timestamp;
244
+ getDuration(): Duration;
245
+ getTotalDaysOfWeek(dayOfWeek: DayOfWeek): number;
246
+ getDaysBetweenInterval(): CalendarDay[];
247
+ getOverlappingInterval(searchInterval: TimestampInterval): TimestampInterval | null;
248
+ includes(timestamp: Timestamp): boolean;
249
+ }
250
+ //#endregion
251
+ //#region src/value-objects/time/Year.d.ts
252
+ export declare class Year extends Integer {
253
+ private static readonly YEAR_DAYS;
254
+ private static readonly LEAP_YEAR_DAYS;
255
+ constructor(value: number | NumberValueObject);
256
+ isLeapYear(): boolean;
257
+ getNumberOfDays(): number;
258
+ }
259
+ //#endregion
260
+ //#region src/value-objects/time/MonthOfYear.d.ts
261
+ export declare class MonthOfYear extends ValueObject<string> {
262
+ private readonly month;
263
+ private readonly year;
264
+ static fromTimestamp(timestamp: Timestamp): MonthOfYear;
265
+ static fromString(value: string): MonthOfYear;
266
+ constructor(month: number | Month, year: number | Year);
267
+ getMonth(): Month;
268
+ getYear(): Year;
269
+ getNumberOfDays(): number;
270
+ getTimestampInterval(): TimestampInterval;
271
+ }
272
+ //#endregion
273
+ //#region src/value-objects/time/CalendarDay.d.ts
274
+ export declare class CalendarDay extends ValueObject<string> {
275
+ private readonly year;
276
+ private readonly month;
277
+ private readonly day;
278
+ private static ensureIsValidString;
279
+ private static generateStringValue;
280
+ private static ensureIsValidDate;
281
+ private static timestampFromString;
282
+ private static timestampFromValue;
283
+ constructor(value?: string | Date | number | Timestamp);
284
+ isAfter(date: CalendarDay): boolean;
285
+ isBefore(date: CalendarDay): boolean;
286
+ getYear(): number;
287
+ getMonth(): Month;
288
+ getMonthOfYear(): MonthOfYear;
289
+ getDay(): Day;
290
+ getDayOfWeek(): DayOfWeek;
291
+ toTimestamp(): Timestamp;
292
+ }
293
+ //#endregion
294
+ //#region src/value-objects/time/Timestamp.d.ts
295
+ type TimestampValue = number | Date | Timestamp | string;
296
+ export declare class Timestamp extends ValueObject<number> {
297
+ private static readonly FACTORS;
298
+ private static valueMilliseconds;
299
+ private static getLastDayOfUtcMonth;
300
+ private static ensureCalendarDelta;
301
+ private static createUtcCalendarValue;
302
+ static new(value: TimestampValue): Timestamp;
303
+ static now(): Timestamp;
304
+ static fromSeconds(seconds: number | NumberValueObject): Timestamp;
305
+ constructor(value?: TimestampValue);
306
+ toExactHour(): Timestamp;
307
+ toMilliseconds(): number;
308
+ toSeconds(): number;
309
+ toDate(): Date;
310
+ toString(): string;
311
+ isBefore(other: Timestamp): boolean;
312
+ isAfter(other: Timestamp): boolean;
313
+ isBeforeOrEqual(other: Timestamp): boolean;
314
+ isAfterOrEqual(other: Timestamp): boolean;
315
+ addMilliseconds(milliseconds: number | NumberValueObject): Timestamp;
316
+ addSeconds(seconds: number | NumberValueObject): Timestamp;
317
+ addMinutes(minutes: number | NumberValueObject): Timestamp;
318
+ addHours(hours: number | NumberValueObject): Timestamp;
319
+ addDays(days: number | NumberValueObject): Timestamp;
320
+ addWeeks(weeks: number | NumberValueObject): Timestamp;
321
+ addMonths(months: number | NumberValueObject): Timestamp;
322
+ addYears(years: number | NumberValueObject): Timestamp;
323
+ addDuration(duration: Duration): Timestamp;
324
+ isSameDay(other: Timestamp): boolean;
325
+ isSameMonth(other: Timestamp): boolean;
326
+ isSameYear(other: Timestamp): boolean;
327
+ getCalendarDay(): CalendarDay;
328
+ getDay(): Day;
329
+ getMonth(): Month;
330
+ getYear(): Year;
331
+ getHours(): number;
332
+ getMinutes(): number;
333
+ getSeconds(): number;
334
+ getMilliseconds(): number;
335
+ getDayOfWeek(): number;
336
+ getMonthOfYear(): MonthOfYear;
337
+ }
338
+ //#endregion
339
+ //#region src/errors/InvalidTimestampIntervalError.d.ts
340
+ export declare class InvalidTimestampIntervalError extends DomainError {
341
+ constructor(start: Timestamp, end: Timestamp);
342
+ }
343
+ //#endregion
344
+ //#region src/errors/InvalidLengthError.d.ts
345
+ export declare class InvalidLengthError extends DomainError {
346
+ constructor(value: unknown, length: number);
347
+ }
348
+ //#endregion
349
+ //#region src/errors/NullObjectCreationDisabledError.d.ts
350
+ export declare class NullObjectCreationDisabledError extends DomainError {
351
+ constructor(valueObjectName: string);
352
+ }
353
+ //#endregion
354
+ //#region src/errors/NullObjectError.d.ts
355
+ export declare class NullObjectError extends DomainError {
356
+ constructor(message: string);
357
+ }
358
+ //#endregion
359
+ //#region src/errors/ValueNotInEnumError.d.ts
360
+ export declare class ValueNotInEnumError extends DomainError {
361
+ constructor(value: unknown, enumerate: unknown);
362
+ }
363
+ //#endregion
364
+ //#region src/patterns/Assert.d.ts
365
+ export type Errors = Error | BaseError | DomainError | string;
366
+ export declare function assert(condition: boolean | unknown | undefined, error: string | Errors): asserts condition;
367
+ //#endregion
368
+ //#region src/value-objects/StringValueObject.d.ts
369
+ export declare class StringValueObject extends ValueObject<string> {
370
+ constructor(value: string | StringValueObject, maxLength?: number);
371
+ private ensureDoesNotExceedsMaxLength;
372
+ isEmpty(): boolean;
373
+ }
374
+ //#endregion
375
+ //#region src/value-objects/coordinates/Latitude.d.ts
376
+ export declare class Latitude extends NumberValueObject {
377
+ private static MIN_VALUE;
378
+ private static MAX_VALUE;
379
+ private static isValid;
380
+ constructor(value: number | NumberValueObject);
381
+ }
382
+ //#endregion
383
+ //#region src/value-objects/coordinates/Longitude.d.ts
384
+ export declare class Longitude extends NumberValueObject {
385
+ private static MIN_VALUE;
386
+ private static MAX_VALUE;
387
+ private static isValid;
388
+ constructor(value: number | NumberValueObject);
389
+ }
390
+ //#endregion
391
+ //#region src/value-objects/coordinates/Coordinates.d.ts
392
+ export declare class Coordinates extends StringValueObject {
393
+ private latitude;
394
+ private longitude;
395
+ static fromString(value: string): Coordinates;
396
+ constructor(latitude: number | Latitude, longitude: number | Longitude);
397
+ getLatitude(): Latitude;
398
+ getLongitude(): Longitude;
399
+ }
400
+ //#endregion
401
+ //#region src/value-objects/hashes/Hash.d.ts
402
+ export declare abstract class Hash extends ValueObject<string> {
403
+ constructor(source: string | StringValueObject);
404
+ toBase64(): StringValueObject;
405
+ }
406
+ //#endregion
407
+ //#region src/value-objects/hashes/MD5Hash.d.ts
408
+ export declare class MD5Hash extends Hash {
409
+ static isValid(hash: string | StringValueObject): boolean;
410
+ constructor(source: string | StringValueObject);
411
+ }
412
+ //#endregion
413
+ //#region src/value-objects/hashes/SHA256Hash.d.ts
414
+ export declare class SHA256Hash extends ValueObject<string> {
415
+ static isValid(hash: string | StringValueObject): boolean;
416
+ constructor(source: string | StringValueObject);
417
+ toBase64(): StringValueObject;
418
+ }
419
+ //#endregion
420
+ //#region src/value-objects/hashes/SHA512Hash.d.ts
421
+ export declare class SHA512Hash extends ValueObject<string> {
422
+ static isValid(hash: string | StringValueObject): boolean;
423
+ constructor(source: string | StringValueObject);
424
+ toBase64(): StringValueObject;
425
+ }
426
+ //#endregion
427
+ //#region src/value-objects/ids/ShortId.d.ts
428
+ export declare class ShortId extends ValueObject<string> {
429
+ private static readonly LENGTH;
430
+ private static readonly PATTERN;
431
+ private static generateObjectIdHex;
432
+ static generate(): ShortId;
433
+ constructor(value: string | StringValueObject);
434
+ private ensureIsShortId;
435
+ }
436
+ //#endregion
437
+ //#region src/value-objects/ids/UUID.d.ts
438
+ export declare class UUID extends ValueObject<string> {
439
+ private static readonly LENGTH;
440
+ private static readonly PATTERN;
441
+ private static readonly SENTINEL_PATTERN;
442
+ static generate(): UUID;
443
+ constructor(value: string | StringValueObject);
444
+ private ensureIsUUID;
445
+ }
446
+ //#endregion
447
+ //#region src/value-objects/media/Media.d.ts
448
+ export declare class Media extends ValueObject<string> {
449
+ private readonly buffer?;
450
+ constructor(value: string | Buffer);
451
+ getBuffer(): Buffer;
452
+ getSize(): number;
453
+ getBase64(): string;
454
+ hasValue(other: unknown): boolean;
455
+ }
456
+ //#endregion
457
+ //#region src/value-objects/time/Hour.d.ts
458
+ export declare class Hour extends StringValueObject {
459
+ private readonly minutes;
460
+ private readonly hours;
461
+ private static addTrailZero;
462
+ private static normalizeMinutes;
463
+ private static parseFromNumber;
464
+ private static parseFromString;
465
+ constructor(value: string);
466
+ constructor(value: number, minutes?: number);
467
+ addMinutes(minutes: number): Hour;
468
+ diffInMinutes(other: Hour): number;
469
+ getMinutes(): number;
470
+ getHours(): number;
471
+ isGreaterThan(hour: Hour): boolean;
472
+ isLessThan(hour: Hour): boolean;
473
+ }
474
+ //#endregion
475
+ //#region src/value-objects/Color.d.ts
476
+ export declare class Color extends StringValueObject {
477
+ static readonly RED: Color;
478
+ static readonly GREEN: Color;
479
+ static readonly BLUE: Color;
480
+ static readonly BLACK: Color;
481
+ static readonly WHITE: Color;
482
+ static readonly YELLOW: Color;
483
+ static readonly CYAN: Color;
484
+ static readonly MAGENTA: Color;
485
+ static readonly ORANGE: Color;
486
+ static readonly PURPLE: Color;
487
+ static readonly PINK: Color;
488
+ static readonly BROWN: Color;
489
+ constructor(value: string | StringValueObject);
490
+ private ensureIsValidColor;
491
+ hasValue(other: unknown): boolean;
492
+ }
493
+ //#endregion
494
+ //#region src/value-objects/Email.d.ts
495
+ export declare class Email extends StringValueObject {
496
+ private static readonly PATTERN;
497
+ constructor(value: string | StringValueObject);
498
+ private ensureIsValidEmail;
499
+ }
500
+ //#endregion
501
+ //#region src/value-objects/Password.d.ts
502
+ export declare class Password extends StringValueObject {
503
+ private static readonly MAX_LENGTH;
504
+ private static readonly MIN_LENGTH;
505
+ constructor(value: string | StringValueObject);
506
+ private isValidPassword;
507
+ }
508
+ //#endregion
509
+ //#region src/value-objects/PositiveNumber.d.ts
510
+ export declare class PositiveNumber extends NumberValueObject {
511
+ constructor(value: number | NumberValueObject);
512
+ private ensureIsPositive;
513
+ }
514
+ //#endregion
515
+ //#region src/value-objects/NullObject.d.ts
516
+ type Constructor<T> = abstract new (...args: any[]) => T;
517
+ export declare abstract class NullObject {
518
+ private static setFakeProps;
519
+ static new<T>(klass: Constructor<T>): T;
520
+ static isNullObject(nullable: unknown): boolean;
521
+ }
522
+ //#endregion
523
+ //#region src/value-objects/UniqueObjectArray.d.ts
524
+ interface ComparableItem {
525
+ isEqual(item: unknown): boolean;
526
+ }
527
+ export declare class UniqueObjectArray<T extends ComparableItem> implements Iterable<T> {
528
+ private items;
529
+ static fromArray<T extends ComparableItem>(array: T[]): UniqueObjectArray<T>;
530
+ includes(item: T): boolean;
531
+ push(item: T): boolean;
532
+ remove(item: T): boolean;
533
+ [Symbol.iterator](): Iterator<T>;
534
+ length(): number;
535
+ toArray(): T[];
536
+ }
537
+ //#endregion
538
+ //# sourceMappingURL=index.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.cts","names":[],"sources":["../src/errors/BaseError.ts","../src/errors/DomainError.ts","../src/errors/InvalidColorError.ts","../src/errors/InvalidDayError.ts","../src/errors/InvalidDayFormatError.ts","../src/errors/InvalidHourError.ts","../src/errors/InvalidEmailError.ts","../src/errors/InvalidFormatError.ts","../src/errors/InvalidHashError.ts","../src/errors/InvalidIntegerError.ts","../src/errors/InvalidLatitudeError.ts","../src/errors/InvalidLongitudeError.ts","../src/errors/InvalidMinutesError.ts","../src/errors/InvalidNumberError.ts","../src/errors/InvalidPasswordError.ts","../src/errors/InvalidPositiveNumberError.ts","../src/errors/InvalidStringLengthError.ts","../src/types/Primitive.ts","../src/types/Nullish.ts","../src/value-objects/ValueObject.ts","../src/value-objects/NumberValueObject.ts","../src/value-objects/Integer.ts","../src/value-objects/time/Day.ts","../src/value-objects/Enum.ts","../src/value-objects/time/DayOfWeek.ts","../src/value-objects/time/Month.ts","../src/interfaces/PrimitiveOf.ts","../src/value-objects/time/Duration.ts","../src/value-objects/time/TimestampInterval.ts","../src/value-objects/time/Year.ts","../src/value-objects/time/MonthOfYear.ts","../src/value-objects/time/CalendarDay.ts","../src/value-objects/time/Timestamp.ts","../src/errors/InvalidTimestampIntervalError.ts","../src/errors/InvalidLengthError.ts","../src/errors/NullObjectCreationDisabledError.ts","../src/errors/NullObjectError.ts","../src/errors/ValueNotInEnumError.ts","../src/patterns/Assert.ts","../src/value-objects/StringValueObject.ts","../src/value-objects/coordinates/Latitude.ts","../src/value-objects/coordinates/Longitude.ts","../src/value-objects/coordinates/Coordinates.ts","../src/value-objects/hashes/Hash.ts","../src/value-objects/hashes/MD5Hash.ts","../src/value-objects/hashes/SHA256Hash.ts","../src/value-objects/hashes/SHA512Hash.ts","../src/value-objects/ids/ShortId.ts","../src/value-objects/ids/UUID.ts","../src/value-objects/media/Media.ts","../src/value-objects/time/Hour.ts","../src/value-objects/Color.ts","../src/value-objects/Email.ts","../src/value-objects/Password.ts","../src/value-objects/PositiveNumber.ts","../src/value-objects/NullObject.ts","../src/value-objects/UniqueObjectArray.ts"],"mappings":";;qBAAa,kBAAkB;mBACZ;SACH,YAAY;EAId,YAAA,iBAAiB;EAMtB;EAIA;;;;qBCdI,oBAAoB;qBACZ;SACL,cAAc;EAIhB,YAAA;;;;qBCND,0BAA0B;EACzB,YAAA;;;;qBCDD,wBAAwB;EACvB,YAAA;;;;qBCDD,8BAA8B;EAC7B,YAAA;;;;qBCDD,yBAAyB;EAAA;;;;qBCAzB,0BAA0B;EACzB,YAAA;;;;qBCDD,2BAA2B;EAC1B,YAAA;;;;qBCDD,yBAAyB;EACxB,YAAA,cAAc;;;;qBCDf,4BAA4B;EAC3B,YAAA;;;;qBCDD,6BAA6B;EAC5B,YAAA;;;;qBCDD,8BAA8B;EAC7B,YAAA;;;;qBCDD,4BAA4B;EAAA;;;;qBCA5B,2BAA2B;EAC1B,YAAA;;;;qBCDD,6BAA6B;EAC5B,YAAA,mBAAmB;;;;qBCDpB,mCAAmC;EAAA;;;;qBCAnC,iCAAiC;EAChC,YAAA,eAAe;;;;YCHjB;;;YCAA;;;8BCIU,YAAY,UAAU,YAAY;iBACvC;qBAEI,OAAQ;SAEb;SAIA;EAIF,YAAA,OAAO,IAAI;UAWf;YAIE,MAAM,OAAO;EAMhB,SAAS;EAMT,QAAQ;EAQR,WAAW;EAIX,WAAW;EAIX;;;;qBCvDI,0BAA0B;EACzB,YAAA,gBAAgB;UAUpB;EAID;EAIA,cAAc,gBAAgB;EAI9B,qBAAqB,gBAAgB;EAIrC,WAAW,gBAAgB;EAI3B,kBAAkB,gBAAgB;EAIlC,IAAI,gBAAgB,oBAAoB;EAIxC,SAAS,gBAAgB,oBAAoB;EAI7C,SAAS,gBAAgB,oBAAoB;EAI7C,OAAO,gBAAgB,oBAAoB;;;;qBC/CvC,gBAAgB;EACf,YAAA,gBAAgB;UASpB;;;;qBCVG,YAAY;EACX,YAAA,gBAAgB;UAMpB;;;;8BCNY,KACpB,UAAU,YAAY,mBACd,YAAY;qBACW,OAAO;EAAP,YAAA,OAAO;WAUtB,aAAa;UAErB;;;;oBChBE;EACV;EACA;EACA;EACA;EACA;EACA;EACA;;qBAGW;;;;;;;;;qBAUA,kBAAkB;SACf,QAAM;SACN,SAAO;SACP,WAAS;SACT,UAAQ;SACR,QAAM;SACN,UAAQ;SACR,QAAM;SAEN,WAAW,cAAc;SAWzB,cAAc,WAAW,YAAY;EAM5C;EAIA;;;;qBCtCI,cAAc;kBACF,SAAO;kBACP,UAAQ;kBACR,OAAK;kBACL,OAAK;kBACL,KAAG;kBACH,MAAI;kBACJ,MAAI;kBACJ,QAAM;kBACN,WAAS;kBACT,SAAO;kBACP,UAAQ;kBACR,UAAQ;EAExB;EAIA;;;;KCjCJ,kBACD,YACA;GAEG,cAAc;;YAGT,YAAY;EAAY,gBAAgB;KAClD,WAAW;;;qBCRA,iBAAiB;0BACJ;0BACA;0BAUA;SAwBV,SAAS,eAAe,oBAAoB;SAQ5C,UAAU,gBAAgB,oBAAoB;SAQ9C,YAAY,kBAAkB,oBAAoB;SAQlD,YAAY,kBAAkB,oBAAoB;SAQlD,iBACZ,uBAAuB,oBACtB;EAIS,YAAA,cAAc,oBAAoB;EAIvC,gBAAgB;EAIhB,iBAAiB;EAIjB,mBAAmB;EAInB,mBAAmB;EAInB,wBAAwB;EAIxB,WAAW;EAQX,YAAY;EAQZ,cAAc;EAUd,cAAc;EAUd,mBAAmB;;;;qBC9Hf,0BAA0B;mBAWlB;mBACA;SAXL,eACZ,YAAY,YAAY,qBACvB;EAQgB,YAAA,OAAO,WACP,KAAK;EAUjB;;;;EAOA,YAAY;EAIZ,UAAU;EAIV,eAAe;EAMf,mBAAmB,WAAW;EAmB9B,0BAA0B;EAc1B,uBACL,gBAAgB,oBACf;EAeI,SAAS,WAAW;;;;qBCnGhB,aAAa;0BACA;0BACA;EAEZ,YAAA,gBAAgB;EAQrB;EAIA;;;;qBCdI,oBAAoB;mBACd;mBACA;SAEH,cAAc,WAAW,YAAY;SAIrC,WAAW,gBAAgB;EAM7B,YAAA,gBAAgB,OAAO,eAAe;EAU3C,YAAY;EAIZ,WAAW;EAIX;EAIA,wBAAwB;;;;qBChCpB,oBAAoB;mBACd;mBACA;mBACA;iBAEF;iBAOA;iBAOA;iBAIA;iBAkBA;EAYH,YAAA,iBAAiB,gBAAgB;EAgBtC,QAAQ,MAAM;EAId,SAAS,MAAM;EAIf;EAIA,YAAY;EAIZ,kBAAkB;EAIlB,UAAU;EAIV,gBAAgB;EAIhB,eAAe;;;;KC/FnB,0BAA0B,OAAO;qBAEzB,kBAAkB;0BACL;iBAQT;iBAgBA;iBAqBA;iBAIA;SAsBD,IAAI,OAAO,iBAAiB;SAI5B,OAAO;SAIP,YAAY,kBAAkB,oBAAoB;EAI7C,YAAA,QAAQ;EASpB,eAAe;EAYf;EAIA;EAIA,UAAU;EAIV;EAIA,SAAS,OAAO;EAIhB,QAAQ,OAAO;EAIf,gBAAgB,OAAO;EAIvB,eAAe,OAAO;EAItB,gBAAgB,uBAAuB,oBAAoB;EAM3D,WAAW,kBAAkB,oBAAoB;EAMjD,WAAW,kBAAkB,oBAAoB;EAMjD,SAAS,gBAAgB,oBAAoB;EAM7C,QAAQ,eAAe,oBAAoB;EAM3C,SAAS,gBAAgB,oBAAoB;EAM7C,UAAU,iBAAiB,oBAAoB;EAwB/C,SAAS,gBAAgB,oBAAoB;EAsB7C,YAAY,UAAU,WAAW;EAMjC,UAAU,OAAO;EAIjB,YAAY,OAAO;EAInB,WAAW,OAAO;EAIlB,kBAAkB;EAIlB,UAAU;EAIV,YAAY;EAIZ,WAAW;EAIX;EAIA;EAIA;EAIA;EAIA;EAIA,kBAAkB;;;;qBC5Rd,sCAAsC;EACrC,YAAA,OAAO,WAAW,KAAK;;;;qBCFxB,2BAA2B;EAC1B,YAAA,gBAAgB;;;;qBCDjB,wCAAwC;EACvC,YAAA;;;;qBCDD,wBAAwB;EACvB,YAAA;;;;qBCDD,4BAA4B;EAC3B,YAAA,gBAAgB;;;;YCAlB,SAAS,QAAQ,YAAY;wBAEzB,OACd,0CACA,gBAAgB,iBACP;;;qBCHE,0BAA0B;EACzB,YAAA,gBAAgB,mBAAmB;UAUvC;EAOD;;;;qBCnBI,iBAAiB;iBACb;iBACA;iBAEA;EAUH,YAAA,gBAAgB;;;;qBCdjB,kBAAkB;iBACd;iBACA;iBAEA;EAUH,YAAA,gBAAgB;;;;qBCdjB,oBAAoB;UACvB;UACA;SAEM,WAAW,gBAAgB;EAO7B,YAAA,mBAAmB,UAAU,oBAAoB;EAOtD,eAAe;EAIf,gBAAgB;;;;8BCpBH,aAAa;EACrB,YAAA,iBAAiB;EAQtB,YAAY;;;;qBCTR,gBAAgB;SACb,QAAQ,eAAe;EAIzB,YAAA,iBAAiB;;;;qBCHlB,mBAAmB;SAChB,QAAQ,eAAe;EAIzB,YAAA,iBAAiB;EAatB,YAAY;;;;qBClBR,mBAAmB;SAChB,QAAQ,eAAe;EAIzB,YAAA,iBAAiB;EAatB,YAAY;;;;qBChBR,gBAAgB;0BACH;0BACA;iBAET;SAWD,YAAY;EAId,YAAA,gBAAgB;UASpB;;;;qBC7BG,aAAa;0BACA;0BACA;0BAGA;SAGV,YAAY;EAId,YAAA,gBAAgB;UASpB;;;;qBCzBG,cAAc;mBACR;EAEL,YAAA,gBAAgB;EAUrB,aAAa;EAMb;EAIA;EAIA,SAAS;;;;qBC3BL,aAAa;mBACP;mBACA;iBAEF;iBAIA;iBAMA;iBAaA;EAsBH,YAAA;EACA,YAAA,eAAe;EAYpB,WAAW,kBAAkB;EAS7B,cAAc,OAAO;EAiBrB;EAIA;EAIA,cAAc,MAAM;EAQpB,WAAW,MAAM;;;;qBCvGb,cAAc;kBACF,KAAG;kBACH,OAAK;kBACL,MAAI;kBACJ,OAAK;kBACL,OAAK;kBACL,QAAM;kBACN,MAAI;kBACJ,SAAO;kBACP,QAAM;kBACN,QAAM;kBACN,MAAI;kBACJ,OAAK;EAEhB,YAAA,gBAAgB;UAUpB;EAMD,SAAS;;;;qBC/BL,cAAc;0BACD;EAGZ,YAAA,gBAAgB;UAUpB;;;;qBCdG,iBAAiB;0BACJ;0BACA;EAEZ,YAAA,gBAAgB;UAapB;;;;qBCjBG,uBAAuB;EACtB,YAAA,gBAAgB;UAUpB;;;;KCbL,YAAY,sBAAsB,gBAAgB;8BAOjC;iBACL;SAiCD,IAAI,GAAG,OAAO,YAAY,KAAK;SAY/B,aAAa;;;;UCxDnB;EACR,QAAQ;;qBAEG,kBACX,UAAU,2BACC,SAAS;UACZ;SAEM,UAAU,UAAU,gBAChC,OAAO,MACN,kBAAkB;EASd,SAAS,MAAM;EAIf,KAAK,MAAM;EAUX,OAAO,MAAM;GAYZ,OAAO,aAAa,SAAS;EAI9B;EAIA,WAAW"}
@@ -0,0 +1 @@
1
+ export * from './index.cjs';
package/dist/index.mjs ADDED
@@ -0,0 +1,2 @@
1
+ import runtime from './index.cjs';
2
+ export const { BaseError, CalendarDay, Color, Coordinates, Day, DayOfWeek, DomainError, Duration, EDaysOfWeek, Email, Enum, Hash, Hour, Integer, InvalidColorError, InvalidDayError, InvalidDayFormatError, InvalidEmailError, InvalidFormatError, InvalidHashError, InvalidHourError, InvalidIntegerError, InvalidLatitudeError, InvalidLengthError, InvalidLongitudeError, InvalidMinutesError, InvalidNumberError, InvalidPasswordError, InvalidPositiveNumberError, InvalidStringLengthError, InvalidTimestampIntervalError, Latitude, Longitude, MD5Hash, Media, Month, MonthOfYear, NullObject, NullObjectCreationDisabledError, NullObjectError, NumberValueObject, Password, PositiveNumber, SHA256Hash, SHA512Hash, ShortId, StringValueObject, Timestamp, TimestampInterval, UUID, UniqueObjectArray, ValueNotInEnumError, ValueObject, Year, assert, timeStampDayToDaysMap } = runtime;
package/package.json CHANGED
@@ -1,14 +1,20 @@
1
1
  {
2
2
  "name": "@haskou/value-objects",
3
- "version": "6.1.2",
3
+ "version": "7.0.0",
4
4
  "description": "TypeScript value objects for validated, immutable primitive values and small domain-safe data structures.",
5
- "main": "dist/index.js",
6
- "types": "dist/index.d.ts",
5
+ "main": "./dist/index.cjs",
6
+ "module": "./dist/index.mjs",
7
+ "types": "./dist/index.d.mts",
7
8
  "exports": {
8
9
  ".": {
9
- "types": "./dist/index.d.ts",
10
- "require": "./dist/index.js",
11
- "default": "./dist/index.js"
10
+ "import": {
11
+ "types": "./dist/index.d.mts",
12
+ "default": "./dist/index.mjs"
13
+ },
14
+ "require": {
15
+ "types": "./dist/index.d.cts",
16
+ "default": "./dist/index.cjs"
17
+ }
12
18
  },
13
19
  "./package.json": "./package.json"
14
20
  },
@@ -17,9 +23,6 @@
17
23
  ],
18
24
  "sideEffects": false,
19
25
  "license": "MIT",
20
- "engines": {
21
- "node": ">=20.20.2"
22
- },
23
26
  "keywords": [
24
27
  "value-object",
25
28
  "value-objects",
@@ -54,17 +57,18 @@
54
57
  "test": "yarn lint && yarn test:unit",
55
58
  "test:unit": "jest --runInBand",
56
59
  "test:coverage": "NODE_ENV=test jest --collect-coverage",
57
- "build": "rm -rf dist/ && tsc",
60
+ "build": "tsc -p tsconfig.build.json --noEmit && tsdown && node scripts/verify-distribution.cjs",
61
+ "check:distribution": "node scripts/verify-distribution.cjs",
58
62
  "docs:dev": "vitepress dev docs",
59
63
  "docs:build": "vitepress build docs",
60
64
  "docs:preview": "vitepress build docs && vitepress preview docs"
61
65
  },
62
66
  "dependencies": {
63
67
  "buffer": "^6.0.3",
64
- "tslib": "^2.8.1",
65
68
  "uuid": "^11.1.1"
66
69
  },
67
70
  "devDependencies": {
71
+ "@arethetypeswrong/core": "^0.18.5",
68
72
  "@haskou/eslint-config": "^0.2.2",
69
73
  "@types/jest": "^30.0.0",
70
74
  "@types/node": "^26.1.2",
@@ -72,7 +76,9 @@
72
76
  "jest": "^30.4.2",
73
77
  "jest-extended": "^7.0.0",
74
78
  "prettier": "^3.9.6",
79
+ "publint": "^0.3.24",
75
80
  "ts-jest": "^29.4.12",
81
+ "tsdown": "^0.23.0",
76
82
  "typescript": "^6.0.3",
77
83
  "vitepress": "^1.6.4",
78
84
  "vue": "^3.5.40"
@@ -1,8 +0,0 @@
1
- export declare class BaseError extends Error {
2
- private readonly isBaseError;
3
- static isBaseError(error: unknown): boolean;
4
- constructor(message: string, prototype?: object);
5
- toString(): string;
6
- getStack(): string;
7
- }
8
- //# sourceMappingURL=BaseError.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"BaseError.d.ts","sourceRoot":"","sources":["../../src/errors/BaseError.ts"],"names":[],"mappings":"AAAA,qBAAa,SAAU,SAAQ,KAAK;IAClC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAQ;WACtB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO;gBAItC,OAAO,EAAE,MAAM,EAAE,SAAS,GAAE,MAA4B;IAM7D,QAAQ,IAAI,MAAM;IAIlB,QAAQ,IAAI,MAAM;CAG1B"}
@@ -1,22 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.BaseError = void 0;
4
- class BaseError extends Error {
5
- isBaseError = true;
6
- static isBaseError(error) {
7
- return !!error.isBaseError;
8
- }
9
- constructor(message, prototype = BaseError.prototype) {
10
- super(message);
11
- this.name = this.constructor.name;
12
- Object.setPrototypeOf(this, prototype);
13
- }
14
- toString() {
15
- return `[${this.name}]: ${this.message}`;
16
- }
17
- getStack() {
18
- return this.stack || '';
19
- }
20
- }
21
- exports.BaseError = BaseError;
22
- //# sourceMappingURL=BaseError.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"BaseError.js","sourceRoot":"","sources":["../../src/errors/BaseError.ts"],"names":[],"mappings":";;;AAAA,MAAa,SAAU,SAAQ,KAAK;IACjB,WAAW,GAAG,IAAI,CAAC;IAC7B,MAAM,CAAC,WAAW,CAAC,KAAc;QACtC,OAAO,CAAC,CAAE,KAAmB,CAAC,WAAW,CAAC;IAC5C,CAAC;IAED,YAAY,OAAe,EAAE,YAAoB,SAAS,CAAC,SAAS;QAClE,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;QAClC,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IACzC,CAAC;IAEM,QAAQ;QACb,OAAO,IAAI,IAAI,CAAC,IAAI,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;IAC3C,CAAC;IAEM,QAAQ;QACb,OAAO,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;IAC1B,CAAC;CACF;AAnBD,8BAmBC"}
@@ -1,7 +0,0 @@
1
- import { BaseError } from './BaseError';
2
- export declare class DomainError extends BaseError {
3
- protected readonly isDomainError = true;
4
- static isDomainError(error: unknown): boolean;
5
- constructor(message: string);
6
- }
7
- //# sourceMappingURL=DomainError.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DomainError.d.ts","sourceRoot":"","sources":["../../src/errors/DomainError.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,qBAAa,WAAY,SAAQ,SAAS;IACxC,SAAS,CAAC,QAAQ,CAAC,aAAa,QAAQ;WAC1B,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO;gBAIxC,OAAO,EAAE,MAAM;CAG5B"}