@twin.org/core 0.0.1-next.1

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 (103) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +29 -0
  3. package/dist/cjs/index.cjs +4221 -0
  4. package/dist/esm/index.mjs +4184 -0
  5. package/dist/types/encoding/base32.d.ts +18 -0
  6. package/dist/types/encoding/base64.d.ts +24 -0
  7. package/dist/types/encoding/base64Url.d.ts +18 -0
  8. package/dist/types/errors/alreadyExistsError.d.ts +18 -0
  9. package/dist/types/errors/baseError.d.ts +103 -0
  10. package/dist/types/errors/conflictError.d.ts +19 -0
  11. package/dist/types/errors/generalError.d.ts +20 -0
  12. package/dist/types/errors/guardError.d.ts +19 -0
  13. package/dist/types/errors/notFoundError.d.ts +18 -0
  14. package/dist/types/errors/notImplementedError.d.ts +16 -0
  15. package/dist/types/errors/notSupportedError.d.ts +17 -0
  16. package/dist/types/errors/unauthorizedError.d.ts +17 -0
  17. package/dist/types/errors/unprocessableError.d.ts +20 -0
  18. package/dist/types/errors/validationError.d.ts +18 -0
  19. package/dist/types/factories/componentFactory.d.ts +6 -0
  20. package/dist/types/factories/factory.d.ts +67 -0
  21. package/dist/types/helpers/arrayHelper.d.ts +12 -0
  22. package/dist/types/helpers/errorHelper.d.ts +24 -0
  23. package/dist/types/helpers/filenameHelper.d.ts +11 -0
  24. package/dist/types/helpers/hexHelper.d.ts +30 -0
  25. package/dist/types/helpers/jsonHelper.d.ts +29 -0
  26. package/dist/types/helpers/objectHelper.d.ts +74 -0
  27. package/dist/types/helpers/randomHelper.d.ts +11 -0
  28. package/dist/types/helpers/stringHelper.d.ts +90 -0
  29. package/dist/types/index.d.ts +46 -0
  30. package/dist/types/models/IComponent.d.ts +29 -0
  31. package/dist/types/models/IError.d.ts +31 -0
  32. package/dist/types/models/IKeyValue.d.ts +13 -0
  33. package/dist/types/models/ILabelledValue.d.ts +13 -0
  34. package/dist/types/models/ILocale.d.ts +13 -0
  35. package/dist/types/models/ILocaleDictionary.d.ts +6 -0
  36. package/dist/types/models/ILocalesIndex.d.ts +10 -0
  37. package/dist/types/models/IPatchOperation.d.ts +21 -0
  38. package/dist/types/models/IUrlParts.d.ts +29 -0
  39. package/dist/types/models/IValidationFailure.d.ts +23 -0
  40. package/dist/types/models/compressionType.d.ts +17 -0
  41. package/dist/types/types/bitString.d.ts +41 -0
  42. package/dist/types/types/url.d.ts +56 -0
  43. package/dist/types/types/urn.d.ts +93 -0
  44. package/dist/types/utils/asyncCache.d.ts +33 -0
  45. package/dist/types/utils/coerce.d.ts +61 -0
  46. package/dist/types/utils/compression.d.ts +20 -0
  47. package/dist/types/utils/converter.d.ts +85 -0
  48. package/dist/types/utils/guards.d.ts +190 -0
  49. package/dist/types/utils/i18n.d.ts +81 -0
  50. package/dist/types/utils/is.d.ts +205 -0
  51. package/dist/types/utils/validation.d.ts +245 -0
  52. package/docs/changelog.md +5 -0
  53. package/docs/examples.md +1 -0
  54. package/docs/reference/classes/AlreadyExistsError.md +375 -0
  55. package/docs/reference/classes/ArrayHelper.md +37 -0
  56. package/docs/reference/classes/AsyncCache.md +117 -0
  57. package/docs/reference/classes/Base32.md +57 -0
  58. package/docs/reference/classes/Base64.md +74 -0
  59. package/docs/reference/classes/Base64Url.md +54 -0
  60. package/docs/reference/classes/BaseError.md +344 -0
  61. package/docs/reference/classes/BitString.md +123 -0
  62. package/docs/reference/classes/Coerce.md +209 -0
  63. package/docs/reference/classes/Compression.md +61 -0
  64. package/docs/reference/classes/ConflictError.md +379 -0
  65. package/docs/reference/classes/Converter.md +285 -0
  66. package/docs/reference/classes/ErrorHelper.md +73 -0
  67. package/docs/reference/classes/Factory.md +221 -0
  68. package/docs/reference/classes/FilenameHelper.md +33 -0
  69. package/docs/reference/classes/GeneralError.md +375 -0
  70. package/docs/reference/classes/GuardError.md +379 -0
  71. package/docs/reference/classes/Guards.md +711 -0
  72. package/docs/reference/classes/HexHelper.md +97 -0
  73. package/docs/reference/classes/I18n.md +237 -0
  74. package/docs/reference/classes/Is.md +693 -0
  75. package/docs/reference/classes/JsonHelper.md +92 -0
  76. package/docs/reference/classes/NotFoundError.md +375 -0
  77. package/docs/reference/classes/NotImplementedError.md +367 -0
  78. package/docs/reference/classes/NotSupportedError.md +371 -0
  79. package/docs/reference/classes/ObjectHelper.md +287 -0
  80. package/docs/reference/classes/RandomHelper.md +33 -0
  81. package/docs/reference/classes/StringHelper.md +270 -0
  82. package/docs/reference/classes/UnauthorizedError.md +371 -0
  83. package/docs/reference/classes/UnprocessableError.md +375 -0
  84. package/docs/reference/classes/Url.md +167 -0
  85. package/docs/reference/classes/Urn.md +295 -0
  86. package/docs/reference/classes/Validation.md +821 -0
  87. package/docs/reference/classes/ValidationError.md +371 -0
  88. package/docs/reference/index.md +60 -0
  89. package/docs/reference/interfaces/IComponent.md +79 -0
  90. package/docs/reference/interfaces/IError.md +55 -0
  91. package/docs/reference/interfaces/IKeyValue.md +23 -0
  92. package/docs/reference/interfaces/ILabelledValue.md +23 -0
  93. package/docs/reference/interfaces/ILocale.md +19 -0
  94. package/docs/reference/interfaces/ILocaleDictionary.md +7 -0
  95. package/docs/reference/interfaces/ILocalesIndex.md +11 -0
  96. package/docs/reference/interfaces/IPatchOperation.md +35 -0
  97. package/docs/reference/interfaces/IUrlParts.md +51 -0
  98. package/docs/reference/interfaces/IValidationFailure.md +39 -0
  99. package/docs/reference/type-aliases/CompressionType.md +5 -0
  100. package/docs/reference/variables/ComponentFactory.md +5 -0
  101. package/docs/reference/variables/CompressionType.md +19 -0
  102. package/locales/en.json +98 -0
  103. package/package.json +65 -0
