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

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 (156) hide show
  1. package/README.md +1 -9
  2. package/dist/es/encoding/base32.js +1 -1
  3. package/dist/es/encoding/base32.js.map +1 -1
  4. package/dist/es/encoding/base64.js +1 -1
  5. package/dist/es/encoding/base64.js.map +1 -1
  6. package/dist/es/errors/alreadyExistsError.js +1 -1
  7. package/dist/es/errors/alreadyExistsError.js.map +1 -1
  8. package/dist/es/errors/baseError.js +1 -1
  9. package/dist/es/errors/baseError.js.map +1 -1
  10. package/dist/es/errors/conflictError.js +1 -1
  11. package/dist/es/errors/conflictError.js.map +1 -1
  12. package/dist/es/errors/generalError.js +1 -1
  13. package/dist/es/errors/generalError.js.map +1 -1
  14. package/dist/es/errors/guardError.js +1 -1
  15. package/dist/es/errors/guardError.js.map +1 -1
  16. package/dist/es/errors/notFoundError.js +1 -1
  17. package/dist/es/errors/notFoundError.js.map +1 -1
  18. package/dist/es/errors/notSupportedError.js +1 -1
  19. package/dist/es/errors/notSupportedError.js.map +1 -1
  20. package/dist/es/errors/unauthorizedError.js +2 -2
  21. package/dist/es/errors/unauthorizedError.js.map +1 -1
  22. package/dist/es/errors/unprocessableError.js +1 -1
  23. package/dist/es/errors/unprocessableError.js.map +1 -1
  24. package/dist/es/factories/factory.js +41 -0
  25. package/dist/es/factories/factory.js.map +1 -1
  26. package/dist/es/helpers/arrayHelper.js +2 -0
  27. package/dist/es/helpers/arrayHelper.js.map +1 -1
  28. package/dist/es/helpers/errorHelper.js +18 -14
  29. package/dist/es/helpers/errorHelper.js.map +1 -1
  30. package/dist/es/helpers/jsonHelper.js.map +1 -1
  31. package/dist/es/helpers/objectHelper.js +12 -36
  32. package/dist/es/helpers/objectHelper.js.map +1 -1
  33. package/dist/es/helpers/stringHelper.js +11 -0
  34. package/dist/es/helpers/stringHelper.js.map +1 -1
  35. package/dist/es/index.js +8 -1
  36. package/dist/es/index.js.map +1 -1
  37. package/dist/es/models/IComponent.js +0 -2
  38. package/dist/es/models/IComponent.js.map +1 -1
  39. package/dist/es/models/IError.js.map +1 -1
  40. package/dist/es/models/IHealth.js +2 -0
  41. package/dist/es/models/IHealth.js.map +1 -0
  42. package/dist/es/models/IMutexWorkerMessage.js +2 -0
  43. package/dist/es/models/IMutexWorkerMessage.js.map +1 -0
  44. package/dist/es/models/healthStatus.js +21 -0
  45. package/dist/es/models/healthStatus.js.map +1 -0
  46. package/dist/es/models/mutexMessageTypes.js +13 -0
  47. package/dist/es/models/mutexMessageTypes.js.map +1 -0
  48. package/dist/es/types/objectOrArray.js.map +1 -0
  49. package/dist/es/types/singleOccurrenceArray.js +2 -0
  50. package/dist/es/types/singleOccurrenceArray.js.map +1 -0
  51. package/dist/es/types/singleOccurrenceArrayDepthHelper.js +2 -0
  52. package/dist/es/types/singleOccurrenceArrayDepthHelper.js.map +1 -0
  53. package/dist/es/types/urn.js +1 -2
  54. package/dist/es/types/urn.js.map +1 -1
  55. package/dist/es/utils/asyncCache.js +236 -88
  56. package/dist/es/utils/asyncCache.js.map +1 -1
  57. package/dist/es/utils/guards.js.map +1 -1
  58. package/dist/es/utils/i18n.js.map +1 -1
  59. package/dist/es/utils/mutex.js +185 -0
  60. package/dist/es/utils/mutex.js.map +1 -0
  61. package/dist/types/encoding/base32.d.ts +1 -1
  62. package/dist/types/errors/alreadyExistsError.d.ts +1 -1
  63. package/dist/types/errors/baseError.d.ts +1 -1
  64. package/dist/types/errors/conflictError.d.ts +1 -1
  65. package/dist/types/errors/generalError.d.ts +1 -1
  66. package/dist/types/errors/guardError.d.ts +1 -1
  67. package/dist/types/errors/notFoundError.d.ts +1 -1
  68. package/dist/types/errors/notSupportedError.d.ts +1 -1
  69. package/dist/types/errors/unauthorizedError.d.ts +2 -2
  70. package/dist/types/errors/unprocessableError.d.ts +1 -1
  71. package/dist/types/factories/factory.d.ts +23 -1
  72. package/dist/types/helpers/arrayHelper.d.ts +1 -8
  73. package/dist/types/helpers/errorHelper.d.ts +11 -4
  74. package/dist/types/helpers/objectHelper.d.ts +18 -14
  75. package/dist/types/helpers/stringHelper.d.ts +6 -0
  76. package/dist/types/index.d.ts +8 -1
  77. package/dist/types/models/IComponent.d.ts +12 -0
  78. package/dist/types/models/IError.d.ts +1 -1
  79. package/dist/types/models/IHealth.d.ts +32 -0
  80. package/dist/types/models/IMutexWorkerMessage.d.ts +23 -0
  81. package/dist/types/models/healthStatus.d.ts +21 -0
  82. package/dist/types/models/mutexMessageTypes.d.ts +13 -0
  83. package/dist/types/types/singleOccurrenceArray.d.ts +6 -0
  84. package/dist/types/types/singleOccurrenceArrayDepthHelper.d.ts +4 -0
  85. package/dist/types/utils/asyncCache.d.ts +11 -3
  86. package/dist/types/utils/guards.d.ts +1 -1
  87. package/dist/types/utils/mutex.d.ts +53 -0
  88. package/docs/changelog.md +930 -218
  89. package/docs/examples.md +308 -1
  90. package/docs/reference/classes/AlreadyExistsError.md +36 -36
  91. package/docs/reference/classes/ArrayHelper.md +10 -44
  92. package/docs/reference/classes/AsyncCache.md +13 -12
  93. package/docs/reference/classes/Base32.md +4 -4
  94. package/docs/reference/classes/Base58.md +3 -3
  95. package/docs/reference/classes/Base64.md +4 -4
  96. package/docs/reference/classes/Base64Url.md +3 -3
  97. package/docs/reference/classes/BaseError.md +35 -35
  98. package/docs/reference/classes/BitString.md +6 -6
  99. package/docs/reference/classes/Coerce.md +11 -11
  100. package/docs/reference/classes/Compression.md +3 -3
  101. package/docs/reference/classes/ConflictError.md +36 -36
  102. package/docs/reference/classes/Converter.md +18 -18
  103. package/docs/reference/classes/EnvHelper.md +1 -1
  104. package/docs/reference/classes/ErrorHelper.md +20 -10
  105. package/docs/reference/classes/Factory.md +112 -18
  106. package/docs/reference/classes/FilenameHelper.md +1 -1
  107. package/docs/reference/classes/GeneralError.md +36 -36
  108. package/docs/reference/classes/GuardError.md +36 -36
  109. package/docs/reference/classes/Guards.md +33 -33
  110. package/docs/reference/classes/HexHelper.md +6 -6
  111. package/docs/reference/classes/I18n.md +14 -14
  112. package/docs/reference/classes/Is.md +42 -42
  113. package/docs/reference/classes/JsonHelper.md +10 -10
  114. package/docs/reference/classes/Mutex.md +128 -0
  115. package/docs/reference/classes/NotFoundError.md +36 -36
  116. package/docs/reference/classes/NotImplementedError.md +35 -35
  117. package/docs/reference/classes/NotSupportedError.md +36 -36
  118. package/docs/reference/classes/NumberHelper.md +2 -2
  119. package/docs/reference/classes/ObjectHelper.md +135 -73
  120. package/docs/reference/classes/RandomHelper.md +8 -8
  121. package/docs/reference/classes/SharedStore.md +3 -3
  122. package/docs/reference/classes/StringHelper.md +45 -23
  123. package/docs/reference/classes/Uint8ArrayHelper.md +1 -1
  124. package/docs/reference/classes/UnauthorizedError.md +37 -37
  125. package/docs/reference/classes/UnprocessableError.md +36 -36
  126. package/docs/reference/classes/Url.md +8 -8
  127. package/docs/reference/classes/Urn.md +24 -24
  128. package/docs/reference/classes/Validation.md +25 -25
  129. package/docs/reference/classes/ValidationError.md +35 -35
  130. package/docs/reference/index.md +9 -0
  131. package/docs/reference/interfaces/IComponent.md +40 -4
  132. package/docs/reference/interfaces/IError.md +11 -11
  133. package/docs/reference/interfaces/IHealth.md +55 -0
  134. package/docs/reference/interfaces/II18nShared.md +4 -4
  135. package/docs/reference/interfaces/IKeyValue.md +2 -2
  136. package/docs/reference/interfaces/ILabelledValue.md +2 -2
  137. package/docs/reference/interfaces/ILocale.md +2 -2
  138. package/docs/reference/interfaces/ILocaleDictionary.md +1 -1
  139. package/docs/reference/interfaces/ILocalesIndex.md +1 -1
  140. package/docs/reference/interfaces/IMutexWorkerMessage.md +35 -0
  141. package/docs/reference/interfaces/IPatchOperation.md +6 -6
  142. package/docs/reference/interfaces/IUrlParts.md +9 -9
  143. package/docs/reference/interfaces/IValidationFailure.md +4 -4
  144. package/docs/reference/type-aliases/HealthStatus.md +5 -0
  145. package/docs/reference/type-aliases/MutexMessageTypes.md +5 -0
  146. package/docs/reference/type-aliases/SingleOccurrenceArray.md +15 -0
  147. package/docs/reference/type-aliases/SingleOccurrenceArrayDepthHelper.md +19 -0
  148. package/docs/reference/variables/CoerceType.md +10 -10
  149. package/docs/reference/variables/CompressionType.md +2 -2
  150. package/docs/reference/variables/HealthStatus.md +25 -0
  151. package/docs/reference/variables/MutexMessageTypes.md +13 -0
  152. package/locales/en.json +8 -1
  153. package/package.json +6 -6
  154. package/dist/es/models/objectOrArray.js.map +0 -1
  155. /package/dist/es/{models → types}/objectOrArray.js +0 -0
  156. /package/dist/types/{models → types}/objectOrArray.d.ts +0 -0
