convert hashes to big ints + bools

This commit is contained in:
Skillz4Killz
2021-05-07 12:57:36 +00:00
committed by GitHub
parent d645b99287
commit a32f5b5ece
7 changed files with 173 additions and 29 deletions
+19 -5
View File
@@ -1,16 +1,30 @@
import type { DiscordImageFormat } from "../../types/misc/image_format.ts";
import type { DiscordImageSize } from "../../types/misc/image_size.ts";
import { endpoints } from "../../util/constants.ts";
import { iconBigintToHash } from "../../util/hash.ts";
import { formatImageURL } from "../../util/utils.ts";
/** The full URL of the banner from Discords CDN. Undefined if no banner is set. */
export function guildBannerURL(
id: bigint,
banner?: string,
size: DiscordImageSize = 128,
format?: DiscordImageFormat,
options: {
banner?: string | bigint;
size?: DiscordImageSize;
format?: DiscordImageFormat;
animated?: boolean;
},
) {
return banner
? formatImageURL(endpoints.GUILD_BANNER(id, banner), size, format)
return options.banner
? formatImageURL(
endpoints.GUILD_BANNER(
id,
typeof options.banner === "string" ? options.banner : iconBigintToHash(
options.banner,
options.animated ?? true,
),
),
options.size || 128,
options.format,
)
: undefined;
}
+19 -5
View File
@@ -1,16 +1,30 @@
import type { DiscordImageFormat } from "../../types/misc/image_format.ts";
import type { DiscordImageSize } from "../../types/misc/image_size.ts";
import { endpoints } from "../../util/constants.ts";
import { iconBigintToHash } from "../../util/hash.ts";
import { formatImageURL } from "../../util/utils.ts";
/** The full URL of the icon from Discords CDN. Undefined when no icon is set. */
export function guildIconURL(
id: bigint,
icon?: string,
size: DiscordImageSize = 128,
format?: DiscordImageFormat,
options: {
icon?: string | bigint;
size?: DiscordImageSize;
format?: DiscordImageFormat;
animated?: boolean;
},
) {
return icon
? formatImageURL(endpoints.GUILD_ICON(id, icon), size, format)
return options.icon
? formatImageURL(
endpoints.GUILD_ICON(
id,
typeof options.icon === "string" ? options.icon : iconBigintToHash(
options.icon,
options.animated ?? true,
),
),
options.size || 128,
options.format,
)
: undefined;
}
+17 -7
View File
@@ -1,20 +1,30 @@
import type { DiscordImageFormat } from "../../types/misc/image_format.ts";
import type { DiscordImageSize } from "../../types/misc/image_size.ts";
import { endpoints } from "../../util/constants.ts";
import { iconBigintToHash } from "../../util/hash.ts";
import { formatImageURL } from "../../util/utils.ts";
/** The full URL of the splash from Discords CDN. Undefined if no splash is set. */
export function guildSplashURL(
id: bigint,
splash?: string,
size: DiscordImageSize = 128,
format?: DiscordImageFormat,
options: {
splash?: string | bigint;
size?: DiscordImageSize;
format?: DiscordImageFormat;
animated?: boolean;
},
) {
return splash
return options.splash
? formatImageURL(
endpoints.GUILD_SPLASH(id, splash),
size,
format,
endpoints.GUILD_SPLASH(
id,
typeof options.splash === "string" ? options.splash : iconBigintToHash(
options.splash,
options.animated ?? true,
),
),
options.size || 128,
options.format,
)
: undefined;
}