@@ -0,0 +1,221 @@
1
+ # Class: Factory\<T\>
2
+
3
+ Factory for creating implementation of generic types.
4
+
5
+ ## Type Parameters
6
+
7
+ • **T**
8
+
9
+ ## Methods
10
+
11
+ ### createFactory()
12
+
13
+ > `static` **createFactory**\<`U`\>(`typeName`, `autoInstance`, `matcher`?): [`Factory`](Factory.md)\<`U`\>
14
+
15
+ Create a new factory, which is shared throughout all library instances.
16
+
17
+ #### Type Parameters
18
+
19
+ • **U**
20
+
21
+ #### Parameters
22
+
23
+ • **typeName**: `string`
24
+
25
+ The type name for the instances.
26
+
27
+ • **autoInstance**: `boolean` = `false`
28
+
29
+ Automatically create an instance when registered.
30
+
31
+ • **matcher?**
32
+
33
+ Match the name of the instance.
34
+
35
+ #### Returns
36
+
37
+ [`Factory`](Factory.md)\<`U`\>
38
+
39
+ The factory instance.
40
+
41
+ ***
42
+
43
+ ### register()
44
+
45
+ > **register**\<`U`\>(`name`, `generator`): `void`
46
+
47
+ Register a new generator.
48
+
49
+ #### Type Parameters
50
+
51
+ • **U**
52
+
53
+ #### Parameters
54
+
55
+ • **name**: `string`
56
+
57
+ The name of the generator.
58
+
59
+ • **generator**
60
+
61
+ The function to create an instance.
62
+
63
+ #### Returns
64
+
65
+ `void`
66
+
67
+ ***
68
+
69
+ ### unregister()
70
+
71
+ > **unregister**(`name`): `void`
72
+
73
+ Unregister a generator.
74
+
75
+ #### Parameters
76
+
77
+ • **name**: `string`
78
+
79
+ The name of the generator to unregister.
80
+
81
+ #### Returns
82
+
83
+ `void`
84
+
85
+ #### Throws
86
+
87
+ GuardError if the parameters are invalid.
88
+
89
+ #### Throws
90
+
91
+ GeneralError if no generator exists.
92
+
93
+ ***
94
+
95
+ ### get()
96
+
97
+ > **get**\<`U`\>(`name`): `U`
98
+
99
+ Get a generator instance.
100
+
101
+ #### Type Parameters
102
+
103
+ • **U**
104
+
105
+ #### Parameters
106
+
107
+ • **name**: `string`
108
+
109
+ The name of the instance to generate.
110
+
111
+ #### Returns
112
+
113
+ `U`
114
+
115
+ An instance of the item.
116
+
117
+ #### Throws
118
+
119
+ GuardError if the parameters are invalid.
120
+
121
+ #### Throws
122
+
123
+ GeneralError if no item exists to get.
124
+
125
+ ***
126
+
127
+ ### getIfExists()
128
+
129
+ > **getIfExists**\<`U`\>(`name`): `undefined` \| `U`
130
+
131
+ Get a generator instance with no exceptions.
132
+
133
+ #### Type Parameters
134
+
135
+ • **U**
136
+
137
+ #### Parameters
138
+
139
+ • **name**: `string`
140
+
141
+ The name of the instance to generate.
142
+
143
+ #### Returns
144
+
145
+ `undefined` \| `U`
146
+
147
+ An instance of the item or undefined if it does not exist.
148
+
149
+ ***
150
+
151
+ ### reset()
152
+
153
+ > **reset**(): `void`
154
+
155
+ Reset all the instances.
156
+
157
+ #### Returns
158
+
159
+ `void`
160
+
161
+ ***
162
+
163
+ ### instancesMap()
164
+
165
+ > **instancesMap**(): `object`
166
+
167
+ Get all the instances as a map.
168
+
169
+ #### Returns
170
+
171
+ `object`
172
+
173
+ The instances as a map.
174
+
175
+ ***
176
+
177
+ ### instancesList()
178
+
179
+ > **instancesList**(): `T`[]
180
+
181
+ Get all the instances as a list in the order they were registered.
182
+
183
+ #### Returns
184
+
185
+ `T`[]
186
+
187
+ The instances as a list in the order they were registered.
188
+
189
+ ***
190
+
191
+ ### names()
192
+
193
+ > **names**(): `string`[]
194
+
195
+ Get all the generator names in the order they were registered.
196
+
197
+ #### Returns
198
+
199
+ `string`[]
200
+
201
+ The ordered generator names.
202
+
203
+ ***
204
+
205
+ ### hasName()
206
+
207
+ > **hasName**(`name`): `boolean`
208
+
209
+ Does the factory contain the name.
210
+
211
+ #### Parameters
212
+
213
+ • **name**: `string`
214
+
215
+ The name of the instance to find.
216
+
217
+ #### Returns
218
+
219
+ `boolean`
220
+
221
+ True if the factory has a matching name.
@@ -0,0 +1,33 @@
1
+ # Class: FilenameHelper
2
+
3
+ Class to help with filenames.
4
+
5
+ ## Constructors
6
+
7
+ ### new FilenameHelper()
8
+
9
+ > **new FilenameHelper**(): [`FilenameHelper`](FilenameHelper.md)
10
+
11
+ #### Returns
12
+
13
+ [`FilenameHelper`](FilenameHelper.md)
14
+
15
+ ## Methods
16
+
17
+ ### safeFilename()
18
+
19
+ > `static` **safeFilename**(`filename`): `string`
20
+
21
+ Replaces any unsafe characters in the filename.
22
+
23
+ #### Parameters
24
+
25
+ • **filename**: `unknown`
26
+
27
+ The filename to make safe.
28
+
29
+ #### Returns
30
+
31
+ `string`
32
+
33
+ The safe filename.
@@ -0,0 +1,375 @@
1
+ # Class: GeneralError
2
+
3
+ Class to handle errors.
4
+
5
+ ## Extends
6
+
7
+ - [`BaseError`](BaseError.md)
8
+
9
+ ## Constructors
10
+
11
+ ### new GeneralError()
12
+
13
+ > **new GeneralError**(`source`, `message`, `properties`?, `inner`?): [`GeneralError`](GeneralError.md)
14
+
15
+ Create a new instance of GeneralError.
16
+
17
+ #### Parameters
18
+
19
+ • **source**: `string`
20
+
21
+ The source of the error.
22
+
23
+ • **message**: `string`
24
+
25
+ The message as a code.
26
+
27
+ • **properties?**
28
+
29
+ Any additional information for the error.
30
+
31
+ • **inner?**: `unknown`
32
+
33
+ The inner error if we have wrapped another error.
34
+
35
+ #### Returns
36
+
37
+ [`GeneralError`](GeneralError.md)
38
+
39
+ #### Overrides
40
+
41
+ [`BaseError`](BaseError.md).[`constructor`](BaseError.md#constructors)
42
+
43
+ ## Properties
44
+
45
+ ### source?
46
+
47
+ > `optional` **source**: `string`
48
+
49
+ The source of the error.
50
+
51
+ #### Inherited from
52
+
53
+ [`BaseError`](BaseError.md).[`source`](BaseError.md#source)
54
+
55
+ ***
56
+
57
+ ### properties?
58
+
59
+ > `optional` **properties**: `object`
60
+
61
+ Any additional information for the error.
62
+
63
+ #### Index Signature
64
+
65
+ \[`id`: `string`\]: `unknown`
66
+
67
+ #### Inherited from
68
+
69
+ [`BaseError`](BaseError.md).[`properties`](BaseError.md#properties)
70
+
71
+ ***
72
+
73
+ ### inner?
74
+
75
+ > `optional` **inner**: [`IError`](../interfaces/IError.md)
76
+
77
+ The inner error if there was one.
78
+
79
+ #### Inherited from
80
+
81
+ [`BaseError`](BaseError.md).[`inner`](BaseError.md#inner)
82
+
83
+ ***
84
+
85
+ ### CLASS\_NAME
86
+
87
+ > `readonly` `static` **CLASS\_NAME**: `string`
88
+
89
+ Runtime name for the class.
90
+
91
+ ## Methods
92
+
93
+ ### fromError()
94
+
95
+ > `static` **fromError**(`err`): [`BaseError`](BaseError.md)
96
+
97
+ Construct an error from an existing one.
98
+
99
+ #### Parameters
100
+
101
+ • **err**: `unknown`
102
+
103
+ The existing error.
104
+
105
+ #### Returns
106
+
107
+ [`BaseError`](BaseError.md)
108
+
109
+ The new instance.
110
+
111
+ #### Inherited from
112
+
113
+ [`BaseError`](BaseError.md).[`fromError`](BaseError.md#fromerror)
114
+
115
+ ***
116
+
117
+ ### flatten()
118
+
119
+ > `static` **flatten**(`err`): [`IError`](../interfaces/IError.md)[]
120
+
121
+ Flatten an error tree.
122
+
123
+ #### Parameters
124
+
125
+ • **err**: `unknown`
126
+
127
+ The starting error.
128
+
129
+ #### Returns
130
+
131
+ [`IError`](../interfaces/IError.md)[]
132
+
133
+ The list of all internal errors.
134
+
135
+ #### Inherited from
136
+
137
+ [`BaseError`](BaseError.md).[`flatten`](BaseError.md#flatten)
138
+
139
+ ***
140
+
141
+ ### expand()
142
+
143
+ > `static` **expand**(`errors`): `undefined` \| [`IError`](../interfaces/IError.md)
144
+
145
+ Expand an error tree.
146
+
147
+ #### Parameters
148
+
149
+ • **errors**: `undefined` \| [`IError`](../interfaces/IError.md)[]
150
+
151
+ The list of errors to expand.
152
+
153
+ #### Returns
154
+
155
+ `undefined` \| [`IError`](../interfaces/IError.md)
156
+
157
+ The first level error.
158
+
159
+ #### Inherited from
160
+
161
+ [`BaseError`](BaseError.md).[`expand`](BaseError.md#expand)
162
+
163
+ ***
164
+
165
+ ### isErrorName()
166
+
167
+ > `static` **isErrorName**(`error`, `name`): `error is BaseError`
168
+
169
+ Test to see if the error has the specified error name.
170
+
171
+ #### Parameters
172
+
173
+ • **error**: `unknown`
174
+
175
+ The error to test.
176
+
177
+ • **name**: `string` \| `RegExp`
178
+
179
+ The name to check for.
180
+
181
+ #### Returns
182
+
183
+ `error is BaseError`
184
+
185
+ True if the error has the name.
186
+
187
+ #### Inherited from
188
+
189
+ [`BaseError`](BaseError.md).[`isErrorName`](BaseError.md#iserrorname)
190
+
191
+ ***
192
+
193
+ ### isErrorMessage()
194
+
195
+ > `static` **isErrorMessage**(`error`, `message`): `error is BaseError`
196
+
197
+ Test to see if the error has the specified error message.
198
+
199
+ #### Parameters
200
+
201
+ • **error**: `unknown`
202
+
203
+ The error to test.
204
+
205
+ • **message**: `string` \| `RegExp`
206
+
207
+ The message to check for.
208
+
209
+ #### Returns
210
+
211
+ `error is BaseError`
212
+
213
+ True if the error has the name.
214
+
215
+ #### Inherited from
216
+
217
+ [`BaseError`](BaseError.md).[`isErrorMessage`](BaseError.md#iserrormessage)
218
+
219
+ ***
220
+
221
+ ### isErrorCode()
222
+
223
+ > `static` **isErrorCode**(`error`, `code`): `boolean`
224
+
225
+ Test to see if the error has the specified error code.
226
+
227
+ #### Parameters
228
+
229
+ • **error**: `unknown`
230
+
231
+ The error to test.
232
+
233
+ • **code**: `string` \| `RegExp`
234
+
235
+ The code to check for.
236
+
237
+ #### Returns
238
+
239
+ `boolean`
240
+
241
+ True if the error has the code.
242
+
243
+ #### Inherited from
244
+
245
+ [`BaseError`](BaseError.md).[`isErrorCode`](BaseError.md#iserrorcode)
246
+
247
+ ***
248
+
249
+ ### someErrorName()
250
+
251
+ > `static` **someErrorName**(`error`, `name`): `error is BaseError`
252
+
253
+ Test to see if any of the errors or children have the given error name.
254
+
255
+ #### Parameters
256
+
257
+ • **error**: `unknown`
258
+
259
+ The error to test.
260
+
261
+ • **name**: `string` \| `RegExp`
262
+
263
+ The name to check for.
264
+
265
+ #### Returns
266
+
267
+ `error is BaseError`
268
+
269
+ True if the error has the name.
270
+
271
+ #### Inherited from
272
+
273
+ [`BaseError`](BaseError.md).[`someErrorName`](BaseError.md#someerrorname)
274
+
275
+ ***
276
+
277
+ ### someErrorMessage()
278
+
279
+ > `static` **someErrorMessage**(`error`, `message`): `error is BaseError`
280
+
281
+ Test to see if any of the errors or children have the given error message.
282
+
283
+ #### Parameters
284
+
285
+ • **error**: `unknown`
286
+
287
+ The error to test.
288
+
289
+ • **message**: `string` \| `RegExp`
290
+
291
+ The message to check for.
292
+
293
+ #### Returns
294
+
295
+ `error is BaseError`
296
+
297
+ True if the error has the name.
298
+
299
+ #### Inherited from
300
+
301
+ [`BaseError`](BaseError.md).[`someErrorMessage`](BaseError.md#someerrormessage)
302
+
303
+ ***
304
+
305
+ ### someErrorClass()
306
+
307
+ > `static` **someErrorClass**(`error`, `cls`): `error is BaseError`
308
+
309
+ Test to see if any of the errors or children are from a specific class.
310
+
311
+ #### Parameters
312
+
313
+ • **error**: `unknown`
314
+
315
+ The error to test.
316
+
317
+ • **cls**: `string`
318
+
319
+ The class to check for.
320
+
321
+ #### Returns
322
+
323
+ `error is BaseError`
324
+
325
+ True if the error has the specific class.
326
+
327
+ #### Inherited from
328
+
329
+ [`BaseError`](BaseError.md).[`someErrorClass`](BaseError.md#someerrorclass)
330
+
331
+ ***
332
+
333
+ ### someErrorCode()
334
+
335
+ > `static` **someErrorCode**(`error`, `code`): `error is BaseError`
336
+
337
+ Test to see if any of the errors or children have the given error code.
338
+
339
+ #### Parameters
340
+
341
+ • **error**: `unknown`
342
+
343
+ The error to test.
344
+
345
+ • **code**: `string` \| `RegExp`
346
+
347
+ The code to check for.
348
+
349
+ #### Returns
350
+
351
+ `error is BaseError`
352
+
353
+ True if the error has the name.
354
+
355
+ #### Inherited from
356
+
357
+ [`BaseError`](BaseError.md).[`someErrorCode`](BaseError.md#someerrorcode)
358
+
359
+ ***
360
+
361
+ ### toJsonObject()
362
+
363
+ > **toJsonObject**(): [`IError`](../interfaces/IError.md)
364
+
365
+ Serialize the error to the error model.
366
+
367
+ #### Returns
368
+
369
+ [`IError`](../interfaces/IError.md)
370
+
371
+ The error model.
372
+
373
+ #### Inherited from
374
+
375
+ [`BaseError`](BaseError.md).[`toJsonObject`](BaseError.md#tojsonobject)