@cachemap/map
Version:
The Cachemap Map module.
3 lines (2 loc) • 1.12 kB
JavaScript
import"core-js/modules/es.array.push.js";import{isNumber as e,isPlainObject as r}from"lodash-es";class s{static init(e){return Promise.resolve(new s(e))}constructor(r){this.type="map",this._map=new Map,this._maxHeapSize=5242880,e(r.maxHeapSize)&&(this._maxHeapSize=r.maxHeapSize),this._name=r.name}clear(){return this._map.clear(),Promise.resolve()}delete(e){return Promise.resolve(this._map.delete(e))}entries(e){const r=this._map.entries();if(!e)return Promise.resolve([...r]);const s=[];for(const[t,i]of r)e.includes(t)&&s.push([t,i]);return Promise.resolve(s)}get(e){return Promise.resolve(this._map.get(e))}has(e){return Promise.resolve(void 0!==this._map.get(e))}import(e){return this._map=new Map([...this._map,...e]),Promise.resolve()}get maxHeapSize(){return this._maxHeapSize}get name(){return this._name}set(e,r){return this._map.set(e,r),Promise.resolve()}size(){return Promise.resolve(this._map.size)}}const t=(e={})=>{if(!r(e))throw new TypeError("@cachemap/map expected options to be a plain object.");return r=>s.init({...e,...r})};export{s as MapStore,t as init};
//# sourceMappingURL=index.mjs.map