{"version":3,"sources":["map.js"],"names":["window","undefined","_window$acpv","acpv","EventTarget","Error","Map","_EventTarget","object","arguments","length","_classCallCheck","this","_this","_possibleConstructorReturn","__proto__","Object","getPrototypeOf","call","size","_store","setMany","_inherits","_createClass","key","value","create","emit","type","has","entries","keys","set","JSON","assign","values"],"mappings":"63BAAA,SAAWA,EAAQC,GAAW,GAAAC,GACOF,EAA5BG,IADqBD,GAAAA,IAAAD,KAAAC,CAAA,IACdE,GADcF,EACdE,WAEd,IAAIA,IAAgBH,EAClB,KAAM,IAAII,OAAJ,wGAJoB,IAA7BC,GAA6B,SAAAC,GAQ3B,QAAAD,KAAA,GAAAE,GAAAC,UAAAC,OAAA,GAAAD,UAAA,KAAAR,EAAAQ,UAAA,KAAAE,iBAAAC,KAAAN,EAAA,IAAAO,GAAAC,2BAAAF,MAAAN,EAAAS,WAAAC,OAAAC,eAAAX,IAAAY,KAAAN,MAAA,OAAAC,GAR2BM,KACdf,EAObS,EALDO,OAAIhB,OAAAA,OAAgBH,MAOdK,EAVsBe,QAAAb,GAQ3BK,EAR2B,MAAAS,WAAAhB,EAAAC,GAAAgB,aAAAjB,IAAAkB,IAAA,QAAAC,MAAA,WAkB1Bb,KAAAQ,OAAyBJ,OAAAU,OAAA,MAAAd,KAAbJ,KAAa,EAQvBI,KAAKe,MAAMC,KAAM,WARMhB,KAAAe,MAAAC,KAAA,aAlBCJ,IAAA,SAAAC,MAAA,SA8BnBD,GAZkBZ,KAAAiB,IAAAL,WAAAZ,MAAAQ,OAAAI,GAGxBZ,KAAAO,OANDP,KAAAe,MAAAC,KAAA,WAwBEhB,KAAKe,MAAMC,KAAM,SAAUJ,IAAAA,QAvCHA,IAAA,UAAAC,MAAA,WAAA,MAAAT,QAAAc,QAAAlB,KAuBlBQ,WAvBkBI,IAAA,MAAAC,MAAA,SA0BxBD,EAAKG,GACL,MAAKA,MAAKP,OAACQ,MA3BaJ,IAAA,MAAAC,MAAA,SAAAD,GAAA,MAAAA,KAAAZ,MAAAQ,UAAAI,IAAA,OAAAC,MAAA,WAuDxB,MAAOT,QAAOe,KAAKnB,KAAKQ,WAvDAI,IAAA,MAAAC,MAAA,SA0DtBD,EAAKC,GA1DiB,MAsCxBb,MAAKe,IAAMC,IACXhB,KAAKe,OAvCmBf,KAAAQ,OAAAI,GAAAC,EA2CxBb,KAAAe,MAAOX,KAAOc,WACflB,KAAAe,MAAAC,KAAA,MAAAJ,IAAAA,EAAAC,MAAAA,IA5CyBA,KAAAD,IAAA,UAAAC,MAAA,SAgDzBjB,GAhDyB,IAAA,GAAAgB,KAAAhB,GAAAI,KAAAoB,IAAAR,EAAAhB,EAAAgB,GAoDzB,OAAAhB,MApDyBgB,IAAA,SAAAC,MAAA,WAuDxB,MAAAQ,MAAOjB,UAAYJ,KAAKQ,WAvDAI,IAAA,WAAAC,MAAA,WAAA,MAAAT,QAAAkB,UA0DjBT,KA1DiBL,WAAAI,IAAA,SAAAC,MAAA,WAwFxB,MAAOT,QAAOmB,OAAOvB,KAAKQ,YAxFFd,GAAXL,EAAWD,GAAAG,KAAAG,IAAAA,GAyEtBN","file":"map.min.js","sourcesContent":["(function (window, undefined) {\r\n const {acpv: {EventTarget} = {}} = window;\r\n\r\n if (EventTarget === undefined) {\r\n throw new Error(`\r\n Missing dependency EventTarget.\r\n Please include event-target.js before this file.\r\n `);\r\n }\r\n\r\n class Map extends EventTarget {\r\n \r\n // public\r\n size = 0;\r\n \r\n // private\r\n _store = Object.create(null);\r\n \r\n constructor(object = {}) {\r\n super();\r\n this.setMany(object);\r\n }\r\n \r\n clear() {\r\n this._store = Object.create(null);\r\n this.size = 0;\r\n this.emit({type: 'change'});\r\n this.emit({type: 'clear'});\r\n }\r\n \r\n delete(key) {\r\n if (!this.has(key)) {\r\n return;\r\n }\r\n \r\n delete this._store[key];\r\n this.size--;\r\n \r\n this.emit({type: 'change'});\r\n this.emit({type: 'delete', key});\r\n }\r\n \r\n entries() {\r\n return Object.entries(this._store);\r\n }\r\n \r\n get(key, value) {\r\n return this._store[key];\r\n }\r\n \r\n has(key) {\r\n return key in this._store;\r\n }\r\n \r\n keys() {\r\n return Object.keys(this._store);\r\n }\r\n \r\n set(key, value) {\r\n if (!this.has(key)) {\r\n this.size++;\r\n }\r\n \r\n this._store[key] = value;\r\n \r\n this.emit({type: 'change'});\r\n this.emit({type: 'set', key, value});\r\n \r\n return value;\r\n }\r\n \r\n setMany(object) {\r\n for (let key in object) {\r\n this.set(key, object[key]);\r\n }\r\n \r\n return object;\r\n }\r\n \r\n toJson() {\r\n return JSON.stringify(this._store);\r\n }\r\n \r\n toObject() {\r\n return Object.assign({}, this._store);\r\n }\r\n \r\n values() {\r\n return Object.values(this._store);\r\n }\r\n }\r\n \r\n // Map.prototype[Symbol.iterator] = function* () {\r\n // for (let key in this._store) {\r\n // yield [key, this.get(key)];\r\n // }\r\n // };\r\n \r\n window.acpv.Map = Map;\r\n \r\n})(window)\r\n"]}