@bitrix24/b24jssdk
Version:
Bitrix24 REST API JavaScript SDK
1 lines • 6.83 kB
Source Map (JSON)
{"version":3,"file":"shared-config.mjs","sources":["../../../src/pullClient/shared-config.ts"],"sourcesContent":["import type { SharedConfigCallbacks, SharedConfigParams, TypeStorageManager } from '../types/pull'\nimport type { LoggerInterface } from '../logger'\nimport { LoggerFactory } from '../logger'\nimport { Type } from '../tools/type'\nimport { Text } from '../tools/text'\nimport { StorageManager } from './storage-manager'\nimport { LsKeys } from '../types/pull'\n\nexport class SharedConfig {\n private _logger: LoggerInterface\n private readonly _storage: TypeStorageManager\n private _ttl: number = 24 * 60 * 60\n private _callbacks: SharedConfigCallbacks\n\n constructor(params: SharedConfigParams = {}) {\n this._logger = LoggerFactory.createNullLogger()\n params = params || {}\n this._storage = params.storage || new StorageManager()\n\n this._callbacks = {\n onWebSocketBlockChanged: Type.isFunction(params.onWebSocketBlockChanged)\n ? params.onWebSocketBlockChanged\n : () => {}\n } as SharedConfigCallbacks\n\n if (this._storage) {\n window.addEventListener('storage', this.onLocalStorageSet.bind(this))\n }\n }\n\n setLogger(logger: LoggerInterface): void {\n this._logger = logger\n }\n\n getLogger(): LoggerInterface {\n return this._logger\n }\n\n private onLocalStorageSet(params: StorageEvent): void {\n if (\n (this._storage as StorageManager).compareKey(\n params.key || '',\n LsKeys.WebsocketBlocked\n )\n && params.newValue !== params.oldValue\n ) {\n this._callbacks.onWebSocketBlockChanged({\n isWebSocketBlocked: this.isWebSocketBlocked()\n })\n }\n }\n\n isWebSocketBlocked(): boolean {\n if (!this._storage) {\n return false\n }\n\n return this._storage.get(LsKeys.WebsocketBlocked, 0) > Date.now()\n }\n\n setWebSocketBlocked(isWebSocketBlocked: boolean): boolean {\n if (!this._storage) {\n return false\n }\n\n try {\n this._storage.set(\n LsKeys.WebsocketBlocked,\n isWebSocketBlocked ? Date.now() + this._ttl : 0\n )\n } catch (error) {\n this.getLogger().error(\n `${Text.getDateForLog()}: Pull: Could not save WS_blocked flag in local storage`,\n { error }\n )\n\n return false\n }\n\n return true\n }\n\n isLongPollingBlocked(): boolean {\n if (!this._storage) {\n return false\n }\n\n return this._storage.get(LsKeys.LongPollingBlocked, 0) > Date.now()\n }\n\n setLongPollingBlocked(isLongPollingBlocked: boolean) {\n if (!this._storage) {\n return false\n }\n\n try {\n this._storage.set(\n LsKeys.LongPollingBlocked,\n isLongPollingBlocked ? Date.now() + this._ttl : 0\n )\n } catch (error) {\n this.getLogger().error(\n `${Text.getDateForLog()}: Pull: Could not save LP_blocked flag in local storage.`,\n { error }\n )\n\n return false\n }\n\n return true\n }\n\n isLoggingEnabled(): boolean {\n if (!this._storage) {\n return false\n }\n\n return this._storage.get(LsKeys.LoggingEnabled, 0) > this.getTimestamp()\n }\n\n setLoggingEnabled(isLoggingEnabled: boolean): boolean {\n if (!this._storage) {\n return false\n }\n\n try {\n this._storage.set(\n LsKeys.LoggingEnabled,\n isLoggingEnabled ? this.getTimestamp() + this._ttl : 0\n )\n } catch (error) {\n this.getLogger().error(\n `${Text.getDateForLog()}: LocalStorage error.`,\n { error }\n )\n\n return false\n }\n\n return true\n }\n\n // region Tools ////\n getTimestamp(): number {\n return Date.now()\n }\n // endregion ////\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAQO,MAAM,YAAA,CAAa;AAAA,EAR1B;AAQ0B,IAAA,MAAA,CAAA,IAAA,EAAA,cAAA,CAAA;AAAA;AAAA,EAChB,OAAA;AAAA,EACS,QAAA;AAAA,EACT,IAAA,GAAe,KAAK,EAAA,GAAK,EAAA;AAAA,EACzB,UAAA;AAAA,EAER,WAAA,CAAY,MAAA,GAA6B,EAAC,EAAG;AAC3C,IAAA,IAAA,CAAK,OAAA,GAAU,cAAc,gBAAA,EAAiB;AAC9C,IAAA,MAAA,GAAS,UAAU,EAAC;AACpB,IAAA,IAAA,CAAK,QAAA,GAAW,MAAA,CAAO,OAAA,IAAW,IAAI,cAAA,EAAe;AAErD,IAAA,IAAA,CAAK,UAAA,GAAa;AAAA,MAChB,uBAAA,EAAyB,KAAK,UAAA,CAAW,MAAA,CAAO,uBAAuB,CAAA,GACnE,MAAA,CAAO,0BACP,MAAM;AAAA,MAAC;AAAA,KACb;AAEA,IAAA,IAAI,KAAK,QAAA,EAAU;AACjB,MAAA,MAAA,CAAO,iBAAiB,SAAA,EAAW,IAAA,CAAK,iBAAA,CAAkB,IAAA,CAAK,IAAI,CAAC,CAAA;AAAA,IACtE;AAAA,EACF;AAAA,EAEA,UAAU,MAAA,EAA+B;AACvC,IAAA,IAAA,CAAK,OAAA,GAAU,MAAA;AAAA,EACjB;AAAA,EAEA,SAAA,GAA6B;AAC3B,IAAA,OAAO,IAAA,CAAK,OAAA;AAAA,EACd;AAAA,EAEQ,kBAAkB,MAAA,EAA4B;AACpD,IAAA,IACG,KAAK,QAAA,CAA4B,UAAA;AAAA,MAChC,OAAO,GAAA,IAAO,EAAA;AAAA,MACd,MAAA,CAAO;AAAA,KACT,IACG,MAAA,CAAO,QAAA,KAAa,MAAA,CAAO,QAAA,EAC9B;AACA,MAAA,IAAA,CAAK,WAAW,uBAAA,CAAwB;AAAA,QACtC,kBAAA,EAAoB,KAAK,kBAAA;AAAmB,OAC7C,CAAA;AAAA,IACH;AAAA,EACF;AAAA,EAEA,kBAAA,GAA8B;AAC5B,IAAA,IAAI,CAAC,KAAK,QAAA,EAAU;AAClB,MAAA,OAAO,KAAA;AAAA,IACT;AAEA,IAAA,OAAO,IAAA,CAAK,SAAS,GAAA,CAAI,MAAA,CAAO,kBAAkB,CAAC,CAAA,GAAI,KAAK,GAAA,EAAI;AAAA,EAClE;AAAA,EAEA,oBAAoB,kBAAA,EAAsC;AACxD,IAAA,IAAI,CAAC,KAAK,QAAA,EAAU;AAClB,MAAA,OAAO,KAAA;AAAA,IACT;AAEA,IAAA,IAAI;AACF,MAAA,IAAA,CAAK,QAAA,CAAS,GAAA;AAAA,QACZ,MAAA,CAAO,gBAAA;AAAA,QACP,kBAAA,GAAqB,IAAA,CAAK,GAAA,EAAI,GAAI,KAAK,IAAA,GAAO;AAAA,OAChD;AAAA,IACF,SAAS,KAAA,EAAO;AACd,MAAA,IAAA,CAAK,WAAU,CAAE,KAAA;AAAA,QACf,CAAA,EAAG,IAAA,CAAK,aAAA,EAAe,CAAA,uDAAA,CAAA;AAAA,QACvB,EAAE,KAAA;AAAM,OACV;AAEA,MAAA,OAAO,KAAA;AAAA,IACT;AAEA,IAAA,OAAO,IAAA;AAAA,EACT;AAAA,EAEA,oBAAA,GAAgC;AAC9B,IAAA,IAAI,CAAC,KAAK,QAAA,EAAU;AAClB,MAAA,OAAO,KAAA;AAAA,IACT;AAEA,IAAA,OAAO,IAAA,CAAK,SAAS,GAAA,CAAI,MAAA,CAAO,oBAAoB,CAAC,CAAA,GAAI,KAAK,GAAA,EAAI;AAAA,EACpE;AAAA,EAEA,sBAAsB,oBAAA,EAA+B;AACnD,IAAA,IAAI,CAAC,KAAK,QAAA,EAAU;AAClB,MAAA,OAAO,KAAA;AAAA,IACT;AAEA,IAAA,IAAI;AACF,MAAA,IAAA,CAAK,QAAA,CAAS,GAAA;AAAA,QACZ,MAAA,CAAO,kBAAA;AAAA,QACP,oBAAA,GAAuB,IAAA,CAAK,GAAA,EAAI,GAAI,KAAK,IAAA,GAAO;AAAA,OAClD;AAAA,IACF,SAAS,KAAA,EAAO;AACd,MAAA,IAAA,CAAK,WAAU,CAAE,KAAA;AAAA,QACf,CAAA,EAAG,IAAA,CAAK,aAAA,EAAe,CAAA,wDAAA,CAAA;AAAA,QACvB,EAAE,KAAA;AAAM,OACV;AAEA,MAAA,OAAO,KAAA;AAAA,IACT;AAEA,IAAA,OAAO,IAAA;AAAA,EACT;AAAA,EAEA,gBAAA,GAA4B;AAC1B,IAAA,IAAI,CAAC,KAAK,QAAA,EAAU;AAClB,MAAA,OAAO,KAAA;AAAA,IACT;AAEA,IAAA,OAAO,IAAA,CAAK,SAAS,GAAA,CAAI,MAAA,CAAO,gBAAgB,CAAC,CAAA,GAAI,KAAK,YAAA,EAAa;AAAA,EACzE;AAAA,EAEA,kBAAkB,gBAAA,EAAoC;AACpD,IAAA,IAAI,CAAC,KAAK,QAAA,EAAU;AAClB,MAAA,OAAO,KAAA;AAAA,IACT;AAEA,IAAA,IAAI;AACF,MAAA,IAAA,CAAK,QAAA,CAAS,GAAA;AAAA,QACZ,MAAA,CAAO,cAAA;AAAA,QACP,gBAAA,GAAmB,IAAA,CAAK,YAAA,EAAa,GAAI,KAAK,IAAA,GAAO;AAAA,OACvD;AAAA,IACF,SAAS,KAAA,EAAO;AACd,MAAA,IAAA,CAAK,WAAU,CAAE,KAAA;AAAA,QACf,CAAA,EAAG,IAAA,CAAK,aAAA,EAAe,CAAA,qBAAA,CAAA;AAAA,QACvB,EAAE,KAAA;AAAM,OACV;AAEA,MAAA,OAAO,KAAA;AAAA,IACT;AAEA,IAAA,OAAO,IAAA;AAAA,EACT;AAAA;AAAA,EAGA,YAAA,GAAuB;AACrB,IAAA,OAAO,KAAK,GAAA,EAAI;AAAA,EAClB;AAAA;AAEF;;;;"}