HEX
Server: Apache/2.4.41 (Ubuntu)
System: Linux wordpress-ubuntu-s-2vcpu-4gb-fra1-01 5.4.0-169-generic #187-Ubuntu SMP Thu Nov 23 14:52:28 UTC 2023 x86_64
User: root (0)
PHP: 7.4.33
Disabled: 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,
Upload Files
File: /var/www/linde-ai/html/node_modules/@jridgewell/set-array/src/set-array.ts
/**
 * Gets the index associated with `key` in the backing array, if it is already present.
 */
export let get: (strarr: SetArray, key: string) => number | undefined;

/**
 * Puts `key` into the backing array, if it is not already present. Returns
 * the index of the `key` in the backing array.
 */
export let put: (strarr: SetArray, key: string) => number;

/**
 * Pops the last added item out of the SetArray.
 */
export let pop: (strarr: SetArray) => void;

/**
 * SetArray acts like a `Set` (allowing only one occurrence of a string `key`), but provides the
 * index of the `key` in the backing array.
 *
 * This is designed to allow synchronizing a second array with the contents of the backing array,
 * like how in a sourcemap `sourcesContent[i]` is the source content associated with `source[i]`,
 * and there are never duplicates.
 */
export class SetArray {
  private declare _indexes: { [key: string]: number | undefined };
  declare array: readonly string[];

  constructor() {
    this._indexes = { __proto__: null } as any;
    this.array = [];
  }

  static {
    get = (strarr, key) => strarr._indexes[key];

    put = (strarr, key) => {
      // The key may or may not be present. If it is present, it's a number.
      const index = get(strarr, key);
      if (index !== undefined) return index;

      const { array, _indexes: indexes } = strarr;

      return (indexes[key] = (array as string[]).push(key) - 1);
    };

    pop = (strarr) => {
      const { array, _indexes: indexes } = strarr;
      if (array.length === 0) return;

      const last = (array as string[]).pop()!;
      indexes[last] = undefined;
    };
  }
}