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/main/core/src/lib/extension/ |
Upload File : |
import Type from '../type'; import SettingsCollection from './internal/settings-collection'; import deepFreeze from './internal/deep-freeze'; const settingsStorage = new Map(); export default class Extension { static getSettings(extensionName: string) { if (Type.isStringFilled(extensionName)) { if (settingsStorage.has(extensionName)) { return settingsStorage.get(extensionName); } const settingsScriptNode = document.querySelector( `script[data-extension="${extensionName}"]`, ); if (Type.isDomNode(settingsScriptNode)) { const decodedSettings = (() => { try { return new SettingsCollection( JSON.parse(settingsScriptNode.innerHTML), ); } catch (error) { return new SettingsCollection(); } })(); const frozenSettings = deepFreeze(decodedSettings); settingsStorage.set(extensionName, frozenSettings); return frozenSettings; } } return deepFreeze(new SettingsCollection()); } }