@@ -4,7 +4,7 @@ Model to describe the parts of a url.
4
4
 
5
5
  ## Properties
6
6
 
7
- ### schema
7
+ ### schema {#schema}
8
8
 
9
9
  > **schema**: `string`
10
10
 
@@ -12,7 +12,7 @@ The schema for the url.
12
12
 
13
13
  ***
14
14
 
15
- ### host
15
+ ### host {#host}
16
16
 
17
17
  > **host**: `string`
18
18
 
@@ -20,15 +20,15 @@ The host for the url.
20
20
 
21
21
  ***
22
22
 
23
- ### port?
23
+ ### port? {#port}
24
24
 
25
- > `optional` **port**: `number`
25
+ > `optional` **port?**: `number`
26
26
 
27
27
  The port for the url.
28
28
 
29
29
  ***
30
30
 
31
- ### path
31
+ ### path {#path}
32
32
 
33
33
  > **path**: `string`
34
34
 
@@ -36,16 +36,16 @@ The path for the url.
36
36
 
37
37
  ***
38
38
 
39
- ### params?
39
+ ### params? {#params}
40
40
 
41
- > `optional` **params**: `string`
41
+ > `optional` **params?**: `string`
42
42
 
43
43
  The params for the url.
44
44
 
45
45
  ***
