@bitrix24/b24jssdk
Version:
Bitrix24 REST API JavaScript SDK
73 lines (70 loc) • 2.04 kB
JavaScript
/**
* @package @bitrix24/b24jssdk
* @version 1.0.1
* @copyright (c) 2026 Bitrix24
* @license MIT
* @see https://github.com/bitrix24/b24jssdk
* @see https://bitrix24.github.io/b24jssdk/
*/
import { Text } from '../tools/text.mjs';
import { LoggerFactory } from '../logger/logger-factory.mjs';
var __defProp = Object.defineProperty;
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
class StorageManager {
static {
__name(this, "StorageManager");
}
_logger;
userId;
siteId;
constructor(params = {}) {
this._logger = LoggerFactory.createNullLogger();
this.userId = params.userId ? Text.toInteger(params.userId) : 0;
this.siteId = params.siteId ?? "none";
}
setLogger(logger) {
this._logger = logger;
}
getLogger() {
return this._logger;
}
set(name, value) {
if (typeof window.localStorage === "undefined") {
this.getLogger().error("localStorage undefined", {
error: new Error("undefined window.localStorage")
});
return;
}
if (typeof value !== "string" && value) {
value = JSON.stringify(value);
}
window.localStorage.setItem(this._getKey(name), value);
}
get(name, defaultValue) {
if (typeof window.localStorage === "undefined") {
return defaultValue || null;
}
const result = window.localStorage.getItem(this._getKey(name));
if (result === null) {
return defaultValue || null;
}
return JSON.parse(result);
}
remove(name) {
if (typeof window.localStorage === "undefined") {
this.getLogger().error("localStorage undefined", {
error: new Error("undefined window.localStorage")
});
return;
}
return window.localStorage.removeItem(this._getKey(name));
}
_getKey(name) {
return `@bitrix24/b24jssdk-pull-${this.userId}-${this.siteId}-${name}`;
}
compareKey(eventKey, userKey) {
return eventKey === this._getKey(userKey);
}
}
export { StorageManager };
//# sourceMappingURL=storage-manager.mjs.map