UNPKG

map-ext

Version:
27 lines 1.82 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.MapExt = exports.WeakMapExt = void 0; class WeakMapExt extends WeakMap { constructor(cb) { super(); this.cb = cb; } } exports.WeakMapExt = WeakMapExt; class MapExt extends Map { constructor(cb) { super(); this.cb = cb; } } exports.MapExt = MapExt; const factory = (prototype) => function get(key) { if (this.has(key)) return prototype.call(this, key); const v = this.cb(key); this.set(key, v); return v; }; WeakMapExt.prototype.get = factory(WeakMap.prototype.get); MapExt.prototype.get = factory(Map.prototype.get); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBSUEsTUFBYSxVQUFnQyxTQUFRLE9BQWE7SUFDOUQsWUFBNkIsRUFBZTtRQUN4QyxLQUFLLEVBQUUsQ0FBQTtRQURrQixPQUFFLEdBQUYsRUFBRSxDQUFhO0lBRTVDLENBQUM7Q0FDSjtBQUpELGdDQUlDO0FBRUQsTUFBYSxNQUFhLFNBQVEsR0FBUztJQUV2QyxZQUE2QixFQUFlO1FBQ3hDLEtBQUssRUFBRSxDQUFBO1FBRGtCLE9BQUUsR0FBRixFQUFFLENBQWE7SUFFNUMsQ0FBQztDQUNKO0FBTEQsd0JBS0M7QUFFRCxNQUFNLE9BQU8sR0FBRyxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUMsU0FBUyxHQUFHLENBQUMsR0FBRztJQUMzQyxJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDO1FBQUUsT0FBTyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsQ0FBQztJQUNwRCxNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3ZCLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ2pCLE9BQU8sQ0FBQyxDQUFDO0FBQ2IsQ0FBQyxDQUFBO0FBRUQsVUFBVSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDMUQsTUFBTSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMifQ==