@casual-simulation/aux-records 3.8.1 → 3.10.2
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/AIChatInterface.d.ts +7 -43
- package/AIChatInterface.js +8 -6
- package/AIChatInterface.js.map +1 -1
- package/AIController.js +44 -49
- package/AIController.js.map +1 -1
- package/AIOpenAIRealtimeInterface.d.ts +1 -1
- package/AnthropicAIChatInterface.js +4 -4
- package/AnthropicAIChatInterface.js.map +1 -1
- package/AuthController.d.ts +78 -10
- package/AuthController.js +230 -166
- package/AuthController.js.map +1 -1
- package/AuthStore.d.ts +317 -4
- package/BigIntPatch.d.ts +1 -0
- package/BigIntPatch.js +24 -0
- package/BigIntPatch.js.map +1 -0
- package/BlockadeLabsGenerateSkyboxInterface.js +4 -4
- package/BlockadeLabsGenerateSkyboxInterface.js.map +1 -1
- package/CachingConfigStore.d.ts +8 -1
- package/CachingConfigStore.js +50 -0
- package/CachingConfigStore.js.map +1 -1
- package/ComIdConfig.d.ts +132 -86
- package/ComIdConfig.js +5 -5
- package/ComIdConfig.js.map +1 -1
- package/ConfigurationStore.d.ts +1393 -3
- package/ConfigurationStore.js +49 -0
- package/ConfigurationStore.js.map +1 -1
- package/DataRecordsController.js +28 -28
- package/DataRecordsController.js.map +1 -1
- package/EventRecordsController.js +9 -9
- package/EventRecordsController.js.map +1 -1
- package/FileRecordsController.js +18 -17
- package/FileRecordsController.js.map +1 -1
- package/GoogleAIChatInterface.js +4 -4
- package/GoogleAIChatInterface.js.map +1 -1
- package/HttpTestUtils.d.ts +48 -0
- package/HttpTestUtils.js +256 -0
- package/HttpTestUtils.js.map +1 -0
- package/LivekitController.js +2 -2
- package/LivekitController.js.map +1 -1
- package/LoomController.js +3 -4
- package/LoomController.js.map +1 -1
- package/MemoryStore.d.ts +60 -7
- package/MemoryStore.js +427 -59
- package/MemoryStore.js.map +1 -1
- package/MetricsStore.d.ts +11 -0
- package/ModerationConfiguration.d.ts +11 -85
- package/ModerationConfiguration.js +17 -17
- package/ModerationConfiguration.js.map +1 -1
- package/ModerationController.js +9 -11
- package/ModerationController.js.map +1 -1
- package/OpenAIChatInterface.js +8 -13
- package/OpenAIChatInterface.js.map +1 -1
- package/OpenAIImageInterface.js +4 -5
- package/OpenAIImageInterface.js.map +1 -1
- package/PolicyController.js +66 -73
- package/PolicyController.js.map +1 -1
- package/PolicyStore.d.ts +59 -33
- package/PolicyStore.js +35 -1
- package/PolicyStore.js.map +1 -1
- package/PrivoClient.d.ts +3 -1
- package/PrivoClient.js +2 -4
- package/PrivoClient.js.map +1 -1
- package/PrivoConfiguration.d.ts +6 -72
- package/PrivoConfiguration.js +30 -31
- package/PrivoConfiguration.js.map +1 -1
- package/README.md +276 -2
- package/RateLimitController.js +2 -2
- package/RateLimitController.js.map +1 -1
- package/RecordsClient.d.ts +3 -1
- package/RecordsClient.js +6 -6
- package/RecordsClient.js.map +1 -1
- package/RecordsController.d.ts +145 -3
- package/RecordsController.js +399 -61
- package/RecordsController.js.map +1 -1
- package/RecordsServer.d.ts +1932 -1109
- package/RecordsStore.d.ts +99 -14
- package/RecordsStore.js +8 -10
- package/RecordsStore.js.map +1 -1
- package/ServerConfig.d.ts +698 -9867
- package/ServerConfig.js +457 -377
- package/ServerConfig.js.map +1 -1
- package/SloydInterface.js +1 -1
- package/SloydInterface.js.map +1 -1
- package/StabilityAIImageInterface.js +6 -9
- package/StabilityAIImageInterface.js.map +1 -1
- package/StripeInterface.d.ts +431 -287
- package/StripeInterface.js +21 -1
- package/StripeInterface.js.map +1 -1
- package/SubscriptionConfigBuilder.d.ts +10 -1
- package/SubscriptionConfigBuilder.js +72 -41
- package/SubscriptionConfigBuilder.js.map +1 -1
- package/SubscriptionConfiguration.d.ts +606 -6334
- package/SubscriptionConfiguration.js +460 -277
- package/SubscriptionConfiguration.js.map +1 -1
- package/SubscriptionController.d.ts +677 -4
- package/SubscriptionController.js +2986 -186
- package/SubscriptionController.js.map +1 -1
- package/SystemNotificationMessenger.d.ts +14 -70
- package/SystemNotificationMessenger.js +17 -20
- package/SystemNotificationMessenger.js.map +1 -1
- package/TestUtils.d.ts +18 -3
- package/TestUtils.js +84 -8
- package/TestUtils.js.map +1 -1
- package/TypeUtils.d.ts +991 -0
- package/TypeUtils.js +2 -0
- package/TypeUtils.js.map +1 -0
- package/Utils.d.ts +59 -0
- package/Utils.js +507 -3
- package/Utils.js.map +1 -1
- package/Validations.d.ts +24 -108
- package/Validations.js +62 -45
- package/Validations.js.map +1 -1
- package/ViewTemplateRenderer.d.ts +39 -0
- package/ViewTemplateRenderer.js +19 -0
- package/ViewTemplateRenderer.js.map +1 -0
- package/contracts/ContractRecordsController.d.ts +58 -0
- package/contracts/ContractRecordsController.js +144 -0
- package/contracts/ContractRecordsController.js.map +1 -0
- package/contracts/ContractRecordsStore.d.ts +285 -0
- package/contracts/ContractRecordsStore.js +19 -0
- package/contracts/ContractRecordsStore.js.map +1 -0
- package/contracts/MemoryContractRecordsStore.d.ts +27 -0
- package/contracts/MemoryContractRecordsStore.js +124 -0
- package/contracts/MemoryContractRecordsStore.js.map +1 -0
- package/contracts/index.d.ts +4 -0
- package/contracts/index.js +21 -0
- package/contracts/index.js.map +1 -0
- package/crud/CrudHelpers.d.ts +25 -26
- package/crud/CrudHelpers.js +1 -1
- package/crud/CrudHelpers.js.map +1 -1
- package/crud/CrudRecordsController.js +13 -16
- package/crud/CrudRecordsController.js.map +1 -1
- package/crud/CrudRecordsControllerTests.d.ts +2 -2
- package/crud/CrudRecordsControllerTests.js +605 -580
- package/crud/CrudRecordsControllerTests.js.map +1 -1
- package/crud/MemoryCrudRecordsStore.js +1 -2
- package/crud/MemoryCrudRecordsStore.js.map +1 -1
- package/crud/sub/MemorySubCrudRecordsStore.js +4 -6
- package/crud/sub/MemorySubCrudRecordsStore.js.map +1 -1
- package/crud/sub/SubCrudRecordsController.js +8 -8
- package/crud/sub/SubCrudRecordsController.js.map +1 -1
- package/database/DatabaseRecordsController.js +1 -2
- package/database/DatabaseRecordsController.js.map +1 -1
- package/database/SqliteDatabaseInterface.js +1 -2
- package/database/SqliteDatabaseInterface.js.map +1 -1
- package/dns/DNSDomainNameValidator.d.ts +11 -0
- package/dns/DNSDomainNameValidator.js +59 -0
- package/dns/DNSDomainNameValidator.js.map +1 -0
- package/dns/DomainNameValidator.d.ts +36 -0
- package/dns/DomainNameValidator.js +19 -0
- package/dns/DomainNameValidator.js.map +1 -0
- package/dns/index.d.ts +3 -0
- package/dns/index.js +20 -0
- package/dns/index.js.map +1 -0
- package/financial/FinancialController.d.ts +272 -0
- package/financial/FinancialController.js +762 -0
- package/financial/FinancialController.js.map +1 -0
- package/financial/FinancialInterface.d.ts +352 -0
- package/financial/FinancialInterface.js +642 -0
- package/financial/FinancialInterface.js.map +1 -0
- package/financial/FinancialStore.d.ts +186 -0
- package/financial/FinancialStore.js +19 -0
- package/financial/FinancialStore.js.map +1 -0
- package/financial/MemoryFinancialInterface.d.ts +23 -0
- package/financial/MemoryFinancialInterface.js +592 -0
- package/financial/MemoryFinancialInterface.js.map +1 -0
- package/financial/TigerBeetleFinancialInterface.d.ts +46 -0
- package/financial/TigerBeetleFinancialInterface.js +109 -0
- package/financial/TigerBeetleFinancialInterface.js.map +1 -0
- package/financial/TigerBeetleTestUtils.d.ts +40 -0
- package/financial/TigerBeetleTestUtils.js +185 -0
- package/financial/TigerBeetleTestUtils.js.map +1 -0
- package/financial/Types.d.ts +1 -0
- package/financial/Types.js +801 -0
- package/financial/Types.js.map +1 -0
- package/financial/index.d.ts +6 -0
- package/financial/index.js +24 -0
- package/financial/index.js.map +1 -0
- package/index.d.ts +4 -0
- package/index.js +3 -0
- package/index.js.map +1 -1
- package/notifications/NotificationRecordsController.js +14 -14
- package/notifications/NotificationRecordsController.js.map +1 -1
- package/notifications/WebPushInterface.d.ts +24 -155
- package/notifications/WebPushInterface.js +2 -2
- package/notifications/WebPushInterface.js.map +1 -1
- package/package.json +72 -70
- package/packages/version/MemoryPackageVersionRecordsStore.js +12 -15
- package/packages/version/MemoryPackageVersionRecordsStore.js.map +1 -1
- package/packages/version/PackageVersionRecordsController.d.ts +19 -0
- package/packages/version/PackageVersionRecordsController.js +102 -22
- package/packages/version/PackageVersionRecordsController.js.map +1 -1
- package/packages/version/PackageVersionRecordsStore.js +6 -8
- package/packages/version/PackageVersionRecordsStore.js.map +1 -1
- package/purchasable-items/MemoryPurchasableItemRecordsStore.d.ts +7 -0
- package/purchasable-items/MemoryPurchasableItemRecordsStore.js +33 -0
- package/purchasable-items/MemoryPurchasableItemRecordsStore.js.map +1 -0
- package/purchasable-items/PurchasableItemRecordsController.d.ts +16 -0
- package/purchasable-items/PurchasableItemRecordsController.js +72 -0
- package/purchasable-items/PurchasableItemRecordsController.js.map +1 -0
- package/purchasable-items/PurchasableItemRecordsStore.d.ts +66 -0
- package/purchasable-items/PurchasableItemRecordsStore.js +2 -0
- package/purchasable-items/PurchasableItemRecordsStore.js.map +1 -0
- package/purchasable-items/index.d.ts +4 -0
- package/purchasable-items/index.js +21 -0
- package/purchasable-items/index.js.map +1 -0
- package/queue/MemoryQueue.js +1 -1
- package/queue/MemoryQueue.js.map +1 -1
- package/search/MemorySearchInterface.js +1 -2
- package/search/MemorySearchInterface.js.map +1 -1
- package/search/SearchRecordsController.d.ts +66 -244
- package/search/SearchRecordsController.js +35 -36
- package/search/SearchRecordsController.js.map +1 -1
- package/search/SearchSyncProcessor.d.ts +7 -83
- package/search/TypesenseSearchInterface.js +8 -11
- package/search/TypesenseSearchInterface.js.map +1 -1
- package/tracing/TracingDecorators.js +5 -8
- package/tracing/TracingDecorators.js.map +1 -1
- package/webhooks/WebhookEnvironment.d.ts +36 -560
- package/webhooks/WebhookEnvironment.js +1 -1
- package/webhooks/WebhookEnvironment.js.map +1 -1
- package/webhooks/WebhookRecordsController.js +14 -16
- package/webhooks/WebhookRecordsController.js.map +1 -1
- package/websockets/MemoryLockStore.d.ts +18 -0
- package/websockets/MemoryLockStore.js +2 -0
- package/websockets/MemoryLockStore.js.map +1 -0
- package/websockets/MemoryTempInstRecordsStore.js +15 -27
- package/websockets/MemoryTempInstRecordsStore.js.map +1 -1
- package/websockets/MemoryWebsocketConnectionStore.js +6 -8
- package/websockets/MemoryWebsocketConnectionStore.js.map +1 -1
- package/websockets/MemoryWebsocketMessenger.js +1 -2
- package/websockets/MemoryWebsocketMessenger.js.map +1 -1
- package/websockets/SplitInstRecordsStore.js +2 -2
- package/websockets/SplitInstRecordsStore.js.map +1 -1
- package/websockets/WebsocketController.d.ts +5 -0
- package/websockets/WebsocketController.js +122 -83
- package/websockets/WebsocketController.js.map +1 -1
- package/RecordsServer.js +0 -6435
- package/RecordsServer.js.map +0 -1
package/TypeUtils.js
ADDED
package/TypeUtils.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TypeUtils.js","sourceRoot":"","sources":["TypeUtils.ts"],"names":[],"mappings":""}
|
package/Utils.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { ArrayOfKASP, ISO4217_Map } from './TypeUtils';
|
|
1
2
|
/**
|
|
2
3
|
* Signs the given request and adds the related headers to it.
|
|
3
4
|
* @param request The request to sign.
|
|
@@ -56,6 +57,21 @@ export declare function canonicalUriEncode(input: string, encodeSlash: boolean):
|
|
|
56
57
|
* @param char The character to encode.
|
|
57
58
|
*/
|
|
58
59
|
export declare function encodeHexUtf8(char: number): string;
|
|
60
|
+
export declare const iSO4217_AlphaArray: (keyof ISO4217_Map)[];
|
|
61
|
+
declare const ISO4217_Map: ArrayOfKASP<ISO4217_Map, ['n', 'mU']>;
|
|
62
|
+
/**
|
|
63
|
+
* Gets the ISO 4217 currency meta for the given currency name
|
|
64
|
+
* or numeric code
|
|
65
|
+
* @important
|
|
66
|
+
* ! Be sure to validate that the implementing service supports
|
|
67
|
+
* ! the currency as well as the minor unit count (if applicable)
|
|
68
|
+
* @param query The currency name or numeric code
|
|
69
|
+
*/
|
|
70
|
+
export declare function getISO4217CurrencyCode(query: keyof ISO4217_Map | ISO4217_Map[keyof ISO4217_Map]['n']): [
|
|
71
|
+
keyof ISO4217_Map,
|
|
72
|
+
ISO4217_Map[keyof ISO4217_Map]['n'],
|
|
73
|
+
ISO4217_Map[keyof ISO4217_Map]['mU']
|
|
74
|
+
];
|
|
59
75
|
/**
|
|
60
76
|
* Parses the given string of instance names into an array of instance names.
|
|
61
77
|
* @param instances The names of the instances.
|
|
@@ -66,6 +82,48 @@ export declare function parseInstancesList(instances: string): string[] | undefi
|
|
|
66
82
|
* @param obj The object to cleanup.
|
|
67
83
|
*/
|
|
68
84
|
export declare function cleanupObject<T extends object>(obj: T): Partial<T>;
|
|
85
|
+
/**
|
|
86
|
+
* A function which returns true if param val is found to be type / instance of any specified in param constructorArray
|
|
87
|
+
* @param val The value whose type / instance to check the presence of in constructorArray
|
|
88
|
+
* @param constructorArray The array which contains the allowed types / instances for parameter val
|
|
89
|
+
*/
|
|
90
|
+
export declare function isOfXType<T>(val: T, constructorArray: Array<Function | undefined | null>): boolean;
|
|
91
|
+
/**
|
|
92
|
+
* Clones the given record or returns null if the record is undefined.
|
|
93
|
+
* @param record The record to clone.
|
|
94
|
+
*/
|
|
95
|
+
export declare function cloneDeepNull<T extends Record<keyof any, any>>(record: T | undefined): T;
|
|
96
|
+
/**
|
|
97
|
+
* Tries to parse the given JSON string into a JavaScript Value.
|
|
98
|
+
* @param json The JSON to parse.
|
|
99
|
+
*/
|
|
100
|
+
export declare function tryParseJson(json: string): JsonParseResult;
|
|
101
|
+
interface ScopedErrorConfig {
|
|
102
|
+
/** The scope of the function. E.g. [ClassName, FunctionName] */
|
|
103
|
+
scope: Array<string> | string;
|
|
104
|
+
/** The message to log if an error occurs. */
|
|
105
|
+
errMsg: string;
|
|
106
|
+
}
|
|
107
|
+
export declare function scopedError(errConfig: ScopedErrorConfig, err: string): void;
|
|
108
|
+
interface ScopedTryConfig<E> extends ScopedErrorConfig {
|
|
109
|
+
/** The value to return if an error occurs. */
|
|
110
|
+
returnOnError?: E;
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Attempts to run the given function and logs an error if it fails with a standard error format which includes the scope and message.
|
|
114
|
+
* @param fn The function to run.
|
|
115
|
+
* @param errConfig The configuration for proper logging and return value if an error occurs.
|
|
116
|
+
*/
|
|
117
|
+
export declare function tryScope<T, E>(fn: () => T, errConfig: ScopedTryConfig<E>): Promise<T | E>;
|
|
118
|
+
export type JsonParseResult = JsonParseSuccess | JsonParseFailure;
|
|
119
|
+
export interface JsonParseSuccess {
|
|
120
|
+
success: true;
|
|
121
|
+
value: any;
|
|
122
|
+
}
|
|
123
|
+
export interface JsonParseFailure {
|
|
124
|
+
success: false;
|
|
125
|
+
error: Error;
|
|
126
|
+
}
|
|
69
127
|
export interface RegexRule {
|
|
70
128
|
type: 'allow' | 'deny';
|
|
71
129
|
pattern: string;
|
|
@@ -128,4 +186,5 @@ export declare function handleAxiosErrors(err: any): void;
|
|
|
128
186
|
* @param str The string.
|
|
129
187
|
*/
|
|
130
188
|
export declare function byteLengthOfString(str: string): number;
|
|
189
|
+
export {};
|
|
131
190
|
//# sourceMappingURL=Utils.d.ts.map
|
package/Utils.js
CHANGED
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
* You should have received a copy of the GNU Affero General Public License
|
|
16
16
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|
17
17
|
*/
|
|
18
|
-
import { omitBy, padStart, sortBy } from 'es-toolkit/compat';
|
|
18
|
+
import { cloneDeep, omitBy, padStart, sortBy } from 'es-toolkit/compat';
|
|
19
19
|
import { sha256, hmac } from 'hash.js';
|
|
20
20
|
import { PUBLIC_READ_MARKER } from '@casual-simulation/aux-common';
|
|
21
21
|
import axios from 'axios';
|
|
@@ -223,6 +223,381 @@ function getAmzDateString(date) {
|
|
|
223
223
|
padStart(date.getUTCSeconds().toString(), 2, '0') +
|
|
224
224
|
'Z');
|
|
225
225
|
}
|
|
226
|
+
export const iSO4217_AlphaArray = [
|
|
227
|
+
'AED',
|
|
228
|
+
'AFN',
|
|
229
|
+
'ALL',
|
|
230
|
+
'AMD',
|
|
231
|
+
'ANG',
|
|
232
|
+
'AOA',
|
|
233
|
+
'ARS',
|
|
234
|
+
'AUD',
|
|
235
|
+
'AWG',
|
|
236
|
+
'AZN',
|
|
237
|
+
'BAM',
|
|
238
|
+
'BBD',
|
|
239
|
+
'BDT',
|
|
240
|
+
'BGN',
|
|
241
|
+
'BHD',
|
|
242
|
+
'BIF',
|
|
243
|
+
'BMD',
|
|
244
|
+
'BND',
|
|
245
|
+
'BOB',
|
|
246
|
+
'BOV',
|
|
247
|
+
'BRL',
|
|
248
|
+
'BSD',
|
|
249
|
+
'BTN',
|
|
250
|
+
'BWP',
|
|
251
|
+
'BYN',
|
|
252
|
+
'BZD',
|
|
253
|
+
'CAD',
|
|
254
|
+
'CDF',
|
|
255
|
+
'CHE',
|
|
256
|
+
'CHF',
|
|
257
|
+
'CHW',
|
|
258
|
+
'CLF',
|
|
259
|
+
'CLP',
|
|
260
|
+
'CNY',
|
|
261
|
+
'COP',
|
|
262
|
+
'COU',
|
|
263
|
+
'CRC',
|
|
264
|
+
'CUC',
|
|
265
|
+
'CUP',
|
|
266
|
+
'CVE',
|
|
267
|
+
'CZK',
|
|
268
|
+
'DJF',
|
|
269
|
+
'DKK',
|
|
270
|
+
'DOP',
|
|
271
|
+
'DZD',
|
|
272
|
+
'EGP',
|
|
273
|
+
'ERN',
|
|
274
|
+
'ETB',
|
|
275
|
+
'EUR',
|
|
276
|
+
'FJD',
|
|
277
|
+
'FKP',
|
|
278
|
+
'GBP',
|
|
279
|
+
'GEL',
|
|
280
|
+
'GHS',
|
|
281
|
+
'GIP',
|
|
282
|
+
'GMD',
|
|
283
|
+
'GNF',
|
|
284
|
+
'GTQ',
|
|
285
|
+
'GYD',
|
|
286
|
+
'HKD',
|
|
287
|
+
'HNL',
|
|
288
|
+
'HTG',
|
|
289
|
+
'HUF',
|
|
290
|
+
'IDR',
|
|
291
|
+
'ILS',
|
|
292
|
+
'INR',
|
|
293
|
+
'IQD',
|
|
294
|
+
'IRR',
|
|
295
|
+
'ISK',
|
|
296
|
+
'JMD',
|
|
297
|
+
'JOD',
|
|
298
|
+
'JPY',
|
|
299
|
+
'KES',
|
|
300
|
+
'KGS',
|
|
301
|
+
'KHR',
|
|
302
|
+
'KMF',
|
|
303
|
+
'KPW',
|
|
304
|
+
'KRW',
|
|
305
|
+
'KWD',
|
|
306
|
+
'KYD',
|
|
307
|
+
'KZT',
|
|
308
|
+
'LAK',
|
|
309
|
+
'LBP',
|
|
310
|
+
'LKR',
|
|
311
|
+
'LRD',
|
|
312
|
+
'LSL',
|
|
313
|
+
'LYD',
|
|
314
|
+
'MAD',
|
|
315
|
+
'MDL',
|
|
316
|
+
'MGA',
|
|
317
|
+
'MKD',
|
|
318
|
+
'MMK',
|
|
319
|
+
'MNT',
|
|
320
|
+
'MOP',
|
|
321
|
+
'MRU',
|
|
322
|
+
'MUR',
|
|
323
|
+
'MVR',
|
|
324
|
+
'MWK',
|
|
325
|
+
'MXN',
|
|
326
|
+
'MXV',
|
|
327
|
+
'MYR',
|
|
328
|
+
'MZN',
|
|
329
|
+
'NAD',
|
|
330
|
+
'NGN',
|
|
331
|
+
'NIO',
|
|
332
|
+
'NOK',
|
|
333
|
+
'NPR',
|
|
334
|
+
'NZD',
|
|
335
|
+
'OMR',
|
|
336
|
+
'PAB',
|
|
337
|
+
'PEN',
|
|
338
|
+
'PGK',
|
|
339
|
+
'PHP',
|
|
340
|
+
'PKR',
|
|
341
|
+
'PLN',
|
|
342
|
+
'PYG',
|
|
343
|
+
'QAR',
|
|
344
|
+
'RON',
|
|
345
|
+
'RSD',
|
|
346
|
+
'RUB',
|
|
347
|
+
'RWF',
|
|
348
|
+
'SAR',
|
|
349
|
+
'SBD',
|
|
350
|
+
'SCR',
|
|
351
|
+
'SDG',
|
|
352
|
+
'SEK',
|
|
353
|
+
'SGD',
|
|
354
|
+
'SHP',
|
|
355
|
+
'SLE',
|
|
356
|
+
'SOS',
|
|
357
|
+
'SRD',
|
|
358
|
+
'SSP',
|
|
359
|
+
'STN',
|
|
360
|
+
'SVC',
|
|
361
|
+
'SYP',
|
|
362
|
+
'SZL',
|
|
363
|
+
'THB',
|
|
364
|
+
'TJS',
|
|
365
|
+
'TMT',
|
|
366
|
+
'TND',
|
|
367
|
+
'TOP',
|
|
368
|
+
'TRY',
|
|
369
|
+
'TTD',
|
|
370
|
+
'TWD',
|
|
371
|
+
'TZS',
|
|
372
|
+
'UAH',
|
|
373
|
+
'UGX',
|
|
374
|
+
'USD',
|
|
375
|
+
'USN',
|
|
376
|
+
'UYI',
|
|
377
|
+
'UYU',
|
|
378
|
+
'UYW',
|
|
379
|
+
'UZS',
|
|
380
|
+
'VED',
|
|
381
|
+
'VES',
|
|
382
|
+
'VND',
|
|
383
|
+
'VUV',
|
|
384
|
+
'WST',
|
|
385
|
+
'XAF',
|
|
386
|
+
'XAG',
|
|
387
|
+
'XAU',
|
|
388
|
+
'XBA',
|
|
389
|
+
'XBB',
|
|
390
|
+
'XBC',
|
|
391
|
+
'XBD',
|
|
392
|
+
'XCD',
|
|
393
|
+
'XDR',
|
|
394
|
+
'XOF',
|
|
395
|
+
'XPD',
|
|
396
|
+
'XPF',
|
|
397
|
+
'XPT',
|
|
398
|
+
'XSU',
|
|
399
|
+
'XTS',
|
|
400
|
+
'XUA',
|
|
401
|
+
'XXX',
|
|
402
|
+
'YER',
|
|
403
|
+
'ZAR',
|
|
404
|
+
'ZMW',
|
|
405
|
+
'ZWG',
|
|
406
|
+
'ZWL',
|
|
407
|
+
];
|
|
408
|
+
const ISO4217_Map = [
|
|
409
|
+
['AED', 784, 2],
|
|
410
|
+
['AFN', 971, 2],
|
|
411
|
+
['ALL', 8, 2],
|
|
412
|
+
['AMD', 51, 2],
|
|
413
|
+
['ANG', 532, 2],
|
|
414
|
+
['AOA', 973, 2],
|
|
415
|
+
['ARS', 32, 2],
|
|
416
|
+
['AUD', 36, 2],
|
|
417
|
+
['AWG', 533, 2],
|
|
418
|
+
['AZN', 944, 2],
|
|
419
|
+
['BAM', 977, 2],
|
|
420
|
+
['BBD', 52, 2],
|
|
421
|
+
['BDT', 50, 2],
|
|
422
|
+
['BGN', 975, 2],
|
|
423
|
+
['BHD', 48, 3],
|
|
424
|
+
['BIF', 108, 0],
|
|
425
|
+
['BMD', 60, 2],
|
|
426
|
+
['BND', 96, 2],
|
|
427
|
+
['BOB', 68, 2],
|
|
428
|
+
['BOV', 984, 2],
|
|
429
|
+
['BRL', 986, 2],
|
|
430
|
+
['BSD', 44, 2],
|
|
431
|
+
['BTN', 64, 2],
|
|
432
|
+
['BWP', 72, 2],
|
|
433
|
+
['BYN', 933, 2],
|
|
434
|
+
['BZD', 84, 2],
|
|
435
|
+
['CAD', 124, 2],
|
|
436
|
+
['CDF', 976, 2],
|
|
437
|
+
['CHE', 947, 2],
|
|
438
|
+
['CHF', 756, 2],
|
|
439
|
+
['CHW', 948, 2],
|
|
440
|
+
['CLF', 990, 4],
|
|
441
|
+
['CLP', 152, 0],
|
|
442
|
+
['CNY', 156, 2],
|
|
443
|
+
['COP', 170, 2],
|
|
444
|
+
['COU', 970, 2],
|
|
445
|
+
['CRC', 188, 2],
|
|
446
|
+
['CUC', 931, 2],
|
|
447
|
+
['CUP', 192, 2],
|
|
448
|
+
['CVE', 132, 2],
|
|
449
|
+
['CZK', 203, 2],
|
|
450
|
+
['DJF', 262, 0],
|
|
451
|
+
['DKK', 208, 2],
|
|
452
|
+
['DOP', 214, 2],
|
|
453
|
+
['DZD', 12, 2],
|
|
454
|
+
['EGP', 818, 2],
|
|
455
|
+
['ERN', 232, 2],
|
|
456
|
+
['ETB', 230, 2],
|
|
457
|
+
['EUR', 978, 2],
|
|
458
|
+
['FJD', 242, 2],
|
|
459
|
+
['FKP', 238, 2],
|
|
460
|
+
['GBP', 826, 2],
|
|
461
|
+
['GEL', 981, 2],
|
|
462
|
+
['GHS', 936, 2],
|
|
463
|
+
['GIP', 292, 2],
|
|
464
|
+
['GMD', 270, 2],
|
|
465
|
+
['GNF', 324, 0],
|
|
466
|
+
['GTQ', 320, 2],
|
|
467
|
+
['GYD', 328, 2],
|
|
468
|
+
['HKD', 344, 2],
|
|
469
|
+
['HNL', 340, 2],
|
|
470
|
+
['HTG', 332, 2],
|
|
471
|
+
['HUF', 348, 2],
|
|
472
|
+
['IDR', 360, 2],
|
|
473
|
+
['ILS', 376, 2],
|
|
474
|
+
['INR', 356, 2],
|
|
475
|
+
['IQD', 368, 3],
|
|
476
|
+
['IRR', 364, 2],
|
|
477
|
+
['ISK', 352, 0],
|
|
478
|
+
['JMD', 388, 2],
|
|
479
|
+
['JOD', 400, 3],
|
|
480
|
+
['JPY', 392, 0],
|
|
481
|
+
['KES', 404, 2],
|
|
482
|
+
['KGS', 417, 2],
|
|
483
|
+
['KHR', 116, 2],
|
|
484
|
+
['KMF', 174, 0],
|
|
485
|
+
['KPW', 408, 2],
|
|
486
|
+
['KRW', 410, 0],
|
|
487
|
+
['KWD', 414, 3],
|
|
488
|
+
['KYD', 136, 2],
|
|
489
|
+
['KZT', 398, 2],
|
|
490
|
+
['LAK', 418, 2],
|
|
491
|
+
['LBP', 422, 2],
|
|
492
|
+
['LKR', 144, 2],
|
|
493
|
+
['LRD', 430, 2],
|
|
494
|
+
['LSL', 426, 2],
|
|
495
|
+
['LYD', 434, 3],
|
|
496
|
+
['MAD', 504, 2],
|
|
497
|
+
['MDL', 498, 2],
|
|
498
|
+
['MGA', 969, 2],
|
|
499
|
+
['MKD', 807, 2],
|
|
500
|
+
['MMK', 104, 2],
|
|
501
|
+
['MNT', 496, 2],
|
|
502
|
+
['MOP', 446, 2],
|
|
503
|
+
['MRU', 929, 2],
|
|
504
|
+
['MUR', 480, 2],
|
|
505
|
+
['MVR', 462, 2],
|
|
506
|
+
['MWK', 454, 2],
|
|
507
|
+
['MXN', 484, 2],
|
|
508
|
+
['MXV', 979, 2],
|
|
509
|
+
['MYR', 458, 2],
|
|
510
|
+
['MZN', 943, 2],
|
|
511
|
+
['NAD', 516, 2],
|
|
512
|
+
['NGN', 566, 2],
|
|
513
|
+
['NIO', 558, 2],
|
|
514
|
+
['NOK', 578, 2],
|
|
515
|
+
['NPR', 524, 2],
|
|
516
|
+
['NZD', 554, 2],
|
|
517
|
+
['OMR', 512, 3],
|
|
518
|
+
['PAB', 590, 2],
|
|
519
|
+
['PEN', 604, 2],
|
|
520
|
+
['PGK', 598, 2],
|
|
521
|
+
['PHP', 608, 2],
|
|
522
|
+
['PKR', 586, 2],
|
|
523
|
+
['PLN', 985, 2],
|
|
524
|
+
['PYG', 600, 0],
|
|
525
|
+
['QAR', 634, 2],
|
|
526
|
+
['RON', 946, 2],
|
|
527
|
+
['RSD', 941, 2],
|
|
528
|
+
['RUB', 643, 2],
|
|
529
|
+
['RWF', 646, 0],
|
|
530
|
+
['SAR', 682, 2],
|
|
531
|
+
['SBD', 90, 2],
|
|
532
|
+
['SCR', 690, 2],
|
|
533
|
+
['SDG', 938, 2],
|
|
534
|
+
['SEK', 752, 2],
|
|
535
|
+
['SGD', 702, 2],
|
|
536
|
+
['SHP', 654, 2],
|
|
537
|
+
['SLE', 925, 2],
|
|
538
|
+
['SOS', 706, 2],
|
|
539
|
+
['SRD', 968, 2],
|
|
540
|
+
['SSP', 728, 2],
|
|
541
|
+
['STN', 930, 2],
|
|
542
|
+
['SVC', 222, 2],
|
|
543
|
+
['SYP', 760, 2],
|
|
544
|
+
['SZL', 748, 2],
|
|
545
|
+
['THB', 764, 2],
|
|
546
|
+
['TJS', 972, 2],
|
|
547
|
+
['TMT', 934, 2],
|
|
548
|
+
['TND', 788, 3],
|
|
549
|
+
['TOP', 776, 2],
|
|
550
|
+
['TRY', 949, 2],
|
|
551
|
+
['TTD', 780, 2],
|
|
552
|
+
['TWD', 901, 2],
|
|
553
|
+
['TZS', 834, 2],
|
|
554
|
+
['UAH', 980, 2],
|
|
555
|
+
['UGX', 800, 0],
|
|
556
|
+
['USD', 840, 2],
|
|
557
|
+
['USN', 997, 2],
|
|
558
|
+
['UYI', 940, 0],
|
|
559
|
+
['UYU', 858, 2],
|
|
560
|
+
['UYW', 927, 4],
|
|
561
|
+
['UZS', 860, 2],
|
|
562
|
+
['VED', 926, 2],
|
|
563
|
+
['VES', 928, 2],
|
|
564
|
+
['VND', 704, 0],
|
|
565
|
+
['VUV', 548, 0],
|
|
566
|
+
['WST', 882, 2],
|
|
567
|
+
['XAF', 950, 0],
|
|
568
|
+
['XAG', 961, null],
|
|
569
|
+
['XAU', 959, null],
|
|
570
|
+
['XBA', 955, null],
|
|
571
|
+
['XBB', 956, null],
|
|
572
|
+
['XBC', 957, null],
|
|
573
|
+
['XBD', 958, null],
|
|
574
|
+
['XCD', 951, 2],
|
|
575
|
+
['XDR', 960, null],
|
|
576
|
+
['XOF', 952, 0],
|
|
577
|
+
['XPD', 964, null],
|
|
578
|
+
['XPF', 953, 0],
|
|
579
|
+
['XPT', 962, null],
|
|
580
|
+
['XSU', 994, null],
|
|
581
|
+
['XTS', 963, null],
|
|
582
|
+
['XUA', 965, null],
|
|
583
|
+
['XXX', 999, null],
|
|
584
|
+
['YER', 886, 2],
|
|
585
|
+
['ZAR', 710, 2],
|
|
586
|
+
['ZMW', 967, 2],
|
|
587
|
+
['ZWG', 924, 2],
|
|
588
|
+
['ZWL', 932, 2],
|
|
589
|
+
];
|
|
590
|
+
/**
|
|
591
|
+
* Gets the ISO 4217 currency meta for the given currency name
|
|
592
|
+
* or numeric code
|
|
593
|
+
* @important
|
|
594
|
+
* ! Be sure to validate that the implementing service supports
|
|
595
|
+
* ! the currency as well as the minor unit count (if applicable)
|
|
596
|
+
* @param query The currency name or numeric code
|
|
597
|
+
*/
|
|
598
|
+
export function getISO4217CurrencyCode(query) {
|
|
599
|
+
return ISO4217_Map.find((v) => v[typeof query == 'string' ? 0 : 1] === query);
|
|
600
|
+
}
|
|
226
601
|
/**
|
|
227
602
|
* Parses the given string of instance names into an array of instance names.
|
|
228
603
|
* @param instances The names of the instances.
|
|
@@ -243,6 +618,136 @@ export function parseInstancesList(instances) {
|
|
|
243
618
|
export function cleanupObject(obj) {
|
|
244
619
|
return omitBy(obj, (o) => typeof o === 'undefined' || o === null);
|
|
245
620
|
}
|
|
621
|
+
// /**
|
|
622
|
+
// * Deep clones and concurrently freezes within the same iteration the provided object (record/array).
|
|
623
|
+
// * @param obj The object to clone and freeze recursively.
|
|
624
|
+
// */
|
|
625
|
+
// export function deepCloneFreeze<T extends Record<string, any> | Array<any>>(
|
|
626
|
+
// obj: T
|
|
627
|
+
// ): Readonly<T> {
|
|
628
|
+
// const returnObj = (Array.isArray(obj) ? [] : {}) as T;
|
|
629
|
+
// for (const key in obj) {
|
|
630
|
+
// if (obj.hasOwnProperty(key)) {
|
|
631
|
+
// const value = obj[key];
|
|
632
|
+
// if (
|
|
633
|
+
// typeof value === 'object' &&
|
|
634
|
+
// value !== null &&
|
|
635
|
+
// !(value instanceof Date)
|
|
636
|
+
// ) {
|
|
637
|
+
// returnObj[key] = deepCloneFreeze(value) as T[Extract<
|
|
638
|
+
// keyof T,
|
|
639
|
+
// string
|
|
640
|
+
// >];
|
|
641
|
+
// } else {
|
|
642
|
+
// returnObj[key] = value;
|
|
643
|
+
// }
|
|
644
|
+
// }
|
|
645
|
+
// }
|
|
646
|
+
// return Object.freeze(returnObj);
|
|
647
|
+
// }
|
|
648
|
+
// /**
|
|
649
|
+
// * Provides a function that can be used to build a paginate/effect function for the given array.
|
|
650
|
+
// * @param arr The array to paginate.
|
|
651
|
+
// * @param effectEach A function used within map to effect each element.
|
|
652
|
+
// * @returns
|
|
653
|
+
// */
|
|
654
|
+
// export function paginationProviderOf<T, E>(
|
|
655
|
+
// arr: T[],
|
|
656
|
+
// effectEach?: (item: T) => PromiseOrValue<E>
|
|
657
|
+
// ) {
|
|
658
|
+
// return async (limit: number, offset: number) => {
|
|
659
|
+
// const content = arr.slice(offset, offset + limit);
|
|
660
|
+
// if (!effectEach || content.length < 1) return [];
|
|
661
|
+
// return await Promise.all(content.map((X) => effectEach(X)));
|
|
662
|
+
// };
|
|
663
|
+
// }
|
|
664
|
+
// ! Implementation is WIP
|
|
665
|
+
// /**
|
|
666
|
+
// * Generates a custom asymmetric matcher used by jest.
|
|
667
|
+
// * * (Similar to expect.any)
|
|
668
|
+
// * @param asymmetricMatcher The function to run on the value to indicate whether or not its as expected
|
|
669
|
+
// * @param toString The string provider of the expected values state/type
|
|
670
|
+
// * @param getExpectedType The string provider of the expected values type(s)
|
|
671
|
+
// */
|
|
672
|
+
// export function jestCustomAsymmetricMatcher(
|
|
673
|
+
// asymmetricMatcher: (value: any) => boolean,
|
|
674
|
+
// toAsymmetricMatcher: () => string,
|
|
675
|
+
// toString?: () => string,
|
|
676
|
+
// getExpectedType?: () => string
|
|
677
|
+
// ) {
|
|
678
|
+
// return {
|
|
679
|
+
// $$typeof: Symbol.for('jest.asymmetricMatcher'),
|
|
680
|
+
// asymmetricMatcher,
|
|
681
|
+
// toAsymmetricMatcher,
|
|
682
|
+
// toString,
|
|
683
|
+
// getExpectedType,
|
|
684
|
+
// };
|
|
685
|
+
// }
|
|
686
|
+
/**
|
|
687
|
+
* A function which returns true if param val is found to be type / instance of any specified in param constructorArray
|
|
688
|
+
* @param val The value whose type / instance to check the presence of in constructorArray
|
|
689
|
+
* @param constructorArray The array which contains the allowed types / instances for parameter val
|
|
690
|
+
*/
|
|
691
|
+
export function isOfXType(val,
|
|
692
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-function-type
|
|
693
|
+
constructorArray) {
|
|
694
|
+
return constructorArray.some((constructor) => {
|
|
695
|
+
return constructor === String ||
|
|
696
|
+
constructor === Number ||
|
|
697
|
+
constructor === Boolean ||
|
|
698
|
+
constructor === Symbol ||
|
|
699
|
+
constructor === BigInt ||
|
|
700
|
+
constructor === undefined
|
|
701
|
+
? typeof val === (constructor?.name?.toLowerCase() ?? 'undefined')
|
|
702
|
+
: constructor === null
|
|
703
|
+
? val === null
|
|
704
|
+
: val instanceof constructor;
|
|
705
|
+
});
|
|
706
|
+
}
|
|
707
|
+
/**
|
|
708
|
+
* Clones the given record or returns null if the record is undefined.
|
|
709
|
+
* @param record The record to clone.
|
|
710
|
+
*/
|
|
711
|
+
export function cloneDeepNull(record) {
|
|
712
|
+
return record ? cloneDeep(record) : null;
|
|
713
|
+
}
|
|
714
|
+
/**
|
|
715
|
+
* Tries to parse the given JSON string into a JavaScript Value.
|
|
716
|
+
* @param json The JSON to parse.
|
|
717
|
+
*/
|
|
718
|
+
export function tryParseJson(json) {
|
|
719
|
+
try {
|
|
720
|
+
return {
|
|
721
|
+
success: true,
|
|
722
|
+
value: JSON.parse(json),
|
|
723
|
+
};
|
|
724
|
+
}
|
|
725
|
+
catch (err) {
|
|
726
|
+
return {
|
|
727
|
+
success: false,
|
|
728
|
+
error: err,
|
|
729
|
+
};
|
|
730
|
+
}
|
|
731
|
+
}
|
|
732
|
+
export function scopedError(errConfig, err) {
|
|
733
|
+
console.error(Array.isArray(errConfig.scope)
|
|
734
|
+
? errConfig.scope.map((s) => `[${s}]`).join(' ')
|
|
735
|
+
: `[${errConfig.scope}]`, errConfig.errMsg, err);
|
|
736
|
+
}
|
|
737
|
+
/**
|
|
738
|
+
* Attempts to run the given function and logs an error if it fails with a standard error format which includes the scope and message.
|
|
739
|
+
* @param fn The function to run.
|
|
740
|
+
* @param errConfig The configuration for proper logging and return value if an error occurs.
|
|
741
|
+
*/
|
|
742
|
+
export async function tryScope(fn, errConfig) {
|
|
743
|
+
try {
|
|
744
|
+
return await fn();
|
|
745
|
+
}
|
|
746
|
+
catch (err) {
|
|
747
|
+
scopedError(errConfig, err);
|
|
748
|
+
return errConfig.returnOnError;
|
|
749
|
+
}
|
|
750
|
+
}
|
|
246
751
|
/**
|
|
247
752
|
* Determines if the given value matches the given list of rules.
|
|
248
753
|
* @param value The value to test.
|
|
@@ -361,9 +866,8 @@ export function getPathMarker(marker) {
|
|
|
361
866
|
* @param err The error.
|
|
362
867
|
*/
|
|
363
868
|
export function handleAxiosErrors(err) {
|
|
364
|
-
var _a, _b, _c;
|
|
365
869
|
if (axios.isAxiosError(err)) {
|
|
366
|
-
console.error('An axios error occcurred:', '\nStatus:',
|
|
870
|
+
console.error('An axios error occcurred:', '\nStatus:', err.response?.status, '\nHeaders:', err.response?.headers, '\nData:', err.response?.data, '\nRequest:', err.request);
|
|
367
871
|
throw new Error('An axios error occurred: ' + err.message);
|
|
368
872
|
}
|
|
369
873
|
else {
|