{"version":3,"sources":["../../src/collections/CaseInsensitiveSet.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any -- ok */\n// https://stackoverflow.com/questions/50019920/javascript-map-key-value-pairs-case-insensitive-search\nexport class CaseInsensitiveSet<T> extends Set<T> {\n    constructor(values?: Iterable<T>) {\n        // eslint-disable-next-line @typescript-eslint/no-unused-expressions -- this is a valid use case\n        values\n            ? super(\n                  Array.from(values, (key) => {\n                      if (typeof key === 'string') {\n                          key = key.toLowerCase() as any as T;\n                      }\n\n                      return key;\n                  }),\n              )\n            : super();\n    }\n\n    add(key: T) {\n        if (typeof key === 'string') {\n            key = key.toLowerCase() as any as T;\n        }\n\n        return super.add(key);\n    }\n\n    has(key: T) {\n        if (typeof key === 'string') {\n            key = key.toLowerCase() as any as T;\n        }\n\n        return super.has(key);\n    }\n\n    delete(key: T) {\n        if (typeof key === 'string') {\n            key = key.toLowerCase() as any as T;\n        }\n\n        return super.delete(key);\n    }\n}\n"],"mappings":";;;AAEO,IAAM,qBAAN,cAAoC,IAAO;AAAA,EAC9C,YAAY,QAAsB;AAE9B,aACM;AAAA,MACI,MAAM,KAAK,QAAQ,CAAC,QAAQ;AACxB,YAAI,OAAO,QAAQ,UAAU;AACzB,gBAAM,IAAI,YAAY;AAAA,QAC1B;AAEA,eAAO;AAAA,MACX,CAAC;AAAA,IACL,IACA,MAAM;AAAA,EAChB;AAAA,EAEA,IAAI,KAAQ;AACR,QAAI,OAAO,QAAQ,UAAU;AACzB,YAAM,IAAI,YAAY;AAAA,IAC1B;AAEA,WAAO,MAAM,IAAI,GAAG;AAAA,EACxB;AAAA,EAEA,IAAI,KAAQ;AACR,QAAI,OAAO,QAAQ,UAAU;AACzB,YAAM,IAAI,YAAY;AAAA,IAC1B;AAEA,WAAO,MAAM,IAAI,GAAG;AAAA,EACxB;AAAA,EAEA,OAAO,KAAQ;AACX,QAAI,OAAO,QAAQ,UAAU;AACzB,YAAM,IAAI,YAAY;AAAA,IAC1B;AAEA,WAAO,MAAM,OAAO,GAAG;AAAA,EAC3B;AACJ;","names":[]}