{"version":3,"file":"Emoji.mjs","sourceRoot":"","sources":["../../src/payloads/Emoji.mts"],"names":[],"mappings":"AAAA,OAAO,EAAY,SAAS,EAAe,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACtF,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,IAAI,MAAM,YAAY,CAAC;AAG9B,MAAM,OAAO,KAAK;IAmBd,YAAY,KAAe;QAlB3B,eAAe;QACf;;;;;WAAkB;QAClB,8DAA8D;QAC9D;;;;;WAAoB;QACpB,yCAAyC;QACzC;;;;;WAAiB;QACjB,yCAAyC;QACzC;;;;;WAAY;QACZ,mDAAmD;QACnD;;;;;WAAwB;QACxB,oCAAoC;QACpC;;;;;WAAkB;QAClB,qCAAqC;QACrC;;;;;WAAmB;QACnB,gFAAgF;QAChF;;;;;WAAoB;QAIhB,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC;QACnB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;QACvB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;QACzB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC1D,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,cAAc,CAAC;QAC1C,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;QAC7B,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;QAC/B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;IACrC,CAAC;IAED,mCAAmC;IACnC,SAAS,CAAC,SAAkD,EAAC,SAAS,EAAE,WAAW,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,EAAC;QAC9F,IAAI,CAAC,IAAI,CAAC,EAAE;YAAE,OAAO,IAAI,CAAC;QAC1B,OAAO,oBAAoB,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC,SAAS,CAAC,GAAG,SAAS,MAAM,CAAC,IAAI,EAAE,CAAC;IACtG,CAAC;CAEJ;AAED,eAAe,KAAK,CAAC","sourcesContent":["import { APIEmoji, CDNRoutes, EmojiFormat, ImageFormat } from \"discord-api-types/v10\";\nimport { DISCORD_CDN_BASE_URL } from \"../constants.mjs\";\nimport User from \"./User.mjs\";\n\n\nexport class Emoji {\n    /** Emoji id */\n    id: string | null;\n    /** Emoji name (can be null only in reaction emoji objects) */\n    name: string | null;\n    /** Roles this emoji is whitelisted to */\n    roles?: string[];\n    /** Roles this emoji is whitelisted to */\n    user?: User;\n    /** Whether this emoji must be wrapped in colons */\n    requireColons?: boolean;\n    /** Whether this emoji is managed */\n    managed?: boolean;\n    /** Whether this emoji is animated */\n    animated?: boolean;\n    /** Whether this emoji can be used, may be false due to loss of Server Boosts */\n    available?: boolean;\n\n\n    constructor(emoji: APIEmoji) {\n        this.id = emoji.id;\n        this.name = emoji.name;\n        this.roles = emoji.roles;\n        this.user = emoji.user ? new User(emoji.user) : undefined;\n        this.requireColons = emoji.require_colons;\n        this.managed = emoji.managed;\n        this.animated = emoji.animated;\n        this.available = emoji.available;\n    }\n\n    /** The emoji url for the emoji  */\n    avatarURL(config: {extension: EmojiFormat, size: number } = {extension: ImageFormat.PNG, size: 64}): string | null {\n        if (!this.id) return null;\n        return DISCORD_CDN_BASE_URL + CDNRoutes.emoji(this.id, config.extension) + `?size=${config.size}`;\n    }\n\n}\n\nexport default Emoji;"]}