@twin.org/core 0.0.4-next.8 → 0.9.0-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 (119) hide show
  1. package/dist/es/encoding/base64.js +1 -1
  2. package/dist/es/encoding/base64.js.map +1 -1
  3. package/dist/es/errors/conflictError.js +1 -1
  4. package/dist/es/errors/conflictError.js.map +1 -1
  5. package/dist/es/errors/generalError.js +1 -1
  6. package/dist/es/errors/generalError.js.map +1 -1
  7. package/dist/es/errors/notImplementedError.js +1 -1
  8. package/dist/es/errors/notImplementedError.js.map +1 -1
  9. package/dist/es/errors/validationError.js +1 -1
  10. package/dist/es/errors/validationError.js.map +1 -1
  11. package/dist/es/helpers/arrayHelper.js +1 -1
  12. package/dist/es/helpers/arrayHelper.js.map +1 -1
  13. package/dist/es/helpers/errorHelper.js +1 -1
  14. package/dist/es/helpers/errorHelper.js.map +1 -1
  15. package/dist/es/helpers/jsonHelper.js +1 -1
  16. package/dist/es/helpers/jsonHelper.js.map +1 -1
  17. package/dist/es/helpers/objectHelper.js +2 -2
  18. package/dist/es/helpers/objectHelper.js.map +1 -1
  19. package/dist/es/helpers/stringHelper.js +2 -2
  20. package/dist/es/helpers/stringHelper.js.map +1 -1
  21. package/dist/es/index.js +7 -0
  22. package/dist/es/index.js.map +1 -1
  23. package/dist/es/models/IComponent.js.map +1 -1
  24. package/dist/es/models/IDuration.js +4 -0
  25. package/dist/es/models/IDuration.js.map +1 -0
  26. package/dist/es/models/ILocale.js.map +1 -1
  27. package/dist/es/models/ISharedObjectBufferOptions.js +4 -0
  28. package/dist/es/models/ISharedObjectBufferOptions.js.map +1 -0
  29. package/dist/es/models/ISharedObjectBufferWorkerMessage.js +2 -0
  30. package/dist/es/models/ISharedObjectBufferWorkerMessage.js.map +1 -0
  31. package/dist/es/models/IValidationFailure.js.map +1 -1
  32. package/dist/es/models/coerceType.js +5 -1
  33. package/dist/es/models/coerceType.js.map +1 -1
  34. package/dist/es/models/sharedObjectBufferMessageTypes.js +13 -0
  35. package/dist/es/models/sharedObjectBufferMessageTypes.js.map +1 -0
  36. package/dist/es/types/duration.js +184 -0
  37. package/dist/es/types/duration.js.map +1 -0
  38. package/dist/es/types/durationRegExp.js +4 -0
  39. package/dist/es/types/durationRegExp.js.map +1 -0
  40. package/dist/es/types/url.js +1 -0
  41. package/dist/es/types/url.js.map +1 -1
  42. package/dist/es/utils/asyncCache.js +1 -1
  43. package/dist/es/utils/asyncCache.js.map +1 -1
  44. package/dist/es/utils/coerce.js +34 -20
  45. package/dist/es/utils/coerce.js.map +1 -1
  46. package/dist/es/utils/compression.js +1 -1
  47. package/dist/es/utils/compression.js.map +1 -1
  48. package/dist/es/utils/guards.js +12 -0
  49. package/dist/es/utils/guards.js.map +1 -1
  50. package/dist/es/utils/is.js +65 -16
  51. package/dist/es/utils/is.js.map +1 -1
  52. package/dist/es/utils/mutex.js +49 -8
  53. package/dist/es/utils/mutex.js.map +1 -1
  54. package/dist/es/utils/sharedObjectBuffer.js +308 -0
  55. package/dist/es/utils/sharedObjectBuffer.js.map +1 -0
  56. package/dist/es/utils/sharedStore.js +2 -2
  57. package/dist/es/utils/sharedStore.js.map +1 -1
  58. package/dist/types/errors/conflictError.d.ts +1 -1
  59. package/dist/types/errors/generalError.d.ts +1 -1
  60. package/dist/types/errors/notImplementedError.d.ts +1 -1
  61. package/dist/types/errors/validationError.d.ts +1 -1
  62. package/dist/types/helpers/arrayHelper.d.ts +1 -1
  63. package/dist/types/helpers/errorHelper.d.ts +1 -1
  64. package/dist/types/helpers/jsonHelper.d.ts +1 -1
  65. package/dist/types/helpers/objectHelper.d.ts +2 -2
  66. package/dist/types/helpers/stringHelper.d.ts +2 -2
  67. package/dist/types/index.d.ts +7 -0
  68. package/dist/types/models/IComponent.d.ts +2 -2
  69. package/dist/types/models/IDuration.d.ts +45 -0
  70. package/dist/types/models/ILocale.d.ts +1 -1
  71. package/dist/types/models/ISharedObjectBufferOptions.d.ts +17 -0
  72. package/dist/types/models/ISharedObjectBufferWorkerMessage.d.ts +29 -0
  73. package/dist/types/models/IValidationFailure.d.ts +1 -1
  74. package/dist/types/models/coerceType.d.ts +4 -0
  75. package/dist/types/models/sharedObjectBufferMessageTypes.d.ts +13 -0
  76. package/dist/types/types/duration.d.ts +29 -0
  77. package/dist/types/types/durationRegExp.d.ts +1 -0
  78. package/dist/types/types/url.d.ts +1 -0
  79. package/dist/types/utils/asyncCache.d.ts +1 -1
  80. package/dist/types/utils/coerce.d.ts +19 -20
  81. package/dist/types/utils/compression.d.ts +1 -1
  82. package/dist/types/utils/guards.d.ts +9 -0
  83. package/dist/types/utils/is.d.ts +16 -9
  84. package/dist/types/utils/mutex.d.ts +12 -1
  85. package/dist/types/utils/sharedObjectBuffer.d.ts +74 -0
  86. package/dist/types/utils/sharedStore.d.ts +2 -2
  87. package/docs/changelog.md +273 -0
  88. package/docs/reference/classes/ArrayHelper.md +1 -1
  89. package/docs/reference/classes/AsyncCache.md +1 -1
  90. package/docs/reference/classes/Coerce.md +32 -48
  91. package/docs/reference/classes/Compression.md +1 -1
  92. package/docs/reference/classes/ConflictError.md +1 -1
  93. package/docs/reference/classes/Duration.md +88 -0
  94. package/docs/reference/classes/ErrorHelper.md +1 -1
  95. package/docs/reference/classes/GeneralError.md +1 -1
  96. package/docs/reference/classes/Guards.md +36 -0
  97. package/docs/reference/classes/Is.md +31 -9
  98. package/docs/reference/classes/JsonHelper.md +1 -1
  99. package/docs/reference/classes/Mutex.md +39 -1
  100. package/docs/reference/classes/NotImplementedError.md +1 -1
  101. package/docs/reference/classes/ObjectHelper.md +10 -2
  102. package/docs/reference/classes/SharedObjectBuffer.md +192 -0
  103. package/docs/reference/classes/SharedStore.md +2 -2
  104. package/docs/reference/classes/StringHelper.md +16 -13
  105. package/docs/reference/classes/Url.md +4 -0
  106. package/docs/reference/classes/ValidationError.md +1 -1
  107. package/docs/reference/index.md +8 -0
  108. package/docs/reference/interfaces/IComponent.md +2 -2
  109. package/docs/reference/interfaces/IDuration.md +83 -0
  110. package/docs/reference/interfaces/ILocale.md +1 -1
  111. package/docs/reference/interfaces/ISharedObjectBufferOptions.md +33 -0
  112. package/docs/reference/interfaces/ISharedObjectBufferWorkerMessage.md +44 -0
  113. package/docs/reference/interfaces/IValidationFailure.md +1 -1
  114. package/docs/reference/type-aliases/SharedObjectBufferMessageTypes.md +5 -0
  115. package/docs/reference/variables/CoerceType.md +6 -0
  116. package/docs/reference/variables/DURATION_REG_EXP.md +3 -0
  117. package/docs/reference/variables/SharedObjectBufferMessageTypes.md +13 -0
  118. package/locales/en.json +9 -2
  119. package/package.json +3 -3
