Server IP : 185.86.78.101 / Your IP : 216.73.216.124 Web Server : Apache System : Linux 675867-vds-valikoshka1996.gmhost.pp.ua 5.4.0-150-generic #167-Ubuntu SMP Mon May 15 17:35:05 UTC 2023 x86_64 User : www ( 1000) PHP Version : 7.4.33 Disable Function : passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,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_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /www/wwwroot/mifepriston.org/node_modules/webpack/lib/util/ |
Upload File : |
/* MIT License http://www.opensource.org/licenses/mit-license.php Author Tobias Koppers @sokra */ "use strict"; const util = require("util"); const TOMBSTONE = {}; const UNDEFINED_MARKER = {}; class StackedSetMap { constructor(parentStack) { this.stack = parentStack === undefined ? [] : parentStack.slice(); this.map = new Map(); this.stack.push(this.map); } add(item) { this.map.set(item, true); } set(item, value) { this.map.set(item, value === undefined ? UNDEFINED_MARKER : value); } delete(item) { if (this.stack.length > 1) { this.map.set(item, TOMBSTONE); } else { this.map.delete(item); } } has(item) { const topValue = this.map.get(item); if (topValue !== undefined) return topValue !== TOMBSTONE; if (this.stack.length > 1) { for (var i = this.stack.length - 2; i >= 0; i--) { const value = this.stack[i].get(item); if (value !== undefined) { this.map.set(item, value); return value !== TOMBSTONE; } } this.map.set(item, TOMBSTONE); } return false; } get(item) { const topValue = this.map.get(item); if (topValue !== undefined) { return topValue === TOMBSTONE || topValue === UNDEFINED_MARKER ? undefined : topValue; } if (this.stack.length > 1) { for (var i = this.stack.length - 2; i >= 0; i--) { const value = this.stack[i].get(item); if (value !== undefined) { this.map.set(item, value); return value === TOMBSTONE || value === UNDEFINED_MARKER ? undefined : value; } } this.map.set(item, TOMBSTONE); } return undefined; } _compress() { if (this.stack.length === 1) return; this.map = new Map(); for (const data of this.stack) { for (const pair of data) { if (pair[1] === TOMBSTONE) { this.map.delete(pair[0]); } else { this.map.set(pair[0], pair[1]); } } } this.stack = [this.map]; } asArray() { this._compress(); return Array.from(this.map.entries(), pair => pair[0]); } asSet() { return new Set(this.asArray()); } asPairArray() { this._compress(); return Array.from(this.map.entries(), pair => /** @type {[TODO, TODO]} */ (pair[1] === UNDEFINED_MARKER ? [pair[0], undefined] : pair) ); } asMap() { return new Map(this.asPairArray()); } get size() { this._compress(); return this.map.size; } createChild() { return new StackedSetMap(this.stack); } get length() { throw new Error("This is no longer an Array"); } set length(value) { throw new Error("This is no longer an Array"); } } // TODO remove in webpack 5 StackedSetMap.prototype.push = util.deprecate( /** * @deprecated * @this {StackedSetMap} * @param {any} item Item to add * @returns {void} */ function(item) { this.add(item); }, "This is no longer an Array: Use add instead." ); module.exports = StackedSetMap;