Sha256: 084e90268e4ec3d254394b4f85325510418b8eb38afbeca5d483639a30e7fc42

Contents?: true

Size: 917 Bytes

Versions: 49

Compression:

Stored size: 917 Bytes

Contents

export class MapPolyfill {
  public size = 0;
  private _values: any[] = [];
  private _keys: any[] = [];

  get(key: any) {
    const i = this._keys.indexOf(key);
    return i === -1 ? undefined : this._values[i];
  }

  set(key: any, value: any) {
    const i = this._keys.indexOf(key);
    if (i === -1) {
      this._keys.push(key);
      this._values.push(value);
      this.size++;
    } else {
      this._values[i] = value;
    }
    return this;
  }

  delete(key: any): boolean {
    const i = this._keys.indexOf(key);
    if (i === -1) { return false; }
    this._values.splice(i, 1);
    this._keys.splice(i, 1);
    this.size--;
    return true;
  }

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

  forEach(cb: Function, thisArg: any): void {
    for (let i = 0; i < this.size; i++) {
      cb.call(thisArg, this._values[i], this._keys[i]);
    }
  }
}

Version data entries

49 entries across 49 versions & 4 rubygems

Version Path
ilog-0.4.1 node_modules/rxjs/src/util/MapPolyfill.ts
ilog-0.4.0 node_modules/rxjs/src/util/MapPolyfill.ts
ilog-0.3.3 node_modules/rxjs/src/util/MapPolyfill.ts
govuk_publishing_components-18.0.0 node_modules/rxjs/src/util/MapPolyfill.ts
govuk_publishing_components-17.21.0 node_modules/rxjs/src/util/MapPolyfill.ts
govuk_publishing_components-17.20.0 node_modules/rxjs/src/util/MapPolyfill.ts
govuk_publishing_components-17.19.1 node_modules/rxjs/src/util/MapPolyfill.ts
govuk_publishing_components-17.19.0 node_modules/rxjs/src/util/MapPolyfill.ts
govuk_publishing_components-17.18.0 node_modules/rxjs/src/util/MapPolyfill.ts
govuk_publishing_components-17.17.0 node_modules/rxjs/src/util/MapPolyfill.ts
govuk_publishing_components-17.16.0 node_modules/rxjs/src/util/MapPolyfill.ts
govuk_publishing_components-17.15.0 node_modules/rxjs/src/util/MapPolyfill.ts
govuk_publishing_components-17.14.0 node_modules/rxjs/src/util/MapPolyfill.ts
govuk_publishing_components-17.13.0 node_modules/rxjs/src/util/MapPolyfill.ts
govuk_publishing_components-17.12.2 node_modules/rxjs/src/util/MapPolyfill.ts
govuk_publishing_components-17.12.1 node_modules/rxjs/src/util/MapPolyfill.ts
govuk_publishing_components-17.12.0 node_modules/rxjs/src/util/MapPolyfill.ts
govuk_publishing_components-17.11.0 node_modules/rxjs/src/util/MapPolyfill.ts
govuk_publishing_components-17.10.0 node_modules/rxjs/src/util/MapPolyfill.ts
govuk_publishing_components-17.9.0 node_modules/rxjs/src/util/MapPolyfill.ts