@twin.org/core 0.0.2-next.9 → 0.0.3-next.2

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 (187) hide show
  1. package/dist/es/encoding/base32.js +75 -0
  2. package/dist/es/encoding/base32.js.map +1 -0
  3. package/dist/es/encoding/base58.js +124 -0
  4. package/dist/es/encoding/base58.js.map +1 -0
  5. package/dist/es/encoding/base64.js +231 -0
  6. package/dist/es/encoding/base64.js.map +1 -0
  7. package/dist/es/encoding/base64Url.js +42 -0
  8. package/dist/es/encoding/base64Url.js.map +1 -0
  9. package/dist/es/errors/alreadyExistsError.js +22 -0
  10. package/dist/es/errors/alreadyExistsError.js.map +1 -0
  11. package/dist/es/errors/baseError.js +257 -0
  12. package/dist/es/errors/baseError.js.map +1 -0
  13. package/dist/es/errors/conflictError.js +23 -0
  14. package/dist/es/errors/conflictError.js.map +1 -0
  15. package/dist/es/errors/generalError.js +21 -0
  16. package/dist/es/errors/generalError.js.map +1 -0
  17. package/dist/es/errors/guardError.js +27 -0
  18. package/dist/es/errors/guardError.js.map +1 -0
  19. package/dist/es/errors/notFoundError.js +22 -0
  20. package/dist/es/errors/notFoundError.js.map +1 -0
  21. package/dist/es/errors/notImplementedError.js +24 -0
  22. package/dist/es/errors/notImplementedError.js.map +1 -0
  23. package/dist/es/errors/notSupportedError.js +21 -0
  24. package/dist/es/errors/notSupportedError.js.map +1 -0
  25. package/dist/es/errors/unauthorizedError.js +21 -0
  26. package/dist/es/errors/unauthorizedError.js.map +1 -0
  27. package/dist/es/errors/unprocessableError.js +21 -0
  28. package/dist/es/errors/unprocessableError.js.map +1 -0
  29. package/dist/es/errors/validationError.js +23 -0
  30. package/dist/es/errors/validationError.js.map +1 -0
  31. package/dist/es/factories/componentFactory.js +9 -0
  32. package/dist/es/factories/componentFactory.js.map +1 -0
  33. package/dist/es/factories/factory.js +256 -0
  34. package/dist/es/factories/factory.js.map +1 -0
  35. package/dist/es/helpers/arrayHelper.js +44 -0
  36. package/dist/es/helpers/arrayHelper.js.map +1 -0
  37. package/dist/es/helpers/envHelper.js +39 -0
  38. package/dist/es/helpers/envHelper.js.map +1 -0
  39. package/dist/es/helpers/errorHelper.js +100 -0
  40. package/dist/es/helpers/errorHelper.js.map +1 -0
  41. package/dist/es/helpers/filenameHelper.js +32 -0
  42. package/dist/es/helpers/filenameHelper.js.map +1 -0
  43. package/dist/es/helpers/hexHelper.js +45 -0
  44. package/dist/es/helpers/hexHelper.js.map +1 -0
  45. package/dist/es/helpers/jsonHelper.js +163 -0
  46. package/dist/es/helpers/jsonHelper.js.map +1 -0
  47. package/dist/es/helpers/numberHelper.js +30 -0
  48. package/dist/es/helpers/numberHelper.js.map +1 -0
  49. package/dist/es/helpers/objectHelper.js +333 -0
  50. package/dist/es/helpers/objectHelper.js.map +1 -0
  51. package/dist/es/helpers/randomHelper.js +18 -0
  52. package/dist/es/helpers/randomHelper.js.map +1 -0
  53. package/dist/es/helpers/stringHelper.js +241 -0
  54. package/dist/es/helpers/stringHelper.js.map +1 -0
  55. package/dist/es/helpers/uint8ArrayHelper.js +26 -0
  56. package/dist/es/helpers/uint8ArrayHelper.js.map +1 -0
  57. package/dist/es/index.js +57 -0
  58. package/dist/es/index.js.map +1 -0
  59. package/dist/es/models/IComponent.js +4 -0
  60. package/dist/es/models/IComponent.js.map +1 -0
  61. package/dist/es/models/IError.js +4 -0
  62. package/dist/es/models/IError.js.map +1 -0
  63. package/dist/es/models/II18nShared.js +2 -0
  64. package/dist/es/models/II18nShared.js.map +1 -0
  65. package/dist/es/models/IKeyValue.js +2 -0
  66. package/dist/es/models/IKeyValue.js.map +1 -0
  67. package/dist/es/models/ILabelledValue.js +2 -0
  68. package/dist/es/models/ILabelledValue.js.map +1 -0
  69. package/dist/es/models/ILocale.js +2 -0
  70. package/dist/es/models/ILocale.js.map +1 -0
  71. package/dist/es/models/ILocaleDictionary.js +4 -0
  72. package/dist/es/models/ILocaleDictionary.js.map +1 -0
  73. package/dist/es/models/ILocalesIndex.js +2 -0
  74. package/dist/es/models/ILocalesIndex.js.map +1 -0
  75. package/dist/es/models/IPatchOperation.js +4 -0
  76. package/dist/es/models/IPatchOperation.js.map +1 -0
  77. package/dist/es/models/IUrlParts.js +4 -0
  78. package/dist/es/models/IUrlParts.js.map +1 -0
  79. package/dist/es/models/IValidationFailure.js +2 -0
  80. package/dist/es/models/IValidationFailure.js.map +1 -0
  81. package/dist/es/models/coerceType.js +49 -0
  82. package/dist/es/models/coerceType.js.map +1 -0
  83. package/dist/es/models/compressionType.js +17 -0
  84. package/dist/es/models/compressionType.js.map +1 -0
  85. package/dist/es/models/objectOrArray.js +2 -0
  86. package/dist/es/models/objectOrArray.js.map +1 -0
  87. package/dist/es/types/bitString.js +98 -0
  88. package/dist/es/types/bitString.js.map +1 -0
  89. package/dist/es/types/url.js +144 -0
  90. package/dist/es/types/url.js.map +1 -0
  91. package/dist/es/types/urn.js +212 -0
  92. package/dist/es/types/urn.js.map +1 -0
  93. package/dist/es/utils/asyncCache.js +179 -0
  94. package/dist/es/utils/asyncCache.js.map +1 -0
  95. package/dist/es/utils/coerce.js +269 -0
  96. package/dist/es/utils/coerce.js.map +1 -0
  97. package/dist/es/utils/compression.js +49 -0
  98. package/dist/es/utils/compression.js.map +1 -0
  99. package/dist/es/utils/converter.js +256 -0
  100. package/dist/es/utils/converter.js.map +1 -0
  101. package/dist/es/utils/guards.js +369 -0
  102. package/dist/es/utils/guards.js.map +1 -0
  103. package/dist/es/utils/i18n.js +243 -0
  104. package/dist/es/utils/i18n.js.map +1 -0
  105. package/dist/es/utils/is.js +351 -0
  106. package/dist/es/utils/is.js.map +1 -0
  107. package/dist/es/utils/sharedStore.js +48 -0
  108. package/dist/es/utils/sharedStore.js.map +1 -0
  109. package/dist/es/utils/validation.js +774 -0
  110. package/dist/es/utils/validation.js.map +1 -0
  111. package/dist/types/encoding/base32.d.ts +4 -0
  112. package/dist/types/encoding/base58.d.ts +4 -0
  113. package/dist/types/encoding/base64.d.ts +4 -0
  114. package/dist/types/encoding/base64Url.d.ts +4 -0
  115. package/dist/types/errors/alreadyExistsError.d.ts +5 -2
  116. package/dist/types/errors/baseError.d.ts +1 -1
  117. package/dist/types/errors/conflictError.d.ts +5 -2
  118. package/dist/types/errors/generalError.d.ts +1 -1
  119. package/dist/types/errors/guardError.d.ts +1 -1
  120. package/dist/types/errors/notFoundError.d.ts +5 -2
  121. package/dist/types/errors/notImplementedError.d.ts +6 -2
  122. package/dist/types/errors/notSupportedError.d.ts +5 -2
  123. package/dist/types/errors/unauthorizedError.d.ts +5 -2
  124. package/dist/types/errors/unprocessableError.d.ts +1 -1
  125. package/dist/types/errors/validationError.d.ts +2 -2
  126. package/dist/types/factories/componentFactory.d.ts +2 -2
  127. package/dist/types/factories/factory.d.ts +4 -0
  128. package/dist/types/helpers/arrayHelper.d.ts +1 -1
  129. package/dist/types/helpers/errorHelper.d.ts +1 -1
  130. package/dist/types/helpers/jsonHelper.d.ts +5 -1
  131. package/dist/types/helpers/numberHelper.d.ts +17 -0
  132. package/dist/types/helpers/objectHelper.d.ts +14 -0
  133. package/dist/types/helpers/stringHelper.d.ts +6 -6
  134. package/dist/types/index.d.ts +54 -53
  135. package/dist/types/models/IComponent.d.ts +6 -7
  136. package/dist/types/models/ILocalesIndex.d.ts +1 -1
  137. package/dist/types/models/IValidationFailure.d.ts +0 -4
  138. package/dist/types/types/bitString.d.ts +4 -0
  139. package/dist/types/types/url.d.ts +8 -3
  140. package/dist/types/types/urn.d.ts +7 -2
  141. package/dist/types/utils/coerce.d.ts +1 -1
  142. package/dist/types/utils/compression.d.ts +5 -1
  143. package/dist/types/utils/guards.d.ts +2 -3
  144. package/dist/types/utils/i18n.d.ts +16 -1
  145. package/dist/types/utils/is.d.ts +1 -1
  146. package/dist/types/utils/validation.d.ts +1 -1
  147. package/docs/changelog.md +283 -0
  148. package/docs/reference/classes/AlreadyExistsError.md +8 -4
  149. package/docs/reference/classes/AsyncCache.md +5 -5
  150. package/docs/reference/classes/Base32.md +8 -0
  151. package/docs/reference/classes/Base58.md +8 -0
  152. package/docs/reference/classes/Base64.md +8 -0
  153. package/docs/reference/classes/Base64Url.md +8 -0
  154. package/docs/reference/classes/BaseError.md +3 -3
  155. package/docs/reference/classes/BitString.md +8 -0
  156. package/docs/reference/classes/Coerce.md +20 -20
  157. package/docs/reference/classes/Compression.md +8 -0
  158. package/docs/reference/classes/ConflictError.md +8 -4
  159. package/docs/reference/classes/ErrorHelper.md +2 -2
  160. package/docs/reference/classes/Factory.md +11 -3
  161. package/docs/reference/classes/GeneralError.md +3 -3
  162. package/docs/reference/classes/GuardError.md +3 -3
  163. package/docs/reference/classes/Guards.md +8 -4
  164. package/docs/reference/classes/I18n.md +54 -2
  165. package/docs/reference/classes/Is.md +10 -4
  166. package/docs/reference/classes/JsonHelper.md +8 -0
  167. package/docs/reference/classes/NotFoundError.md +8 -4
  168. package/docs/reference/classes/NotImplementedError.md +14 -4
  169. package/docs/reference/classes/NotSupportedError.md +8 -4
  170. package/docs/reference/classes/NumberHelper.md +55 -0
  171. package/docs/reference/classes/ObjectHelper.md +58 -8
  172. package/docs/reference/classes/SharedStore.md +2 -2
  173. package/docs/reference/classes/StringHelper.md +8 -8
  174. package/docs/reference/classes/UnauthorizedError.md +8 -4
  175. package/docs/reference/classes/UnprocessableError.md +3 -3
  176. package/docs/reference/classes/Url.md +17 -3
  177. package/docs/reference/classes/Urn.md +19 -5
  178. package/docs/reference/classes/Validation.md +2 -2
  179. package/docs/reference/classes/ValidationError.md +3 -3
  180. package/docs/reference/index.md +1 -0
  181. package/docs/reference/interfaces/IComponent.md +19 -25
  182. package/docs/reference/interfaces/IValidationFailure.md +0 -8
  183. package/locales/.validate-ignore +1 -0
  184. package/locales/en.json +4 -5
  185. package/package.json +22 -10
  186. package/dist/cjs/index.cjs +0 -5175
  187. package/dist/esm/index.mjs +0 -5133
