"use strict"; var MapPolyfill = (function () { function MapPolyfill() { this.size = 0; this._values = []; this._keys = []; } MapPolyfill.prototype.get = function (key) { var i = this._keys.indexOf(key); return i === -1 ? undefined : this._values[i]; }; MapPolyfill.prototype.set = function (key, value) { var 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; }; MapPolyfill.prototype.delete = function (key) { var i = this._keys.indexOf(key); if (i === -1) { return false; } this._values.splice(i, 1); this._keys.splice(i, 1); this.size--; return true; }; MapPolyfill.prototype.clear = function () { this._keys.length = 0; this._values.length = 0; this.size = 0; }; MapPolyfill.prototype.forEach = function (cb, thisArg) { for (var i = 0; i < this.size; i++) { cb.call(thisArg, this._values[i], this._keys[i]); } }; return MapPolyfill; }()); exports.MapPolyfill = MapPolyfill; //# sourceMappingURL=MapPolyfill.js.map