@twin.org/core 0.0.3-next.2 → 0.0.3-next.21

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.
@@ -29,12 +29,21 @@ export declare class Factory<T> {
29
29
  * Clear all the factories, which removes anything registered with the factories.
30
30
  */
31
31
  static clearFactories(): void;
32
+ /**
33
+ * Get the type name of the factory.
34
+ * @returns The type name of the factory.
35
+ */
36
+ typeName(): string;
32
37
  /**
33
38
  * Register a new generator.
34
39
  * @param name The name of the generator.
35
40
  * @param generator The function to create an instance.
41
+ * @param options Options for the generator.
42
+ * @param options.isDefault Whether the generator is the default one i.e. should be the first generator.
36
43
  */
37
- register<U extends T>(name: string, generator: () => U): void;
44
+ register<U extends T>(name: string, generator: (args?: unknown) => U, options?: {
45
+ isDefault?: boolean;
46
+ }): void;
38
47
  /**
39
48
  * Unregister a generator.
40
49
  * @param name The name of the generator to unregister.
@@ -56,6 +65,23 @@ export declare class Factory<T> {
56
65
  * @returns An instance of the item or undefined if it does not exist.
57
66
  */
58
67
  getIfExists<U extends T>(name?: string): U | undefined;
68
+ /**
69
+ * Create a new instance without caching it.
70
+ * @param name The name of the instance to generate.
71
+ * @param args The arguments to pass to the generator.
72
+ * @returns A new instance of the item.
73
+ * @throws GuardError if the parameters are invalid.
74
+ * @throws GeneralError if no item exists to create.
75
+ */
76
+ create<U extends T>(name: string, args?: unknown): U;
77
+ /**
78
+ * Create a new instance without caching it if it exists.
79
+ * @param name The name of the instance to generate.
80
+ * @param args The arguments to pass to the generator.
81
+ * @returns A new instance of the item if it exists.
82
+ * @throws GuardError if the parameters are invalid.
83
+ */
84
+ createIfExists<U extends T>(name: string, args?: unknown): U | undefined;
59
85
  /**
60
86
  * Remove all the instances and leave the generators intact.
61
87
  */
@@ -2,10 +2,26 @@
2
2
  * Class to help with random generation.
3
3
  */
4
4
  export declare class RandomHelper {
5
+ /**
6
+ * Runtime name for the class.
7
+ */
8
+ static readonly CLASS_NAME: string;
5
9
  /**
6
10
  * Generate a new random array.
7
11
  * @param length The length of buffer to create.
8
12
  * @returns The random array.
9
13
  */
10
14
  static generate(length: number): Uint8Array;
15
+ /**
16
+ * Generate a new UUIDv7.
17
+ * @param format The format of the UUIDv7 string.
18
+ * @returns The UUIDv7 string.
19
+ */
20
+ static generateUuidV7(format?: "standard" | "compact"): string;
21
+ /**
22
+ * Extract the unix timestamp (ms) from a UUIDv7.
23
+ * @param uuid The UUIDv7 string.
24
+ * @returns The unix timestamp in milliseconds.
25
+ */
26
+ static uuidV7ExtractTimestamp(uuid: string): number;
11
27
  }
@@ -221,4 +221,13 @@ export declare class Guards {
221
221
  * @throws GuardError If the value does not match the assertion.
222
222
  */
223
223
  static email(source: string, property: string, value: unknown): asserts value is string;
224
+ /**
225
+ * Is the property a string containing uuidV7.
226
+ * @param source The source of the error.
227
+ * @param property The name of the property.
228
+ * @param value The value to test.
229
+ * @param format The format of the uuidV7, either standard or compact.
230
+ * @throws GuardError If the value does not match the assertion.
231
+ */
232
+ static uuidV7(source: string, property: string, value: unknown, format?: "standard" | "compact"): asserts value is string;
224
233
  }
@@ -220,4 +220,11 @@ export declare class Is {
220
220
  * @returns True if the object is a class, false otherwise.
221
221
  */
222
222
  static class<T = unknown>(obj: unknown): obj is new (...args: any[]) => T;
223
+ /**
224
+ * Is the value a uuidV7 string.
225
+ * @param value The value to test.
226
+ * @param format The format of the UUIDv7 string.
227
+ * @returns True if the value is a uuidV7 string.
228
+ */
229
+ static uuidV7(value: unknown, format?: "standard" | "compact"): value is string;
223
230
  }
package/docs/changelog.md CHANGED
@@ -1,5 +1,391 @@
1
1
  # @twin.org/core - Changelog
2
2
 
3
+ ## [0.0.3-next.21](https://github.com/twinfoundation/framework/compare/core-v0.0.3-next.20...core-v0.0.3-next.21) (2026-02-26)
4
+
5
+
6
+ ### Features
7
+
8
+ * add context id features ([#206](https://github.com/twinfoundation/framework/issues/206)) ([ef0d4ee](https://github.com/twinfoundation/framework/commit/ef0d4ee11a4f5fc6cc6f52a4958ce905c04ee13b))
9
+ * add factory.createIfExists ([aad5a53](https://github.com/twinfoundation/framework/commit/aad5a53cef1b1c2e04344ea46244d41e371dff9b))
10
+ * add guards arrayEndsWith and arrayStartsWith ([95d875e](https://github.com/twinfoundation/framework/commit/95d875ec8ccb4713c145fdde941d4cfedcec2ed3))
11
+ * add Is.class method ([4988205](https://github.com/twinfoundation/framework/commit/498820543e256a130b4888c958fe1d87ca865d7f))
12
+ * add isDefault option to factory registration ([a8a700b](https://github.com/twinfoundation/framework/commit/a8a700bb8ddaf7dd5097869a358b8fc5f7c40ce7))
13
+ * add objectHelper.split ([386830a](https://github.com/twinfoundation/framework/commit/386830a77f8e842a5b119be0983708e042c3b14b))
14
+ * add ObjectOrArray and ArrayHelper methods ([0ac9077](https://github.com/twinfoundation/framework/commit/0ac907764d64b38ad1b04b0e9c3027055b527559))
15
+ * add rsa cipher support ([7af6cc6](https://github.com/twinfoundation/framework/commit/7af6cc67512d3363bd4a2f2e87bd7733c2800147))
16
+ * add set method for async caches ([ba34b55](https://github.com/twinfoundation/framework/commit/ba34b55e651ad56ab8fc59e139e4af631c19cda0))
17
+ * add typeName method to factory ([699fcbd](https://github.com/twinfoundation/framework/commit/699fcbd1168228401ddb81fdacb959b8cdc4206a))
18
+ * add uuidv7 support ([#219](https://github.com/twinfoundation/framework/issues/219)) ([916c657](https://github.com/twinfoundation/framework/commit/916c657d270ce99fafe554233739fdd9ca28635b))
19
+ * add zlib/deflate mime types detection ([72c472b](https://github.com/twinfoundation/framework/commit/72c472b5a35a973e7109336f5b6cdd84dbb8bbcb))
20
+ * adding link header helper ([#225](https://github.com/twinfoundation/framework/issues/225)) ([703c072](https://github.com/twinfoundation/framework/commit/703c0725aceac6b6ec0c4fa729ef832d12fb3fd7))
21
+ * additional nameof operators ([a5aab60](https://github.com/twinfoundation/framework/commit/a5aab60bf66a86f1b7ff8af7c4f044cb03706d50))
22
+ * additional RSA methods and async ([1fceee2](https://github.com/twinfoundation/framework/commit/1fceee2d1248a24a7620846025fcf906495c07f4))
23
+ * async cache don't cache failures unless requested ([658ec4b](https://github.com/twinfoundation/framework/commit/658ec4b67a58a075de4702a3886d151e25ad3ddc))
24
+ * bump version ([c5354fa](https://github.com/twinfoundation/framework/commit/c5354fa906f4493c70f2642a9175a66780a10636))
25
+ * eslint migration to flat config ([74427d7](https://github.com/twinfoundation/framework/commit/74427d78d342167f7850e49ab87269326355befe))
26
+ * expand error params to accept properties ([032e9fd](https://github.com/twinfoundation/framework/commit/032e9fd1388e457cde32ca1005dfe014a5a9c077))
27
+ * factory create and integrity ([#235](https://github.com/twinfoundation/framework/issues/235)) ([9f98b99](https://github.com/twinfoundation/framework/commit/9f98b99daf46eb365346fae49cc4ffba63e74cb3))
28
+ * improve base error data extraction ([dccc933](https://github.com/twinfoundation/framework/commit/dccc93361a1544b41db0e7c126ff90e858d87960))
29
+ * improve error display in CLI ([94b6ca8](https://github.com/twinfoundation/framework/commit/94b6ca8bdcfe3ca7671c4095b436ea7bddaae98e))
30
+ * improve Is.function and ModuleHelper.getModuleMethod signatures ([ecf968b](https://github.com/twinfoundation/framework/commit/ecf968b02934b3676be4bf7cd2d1e7f8e7af6ce2))
31
+ * improve Is.function definition to retain types ([f20b6b0](https://github.com/twinfoundation/framework/commit/f20b6b0dd16e74b75dc359be72b05989305c6410))
32
+ * locales validation ([#197](https://github.com/twinfoundation/framework/issues/197)) ([55fdadb](https://github.com/twinfoundation/framework/commit/55fdadb13595ce0047f787bd1d4135d429a99f12))
33
+ * nodeIdentity optional in IComponent methods ([c78dc17](https://github.com/twinfoundation/framework/commit/c78dc17f4357d3e1ae40e415f468d3eae13e81f4))
34
+ * propagate includeStackTrace on error conversion ([8471cbb](https://github.com/twinfoundation/framework/commit/8471cbb71f8fc98247a0e92126c438c1a8b04d9b))
35
+ * propagate includeStackTrace on error conversion ([818337d](https://github.com/twinfoundation/framework/commit/818337d50d14bf5a7e8b3204649aa7527115cca9))
36
+ * relocate core packages from tools ([bcab8f3](https://github.com/twinfoundation/framework/commit/bcab8f3160442ea4fcaf442947462504f3d6a17d))
37
+ * simplify async set ([#121](https://github.com/twinfoundation/framework/issues/121)) ([2693c32](https://github.com/twinfoundation/framework/commit/2693c325266fd1a0aede6f1336c8b254c981a9ca))
38
+ * simplify StringHelper signature ([0390403](https://github.com/twinfoundation/framework/commit/039040344952f91ee3c671249bc0e1c8f3b38e17))
39
+ * support indexed properties set in objects ([b9c001d](https://github.com/twinfoundation/framework/commit/b9c001dc4614f6ff7486f4370735a553613d823a))
40
+ * update dependencies ([f3bd015](https://github.com/twinfoundation/framework/commit/f3bd015efd169196b7e0335f5cab876ba6ca1d75))
41
+ * urn random switched to using uuidv7 ([606c9a2](https://github.com/twinfoundation/framework/commit/606c9a2ed68a10fc7fc2bc5f93388c1b71033154))
42
+ * urn random switched to using uuidv7 ([6a29f8b](https://github.com/twinfoundation/framework/commit/6a29f8bd573d06992b7eaa027b1daf4c2a2e1e85))
43
+ * use cause instead of inner for errors ([1f4acc4](https://github.com/twinfoundation/framework/commit/1f4acc4d7a6b71a134d9547da9bf40de1e1e49da))
44
+ * use new shared store mechanism ([#131](https://github.com/twinfoundation/framework/issues/131)) ([934385b](https://github.com/twinfoundation/framework/commit/934385b2fbaf9f5c00a505ebf9d093bd5a425f55))
45
+
46
+
47
+ ### Dependencies
48
+
49
+ * The following workspace dependencies were updated
50
+ * dependencies
51
+ * @twin.org/nameof bumped from 0.0.3-next.20 to 0.0.3-next.21
52
+ * devDependencies
53
+ * @twin.org/nameof-transformer bumped from 0.0.3-next.20 to 0.0.3-next.21
54
+ * @twin.org/nameof-vitest-plugin bumped from 0.0.3-next.20 to 0.0.3-next.21
55
+
56
+ ## [0.0.3-next.20](https://github.com/twinfoundation/framework/compare/core-v0.0.3-next.19...core-v0.0.3-next.20) (2026-02-26)
57
+
58
+
59
+ ### Features
60
+
61
+ * add typeName method to factory ([699fcbd](https://github.com/twinfoundation/framework/commit/699fcbd1168228401ddb81fdacb959b8cdc4206a))
62
+
63
+
64
+ ### Dependencies
65
+
66
+ * The following workspace dependencies were updated
67
+ * dependencies
68
+ * @twin.org/nameof bumped from 0.0.3-next.19 to 0.0.3-next.20
69
+ * devDependencies
70
+ * @twin.org/nameof-transformer bumped from 0.0.3-next.19 to 0.0.3-next.20
71
+ * @twin.org/nameof-vitest-plugin bumped from 0.0.3-next.19 to 0.0.3-next.20
72
+
73
+ ## [0.0.3-next.19](https://github.com/twinfoundation/framework/compare/core-v0.0.3-next.18...core-v0.0.3-next.19) (2026-02-26)
74
+
75
+
76
+ ### Features
77
+
78
+ * add isDefault option to factory registration ([a8a700b](https://github.com/twinfoundation/framework/commit/a8a700bb8ddaf7dd5097869a358b8fc5f7c40ce7))
79
+
80
+
81
+ ### Dependencies
82
+
83
+ * The following workspace dependencies were updated
84
+ * dependencies
85
+ * @twin.org/nameof bumped from 0.0.3-next.18 to 0.0.3-next.19
86
+ * devDependencies
87
+ * @twin.org/nameof-transformer bumped from 0.0.3-next.18 to 0.0.3-next.19
88
+ * @twin.org/nameof-vitest-plugin bumped from 0.0.3-next.18 to 0.0.3-next.19
89
+
90
+ ## [0.0.3-next.18](https://github.com/twinfoundation/framework/compare/core-v0.0.3-next.17...core-v0.0.3-next.18) (2026-02-23)
91
+
92
+
93
+ ### Features
94
+
95
+ * add factory.createIfExists ([aad5a53](https://github.com/twinfoundation/framework/commit/aad5a53cef1b1c2e04344ea46244d41e371dff9b))
96
+
97
+
98
+ ### Dependencies
99
+
100
+ * The following workspace dependencies were updated
101
+ * dependencies
102
+ * @twin.org/nameof bumped from 0.0.3-next.17 to 0.0.3-next.18
103
+ * devDependencies
104
+ * @twin.org/nameof-transformer bumped from 0.0.3-next.17 to 0.0.3-next.18
105
+ * @twin.org/nameof-vitest-plugin bumped from 0.0.3-next.17 to 0.0.3-next.18
106
+
107
+ ## [0.0.3-next.17](https://github.com/twinfoundation/framework/compare/core-v0.0.3-next.16...core-v0.0.3-next.17) (2026-02-09)
108
+
109
+
110
+ ### Features
111
+
112
+ * factory create and integrity ([#235](https://github.com/twinfoundation/framework/issues/235)) ([9f98b99](https://github.com/twinfoundation/framework/commit/9f98b99daf46eb365346fae49cc4ffba63e74cb3))
113
+
114
+
115
+ ### Dependencies
116
+
117
+ * The following workspace dependencies were updated
118
+ * dependencies
119
+ * @twin.org/nameof bumped from 0.0.3-next.16 to 0.0.3-next.17
120
+ * devDependencies
121
+ * @twin.org/nameof-transformer bumped from 0.0.3-next.16 to 0.0.3-next.17
122
+ * @twin.org/nameof-vitest-plugin bumped from 0.0.3-next.16 to 0.0.3-next.17
123
+
124
+ ## [0.0.3-next.16](https://github.com/twinfoundation/framework/compare/core-v0.0.3-next.15...core-v0.0.3-next.16) (2026-02-06)
125
+
126
+
127
+ ### Features
128
+
129
+ * urn random switched to using uuidv7 ([606c9a2](https://github.com/twinfoundation/framework/commit/606c9a2ed68a10fc7fc2bc5f93388c1b71033154))
130
+
131
+
132
+ ### Dependencies
133
+
134
+ * The following workspace dependencies were updated
135
+ * dependencies
136
+ * @twin.org/nameof bumped from 0.0.3-next.15 to 0.0.3-next.16
137
+ * devDependencies
138
+ * @twin.org/nameof-transformer bumped from 0.0.3-next.15 to 0.0.3-next.16
139
+ * @twin.org/nameof-vitest-plugin bumped from 0.0.3-next.15 to 0.0.3-next.16
140
+
141
+ ## [0.0.3-next.15](https://github.com/twinfoundation/framework/compare/core-v0.0.3-next.14...core-v0.0.3-next.15) (2026-01-29)
142
+
143
+
144
+ ### Features
145
+
146
+ * urn random switched to using uuidv7 ([6a29f8b](https://github.com/twinfoundation/framework/commit/6a29f8bd573d06992b7eaa027b1daf4c2a2e1e85))
147
+
148
+
149
+ ### Dependencies
150
+
151
+ * The following workspace dependencies were updated
152
+ * dependencies
153
+ * @twin.org/nameof bumped from 0.0.3-next.14 to 0.0.3-next.15
154
+ * devDependencies
155
+ * @twin.org/nameof-transformer bumped from 0.0.3-next.14 to 0.0.3-next.15
156
+ * @twin.org/nameof-vitest-plugin bumped from 0.0.3-next.14 to 0.0.3-next.15
157
+
158
+ ## [0.0.3-next.14](https://github.com/twinfoundation/framework/compare/core-v0.0.3-next.13...core-v0.0.3-next.14) (2026-01-22)
159
+
160
+
161
+ ### Miscellaneous Chores
162
+
163
+ * **core:** Synchronize repo versions
164
+
165
+
166
+ ### Dependencies
167
+
168
+ * The following workspace dependencies were updated
169
+ * dependencies
170
+ * @twin.org/nameof bumped from 0.0.3-next.13 to 0.0.3-next.14
171
+ * devDependencies
172
+ * @twin.org/nameof-transformer bumped from 0.0.3-next.13 to 0.0.3-next.14
173
+ * @twin.org/nameof-vitest-plugin bumped from 0.0.3-next.13 to 0.0.3-next.14
174
+
175
+ ## [0.0.3-next.13](https://github.com/twinfoundation/framework/compare/core-v0.0.3-next.12...core-v0.0.3-next.13) (2026-01-08)
176
+
177
+
178
+ ### Miscellaneous Chores
179
+
180
+ * **core:** Synchronize repo versions
181
+
182
+
183
+ ### Dependencies
184
+
185
+ * The following workspace dependencies were updated
186
+ * dependencies
187
+ * @twin.org/nameof bumped from 0.0.3-next.12 to 0.0.3-next.13
188
+ * devDependencies
189
+ * @twin.org/nameof-transformer bumped from 0.0.3-next.12 to 0.0.3-next.13
190
+ * @twin.org/nameof-vitest-plugin bumped from 0.0.3-next.12 to 0.0.3-next.13
191
+
192
+ ## [0.0.3-next.12](https://github.com/twinfoundation/framework/compare/core-v0.0.3-next.11...core-v0.0.3-next.12) (2026-01-08)
193
+
194
+
195
+ ### Features
196
+
197
+ * adding link header helper ([#225](https://github.com/twinfoundation/framework/issues/225)) ([703c072](https://github.com/twinfoundation/framework/commit/703c0725aceac6b6ec0c4fa729ef832d12fb3fd7))
198
+
199
+
200
+ ### Dependencies
201
+
202
+ * The following workspace dependencies were updated
203
+ * dependencies
204
+ * @twin.org/nameof bumped from 0.0.3-next.11 to 0.0.3-next.12
205
+ * devDependencies
206
+ * @twin.org/nameof-transformer bumped from 0.0.3-next.11 to 0.0.3-next.12
207
+ * @twin.org/nameof-vitest-plugin bumped from 0.0.3-next.11 to 0.0.3-next.12
208
+
209
+ ## [0.0.3-next.11](https://github.com/twinfoundation/framework/compare/core-v0.0.3-next.10...core-v0.0.3-next.11) (2026-01-07)
210
+
211
+
212
+ ### Miscellaneous Chores
213
+
214
+ * **core:** Synchronize repo versions
215
+
216
+
217
+ ### Dependencies
218
+
219
+ * The following workspace dependencies were updated
220
+ * dependencies
221
+ * @twin.org/nameof bumped from 0.0.3-next.10 to 0.0.3-next.11
222
+ * devDependencies
223
+ * @twin.org/nameof-transformer bumped from 0.0.3-next.10 to 0.0.3-next.11
224
+ * @twin.org/nameof-vitest-plugin bumped from 0.0.3-next.10 to 0.0.3-next.11
225
+
226
+ ## [0.0.3-next.10](https://github.com/twinfoundation/framework/compare/core-v0.0.3-next.9...core-v0.0.3-next.10) (2026-01-07)
227
+
228
+
229
+ ### Miscellaneous Chores
230
+
231
+ * **core:** Synchronize repo versions
232
+
233
+
234
+ ### Dependencies
235
+
236
+ * The following workspace dependencies were updated
237
+ * dependencies
238
+ * @twin.org/nameof bumped from 0.0.3-next.9 to 0.0.3-next.10
239
+ * devDependencies
240
+ * @twin.org/nameof-transformer bumped from 0.0.3-next.9 to 0.0.3-next.10
241
+ * @twin.org/nameof-vitest-plugin bumped from 0.0.3-next.9 to 0.0.3-next.10
242
+
243
+ ## [0.0.3-next.9](https://github.com/twinfoundation/framework/compare/core-v0.0.3-next.8...core-v0.0.3-next.9) (2026-01-05)
244
+
245
+
246
+ ### Features
247
+
248
+ * add uuidv7 support ([#219](https://github.com/twinfoundation/framework/issues/219)) ([916c657](https://github.com/twinfoundation/framework/commit/916c657d270ce99fafe554233739fdd9ca28635b))
249
+
250
+
251
+ ### Dependencies
252
+
253
+ * The following workspace dependencies were updated
254
+ * dependencies
255
+ * @twin.org/nameof bumped from 0.0.3-next.8 to 0.0.3-next.9
256
+ * devDependencies
257
+ * @twin.org/nameof-transformer bumped from 0.0.3-next.8 to 0.0.3-next.9
258
+ * @twin.org/nameof-vitest-plugin bumped from 0.0.3-next.8 to 0.0.3-next.9
259
+
260
+ ## [0.0.3-next.8](https://github.com/twinfoundation/framework/compare/core-v0.0.3-next.7...core-v0.0.3-next.8) (2025-11-26)
261
+
262
+
263
+ ### Miscellaneous Chores
264
+
265
+ * **core:** Synchronize repo versions
266
+
267
+
268
+ ### Dependencies
269
+
270
+ * The following workspace dependencies were updated
271
+ * dependencies
272
+ * @twin.org/nameof bumped from 0.0.3-next.7 to 0.0.3-next.8
273
+ * devDependencies
274
+ * @twin.org/nameof-transformer bumped from 0.0.3-next.7 to 0.0.3-next.8
275
+ * @twin.org/nameof-vitest-plugin bumped from 0.0.3-next.7 to 0.0.3-next.8
276
+
277
+ ## [0.0.3-next.7](https://github.com/twinfoundation/framework/compare/core-v0.0.3-next.6...core-v0.0.3-next.7) (2025-11-25)
278
+
279
+
280
+ ### Features
281
+
282
+ * add context id features ([#206](https://github.com/twinfoundation/framework/issues/206)) ([ef0d4ee](https://github.com/twinfoundation/framework/commit/ef0d4ee11a4f5fc6cc6f52a4958ce905c04ee13b))
283
+ * add guards arrayEndsWith and arrayStartsWith ([95d875e](https://github.com/twinfoundation/framework/commit/95d875ec8ccb4713c145fdde941d4cfedcec2ed3))
284
+ * add Is.class method ([4988205](https://github.com/twinfoundation/framework/commit/498820543e256a130b4888c958fe1d87ca865d7f))
285
+ * add objectHelper.split ([386830a](https://github.com/twinfoundation/framework/commit/386830a77f8e842a5b119be0983708e042c3b14b))
286
+ * add ObjectOrArray and ArrayHelper methods ([0ac9077](https://github.com/twinfoundation/framework/commit/0ac907764d64b38ad1b04b0e9c3027055b527559))
287
+ * add rsa cipher support ([7af6cc6](https://github.com/twinfoundation/framework/commit/7af6cc67512d3363bd4a2f2e87bd7733c2800147))
288
+ * add set method for async caches ([ba34b55](https://github.com/twinfoundation/framework/commit/ba34b55e651ad56ab8fc59e139e4af631c19cda0))
289
+ * add zlib/deflate mime types detection ([72c472b](https://github.com/twinfoundation/framework/commit/72c472b5a35a973e7109336f5b6cdd84dbb8bbcb))
290
+ * additional nameof operators ([a5aab60](https://github.com/twinfoundation/framework/commit/a5aab60bf66a86f1b7ff8af7c4f044cb03706d50))
291
+ * additional RSA methods and async ([1fceee2](https://github.com/twinfoundation/framework/commit/1fceee2d1248a24a7620846025fcf906495c07f4))
292
+ * async cache don't cache failures unless requested ([658ec4b](https://github.com/twinfoundation/framework/commit/658ec4b67a58a075de4702a3886d151e25ad3ddc))
293
+ * eslint migration to flat config ([74427d7](https://github.com/twinfoundation/framework/commit/74427d78d342167f7850e49ab87269326355befe))
294
+ * expand error params to accept properties ([032e9fd](https://github.com/twinfoundation/framework/commit/032e9fd1388e457cde32ca1005dfe014a5a9c077))
295
+ * improve base error data extraction ([dccc933](https://github.com/twinfoundation/framework/commit/dccc93361a1544b41db0e7c126ff90e858d87960))
296
+ * improve error display in CLI ([94b6ca8](https://github.com/twinfoundation/framework/commit/94b6ca8bdcfe3ca7671c4095b436ea7bddaae98e))
297
+ * improve Is.function and ModuleHelper.getModuleMethod signatures ([ecf968b](https://github.com/twinfoundation/framework/commit/ecf968b02934b3676be4bf7cd2d1e7f8e7af6ce2))
298
+ * improve Is.function definition to retain types ([f20b6b0](https://github.com/twinfoundation/framework/commit/f20b6b0dd16e74b75dc359be72b05989305c6410))
299
+ * locales validation ([#197](https://github.com/twinfoundation/framework/issues/197)) ([55fdadb](https://github.com/twinfoundation/framework/commit/55fdadb13595ce0047f787bd1d4135d429a99f12))
300
+ * nodeIdentity optional in IComponent methods ([c78dc17](https://github.com/twinfoundation/framework/commit/c78dc17f4357d3e1ae40e415f468d3eae13e81f4))
301
+ * propagate includeStackTrace on error conversion ([8471cbb](https://github.com/twinfoundation/framework/commit/8471cbb71f8fc98247a0e92126c438c1a8b04d9b))
302
+ * propagate includeStackTrace on error conversion ([818337d](https://github.com/twinfoundation/framework/commit/818337d50d14bf5a7e8b3204649aa7527115cca9))
303
+ * relocate core packages from tools ([bcab8f3](https://github.com/twinfoundation/framework/commit/bcab8f3160442ea4fcaf442947462504f3d6a17d))
304
+ * simplify async set ([#121](https://github.com/twinfoundation/framework/issues/121)) ([2693c32](https://github.com/twinfoundation/framework/commit/2693c325266fd1a0aede6f1336c8b254c981a9ca))
305
+ * simplify StringHelper signature ([0390403](https://github.com/twinfoundation/framework/commit/039040344952f91ee3c671249bc0e1c8f3b38e17))
306
+ * support indexed properties set in objects ([b9c001d](https://github.com/twinfoundation/framework/commit/b9c001dc4614f6ff7486f4370735a553613d823a))
307
+ * update dependencies ([f3bd015](https://github.com/twinfoundation/framework/commit/f3bd015efd169196b7e0335f5cab876ba6ca1d75))
308
+ * use cause instead of inner for errors ([1f4acc4](https://github.com/twinfoundation/framework/commit/1f4acc4d7a6b71a134d9547da9bf40de1e1e49da))
309
+ * use new shared store mechanism ([#131](https://github.com/twinfoundation/framework/issues/131)) ([934385b](https://github.com/twinfoundation/framework/commit/934385b2fbaf9f5c00a505ebf9d093bd5a425f55))
310
+
311
+
312
+ ### Dependencies
313
+
314
+ * The following workspace dependencies were updated
315
+ * dependencies
316
+ * @twin.org/nameof bumped from 0.0.3-next.6 to 0.0.3-next.7
317
+ * devDependencies
318
+ * @twin.org/nameof-transformer bumped from 0.0.3-next.6 to 0.0.3-next.7
319
+ * @twin.org/nameof-vitest-plugin bumped from 0.0.3-next.6 to 0.0.3-next.7
320
+
321
+ ## [0.0.3-next.6](https://github.com/twinfoundation/framework/compare/core-v0.0.3-next.5...core-v0.0.3-next.6) (2025-11-25)
322
+
323
+
324
+ ### Miscellaneous Chores
325
+
326
+ * **core:** Synchronize repo versions
327
+
328
+
329
+ ### Dependencies
330
+
331
+ * The following workspace dependencies were updated
332
+ * dependencies
333
+ * @twin.org/nameof bumped from 0.0.3-next.5 to 0.0.3-next.6
334
+ * devDependencies
335
+ * @twin.org/nameof-transformer bumped from 0.0.3-next.5 to 0.0.3-next.6
336
+ * @twin.org/nameof-vitest-plugin bumped from 0.0.3-next.5 to 0.0.3-next.6
337
+
338
+ ## [0.0.3-next.5](https://github.com/twinfoundation/framework/compare/core-v0.0.3-next.4...core-v0.0.3-next.5) (2025-11-20)
339
+
340
+
341
+ ### Miscellaneous Chores
342
+
343
+ * **core:** Synchronize repo versions
344
+
345
+
346
+ ### Dependencies
347
+
348
+ * The following workspace dependencies were updated
349
+ * dependencies
350
+ * @twin.org/nameof bumped from 0.0.3-next.4 to 0.0.3-next.5
351
+ * devDependencies
352
+ * @twin.org/nameof-transformer bumped from 0.0.3-next.4 to 0.0.3-next.5
353
+ * @twin.org/nameof-vitest-plugin bumped from 0.0.3-next.4 to 0.0.3-next.5
354
+
355
+ ## [0.0.3-next.4](https://github.com/twinfoundation/framework/compare/core-v0.0.3-next.3...core-v0.0.3-next.4) (2025-11-13)
356
+
357
+
358
+ ### Miscellaneous Chores
359
+
360
+ * **core:** Synchronize repo versions
361
+
362
+
363
+ ### Dependencies
364
+
365
+ * The following workspace dependencies were updated
366
+ * dependencies
367
+ * @twin.org/nameof bumped from 0.0.3-next.3 to 0.0.3-next.4
368
+ * devDependencies
369
+ * @twin.org/nameof-transformer bumped from 0.0.3-next.3 to 0.0.3-next.4
370
+ * @twin.org/nameof-vitest-plugin bumped from 0.0.3-next.3 to 0.0.3-next.4
371
+
372
+ ## [0.0.3-next.3](https://github.com/twinfoundation/framework/compare/core-v0.0.3-next.2...core-v0.0.3-next.3) (2025-11-12)
373
+
374
+
375
+ ### Miscellaneous Chores
376
+
377
+ * **core:** Synchronize repo versions
378
+
379
+
380
+ ### Dependencies
381
+
382
+ * The following workspace dependencies were updated
383
+ * dependencies
384
+ * @twin.org/nameof bumped from 0.0.3-next.2 to 0.0.3-next.3
385
+ * devDependencies
386
+ * @twin.org/nameof-transformer bumped from 0.0.3-next.2 to 0.0.3-next.3
387
+ * @twin.org/nameof-vitest-plugin bumped from 0.0.3-next.2 to 0.0.3-next.3
388
+
3
389
  ## [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
390
 
5
391
 
@@ -96,9 +96,23 @@ Clear all the factories, which removes anything registered with the factories.
96
96
 
97
97
  ***
98
98
 
99
+ ### typeName()
100
+
101
+ > **typeName**(): `string`
102
+
103
+ Get the type name of the factory.
104
+
105
+ #### Returns
106
+
107
+ `string`
108
+
109
+ The type name of the factory.
110
+
111
+ ***
112
+
99
113
  ### register()
100
114
 
101
- > **register**\<`U`\>(`name`, `generator`): `void`
115
+ > **register**\<`U`\>(`name`, `generator`, `options?`): `void`
102
116
 
103
117
  Register a new generator.
104
118
 
@@ -118,10 +132,20 @@ The name of the generator.
118
132
 
119
133
  ##### generator
120
134
 
121
- () => `U`
135
+ (`args?`) => `U`
122
136
 
123
137
  The function to create an instance.
124
138
 
139
+ ##### options?
140
+
141
+ Options for the generator.
142
+
143
+ ###### isDefault?
144
+
145
+ `boolean`
146
+
147
+ Whether the generator is the default one i.e. should be the first generator.
148
+
125
149
  #### Returns
126
150
 
127
151
  `void`
@@ -220,6 +244,86 @@ An instance of the item or undefined if it does not exist.
220
244
 
221
245
  ***
222
246
 
247
+ ### create()
248
+
249
+ > **create**\<`U`\>(`name`, `args?`): `U`
250
+
251
+ Create a new instance without caching it.
252
+
253
+ #### Type Parameters
254
+
255
+ ##### U
256
+
257
+ `U`
258
+
259
+ #### Parameters
260
+
261
+ ##### name
262
+
263
+ `string`
264
+
265
+ The name of the instance to generate.
266
+
267
+ ##### args?
268
+
269
+ `unknown`
270
+
271
+ The arguments to pass to the generator.
272
+
273
+ #### Returns
274
+
275
+ `U`
276
+
277
+ A new instance of the item.
278
+
279
+ #### Throws
280
+
281
+ GuardError if the parameters are invalid.
282
+
283
+ #### Throws
284
+
285
+ GeneralError if no item exists to create.
286
+
287
+ ***
288
+
289
+ ### createIfExists()
290
+
291
+ > **createIfExists**\<`U`\>(`name`, `args?`): `U` \| `undefined`
292
+
293
+ Create a new instance without caching it if it exists.
294
+
295
+ #### Type Parameters
296
+
297
+ ##### U
298
+
299
+ `U`
300
+
301
+ #### Parameters
302
+
303
+ ##### name
304
+
305
+ `string`
306
+
307
+ The name of the instance to generate.
308
+
309
+ ##### args?
310
+
311
+ `unknown`
312
+
313
+ The arguments to pass to the generator.
314
+
315
+ #### Returns
316
+
317
+ `U` \| `undefined`
318
+
319
+ A new instance of the item if it exists.
320
+
321
+ #### Throws
322
+
323
+ GuardError if the parameters are invalid.
324
+
325
+ ***
326
+
223
327
  ### reset()
224
328
 
225
329
  > **reset**(): `void`
@@ -1031,3 +1031,45 @@ The value to test.
1031
1031
  #### Throws
1032
1032
 
1033
1033
  GuardError If the value does not match the assertion.
1034
+
1035
+ ***
1036
+
1037
+ ### uuidV7()
1038
+
1039
+ > `static` **uuidV7**(`source`, `property`, `value`, `format?`): `asserts value is string`
1040
+
1041
+ Is the property a string containing uuidV7.
1042
+
1043
+ #### Parameters
1044
+
1045
+ ##### source
1046
+
1047
+ `string`
1048
+
1049
+ The source of the error.
1050
+
1051
+ ##### property
1052
+
1053
+ `string`
1054
+
1055
+ The name of the property.
1056
+
1057
+ ##### value
1058
+
1059
+ `unknown`
1060
+
1061
+ The value to test.
1062
+
1063
+ ##### format?
1064
+
1065
+ The format of the uuidV7, either standard or compact.
1066
+
1067
+ `"standard"` | `"compact"`
1068
+
1069
+ #### Returns
1070
+
1071
+ `asserts value is string`
1072
+
1073
+ #### Throws
1074
+
1075
+ GuardError If the value does not match the assertion.