@@ -1,9 +1,13 @@
1
- import type { IUrlParts } from "../models/IUrlParts";
2
- import type { IValidationFailure } from "../models/IValidationFailure";
1
+ import type { IUrlParts } from "../models/IUrlParts.js";
2
+ import type { IValidationFailure } from "../models/IValidationFailure.js";
3
3
  /**
4
4
  * Class to help with urls.
5
5
  */
6
6
  export declare class Url {
7
+ /**
8
+ * Runtime name for the class.
9
+ */
10
+ static readonly CLASS_NAME: string;
7
11
  /**
8
12
  * Create a new instance of Url.
9
13
  * @param url The url string.
@@ -28,9 +32,10 @@ export declare class Url {
28
32
  * @param property Throw an exception if the url property is invalid.
29
33
  * @param value The url to parse.
30
34
  * @param failures The list of failures to add to.
35
+ * @param fieldNameResource The optional human readable name for the field as an i18 resource.
31
36
  * @returns The formatted url.
32
37
  */
33
- static validate(property: string, value: unknown, failures: IValidationFailure[]): value is Url;
38
+ static validate(property: string, value: unknown, failures: IValidationFailure[], fieldNameResource?: string): value is Url;
34
39
  /**
35
40
  * Construct a url from a URL.
36
41
  * @param url The url to construct from.
@@ -1,8 +1,12 @@
1
- import type { IValidationFailure } from "../models/IValidationFailure";
1
+ import type { IValidationFailure } from "../models/IValidationFailure.js";
2
2
  /**
3
3
  * Class to help with urns.
4
4
  */
5
5
  export declare class Urn {
6
+ /**
7
+ * Runtime name for the class.
8
+ */
9
+ static readonly CLASS_NAME: string;
6
10
  /**
7
11
  * Create a new instance of Urn.
8
12
  * @param namespaceIdentifier The identifier for the namespace.
@@ -53,9 +57,10 @@ export declare class Urn {
53
57
  * @param property Throw an exception if the urn property is invalid.
54
58
  * @param value The urn to parse.
55
59
  * @param failures The list of failures to add to.
60
+ * @param fieldNameResource The optional human readable name for the field as an i18 resource.
56
61
  * @returns The formatted urn.
57
62
  */
58
- static validate(property: string, value: unknown, failures: IValidationFailure[]): value is string;
63
+ static validate(property: string, value: unknown, failures: IValidationFailure[], fieldNameResource?: string): value is string;
59
64
  /**
60
65
  * Get the parts.
61
66
  * @param startIndex The index to start from, defaults to 0.
@@ -1,4 +1,4 @@
1
- import { CoerceType } from "../models/coerceType";
1
+ import { CoerceType } from "../models/coerceType.js";
2
2
  /**
3
3
  * Coerce an object from one type to another.
4
4
  */
@@ -1,8 +1,12 @@
1
- import { CompressionType } from "../models/compressionType";
1
+ import { CompressionType } from "../models/compressionType.js";
2
2
  /**
3
3
  * A class to handle compression.
4
4
  */
5
5
  export declare class Compression {
6
+ /**
7
+ * Runtime name for the class.
8
+ */
9
+ static readonly CLASS_NAME: string;
6
10
  /**
7
11
  * Compress bytes using GZIP.
8
12
  * @param bytes The bytes to compress.
@@ -1,4 +1,4 @@
1
- import type { ObjectOrArray } from "../models/objectOrArray";
1
+ import type { ObjectOrArray } from "../models/objectOrArray.js";
2
2
  /**
3
3
  * Class to handle guard operations for parameters.
4
4
  */
@@ -210,10 +210,9 @@ export declare class Guards {
210
210
  * @param source The source of the error.
211
211
  * @param property The name of the property.
212
212
  * @param value The value to test.
213
- * @returns True if the value is a function.
214
213
  * @throws GuardError If the value does not match the assertion.
215
214
  */
216
- static function(source: string, property: string, value: unknown): boolean;
215
+ static function<T extends (...args: any[]) => any = (...args: any[]) => any>(source: string, property: string, value: unknown): asserts value is T;
217
216
  /**
218
217
  * Is the property a string formatted as an email address.
219
218
  * @param source The source of the error.
@@ -1,4 +1,4 @@
1
- import type { ILocaleDictionary } from "../models/ILocaleDictionary";
1
+ import type { ILocaleDictionary } from "../models/ILocaleDictionary.js";
2
2
  /**
3
3
  * Class to perform internationalization.
4
4
  */
@@ -78,4 +78,19 @@ export declare class I18n {
78
78
  * @returns True if the key exists.
79
79
  */
80
80
  static hasMessage(key: string): boolean;
81
+ /**
82
+ * Flatten the translation property paths for faster lookup.
83
+ * @param translation The translation to merge.
84
+ * @param propertyPath The current root path.
85
+ * @param mergedKeys The merged keys dictionary to populate.
86
+ */
87
+ static flattenTranslationKeys(translation: ILocaleDictionary, propertyPath: string, mergedKeys: {
88
+ [key: string]: string;
89
+ }): void;
90
+ /**
91
+ * Get a list of the property names from the message.
92
+ * @param message The message to extract the property names from.
93
+ * @returns The list of property names.
94
+ */
95
+ static getPropertyNames(message: string): string[];
81
96
  }
@@ -195,7 +195,7 @@ export declare class Is {
195
195
  * @param value The value to test.
196
196
  * @returns True if the value is a function.
197
197
  */
198
- static function(value: unknown): value is (...args: unknown[]) => unknown;
198
+ static function<T extends (...args: any[]) => any = (...args: any[]) => any>(value: unknown): value is T;
199
199
  /**
200
200
  * Is the value a string formatted as an email address.
201
201
  * @param value The value to test.
@@ -1,4 +1,4 @@
1
- import type { IValidationFailure } from "../models/IValidationFailure";
1
+ import type { IValidationFailure } from "../models/IValidationFailure.js";
2
2
  /**
3
3
  * Class to handle validation operations.
4
4
  */
package/docs/changelog.md CHANGED
@@ -1,5 +1,288 @@
1
1
  # @twin.org/core - Changelog
2
2
 
3
+ ## [0.0.3-next.2](https://github.com/twinfoundation/framework/compare/core-v0.0.3-next.1...core-v0.0.3-next.2) (2025-11-12)
4
+
5
+
6
+ ### Miscellaneous Chores
7
+
8
+ * **core:** Synchronize repo versions
9
+
10
+
11
+ ### Dependencies
12
+
13
+ * The following workspace dependencies were updated
14
+ * dependencies
15
+ * @twin.org/nameof bumped from 0.0.3-next.1 to 0.0.3-next.2
16
+ * devDependencies
17
+ * @twin.org/nameof-transformer bumped from 0.0.3-next.1 to 0.0.3-next.2
18
+ * @twin.org/nameof-vitest-plugin bumped from 0.0.3-next.1 to 0.0.3-next.2
19
+
20
+ ## [0.0.3-next.1](https://github.com/twinfoundation/framework/compare/core-v0.0.3-next.0...core-v0.0.3-next.1) (2025-11-10)
21
+
22
+
23
+ ### Features
24
+
25
+ * add context id features ([#206](https://github.com/twinfoundation/framework/issues/206)) ([ef0d4ee](https://github.com/twinfoundation/framework/commit/ef0d4ee11a4f5fc6cc6f52a4958ce905c04ee13b))
26
+ * add guards arrayEndsWith and arrayStartsWith ([95d875e](https://github.com/twinfoundation/framework/commit/95d875ec8ccb4713c145fdde941d4cfedcec2ed3))
27
+ * add Is.class method ([4988205](https://github.com/twinfoundation/framework/commit/498820543e256a130b4888c958fe1d87ca865d7f))
28
+ * add objectHelper.split ([386830a](https://github.com/twinfoundation/framework/commit/386830a77f8e842a5b119be0983708e042c3b14b))
29
+ * add ObjectOrArray and ArrayHelper methods ([0ac9077](https://github.com/twinfoundation/framework/commit/0ac907764d64b38ad1b04b0e9c3027055b527559))
30
+ * add rsa cipher support ([7af6cc6](https://github.com/twinfoundation/framework/commit/7af6cc67512d3363bd4a2f2e87bd7733c2800147))
31
+ * add set method for async caches ([ba34b55](https://github.com/twinfoundation/framework/commit/ba34b55e651ad56ab8fc59e139e4af631c19cda0))
32
+ * add zlib/deflate mime types detection ([72c472b](https://github.com/twinfoundation/framework/commit/72c472b5a35a973e7109336f5b6cdd84dbb8bbcb))
33
+ * additional nameof operators ([a5aab60](https://github.com/twinfoundation/framework/commit/a5aab60bf66a86f1b7ff8af7c4f044cb03706d50))
34
+ * additional RSA methods and async ([1fceee2](https://github.com/twinfoundation/framework/commit/1fceee2d1248a24a7620846025fcf906495c07f4))
35
+ * async cache don't cache failures unless requested ([658ec4b](https://github.com/twinfoundation/framework/commit/658ec4b67a58a075de4702a3886d151e25ad3ddc))
36
+ * eslint migration to flat config ([74427d7](https://github.com/twinfoundation/framework/commit/74427d78d342167f7850e49ab87269326355befe))
37
+ * expand error params to accept properties ([032e9fd](https://github.com/twinfoundation/framework/commit/032e9fd1388e457cde32ca1005dfe014a5a9c077))
38
+ * improve base error data extraction ([dccc933](https://github.com/twinfoundation/framework/commit/dccc93361a1544b41db0e7c126ff90e858d87960))
39
+ * improve error display in CLI ([94b6ca8](https://github.com/twinfoundation/framework/commit/94b6ca8bdcfe3ca7671c4095b436ea7bddaae98e))
40
+ * improve Is.function and ModuleHelper.getModuleMethod signatures ([ecf968b](https://github.com/twinfoundation/framework/commit/ecf968b02934b3676be4bf7cd2d1e7f8e7af6ce2))
41
+ * improve Is.function definition to retain types ([f20b6b0](https://github.com/twinfoundation/framework/commit/f20b6b0dd16e74b75dc359be72b05989305c6410))
42
+ * locales validation ([#197](https://github.com/twinfoundation/framework/issues/197)) ([55fdadb](https://github.com/twinfoundation/framework/commit/55fdadb13595ce0047f787bd1d4135d429a99f12))
43
+ * nodeIdentity optional in IComponent methods ([c78dc17](https://github.com/twinfoundation/framework/commit/c78dc17f4357d3e1ae40e415f468d3eae13e81f4))
44
+ * propagate includeStackTrace on error conversion ([8471cbb](https://github.com/twinfoundation/framework/commit/8471cbb71f8fc98247a0e92126c438c1a8b04d9b))
45
+ * propagate includeStackTrace on error conversion ([818337d](https://github.com/twinfoundation/framework/commit/818337d50d14bf5a7e8b3204649aa7527115cca9))
46
+ * relocate core packages from tools ([bcab8f3](https://github.com/twinfoundation/framework/commit/bcab8f3160442ea4fcaf442947462504f3d6a17d))
47
+ * simplify async set ([#121](https://github.com/twinfoundation/framework/issues/121)) ([2693c32](https://github.com/twinfoundation/framework/commit/2693c325266fd1a0aede6f1336c8b254c981a9ca))
48
+ * simplify StringHelper signature ([0390403](https://github.com/twinfoundation/framework/commit/039040344952f91ee3c671249bc0e1c8f3b38e17))
49
+ * support indexed properties set in objects ([b9c001d](https://github.com/twinfoundation/framework/commit/b9c001dc4614f6ff7486f4370735a553613d823a))
50
+ * update dependencies ([f3bd015](https://github.com/twinfoundation/framework/commit/f3bd015efd169196b7e0335f5cab876ba6ca1d75))
51
+ * use cause instead of inner for errors ([1f4acc4](https://github.com/twinfoundation/framework/commit/1f4acc4d7a6b71a134d9547da9bf40de1e1e49da))
52
+ * use new shared store mechanism ([#131](https://github.com/twinfoundation/framework/issues/131)) ([934385b](https://github.com/twinfoundation/framework/commit/934385b2fbaf9f5c00a505ebf9d093bd5a425f55))
53
+
54
+
55
+ ### Dependencies
56
+
57
+ * The following workspace dependencies were updated
58
+ * dependencies
59
+ * @twin.org/nameof bumped from 0.0.3-next.0 to 0.0.3-next.1
60
+ * devDependencies
61
+ * @twin.org/nameof-transformer bumped from 0.0.3-next.0 to 0.0.3-next.1
62
+ * @twin.org/nameof-vitest-plugin bumped from 0.0.3-next.0 to 0.0.3-next.1
63
+
64
+ ## [0.0.2-next.22](https://github.com/twinfoundation/framework/compare/core-v0.0.2-next.21...core-v0.0.2-next.22) (2025-10-10)
65
+
66
+
67
+ ### Miscellaneous Chores
68
+
69
+ * **core:** Synchronize repo versions
70
+
71
+
72
+ ### Dependencies
73
+
74
+ * The following workspace dependencies were updated
75
+ * dependencies
76
+ * @twin.org/nameof bumped from 0.0.2-next.21 to 0.0.2-next.22
77
+ * devDependencies
78
+ * @twin.org/nameof-transformer bumped from 0.0.2-next.21 to 0.0.2-next.22
79
+ * @twin.org/nameof-vitest-plugin bumped from 0.0.2-next.21 to 0.0.2-next.22
80
+
81
+ ## [0.0.2-next.21](https://github.com/twinfoundation/framework/compare/core-v0.0.2-next.20...core-v0.0.2-next.21) (2025-10-09)
82
+
83
+
84
+ ### Features
85
+
86
+ * locales validation ([#197](https://github.com/twinfoundation/framework/issues/197)) ([55fdadb](https://github.com/twinfoundation/framework/commit/55fdadb13595ce0047f787bd1d4135d429a99f12))
87
+
88
+
89
+ ### Dependencies
90
+
91
+ * The following workspace dependencies were updated
92
+ * dependencies
93
+ * @twin.org/nameof bumped from 0.0.2-next.20 to 0.0.2-next.21
94
+ * devDependencies
95
+ * @twin.org/nameof-transformer bumped from 0.0.2-next.20 to 0.0.2-next.21
96
+ * @twin.org/nameof-vitest-plugin bumped from 0.0.2-next.20 to 0.0.2-next.21
97
+
98
+ ## [0.0.2-next.20](https://github.com/twinfoundation/framework/compare/core-v0.0.2-next.19...core-v0.0.2-next.20) (2025-10-02)
99
+
100
+
101
+ ### Features
102
+
103
+ * improve Is.function and ModuleHelper.getModuleMethod signatures ([ecf968b](https://github.com/twinfoundation/framework/commit/ecf968b02934b3676be4bf7cd2d1e7f8e7af6ce2))
104
+
105
+
106
+ ### Dependencies
107
+
108
+ * The following workspace dependencies were updated
109
+ * dependencies
110
+ * @twin.org/nameof bumped from 0.0.2-next.19 to 0.0.2-next.20
111
+ * devDependencies
112
+ * @twin.org/nameof-transformer bumped from 0.0.2-next.19 to 0.0.2-next.20
113
+ * @twin.org/nameof-vitest-plugin bumped from 0.0.2-next.19 to 0.0.2-next.20
114
+
115
+ ## [0.0.2-next.19](https://github.com/twinfoundation/framework/compare/core-v0.0.2-next.18...core-v0.0.2-next.19) (2025-09-30)
116
+
117
+
118
+ ### Features
119
+
120
+ * add objectHelper.split ([386830a](https://github.com/twinfoundation/framework/commit/386830a77f8e842a5b119be0983708e042c3b14b))
121
+
122
+
123
+ ### Dependencies
124
+
125
+ * The following workspace dependencies were updated
126
+ * dependencies
127
+ * @twin.org/nameof bumped from 0.0.2-next.18 to 0.0.2-next.19
128
+ * devDependencies
129
+ * @twin.org/nameof-transformer bumped from 0.0.2-next.18 to 0.0.2-next.19
130
+ * @twin.org/nameof-vitest-plugin bumped from 0.0.2-next.18 to 0.0.2-next.19
131
+
132
+ ## [0.0.2-next.18](https://github.com/twinfoundation/framework/compare/core-v0.0.2-next.17...core-v0.0.2-next.18) (2025-09-29)
133
+
134
+
135
+ ### Features
136
+
137
+ * simplify StringHelper signature ([0390403](https://github.com/twinfoundation/framework/commit/039040344952f91ee3c671249bc0e1c8f3b38e17))
138
+
139
+
140
+ ### Dependencies
141
+
142
+ * The following workspace dependencies were updated
143
+ * dependencies
144
+ * @twin.org/nameof bumped from 0.0.2-next.17 to 0.0.2-next.18
145
+ * devDependencies
146
+ * @twin.org/nameof-transformer bumped from 0.0.2-next.17 to 0.0.2-next.18
147
+ * @twin.org/nameof-vitest-plugin bumped from 0.0.2-next.17 to 0.0.2-next.18
148
+
149
+ ## [0.0.2-next.17](https://github.com/twinfoundation/framework/compare/core-v0.0.2-next.16...core-v0.0.2-next.17) (2025-09-29)
150
+
151
+
152
+ ### Features
153
+
154
+ * additional nameof operators ([a5aab60](https://github.com/twinfoundation/framework/commit/a5aab60bf66a86f1b7ff8af7c4f044cb03706d50))
155
+
156
+
157
+ ### Dependencies
158
+
159
+ * The following workspace dependencies were updated
160
+ * dependencies
161
+ * @twin.org/nameof bumped from 0.0.2-next.16 to 0.0.2-next.17
162
+ * devDependencies
163
+ * @twin.org/nameof-transformer bumped from 0.0.2-next.16 to 0.0.2-next.17
164
+ * @twin.org/nameof-vitest-plugin bumped from 0.0.2-next.16 to 0.0.2-next.17
165
+
166
+ ## [0.0.2-next.16](https://github.com/twinfoundation/framework/compare/core-v0.0.2-next.15...core-v0.0.2-next.16) (2025-09-28)
167
+
168
+
169
+ ### Features
170
+
171
+ * improve Is.function definition to retain types ([f20b6b0](https://github.com/twinfoundation/framework/commit/f20b6b0dd16e74b75dc359be72b05989305c6410))
172
+ * nodeIdentity optional in IComponent methods ([c78dc17](https://github.com/twinfoundation/framework/commit/c78dc17f4357d3e1ae40e415f468d3eae13e81f4))
173
+
174
+
175
+ ### Dependencies
176
+
177
+ * The following workspace dependencies were updated
178
+ * dependencies
179
+ * @twin.org/nameof bumped from 0.0.2-next.15 to 0.0.2-next.16
180
+ * devDependencies
181
+ * @twin.org/nameof-transformer bumped from 0.0.2-next.15 to 0.0.2-next.16
182
+ * @twin.org/nameof-vitest-plugin bumped from 0.0.2-next.15 to 0.0.2-next.16
183
+
184
+ ## [0.0.2-next.15](https://github.com/twinfoundation/framework/compare/core-v0.0.2-next.14...core-v0.0.2-next.15) (2025-09-22)
185
+
186
+
187
+ ### Miscellaneous Chores
188
+
189
+ * **core:** Synchronize repo versions
190
+
191
+
192
+ ### Dependencies
193
+
194
+ * The following workspace dependencies were updated
195
+ * dependencies
196
+ * @twin.org/nameof bumped from 0.0.2-next.14 to 0.0.2-next.15
197
+ * devDependencies
198
+ * @twin.org/nameof-transformer bumped from 0.0.2-next.14 to 0.0.2-next.15
199
+ * @twin.org/nameof-vitest-plugin bumped from 0.0.2-next.14 to 0.0.2-next.15
200
+
201
+ ## [0.0.2-next.14](https://github.com/twinfoundation/framework/compare/core-v0.0.2-next.13...core-v0.0.2-next.14) (2025-09-22)
202
+
203
+
204
+ ### Miscellaneous Chores
205
+
206
+ * **core:** Synchronize repo versions
207
+
208
+
209
+ ### Dependencies
210
+
211
+ * The following workspace dependencies were updated
212
+ * dependencies
213
+ * @twin.org/nameof bumped from 0.0.2-next.13 to 0.0.2-next.14
214
+ * devDependencies
215
+ * @twin.org/nameof-transformer bumped from 0.0.2-next.13 to 0.0.2-next.14
216
+ * @twin.org/nameof-vitest-plugin bumped from 0.0.2-next.13 to 0.0.2-next.14
217
+
218
+ ## [0.0.2-next.13](https://github.com/twinfoundation/framework/compare/core-v0.0.2-next.12...core-v0.0.2-next.13) (2025-09-22)
219
+
220
+
221
+ ### Features
222
+
223
+ * expand error params to accept properties ([032e9fd](https://github.com/twinfoundation/framework/commit/032e9fd1388e457cde32ca1005dfe014a5a9c077))
224
+
225
+
226
+ ### Dependencies
227
+
228
+ * The following workspace dependencies were updated
229
+ * dependencies
230
+ * @twin.org/nameof bumped from 0.0.2-next.12 to 0.0.2-next.13
231
+ * devDependencies
232
+ * @twin.org/nameof-transformer bumped from 0.0.2-next.12 to 0.0.2-next.13
233
+ * @twin.org/nameof-vitest-plugin bumped from 0.0.2-next.12 to 0.0.2-next.13
234
+
235
+ ## [0.0.2-next.12](https://github.com/twinfoundation/framework/compare/core-v0.0.2-next.11...core-v0.0.2-next.12) (2025-09-15)
236
+
237
+
238
+ ### Miscellaneous Chores
239
+
240
+ * **core:** Synchronize repo versions
241
+
242
+
243
+ ### Dependencies
244
+
245
+ * The following workspace dependencies were updated
246
+ * dependencies
247
+ * @twin.org/nameof bumped from 0.0.2-next.11 to 0.0.2-next.12
248
+ * devDependencies
249
+ * @twin.org/nameof-transformer bumped from 0.0.2-next.11 to 0.0.2-next.12
250
+ * @twin.org/nameof-vitest-plugin bumped from 0.0.2-next.11 to 0.0.2-next.12
251
+
252
+ ## [0.0.2-next.11](https://github.com/twinfoundation/framework/compare/core-v0.0.2-next.10...core-v0.0.2-next.11) (2025-09-15)
253
+
254
+
255
+ ### Miscellaneous Chores
256
+
257
+ * **core:** Synchronize repo versions
258
+
259
+
260
+ ### Dependencies
261
+
262
+ * The following workspace dependencies were updated
263
+ * dependencies
264
+ * @twin.org/nameof bumped from 0.0.2-next.10 to 0.0.2-next.11
265
+ * devDependencies
266
+ * @twin.org/nameof-transformer bumped from 0.0.2-next.10 to 0.0.2-next.11
267
+ * @twin.org/nameof-vitest-plugin bumped from 0.0.2-next.10 to 0.0.2-next.11
268
+
269
+ ## [0.0.2-next.10](https://github.com/twinfoundation/framework/compare/core-v0.0.2-next.9...core-v0.0.2-next.10) (2025-09-11)
270
+
271
+
272
+ ### Miscellaneous Chores
273
+
274
+ * **core:** Synchronize repo versions
275
+
276
+
277
+ ### Dependencies
278
+
279
+ * The following workspace dependencies were updated
280
+ * dependencies
281
+ * @twin.org/nameof bumped from 0.0.2-next.9 to 0.0.2-next.10
282
+ * devDependencies
283
+ * @twin.org/nameof-transformer bumped from 0.0.2-next.9 to 0.0.2-next.10
284
+ * @twin.org/nameof-vitest-plugin bumped from 0.0.2-next.9 to 0.0.2-next.10
285
+
3
286
  ## [0.0.2-next.9](https://github.com/twinfoundation/framework/compare/core-v0.0.2-next.8...core-v0.0.2-next.9) (2025-09-08)
4
287
 
5
288
 
@@ -10,7 +10,7 @@ Class to handle errors which are triggered by data already existing.
10
10
 
11
11
  ### Constructor
12
12
 
13
- > **new AlreadyExistsError**(`source`, `message`, `existingId?`, `cause?`): `AlreadyExistsError`
13
+ > **new AlreadyExistsError**(`source`, `message`, `existingId?`, `properties?`, `cause?`): `AlreadyExistsError`
14
14
 
15
15
  Create a new instance of AlreadyExistsError.
16
16
 
@@ -34,6 +34,10 @@ The message as a code.
34
34
 
35
35
  The id for the item.
36
36
 
37
+ ##### properties?
38
+
39
+ Any additional information for the error.
40
+
37
41
  ##### cause?
38
42
 
39
43
  `unknown`
@@ -152,7 +156,7 @@ The list of all internal errors.
152
156
 
153
157
  ### expand()
154
158
 
155
- > `static` **expand**(`errors`): `undefined` \| [`IError`](../interfaces/IError.md)
159
+ > `static` **expand**(`errors`): [`IError`](../interfaces/IError.md) \| `undefined`
156
160
 
157
161
  Expand an error tree.
158
162
 
@@ -162,11 +166,11 @@ Expand an error tree.
162
166
 
163
167
  The list of errors to expand.
164
168
 
165
- `undefined` | [`IError`](../interfaces/IError.md)[]
169
+ [`IError`](../interfaces/IError.md)[] | `undefined`
166
170
 
167
171
  #### Returns
168
172
 
169
- `undefined` \| [`IError`](../interfaces/IError.md)
173
+ [`IError`](../interfaces/IError.md) \| `undefined`
170
174
 
171
175
  The first level error.
172
176
 
@@ -16,7 +16,7 @@ Cache the results from asynchronous requests.
16
16
 
17
17
  ### exec()
18
18
 
19
- > `static` **exec**\<`T`\>(`key`, `ttlMs`, `requestMethod`, `cacheFailures?`): `undefined` \| `Promise`\<`T`\>
19
+ > `static` **exec**\<`T`\>(`key`, `ttlMs`, `requestMethod`, `cacheFailures?`): `Promise`\<`T`\> \| `undefined`
20
20
 
21
21
  Execute an async request and cache the result.
22
22
 
@@ -38,7 +38,7 @@ The key for the entry in the cache.
38
38
 
39
39
  The TTL of the entry in the cache.
40
40
 
41
- `undefined` | `number`
41
+ `number` | `undefined`
42
42
 
43
43
  ##### requestMethod
44
44
 
@@ -54,7 +54,7 @@ Cache failure results, defaults to false.
54
54
 
55
55
  #### Returns
56
56
 
57
- `undefined` \| `Promise`\<`T`\>
57
+ `Promise`\<`T`\> \| `undefined`
58
58
 
59
59
  The response.
60
60
 
@@ -62,7 +62,7 @@ The response.
62
62
 
63
63
  ### get()
64
64
 
65
- > `static` **get**\<`T`\>(`key`): `Promise`\<`undefined` \| `T`\>
65
+ > `static` **get**\<`T`\>(`key`): `Promise`\<`T` \| `undefined`\>
66
66
 
67
67
  Get an entry from the cache.
68
68
 
@@ -82,7 +82,7 @@ The key to get from the cache.
82
82
 
83
83
  #### Returns
84
84
 
85
- `Promise`\<`undefined` \| `T`\>
85
+ `Promise`\<`T` \| `undefined`\>
86
86
 
87
87
  The item from the cache if it exists.
88
88
 
@@ -12,6 +12,14 @@ Class to help with base63 Encoding/Decoding.
12
12
 
13
13
  `Base32`
14
14
 
15
+ ## Properties
16
+
17
+ ### CLASS\_NAME
18
+
19
+ > `readonly` `static` **CLASS\_NAME**: `string`
20
+
21
+ Runtime name for the class.
22
+
15
23
  ## Methods
16
24
 
17
25
  ### decode()
@@ -12,6 +12,14 @@ Class to help with base58 Encoding/Decoding.
12
12
 
13
13
  `Base58`
14
14
 
15
+ ## Properties
16
+
17
+ ### CLASS\_NAME
18
+
19
+ > `readonly` `static` **CLASS\_NAME**: `string`
20
+
21
+ Runtime name for the class.
22
+
15
23
  ## Methods
16
24
 
17
25
  ### decode()
@@ -13,6 +13,14 @@ Sourced from https://github.com/beatgammit/base64-js.
13
13
 
14
14
  `Base64`
15
15
 
16
+ ## Properties
17
+
18
+ ### CLASS\_NAME
19
+
20
+ > `readonly` `static` **CLASS\_NAME**: `string`
21
+
22
+ Runtime name for the class.
23
+
16
24
  ## Methods
17
25
 
18
26
  ### byteLength()
@@ -13,6 +13,14 @@ https://www.rfc-editor.org/rfc/rfc4648#section-5.
13
13
 
14
14
  `Base64Url`
15
15
 
16
+ ## Properties
17
+
18
+ ### CLASS\_NAME
19
+
20
+ > `readonly` `static` **CLASS\_NAME**: `string`
21
+
22
+ Runtime name for the class.
23
+
16
24
  ## Methods
17
25
 
18
26
  ### decode()
@@ -161,7 +161,7 @@ The list of all internal errors.
161
161
 
162
162
  ### expand()
163
163
 
164
- > `static` **expand**(`errors`): `undefined` \| [`IError`](../interfaces/IError.md)
164
+ > `static` **expand**(`errors`): [`IError`](../interfaces/IError.md) \| `undefined`
165
165
 
166
166
  Expand an error tree.
167
167
 
@@ -171,11 +171,11 @@ Expand an error tree.
171
171
 
172
172
  The list of errors to expand.
173
173
 
174
- `undefined` | [`IError`](../interfaces/IError.md)[]
174
+ [`IError`](../interfaces/IError.md)[] | `undefined`
175
175
 
176
176
  #### Returns
177
177
 
178
- `undefined` \| [`IError`](../interfaces/IError.md)
178
+ [`IError`](../interfaces/IError.md) \| `undefined`
179
179
 
180
180
  The first level error.
181
181
 
@@ -22,6 +22,14 @@ The length of the bit string.
22
22
 
23
23
  `BitString`
24
24
 
25
+ ## Properties
26
+
27
+ ### CLASS\_NAME
28
+
29
+ > `readonly` `static` **CLASS\_NAME**: `string`
30
+
31
+ Runtime name for the class.
32
+
25
33
  ## Methods
26
34
 
27
35
  ### fromBits()