46
46
 
47
- ### hash?
47
+ ### hash? {#hash}
48
48
 
49
- > `optional` **hash**: `string`
49
+ > `optional` **hash?**: `string`
50
50
 
51
51
  The hash for the url.
@@ -4,7 +4,7 @@ Interface describing the reason a validation failed.
4
4
 
5
5
  ## Properties
6
6
 
7
- ### property
7
+ ### property {#property}
8
8
 
9
9
  > **property**: `string`
10
10
 
@@ -12,7 +12,7 @@ The property that failed validation.
12
12
 
13
13
  ***
14
14
 
15
- ### reason
15
+ ### reason {#reason}
16
16
 
17
17
  > **reason**: `string`
18
18
 
@@ -20,9 +20,9 @@ The reason the validation failed as an i18 resource error.
20
20
 
21
21
  ***
22
22
 
23
- ### properties?
23
+ ### properties? {#properties}
24
24
 
25
- > `optional` **properties**: `object`
25
+ > `optional` **properties?**: `object`
26
26
 
27
27
  Additional properties for the validation failure.
28
28
 
@@ -0,0 +1,5 @@
1
+ # Type Alias: HealthStatus
2
+
3
+ > **HealthStatus** = *typeof* [`HealthStatus`](../variables/HealthStatus.md)\[keyof *typeof* [`HealthStatus`](../variables/HealthStatus.md)\]
4
+
5
+ The health status of the component.
@@ -0,0 +1,5 @@
1
+ # Type Alias: MutexMessageTypes
2
+
3
+ > **MutexMessageTypes** = *typeof* [`MutexMessageTypes`](../variables/MutexMessageTypes.md)\[keyof *typeof* [`MutexMessageTypes`](../variables/MutexMessageTypes.md)\]
4
+
5
+ Mutex message types.
@@ -0,0 +1,15 @@
1
+ # Type Alias: SingleOccurrenceArray\<T, U\>
2
+
3
+ > **SingleOccurrenceArray**\<`T`, `U`\> = [`SingleOccurrenceArrayDepthHelper`](SingleOccurrenceArrayDepthHelper.md)\<`T`, `U`, \[\]\>
4
+
5
+ Utility type to create a non-empty array with values of type T and exactly one value of type U.
6
+
7
+ ## Type Parameters
8
+
9
+ ### T
10
+
11
+ `T` = `unknown`
12
+
13
+ ### U
14
+
15
+ `U` = `never`
@@ -0,0 +1,19 @@
1
+ # Type Alias: SingleOccurrenceArrayDepthHelper\<T, U, Depth\>
2
+
3
+ > **SingleOccurrenceArrayDepthHelper**\<`T`, `U`, `Depth`\> = `Depth`\[`"length"`\] *extends* `16` ? \[`U`, `...T[]`\] : \[`U`, `...T[]`\] \| \[`T`, `...SingleOccurrenceArrayDepthHelper<T, U, [0, ...Depth]>`\]
4
+
5
+ Helper with bounded recursion depth to keep type instantiation tractable.
6
+
7
+ ## Type Parameters
8
+
9
+ ### T
10
+
11
+ `T`
12
+
13
+ ### U
14
+
15
+ `U`
16
+
17
+ ### Depth
18
+
19
+ `Depth` *extends* `0`[]
@@ -6,61 +6,61 @@ The types the extracted data can be coerced to.
6
6
 
