{"version":3,"sources":["../../../../src/lib/errors/HypixelTSError.ts"],"sourcesContent":["type ErrorMessageSupplier = (...args: any[]) => string;\n\nconst messages = new Map<string, string | ErrorMessageSupplier>();\n\nexport class HypixelTSError extends Error {\n\tpublic constructor(key: string, ...args: any[]) {\n\t\tsuper(getMessage(key, args));\n\n\t\tfunction getMessage(key: string, args: any[]) {\n\t\t\tif (typeof key !== 'string') throw new Error('[getMessage]: argument key must be a string');\n\t\t\tconst msg = messages.get(key);\n\n\t\t\tif (!msg) throw new Error(`[getMessage]: An invalid error key was provided: ${key}`);\n\t\t\tif (typeof msg === 'function') return msg(...args);\n\t\t\tif (!args.length) return msg;\n\n\t\t\targs.unshift(msg);\n\t\t\treturn String(...args);\n\t\t}\n\t}\n}\n\nexport function register(name: string, value: any) {\n\tmessages.set(name, typeof value === 'function' ? value : String(value));\n}\n"],"mappings":";;;;AAEA,IAAM,WAAW,oBAAI,IAA2C;AAEzD,IAAM,iBAAN,cAA6B,MAAM;AAAA,EAJ1C,OAI0C;AAAA;AAAA;AAAA,EAClC,YAAY,QAAgB,MAAa;AAC/C,UAAM,WAAW,KAAK,IAAI,CAAC;AAE3B,aAAS,WAAWA,MAAaC,OAAa;AAC7C,UAAI,OAAOD,SAAQ,SAAU,OAAM,IAAI,MAAM,6CAA6C;AAC1F,YAAM,MAAM,SAAS,IAAIA,IAAG;AAE5B,UAAI,CAAC,IAAK,OAAM,IAAI,MAAM,oDAAoDA,IAAG,EAAE;AACnF,UAAI,OAAO,QAAQ,WAAY,QAAO,IAAI,GAAGC,KAAI;AACjD,UAAI,CAACA,MAAK,OAAQ,QAAO;AAEzB,MAAAA,MAAK,QAAQ,GAAG;AAChB,aAAO,OAAO,GAAGA,KAAI;AAAA,IACtB;AAVS;AAAA,EAWV;AACD;AAEO,SAAS,SAAS,MAAc,OAAY;AAClD,WAAS,IAAI,MAAM,OAAO,UAAU,aAAa,QAAQ,OAAO,KAAK,CAAC;AACvE;AAFgB;","names":["key","args"]}