@rapidrest/core 1.1.4 → 1.3.0
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.
- package/dist/lib/ClassLoader.js +3 -2
- package/dist/lib/ClassLoader.js.map +1 -1
- package/dist/lib/JWTUtils.js +110 -11
- package/dist/lib/JWTUtils.js.map +1 -1
- package/dist/lib/Logger.js +9 -2
- package/dist/lib/Logger.js.map +1 -1
- package/dist/lib/MessagingUtils.js +27 -22
- package/dist/lib/MessagingUtils.js.map +1 -1
- package/dist/lib/NotificationsUtils.js +4 -2
- package/dist/lib/NotificationsUtils.js.map +1 -1
- package/dist/lib/OASUtils.js +17 -3
- package/dist/lib/OASUtils.js.map +1 -1
- package/dist/lib/ObjectFactory.js +96 -78
- package/dist/lib/ObjectFactory.js.map +1 -1
- package/dist/lib/StringUtils.js +16 -12
- package/dist/lib/StringUtils.js.map +1 -1
- package/dist/lib/TelemetryUtils.js +2 -2
- package/dist/lib/TelemetryUtils.js.map +1 -1
- package/dist/lib/UserUtils.js +0 -32
- package/dist/lib/UserUtils.js.map +1 -1
- package/dist/lib/decorators/ObjectDecorators.js +1 -5
- package/dist/lib/decorators/ObjectDecorators.js.map +1 -1
- package/dist/lib/threads/ThreadPool.js +17 -9
- package/dist/lib/threads/ThreadPool.js.map +1 -1
- package/dist/types/JWTUtils.d.ts +21 -3
- package/dist/types/Logger.d.ts +1 -1
- package/dist/types/MessagingUtils.d.ts +4 -0
- package/dist/types/OASUtils.d.ts +2 -0
- package/dist/types/ObjectFactory.d.ts +10 -3
- package/dist/types/TelemetryUtils.d.ts +1 -1
- package/dist/types/UserUtils.d.ts +0 -12
- package/dist/types/decorators/ObjectDecorators.d.ts +1 -5
- package/dist/types/threads/ThreadPool.d.ts +0 -1
- package/docs/reference/@rapidrest/namespaces/ObjectDecorators/functions/Config.md +4 -18
- package/docs/reference/@rapidrest/namespaces/ObjectDecorators/functions/Destroy.md +1 -1
- package/docs/reference/@rapidrest/namespaces/ObjectDecorators/functions/Init.md +3 -3
- package/docs/reference/@rapidrest/namespaces/ObjectDecorators/functions/Inject.md +6 -18
- package/docs/reference/@rapidrest/namespaces/ObjectDecorators/functions/Logger.md +2 -2
- package/docs/reference/@rapidrest/namespaces/ObjectDecorators/functions/Nullable.md +2 -2
- package/docs/reference/@rapidrest/namespaces/ObjectDecorators/functions/Validator.md +2 -16
- package/docs/reference/@rapidrest/namespaces/ObjectDecorators/type-aliases/ValidatorFunction.md +2 -2
- package/docs/reference/classes/AlertUtils.md +10 -10
- package/docs/reference/classes/ApiError.md +10 -22
- package/docs/reference/classes/ClassLoader.md +17 -17
- package/docs/reference/classes/Event.md +8 -8
- package/docs/reference/classes/EventUtils.md +6 -6
- package/docs/reference/classes/FileUtils.md +17 -17
- package/docs/reference/classes/JWTUtils.md +62 -14
- package/docs/reference/classes/MessagingUtils.md +12 -12
- package/docs/reference/classes/OASUtils.md +22 -8
- package/docs/reference/classes/ObjectFactory.md +25 -23
- package/docs/reference/classes/ObjectUtils.md +2 -2
- package/docs/reference/classes/StringUtils.md +8 -8
- package/docs/reference/classes/ThreadPool.md +25 -25
- package/docs/reference/classes/ThreadWorker.md +6 -6
- package/docs/reference/classes/UserUtils.md +10 -64
- package/docs/reference/classes/ValidationUtils.md +14 -14
- package/docs/reference/enumerations/AlertPriority.md +6 -6
- package/docs/reference/enumerations/JWTUtilsCompressionMethods.md +2 -2
- package/docs/reference/enumerations/WorkerMessageType.md +5 -5
- package/docs/reference/functions/sleep.md +3 -3
- package/docs/reference/interfaces/Alert.md +14 -14
- package/docs/reference/interfaces/AlertAttachment.md +6 -6
- package/docs/reference/interfaces/AlertClose.md +5 -5
- package/docs/reference/interfaces/AlertUtilsAttachmentOptions.md +6 -6
- package/docs/reference/interfaces/AlertUtilsOptions.md +5 -5
- package/docs/reference/interfaces/InstanceOptions.md +13 -7
- package/docs/reference/interfaces/JWTPayload.md +15 -15
- package/docs/reference/interfaces/JWTUser.md +6 -6
- package/docs/reference/interfaces/JWTUtilsConfig.md +6 -6
- package/docs/reference/interfaces/JWTUtilsPayloadKeyOptions.md +8 -8
- package/docs/reference/interfaces/JWTUtilsPayloadOptions.md +5 -5
- package/docs/reference/interfaces/JWTUtilsPayloadPasswordOptions.md +9 -9
- package/docs/reference/interfaces/NewEvent.md +2 -2
- package/docs/reference/interfaces/OriginSettings.md +3 -3
- package/docs/reference/interfaces/SlackConfig.md +4 -4
- package/docs/reference/interfaces/SmtpAuth.md +3 -3
- package/docs/reference/interfaces/SmtpConfig.md +6 -6
- package/docs/reference/interfaces/Template.md +24 -24
- package/docs/reference/interfaces/TemplateMapBase.md +2 -2
- package/docs/reference/interfaces/TwilioConfig.md +5 -5
- package/docs/reference/interfaces/WorkerMessage.md +4 -4
- package/docs/reference/interfaces/WorkerOptions.md +11 -11
- package/docs/reference/type-aliases/BooleanFunc.md +2 -2
- package/docs/reference/type-aliases/TemplateMap.md +1 -1
- package/docs/reference/type-aliases/WorkerCallback.md +2 -2
- package/docs/reference/variables/Logger.md +6 -2
- package/package.json +96 -96
|
@@ -6,10 +6,10 @@
|
|
|
6
6
|
|
|
7
7
|
# Class: ObjectFactory
|
|
8
8
|
|
|
9
|
-
Defined in: [src/ObjectFactory.ts:
|
|
9
|
+
Defined in: [src/ObjectFactory.ts:36](https://github.com/rapidrest/core/blob/df82e91f4c858ef61526c7f35789a4199b84d999/src/ObjectFactory.ts#L36)
|
|
10
10
|
|
|
11
|
-
The `ObjectFactory` is a manager for creating objects based on registered
|
|
12
|
-
class types. This allows for the tracking of multiple instances of objects
|
|
11
|
+
The `ObjectFactory` is a manager for creating objects based on registered
|
|
12
|
+
class types. This allows for the tracking of multiple instances of objects
|
|
13
13
|
so that references can be referenced by unique name.
|
|
14
14
|
|
|
15
15
|
## Author
|
|
@@ -22,7 +22,7 @@ Jean-Philippe Steinmetz
|
|
|
22
22
|
|
|
23
23
|
> **new ObjectFactory**(`config?`, `logger?`): `ObjectFactory`
|
|
24
24
|
|
|
25
|
-
Defined in: [src/ObjectFactory.ts:
|
|
25
|
+
Defined in: [src/ObjectFactory.ts:55](https://github.com/rapidrest/core/blob/df82e91f4c858ef61526c7f35789a4199b84d999/src/ObjectFactory.ts#L55)
|
|
26
26
|
|
|
27
27
|
#### Parameters
|
|
28
28
|
|
|
@@ -44,7 +44,7 @@ Defined in: [src/ObjectFactory.ts:37](https://github.com/rapidrest/core/blob/23a
|
|
|
44
44
|
|
|
45
45
|
> `readonly` **classes**: `Map`\<`string`, `any`\>
|
|
46
46
|
|
|
47
|
-
Defined in: [src/ObjectFactory.ts:
|
|
47
|
+
Defined in: [src/ObjectFactory.ts:38](https://github.com/rapidrest/core/blob/df82e91f4c858ef61526c7f35789a4199b84d999/src/ObjectFactory.ts#L38)
|
|
48
48
|
|
|
49
49
|
A map for string fully qualified class names to their class types.
|
|
50
50
|
|
|
@@ -54,7 +54,7 @@ A map for string fully qualified class names to their class types.
|
|
|
54
54
|
|
|
55
55
|
> `protected` **config**: `any`
|
|
56
56
|
|
|
57
|
-
Defined in: [src/ObjectFactory.ts:
|
|
57
|
+
Defined in: [src/ObjectFactory.ts:41](https://github.com/rapidrest/core/blob/df82e91f4c858ef61526c7f35789a4199b84d999/src/ObjectFactory.ts#L41)
|
|
58
58
|
|
|
59
59
|
The global application configuration object.
|
|
60
60
|
|
|
@@ -64,7 +64,7 @@ The global application configuration object.
|
|
|
64
64
|
|
|
65
65
|
> `readonly` **instances**: `Map`\<`string`, `any`\>
|
|
66
66
|
|
|
67
|
-
Defined in: [src/ObjectFactory.ts:
|
|
67
|
+
Defined in: [src/ObjectFactory.ts:44](https://github.com/rapidrest/core/blob/df82e91f4c858ef61526c7f35789a4199b84d999/src/ObjectFactory.ts#L44)
|
|
68
68
|
|
|
69
69
|
A map for the unique name to the intance of a particular class type.
|
|
70
70
|
|
|
@@ -74,7 +74,7 @@ A map for the unique name to the intance of a particular class type.
|
|
|
74
74
|
|
|
75
75
|
> `protected` **logger**: `any`
|
|
76
76
|
|
|
77
|
-
Defined in: [src/ObjectFactory.ts:
|
|
77
|
+
Defined in: [src/ObjectFactory.ts:47](https://github.com/rapidrest/core/blob/df82e91f4c858ef61526c7f35789a4199b84d999/src/ObjectFactory.ts#L47)
|
|
78
78
|
|
|
79
79
|
The application logging utility.
|
|
80
80
|
|
|
@@ -84,7 +84,7 @@ The application logging utility.
|
|
|
84
84
|
|
|
85
85
|
> **clear**(): `void`
|
|
86
86
|
|
|
87
|
-
Defined in: [src/ObjectFactory.ts:
|
|
87
|
+
Defined in: [src/ObjectFactory.ts:158](https://github.com/rapidrest/core/blob/df82e91f4c858ef61526c7f35789a4199b84d999/src/ObjectFactory.ts#L158)
|
|
88
88
|
|
|
89
89
|
Deletes all instantiated objects.
|
|
90
90
|
|
|
@@ -98,7 +98,7 @@ Deletes all instantiated objects.
|
|
|
98
98
|
|
|
99
99
|
> **clearAll**(): `void`
|
|
100
100
|
|
|
101
|
-
Defined in: [src/ObjectFactory.ts:
|
|
101
|
+
Defined in: [src/ObjectFactory.ts:166](https://github.com/rapidrest/core/blob/df82e91f4c858ef61526c7f35789a4199b84d999/src/ObjectFactory.ts#L166)
|
|
102
102
|
|
|
103
103
|
Deletes all instantiated objects and registered class types.
|
|
104
104
|
|
|
@@ -112,7 +112,7 @@ Deletes all instantiated objects and registered class types.
|
|
|
112
112
|
|
|
113
113
|
> **destroy**(`objs?`): `Promise`\<`void`\>
|
|
114
114
|
|
|
115
|
-
Defined in: [src/ObjectFactory.ts:
|
|
115
|
+
Defined in: [src/ObjectFactory.ts:117](https://github.com/rapidrest/core/blob/df82e91f4c858ef61526c7f35789a4199b84d999/src/ObjectFactory.ts#L117)
|
|
116
116
|
|
|
117
117
|
Destroys the specified objects. If `undefined` is passed in, all objects managed by the factory are destroyed.
|
|
118
118
|
|
|
@@ -132,7 +132,7 @@ Destroys the specified objects. If `undefined` is passed in, all objects managed
|
|
|
132
132
|
|
|
133
133
|
> **getInitMethods**(`obj`): `Function`[]
|
|
134
134
|
|
|
135
|
-
Defined in: [src/ObjectFactory.ts:
|
|
135
|
+
Defined in: [src/ObjectFactory.ts:248](https://github.com/rapidrest/core/blob/df82e91f4c858ef61526c7f35789a4199b84d999/src/ObjectFactory.ts#L248)
|
|
136
136
|
|
|
137
137
|
Searches an object for one or more functions that implement a `@Init` decorator.
|
|
138
138
|
|
|
@@ -156,10 +156,10 @@ The list of functions that implements the `@Init` decorator if found, otherwise
|
|
|
156
156
|
|
|
157
157
|
> **getInstance**\<`T`\>(`nameOrType`): `T` \| `undefined`
|
|
158
158
|
|
|
159
|
-
Defined in: [src/ObjectFactory.ts:
|
|
159
|
+
Defined in: [src/ObjectFactory.ts:282](https://github.com/rapidrest/core/blob/df82e91f4c858ef61526c7f35789a4199b84d999/src/ObjectFactory.ts#L282)
|
|
160
160
|
|
|
161
|
-
Returns the object instance with the given unique name. Unique names take the form `<ClassName>:<InstanceName>`.
|
|
162
|
-
It is possible to only specifiy the `<ClassName>`, doing so will automatically look for the `<ClassName>:default`
|
|
161
|
+
Returns the object instance with the given unique name. Unique names take the form `<ClassName>:<InstanceName>`.
|
|
162
|
+
It is possible to only specifiy the `<ClassName>`, doing so will automatically look for the `<ClassName>:default`
|
|
163
163
|
instance or the first found instance of the given type.
|
|
164
164
|
|
|
165
165
|
#### Type Parameters
|
|
@@ -186,9 +186,9 @@ The object instance associated with the given name if found, otherwise `undefine
|
|
|
186
186
|
|
|
187
187
|
### initialize()
|
|
188
188
|
|
|
189
|
-
> **initialize**\<`T`\>(`obj`): `Promise`\<`T`\>
|
|
189
|
+
> **initialize**\<`T`\>(`obj`): `T` \| `Promise`\<`T`\>
|
|
190
190
|
|
|
191
|
-
Defined in: [src/ObjectFactory.ts:
|
|
191
|
+
Defined in: [src/ObjectFactory.ts:175](https://github.com/rapidrest/core/blob/df82e91f4c858ef61526c7f35789a4199b84d999/src/ObjectFactory.ts#L175)
|
|
192
192
|
|
|
193
193
|
Scans the given object for any properties with the `@Inject` decorator and assigns the correct values.
|
|
194
194
|
|
|
@@ -208,7 +208,7 @@ The object to initialize with injected defaults
|
|
|
208
208
|
|
|
209
209
|
#### Returns
|
|
210
210
|
|
|
211
|
-
`Promise`\<`T`\>
|
|
211
|
+
`T` \| `Promise`\<`T`\>
|
|
212
212
|
|
|
213
213
|
***
|
|
214
214
|
|
|
@@ -216,10 +216,10 @@ The object to initialize with injected defaults
|
|
|
216
216
|
|
|
217
217
|
> **newInstance**\<`T`\>(`type`, `options?`): `T` \| `Promise`\<`T`\>
|
|
218
218
|
|
|
219
|
-
Defined in: [src/ObjectFactory.ts:
|
|
219
|
+
Defined in: [src/ObjectFactory.ts:323](https://github.com/rapidrest/core/blob/df82e91f4c858ef61526c7f35789a4199b84d999/src/ObjectFactory.ts#L323)
|
|
220
220
|
|
|
221
|
-
Creates a new instance of the class specified with the provided unique name or type and constructor arguments. If an existing
|
|
222
|
-
object has already been created with the given name, that instance is returned, otherwise a new instance is created
|
|
221
|
+
Creates a new instance of the class specified with the provided unique name or type and constructor arguments. If an existing
|
|
222
|
+
object has already been created with the given name, that instance is returned, otherwise a new instance is created
|
|
223
223
|
using the provided arguments.
|
|
224
224
|
|
|
225
225
|
#### Type Parameters
|
|
@@ -234,13 +234,15 @@ using the provided arguments.
|
|
|
234
234
|
|
|
235
235
|
`any`
|
|
236
236
|
|
|
237
|
-
The fully qualified name or type of the class to instantiate. If a type is given it's class name will be inferred
|
|
237
|
+
The fully qualified name or type of the class to instantiate. If a type is given it's class name will be inferred
|
|
238
238
|
via the constructor name.
|
|
239
239
|
|
|
240
240
|
##### options?
|
|
241
241
|
|
|
242
242
|
[`InstanceOptions`](../interfaces/InstanceOptions.md)
|
|
243
243
|
|
|
244
|
+
The options to use when instantiating the new class object.
|
|
245
|
+
|
|
244
246
|
#### Returns
|
|
245
247
|
|
|
246
248
|
`T` \| `Promise`\<`T`\>
|
|
@@ -251,7 +253,7 @@ via the constructor name.
|
|
|
251
253
|
|
|
252
254
|
> **register**(`clazz`, `fqn?`): `void`
|
|
253
255
|
|
|
254
|
-
Defined in: [src/ObjectFactory.ts:
|
|
256
|
+
Defined in: [src/ObjectFactory.ts:399](https://github.com/rapidrest/core/blob/df82e91f4c858ef61526c7f35789a4199b84d999/src/ObjectFactory.ts#L399)
|
|
255
257
|
|
|
256
258
|
Registers the given class type for the provided fully qualified name.
|
|
257
259
|
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
|
|
7
7
|
# Class: ObjectUtils
|
|
8
8
|
|
|
9
|
-
Defined in: [src/ObjectUtils.ts:12](https://github.com/rapidrest/core/blob/
|
|
9
|
+
Defined in: [src/ObjectUtils.ts:12](https://github.com/rapidrest/core/blob/df82e91f4c858ef61526c7f35789a4199b84d999/src/ObjectUtils.ts#L12)
|
|
10
10
|
|
|
11
11
|
Utility class for working with objects.
|
|
12
12
|
|
|
@@ -30,7 +30,7 @@ Jean-Philippe Steinmetz
|
|
|
30
30
|
|
|
31
31
|
> `static` **validate**(`obj`, `clazz?`, `recurse?`): `void`
|
|
32
32
|
|
|
33
|
-
Defined in: [src/ObjectUtils.ts:21](https://github.com/rapidrest/core/blob/
|
|
33
|
+
Defined in: [src/ObjectUtils.ts:21](https://github.com/rapidrest/core/blob/df82e91f4c858ef61526c7f35789a4199b84d999/src/ObjectUtils.ts#L21)
|
|
34
34
|
|
|
35
35
|
Performs validation of the given object or array. Validation is performed by scanning the object class for properties
|
|
36
36
|
decorated with `@Validator` and executing the provided validation function.
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
|
|
7
7
|
# Class: StringUtils
|
|
8
8
|
|
|
9
|
-
Defined in: [src/StringUtils.ts:10](https://github.com/rapidrest/core/blob/
|
|
9
|
+
Defined in: [src/StringUtils.ts:10](https://github.com/rapidrest/core/blob/df82e91f4c858ef61526c7f35789a4199b84d999/src/StringUtils.ts#L10)
|
|
10
10
|
|
|
11
11
|
Utility functions for working with strings.
|
|
12
12
|
|
|
@@ -30,7 +30,7 @@ Jean-Philippe Steinmetz
|
|
|
30
30
|
|
|
31
31
|
> `static` **findAndReplace**(`contents`, `variables`): `string`
|
|
32
32
|
|
|
33
|
-
Defined in: [src/StringUtils.ts:46](https://github.com/rapidrest/core/blob/
|
|
33
|
+
Defined in: [src/StringUtils.ts:46](https://github.com/rapidrest/core/blob/df82e91f4c858ef61526c7f35789a4199b84d999/src/StringUtils.ts#L46)
|
|
34
34
|
|
|
35
35
|
Performs a search and replace on the provided contents with the map of variable replacements. The contents
|
|
36
36
|
must use Mustache formatted tokens such as `{{toreplace}}`.
|
|
@@ -59,7 +59,7 @@ A map of key=>value pairs to search for and replace.
|
|
|
59
59
|
|
|
60
60
|
> `static` **getParameters**(`str`): `string`[]
|
|
61
61
|
|
|
62
|
-
Defined in: [src/StringUtils.ts:18](https://github.com/rapidrest/core/blob/
|
|
62
|
+
Defined in: [src/StringUtils.ts:18](https://github.com/rapidrest/core/blob/df82e91f4c858ef61526c7f35789a4199b84d999/src/StringUtils.ts#L18)
|
|
63
63
|
|
|
64
64
|
Returns a list of all parameters contained within the string. A parameter is a bracket delimited substring
|
|
65
65
|
(e.g. /my/{key}/with/{id}).
|
|
@@ -84,7 +84,7 @@ A list of parameters contained in the provided string.
|
|
|
84
84
|
|
|
85
85
|
> `static` **replaceAll**(`str`, `match`, `prefix`): `string`
|
|
86
86
|
|
|
87
|
-
Defined in: [src/StringUtils.ts:
|
|
87
|
+
Defined in: [src/StringUtils.ts:87](https://github.com/rapidrest/core/blob/df82e91f4c858ef61526c7f35789a4199b84d999/src/StringUtils.ts#L87)
|
|
88
88
|
|
|
89
89
|
Replaces all instances of the match regex pattern with the contents of the inner regular expression pattern for
|
|
90
90
|
the given string.
|
|
@@ -104,9 +104,9 @@ The string to perform replacement on.
|
|
|
104
104
|
|
|
105
105
|
##### match
|
|
106
106
|
|
|
107
|
-
|
|
107
|
+
`string` \| `RegExp`
|
|
108
108
|
|
|
109
|
-
|
|
109
|
+
The regular expression pattern to match containing an outer and inner pattern.
|
|
110
110
|
|
|
111
111
|
##### prefix
|
|
112
112
|
|
|
@@ -126,7 +126,7 @@ The fully replaced contents of the string.
|
|
|
126
126
|
|
|
127
127
|
> `static` **toCamelCase**(`str`): `string`
|
|
128
128
|
|
|
129
|
-
Defined in: [src/StringUtils.ts:
|
|
129
|
+
Defined in: [src/StringUtils.ts:104](https://github.com/rapidrest/core/blob/df82e91f4c858ef61526c7f35789a4199b84d999/src/StringUtils.ts#L104)
|
|
130
130
|
|
|
131
131
|
Converts the first character in the given string to be lowercase (e.g. myVariable).
|
|
132
132
|
|
|
@@ -150,7 +150,7 @@ The string converted to camelCase.
|
|
|
150
150
|
|
|
151
151
|
> `static` **toPascalCase**(`str`): `string`
|
|
152
152
|
|
|
153
|
-
Defined in: [src/StringUtils.ts:
|
|
153
|
+
Defined in: [src/StringUtils.ts:114](https://github.com/rapidrest/core/blob/df82e91f4c858ef61526c7f35789a4199b84d999/src/StringUtils.ts#L114)
|
|
154
154
|
|
|
155
155
|
Converts the first character in the given string to be uppercase (e.g. MyVariable).
|
|
156
156
|
|
|
@@ -6,30 +6,30 @@
|
|
|
6
6
|
|
|
7
7
|
# Class: ThreadPool
|
|
8
8
|
|
|
9
|
-
Defined in: [src/threads/ThreadPool.ts:
|
|
9
|
+
Defined in: [src/threads/ThreadPool.ts:65](https://github.com/rapidrest/core/blob/df82e91f4c858ef61526c7f35789a4199b84d999/src/threads/ThreadPool.ts#L65)
|
|
10
10
|
|
|
11
|
-
The `ThreadPool` class provides an interface for managing a pool of execution threads that can be used for parallel
|
|
12
|
-
code execution. `ThreadPool` is a wrapper to the `worker_threads` API to add support for multiple `Worker` instances.
|
|
11
|
+
The `ThreadPool` class provides an interface for managing a pool of execution threads that can be used for parallel
|
|
12
|
+
code execution. `ThreadPool` is a wrapper to the `worker_threads` API to add support for multiple `Worker` instances.
|
|
13
13
|
By default, the pool will create *n* workers corresponding to the number of CPUs (physical + virtual) on the system.
|
|
14
14
|
|
|
15
15
|
There are two ways to start worker threads with the pool.
|
|
16
16
|
|
|
17
|
-
The first way is to set the `entry` option when calling the `start()` function. This will create a instance of the
|
|
18
|
-
`worker_threads` APIs `Worker` class with the specified file as the entry point. Note that this file must be of
|
|
19
|
-
type JavaScript (`.js` extension) as the underlying system does not support loading TypeScript. If the `args` option
|
|
17
|
+
The first way is to set the `entry` option when calling the `start()` function. This will create a instance of the
|
|
18
|
+
`worker_threads` APIs `Worker` class with the specified file as the entry point. Note that this file must be of
|
|
19
|
+
type JavaScript (`.js` extension) as the underlying system does not support loading TypeScript. If the `args` option
|
|
20
20
|
is set, the value will be passed in as the `workerData` to the entry file.
|
|
21
21
|
|
|
22
|
-
The second way to start a worker thread is by setting the `worker` argument when calling the `start()` function. The
|
|
23
|
-
specified `worker` file must contain a `default` export. The `default` export must be a class definition which
|
|
24
|
-
extends the `ThreadWorker` abstract class interface. The file can be either JavaScript or TypeScript. When using
|
|
25
|
-
this method the `start()` function will return only when all worker instances in each thread of the pool has
|
|
26
|
-
successfully returned from its `start()` function. When the `args` option is set, the value(s) will be passed in to
|
|
22
|
+
The second way to start a worker thread is by setting the `worker` argument when calling the `start()` function. The
|
|
23
|
+
specified `worker` file must contain a `default` export. The `default` export must be a class definition which
|
|
24
|
+
extends the `ThreadWorker` abstract class interface. The file can be either JavaScript or TypeScript. When using
|
|
25
|
+
this method the `start()` function will return only when all worker instances in each thread of the pool has
|
|
26
|
+
successfully returned from its `start()` function. When the `args` option is set, the value(s) will be passed in to
|
|
27
27
|
the constructor on instantiation by the thread executor.
|
|
28
28
|
|
|
29
|
-
When the `restartOnExit` option is specified, the pool will automatically recreate and start a worker thread on
|
|
29
|
+
When the `restartOnExit` option is specified, the pool will automatically recreate and start a worker thread on
|
|
30
30
|
the `exit event`.
|
|
31
31
|
|
|
32
|
-
This class exposes worker messages via the `on()` callback handler function. Registering a callback handler via
|
|
32
|
+
This class exposes worker messages via the `on()` callback handler function. Registering a callback handler via
|
|
33
33
|
`on()` will propogate all messages from all underlying threads in the pool.
|
|
34
34
|
|
|
35
35
|
## Author
|
|
@@ -40,15 +40,15 @@ Jean-Philippe Steinmetz
|
|
|
40
40
|
|
|
41
41
|
### Constructor
|
|
42
42
|
|
|
43
|
-
> **new ThreadPool**(`max
|
|
43
|
+
> **new ThreadPool**(`max?`, `logger?`): `ThreadPool`
|
|
44
44
|
|
|
45
|
-
Defined in: [src/threads/ThreadPool.ts:
|
|
45
|
+
Defined in: [src/threads/ThreadPool.ts:101](https://github.com/rapidrest/core/blob/df82e91f4c858ef61526c7f35789a4199b84d999/src/threads/ThreadPool.ts#L101)
|
|
46
46
|
|
|
47
47
|
Creates a new `ThreadPool` instance with the specified defaults.
|
|
48
48
|
|
|
49
49
|
#### Parameters
|
|
50
50
|
|
|
51
|
-
##### max
|
|
51
|
+
##### max?
|
|
52
52
|
|
|
53
53
|
`number` = `0`
|
|
54
54
|
|
|
@@ -70,7 +70,7 @@ The Winston logger instance to forward all worker thread logs to.
|
|
|
70
70
|
|
|
71
71
|
> `readonly` **workers**: `Worker`[]
|
|
72
72
|
|
|
73
|
-
Defined in: [src/threads/ThreadPool.ts:
|
|
73
|
+
Defined in: [src/threads/ThreadPool.ts:77](https://github.com/rapidrest/core/blob/df82e91f4c858ef61526c7f35789a4199b84d999/src/threads/ThreadPool.ts#L77)
|
|
74
74
|
|
|
75
75
|
The list of active worker threads.
|
|
76
76
|
|
|
@@ -82,7 +82,7 @@ The list of active worker threads.
|
|
|
82
82
|
|
|
83
83
|
> **get** **max**(): `number`
|
|
84
84
|
|
|
85
|
-
Defined in: [src/threads/ThreadPool.ts:
|
|
85
|
+
Defined in: [src/threads/ThreadPool.ts:84](https://github.com/rapidrest/core/blob/df82e91f4c858ef61526c7f35789a4199b84d999/src/threads/ThreadPool.ts#L84)
|
|
86
86
|
|
|
87
87
|
The maximum number of threads that can be created by the pool.
|
|
88
88
|
|
|
@@ -98,7 +98,7 @@ The maximum number of threads that can be created by the pool.
|
|
|
98
98
|
|
|
99
99
|
> **get** **size**(): `number`
|
|
100
100
|
|
|
101
|
-
Defined in: [src/threads/ThreadPool.ts:
|
|
101
|
+
Defined in: [src/threads/ThreadPool.ts:91](https://github.com/rapidrest/core/blob/df82e91f4c858ef61526c7f35789a4199b84d999/src/threads/ThreadPool.ts#L91)
|
|
102
102
|
|
|
103
103
|
The number of active threads in the pool.
|
|
104
104
|
|
|
@@ -112,7 +112,7 @@ The number of active threads in the pool.
|
|
|
112
112
|
|
|
113
113
|
> **on**(`type`, `func`): `void`
|
|
114
114
|
|
|
115
|
-
Defined in: [src/threads/ThreadPool.ts:
|
|
115
|
+
Defined in: [src/threads/ThreadPool.ts:255](https://github.com/rapidrest/core/blob/df82e91f4c858ef61526c7f35789a4199b84d999/src/threads/ThreadPool.ts#L255)
|
|
116
116
|
|
|
117
117
|
Registers a new callback function to be notified when the given event type is fired.
|
|
118
118
|
|
|
@@ -140,7 +140,7 @@ The callback function to register.
|
|
|
140
140
|
|
|
141
141
|
> **send**(`msg`): `void`
|
|
142
142
|
|
|
143
|
-
Defined in: [src/threads/ThreadPool.ts:
|
|
143
|
+
Defined in: [src/threads/ThreadPool.ts:268](https://github.com/rapidrest/core/blob/df82e91f4c858ef61526c7f35789a4199b84d999/src/threads/ThreadPool.ts#L268)
|
|
144
144
|
|
|
145
145
|
Sends the provided message to the next available worker thread. Messages are sent in a round-robin order.
|
|
146
146
|
|
|
@@ -162,7 +162,7 @@ The message to send the next available worker thread.
|
|
|
162
162
|
|
|
163
163
|
> **sendAll**(`msg`): `void`
|
|
164
164
|
|
|
165
|
-
Defined in: [src/threads/ThreadPool.ts:
|
|
165
|
+
Defined in: [src/threads/ThreadPool.ts:289](https://github.com/rapidrest/core/blob/df82e91f4c858ef61526c7f35789a4199b84d999/src/threads/ThreadPool.ts#L289)
|
|
166
166
|
|
|
167
167
|
Sends the provided message to all worker threads in the pool.
|
|
168
168
|
|
|
@@ -184,7 +184,7 @@ The message to send to all workers.
|
|
|
184
184
|
|
|
185
185
|
> **sendTo**(`id`, `msg`): `void`
|
|
186
186
|
|
|
187
|
-
Defined in: [src/threads/ThreadPool.ts:
|
|
187
|
+
Defined in: [src/threads/ThreadPool.ts:300](https://github.com/rapidrest/core/blob/df82e91f4c858ef61526c7f35789a4199b84d999/src/threads/ThreadPool.ts#L300)
|
|
188
188
|
|
|
189
189
|
Sends the provided message to the worker thread with the specified id.
|
|
190
190
|
|
|
@@ -212,7 +212,7 @@ The message to send the next available worker thread.
|
|
|
212
212
|
|
|
213
213
|
> **start**(`options?`, `num?`): `Promise`\<`void`\>
|
|
214
214
|
|
|
215
|
-
Defined in: [src/threads/ThreadPool.ts:
|
|
215
|
+
Defined in: [src/threads/ThreadPool.ts:181](https://github.com/rapidrest/core/blob/df82e91f4c858ef61526c7f35789a4199b84d999/src/threads/ThreadPool.ts#L181)
|
|
216
216
|
|
|
217
217
|
Initializes the thread pool with the initial worker threads and begins execution.
|
|
218
218
|
|
|
@@ -240,7 +240,7 @@ The number of initial threads to create, cannot be greater than max. Default is
|
|
|
240
240
|
|
|
241
241
|
> **stop**(): `Promise`\<`void`\>
|
|
242
242
|
|
|
243
|
-
Defined in: [src/threads/ThreadPool.ts:
|
|
243
|
+
Defined in: [src/threads/ThreadPool.ts:228](https://github.com/rapidrest/core/blob/df82e91f4c858ef61526c7f35789a4199b84d999/src/threads/ThreadPool.ts#L228)
|
|
244
244
|
|
|
245
245
|
Stops all running thread executions.
|
|
246
246
|
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
|
|
7
7
|
# Abstract Class: ThreadWorker
|
|
8
8
|
|
|
9
|
-
Defined in: [src/threads/ThreadWorker.ts:29](https://github.com/rapidrest/core/blob/
|
|
9
|
+
Defined in: [src/threads/ThreadWorker.ts:29](https://github.com/rapidrest/core/blob/df82e91f4c858ef61526c7f35789a4199b84d999/src/threads/ThreadWorker.ts#L29)
|
|
10
10
|
|
|
11
11
|
Provides a simple abstract interface for creating thread workers when using the `ThreadPool` system.
|
|
12
12
|
|
|
@@ -20,7 +20,7 @@ Jean-Philippe Steinmetz
|
|
|
20
20
|
|
|
21
21
|
> **new ThreadWorker**(`logger`): `ThreadWorker`
|
|
22
22
|
|
|
23
|
-
Defined in: [src/threads/ThreadWorker.ts:32](https://github.com/rapidrest/core/blob/
|
|
23
|
+
Defined in: [src/threads/ThreadWorker.ts:32](https://github.com/rapidrest/core/blob/df82e91f4c858ef61526c7f35789a4199b84d999/src/threads/ThreadWorker.ts#L32)
|
|
24
24
|
|
|
25
25
|
#### Parameters
|
|
26
26
|
|
|
@@ -38,7 +38,7 @@ Defined in: [src/threads/ThreadWorker.ts:32](https://github.com/rapidrest/core/b
|
|
|
38
38
|
|
|
39
39
|
> `protected` **logger**: `any`
|
|
40
40
|
|
|
41
|
-
Defined in: [src/threads/ThreadWorker.ts:30](https://github.com/rapidrest/core/blob/
|
|
41
|
+
Defined in: [src/threads/ThreadWorker.ts:30](https://github.com/rapidrest/core/blob/df82e91f4c858ef61526c7f35789a4199b84d999/src/threads/ThreadWorker.ts#L30)
|
|
42
42
|
|
|
43
43
|
## Methods
|
|
44
44
|
|
|
@@ -46,7 +46,7 @@ Defined in: [src/threads/ThreadWorker.ts:30](https://github.com/rapidrest/core/b
|
|
|
46
46
|
|
|
47
47
|
> `abstract` **onMessage**(`msg`): `void` \| `Promise`\<`void`\>
|
|
48
48
|
|
|
49
|
-
Defined in: [src/threads/ThreadWorker.ts:41](https://github.com/rapidrest/core/blob/
|
|
49
|
+
Defined in: [src/threads/ThreadWorker.ts:41](https://github.com/rapidrest/core/blob/df82e91f4c858ef61526c7f35789a4199b84d999/src/threads/ThreadWorker.ts#L41)
|
|
50
50
|
|
|
51
51
|
Callback function when a message is received from the thread pool manager.
|
|
52
52
|
|
|
@@ -68,7 +68,7 @@ The message that was received.
|
|
|
68
68
|
|
|
69
69
|
> `abstract` **start**(): `void` \| `Promise`\<`void`\>
|
|
70
70
|
|
|
71
|
-
Defined in: [src/threads/ThreadWorker.ts:46](https://github.com/rapidrest/core/blob/
|
|
71
|
+
Defined in: [src/threads/ThreadWorker.ts:46](https://github.com/rapidrest/core/blob/df82e91f4c858ef61526c7f35789a4199b84d999/src/threads/ThreadWorker.ts#L46)
|
|
72
72
|
|
|
73
73
|
Starts execution of the thread worker.
|
|
74
74
|
|
|
@@ -82,7 +82,7 @@ Starts execution of the thread worker.
|
|
|
82
82
|
|
|
83
83
|
> `abstract` **stop**(): `void` \| `Promise`\<`void`\>
|
|
84
84
|
|
|
85
|
-
Defined in: [src/threads/ThreadWorker.ts:51](https://github.com/rapidrest/core/blob/
|
|
85
|
+
Defined in: [src/threads/ThreadWorker.ts:51](https://github.com/rapidrest/core/blob/df82e91f4c858ef61526c7f35789a4199b84d999/src/threads/ThreadWorker.ts#L51)
|
|
86
86
|
|
|
87
87
|
Stops execution of all work and shuts down the thread worker.
|
|
88
88
|
|
|
@@ -6,14 +6,14 @@
|
|
|
6
6
|
|
|
7
7
|
# Class: UserUtils
|
|
8
8
|
|
|
9
|
-
Defined in: [src/UserUtils.ts:16](https://github.com/rapidrest/core/blob/
|
|
9
|
+
Defined in: [src/UserUtils.ts:16](https://github.com/rapidrest/core/blob/df82e91f4c858ef61526c7f35789a4199b84d999/src/UserUtils.ts#L16)
|
|
10
10
|
|
|
11
|
-
Utilities for working with authenticated user objects. An user object is expected to have the following
|
|
11
|
+
Utilities for working with authenticated user objects. An user object is expected to have the following
|
|
12
12
|
properties.
|
|
13
13
|
|
|
14
|
-
* `uid` - Universally unique identifier for the user
|
|
15
|
-
* `email` - Unique e-mail address for the user
|
|
16
|
-
* `roles` - A list of unique names indicating the permissions of the user.
|
|
14
|
+
* `uid` - Universally unique identifier for the user
|
|
15
|
+
* `email` - Unique e-mail address for the user
|
|
16
|
+
* `roles` - A list of unique names indicating the permissions of the user.
|
|
17
17
|
* `verified` - Indicates if the user's e-mail address has been verified.
|
|
18
18
|
|
|
19
19
|
## Author
|
|
@@ -36,7 +36,7 @@ Jean-Philippe Steinmetz <rapidrests@gmail.com>
|
|
|
36
36
|
|
|
37
37
|
> `static` **getExternalId**(`user`, `type`): `string` \| `undefined`
|
|
38
38
|
|
|
39
|
-
Defined in: [src/UserUtils.ts:
|
|
39
|
+
Defined in: [src/UserUtils.ts:60](https://github.com/rapidrest/core/blob/df82e91f4c858ef61526c7f35789a4199b84d999/src/UserUtils.ts#L60)
|
|
40
40
|
|
|
41
41
|
Returns the unique identifier of the specified type associated with the given user.
|
|
42
42
|
|
|
@@ -66,7 +66,7 @@ The unique id of the external provider for the given type if found, otherwise `u
|
|
|
66
66
|
|
|
67
67
|
> `static` **hasOrganization**(`user`, `organizationUid`): `boolean`
|
|
68
68
|
|
|
69
|
-
Defined in: [src/UserUtils.ts:22](https://github.com/rapidrest/core/blob/
|
|
69
|
+
Defined in: [src/UserUtils.ts:22](https://github.com/rapidrest/core/blob/df82e91f4c858ef61526c7f35789a4199b84d999/src/UserUtils.ts#L22)
|
|
70
70
|
|
|
71
71
|
Returns `true` if the given user object is a member of the organization with the specified uid, otherwise returns `false`.
|
|
72
72
|
|
|
@@ -94,7 +94,7 @@ The universally unique identifier of the persona to search for.
|
|
|
94
94
|
|
|
95
95
|
> `static` **hasOrganizations**(`user`, `organizationUids?`): `boolean`
|
|
96
96
|
|
|
97
|
-
Defined in: [src/UserUtils.ts:39](https://github.com/rapidrest/core/blob/
|
|
97
|
+
Defined in: [src/UserUtils.ts:39](https://github.com/rapidrest/core/blob/df82e91f4c858ef61526c7f35789a4199b84d999/src/UserUtils.ts#L39)
|
|
98
98
|
|
|
99
99
|
Returns `true` if the given user object contains is a member of an organization matching one of the uids in the specified list, otherwise returns `false`.
|
|
100
100
|
|
|
@@ -118,65 +118,11 @@ The list of universally unique identifiers to search for.
|
|
|
118
118
|
|
|
119
119
|
***
|
|
120
120
|
|
|
121
|
-
### hasPersona()
|
|
122
|
-
|
|
123
|
-
> `static` **hasPersona**(`user`, `personaUid?`): `boolean`
|
|
124
|
-
|
|
125
|
-
Defined in: [src/UserUtils.ts:58](https://github.com/rapidrest/core/blob/23a4f312bccd7ea3a0598e320bd5d984466027e5/src/UserUtils.ts#L58)
|
|
126
|
-
|
|
127
|
-
Returns `true` if the given user object contains a `Persona` object with the specified uid, otherwise returns `false`.
|
|
128
|
-
|
|
129
|
-
#### Parameters
|
|
130
|
-
|
|
131
|
-
##### user
|
|
132
|
-
|
|
133
|
-
`any`
|
|
134
|
-
|
|
135
|
-
The user object to inspect.
|
|
136
|
-
|
|
137
|
-
##### personaUid?
|
|
138
|
-
|
|
139
|
-
`string`
|
|
140
|
-
|
|
141
|
-
The universally unique identifier of the persona to search for.
|
|
142
|
-
|
|
143
|
-
#### Returns
|
|
144
|
-
|
|
145
|
-
`boolean`
|
|
146
|
-
|
|
147
|
-
***
|
|
148
|
-
|
|
149
|
-
### hasPersonas()
|
|
150
|
-
|
|
151
|
-
> `static` **hasPersonas**(`user`, `personaUids?`): `boolean`
|
|
152
|
-
|
|
153
|
-
Defined in: [src/UserUtils.ts:75](https://github.com/rapidrest/core/blob/23a4f312bccd7ea3a0598e320bd5d984466027e5/src/UserUtils.ts#L75)
|
|
154
|
-
|
|
155
|
-
Returns `true` if the given user object contains a `Persona` object matching one of the uids in the specified list, otherwise returns `false`.
|
|
156
|
-
|
|
157
|
-
#### Parameters
|
|
158
|
-
|
|
159
|
-
##### user
|
|
160
|
-
|
|
161
|
-
`any`
|
|
162
|
-
|
|
163
|
-
The user object to inspect.
|
|
164
|
-
|
|
165
|
-
##### personaUids?
|
|
166
|
-
|
|
167
|
-
`string`[]
|
|
168
|
-
|
|
169
|
-
#### Returns
|
|
170
|
-
|
|
171
|
-
`boolean`
|
|
172
|
-
|
|
173
|
-
***
|
|
174
|
-
|
|
175
121
|
### hasRole()
|
|
176
122
|
|
|
177
123
|
> `static` **hasRole**(`user`, `role?`, `orgUid?`): `boolean`
|
|
178
124
|
|
|
179
|
-
Defined in: [src/UserUtils.ts:
|
|
125
|
+
Defined in: [src/UserUtils.ts:82](https://github.com/rapidrest/core/blob/df82e91f4c858ef61526c7f35789a4199b84d999/src/UserUtils.ts#L82)
|
|
180
126
|
|
|
181
127
|
Returns `true` if the given user object has a role with the specified name, otherwise returns `false`.
|
|
182
128
|
|
|
@@ -210,7 +156,7 @@ The unique identifier of an organization whose role will be verified.
|
|
|
210
156
|
|
|
211
157
|
> `static` **hasRoles**(`user`, `roles?`, `orgUid?`): `boolean`
|
|
212
158
|
|
|
213
|
-
Defined in: [src/UserUtils.ts:
|
|
159
|
+
Defined in: [src/UserUtils.ts:107](https://github.com/rapidrest/core/blob/df82e91f4c858ef61526c7f35789a4199b84d999/src/UserUtils.ts#L107)
|
|
214
160
|
|
|
215
161
|
Returns `true` if the given user object has at least one role from the specified list of names, otherwise returns `false`.
|
|
216
162
|
|