@monterosa/sdk-core 0.18.8 → 0.18.10-local-only-storage.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs.js CHANGED
@@ -5,7 +5,7 @@ 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.18.8";
8
+ var version = "0.18.10-local-only-storage.1";
9
9
 
10
10
  /**
11
11
  * @license
@@ -167,7 +167,9 @@ function deleteKit(sdk, name) {
167
167
  var sdks = new Map();
168
168
  var DEVICE_ID;
169
169
  /**
170
- * An array of all configured sdks.
170
+ * Returns all configured SDK instances.
171
+ *
172
+ * @returns An array of all configured SDK instances.
171
173
  *
172
174
  * @public
173
175
  */
@@ -185,6 +187,8 @@ function getSdks() {
185
187
  * @param name - Optional name of the sdk to initialise.
186
188
  * If name is not provided, the default is "[DEFAULT]"
187
189
  *
190
+ * @returns The configured SDK instance.
191
+ *
188
192
  * @public
189
193
  */
190
194
  function getSdk(name) {
@@ -230,7 +234,8 @@ function getDeviceId() {
230
234
  * });
231
235
  * ```
232
236
  *
233
- * @param options - Studio host
237
+ * @param options - Configuration object containing `host` and `projectId`.
238
+ * These values can be found in the Embed section of your Project in Studio.
234
239
  * @param name - Optional name of the sdk to initialise.
235
240
  * If name is not provided, the default is "[DEFAULT]"
236
241
  *
@@ -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 * 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 * Returns all configured SDK instances.\n *\n * @returns An array of all configured SDK instances.\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 * @returns The configured SDK instance.\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 - Configuration object containing `host` and `projectId`.\n * These values can be found in the Embed section of your Project in Studio.\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,7 +1,7 @@
1
1
  import { v4 } from 'uuid';
2
2
  import { checkAvailability, getItem, setItem } from '@monterosa/sdk-util';
3
3
 
4
- var version = "0.18.8";
4
+ var version = "0.18.10-local-only-storage.1";
5
5
 
6
6
  /**
7
7
  * @license
@@ -113,7 +113,9 @@ function deleteKit(sdk, name) {
113
113
  const sdks = new Map();
114
114
  let DEVICE_ID;
115
115
  /**
116
- * An array of all configured sdks.
116
+ * Returns all configured SDK instances.
117
+ *
118
+ * @returns An array of all configured SDK instances.
117
119
  *
118
120
  * @public
119
121
  */
@@ -131,6 +133,8 @@ function getSdks() {
131
133
  * @param name - Optional name of the sdk to initialise.
132
134
  * If name is not provided, the default is "[DEFAULT]"
133
135
  *
136
+ * @returns The configured SDK instance.
137
+ *
134
138
  * @public
135
139
  */
136
140
  function getSdk(name = DEFAULT_SDK_NAME) {
@@ -176,7 +180,8 @@ function getDeviceId() {
176
180
  * });
177
181
  * ```
178
182
  *
179
- * @param options - Studio host
183
+ * @param options - Configuration object containing `host` and `projectId`.
184
+ * These values can be found in the Embed section of your Project in Studio.
180
185
  * @param name - Optional name of the sdk to initialise.
181
186
  * If name is not provided, the default is "[DEFAULT]"
182
187
  *
@@ -1 +1 @@
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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"}
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 * Returns all configured SDK instances.\n *\n * @returns An array of all configured SDK instances.\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 * @returns The configured SDK instance.\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 - Configuration object containing `host` and `projectId`.\n * These values can be found in the Embed section of your Project in Studio.\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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"}
@@ -1,7 +1,7 @@
1
1
  import { v4 } from 'uuid';
2
2
  import { checkAvailability, getItem, setItem } from '@monterosa/sdk-util';
3
3
 
4
- var version = "0.18.8";
4
+ var version = "0.18.10-local-only-storage.1";
5
5
 
6
6
  /**
7
7
  * @license
@@ -163,7 +163,9 @@ function deleteKit(sdk, name) {
163
163
  var sdks = new Map();
164
164
  var DEVICE_ID;
165
165
  /**
166
- * An array of all configured sdks.
166
+ * Returns all configured SDK instances.
167
+ *
168
+ * @returns An array of all configured SDK instances.
167
169
  *
168
170
  * @public
169
171
  */
@@ -181,6 +183,8 @@ function getSdks() {
181
183
  * @param name - Optional name of the sdk to initialise.
182
184
  * If name is not provided, the default is "[DEFAULT]"
183
185
  *
186
+ * @returns The configured SDK instance.
187
+ *
184
188
  * @public
185
189
  */
186
190
  function getSdk(name) {
@@ -226,7 +230,8 @@ function getDeviceId() {
226
230
  * });
227
231
  * ```
228
232
  *
229
- * @param options - Studio host
233
+ * @param options - Configuration object containing `host` and `projectId`.
234
+ * These values can be found in the Embed section of your Project in Studio.
230
235
  * @param name - Optional name of the sdk to initialise.
231
236
  * If name is not provided, the default is "[DEFAULT]"
232
237
  *
@@ -1 +1 @@
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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"}
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 * Returns all configured SDK instances.\n *\n * @returns An array of all configured SDK instances.\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 * @returns The configured SDK instance.\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 - Configuration object containing `host` and `projectId`.\n * These values can be found in the Embed section of your Project in Studio.\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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"}
@@ -0,0 +1,253 @@
1
+ /**
2
+ * Initialises the SDK and provides access to projects and configuration.
3
+ *
4
+ * @packageDocumentation
5
+ */
6
+
7
+ /**
8
+ * @internal
9
+ */
10
+ export declare function addKit(sdk: MonterosaSdk, name: string, kit: MonterosaKit): void;
11
+
12
+ /**
13
+ * Creates an SDK instance.
14
+ *
15
+ * @example
16
+ *
17
+ * Configure default sdk with host and project id
18
+ *
19
+ * ```javascript
20
+ * configure({
21
+ * host: "...",
22
+ * projectId: "..."
23
+ * });
24
+ * ```
25
+ *
26
+ * @param options - Configuration object containing `host` and `projectId`.
27
+ * These values can be found in the Embed section of your Project in Studio.
28
+ * @param name - Optional name of the sdk to initialise.
29
+ * If name is not provided, the default is "[DEFAULT]"
30
+ *
31
+ * @returns Configured SDK instance.
32
+ *
33
+ * @public
34
+ */
35
+ export declare function configure(options: SdkOptions, name?: string): MonterosaSdk;
36
+
37
+ /**
38
+ * Default sdk name.
39
+ *
40
+ * @internal
41
+ */
42
+ export declare const DEFAULT_SDK_NAME = "[DEFAULT]";
43
+
44
+ /**
45
+ * @internal
46
+ */
47
+ export declare function deleteKit(sdk: MonterosaSdk, name: string): void;
48
+
49
+ /**
50
+ * Destroy initialised sdk
51
+ *
52
+ * @example
53
+ * ```javascript
54
+ * const sdk = configure(...);
55
+ *
56
+ * destroy(sdk);
57
+ * ```
58
+ *
59
+ * @param sdk - sdk instance
60
+ */
61
+ export declare function destroy(sdk: MonterosaSdk): void;
62
+
63
+ /**
64
+ * Device ID storage key name
65
+ *
66
+ * @internal
67
+ */
68
+ export declare const DEVICE_ID_KEY = "device_id";
69
+
70
+ /**
71
+ * @internal
72
+ */
73
+ export declare function getDeviceId(): string;
74
+
75
+ /**
76
+ * @internal
77
+ */
78
+ export declare function getKit(sdk: MonterosaSdk, name: string): MonterosaKit | undefined;
79
+
80
+ /**
81
+ * Retrieves an SDK instance by its name.
82
+ *
83
+ * @example
84
+ * ```javascript
85
+ * const sdk = getSdk('my-sdk');
86
+ * ```
87
+ *
88
+ * @param name - Optional name of the sdk to initialise.
89
+ * If name is not provided, the default is "[DEFAULT]"
90
+ *
91
+ * @returns The configured SDK instance.
92
+ *
93
+ * @public
94
+ */
95
+ export declare function getSdk(name?: string): MonterosaSdk;
96
+
97
+ /**
98
+ * Returns all configured SDK instances.
99
+ *
100
+ * @returns An array of all configured SDK instances.
101
+ *
102
+ * @public
103
+ */
104
+ export declare function getSdks(): MonterosaSdk[];
105
+
106
+ /**
107
+ * @license
108
+ * types.ts
109
+ * core
110
+ *
111
+ * Created by Rygor Kharytanovich <rygor@monterosa.co.uk> on 2021-09-23
112
+ * Copyright © 2022 Monterosa. All rights reserved.
113
+ *
114
+ * More details on the license can be found at https://www.monterosa.co/sdk/license
115
+ */
116
+ /** @internal */
117
+ export declare type Kits = Map<string, MonterosaKit>;
118
+
119
+ /** @internal */
120
+ export declare class Logger {
121
+ name: string;
122
+ private _logLevel;
123
+ private _logHandler;
124
+ constructor(name: string);
125
+ get logLevel(): LogLevel;
126
+ set logLevel(level: LogLevel);
127
+ get logHandler(): LogHandler;
128
+ set logHandler(handler: LogHandler);
129
+ log(...args: unknown[]): void;
130
+ debug(...args: unknown[]): void;
131
+ info(...args: unknown[]): void;
132
+ warn(...args: unknown[]): void;
133
+ error(...args: unknown[]): void;
134
+ }
135
+
136
+ /** @internal */
137
+ export declare type LogHandler = (logger: Logger, logType: LogLevel, ...args: unknown[]) => void;
138
+
139
+ /**
140
+ * @license
141
+ * logger.ts
142
+ * core
143
+ *
144
+ * Created by Rygor Kharytanovich <rygor@monterosa.co.uk> on 2022-05-31
145
+ * Copyright © 2022 Monterosa. All rights reserved.
146
+ *
147
+ * More details on the license can be found at https://www.monterosa.co/sdk/license
148
+ */
149
+ /**
150
+ * Represents the possible log levels.
151
+ */
152
+ export declare enum LogLevel {
153
+ /**
154
+ * Verbose level. Provides detailed and extensive logging.
155
+ */
156
+ Verbose = 0,
157
+ /**
158
+ * Debug level. Used for debugging and development purposes.
159
+ */
160
+ Debug = 1,
161
+ /**
162
+ * Info level. Used to provide general information about the system's state.
163
+ */
164
+ Info = 2,
165
+ /**
166
+ * Warn level. Indicates potential issues or situations that might cause problems in the future.
167
+ */
168
+ Warn = 3,
169
+ /**
170
+ * Error level. Indicates critical errors and issues that require immediate attention.
171
+ */
172
+ Error = 4,
173
+ /**
174
+ * Silent level. No logs will be output.
175
+ */
176
+ Silent = 5
177
+ }
178
+
179
+ /** @internal */
180
+ export declare interface MonterosaKit {
181
+ delete(): void;
182
+ }
183
+
184
+ /**
185
+ * Represents a configured SDK instance. Obtain one via
186
+ * {@link configure} or retrieve an existing one with
187
+ * {@link getSdk}.
188
+ */
189
+ export declare interface MonterosaSdk {
190
+ /**
191
+ * SDK options
192
+ */
193
+ readonly options: SdkOptions;
194
+ /**
195
+ * SDK name
196
+ */
197
+ readonly name: string;
198
+ /**
199
+ * @internal
200
+ */
201
+ isDestroyed: boolean;
202
+ /**
203
+ * @internal
204
+ */
205
+ kits: Kits;
206
+ /**
207
+ * @internal
208
+ */
209
+ deleteKits(): void;
210
+ }
211
+
212
+ /**
213
+ * @internal
214
+ */
215
+ export declare class Sdk implements MonterosaSdk {
216
+ private readonly _options;
217
+ private readonly _name;
218
+ private _isDestroyed;
219
+ private _kits;
220
+ constructor(options: SdkOptions, name: string);
221
+ get name(): string;
222
+ get options(): SdkOptions;
223
+ get isDestroyed(): boolean;
224
+ get kits(): Kits;
225
+ set isDestroyed(value: boolean);
226
+ deleteKits(): void;
227
+ private checkDestroyed;
228
+ }
229
+
230
+ /**
231
+ * Configuration object that used to initialise SDK and kits. Required values
232
+ * can be found in Monterosa / Interaction Cloud under
233
+ * {@link https://products.monterosa.co/mic/producer-guide/studio/project-settings | Project Settings tab}.
234
+ */
235
+ export declare interface SdkOptions {
236
+ /**
237
+ * Studio instance host
238
+ */
239
+ readonly host: string;
240
+ /**
241
+ * Unique identifier for the Studio project
242
+ */
243
+ readonly projectId: string;
244
+ }
245
+
246
+ /**
247
+ * The current SDK version.
248
+ *
249
+ * @public
250
+ */
251
+ export declare const VERSION: string;
252
+
253
+ export { }
package/dist/src/api.d.ts CHANGED
@@ -10,7 +10,9 @@
10
10
  */
11
11
  import { MonterosaSdk, SdkOptions } from './types';
12
12
  /**
13
- * An array of all configured sdks.
13
+ * Returns all configured SDK instances.
14
+ *
15
+ * @returns An array of all configured SDK instances.
14
16
  *
15
17
  * @public
16
18
  */
@@ -26,6 +28,8 @@ export declare function getSdks(): MonterosaSdk[];
26
28
  * @param name - Optional name of the sdk to initialise.
27
29
  * If name is not provided, the default is "[DEFAULT]"
28
30
  *
31
+ * @returns The configured SDK instance.
32
+ *
29
33
  * @public
30
34
  */
31
35
  export declare function getSdk(name?: string): MonterosaSdk;
@@ -47,7 +51,8 @@ export declare function getDeviceId(): string;
47
51
  * });
48
52
  * ```
49
53
  *
50
- * @param options - Studio host
54
+ * @param options - Configuration object containing `host` and `projectId`.
55
+ * These values can be found in the Embed section of your Project in Studio.
51
56
  * @param name - Optional name of the sdk to initialise.
52
57
  * If name is not provided, the default is "[DEFAULT]"
53
58
  *
@@ -1,3 +1,8 @@
1
+ /**
2
+ * Initialises the SDK and provides access to projects and configuration.
3
+ *
4
+ * @packageDocumentation
5
+ */
1
6
  /**
2
7
  * @license
3
8
  * index.ts
@@ -8,11 +13,6 @@
8
13
  *
9
14
  * More details on the license can be found at https://www.monterosa.co/sdk/license
10
15
  */
11
- /**
12
- * Monterosa SDK / Core
13
- *
14
- * @packageDocumentation
15
- */
16
16
  export * from './constants';
17
17
  export * from './api';
18
18
  export * from './sdk';
@@ -0,0 +1,11 @@
1
+ // This file is read by tools that parse documentation comments conforming to the TSDoc standard.
2
+ // It should be published with your NPM package. It should not be tracked by Git.
3
+ {
4
+ "tsdocVersion": "0.12",
5
+ "toolPackages": [
6
+ {
7
+ "packageName": "@microsoft/api-extractor",
8
+ "packageVersion": "7.23.0"
9
+ }
10
+ ]
11
+ }
@@ -26,7 +26,9 @@ export interface SdkOptions {
26
26
  readonly projectId: string;
27
27
  }
28
28
  /**
29
- * Monterosa SDK holds the information about the initialised SDK
29
+ * Represents a configured SDK instance. Obtain one via
30
+ * {@link configure} or retrieve an existing one with
31
+ * {@link getSdk}.
30
32
  */
31
33
  export interface MonterosaSdk {
32
34
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@monterosa/sdk-core",
3
- "version": "0.18.8",
3
+ "version": "0.18.10-local-only-storage.1",
4
4
  "description": "Monterosa JS SDK / Core",
5
5
  "author": "Monterosa <hello@monterosa.co.uk> (https://www.monterosa.co/)",
6
6
  "main": "dist/index.cjs.js",
@@ -25,13 +25,14 @@
25
25
  "@monterosa/sdk-util": "0.x"
26
26
  },
27
27
  "dependencies": {
28
- "@monterosa/sdk-util": "^0.18.8",
28
+ "@monterosa/sdk-util": "^0.18.10-local-only-storage.1",
29
29
  "uuid": "^8.3.2"
30
30
  },
31
31
  "devDependencies": {
32
32
  "@rollup/plugin-json": "^4.1.0",
33
33
  "@types/jest": "^27.0.1",
34
34
  "jest": "^27.1.0",
35
+ "jest-environment-node": "^27.5.1",
35
36
  "jest-fetch-mock": "^3.0.3",
36
37
  "jest-junit": "^13.0.0",
37
38
  "rollup": "^2.57.0",
@@ -43,5 +44,5 @@
43
44
  "publishConfig": {
44
45
  "access": "public"
45
46
  },
46
- "gitHead": "66794ba6e6dccd31382eb63cdd3b3d9307a53974"
47
+ "gitHead": "e378a0c6c562bc4dae20dec0e3e94e300d8fb9fa"
47
48
  }