7
7
  ## Type Declaration
8
8
 
9
- ### String
9
+ ### String {#string}
10
10
 
11
11
  > `readonly` **String**: `"string"` = `"string"`
12
12
 
13
13
  String.
14
14
 
15
- ### Number
15
+ ### Number {#number}
16
16
 
17
17
  > `readonly` **Number**: `"number"` = `"number"`
18
18
 
19
19
  Number.
20
20
 
21
- ### Integer
21
+ ### Integer {#integer}
22
22
 
23
23
  > `readonly` **Integer**: `"integer"` = `"integer"`
24
24
 
25
25
  Integer.
26
26
 
27
- ### Boolean
27
+ ### Boolean {#boolean}
28
28
 
29
29
  > `readonly` **Boolean**: `"boolean"` = `"boolean"`
30
30
 
31
31
  Boolean.
32
32
 
33
- ### BigInt
33
+ ### BigInt {#bigint}
34
34
 
35
35
  > `readonly` **BigInt**: `"bigint"` = `"bigint"`
36
36
 
37
37
  Big Integer.
38
38
 
39
- ### Date
39
+ ### Date {#date}
40
40
 
41
41
  > `readonly` **Date**: `"date"` = `"date"`
42
42
 
43
43
  Date.
44
44
 
45
- ### DateTime
45
+ ### DateTime {#datetime}
46
46
 
47
47
  > `readonly` **DateTime**: `"datetime"` = `"datetime"`
48
48
 
49
49
  Date Time.
50
50
 
51
- ### Time
51
+ ### Time {#time}
52
52
 
53
53
  > `readonly` **Time**: `"time"` = `"time"`
54
54
 
55
55
  Time.
56
56
 
57
- ### Object
57
+ ### Object {#object}
58
58
 
59
59
  > `readonly` **Object**: `"object"` = `"object"`
60
60
 
61
61
  Object.
62
62
 
63
- ### Uint8Array
63
+ ### Uint8Array {#uint8array}
64
64
 
65
65
  > `readonly` **Uint8Array**: `"uint8array"` = `"uint8array"`
66
66
 
@@ -6,13 +6,13 @@ Compression types.
6
6
 
7
7
  ## Type Declaration
8
8
 
9
- ### Gzip
9
+ ### Gzip {#gzip}
10
10
 
11
11
  > `readonly` **Gzip**: `"gzip"` = `"gzip"`
12
12
 
13
13
  Gzip.
14
14
 
15
- ### Deflate
15
+ ### Deflate {#deflate}
16
16
 
