![]() System : Linux absol.cf 5.4.0-198-generic #218-Ubuntu SMP Fri Sep 27 20:18:53 UTC 2024 x86_64 User : www-data ( 33) PHP Version : 7.4.33 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, Directory : /var/www/html/libs/absol-full/dist/js/ |
Upload File : |
/*** module: node_modules/absol/src/DataStructure/Object.js ***/ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.revokeResource = revokeResource; exports.observePropertyChanges = observePropertyChanges; exports.unobservePropertyChanges = unobservePropertyChanges; function revokeResource(o) { if (!o) return; var oc, ocs; var keys, key; if (Array.isArray(o)) { while (o.length) { oc = o.pop(); try { revokeResource(oc); } catch (err) {} } } else if (o.revokeResource) { o.revokeResource(); } else if (o.nodeType === 1 || o.nodeType === 3) { if (o.revokeResource) o.revokeResource();else { while (o.lastChild) { oc = o.lastChild; revokeResource(oc); // if (oc.selfRemove) { // oc.selfRemove(); // } // else { oc.remove(); // } } } } else if (typeof o === "object") { keys = []; ocs = []; for (key in o) { keys.push(key); } while (keys.length) { key = keys.pop(); ocs.push(o[keys]); try { delete o[key]; } catch (err) {} } while (ocs.length) { try { revokeResource(ocs.pop()); } catch (err) {} } } ocs = undefined; oc = undefined; keys = undefined; key = undefined; o = undefined; } /** * * @param obj * @param {string|Array<string>} keys * @param {function} callback */ function observePropertyChanges(obj, keys, callback) { var value; if (Array.isArray(keys)) { keys.forEach(key => { observePropertyChanges(obj, key, callback); }); } else { value = obj[keys]; Object.defineProperty(obj, keys, { get: function () { return value; }, set: function (newValue) { value = newValue; callback(keys, newValue); }, configurable: true, enumerable: true }); } } /** * * @param obj * @param {string|Array<string>} keys */ function unobservePropertyChanges(obj, keys) { var value; if (Array.isArray(keys)) { keys.forEach(key => { unobservePropertyChanges(obj, key); }); } else { value = obj[keys]; delete obj[keys]; obj[keys] = value; } }