@@ -0,0 +1,44 @@
1
+ # Interface: ISharedObjectBufferWorkerMessage
2
+
3
+ Message sent from a worker thread to the main thread to request the SharedArrayBuffer for an object.
4
+
5
+ ## Properties
6
+
7
+ ### type {#type}
8
+
9
+ > **type**: `"twin:sharedObjectBuffer:getBuffer"`
10
+
11
+ The message type discriminant.
12
+
13
+ ***
14
+
15
+ ### objectId {#objectid}
16
+
17
+ > **objectId**: `string`
18
+
19
+ The object id name that identifies which buffer is being requested.
20
+
21
+ ***
22
+
23
+ ### signal {#signal}
24
+
25
+ > **signal**: `SharedArrayBuffer`
26
+
27
+ One-shot SharedArrayBuffer used for the Atomics.wait/notify handshake so the
28
+ worker can block synchronously until the main thread has posted the response.
29
+
30
+ ***
31
+
32
+ ### port {#port}
33
+
34
+ > **port**: `MessagePort`
35
+
36
+ MessagePort through which the main thread returns the object buffer.
37
+
38
+ ***
39
+
40
+ ### options? {#options}
41
+
42
+ > `optional` **options?**: [`ISharedObjectBufferOptions`](ISharedObjectBufferOptions.md)
43
+
44
+ Options for creating or fetching the buffer.
@@ -16,7 +16,7 @@ The property that failed validation.
16
16
 