17
17
  > `readonly` **Deflate**: `"deflate"` = `"deflate"`
18
18
 
@@ -0,0 +1,25 @@
1
+ # Variable: HealthStatus
2
+
3
+ > `const` **HealthStatus**: `object`
4
+
5
+ The health status of the component.
6
+
7
+ ## Type Declaration
8
+
9
+ ### Ok {#ok}
10
+
11
+ > `readonly` **Ok**: `"ok"` = `"ok"`
12
+
13
+ OK.
14
+
15
+ ### Warning {#warning}
16
+
17
+ > `readonly` **Warning**: `"warning"` = `"warning"`
18
+
19
+ Warning.
20
+
21
+ ### Error {#error}
22
+
23
+ > `readonly` **Error**: `"error"` = `"error"`
24
+
25
+ Error.
@@ -0,0 +1,13 @@
1
+ # Variable: MutexMessageTypes
2
+
3
+ > `const` **MutexMessageTypes**: `object`
4
+
5
+ Mutex message types.
6
+
7
+ ## Type Declaration
8
+
9
+ ### GetBuffer {#getbuffer}
10
+
11
+ > `readonly` **GetBuffer**: `"twin:mutex:getBuffer"` = `"twin:mutex:getBuffer"`
12
+
13
+ Get buffer.
package/locales/en.json CHANGED
@@ -84,7 +84,8 @@
84
84
  },
85
85
  "factory": {
86
86
  "noUnregister": "There is no {typeName} registered with the name \"{name}\"",
87
- "noGet": "The requested {typeName} \"{name}\" does not exist in the factory"
87
+ "noGet": "The requested {typeName} \"{name}\" does not exist in the factory",
88
+ "noCreate": "The requested {typeName} \"{name}\" cannot be created by the factory, with params \"{params}\""
88
89
  },
89
90
  "bitString": {
90
91
  "outOfRange": "The index should be >= 0 and less than the length of the bit string, the index is \"{index}\" and the number of bit is \"{numberBits}\""
@@ -100,6 +101,12 @@
100
101
  },
101
102
  "jsonHelper": {
102
103
  "failedPatch": "Failed to patch the JSON object, patch index \"{index}\" failed"
104
+ },
105
+ "mutex": {
106
+ "lockNotFound": "The key \"{key}\" has no active lock",
107
+ "lockAlreadyReleased": "The key \"{key}\" is not currently locked",
108
+ "lockTimeout": "Failed to acquire lock for key \"{key}\" within the timeout of {timeout} milliseconds",
109
+ "bufferFetchFailed": "Failed to retrieve shared buffer for key \"{key}\" from the main thread"
103
110
  }
104
111
  },
105
112
  "errorNames": {
package/package.json CHANGED
@@ -1,10 +1,10 @@
1
1
  {
2
2
  "name": "@twin.org/core",
3
- "version": "0.0.3-next.9",
3
+ "version": "0.0.3",
4
4
  "description": "Helper methods/classes for data type checking/validation/guarding/error handling",
5
5
  "repository": {
6
6
  "type": "git",
7
- "url": "git+https://github.com/twinfoundation/framework.git",
7
+ "url": "git+https://github.com/iotaledger/framework.git",
8
8
  "directory": "packages/core"
9
9
  },
10
10
  "author": "martyn.janes@iota.org",
@@ -14,9 +14,9 @@
14
14
  "node": ">=20.0.0"
15
15
  },
16
16
  "dependencies": {
17
- "@twin.org/nameof": "0.0.3-next.9",
18
- "intl-messageformat": "10.7.18",
19
- "rfc6902": "5.1.2"
17
+ "@twin.org/nameof": "^0.0.3",
18
+ "intl-messageformat": "11.2.6",
19
+ "rfc6902": "5.2.0"
20
20
  },
21
21
  "main": "./dist/es/index.js",
22
22
  "types": "./dist/types/index.d.ts",
@@ -45,7 +45,7 @@
45
45
  "utilities"
46
46
  ],
47
47
  "bugs": {
48
- "url": "git+https://github.com/twinfoundation/framework/issues"
48
+ "url": "git+https://github.com/iotaledger/framework/issues"
49
49
  },
50
50
  "homepage": "https://twindev.org"
51
51
  }
@@ -1 +0,0 @@
1
- {"version":3,"file":"objectOrArray.js","sourceRoot":"","sources":["../../../src/models/objectOrArray.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\n/**\n * Object or array data type\n */\nexport type ObjectOrArray<T = unknown> = T | T[];\n"]}
File without changes
File without changes