@monterosa/sdk-core 0.18.0 → 0.19.0-rc.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/dist/index.cjs.js +32 -31
- package/dist/index.cjs.js.map +1 -1
- package/dist/{index.esm2017.js → index.esm.js} +10 -18
- package/dist/index.esm.js.map +1 -0
- package/dist/src/api.d.ts +2 -4
- package/dist/src/constants.d.ts +2 -4
- package/dist/src/index.d.ts +2 -4
- package/dist/src/sdk.d.ts +2 -4
- package/dist/src/types.d.ts +3 -5
- package/dist/src/utils/logger.d.ts +3 -5
- package/package.json +16 -12
- package/dist/index.esm2017.js.map +0 -1
- package/dist/index.esm5.js +0 -395
- package/dist/index.esm5.js.map +0 -1
package/dist/index.cjs.js
CHANGED
|
@@ -5,15 +5,13 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
5
5
|
var uuid = require('uuid');
|
|
6
6
|
var sdkUtil = require('@monterosa/sdk-util');
|
|
7
7
|
|
|
8
|
-
var version = "0.
|
|
8
|
+
var version = "0.19.0-rc.2";
|
|
9
9
|
|
|
10
10
|
/**
|
|
11
11
|
* @license
|
|
12
|
-
*
|
|
13
|
-
* core
|
|
12
|
+
* @monterosa/sdk-core
|
|
14
13
|
*
|
|
15
|
-
*
|
|
16
|
-
* Copyright © 2023 Monterosa. All rights reserved.
|
|
14
|
+
* Copyright © 2023-2024 Monterosa Productions Limited. All rights reserved.
|
|
17
15
|
*
|
|
18
16
|
* More details on the license can be found at https://www.monterosa.co/sdk/license
|
|
19
17
|
*/
|
|
@@ -36,7 +34,7 @@ var VERSION = version;
|
|
|
36
34
|
*/
|
|
37
35
|
var DEVICE_ID_KEY = 'device_id';
|
|
38
36
|
|
|
39
|
-
|
|
37
|
+
/******************************************************************************
|
|
40
38
|
Copyright (c) Microsoft Corporation.
|
|
41
39
|
|
|
42
40
|
Permission to use, copy, modify, and/or distribute this software for any
|
|
@@ -62,19 +60,26 @@ var __assign = function() {
|
|
|
62
60
|
return __assign.apply(this, arguments);
|
|
63
61
|
};
|
|
64
62
|
|
|
65
|
-
function __spreadArray(to, from) {
|
|
66
|
-
for (var i = 0,
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
63
|
+
function __spreadArray(to, from, pack) {
|
|
64
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
65
|
+
if (ar || !(i in from)) {
|
|
66
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
67
|
+
ar[i] = from[i];
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
|
|
74
|
+
var e = new Error(message);
|
|
75
|
+
return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
|
|
76
|
+
};
|
|
70
77
|
|
|
71
78
|
/**
|
|
72
79
|
* @license
|
|
73
|
-
* sdk
|
|
74
|
-
* core
|
|
80
|
+
* @monterosa/sdk-core
|
|
75
81
|
*
|
|
76
|
-
*
|
|
77
|
-
* Copyright © 2022 Monterosa. All rights reserved.
|
|
82
|
+
* Copyright © 2021-2024 Monterosa Productions Limited. All rights reserved.
|
|
78
83
|
*
|
|
79
84
|
* More details on the license can be found at https://www.monterosa.co/sdk/license
|
|
80
85
|
*/
|
|
@@ -130,7 +135,7 @@ var Sdk = /** @class */ (function () {
|
|
|
130
135
|
};
|
|
131
136
|
Sdk.prototype.checkDestroyed = function () {
|
|
132
137
|
if (this.isDestroyed) {
|
|
133
|
-
throw new Error("SDK named "
|
|
138
|
+
throw new Error("SDK named ".concat(this.name, " destroyed"));
|
|
134
139
|
}
|
|
135
140
|
};
|
|
136
141
|
return Sdk;
|
|
@@ -156,11 +161,9 @@ function deleteKit(sdk, name) {
|
|
|
156
161
|
|
|
157
162
|
/**
|
|
158
163
|
* @license
|
|
159
|
-
*
|
|
160
|
-
* core
|
|
164
|
+
* @monterosa/sdk-core
|
|
161
165
|
*
|
|
162
|
-
*
|
|
163
|
-
* Copyright © 2022 Monterosa. All rights reserved.
|
|
166
|
+
* Copyright © 2022-2024 Monterosa Productions Limited. All rights reserved.
|
|
164
167
|
*
|
|
165
168
|
* More details on the license can be found at https://www.monterosa.co/sdk/license
|
|
166
169
|
*/
|
|
@@ -191,7 +194,7 @@ function getSdk(name) {
|
|
|
191
194
|
if (name === void 0) { name = DEFAULT_SDK_NAME; }
|
|
192
195
|
var sdk = sdks.get(name);
|
|
193
196
|
if (!sdk) {
|
|
194
|
-
throw new Error("No Monterosa Sdk \""
|
|
197
|
+
throw new Error("No Monterosa Sdk \"".concat(name, "\" has been configured.\n You need to call configure() first"));
|
|
195
198
|
}
|
|
196
199
|
return sdk;
|
|
197
200
|
}
|
|
@@ -269,11 +272,9 @@ function destroy(sdk) {
|
|
|
269
272
|
|
|
270
273
|
/**
|
|
271
274
|
* @license
|
|
272
|
-
*
|
|
273
|
-
* core
|
|
275
|
+
* @monterosa/sdk-core
|
|
274
276
|
*
|
|
275
|
-
*
|
|
276
|
-
* Copyright © 2022 Monterosa. All rights reserved.
|
|
277
|
+
* Copyright © 2022 Monterosa Productions Limited. All rights reserved.
|
|
277
278
|
*
|
|
278
279
|
* More details on the license can be found at https://www.monterosa.co/sdk/license
|
|
279
280
|
*/
|
|
@@ -328,7 +329,7 @@ var logHandler = function (logger, logLevel) {
|
|
|
328
329
|
return;
|
|
329
330
|
}
|
|
330
331
|
var method = Methods[logLevel];
|
|
331
|
-
console[method].apply(console, __spreadArray([new Date().toISOString().replace(/[TZ]/gi, ' ').trim(), exports.LogLevel[logLevel]
|
|
332
|
+
console[method].apply(console, __spreadArray([new Date().toISOString().replace(/[TZ]/gi, ' ').trim(), "".concat(exports.LogLevel[logLevel], "/").concat(logger.name, ":")], args, false));
|
|
332
333
|
};
|
|
333
334
|
/** @internal */
|
|
334
335
|
var Logger = /** @class */ (function () {
|
|
@@ -362,35 +363,35 @@ var Logger = /** @class */ (function () {
|
|
|
362
363
|
for (var _i = 0; _i < arguments.length; _i++) {
|
|
363
364
|
args[_i] = arguments[_i];
|
|
364
365
|
}
|
|
365
|
-
this.logHandler.apply(this, __spreadArray([this, exports.LogLevel.Verbose], args));
|
|
366
|
+
this.logHandler.apply(this, __spreadArray([this, exports.LogLevel.Verbose], args, false));
|
|
366
367
|
};
|
|
367
368
|
Logger.prototype.debug = function () {
|
|
368
369
|
var args = [];
|
|
369
370
|
for (var _i = 0; _i < arguments.length; _i++) {
|
|
370
371
|
args[_i] = arguments[_i];
|
|
371
372
|
}
|
|
372
|
-
this.logHandler.apply(this, __spreadArray([this, exports.LogLevel.Debug], args));
|
|
373
|
+
this.logHandler.apply(this, __spreadArray([this, exports.LogLevel.Debug], args, false));
|
|
373
374
|
};
|
|
374
375
|
Logger.prototype.info = function () {
|
|
375
376
|
var args = [];
|
|
376
377
|
for (var _i = 0; _i < arguments.length; _i++) {
|
|
377
378
|
args[_i] = arguments[_i];
|
|
378
379
|
}
|
|
379
|
-
this.logHandler.apply(this, __spreadArray([this, exports.LogLevel.Info], args));
|
|
380
|
+
this.logHandler.apply(this, __spreadArray([this, exports.LogLevel.Info], args, false));
|
|
380
381
|
};
|
|
381
382
|
Logger.prototype.warn = function () {
|
|
382
383
|
var args = [];
|
|
383
384
|
for (var _i = 0; _i < arguments.length; _i++) {
|
|
384
385
|
args[_i] = arguments[_i];
|
|
385
386
|
}
|
|
386
|
-
this.logHandler.apply(this, __spreadArray([this, exports.LogLevel.Warn], args));
|
|
387
|
+
this.logHandler.apply(this, __spreadArray([this, exports.LogLevel.Warn], args, false));
|
|
387
388
|
};
|
|
388
389
|
Logger.prototype.error = function () {
|
|
389
390
|
var args = [];
|
|
390
391
|
for (var _i = 0; _i < arguments.length; _i++) {
|
|
391
392
|
args[_i] = arguments[_i];
|
|
392
393
|
}
|
|
393
|
-
this.logHandler.apply(this, __spreadArray([this, exports.LogLevel.Error], args));
|
|
394
|
+
this.logHandler.apply(this, __spreadArray([this, exports.LogLevel.Error], args, false));
|
|
394
395
|
};
|
|
395
396
|
return Logger;
|
|
396
397
|
}());
|
package/dist/index.cjs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs.js","sources":["../src/constants.ts","../src/sdk.ts","../src/api.ts","../src/utils/logger.ts"],"sourcesContent":["/**\n * @license\n * constants.ts\n * core\n *\n * Created by Rygor Kharytanovich <rygor@monterosa.co.uk> on 2023-03-21\n * Copyright © 2023 Monterosa. All rights reserved.\n *\n * More details on the license can be found at https://www.monterosa.co/sdk/license\n */\n\nimport { version } from '../package.json';\n\n/**\n * Default sdk name.\n *\n * @internal\n */\nexport const DEFAULT_SDK_NAME = '[DEFAULT]';\n\n/**\n * The current SDK version.\n *\n * @public\n */\nexport const VERSION = version;\n\n/**\n * Device ID storage key name\n *\n * @internal\n */\nexport const DEVICE_ID_KEY = 'device_id';\n","/**\n * @license\n * sdk.ts\n * core\n *\n * Created by Rygor Kharytanovich <rygor@monterosa.co.uk> on 2021-09-23\n * Copyright © 2022 Monterosa. All rights reserved.\n *\n * More details on the license can be found at https://www.monterosa.co/sdk/license\n */\n\nimport { MonterosaSdk, MonterosaKit, Kits, SdkOptions } from './types';\n\n/**\n * @internal\n */\nexport class Sdk implements MonterosaSdk {\n private readonly _options: SdkOptions;\n private readonly _name: string;\n private _isDestroyed: boolean = false;\n private _kits: Kits;\n\n constructor(options: SdkOptions, name: string) {\n this._options = { ...options };\n this._name = name;\n this._kits = new Map();\n }\n\n get name(): string {\n this.checkDestroyed();\n return this._name;\n }\n\n get options(): SdkOptions {\n this.checkDestroyed();\n return this._options;\n }\n\n get isDestroyed(): boolean {\n return this._isDestroyed;\n }\n\n get kits(): Kits {\n return this._kits;\n }\n\n set isDestroyed(value: boolean) {\n this._isDestroyed = value;\n }\n\n public deleteKits() {\n this.kits.forEach((kit, name) => {\n this.kits.delete(name);\n kit.delete();\n });\n }\n\n private checkDestroyed(): void {\n if (this.isDestroyed) {\n throw new Error(`SDK named ${this.name} destroyed`);\n }\n }\n}\n\n/**\n * @internal\n */\nexport function addKit(sdk: MonterosaSdk, name: string, kit: MonterosaKit) {\n sdk.kits.set(name, kit);\n}\n\n/**\n * @internal\n */\nexport function getKit(\n sdk: MonterosaSdk,\n name: string,\n): MonterosaKit | undefined {\n return sdk.kits.get(name);\n}\n\n/**\n * @internal\n */\nexport function deleteKit(sdk: MonterosaSdk, name: string): void {\n sdk.kits.delete(name);\n}\n","/**\n * @license\n * api.ts\n * core\n *\n * Created by Rygor Kharytanovich <rygor@monterosa.co.uk> on 2022-02-15\n * Copyright © 2022 Monterosa. All rights reserved.\n *\n * More details on the license can be found at https://www.monterosa.co/sdk/license\n */\n\nimport { v4 as uuidv4 } from 'uuid';\nimport {\n getItem as getStorageItem,\n setItem as setStorageItem,\n checkAvailability as checkStorageAvailability,\n} from '@monterosa/sdk-util';\n\nimport { MonterosaSdk, SdkOptions } from './types';\nimport { DEFAULT_SDK_NAME, DEVICE_ID_KEY } from './constants';\nimport { Sdk } from './sdk';\n\nconst sdks = new Map<string, MonterosaSdk>();\n\nlet DEVICE_ID: string;\n\n/**\n * An array of all configured sdks.\n *\n * @public\n */\nexport function getSdks(): MonterosaSdk[] {\n return Array.from(sdks.values());\n}\n\n/**\n * Retrieves an SDK instance by its name.\n *\n * @example\n * ```javascript\n * const sdk = getSdk('my-sdk');\n * ```\n *\n * @param name - Optional name of the sdk to initialise.\n * If name is not provided, the default is \"[DEFAULT]\"\n *\n * @public\n */\nexport function getSdk(name: string = DEFAULT_SDK_NAME): MonterosaSdk {\n const sdk = sdks.get(name);\n\n if (!sdk) {\n throw new Error(\n `No Monterosa Sdk \"${name}\" has been configured.\n You need to call configure() first`,\n );\n }\n\n return sdk;\n}\n\n/**\n * @internal\n */\nexport function getDeviceId() {\n if (DEVICE_ID !== undefined) {\n return DEVICE_ID;\n }\n\n if (!checkStorageAvailability()) {\n DEVICE_ID = uuidv4();\n\n return DEVICE_ID;\n }\n\n const value = getStorageItem(DEVICE_ID_KEY);\n\n if (value === null) {\n DEVICE_ID = uuidv4();\n\n setStorageItem(DEVICE_ID_KEY, DEVICE_ID);\n } else {\n DEVICE_ID = value;\n }\n\n return DEVICE_ID;\n}\n\n/**\n * Creates an SDK instance.\n *\n * @example\n *\n * Configure default sdk with host and project id\n *\n * ```javascript\n * configure({\n * host: \"...\",\n * projectId: \"...\"\n * });\n * ```\n *\n * @param options - Studio host\n * @param name - Optional name of the sdk to initialise.\n * If name is not provided, the default is \"[DEFAULT]\"\n *\n * @returns Configured SDK instance.\n *\n * @public\n */\nexport function configure(\n options: SdkOptions,\n name: string = DEFAULT_SDK_NAME,\n): MonterosaSdk {\n const existingSdk = sdks.get(name);\n\n if (existingSdk) {\n return existingSdk;\n }\n\n const sdk = new Sdk(options, name);\n\n sdks.set(name, sdk);\n\n return sdk;\n}\n\n/**\n * Destroy initialised sdk\n *\n * @example\n * ```javascript\n * const sdk = configure(...);\n *\n * destroy(sdk);\n * ```\n *\n * @param sdk - sdk instance\n */\nexport function destroy(sdk: MonterosaSdk) {\n const { name } = sdk;\n\n sdks.delete(name);\n sdk.deleteKits();\n sdk.isDestroyed = true;\n}\n","/**\n * @license\n * logger.ts\n * core\n *\n * Created by Rygor Kharytanovich <rygor@monterosa.co.uk> on 2022-05-31\n * Copyright © 2022 Monterosa. All rights reserved.\n *\n * More details on the license can be found at https://www.monterosa.co/sdk/license\n */\n\n/* eslint-disable no-console */\n\n/**\n * Represents the possible log levels.\n */\nexport enum LogLevel {\n /**\n * Verbose level. Provides detailed and extensive logging.\n */\n Verbose,\n /**\n * Debug level. Used for debugging and development purposes.\n */\n Debug,\n /**\n * Info level. Used to provide general information about the system's state.\n */\n Info,\n /**\n * Warn level. Indicates potential issues or situations that might cause problems in the future.\n */\n Warn,\n /**\n * Error level. Indicates critical errors and issues that require immediate attention.\n */\n Error,\n /**\n * Silent level. No logs will be output.\n */\n Silent,\n}\n\n/** @internal */\nexport type LogHandler = (\n logger: Logger,\n logType: LogLevel,\n ...args: unknown[]\n) => void;\n\nconst Methods = {\n [LogLevel.Verbose]: 'log',\n // `console.debug` is not shown in Chrome and Edge by default. It must be\n // enabled manually. To avoid hassle for developers with settings debug\n // messages are sent to `console.log`\n [LogLevel.Debug]: 'log',\n [LogLevel.Info]: 'info',\n [LogLevel.Warn]: 'warn',\n [LogLevel.Error]: 'error',\n} as const;\n\nconst logHandler: LogHandler = (logger, logLevel, ...args) => {\n if (logger.logLevel > logLevel) {\n return;\n }\n\n const method = Methods[logLevel as keyof typeof Methods];\n\n console[method](\n new Date().toISOString().replace(/[TZ]/gi, ' ').trim(),\n `${LogLevel[logLevel]}/${logger.name}:`,\n ...args,\n );\n};\n\n/** @internal */\nexport class Logger {\n private _logLevel: LogLevel = LogLevel.Warn;\n private _logHandler: LogHandler = logHandler;\n\n constructor(public name: string) {}\n\n get logLevel(): LogLevel {\n return this._logLevel;\n }\n\n set logLevel(level: LogLevel) {\n this._logLevel = level;\n }\n\n get logHandler(): LogHandler {\n return this._logHandler;\n }\n\n set logHandler(handler: LogHandler) {\n this.logHandler = handler;\n }\n\n log(...args: unknown[]) {\n this.logHandler(this, LogLevel.Verbose, ...args);\n }\n\n debug(...args: unknown[]) {\n this.logHandler(this, LogLevel.Debug, ...args);\n }\n\n info(...args: unknown[]) {\n this.logHandler(this, LogLevel.Info, ...args);\n }\n\n warn(...args: unknown[]) {\n this.logHandler(this, LogLevel.Warn, ...args);\n }\n\n error(...args: unknown[]) {\n this.logHandler(this, LogLevel.Error, ...args);\n }\n}\n"],"names":["checkStorageAvailability","uuidv4","getStorageItem","setStorageItem","LogLevel"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.cjs.js","sources":["../src/constants.ts","../src/sdk.ts","../src/api.ts","../src/utils/logger.ts"],"sourcesContent":["/**\n * @license\n * @monterosa/sdk-core\n *\n * Copyright © 2023-2024 Monterosa Productions Limited. All rights reserved.\n *\n * More details on the license can be found at https://www.monterosa.co/sdk/license\n */\n\nimport { version } from '../package.json';\n\n/**\n * Default sdk name.\n *\n * @internal\n */\nexport const DEFAULT_SDK_NAME = '[DEFAULT]';\n\n/**\n * The current SDK version.\n *\n * @public\n */\nexport const VERSION = version;\n\n/**\n * Device ID storage key name\n *\n * @internal\n */\nexport const DEVICE_ID_KEY = 'device_id';\n","/**\n * @license\n * @monterosa/sdk-core\n *\n * Copyright © 2021-2024 Monterosa Productions Limited. All rights reserved.\n *\n * More details on the license can be found at https://www.monterosa.co/sdk/license\n */\n\nimport { MonterosaSdk, MonterosaKit, Kits, SdkOptions } from './types';\n\n/**\n * @internal\n */\nexport class Sdk implements MonterosaSdk {\n private readonly _options: SdkOptions;\n private readonly _name: string;\n private _isDestroyed: boolean = false;\n private _kits: Kits;\n\n constructor(options: SdkOptions, name: string) {\n this._options = { ...options };\n this._name = name;\n this._kits = new Map();\n }\n\n get name(): string {\n this.checkDestroyed();\n return this._name;\n }\n\n get options(): SdkOptions {\n this.checkDestroyed();\n return this._options;\n }\n\n get isDestroyed(): boolean {\n return this._isDestroyed;\n }\n\n get kits(): Kits {\n return this._kits;\n }\n\n set isDestroyed(value: boolean) {\n this._isDestroyed = value;\n }\n\n public deleteKits() {\n this.kits.forEach((kit, name) => {\n this.kits.delete(name);\n kit.delete();\n });\n }\n\n private checkDestroyed(): void {\n if (this.isDestroyed) {\n throw new Error(`SDK named ${this.name} destroyed`);\n }\n }\n}\n\n/**\n * @internal\n */\nexport function addKit(sdk: MonterosaSdk, name: string, kit: MonterosaKit) {\n sdk.kits.set(name, kit);\n}\n\n/**\n * @internal\n */\nexport function getKit(\n sdk: MonterosaSdk,\n name: string,\n): MonterosaKit | undefined {\n return sdk.kits.get(name);\n}\n\n/**\n * @internal\n */\nexport function deleteKit(sdk: MonterosaSdk, name: string): void {\n sdk.kits.delete(name);\n}\n","/**\n * @license\n * @monterosa/sdk-core\n *\n * Copyright © 2022-2024 Monterosa Productions Limited. All rights reserved.\n *\n * More details on the license can be found at https://www.monterosa.co/sdk/license\n */\n\nimport { v4 as uuidv4 } from 'uuid';\nimport {\n getItem as getStorageItem,\n setItem as setStorageItem,\n checkAvailability as checkStorageAvailability,\n} from '@monterosa/sdk-util';\n\nimport { MonterosaSdk, SdkOptions } from './types';\nimport { DEFAULT_SDK_NAME, DEVICE_ID_KEY } from './constants';\nimport { Sdk } from './sdk';\n\nconst sdks = new Map<string, MonterosaSdk>();\n\nlet DEVICE_ID: string;\n\n/**\n * An array of all configured sdks.\n *\n * @public\n */\nexport function getSdks(): MonterosaSdk[] {\n return Array.from(sdks.values());\n}\n\n/**\n * Retrieves an SDK instance by its name.\n *\n * @example\n * ```javascript\n * const sdk = getSdk('my-sdk');\n * ```\n *\n * @param name - Optional name of the sdk to initialise.\n * If name is not provided, the default is \"[DEFAULT]\"\n *\n * @public\n */\nexport function getSdk(name: string = DEFAULT_SDK_NAME): MonterosaSdk {\n const sdk = sdks.get(name);\n\n if (!sdk) {\n throw new Error(\n `No Monterosa Sdk \"${name}\" has been configured.\n You need to call configure() first`,\n );\n }\n\n return sdk;\n}\n\n/**\n * @internal\n */\nexport function getDeviceId() {\n if (DEVICE_ID !== undefined) {\n return DEVICE_ID;\n }\n\n if (!checkStorageAvailability()) {\n DEVICE_ID = uuidv4();\n\n return DEVICE_ID;\n }\n\n const value = getStorageItem(DEVICE_ID_KEY);\n\n if (value === null) {\n DEVICE_ID = uuidv4();\n\n setStorageItem(DEVICE_ID_KEY, DEVICE_ID);\n } else {\n DEVICE_ID = value;\n }\n\n return DEVICE_ID;\n}\n\n/**\n * Creates an SDK instance.\n *\n * @example\n *\n * Configure default sdk with host and project id\n *\n * ```javascript\n * configure({\n * host: \"...\",\n * projectId: \"...\"\n * });\n * ```\n *\n * @param options - Studio host\n * @param name - Optional name of the sdk to initialise.\n * If name is not provided, the default is \"[DEFAULT]\"\n *\n * @returns Configured SDK instance.\n *\n * @public\n */\nexport function configure(\n options: SdkOptions,\n name: string = DEFAULT_SDK_NAME,\n): MonterosaSdk {\n const existingSdk = sdks.get(name);\n\n if (existingSdk) {\n return existingSdk;\n }\n\n const sdk = new Sdk(options, name);\n\n sdks.set(name, sdk);\n\n return sdk;\n}\n\n/**\n * Destroy initialised sdk\n *\n * @example\n * ```javascript\n * const sdk = configure(...);\n *\n * destroy(sdk);\n * ```\n *\n * @param sdk - sdk instance\n */\nexport function destroy(sdk: MonterosaSdk) {\n const { name } = sdk;\n\n sdks.delete(name);\n sdk.deleteKits();\n sdk.isDestroyed = true;\n}\n","/**\n * @license\n * @monterosa/sdk-core\n *\n * Copyright © 2022 Monterosa Productions Limited. All rights reserved.\n *\n * More details on the license can be found at https://www.monterosa.co/sdk/license\n */\n\n/* eslint-disable no-console */\n\n/**\n * Represents the possible log levels.\n */\nexport enum LogLevel {\n /**\n * Verbose level. Provides detailed and extensive logging.\n */\n Verbose,\n /**\n * Debug level. Used for debugging and development purposes.\n */\n Debug,\n /**\n * Info level. Used to provide general information about the system's state.\n */\n Info,\n /**\n * Warn level. Indicates potential issues or situations that might cause problems in the future.\n */\n Warn,\n /**\n * Error level. Indicates critical errors and issues that require immediate attention.\n */\n Error,\n /**\n * Silent level. No logs will be output.\n */\n Silent,\n}\n\n/** @internal */\nexport type LogHandler = (\n logger: Logger,\n logType: LogLevel,\n ...args: unknown[]\n) => void;\n\nconst Methods = {\n [LogLevel.Verbose]: 'log',\n // `console.debug` is not shown in Chrome and Edge by default. It must be\n // enabled manually. To avoid hassle for developers with settings debug\n // messages are sent to `console.log`\n [LogLevel.Debug]: 'log',\n [LogLevel.Info]: 'info',\n [LogLevel.Warn]: 'warn',\n [LogLevel.Error]: 'error',\n} as const;\n\nconst logHandler: LogHandler = (logger, logLevel, ...args) => {\n if (logger.logLevel > logLevel) {\n return;\n }\n\n const method = Methods[logLevel as keyof typeof Methods];\n\n console[method](\n new Date().toISOString().replace(/[TZ]/gi, ' ').trim(),\n `${LogLevel[logLevel]}/${logger.name}:`,\n ...args,\n );\n};\n\n/** @internal */\nexport class Logger {\n private _logLevel: LogLevel = LogLevel.Warn;\n private _logHandler: LogHandler = logHandler;\n\n constructor(public name: string) {}\n\n get logLevel(): LogLevel {\n return this._logLevel;\n }\n\n set logLevel(level: LogLevel) {\n this._logLevel = level;\n }\n\n get logHandler(): LogHandler {\n return this._logHandler;\n }\n\n set logHandler(handler: LogHandler) {\n this.logHandler = handler;\n }\n\n log(...args: unknown[]) {\n this.logHandler(this, LogLevel.Verbose, ...args);\n }\n\n debug(...args: unknown[]) {\n this.logHandler(this, LogLevel.Debug, ...args);\n }\n\n info(...args: unknown[]) {\n this.logHandler(this, LogLevel.Info, ...args);\n }\n\n warn(...args: unknown[]) {\n this.logHandler(this, LogLevel.Warn, ...args);\n }\n\n error(...args: unknown[]) {\n this.logHandler(this, LogLevel.Error, ...args);\n }\n}\n"],"names":["checkStorageAvailability","uuidv4","getStorageItem","setStorageItem","LogLevel"],"mappings":"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"}
|
|
@@ -1,15 +1,13 @@
|
|
|
1
1
|
import { v4 } from 'uuid';
|
|
2
2
|
import { checkAvailability, getItem, setItem } from '@monterosa/sdk-util';
|
|
3
3
|
|
|
4
|
-
var version = "0.
|
|
4
|
+
var version = "0.19.0-rc.2";
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
7
|
* @license
|
|
8
|
-
*
|
|
9
|
-
* core
|
|
8
|
+
* @monterosa/sdk-core
|
|
10
9
|
*
|
|
11
|
-
*
|
|
12
|
-
* Copyright © 2023 Monterosa. All rights reserved.
|
|
10
|
+
* Copyright © 2023-2024 Monterosa Productions Limited. All rights reserved.
|
|
13
11
|
*
|
|
14
12
|
* More details on the license can be found at https://www.monterosa.co/sdk/license
|
|
15
13
|
*/
|
|
@@ -34,11 +32,9 @@ const DEVICE_ID_KEY = 'device_id';
|
|
|
34
32
|
|
|
35
33
|
/**
|
|
36
34
|
* @license
|
|
37
|
-
* sdk
|
|
38
|
-
* core
|
|
35
|
+
* @monterosa/sdk-core
|
|
39
36
|
*
|
|
40
|
-
*
|
|
41
|
-
* Copyright © 2022 Monterosa. All rights reserved.
|
|
37
|
+
* Copyright © 2021-2024 Monterosa Productions Limited. All rights reserved.
|
|
42
38
|
*
|
|
43
39
|
* More details on the license can be found at https://www.monterosa.co/sdk/license
|
|
44
40
|
*/
|
|
@@ -102,11 +98,9 @@ function deleteKit(sdk, name) {
|
|
|
102
98
|
|
|
103
99
|
/**
|
|
104
100
|
* @license
|
|
105
|
-
*
|
|
106
|
-
* core
|
|
101
|
+
* @monterosa/sdk-core
|
|
107
102
|
*
|
|
108
|
-
*
|
|
109
|
-
* Copyright © 2022 Monterosa. All rights reserved.
|
|
103
|
+
* Copyright © 2022-2024 Monterosa Productions Limited. All rights reserved.
|
|
110
104
|
*
|
|
111
105
|
* More details on the license can be found at https://www.monterosa.co/sdk/license
|
|
112
106
|
*/
|
|
@@ -214,11 +208,9 @@ function destroy(sdk) {
|
|
|
214
208
|
|
|
215
209
|
/**
|
|
216
210
|
* @license
|
|
217
|
-
*
|
|
218
|
-
* core
|
|
211
|
+
* @monterosa/sdk-core
|
|
219
212
|
*
|
|
220
|
-
*
|
|
221
|
-
* Copyright © 2022 Monterosa. All rights reserved.
|
|
213
|
+
* Copyright © 2022 Monterosa Productions Limited. All rights reserved.
|
|
222
214
|
*
|
|
223
215
|
* More details on the license can be found at https://www.monterosa.co/sdk/license
|
|
224
216
|
*/
|
|
@@ -307,4 +299,4 @@ class Logger {
|
|
|
307
299
|
}
|
|
308
300
|
|
|
309
301
|
export { DEFAULT_SDK_NAME, DEVICE_ID_KEY, LogLevel, Logger, Sdk, VERSION, addKit, configure, deleteKit, destroy, getDeviceId, getKit, getSdk, getSdks };
|
|
310
|
-
//# sourceMappingURL=index.
|
|
302
|
+
//# sourceMappingURL=index.esm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.esm.js","sources":["../src/constants.ts","../src/sdk.ts","../src/api.ts","../src/utils/logger.ts"],"sourcesContent":["/**\n * @license\n * @monterosa/sdk-core\n *\n * Copyright © 2023-2024 Monterosa Productions Limited. All rights reserved.\n *\n * More details on the license can be found at https://www.monterosa.co/sdk/license\n */\n\nimport { version } from '../package.json';\n\n/**\n * Default sdk name.\n *\n * @internal\n */\nexport const DEFAULT_SDK_NAME = '[DEFAULT]';\n\n/**\n * The current SDK version.\n *\n * @public\n */\nexport const VERSION = version;\n\n/**\n * Device ID storage key name\n *\n * @internal\n */\nexport const DEVICE_ID_KEY = 'device_id';\n","/**\n * @license\n * @monterosa/sdk-core\n *\n * Copyright © 2021-2024 Monterosa Productions Limited. All rights reserved.\n *\n * More details on the license can be found at https://www.monterosa.co/sdk/license\n */\n\nimport { MonterosaSdk, MonterosaKit, Kits, SdkOptions } from './types';\n\n/**\n * @internal\n */\nexport class Sdk implements MonterosaSdk {\n private readonly _options: SdkOptions;\n private readonly _name: string;\n private _isDestroyed: boolean = false;\n private _kits: Kits;\n\n constructor(options: SdkOptions, name: string) {\n this._options = { ...options };\n this._name = name;\n this._kits = new Map();\n }\n\n get name(): string {\n this.checkDestroyed();\n return this._name;\n }\n\n get options(): SdkOptions {\n this.checkDestroyed();\n return this._options;\n }\n\n get isDestroyed(): boolean {\n return this._isDestroyed;\n }\n\n get kits(): Kits {\n return this._kits;\n }\n\n set isDestroyed(value: boolean) {\n this._isDestroyed = value;\n }\n\n public deleteKits() {\n this.kits.forEach((kit, name) => {\n this.kits.delete(name);\n kit.delete();\n });\n }\n\n private checkDestroyed(): void {\n if (this.isDestroyed) {\n throw new Error(`SDK named ${this.name} destroyed`);\n }\n }\n}\n\n/**\n * @internal\n */\nexport function addKit(sdk: MonterosaSdk, name: string, kit: MonterosaKit) {\n sdk.kits.set(name, kit);\n}\n\n/**\n * @internal\n */\nexport function getKit(\n sdk: MonterosaSdk,\n name: string,\n): MonterosaKit | undefined {\n return sdk.kits.get(name);\n}\n\n/**\n * @internal\n */\nexport function deleteKit(sdk: MonterosaSdk, name: string): void {\n sdk.kits.delete(name);\n}\n","/**\n * @license\n * @monterosa/sdk-core\n *\n * Copyright © 2022-2024 Monterosa Productions Limited. All rights reserved.\n *\n * More details on the license can be found at https://www.monterosa.co/sdk/license\n */\n\nimport { v4 as uuidv4 } from 'uuid';\nimport {\n getItem as getStorageItem,\n setItem as setStorageItem,\n checkAvailability as checkStorageAvailability,\n} from '@monterosa/sdk-util';\n\nimport { MonterosaSdk, SdkOptions } from './types';\nimport { DEFAULT_SDK_NAME, DEVICE_ID_KEY } from './constants';\nimport { Sdk } from './sdk';\n\nconst sdks = new Map<string, MonterosaSdk>();\n\nlet DEVICE_ID: string;\n\n/**\n * An array of all configured sdks.\n *\n * @public\n */\nexport function getSdks(): MonterosaSdk[] {\n return Array.from(sdks.values());\n}\n\n/**\n * Retrieves an SDK instance by its name.\n *\n * @example\n * ```javascript\n * const sdk = getSdk('my-sdk');\n * ```\n *\n * @param name - Optional name of the sdk to initialise.\n * If name is not provided, the default is \"[DEFAULT]\"\n *\n * @public\n */\nexport function getSdk(name: string = DEFAULT_SDK_NAME): MonterosaSdk {\n const sdk = sdks.get(name);\n\n if (!sdk) {\n throw new Error(\n `No Monterosa Sdk \"${name}\" has been configured.\n You need to call configure() first`,\n );\n }\n\n return sdk;\n}\n\n/**\n * @internal\n */\nexport function getDeviceId() {\n if (DEVICE_ID !== undefined) {\n return DEVICE_ID;\n }\n\n if (!checkStorageAvailability()) {\n DEVICE_ID = uuidv4();\n\n return DEVICE_ID;\n }\n\n const value = getStorageItem(DEVICE_ID_KEY);\n\n if (value === null) {\n DEVICE_ID = uuidv4();\n\n setStorageItem(DEVICE_ID_KEY, DEVICE_ID);\n } else {\n DEVICE_ID = value;\n }\n\n return DEVICE_ID;\n}\n\n/**\n * Creates an SDK instance.\n *\n * @example\n *\n * Configure default sdk with host and project id\n *\n * ```javascript\n * configure({\n * host: \"...\",\n * projectId: \"...\"\n * });\n * ```\n *\n * @param options - Studio host\n * @param name - Optional name of the sdk to initialise.\n * If name is not provided, the default is \"[DEFAULT]\"\n *\n * @returns Configured SDK instance.\n *\n * @public\n */\nexport function configure(\n options: SdkOptions,\n name: string = DEFAULT_SDK_NAME,\n): MonterosaSdk {\n const existingSdk = sdks.get(name);\n\n if (existingSdk) {\n return existingSdk;\n }\n\n const sdk = new Sdk(options, name);\n\n sdks.set(name, sdk);\n\n return sdk;\n}\n\n/**\n * Destroy initialised sdk\n *\n * @example\n * ```javascript\n * const sdk = configure(...);\n *\n * destroy(sdk);\n * ```\n *\n * @param sdk - sdk instance\n */\nexport function destroy(sdk: MonterosaSdk) {\n const { name } = sdk;\n\n sdks.delete(name);\n sdk.deleteKits();\n sdk.isDestroyed = true;\n}\n","/**\n * @license\n * @monterosa/sdk-core\n *\n * Copyright © 2022 Monterosa Productions Limited. All rights reserved.\n *\n * More details on the license can be found at https://www.monterosa.co/sdk/license\n */\n\n/* eslint-disable no-console */\n\n/**\n * Represents the possible log levels.\n */\nexport enum LogLevel {\n /**\n * Verbose level. Provides detailed and extensive logging.\n */\n Verbose,\n /**\n * Debug level. Used for debugging and development purposes.\n */\n Debug,\n /**\n * Info level. Used to provide general information about the system's state.\n */\n Info,\n /**\n * Warn level. Indicates potential issues or situations that might cause problems in the future.\n */\n Warn,\n /**\n * Error level. Indicates critical errors and issues that require immediate attention.\n */\n Error,\n /**\n * Silent level. No logs will be output.\n */\n Silent,\n}\n\n/** @internal */\nexport type LogHandler = (\n logger: Logger,\n logType: LogLevel,\n ...args: unknown[]\n) => void;\n\nconst Methods = {\n [LogLevel.Verbose]: 'log',\n // `console.debug` is not shown in Chrome and Edge by default. It must be\n // enabled manually. To avoid hassle for developers with settings debug\n // messages are sent to `console.log`\n [LogLevel.Debug]: 'log',\n [LogLevel.Info]: 'info',\n [LogLevel.Warn]: 'warn',\n [LogLevel.Error]: 'error',\n} as const;\n\nconst logHandler: LogHandler = (logger, logLevel, ...args) => {\n if (logger.logLevel > logLevel) {\n return;\n }\n\n const method = Methods[logLevel as keyof typeof Methods];\n\n console[method](\n new Date().toISOString().replace(/[TZ]/gi, ' ').trim(),\n `${LogLevel[logLevel]}/${logger.name}:`,\n ...args,\n );\n};\n\n/** @internal */\nexport class Logger {\n private _logLevel: LogLevel = LogLevel.Warn;\n private _logHandler: LogHandler = logHandler;\n\n constructor(public name: string) {}\n\n get logLevel(): LogLevel {\n return this._logLevel;\n }\n\n set logLevel(level: LogLevel) {\n this._logLevel = level;\n }\n\n get logHandler(): LogHandler {\n return this._logHandler;\n }\n\n set logHandler(handler: LogHandler) {\n this.logHandler = handler;\n }\n\n log(...args: unknown[]) {\n this.logHandler(this, LogLevel.Verbose, ...args);\n }\n\n debug(...args: unknown[]) {\n this.logHandler(this, LogLevel.Debug, ...args);\n }\n\n info(...args: unknown[]) {\n this.logHandler(this, LogLevel.Info, ...args);\n }\n\n warn(...args: unknown[]) {\n this.logHandler(this, LogLevel.Warn, ...args);\n }\n\n error(...args: unknown[]) {\n this.logHandler(this, LogLevel.Error, ...args);\n }\n}\n"],"names":["checkStorageAvailability","uuidv4","getStorageItem","setStorageItem"],"mappings":"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"}
|
package/dist/src/api.d.ts
CHANGED
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @license
|
|
3
|
-
*
|
|
4
|
-
* core
|
|
3
|
+
* @monterosa/sdk-core
|
|
5
4
|
*
|
|
6
|
-
*
|
|
7
|
-
* Copyright © 2022 Monterosa. All rights reserved.
|
|
5
|
+
* Copyright © 2022-2024 Monterosa Productions Limited. All rights reserved.
|
|
8
6
|
*
|
|
9
7
|
* More details on the license can be found at https://www.monterosa.co/sdk/license
|
|
10
8
|
*/
|
package/dist/src/constants.d.ts
CHANGED
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @license
|
|
3
|
-
*
|
|
4
|
-
* core
|
|
3
|
+
* @monterosa/sdk-core
|
|
5
4
|
*
|
|
6
|
-
*
|
|
7
|
-
* Copyright © 2023 Monterosa. All rights reserved.
|
|
5
|
+
* Copyright © 2023-2024 Monterosa Productions Limited. All rights reserved.
|
|
8
6
|
*
|
|
9
7
|
* More details on the license can be found at https://www.monterosa.co/sdk/license
|
|
10
8
|
*/
|
package/dist/src/index.d.ts
CHANGED
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @license
|
|
3
|
-
*
|
|
4
|
-
* core
|
|
3
|
+
* @monterosa/sdk-core
|
|
5
4
|
*
|
|
6
|
-
*
|
|
7
|
-
* Copyright © 2022 Monterosa. All rights reserved.
|
|
5
|
+
* Copyright © 2021 Monterosa Productions Limited. All rights reserved.
|
|
8
6
|
*
|
|
9
7
|
* More details on the license can be found at https://www.monterosa.co/sdk/license
|
|
10
8
|
*/
|
package/dist/src/sdk.d.ts
CHANGED
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @license
|
|
3
|
-
* sdk
|
|
4
|
-
* core
|
|
3
|
+
* @monterosa/sdk-core
|
|
5
4
|
*
|
|
6
|
-
*
|
|
7
|
-
* Copyright © 2022 Monterosa. All rights reserved.
|
|
5
|
+
* Copyright © 2021-2024 Monterosa Productions Limited. All rights reserved.
|
|
8
6
|
*
|
|
9
7
|
* More details on the license can be found at https://www.monterosa.co/sdk/license
|
|
10
8
|
*/
|
package/dist/src/types.d.ts
CHANGED
|
@@ -1,15 +1,13 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @license
|
|
3
|
-
*
|
|
4
|
-
* core
|
|
3
|
+
* @monterosa/sdk-core
|
|
5
4
|
*
|
|
6
|
-
*
|
|
7
|
-
* Copyright © 2022 Monterosa. All rights reserved.
|
|
5
|
+
* Copyright © 2021-2024 Monterosa Productions Limited. All rights reserved.
|
|
8
6
|
*
|
|
9
7
|
* More details on the license can be found at https://www.monterosa.co/sdk/license
|
|
10
8
|
*/
|
|
11
9
|
/** @internal */
|
|
12
|
-
export
|
|
10
|
+
export type Kits = Map<string, MonterosaKit>;
|
|
13
11
|
/**
|
|
14
12
|
* Configuration object that used to initialise SDK and kits. Required values
|
|
15
13
|
* can be found in Monterosa / Interaction Cloud under
|
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @license
|
|
3
|
-
*
|
|
4
|
-
* core
|
|
3
|
+
* @monterosa/sdk-core
|
|
5
4
|
*
|
|
6
|
-
*
|
|
7
|
-
* Copyright © 2022 Monterosa. All rights reserved.
|
|
5
|
+
* Copyright © 2022 Monterosa Productions Limited. All rights reserved.
|
|
8
6
|
*
|
|
9
7
|
* More details on the license can be found at https://www.monterosa.co/sdk/license
|
|
10
8
|
*/
|
|
@@ -38,7 +36,7 @@ export declare enum LogLevel {
|
|
|
38
36
|
Silent = 5
|
|
39
37
|
}
|
|
40
38
|
/** @internal */
|
|
41
|
-
export
|
|
39
|
+
export type LogHandler = (logger: Logger, logType: LogLevel, ...args: unknown[]) => void;
|
|
42
40
|
/** @internal */
|
|
43
41
|
export declare class Logger {
|
|
44
42
|
name: string;
|
package/package.json
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@monterosa/sdk-core",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.19.0-rc.2",
|
|
4
4
|
"description": "Monterosa JS SDK / Core",
|
|
5
|
-
"author": "Monterosa <hello@monterosa.co.uk> (https://www.monterosa.co/)",
|
|
5
|
+
"author": "Monterosa Productions Limited <hello@monterosa.co.uk> (https://www.monterosa.co/)",
|
|
6
6
|
"main": "dist/index.cjs.js",
|
|
7
|
-
"browser": "dist/index.
|
|
8
|
-
"module": "dist/index.
|
|
9
|
-
"esm5": "dist/index.esm5.js",
|
|
7
|
+
"browser": "dist/index.esm.js",
|
|
8
|
+
"module": "dist/index.esm.js",
|
|
10
9
|
"types": "./dist/src/index.d.ts",
|
|
10
|
+
"cdn": "../../dist",
|
|
11
11
|
"files": [
|
|
12
12
|
"dist"
|
|
13
13
|
],
|
|
@@ -25,23 +25,27 @@
|
|
|
25
25
|
"@monterosa/sdk-util": "0.x"
|
|
26
26
|
},
|
|
27
27
|
"dependencies": {
|
|
28
|
-
"@monterosa/sdk-util": "^0.
|
|
28
|
+
"@monterosa/sdk-util": "^0.19.0-rc.2",
|
|
29
29
|
"uuid": "^8.3.2"
|
|
30
30
|
},
|
|
31
31
|
"devDependencies": {
|
|
32
32
|
"@rollup/plugin-json": "^4.1.0",
|
|
33
|
-
"@
|
|
34
|
-
"
|
|
33
|
+
"@rollup/plugin-node-resolve": "^13.3.0",
|
|
34
|
+
"@rollup/plugin-terser": "^0.4.4",
|
|
35
|
+
"@types/jest": "29.5.3",
|
|
36
|
+
"jest": "29.6.1",
|
|
37
|
+
"jest-environment-jsdom": "29.6.1",
|
|
35
38
|
"jest-fetch-mock": "^3.0.3",
|
|
36
39
|
"jest-junit": "^13.0.0",
|
|
37
40
|
"rollup": "^2.57.0",
|
|
38
|
-
"rollup-plugin-
|
|
39
|
-
"
|
|
41
|
+
"rollup-plugin-dts": "^4.0.0",
|
|
42
|
+
"rollup-plugin-typescript2": "^0.36.0",
|
|
43
|
+
"ts-jest": "29.1.1",
|
|
40
44
|
"tslib": "^2.3.0",
|
|
41
|
-
"typescript": "
|
|
45
|
+
"typescript": "4.9.5"
|
|
42
46
|
},
|
|
43
47
|
"publishConfig": {
|
|
44
48
|
"access": "public"
|
|
45
49
|
},
|
|
46
|
-
"gitHead": "
|
|
50
|
+
"gitHead": "e7842560549f31b24b2b6ebdf14c9e4d41cf8a98"
|
|
47
51
|
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.esm2017.js","sources":["../src/constants.ts","../src/sdk.ts","../src/api.ts","../src/utils/logger.ts"],"sourcesContent":["/**\n * @license\n * constants.ts\n * core\n *\n * Created by Rygor Kharytanovich <rygor@monterosa.co.uk> on 2023-03-21\n * Copyright © 2023 Monterosa. All rights reserved.\n *\n * More details on the license can be found at https://www.monterosa.co/sdk/license\n */\n\nimport { version } from '../package.json';\n\n/**\n * Default sdk name.\n *\n * @internal\n */\nexport const DEFAULT_SDK_NAME = '[DEFAULT]';\n\n/**\n * The current SDK version.\n *\n * @public\n */\nexport const VERSION = version;\n\n/**\n * Device ID storage key name\n *\n * @internal\n */\nexport const DEVICE_ID_KEY = 'device_id';\n","/**\n * @license\n * sdk.ts\n * core\n *\n * Created by Rygor Kharytanovich <rygor@monterosa.co.uk> on 2021-09-23\n * Copyright © 2022 Monterosa. All rights reserved.\n *\n * More details on the license can be found at https://www.monterosa.co/sdk/license\n */\n\nimport { MonterosaSdk, MonterosaKit, Kits, SdkOptions } from './types';\n\n/**\n * @internal\n */\nexport class Sdk implements MonterosaSdk {\n private readonly _options: SdkOptions;\n private readonly _name: string;\n private _isDestroyed: boolean = false;\n private _kits: Kits;\n\n constructor(options: SdkOptions, name: string) {\n this._options = { ...options };\n this._name = name;\n this._kits = new Map();\n }\n\n get name(): string {\n this.checkDestroyed();\n return this._name;\n }\n\n get options(): SdkOptions {\n this.checkDestroyed();\n return this._options;\n }\n\n get isDestroyed(): boolean {\n return this._isDestroyed;\n }\n\n get kits(): Kits {\n return this._kits;\n }\n\n set isDestroyed(value: boolean) {\n this._isDestroyed = value;\n }\n\n public deleteKits() {\n this.kits.forEach((kit, name) => {\n this.kits.delete(name);\n kit.delete();\n });\n }\n\n private checkDestroyed(): void {\n if (this.isDestroyed) {\n throw new Error(`SDK named ${this.name} destroyed`);\n }\n }\n}\n\n/**\n * @internal\n */\nexport function addKit(sdk: MonterosaSdk, name: string, kit: MonterosaKit) {\n sdk.kits.set(name, kit);\n}\n\n/**\n * @internal\n */\nexport function getKit(\n sdk: MonterosaSdk,\n name: string,\n): MonterosaKit | undefined {\n return sdk.kits.get(name);\n}\n\n/**\n * @internal\n */\nexport function deleteKit(sdk: MonterosaSdk, name: string): void {\n sdk.kits.delete(name);\n}\n","/**\n * @license\n * api.ts\n * core\n *\n * Created by Rygor Kharytanovich <rygor@monterosa.co.uk> on 2022-02-15\n * Copyright © 2022 Monterosa. All rights reserved.\n *\n * More details on the license can be found at https://www.monterosa.co/sdk/license\n */\n\nimport { v4 as uuidv4 } from 'uuid';\nimport {\n getItem as getStorageItem,\n setItem as setStorageItem,\n checkAvailability as checkStorageAvailability,\n} from '@monterosa/sdk-util';\n\nimport { MonterosaSdk, SdkOptions } from './types';\nimport { DEFAULT_SDK_NAME, DEVICE_ID_KEY } from './constants';\nimport { Sdk } from './sdk';\n\nconst sdks = new Map<string, MonterosaSdk>();\n\nlet DEVICE_ID: string;\n\n/**\n * An array of all configured sdks.\n *\n * @public\n */\nexport function getSdks(): MonterosaSdk[] {\n return Array.from(sdks.values());\n}\n\n/**\n * Retrieves an SDK instance by its name.\n *\n * @example\n * ```javascript\n * const sdk = getSdk('my-sdk');\n * ```\n *\n * @param name - Optional name of the sdk to initialise.\n * If name is not provided, the default is \"[DEFAULT]\"\n *\n * @public\n */\nexport function getSdk(name: string = DEFAULT_SDK_NAME): MonterosaSdk {\n const sdk = sdks.get(name);\n\n if (!sdk) {\n throw new Error(\n `No Monterosa Sdk \"${name}\" has been configured.\n You need to call configure() first`,\n );\n }\n\n return sdk;\n}\n\n/**\n * @internal\n */\nexport function getDeviceId() {\n if (DEVICE_ID !== undefined) {\n return DEVICE_ID;\n }\n\n if (!checkStorageAvailability()) {\n DEVICE_ID = uuidv4();\n\n return DEVICE_ID;\n }\n\n const value = getStorageItem(DEVICE_ID_KEY);\n\n if (value === null) {\n DEVICE_ID = uuidv4();\n\n setStorageItem(DEVICE_ID_KEY, DEVICE_ID);\n } else {\n DEVICE_ID = value;\n }\n\n return DEVICE_ID;\n}\n\n/**\n * Creates an SDK instance.\n *\n * @example\n *\n * Configure default sdk with host and project id\n *\n * ```javascript\n * configure({\n * host: \"...\",\n * projectId: \"...\"\n * });\n * ```\n *\n * @param options - Studio host\n * @param name - Optional name of the sdk to initialise.\n * If name is not provided, the default is \"[DEFAULT]\"\n *\n * @returns Configured SDK instance.\n *\n * @public\n */\nexport function configure(\n options: SdkOptions,\n name: string = DEFAULT_SDK_NAME,\n): MonterosaSdk {\n const existingSdk = sdks.get(name);\n\n if (existingSdk) {\n return existingSdk;\n }\n\n const sdk = new Sdk(options, name);\n\n sdks.set(name, sdk);\n\n return sdk;\n}\n\n/**\n * Destroy initialised sdk\n *\n * @example\n * ```javascript\n * const sdk = configure(...);\n *\n * destroy(sdk);\n * ```\n *\n * @param sdk - sdk instance\n */\nexport function destroy(sdk: MonterosaSdk) {\n const { name } = sdk;\n\n sdks.delete(name);\n sdk.deleteKits();\n sdk.isDestroyed = true;\n}\n","/**\n * @license\n * logger.ts\n * core\n *\n * Created by Rygor Kharytanovich <rygor@monterosa.co.uk> on 2022-05-31\n * Copyright © 2022 Monterosa. All rights reserved.\n *\n * More details on the license can be found at https://www.monterosa.co/sdk/license\n */\n\n/* eslint-disable no-console */\n\n/**\n * Represents the possible log levels.\n */\nexport enum LogLevel {\n /**\n * Verbose level. Provides detailed and extensive logging.\n */\n Verbose,\n /**\n * Debug level. Used for debugging and development purposes.\n */\n Debug,\n /**\n * Info level. Used to provide general information about the system's state.\n */\n Info,\n /**\n * Warn level. Indicates potential issues or situations that might cause problems in the future.\n */\n Warn,\n /**\n * Error level. Indicates critical errors and issues that require immediate attention.\n */\n Error,\n /**\n * Silent level. No logs will be output.\n */\n Silent,\n}\n\n/** @internal */\nexport type LogHandler = (\n logger: Logger,\n logType: LogLevel,\n ...args: unknown[]\n) => void;\n\nconst Methods = {\n [LogLevel.Verbose]: 'log',\n // `console.debug` is not shown in Chrome and Edge by default. It must be\n // enabled manually. To avoid hassle for developers with settings debug\n // messages are sent to `console.log`\n [LogLevel.Debug]: 'log',\n [LogLevel.Info]: 'info',\n [LogLevel.Warn]: 'warn',\n [LogLevel.Error]: 'error',\n} as const;\n\nconst logHandler: LogHandler = (logger, logLevel, ...args) => {\n if (logger.logLevel > logLevel) {\n return;\n }\n\n const method = Methods[logLevel as keyof typeof Methods];\n\n console[method](\n new Date().toISOString().replace(/[TZ]/gi, ' ').trim(),\n `${LogLevel[logLevel]}/${logger.name}:`,\n ...args,\n );\n};\n\n/** @internal */\nexport class Logger {\n private _logLevel: LogLevel = LogLevel.Warn;\n private _logHandler: LogHandler = logHandler;\n\n constructor(public name: string) {}\n\n get logLevel(): LogLevel {\n return this._logLevel;\n }\n\n set logLevel(level: LogLevel) {\n this._logLevel = level;\n }\n\n get logHandler(): LogHandler {\n return this._logHandler;\n }\n\n set logHandler(handler: LogHandler) {\n this.logHandler = handler;\n }\n\n log(...args: unknown[]) {\n this.logHandler(this, LogLevel.Verbose, ...args);\n }\n\n debug(...args: unknown[]) {\n this.logHandler(this, LogLevel.Debug, ...args);\n }\n\n info(...args: unknown[]) {\n this.logHandler(this, LogLevel.Info, ...args);\n }\n\n warn(...args: unknown[]) {\n this.logHandler(this, LogLevel.Warn, ...args);\n }\n\n error(...args: unknown[]) {\n this.logHandler(this, LogLevel.Error, ...args);\n }\n}\n"],"names":["checkStorageAvailability","uuidv4","getStorageItem","setStorageItem"],"mappings":"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"}
|
package/dist/index.esm5.js
DELETED
|
@@ -1,395 +0,0 @@
|
|
|
1
|
-
import { v4 } from 'uuid';
|
|
2
|
-
import { checkAvailability, getItem, setItem } from '@monterosa/sdk-util';
|
|
3
|
-
|
|
4
|
-
var version = "0.18.0";
|
|
5
|
-
|
|
6
|
-
/**
|
|
7
|
-
* @license
|
|
8
|
-
* constants.ts
|
|
9
|
-
* core
|
|
10
|
-
*
|
|
11
|
-
* Created by Rygor Kharytanovich <rygor@monterosa.co.uk> on 2023-03-21
|
|
12
|
-
* Copyright © 2023 Monterosa. All rights reserved.
|
|
13
|
-
*
|
|
14
|
-
* More details on the license can be found at https://www.monterosa.co/sdk/license
|
|
15
|
-
*/
|
|
16
|
-
/**
|
|
17
|
-
* Default sdk name.
|
|
18
|
-
*
|
|
19
|
-
* @internal
|
|
20
|
-
*/
|
|
21
|
-
var DEFAULT_SDK_NAME = '[DEFAULT]';
|
|
22
|
-
/**
|
|
23
|
-
* The current SDK version.
|
|
24
|
-
*
|
|
25
|
-
* @public
|
|
26
|
-
*/
|
|
27
|
-
var VERSION = version;
|
|
28
|
-
/**
|
|
29
|
-
* Device ID storage key name
|
|
30
|
-
*
|
|
31
|
-
* @internal
|
|
32
|
-
*/
|
|
33
|
-
var DEVICE_ID_KEY = 'device_id';
|
|
34
|
-
|
|
35
|
-
/*! *****************************************************************************
|
|
36
|
-
Copyright (c) Microsoft Corporation.
|
|
37
|
-
|
|
38
|
-
Permission to use, copy, modify, and/or distribute this software for any
|
|
39
|
-
purpose with or without fee is hereby granted.
|
|
40
|
-
|
|
41
|
-
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
|
42
|
-
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
|
43
|
-
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
|
44
|
-
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
|
45
|
-
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|
46
|
-
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
47
|
-
PERFORMANCE OF THIS SOFTWARE.
|
|
48
|
-
***************************************************************************** */
|
|
49
|
-
|
|
50
|
-
var __assign = function() {
|
|
51
|
-
__assign = Object.assign || function __assign(t) {
|
|
52
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
53
|
-
s = arguments[i];
|
|
54
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
|
|
55
|
-
}
|
|
56
|
-
return t;
|
|
57
|
-
};
|
|
58
|
-
return __assign.apply(this, arguments);
|
|
59
|
-
};
|
|
60
|
-
|
|
61
|
-
function __spreadArray(to, from) {
|
|
62
|
-
for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)
|
|
63
|
-
to[j] = from[i];
|
|
64
|
-
return to;
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
/**
|
|
68
|
-
* @license
|
|
69
|
-
* sdk.ts
|
|
70
|
-
* core
|
|
71
|
-
*
|
|
72
|
-
* Created by Rygor Kharytanovich <rygor@monterosa.co.uk> on 2021-09-23
|
|
73
|
-
* Copyright © 2022 Monterosa. All rights reserved.
|
|
74
|
-
*
|
|
75
|
-
* More details on the license can be found at https://www.monterosa.co/sdk/license
|
|
76
|
-
*/
|
|
77
|
-
/**
|
|
78
|
-
* @internal
|
|
79
|
-
*/
|
|
80
|
-
var Sdk = /** @class */ (function () {
|
|
81
|
-
function Sdk(options, name) {
|
|
82
|
-
this._isDestroyed = false;
|
|
83
|
-
this._options = __assign({}, options);
|
|
84
|
-
this._name = name;
|
|
85
|
-
this._kits = new Map();
|
|
86
|
-
}
|
|
87
|
-
Object.defineProperty(Sdk.prototype, "name", {
|
|
88
|
-
get: function () {
|
|
89
|
-
this.checkDestroyed();
|
|
90
|
-
return this._name;
|
|
91
|
-
},
|
|
92
|
-
enumerable: false,
|
|
93
|
-
configurable: true
|
|
94
|
-
});
|
|
95
|
-
Object.defineProperty(Sdk.prototype, "options", {
|
|
96
|
-
get: function () {
|
|
97
|
-
this.checkDestroyed();
|
|
98
|
-
return this._options;
|
|
99
|
-
},
|
|
100
|
-
enumerable: false,
|
|
101
|
-
configurable: true
|
|
102
|
-
});
|
|
103
|
-
Object.defineProperty(Sdk.prototype, "isDestroyed", {
|
|
104
|
-
get: function () {
|
|
105
|
-
return this._isDestroyed;
|
|
106
|
-
},
|
|
107
|
-
set: function (value) {
|
|
108
|
-
this._isDestroyed = value;
|
|
109
|
-
},
|
|
110
|
-
enumerable: false,
|
|
111
|
-
configurable: true
|
|
112
|
-
});
|
|
113
|
-
Object.defineProperty(Sdk.prototype, "kits", {
|
|
114
|
-
get: function () {
|
|
115
|
-
return this._kits;
|
|
116
|
-
},
|
|
117
|
-
enumerable: false,
|
|
118
|
-
configurable: true
|
|
119
|
-
});
|
|
120
|
-
Sdk.prototype.deleteKits = function () {
|
|
121
|
-
var _this = this;
|
|
122
|
-
this.kits.forEach(function (kit, name) {
|
|
123
|
-
_this.kits.delete(name);
|
|
124
|
-
kit.delete();
|
|
125
|
-
});
|
|
126
|
-
};
|
|
127
|
-
Sdk.prototype.checkDestroyed = function () {
|
|
128
|
-
if (this.isDestroyed) {
|
|
129
|
-
throw new Error("SDK named " + this.name + " destroyed");
|
|
130
|
-
}
|
|
131
|
-
};
|
|
132
|
-
return Sdk;
|
|
133
|
-
}());
|
|
134
|
-
/**
|
|
135
|
-
* @internal
|
|
136
|
-
*/
|
|
137
|
-
function addKit(sdk, name, kit) {
|
|
138
|
-
sdk.kits.set(name, kit);
|
|
139
|
-
}
|
|
140
|
-
/**
|
|
141
|
-
* @internal
|
|
142
|
-
*/
|
|
143
|
-
function getKit(sdk, name) {
|
|
144
|
-
return sdk.kits.get(name);
|
|
145
|
-
}
|
|
146
|
-
/**
|
|
147
|
-
* @internal
|
|
148
|
-
*/
|
|
149
|
-
function deleteKit(sdk, name) {
|
|
150
|
-
sdk.kits.delete(name);
|
|
151
|
-
}
|
|
152
|
-
|
|
153
|
-
/**
|
|
154
|
-
* @license
|
|
155
|
-
* api.ts
|
|
156
|
-
* core
|
|
157
|
-
*
|
|
158
|
-
* Created by Rygor Kharytanovich <rygor@monterosa.co.uk> on 2022-02-15
|
|
159
|
-
* Copyright © 2022 Monterosa. All rights reserved.
|
|
160
|
-
*
|
|
161
|
-
* More details on the license can be found at https://www.monterosa.co/sdk/license
|
|
162
|
-
*/
|
|
163
|
-
var sdks = new Map();
|
|
164
|
-
var DEVICE_ID;
|
|
165
|
-
/**
|
|
166
|
-
* An array of all configured sdks.
|
|
167
|
-
*
|
|
168
|
-
* @public
|
|
169
|
-
*/
|
|
170
|
-
function getSdks() {
|
|
171
|
-
return Array.from(sdks.values());
|
|
172
|
-
}
|
|
173
|
-
/**
|
|
174
|
-
* Retrieves an SDK instance by its name.
|
|
175
|
-
*
|
|
176
|
-
* @example
|
|
177
|
-
* ```javascript
|
|
178
|
-
* const sdk = getSdk('my-sdk');
|
|
179
|
-
* ```
|
|
180
|
-
*
|
|
181
|
-
* @param name - Optional name of the sdk to initialise.
|
|
182
|
-
* If name is not provided, the default is "[DEFAULT]"
|
|
183
|
-
*
|
|
184
|
-
* @public
|
|
185
|
-
*/
|
|
186
|
-
function getSdk(name) {
|
|
187
|
-
if (name === void 0) { name = DEFAULT_SDK_NAME; }
|
|
188
|
-
var sdk = sdks.get(name);
|
|
189
|
-
if (!sdk) {
|
|
190
|
-
throw new Error("No Monterosa Sdk \"" + name + "\" has been configured.\n You need to call configure() first");
|
|
191
|
-
}
|
|
192
|
-
return sdk;
|
|
193
|
-
}
|
|
194
|
-
/**
|
|
195
|
-
* @internal
|
|
196
|
-
*/
|
|
197
|
-
function getDeviceId() {
|
|
198
|
-
if (DEVICE_ID !== undefined) {
|
|
199
|
-
return DEVICE_ID;
|
|
200
|
-
}
|
|
201
|
-
if (!checkAvailability()) {
|
|
202
|
-
DEVICE_ID = v4();
|
|
203
|
-
return DEVICE_ID;
|
|
204
|
-
}
|
|
205
|
-
var value = getItem(DEVICE_ID_KEY);
|
|
206
|
-
if (value === null) {
|
|
207
|
-
DEVICE_ID = v4();
|
|
208
|
-
setItem(DEVICE_ID_KEY, DEVICE_ID);
|
|
209
|
-
}
|
|
210
|
-
else {
|
|
211
|
-
DEVICE_ID = value;
|
|
212
|
-
}
|
|
213
|
-
return DEVICE_ID;
|
|
214
|
-
}
|
|
215
|
-
/**
|
|
216
|
-
* Creates an SDK instance.
|
|
217
|
-
*
|
|
218
|
-
* @example
|
|
219
|
-
*
|
|
220
|
-
* Configure default sdk with host and project id
|
|
221
|
-
*
|
|
222
|
-
* ```javascript
|
|
223
|
-
* configure({
|
|
224
|
-
* host: "...",
|
|
225
|
-
* projectId: "..."
|
|
226
|
-
* });
|
|
227
|
-
* ```
|
|
228
|
-
*
|
|
229
|
-
* @param options - Studio host
|
|
230
|
-
* @param name - Optional name of the sdk to initialise.
|
|
231
|
-
* If name is not provided, the default is "[DEFAULT]"
|
|
232
|
-
*
|
|
233
|
-
* @returns Configured SDK instance.
|
|
234
|
-
*
|
|
235
|
-
* @public
|
|
236
|
-
*/
|
|
237
|
-
function configure(options, name) {
|
|
238
|
-
if (name === void 0) { name = DEFAULT_SDK_NAME; }
|
|
239
|
-
var existingSdk = sdks.get(name);
|
|
240
|
-
if (existingSdk) {
|
|
241
|
-
return existingSdk;
|
|
242
|
-
}
|
|
243
|
-
var sdk = new Sdk(options, name);
|
|
244
|
-
sdks.set(name, sdk);
|
|
245
|
-
return sdk;
|
|
246
|
-
}
|
|
247
|
-
/**
|
|
248
|
-
* Destroy initialised sdk
|
|
249
|
-
*
|
|
250
|
-
* @example
|
|
251
|
-
* ```javascript
|
|
252
|
-
* const sdk = configure(...);
|
|
253
|
-
*
|
|
254
|
-
* destroy(sdk);
|
|
255
|
-
* ```
|
|
256
|
-
*
|
|
257
|
-
* @param sdk - sdk instance
|
|
258
|
-
*/
|
|
259
|
-
function destroy(sdk) {
|
|
260
|
-
var name = sdk.name;
|
|
261
|
-
sdks.delete(name);
|
|
262
|
-
sdk.deleteKits();
|
|
263
|
-
sdk.isDestroyed = true;
|
|
264
|
-
}
|
|
265
|
-
|
|
266
|
-
/**
|
|
267
|
-
* @license
|
|
268
|
-
* logger.ts
|
|
269
|
-
* core
|
|
270
|
-
*
|
|
271
|
-
* Created by Rygor Kharytanovich <rygor@monterosa.co.uk> on 2022-05-31
|
|
272
|
-
* Copyright © 2022 Monterosa. All rights reserved.
|
|
273
|
-
*
|
|
274
|
-
* More details on the license can be found at https://www.monterosa.co/sdk/license
|
|
275
|
-
*/
|
|
276
|
-
var _a;
|
|
277
|
-
/* eslint-disable no-console */
|
|
278
|
-
/**
|
|
279
|
-
* Represents the possible log levels.
|
|
280
|
-
*/
|
|
281
|
-
var LogLevel;
|
|
282
|
-
(function (LogLevel) {
|
|
283
|
-
/**
|
|
284
|
-
* Verbose level. Provides detailed and extensive logging.
|
|
285
|
-
*/
|
|
286
|
-
LogLevel[LogLevel["Verbose"] = 0] = "Verbose";
|
|
287
|
-
/**
|
|
288
|
-
* Debug level. Used for debugging and development purposes.
|
|
289
|
-
*/
|
|
290
|
-
LogLevel[LogLevel["Debug"] = 1] = "Debug";
|
|
291
|
-
/**
|
|
292
|
-
* Info level. Used to provide general information about the system's state.
|
|
293
|
-
*/
|
|
294
|
-
LogLevel[LogLevel["Info"] = 2] = "Info";
|
|
295
|
-
/**
|
|
296
|
-
* Warn level. Indicates potential issues or situations that might cause problems in the future.
|
|
297
|
-
*/
|
|
298
|
-
LogLevel[LogLevel["Warn"] = 3] = "Warn";
|
|
299
|
-
/**
|
|
300
|
-
* Error level. Indicates critical errors and issues that require immediate attention.
|
|
301
|
-
*/
|
|
302
|
-
LogLevel[LogLevel["Error"] = 4] = "Error";
|
|
303
|
-
/**
|
|
304
|
-
* Silent level. No logs will be output.
|
|
305
|
-
*/
|
|
306
|
-
LogLevel[LogLevel["Silent"] = 5] = "Silent";
|
|
307
|
-
})(LogLevel || (LogLevel = {}));
|
|
308
|
-
var Methods = (_a = {},
|
|
309
|
-
_a[LogLevel.Verbose] = 'log',
|
|
310
|
-
// `console.debug` is not shown in Chrome and Edge by default. It must be
|
|
311
|
-
// enabled manually. To avoid hassle for developers with settings debug
|
|
312
|
-
// messages are sent to `console.log`
|
|
313
|
-
_a[LogLevel.Debug] = 'log',
|
|
314
|
-
_a[LogLevel.Info] = 'info',
|
|
315
|
-
_a[LogLevel.Warn] = 'warn',
|
|
316
|
-
_a[LogLevel.Error] = 'error',
|
|
317
|
-
_a);
|
|
318
|
-
var logHandler = function (logger, logLevel) {
|
|
319
|
-
var args = [];
|
|
320
|
-
for (var _i = 2; _i < arguments.length; _i++) {
|
|
321
|
-
args[_i - 2] = arguments[_i];
|
|
322
|
-
}
|
|
323
|
-
if (logger.logLevel > logLevel) {
|
|
324
|
-
return;
|
|
325
|
-
}
|
|
326
|
-
var method = Methods[logLevel];
|
|
327
|
-
console[method].apply(console, __spreadArray([new Date().toISOString().replace(/[TZ]/gi, ' ').trim(), LogLevel[logLevel] + "/" + logger.name + ":"], args));
|
|
328
|
-
};
|
|
329
|
-
/** @internal */
|
|
330
|
-
var Logger = /** @class */ (function () {
|
|
331
|
-
function Logger(name) {
|
|
332
|
-
this.name = name;
|
|
333
|
-
this._logLevel = LogLevel.Warn;
|
|
334
|
-
this._logHandler = logHandler;
|
|
335
|
-
}
|
|
336
|
-
Object.defineProperty(Logger.prototype, "logLevel", {
|
|
337
|
-
get: function () {
|
|
338
|
-
return this._logLevel;
|
|
339
|
-
},
|
|
340
|
-
set: function (level) {
|
|
341
|
-
this._logLevel = level;
|
|
342
|
-
},
|
|
343
|
-
enumerable: false,
|
|
344
|
-
configurable: true
|
|
345
|
-
});
|
|
346
|
-
Object.defineProperty(Logger.prototype, "logHandler", {
|
|
347
|
-
get: function () {
|
|
348
|
-
return this._logHandler;
|
|
349
|
-
},
|
|
350
|
-
set: function (handler) {
|
|
351
|
-
this.logHandler = handler;
|
|
352
|
-
},
|
|
353
|
-
enumerable: false,
|
|
354
|
-
configurable: true
|
|
355
|
-
});
|
|
356
|
-
Logger.prototype.log = function () {
|
|
357
|
-
var args = [];
|
|
358
|
-
for (var _i = 0; _i < arguments.length; _i++) {
|
|
359
|
-
args[_i] = arguments[_i];
|
|
360
|
-
}
|
|
361
|
-
this.logHandler.apply(this, __spreadArray([this, LogLevel.Verbose], args));
|
|
362
|
-
};
|
|
363
|
-
Logger.prototype.debug = function () {
|
|
364
|
-
var args = [];
|
|
365
|
-
for (var _i = 0; _i < arguments.length; _i++) {
|
|
366
|
-
args[_i] = arguments[_i];
|
|
367
|
-
}
|
|
368
|
-
this.logHandler.apply(this, __spreadArray([this, LogLevel.Debug], args));
|
|
369
|
-
};
|
|
370
|
-
Logger.prototype.info = function () {
|
|
371
|
-
var args = [];
|
|
372
|
-
for (var _i = 0; _i < arguments.length; _i++) {
|
|
373
|
-
args[_i] = arguments[_i];
|
|
374
|
-
}
|
|
375
|
-
this.logHandler.apply(this, __spreadArray([this, LogLevel.Info], args));
|
|
376
|
-
};
|
|
377
|
-
Logger.prototype.warn = function () {
|
|
378
|
-
var args = [];
|
|
379
|
-
for (var _i = 0; _i < arguments.length; _i++) {
|
|
380
|
-
args[_i] = arguments[_i];
|
|
381
|
-
}
|
|
382
|
-
this.logHandler.apply(this, __spreadArray([this, LogLevel.Warn], args));
|
|
383
|
-
};
|
|
384
|
-
Logger.prototype.error = function () {
|
|
385
|
-
var args = [];
|
|
386
|
-
for (var _i = 0; _i < arguments.length; _i++) {
|
|
387
|
-
args[_i] = arguments[_i];
|
|
388
|
-
}
|
|
389
|
-
this.logHandler.apply(this, __spreadArray([this, LogLevel.Error], args));
|
|
390
|
-
};
|
|
391
|
-
return Logger;
|
|
392
|
-
}());
|
|
393
|
-
|
|
394
|
-
export { DEFAULT_SDK_NAME, DEVICE_ID_KEY, LogLevel, Logger, Sdk, VERSION, addKit, configure, deleteKit, destroy, getDeviceId, getKit, getSdk, getSdks };
|
|
395
|
-
//# sourceMappingURL=index.esm5.js.map
|
package/dist/index.esm5.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.esm5.js","sources":["../src/constants.ts","../src/sdk.ts","../src/api.ts","../src/utils/logger.ts"],"sourcesContent":["/**\n * @license\n * constants.ts\n * core\n *\n * Created by Rygor Kharytanovich <rygor@monterosa.co.uk> on 2023-03-21\n * Copyright © 2023 Monterosa. All rights reserved.\n *\n * More details on the license can be found at https://www.monterosa.co/sdk/license\n */\n\nimport { version } from '../package.json';\n\n/**\n * Default sdk name.\n *\n * @internal\n */\nexport const DEFAULT_SDK_NAME = '[DEFAULT]';\n\n/**\n * The current SDK version.\n *\n * @public\n */\nexport const VERSION = version;\n\n/**\n * Device ID storage key name\n *\n * @internal\n */\nexport const DEVICE_ID_KEY = 'device_id';\n","/**\n * @license\n * sdk.ts\n * core\n *\n * Created by Rygor Kharytanovich <rygor@monterosa.co.uk> on 2021-09-23\n * Copyright © 2022 Monterosa. All rights reserved.\n *\n * More details on the license can be found at https://www.monterosa.co/sdk/license\n */\n\nimport { MonterosaSdk, MonterosaKit, Kits, SdkOptions } from './types';\n\n/**\n * @internal\n */\nexport class Sdk implements MonterosaSdk {\n private readonly _options: SdkOptions;\n private readonly _name: string;\n private _isDestroyed: boolean = false;\n private _kits: Kits;\n\n constructor(options: SdkOptions, name: string) {\n this._options = { ...options };\n this._name = name;\n this._kits = new Map();\n }\n\n get name(): string {\n this.checkDestroyed();\n return this._name;\n }\n\n get options(): SdkOptions {\n this.checkDestroyed();\n return this._options;\n }\n\n get isDestroyed(): boolean {\n return this._isDestroyed;\n }\n\n get kits(): Kits {\n return this._kits;\n }\n\n set isDestroyed(value: boolean) {\n this._isDestroyed = value;\n }\n\n public deleteKits() {\n this.kits.forEach((kit, name) => {\n this.kits.delete(name);\n kit.delete();\n });\n }\n\n private checkDestroyed(): void {\n if (this.isDestroyed) {\n throw new Error(`SDK named ${this.name} destroyed`);\n }\n }\n}\n\n/**\n * @internal\n */\nexport function addKit(sdk: MonterosaSdk, name: string, kit: MonterosaKit) {\n sdk.kits.set(name, kit);\n}\n\n/**\n * @internal\n */\nexport function getKit(\n sdk: MonterosaSdk,\n name: string,\n): MonterosaKit | undefined {\n return sdk.kits.get(name);\n}\n\n/**\n * @internal\n */\nexport function deleteKit(sdk: MonterosaSdk, name: string): void {\n sdk.kits.delete(name);\n}\n","/**\n * @license\n * api.ts\n * core\n *\n * Created by Rygor Kharytanovich <rygor@monterosa.co.uk> on 2022-02-15\n * Copyright © 2022 Monterosa. All rights reserved.\n *\n * More details on the license can be found at https://www.monterosa.co/sdk/license\n */\n\nimport { v4 as uuidv4 } from 'uuid';\nimport {\n getItem as getStorageItem,\n setItem as setStorageItem,\n checkAvailability as checkStorageAvailability,\n} from '@monterosa/sdk-util';\n\nimport { MonterosaSdk, SdkOptions } from './types';\nimport { DEFAULT_SDK_NAME, DEVICE_ID_KEY } from './constants';\nimport { Sdk } from './sdk';\n\nconst sdks = new Map<string, MonterosaSdk>();\n\nlet DEVICE_ID: string;\n\n/**\n * An array of all configured sdks.\n *\n * @public\n */\nexport function getSdks(): MonterosaSdk[] {\n return Array.from(sdks.values());\n}\n\n/**\n * Retrieves an SDK instance by its name.\n *\n * @example\n * ```javascript\n * const sdk = getSdk('my-sdk');\n * ```\n *\n * @param name - Optional name of the sdk to initialise.\n * If name is not provided, the default is \"[DEFAULT]\"\n *\n * @public\n */\nexport function getSdk(name: string = DEFAULT_SDK_NAME): MonterosaSdk {\n const sdk = sdks.get(name);\n\n if (!sdk) {\n throw new Error(\n `No Monterosa Sdk \"${name}\" has been configured.\n You need to call configure() first`,\n );\n }\n\n return sdk;\n}\n\n/**\n * @internal\n */\nexport function getDeviceId() {\n if (DEVICE_ID !== undefined) {\n return DEVICE_ID;\n }\n\n if (!checkStorageAvailability()) {\n DEVICE_ID = uuidv4();\n\n return DEVICE_ID;\n }\n\n const value = getStorageItem(DEVICE_ID_KEY);\n\n if (value === null) {\n DEVICE_ID = uuidv4();\n\n setStorageItem(DEVICE_ID_KEY, DEVICE_ID);\n } else {\n DEVICE_ID = value;\n }\n\n return DEVICE_ID;\n}\n\n/**\n * Creates an SDK instance.\n *\n * @example\n *\n * Configure default sdk with host and project id\n *\n * ```javascript\n * configure({\n * host: \"...\",\n * projectId: \"...\"\n * });\n * ```\n *\n * @param options - Studio host\n * @param name - Optional name of the sdk to initialise.\n * If name is not provided, the default is \"[DEFAULT]\"\n *\n * @returns Configured SDK instance.\n *\n * @public\n */\nexport function configure(\n options: SdkOptions,\n name: string = DEFAULT_SDK_NAME,\n): MonterosaSdk {\n const existingSdk = sdks.get(name);\n\n if (existingSdk) {\n return existingSdk;\n }\n\n const sdk = new Sdk(options, name);\n\n sdks.set(name, sdk);\n\n return sdk;\n}\n\n/**\n * Destroy initialised sdk\n *\n * @example\n * ```javascript\n * const sdk = configure(...);\n *\n * destroy(sdk);\n * ```\n *\n * @param sdk - sdk instance\n */\nexport function destroy(sdk: MonterosaSdk) {\n const { name } = sdk;\n\n sdks.delete(name);\n sdk.deleteKits();\n sdk.isDestroyed = true;\n}\n","/**\n * @license\n * logger.ts\n * core\n *\n * Created by Rygor Kharytanovich <rygor@monterosa.co.uk> on 2022-05-31\n * Copyright © 2022 Monterosa. All rights reserved.\n *\n * More details on the license can be found at https://www.monterosa.co/sdk/license\n */\n\n/* eslint-disable no-console */\n\n/**\n * Represents the possible log levels.\n */\nexport enum LogLevel {\n /**\n * Verbose level. Provides detailed and extensive logging.\n */\n Verbose,\n /**\n * Debug level. Used for debugging and development purposes.\n */\n Debug,\n /**\n * Info level. Used to provide general information about the system's state.\n */\n Info,\n /**\n * Warn level. Indicates potential issues or situations that might cause problems in the future.\n */\n Warn,\n /**\n * Error level. Indicates critical errors and issues that require immediate attention.\n */\n Error,\n /**\n * Silent level. No logs will be output.\n */\n Silent,\n}\n\n/** @internal */\nexport type LogHandler = (\n logger: Logger,\n logType: LogLevel,\n ...args: unknown[]\n) => void;\n\nconst Methods = {\n [LogLevel.Verbose]: 'log',\n // `console.debug` is not shown in Chrome and Edge by default. It must be\n // enabled manually. To avoid hassle for developers with settings debug\n // messages are sent to `console.log`\n [LogLevel.Debug]: 'log',\n [LogLevel.Info]: 'info',\n [LogLevel.Warn]: 'warn',\n [LogLevel.Error]: 'error',\n} as const;\n\nconst logHandler: LogHandler = (logger, logLevel, ...args) => {\n if (logger.logLevel > logLevel) {\n return;\n }\n\n const method = Methods[logLevel as keyof typeof Methods];\n\n console[method](\n new Date().toISOString().replace(/[TZ]/gi, ' ').trim(),\n `${LogLevel[logLevel]}/${logger.name}:`,\n ...args,\n );\n};\n\n/** @internal */\nexport class Logger {\n private _logLevel: LogLevel = LogLevel.Warn;\n private _logHandler: LogHandler = logHandler;\n\n constructor(public name: string) {}\n\n get logLevel(): LogLevel {\n return this._logLevel;\n }\n\n set logLevel(level: LogLevel) {\n this._logLevel = level;\n }\n\n get logHandler(): LogHandler {\n return this._logHandler;\n }\n\n set logHandler(handler: LogHandler) {\n this.logHandler = handler;\n }\n\n log(...args: unknown[]) {\n this.logHandler(this, LogLevel.Verbose, ...args);\n }\n\n debug(...args: unknown[]) {\n this.logHandler(this, LogLevel.Debug, ...args);\n }\n\n info(...args: unknown[]) {\n this.logHandler(this, LogLevel.Info, ...args);\n }\n\n warn(...args: unknown[]) {\n this.logHandler(this, LogLevel.Warn, ...args);\n }\n\n error(...args: unknown[]) {\n this.logHandler(this, LogLevel.Error, ...args);\n }\n}\n"],"names":["checkStorageAvailability","uuidv4","getStorageItem","setStorageItem"],"mappings":"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"}
|