{"version":3,"sources":["../../sources/polyfills/SetLike.ts"],"names":["SetLike","value","has","items","push","previousLength","length","filter","item","callbackfn","forEach","indexOf","Set"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkBA;IACMA,O;;;;;;;;;;;;;;;;4DACgB,E;;;;;;;wBAEjBC,K,EAAgB;AACnB,UAAI,KAAKC,GAAL,CAASD,KAAT,MAAoB,KAAxB,EAA+B;AAC9B,aAAKE,KAAL,CAAWC,IAAX,CAAgBH,KAAhB;AACA;;AACD,aAAO,IAAP;AACA;;;4BACa;AACb,WAAKE,KAAL,GAAa,EAAb;AACA;;;4BACMF,K,EAAmB;AACzB,UAAMI,cAAc,GAAG,KAAKF,KAAL,CAAWG,MAAlC;AACA,WAAKH,KAAL,GAAa,KAAKA,KAAL,CAAWI,MAAX,CAAkB,UAACC,IAAD;AAAA,eAAUA,IAAI,KAAKP,KAAnB;AAAA,OAAlB,CAAb;AAEA,aAAOI,cAAc,KAAK,KAAKF,KAAL,CAAWG,MAArC;AACA;;;4BACOG,U,EAA8D;AAAA;;AACrE,WAAKN,KAAL,CAAWO,OAAX,CAAmB,UAACF,IAAD,EAAU;AAC5BC,QAAAA,UAAU,CAACD,IAAD,EAAOA,IAAP,EAAa,MAAb,CAAV;AACA,OAFD;AAGA;;;wBACGP,K,EAAmB;AACtB,aAAO,KAAKE,KAAL,CAAWQ,OAAX,CAAmBV,KAAnB,MAA8B,CAAC,CAAtC;AACA;;;wBAEkB;AAClB,aAAO,KAAKE,KAAL,CAAWG,MAAlB;AACA;;;;iCA7BuBM,G;;AAgCzB,eAAe,OAAOA,GAAP,KAAe,WAAf,GAA6BA,GAA7B,GAAmCZ,OAAlD","sourcesContent":["declare global {\n\tclass Set<T> {\n\t\t// es2015.collection.d.ts\n\t\tadd(value: T): this;\n\t\tclear(): void;\n\t\tdelete(value: T): boolean;\n\t\tforEach(\n\t\t\tcallbackfn: (value: T, value2: T, set: Set<T>) => void,\n\t\t\tthisArg?: any\n\t\t): void;\n\t\thas(value: T): boolean;\n\t\treadonly size: number;\n\n\t\t// es2015.iterable.d.ts\n\t\t// no  implemennted\n\t}\n}\n\n// for environments without Set we fallback to arrays with unique members\nclass SetLike<T> extends Set<T> {\n\tprivate items: T[] = [];\n\n\tadd(value: T): this {\n\t\tif (this.has(value) === false) {\n\t\t\tthis.items.push(value);\n\t\t}\n\t\treturn this;\n\t}\n\tclear(): void {\n\t\tthis.items = [];\n\t}\n\tdelete(value: T): boolean {\n\t\tconst previousLength = this.items.length;\n\t\tthis.items = this.items.filter((item) => item !== value);\n\n\t\treturn previousLength !== this.items.length;\n\t}\n\tforEach(callbackfn: (value: T, value2: T, set: Set<T>) => void): void {\n\t\tthis.items.forEach((item) => {\n\t\t\tcallbackfn(item, item, this);\n\t\t});\n\t}\n\thas(value: T): boolean {\n\t\treturn this.items.indexOf(value) !== -1;\n\t}\n\n\tget size(): number {\n\t\treturn this.items.length;\n\t}\n}\n\nexport default typeof Set === \"undefined\" ? Set : SetLike;\n"],"file":"SetLike.mjs"}