@rapidrest/core 1.0.2 → 1.1.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/MessagingUtils.js +28 -13
- package/dist/lib/MessagingUtils.js.map +1 -1
- package/dist/types/MessagingUtils.d.ts +8 -0
- package/docs/reference/@rapidrest/namespaces/ObjectDecorators/functions/Config.md +1 -1
- package/docs/reference/@rapidrest/namespaces/ObjectDecorators/functions/Destroy.md +1 -1
- package/docs/reference/@rapidrest/namespaces/ObjectDecorators/functions/Init.md +1 -1
- package/docs/reference/@rapidrest/namespaces/ObjectDecorators/functions/Inject.md +1 -1
- package/docs/reference/@rapidrest/namespaces/ObjectDecorators/functions/Logger.md +1 -1
- package/docs/reference/@rapidrest/namespaces/ObjectDecorators/functions/Nullable.md +1 -1
- package/docs/reference/@rapidrest/namespaces/ObjectDecorators/functions/Validator.md +1 -1
- package/docs/reference/@rapidrest/namespaces/ObjectDecorators/type-aliases/ValidatorFunction.md +1 -1
- package/docs/reference/classes/AlertUtils.md +6 -6
- package/docs/reference/classes/ApiError.md +5 -5
- package/docs/reference/classes/ClassLoader.md +11 -11
- package/docs/reference/classes/Event.md +8 -8
- package/docs/reference/classes/EventUtils.md +4 -4
- package/docs/reference/classes/FileUtils.md +5 -5
- package/docs/reference/classes/JWTUtils.md +3 -3
- package/docs/reference/classes/MessagingUtils.md +29 -7
- package/docs/reference/classes/OASUtils.md +8 -8
- package/docs/reference/classes/ObjectFactory.md +14 -14
- package/docs/reference/classes/ObjectUtils.md +2 -2
- package/docs/reference/classes/StringUtils.md +6 -6
- package/docs/reference/classes/ThreadPool.md +11 -11
- package/docs/reference/classes/ThreadWorker.md +6 -6
- package/docs/reference/classes/UserUtils.md +8 -8
- 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 +1 -1
- package/docs/reference/interfaces/Alert.md +10 -10
- package/docs/reference/interfaces/AlertAttachment.md +5 -5
- package/docs/reference/interfaces/AlertClose.md +3 -3
- package/docs/reference/interfaces/AlertUtilsAttachmentOptions.md +4 -4
- package/docs/reference/interfaces/AlertUtilsOptions.md +4 -4
- package/docs/reference/interfaces/InstanceOptions.md +4 -4
- package/docs/reference/interfaces/JWTPayload.md +5 -5
- package/docs/reference/interfaces/JWTUser.md +5 -5
- package/docs/reference/interfaces/JWTUtilsConfig.md +4 -4
- package/docs/reference/interfaces/JWTUtilsPayloadKeyOptions.md +5 -5
- package/docs/reference/interfaces/JWTUtilsPayloadOptions.md +3 -3
- package/docs/reference/interfaces/JWTUtilsPayloadPasswordOptions.md +6 -6
- 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 +5 -5
- package/docs/reference/interfaces/Template.md +34 -10
- package/docs/reference/interfaces/TemplateMapBase.md +1 -1
- package/docs/reference/interfaces/TwilioConfig.md +4 -4
- package/docs/reference/interfaces/WorkerMessage.md +3 -3
- package/docs/reference/interfaces/WorkerOptions.md +6 -6
- package/docs/reference/type-aliases/BooleanFunc.md +1 -1
- package/docs/reference/type-aliases/TemplateMap.md +1 -1
- package/docs/reference/type-aliases/WorkerCallback.md +1 -1
- package/docs/reference/variables/Logger.md +1 -1
- package/package.json +96 -96
- package/dist/lib/threads/ThreadLogger.js +0 -42
- package/dist/lib/threads/ThreadLogger.js.map +0 -1
- package/dist/lib/threads/ThreadWorkerEntry.js +0 -76
- package/dist/lib/threads/ThreadWorkerEntry.js.map +0 -1
- package/dist/types/threads/ThreadLogger.d.ts +0 -1
- package/dist/types/threads/ThreadWorkerEntry.d.ts +0 -1
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
|
|
7
7
|
# Class: MessagingUtils
|
|
8
8
|
|
|
9
|
-
Defined in: [src/MessagingUtils.ts:
|
|
9
|
+
Defined in: [src/MessagingUtils.ts:75](https://github.com/rapidrest/core/blob/23a4f312bccd7ea3a0598e320bd5d984466027e5/src/MessagingUtils.ts#L75)
|
|
10
10
|
|
|
11
11
|
Simple utility class for sending templated messages via e-mail, SMS and more.
|
|
12
12
|
|
|
@@ -26,7 +26,7 @@ Simple utility class for sending templated messages via e-mail, SMS and more.
|
|
|
26
26
|
|
|
27
27
|
> `protected` **slackApps**: `any`[] = `[]`
|
|
28
28
|
|
|
29
|
-
Defined in: [src/MessagingUtils.ts:
|
|
29
|
+
Defined in: [src/MessagingUtils.ts:76](https://github.com/rapidrest/core/blob/23a4f312bccd7ea3a0598e320bd5d984466027e5/src/MessagingUtils.ts#L76)
|
|
30
30
|
|
|
31
31
|
***
|
|
32
32
|
|
|
@@ -34,7 +34,7 @@ Defined in: [src/MessagingUtils.ts:69](https://github.com/rapidrest/core/blob/72
|
|
|
34
34
|
|
|
35
35
|
> `protected` **slackConfigs**: `any`[] = `[]`
|
|
36
36
|
|
|
37
|
-
Defined in: [src/MessagingUtils.ts:
|
|
37
|
+
Defined in: [src/MessagingUtils.ts:78](https://github.com/rapidrest/core/blob/23a4f312bccd7ea3a0598e320bd5d984466027e5/src/MessagingUtils.ts#L78)
|
|
38
38
|
|
|
39
39
|
## Methods
|
|
40
40
|
|
|
@@ -42,7 +42,7 @@ Defined in: [src/MessagingUtils.ts:71](https://github.com/rapidrest/core/blob/72
|
|
|
42
42
|
|
|
43
43
|
> **init**(): `Promise`\<`void`\>
|
|
44
44
|
|
|
45
|
-
Defined in: [src/MessagingUtils.ts:
|
|
45
|
+
Defined in: [src/MessagingUtils.ts:90](https://github.com/rapidrest/core/blob/23a4f312bccd7ea3a0598e320bd5d984466027e5/src/MessagingUtils.ts#L90)
|
|
46
46
|
|
|
47
47
|
#### Returns
|
|
48
48
|
|
|
@@ -50,11 +50,33 @@ Defined in: [src/MessagingUtils.ts:83](https://github.com/rapidrest/core/blob/72
|
|
|
50
50
|
|
|
51
51
|
***
|
|
52
52
|
|
|
53
|
+
### loadTemplate()
|
|
54
|
+
|
|
55
|
+
> **loadTemplate**(`name`): [`Template`](../interfaces/Template.md)
|
|
56
|
+
|
|
57
|
+
Defined in: [src/MessagingUtils.ts:152](https://github.com/rapidrest/core/blob/23a4f312bccd7ea3a0598e320bd5d984466027e5/src/MessagingUtils.ts#L152)
|
|
58
|
+
|
|
59
|
+
Loads the template with the given name and returns its contents as a string.
|
|
60
|
+
|
|
61
|
+
#### Parameters
|
|
62
|
+
|
|
63
|
+
##### name
|
|
64
|
+
|
|
65
|
+
`string`
|
|
66
|
+
|
|
67
|
+
The name of the template to load.
|
|
68
|
+
|
|
69
|
+
#### Returns
|
|
70
|
+
|
|
71
|
+
[`Template`](../interfaces/Template.md)
|
|
72
|
+
|
|
73
|
+
***
|
|
74
|
+
|
|
53
75
|
### sendEmail()
|
|
54
76
|
|
|
55
77
|
> **sendEmail**(`templateName`, `templateVars`, `options`): `Promise`\<`any`\>
|
|
56
78
|
|
|
57
|
-
Defined in: [src/MessagingUtils.ts:
|
|
79
|
+
Defined in: [src/MessagingUtils.ts:184](https://github.com/rapidrest/core/blob/23a4f312bccd7ea3a0598e320bd5d984466027e5/src/MessagingUtils.ts#L184)
|
|
58
80
|
|
|
59
81
|
Sends an email using the given template name and variables.
|
|
60
82
|
|
|
@@ -88,7 +110,7 @@ The map of additional options to pass into the sendMail function.
|
|
|
88
110
|
|
|
89
111
|
> **sendSlack**(`templateName`, `templateVars`): `Promise`\<`any`[] \| `undefined`\>
|
|
90
112
|
|
|
91
|
-
Defined in: [src/MessagingUtils.ts:
|
|
113
|
+
Defined in: [src/MessagingUtils.ts:236](https://github.com/rapidrest/core/blob/23a4f312bccd7ea3a0598e320bd5d984466027e5/src/MessagingUtils.ts#L236)
|
|
92
114
|
|
|
93
115
|
Sends an Slack message using the given template name and variables.
|
|
94
116
|
|
|
@@ -116,7 +138,7 @@ The map of variables to inject into the template.
|
|
|
116
138
|
|
|
117
139
|
> **sendSMS**(`templateName`, `templateVars`, `options`): `Promise`\<`any`\>
|
|
118
140
|
|
|
119
|
-
Defined in: [src/MessagingUtils.ts:
|
|
141
|
+
Defined in: [src/MessagingUtils.ts:270](https://github.com/rapidrest/core/blob/23a4f312bccd7ea3a0598e320bd5d984466027e5/src/MessagingUtils.ts#L270)
|
|
120
142
|
|
|
121
143
|
Sends an SMS using the given template name and variables.
|
|
122
144
|
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
|
|
7
7
|
# Class: OASUtils
|
|
8
8
|
|
|
9
|
-
Defined in: [src/OASUtils.ts:12](https://github.com/rapidrest/core/blob/
|
|
9
|
+
Defined in: [src/OASUtils.ts:12](https://github.com/rapidrest/core/blob/23a4f312bccd7ea3a0598e320bd5d984466027e5/src/OASUtils.ts#L12)
|
|
10
10
|
|
|
11
11
|
## Constructors
|
|
12
12
|
|
|
@@ -24,7 +24,7 @@ Defined in: [src/OASUtils.ts:12](https://github.com/rapidrest/core/blob/72822689
|
|
|
24
24
|
|
|
25
25
|
> `static` **getDatastore**(`spec`, `name`): `any`
|
|
26
26
|
|
|
27
|
-
Defined in: [src/OASUtils.ts:20](https://github.com/rapidrest/core/blob/
|
|
27
|
+
Defined in: [src/OASUtils.ts:20](https://github.com/rapidrest/core/blob/23a4f312bccd7ea3a0598e320bd5d984466027e5/src/OASUtils.ts#L20)
|
|
28
28
|
|
|
29
29
|
Gets the datastore definition with the specified name.
|
|
30
30
|
|
|
@@ -54,7 +54,7 @@ The definition for the datastore with the given name if found, otherwise `undefi
|
|
|
54
54
|
|
|
55
55
|
> `static` **getObject**(`spec`, `path`): `any`
|
|
56
56
|
|
|
57
|
-
Defined in: [src/OASUtils.ts:37](https://github.com/rapidrest/core/blob/
|
|
57
|
+
Defined in: [src/OASUtils.ts:37](https://github.com/rapidrest/core/blob/23a4f312bccd7ea3a0598e320bd5d984466027e5/src/OASUtils.ts#L37)
|
|
58
58
|
|
|
59
59
|
Gets the specification object at the specified path.
|
|
60
60
|
|
|
@@ -84,7 +84,7 @@ The object at the specified path if found, otherwise `undefined`.
|
|
|
84
84
|
|
|
85
85
|
> `static` **getResponse**(`obj`): `any`
|
|
86
86
|
|
|
87
|
-
Defined in: [src/OASUtils.ts:64](https://github.com/rapidrest/core/blob/
|
|
87
|
+
Defined in: [src/OASUtils.ts:64](https://github.com/rapidrest/core/blob/23a4f312bccd7ea3a0598e320bd5d984466027e5/src/OASUtils.ts#L64)
|
|
88
88
|
|
|
89
89
|
Returns the first available response object for a 2XX response as defined by the provided Operation schema object.
|
|
90
90
|
|
|
@@ -106,7 +106,7 @@ The Operation schema object to search.
|
|
|
106
106
|
|
|
107
107
|
> `static` **getResponseContent**(`obj`): `any`
|
|
108
108
|
|
|
109
|
-
Defined in: [src/OASUtils.ts:83](https://github.com/rapidrest/core/blob/
|
|
109
|
+
Defined in: [src/OASUtils.ts:83](https://github.com/rapidrest/core/blob/23a4f312bccd7ea3a0598e320bd5d984466027e5/src/OASUtils.ts#L83)
|
|
110
110
|
|
|
111
111
|
Returns the first available response content object for a 2XX response as defined by the provided Operation schema object.
|
|
112
112
|
|
|
@@ -128,7 +128,7 @@ The Operation schema object to search.
|
|
|
128
128
|
|
|
129
129
|
> `static` **getSchema**(`spec`, `name`): `any`
|
|
130
130
|
|
|
131
|
-
Defined in: [src/OASUtils.ts:95](https://github.com/rapidrest/core/blob/
|
|
131
|
+
Defined in: [src/OASUtils.ts:95](https://github.com/rapidrest/core/blob/23a4f312bccd7ea3a0598e320bd5d984466027e5/src/OASUtils.ts#L95)
|
|
132
132
|
|
|
133
133
|
Retrieves the schema definition with the given name.
|
|
134
134
|
|
|
@@ -158,7 +158,7 @@ The schema definition with the given name.
|
|
|
158
158
|
|
|
159
159
|
> `static` **getTypeInfo**(`schemaDef`, `spec`, `convertDataType`): `any`
|
|
160
160
|
|
|
161
|
-
Defined in: [src/OASUtils.ts:118](https://github.com/rapidrest/core/blob/
|
|
161
|
+
Defined in: [src/OASUtils.ts:118](https://github.com/rapidrest/core/blob/23a4f312bccd7ea3a0598e320bd5d984466027e5/src/OASUtils.ts#L118)
|
|
162
162
|
|
|
163
163
|
Extracts the type information for a given schema Object definition.
|
|
164
164
|
|
|
@@ -194,7 +194,7 @@ A tuple containing the type, subType and subSchemaRef information.
|
|
|
194
194
|
|
|
195
195
|
> `static` **loadSpec**(`file`): `Promise`\<`any`\>
|
|
196
196
|
|
|
197
|
-
Defined in: [src/OASUtils.ts:173](https://github.com/rapidrest/core/blob/
|
|
197
|
+
Defined in: [src/OASUtils.ts:173](https://github.com/rapidrest/core/blob/23a4f312bccd7ea3a0598e320bd5d984466027e5/src/OASUtils.ts#L173)
|
|
198
198
|
|
|
199
199
|
Attempts to load the Open API specification at the given path or URL.
|
|
200
200
|
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
|
|
7
7
|
# Class: ObjectFactory
|
|
8
8
|
|
|
9
|
-
Defined in: [src/ObjectFactory.ts:24](https://github.com/rapidrest/core/blob/
|
|
9
|
+
Defined in: [src/ObjectFactory.ts:24](https://github.com/rapidrest/core/blob/23a4f312bccd7ea3a0598e320bd5d984466027e5/src/ObjectFactory.ts#L24)
|
|
10
10
|
|
|
11
11
|
The `ObjectFactory` is a manager for creating objects based on registered
|
|
12
12
|
class types. This allows for the tracking of multiple instances of objects
|
|
@@ -22,7 +22,7 @@ Jean-Philippe Steinmetz
|
|
|
22
22
|
|
|
23
23
|
> **new ObjectFactory**(`config?`, `logger?`): `ObjectFactory`
|
|
24
24
|
|
|
25
|
-
Defined in: [src/ObjectFactory.ts:37](https://github.com/rapidrest/core/blob/
|
|
25
|
+
Defined in: [src/ObjectFactory.ts:37](https://github.com/rapidrest/core/blob/23a4f312bccd7ea3a0598e320bd5d984466027e5/src/ObjectFactory.ts#L37)
|
|
26
26
|
|
|
27
27
|
#### Parameters
|
|
28
28
|
|
|
@@ -44,7 +44,7 @@ Defined in: [src/ObjectFactory.ts:37](https://github.com/rapidrest/core/blob/728
|
|
|
44
44
|
|
|
45
45
|
> `readonly` **classes**: `Map`\<`string`, `any`\>
|
|
46
46
|
|
|
47
|
-
Defined in: [src/ObjectFactory.ts:26](https://github.com/rapidrest/core/blob/
|
|
47
|
+
Defined in: [src/ObjectFactory.ts:26](https://github.com/rapidrest/core/blob/23a4f312bccd7ea3a0598e320bd5d984466027e5/src/ObjectFactory.ts#L26)
|
|
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:29](https://github.com/rapidrest/core/blob/
|
|
57
|
+
Defined in: [src/ObjectFactory.ts:29](https://github.com/rapidrest/core/blob/23a4f312bccd7ea3a0598e320bd5d984466027e5/src/ObjectFactory.ts#L29)
|
|
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:32](https://github.com/rapidrest/core/blob/
|
|
67
|
+
Defined in: [src/ObjectFactory.ts:32](https://github.com/rapidrest/core/blob/23a4f312bccd7ea3a0598e320bd5d984466027e5/src/ObjectFactory.ts#L32)
|
|
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:35](https://github.com/rapidrest/core/blob/
|
|
77
|
+
Defined in: [src/ObjectFactory.ts:35](https://github.com/rapidrest/core/blob/23a4f312bccd7ea3a0598e320bd5d984466027e5/src/ObjectFactory.ts#L35)
|
|
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:104](https://github.com/rapidrest/core/blob/
|
|
87
|
+
Defined in: [src/ObjectFactory.ts:104](https://github.com/rapidrest/core/blob/23a4f312bccd7ea3a0598e320bd5d984466027e5/src/ObjectFactory.ts#L104)
|
|
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:111](https://github.com/rapidrest/core/blob/
|
|
101
|
+
Defined in: [src/ObjectFactory.ts:111](https://github.com/rapidrest/core/blob/23a4f312bccd7ea3a0598e320bd5d984466027e5/src/ObjectFactory.ts#L111)
|
|
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:47](https://github.com/rapidrest/core/blob/
|
|
115
|
+
Defined in: [src/ObjectFactory.ts:47](https://github.com/rapidrest/core/blob/23a4f312bccd7ea3a0598e320bd5d984466027e5/src/ObjectFactory.ts#L47)
|
|
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:186](https://github.com/rapidrest/core/blob/
|
|
135
|
+
Defined in: [src/ObjectFactory.ts:186](https://github.com/rapidrest/core/blob/23a4f312bccd7ea3a0598e320bd5d984466027e5/src/ObjectFactory.ts#L186)
|
|
136
136
|
|
|
137
137
|
Searches an object for one or more functions that implement a `@Init` decorator.
|
|
138
138
|
|
|
@@ -156,7 +156,7 @@ 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:220](https://github.com/rapidrest/core/blob/
|
|
159
|
+
Defined in: [src/ObjectFactory.ts:220](https://github.com/rapidrest/core/blob/23a4f312bccd7ea3a0598e320bd5d984466027e5/src/ObjectFactory.ts#L220)
|
|
160
160
|
|
|
161
161
|
Returns the object instance with the given unique name. Unique names take the form `<ClassName>:<InstanceName>`.
|
|
162
162
|
It is possible to only specifiy the `<ClassName>`, doing so will automatically look for the `<ClassName>:default`
|
|
@@ -188,7 +188,7 @@ The object instance associated with the given name if found, otherwise `undefine
|
|
|
188
188
|
|
|
189
189
|
> **initialize**\<`T`\>(`obj`): `Promise`\<`T`\>
|
|
190
190
|
|
|
191
|
-
Defined in: [src/ObjectFactory.ts:120](https://github.com/rapidrest/core/blob/
|
|
191
|
+
Defined in: [src/ObjectFactory.ts:120](https://github.com/rapidrest/core/blob/23a4f312bccd7ea3a0598e320bd5d984466027e5/src/ObjectFactory.ts#L120)
|
|
192
192
|
|
|
193
193
|
Scans the given object for any properties with the `@Inject` decorator and assigns the correct values.
|
|
194
194
|
|
|
@@ -216,7 +216,7 @@ 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:265](https://github.com/rapidrest/core/blob/
|
|
219
|
+
Defined in: [src/ObjectFactory.ts:265](https://github.com/rapidrest/core/blob/23a4f312bccd7ea3a0598e320bd5d984466027e5/src/ObjectFactory.ts#L265)
|
|
220
220
|
|
|
221
221
|
Creates a new instance of the class specified with the provided unique name or type and constructor arguments. If an existing
|
|
222
222
|
object has already been created with the given name, that instance is returned, otherwise a new instance is created
|
|
@@ -251,7 +251,7 @@ via the constructor name.
|
|
|
251
251
|
|
|
252
252
|
> **register**(`clazz`, `fqn?`): `void`
|
|
253
253
|
|
|
254
|
-
Defined in: [src/ObjectFactory.ts:336](https://github.com/rapidrest/core/blob/
|
|
254
|
+
Defined in: [src/ObjectFactory.ts:336](https://github.com/rapidrest/core/blob/23a4f312bccd7ea3a0598e320bd5d984466027e5/src/ObjectFactory.ts#L336)
|
|
255
255
|
|
|
256
256
|
Registers the given class type for the provided fully qualified name.
|
|
257
257
|
|
|
@@ -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/23a4f312bccd7ea3a0598e320bd5d984466027e5/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/23a4f312bccd7ea3a0598e320bd5d984466027e5/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/23a4f312bccd7ea3a0598e320bd5d984466027e5/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/23a4f312bccd7ea3a0598e320bd5d984466027e5/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/23a4f312bccd7ea3a0598e320bd5d984466027e5/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:82](https://github.com/rapidrest/core/blob/
|
|
87
|
+
Defined in: [src/StringUtils.ts:82](https://github.com/rapidrest/core/blob/23a4f312bccd7ea3a0598e320bd5d984466027e5/src/StringUtils.ts#L82)
|
|
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.
|
|
@@ -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:100](https://github.com/rapidrest/core/blob/
|
|
129
|
+
Defined in: [src/StringUtils.ts:100](https://github.com/rapidrest/core/blob/23a4f312bccd7ea3a0598e320bd5d984466027e5/src/StringUtils.ts#L100)
|
|
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:110](https://github.com/rapidrest/core/blob/
|
|
153
|
+
Defined in: [src/StringUtils.ts:110](https://github.com/rapidrest/core/blob/23a4f312bccd7ea3a0598e320bd5d984466027e5/src/StringUtils.ts#L110)
|
|
154
154
|
|
|
155
155
|
Converts the first character in the given string to be uppercase (e.g. MyVariable).
|
|
156
156
|
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
|
|
7
7
|
# Class: ThreadPool
|
|
8
8
|
|
|
9
|
-
Defined in: [src/threads/ThreadPool.ts:62](https://github.com/rapidrest/core/blob/
|
|
9
|
+
Defined in: [src/threads/ThreadPool.ts:62](https://github.com/rapidrest/core/blob/23a4f312bccd7ea3a0598e320bd5d984466027e5/src/threads/ThreadPool.ts#L62)
|
|
10
10
|
|
|
11
11
|
The `ThreadPool` class provides an interface for managing a pool of execution threads that can be used for parallel
|
|
12
12
|
code execution. `ThreadPool` is a wrapper to the `worker_threads` API to add support for multiple `Worker` instances.
|
|
@@ -42,7 +42,7 @@ Jean-Philippe Steinmetz
|
|
|
42
42
|
|
|
43
43
|
> **new ThreadPool**(`max`, `logger?`): `ThreadPool`
|
|
44
44
|
|
|
45
|
-
Defined in: [src/threads/ThreadPool.ts:98](https://github.com/rapidrest/core/blob/
|
|
45
|
+
Defined in: [src/threads/ThreadPool.ts:98](https://github.com/rapidrest/core/blob/23a4f312bccd7ea3a0598e320bd5d984466027e5/src/threads/ThreadPool.ts#L98)
|
|
46
46
|
|
|
47
47
|
Creates a new `ThreadPool` instance with the specified defaults.
|
|
48
48
|
|
|
@@ -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:74](https://github.com/rapidrest/core/blob/
|
|
73
|
+
Defined in: [src/threads/ThreadPool.ts:74](https://github.com/rapidrest/core/blob/23a4f312bccd7ea3a0598e320bd5d984466027e5/src/threads/ThreadPool.ts#L74)
|
|
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:81](https://github.com/rapidrest/core/blob/
|
|
85
|
+
Defined in: [src/threads/ThreadPool.ts:81](https://github.com/rapidrest/core/blob/23a4f312bccd7ea3a0598e320bd5d984466027e5/src/threads/ThreadPool.ts#L81)
|
|
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:88](https://github.com/rapidrest/core/blob/
|
|
101
|
+
Defined in: [src/threads/ThreadPool.ts:88](https://github.com/rapidrest/core/blob/23a4f312bccd7ea3a0598e320bd5d984466027e5/src/threads/ThreadPool.ts#L88)
|
|
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:251](https://github.com/rapidrest/core/blob/
|
|
115
|
+
Defined in: [src/threads/ThreadPool.ts:251](https://github.com/rapidrest/core/blob/23a4f312bccd7ea3a0598e320bd5d984466027e5/src/threads/ThreadPool.ts#L251)
|
|
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:264](https://github.com/rapidrest/core/blob/
|
|
143
|
+
Defined in: [src/threads/ThreadPool.ts:264](https://github.com/rapidrest/core/blob/23a4f312bccd7ea3a0598e320bd5d984466027e5/src/threads/ThreadPool.ts#L264)
|
|
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:279](https://github.com/rapidrest/core/blob/
|
|
165
|
+
Defined in: [src/threads/ThreadPool.ts:279](https://github.com/rapidrest/core/blob/23a4f312bccd7ea3a0598e320bd5d984466027e5/src/threads/ThreadPool.ts#L279)
|
|
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:290](https://github.com/rapidrest/core/blob/
|
|
187
|
+
Defined in: [src/threads/ThreadPool.ts:290](https://github.com/rapidrest/core/blob/23a4f312bccd7ea3a0598e320bd5d984466027e5/src/threads/ThreadPool.ts#L290)
|
|
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:177](https://github.com/rapidrest/core/blob/
|
|
215
|
+
Defined in: [src/threads/ThreadPool.ts:177](https://github.com/rapidrest/core/blob/23a4f312bccd7ea3a0598e320bd5d984466027e5/src/threads/ThreadPool.ts#L177)
|
|
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:224](https://github.com/rapidrest/core/blob/
|
|
243
|
+
Defined in: [src/threads/ThreadPool.ts:224](https://github.com/rapidrest/core/blob/23a4f312bccd7ea3a0598e320bd5d984466027e5/src/threads/ThreadPool.ts#L224)
|
|
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/23a4f312bccd7ea3a0598e320bd5d984466027e5/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/23a4f312bccd7ea3a0598e320bd5d984466027e5/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/23a4f312bccd7ea3a0598e320bd5d984466027e5/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/23a4f312bccd7ea3a0598e320bd5d984466027e5/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/23a4f312bccd7ea3a0598e320bd5d984466027e5/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/23a4f312bccd7ea3a0598e320bd5d984466027e5/src/threads/ThreadWorker.ts#L51)
|
|
86
86
|
|
|
87
87
|
Stops execution of all work and shuts down the thread worker.
|
|
88
88
|
|
|
@@ -6,7 +6,7 @@
|
|
|
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/23a4f312bccd7ea3a0598e320bd5d984466027e5/src/UserUtils.ts#L16)
|
|
10
10
|
|
|
11
11
|
Utilities for working with authenticated user objects. An user object is expected to have the following
|
|
12
12
|
properties.
|
|
@@ -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:96](https://github.com/rapidrest/core/blob/
|
|
39
|
+
Defined in: [src/UserUtils.ts:96](https://github.com/rapidrest/core/blob/23a4f312bccd7ea3a0598e320bd5d984466027e5/src/UserUtils.ts#L96)
|
|
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/23a4f312bccd7ea3a0598e320bd5d984466027e5/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/23a4f312bccd7ea3a0598e320bd5d984466027e5/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
|
|
|
@@ -122,7 +122,7 @@ The list of universally unique identifiers to search for.
|
|
|
122
122
|
|
|
123
123
|
> `static` **hasPersona**(`user`, `personaUid?`): `boolean`
|
|
124
124
|
|
|
125
|
-
Defined in: [src/UserUtils.ts:58](https://github.com/rapidrest/core/blob/
|
|
125
|
+
Defined in: [src/UserUtils.ts:58](https://github.com/rapidrest/core/blob/23a4f312bccd7ea3a0598e320bd5d984466027e5/src/UserUtils.ts#L58)
|
|
126
126
|
|
|
127
127
|
Returns `true` if the given user object contains a `Persona` object with the specified uid, otherwise returns `false`.
|
|
128
128
|
|
|
@@ -150,7 +150,7 @@ The universally unique identifier of the persona to search for.
|
|
|
150
150
|
|
|
151
151
|
> `static` **hasPersonas**(`user`, `personaUids?`): `boolean`
|
|
152
152
|
|
|
153
|
-
Defined in: [src/UserUtils.ts:75](https://github.com/rapidrest/core/blob/
|
|
153
|
+
Defined in: [src/UserUtils.ts:75](https://github.com/rapidrest/core/blob/23a4f312bccd7ea3a0598e320bd5d984466027e5/src/UserUtils.ts#L75)
|
|
154
154
|
|
|
155
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
156
|
|
|
@@ -176,7 +176,7 @@ The user object to inspect.
|
|
|
176
176
|
|
|
177
177
|
> `static` **hasRole**(`user`, `role?`, `orgUid?`): `boolean`
|
|
178
178
|
|
|
179
|
-
Defined in: [src/UserUtils.ts:118](https://github.com/rapidrest/core/blob/
|
|
179
|
+
Defined in: [src/UserUtils.ts:118](https://github.com/rapidrest/core/blob/23a4f312bccd7ea3a0598e320bd5d984466027e5/src/UserUtils.ts#L118)
|
|
180
180
|
|
|
181
181
|
Returns `true` if the given user object has a role with the specified name, otherwise returns `false`.
|
|
182
182
|
|
|
@@ -210,7 +210,7 @@ The unique identifier of an organization whose role will be verified.
|
|
|
210
210
|
|
|
211
211
|
> `static` **hasRoles**(`user`, `roles?`, `orgUid?`): `boolean`
|
|
212
212
|
|
|
213
|
-
Defined in: [src/UserUtils.ts:143](https://github.com/rapidrest/core/blob/
|
|
213
|
+
Defined in: [src/UserUtils.ts:143](https://github.com/rapidrest/core/blob/23a4f312bccd7ea3a0598e320bd5d984466027e5/src/UserUtils.ts#L143)
|
|
214
214
|
|
|
215
215
|
Returns `true` if the given user object has at least one role from the specified list of names, otherwise returns `false`.
|
|
216
216
|
|