Server IP : 80.87.202.40 / Your IP : 216.73.216.169 Web Server : Apache System : Linux rospirotorg.ru 5.14.0-539.el9.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Dec 5 22:26:13 UTC 2024 x86_64 User : bitrix ( 600) PHP Version : 8.2.27 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /home/bitrix/ext_www/rospirotorg.ru/bitrix/js/bizproc/local-settings/src/ |
Upload File : |
import {Cache, Type} from 'main.core'; export class Settings { #prefix = 'bp' constructor(section: string) { if (section) { this.#prefix += ('-' + section); } } getSet(name: string): Set { const value = this.get(name); return value instanceof Array ? new Set(value) : new Set(); } get(name: string): any { const settings = (new Cache.LocalStorageCache()).remember(this.#prefix, {}); return settings.hasOwnProperty(name) ? settings[name] : null; } set(name: string, value: any): this { if (value instanceof Set) { value = Array.from(value); } const cache = new Cache.LocalStorageCache(); const settings = cache.remember(this.#prefix, {}); settings[name] = value; cache.set(this.#prefix, settings); return this; } remember(key: string, defaultValue) { const cacheValue = this.get(key); if (!Type.isNull(cacheValue)) { return cacheValue; } this.set(key, defaultValue); return this.get(key); } getAll(): {} { return (new Cache.LocalStorageCache()).remember(this.#prefix, {}); } deleteAll() { const cache = new Cache.LocalStorageCache(); cache.set(this.#prefix, {}); } }