HEX
Server: nginx/1.18.0
System: Linux test-ipsremont 5.4.0-214-generic #234-Ubuntu SMP Fri Mar 14 23:50:27 UTC 2025 x86_64
User: ips (1000)
PHP: 8.0.30
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/quadcode-site/node_modules/rxjs/src/util/Set.ts
import { root } from './root';

export interface ISetCtor {
  new<T>(): ISet<T>;
}

export interface ISet<T> {
  add(value: T): void;
  has(value: T): boolean;
  size: number;
  clear(): void;
}

export function minimalSetImpl<T>(): ISetCtor {
  // THIS IS NOT a full impl of Set, this is just the minimum
  // bits of functionality we need for this library.
  return class MinimalSet<T> implements ISet<T> {
    private _values: T[] = [];

    add(value: T): void {
      if (!this.has(value)) {
        this._values.push(value);
      }
    }

    has(value: T): boolean {
      return this._values.indexOf(value) !== -1;
    }

    get size(): number {
      return this._values.length;
    }

    clear(): void {
      this._values.length = 0;
    }
  };
}

export const Set: ISetCtor = root.Set || minimalSetImpl();