17
17
  > **reason**: `string`
18
18
 
19
- The reason the validation failed as an i18 resource error.
19
+ The reason the validation failed as an i18n resource key.
20
20
 
21
21
  ***
22
22
 
@@ -0,0 +1,5 @@
1
+ # Type Alias: SharedObjectBufferMessageTypes
2
+
3
+ > **SharedObjectBufferMessageTypes** = *typeof* [`SharedObjectBufferMessageTypes`](../variables/SharedObjectBufferMessageTypes.md)\[keyof *typeof* [`SharedObjectBufferMessageTypes`](../variables/SharedObjectBufferMessageTypes.md)\]
4
+
5
+ Union of all SharedObjectBuffer message type strings.
@@ -65,3 +65,9 @@ Object.
65
65
  > `readonly` **Uint8Array**: `"uint8array"` = `"uint8array"`
66
66
 
67
67
  Uint8Array.
68
+
69
+ ### Duration {#duration}
70
+
71
+ > `readonly` **Duration**: `"duration"` = `"duration"`
72
+
73
+ Duration in seconds.
@@ -0,0 +1,3 @@
1
+ # Variable: DURATION\_REG\_EXP
2
+
3
+ > `const` **DURATION\_REG\_EXP**: `RegExp`
@@ -0,0 +1,13 @@
1
+ # Variable: SharedObjectBufferMessageTypes
2
+
3
+ > `const` **SharedObjectBufferMessageTypes**: `object`
4
+
5
+ Message type constants for the SharedObjectBuffer worker-to-main-thread protocol.
6
+
7
+ ## Type Declaration
8
+
9
+ ### GetBuffer {#getbuffer}
10
+
11
+ > `readonly` **GetBuffer**: `"twin:sharedObjectBuffer:getBuffer"` = `"twin:sharedObjectBuffer:getBuffer"`
12
+
13
+ Worker requests the SharedArrayBuffer for a named object from the main thread.
package/locales/en.json CHANGED
@@ -74,7 +74,8 @@
74
74
  "url": "Property \"{property}\" must be a URL formatted string, it is \"{value}\"",
75
75
  "email": "Property \"{property}\" must be string in e-mail format, it is \"{value}\"",
76
76
  "uuidV7": "Property \"{property}\" must be a UUIDv7 formatted string, it is \"{value}\"",
77
- "uuidV7Compact": "Property \"{property}\" must be a UUIDv7 formatted string in compact mode, it is \"{value}\""
77
+ "uuidV7Compact": "Property \"{property}\" must be a UUIDv7 formatted string in compact mode, it is \"{value}\"",
78
+ "duration": "Property \"{property}\" must be an ISO 8601 duration string, it is \"{value}\""
78
79
  },
79
80
  "objectHelper": {
80
81
  "failedBytesToJSON": "Failed converting bytes to JSON",
@@ -109,7 +110,13 @@
109
110
  "lockNotFound": "The key \"{key}\" has no active lock",
110
111
  "lockAlreadyReleased": "The key \"{key}\" is not currently locked",
111
112
  "lockTimeout": "Failed to acquire lock for key \"{key}\" within the timeout of {timeout} milliseconds",
112
- "bufferFetchFailed": "Failed to retrieve shared buffer for key \"{key}\" from the main thread"
113
+ "bufferFetchFailed": "Failed to retrieve shared buffer for key \"{key}\" from the main thread",
114
+ "invalidTimeout": "The timeout value \"{timeoutMs}\" is invalid, it must be a non-negative integer"
115
+ },
116
+ "sharedObjectBuffer": {
117
+ "notCreated": "The shared buffer for object \"{objectId}\" has not been created",
118
+ "capacityExceeded": "The payload size of {required} bytes exceeds the maximum capacity of {capacity} bytes for object \"{objectId}\"",
119
+ "bufferFetchFailed": "Failed to retrieve shared buffer for object \"{objectId}\" from the main thread"
113
120
  }
114
121
  },
115
122
  "errorNames": {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@twin.org/core",
3
- "version": "0.0.4-next.8",
3
+ "version": "0.9.0-next.1",
4
4
  "description": "Helper methods/classes for data type checking/validation/guarding/error handling",
5
5
  "repository": {
6
6
  "type": "git",
@@ -14,8 +14,8 @@
14
14
  "node": ">=20.0.0"
15
15
  },
16
16
  "dependencies": {
17
- "@twin.org/nameof": "0.0.4-next.8",
18
- "intl-messageformat": "11.2.6",
17
+ "@twin.org/nameof": "0.9.0-next.1",
18
+ "intl-messageformat": "11.2.8",
19
19
  "rfc6902": "5.2.0"
20
20
  },
21
21
  "main": "./dist/es/index.js",