mirror of
https://github.com/discordjs/discord.js.git
synced 2026-03-09 16:13:31 +01:00
refactor: rename Constants.OPCode to Opcode, moved objects to enums (#6065)
This commit is contained in:
@@ -2,7 +2,7 @@
|
||||
|
||||
const EventEmitter = require('events');
|
||||
const WebSocket = require('../../WebSocket');
|
||||
const { Status, Events, ShardEvents, OPCodes, WSEvents } = require('../../util/Constants');
|
||||
const { Status, Events, ShardEvents, Opcodes, WSEvents } = require('../../util/Constants');
|
||||
const Intents = require('../../util/Intents');
|
||||
|
||||
const STATUS_KEYS = Object.keys(Status);
|
||||
@@ -296,7 +296,7 @@ class WebSocketShard extends EventEmitter {
|
||||
return;
|
||||
}
|
||||
this.manager.client.emit(Events.RAW, packet, this.id);
|
||||
if (packet.op === OPCodes.DISPATCH) this.manager.emit(packet.t, packet.d, this.id);
|
||||
if (packet.op === Opcodes.DISPATCH) this.manager.emit(packet.t, packet.d, this.id);
|
||||
this.onPacket(packet);
|
||||
}
|
||||
|
||||
@@ -408,16 +408,16 @@ class WebSocketShard extends EventEmitter {
|
||||
if (packet.s > this.sequence) this.sequence = packet.s;
|
||||
|
||||
switch (packet.op) {
|
||||
case OPCodes.HELLO:
|
||||
case Opcodes.HELLO:
|
||||
this.setHelloTimeout(-1);
|
||||
this.setHeartbeatTimer(packet.d.heartbeat_interval);
|
||||
this.identify();
|
||||
break;
|
||||
case OPCodes.RECONNECT:
|
||||
case Opcodes.RECONNECT:
|
||||
this.debug('[RECONNECT] Discord asked us to reconnect');
|
||||
this.destroy({ closeCode: 4000 });
|
||||
break;
|
||||
case OPCodes.INVALID_SESSION:
|
||||
case Opcodes.INVALID_SESSION:
|
||||
this.debug(`[INVALID SESSION] Resumable: ${packet.d}.`);
|
||||
// If we can resume the session, do so immediately
|
||||
if (packet.d) {
|
||||
@@ -433,10 +433,10 @@ class WebSocketShard extends EventEmitter {
|
||||
// Finally, emit the INVALID_SESSION event
|
||||
this.emit(ShardEvents.INVALID_SESSION);
|
||||
break;
|
||||
case OPCodes.HEARTBEAT_ACK:
|
||||
case Opcodes.HEARTBEAT_ACK:
|
||||
this.ackHeartbeat();
|
||||
break;
|
||||
case OPCodes.HEARTBEAT:
|
||||
case Opcodes.HEARTBEAT:
|
||||
this.sendHeartbeat('HeartbeatRequest', true);
|
||||
break;
|
||||
default:
|
||||
@@ -556,7 +556,7 @@ class WebSocketShard extends EventEmitter {
|
||||
this.debug(`[${tag}] Sending a heartbeat.`);
|
||||
this.lastHeartbeatAcked = false;
|
||||
this.lastPingTimestamp = Date.now();
|
||||
this.send({ op: OPCodes.HEARTBEAT, d: this.sequence }, true);
|
||||
this.send({ op: Opcodes.HEARTBEAT, d: this.sequence }, true);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -601,7 +601,7 @@ class WebSocketShard extends EventEmitter {
|
||||
};
|
||||
|
||||
this.debug(`[IDENTIFY] Shard ${this.id}/${client.options.shardCount} with intents: ${d.intents}`);
|
||||
this.send({ op: OPCodes.IDENTIFY, d }, true);
|
||||
this.send({ op: Opcodes.IDENTIFY, d }, true);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -625,7 +625,7 @@ class WebSocketShard extends EventEmitter {
|
||||
seq: this.closeSequence,
|
||||
};
|
||||
|
||||
this.send({ op: OPCodes.RESUME, d }, true);
|
||||
this.send({ op: Opcodes.RESUME, d }, true);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -6,7 +6,7 @@ const BaseGuildVoiceChannel = require('../structures/BaseGuildVoiceChannel');
|
||||
const GuildMember = require('../structures/GuildMember');
|
||||
const Role = require('../structures/Role');
|
||||
const Collection = require('../util/Collection');
|
||||
const { Events, OPCodes } = require('../util/Constants');
|
||||
const { Events, Opcodes } = require('../util/Constants');
|
||||
const SnowflakeUtil = require('../util/SnowflakeUtil');
|
||||
|
||||
/**
|
||||
@@ -346,7 +346,7 @@ class GuildMemberManager extends CachedManager {
|
||||
if (!query && !user_ids) query = '';
|
||||
if (nonce.length > 32) throw new RangeError('MEMBER_FETCH_NONCE_LENGTH');
|
||||
this.guild.shard.send({
|
||||
op: OPCodes.REQUEST_GUILD_MEMBERS,
|
||||
op: Opcodes.REQUEST_GUILD_MEMBERS,
|
||||
d: {
|
||||
guild_id: this.guild.id,
|
||||
presences,
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
const { Presence } = require('./Presence');
|
||||
const { TypeError } = require('../errors');
|
||||
const { ActivityTypes, OPCodes } = require('../util/Constants');
|
||||
const { ActivityTypes, Opcodes } = require('../util/Constants');
|
||||
|
||||
class ClientPresence extends Presence {
|
||||
/**
|
||||
@@ -17,13 +17,13 @@ class ClientPresence extends Presence {
|
||||
const packet = this._parse(presence);
|
||||
this._patch(packet);
|
||||
if (typeof presence.shardId === 'undefined') {
|
||||
this.client.ws.broadcast({ op: OPCodes.STATUS_UPDATE, d: packet });
|
||||
this.client.ws.broadcast({ op: Opcodes.STATUS_UPDATE, d: packet });
|
||||
} else if (Array.isArray(presence.shardId)) {
|
||||
for (const shardId of presence.shardId) {
|
||||
this.client.ws.shards.get(shardId).send({ op: OPCodes.STATUS_UPDATE, d: packet });
|
||||
this.client.ws.shards.get(shardId).send({ op: Opcodes.STATUS_UPDATE, d: packet });
|
||||
}
|
||||
} else {
|
||||
this.client.ws.shards.get(presence.shardId).send({ op: OPCodes.STATUS_UPDATE, d: packet });
|
||||
this.client.ws.shards.get(presence.shardId).send({ op: Opcodes.STATUS_UPDATE, d: packet });
|
||||
}
|
||||
return this;
|
||||
}
|
||||
|
||||
@@ -98,7 +98,7 @@ exports.Status = {
|
||||
RESUMING: 8,
|
||||
};
|
||||
|
||||
exports.OPCodes = {
|
||||
exports.Opcodes = {
|
||||
DISPATCH: 0,
|
||||
HEARTBEAT: 1,
|
||||
IDENTIFY: 2,
|
||||
|
||||
137
typings/enums.d.ts
vendored
137
typings/enums.d.ts
vendored
@@ -152,3 +152,140 @@ export enum WebhookTypes {
|
||||
Incoming = 1,
|
||||
'Channel Follower' = 2,
|
||||
}
|
||||
|
||||
export const enum ConstantsEvents {
|
||||
RATE_LIMIT = 'rateLimit',
|
||||
INVALID_REQUEST_WARNING = 'invalidRequestWarning',
|
||||
CLIENT_READY = 'ready',
|
||||
APPLICATION_COMMAND_CREATE = 'applicationCommandCreate',
|
||||
APPLICATION_COMMAND_DELETE = 'applicationCommandDelete',
|
||||
APPLICATION_COMMAND_UPDATE = 'applicationCommandUpdate',
|
||||
GUILD_CREATE = 'guildCreate',
|
||||
GUILD_DELETE = 'guildDelete',
|
||||
GUILD_UPDATE = 'guildUpdate',
|
||||
INVITE_CREATE = 'inviteCreate',
|
||||
INVITE_DELETE = 'inviteDelete',
|
||||
GUILD_UNAVAILABLE = 'guildUnavailable',
|
||||
GUILD_MEMBER_ADD = 'guildMemberAdd',
|
||||
GUILD_MEMBER_REMOVE = 'guildMemberRemove',
|
||||
GUILD_MEMBER_UPDATE = 'guildMemberUpdate',
|
||||
GUILD_MEMBER_AVAILABLE = 'guildMemberAvailable',
|
||||
GUILD_MEMBERS_CHUNK = 'guildMembersChunk',
|
||||
GUILD_INTEGRATIONS_UPDATE = 'guildIntegrationsUpdate',
|
||||
GUILD_ROLE_CREATE = 'roleCreate',
|
||||
GUILD_ROLE_DELETE = 'roleDelete',
|
||||
GUILD_ROLE_UPDATE = 'roleUpdate',
|
||||
GUILD_EMOJI_CREATE = 'emojiCreate',
|
||||
GUILD_EMOJI_DELETE = 'emojiDelete',
|
||||
GUILD_EMOJI_UPDATE = 'emojiUpdate',
|
||||
GUILD_BAN_ADD = 'guildBanAdd',
|
||||
GUILD_BAN_REMOVE = 'guildBanRemove',
|
||||
CHANNEL_CREATE = 'channelCreate',
|
||||
CHANNEL_DELETE = 'channelDelete',
|
||||
CHANNEL_UPDATE = 'channelUpdate',
|
||||
CHANNEL_PINS_UPDATE = 'channelPinsUpdate',
|
||||
MESSAGE_CREATE = 'messageCreate',
|
||||
MESSAGE_DELETE = 'messageDelete',
|
||||
MESSAGE_UPDATE = 'messageUpdate',
|
||||
MESSAGE_BULK_DELETE = 'messageDeleteBulk',
|
||||
MESSAGE_REACTION_ADD = 'messageReactionAdd',
|
||||
MESSAGE_REACTION_REMOVE = 'messageReactionRemove',
|
||||
MESSAGE_REACTION_REMOVE_ALL = 'messageReactionRemoveAll',
|
||||
MESSAGE_REACTION_REMOVE_EMOJI = 'messageReactionRemoveEmoji',
|
||||
THREAD_CREATE = 'threadCreate',
|
||||
THREAD_DELETE = 'threadDelete',
|
||||
THREAD_UPDATE = 'threadUpdate',
|
||||
THREAD_LIST_SYNC = 'threadListSync',
|
||||
THREAD_MEMBER_UPDATE = 'threadMemberUpdate',
|
||||
THREAD_MEMBERS_UPDATE = 'threadMembersUpdate',
|
||||
USER_UPDATE = 'userUpdate',
|
||||
PRESENCE_UPDATE = 'presenceUpdate',
|
||||
VOICE_SERVER_UPDATE = 'voiceServerUpdate',
|
||||
VOICE_STATE_UPDATE = 'voiceStateUpdate',
|
||||
TYPING_START = 'typingStart',
|
||||
WEBHOOKS_UPDATE = 'webhookUpdate',
|
||||
INTERACTION_CREATE = 'interactionCreate',
|
||||
ERROR = 'error',
|
||||
WARN = 'warn',
|
||||
DEBUG = 'debug',
|
||||
SHARD_DISCONNECT = 'shardDisconnect',
|
||||
SHARD_ERROR = 'shardError',
|
||||
SHARD_RECONNECTING = 'shardReconnecting',
|
||||
SHARD_READY = 'shardReady',
|
||||
SHARD_RESUME = 'shardResume',
|
||||
INVALIDATED = 'invalidated',
|
||||
RAW = 'raw',
|
||||
STAGE_INSTANCE_CREATE = 'stageInstanceCreate',
|
||||
STAGE_INSTANCE_UPDATE = 'stageInstanceUpdate',
|
||||
STAGE_INSTANCE_DELETE = 'stageInstanceDelete',
|
||||
}
|
||||
|
||||
export const enum ConstantsShardEvents {
|
||||
CLOSE = 'close',
|
||||
DESTROYED = 'destroyed',
|
||||
INVALID_SESSION = 'invalidSession',
|
||||
READY = 'ready',
|
||||
RESUMED = 'resumed',
|
||||
}
|
||||
|
||||
export const enum ConstantsColors {
|
||||
DEFAULT = 0x000000,
|
||||
WHITE = 0xffffff,
|
||||
AQUA = 0x1abc9c,
|
||||
GREEN = 0x57f287,
|
||||
BLUE = 0x3498db,
|
||||
YELLOW = 0xfee75c,
|
||||
PURPLE = 0x9b59b6,
|
||||
LUMINOUS_VIVID_PINK = 0xe91e63,
|
||||
FUCHSIA = 0xeb459e,
|
||||
GOLD = 0xf1c40f,
|
||||
ORANGE = 0xe67e22,
|
||||
RED = 0xed4245,
|
||||
GREY = 0x95a5a6,
|
||||
NAVY = 0x34495e,
|
||||
DARK_AQUA = 0x11806a,
|
||||
DARK_GREEN = 0x1f8b4c,
|
||||
DARK_BLUE = 0x206694,
|
||||
DARK_PURPLE = 0x71368a,
|
||||
DARK_VIVID_PINK = 0xad1457,
|
||||
DARK_GOLD = 0xc27c0e,
|
||||
DARK_ORANGE = 0xa84300,
|
||||
DARK_RED = 0x992d22,
|
||||
DARK_GREY = 0x979c9f,
|
||||
DARKER_GREY = 0x7f8c8d,
|
||||
LIGHT_GREY = 0xbcc0c0,
|
||||
DARK_NAVY = 0x2c3e50,
|
||||
BLURPLE = 0x5865f2,
|
||||
GREYPLE = 0x99aab5,
|
||||
DARK_BUT_NOT_BLACK = 0x2c2f33,
|
||||
NOT_QUITE_BLACK = 0x23272a,
|
||||
}
|
||||
|
||||
export const enum ConstantsStatus {
|
||||
READY = 0,
|
||||
CONNECTING = 1,
|
||||
RECONNECTING = 2,
|
||||
IDLE = 3,
|
||||
NEARLY = 4,
|
||||
DISCONNECTED = 5,
|
||||
}
|
||||
|
||||
export const enum ConstantsOpcodes {
|
||||
DISPATCH = 0,
|
||||
HEARTBEAT = 1,
|
||||
IDENTIFY = 2,
|
||||
STATUS_UPDATE = 3,
|
||||
VOICE_STATE_UPDATE = 4,
|
||||
VOICE_GUILD_PING = 5,
|
||||
RESUME = 6,
|
||||
RECONNECT = 7,
|
||||
REQUEST_GUILD_MEMBERS = 8,
|
||||
INVALID_SESSION = 9,
|
||||
HELLO = 10,
|
||||
HEARTBEAT_ACK = 11,
|
||||
}
|
||||
|
||||
export const enum ConstantsClientApplicationAssetTypes {
|
||||
SMALL = 1,
|
||||
BIG = 2,
|
||||
}
|
||||
|
||||
149
typings/index.d.ts
vendored
149
typings/index.d.ts
vendored
@@ -39,7 +39,10 @@ import {
|
||||
ApplicationCommandPermissionTypes,
|
||||
ChannelType,
|
||||
ChannelTypes,
|
||||
ConstantsClientApplicationAssetTypes,
|
||||
ConstantsColors,
|
||||
DefaultMessageNotificationLevels,
|
||||
ConstantsEvents,
|
||||
ExplicitContentFilterLevels,
|
||||
InteractionResponseTypes,
|
||||
InteractionTypes,
|
||||
@@ -49,12 +52,15 @@ import {
|
||||
MessageComponentTypes,
|
||||
MFALevels,
|
||||
NSFWLevels,
|
||||
ConstantsOpcodes,
|
||||
OverwriteTypes,
|
||||
PremiumTiers,
|
||||
PrivacyLevels,
|
||||
ConstantsStatus,
|
||||
StickerFormatTypes,
|
||||
VerificationLevels,
|
||||
WebhookTypes,
|
||||
ConstantsShardEvents,
|
||||
} from './enums';
|
||||
|
||||
//#region Classes
|
||||
@@ -220,7 +226,11 @@ export class BaseGuildVoiceChannel extends GuildChannel {
|
||||
export class BaseMessageComponent {
|
||||
public constructor(data?: BaseMessageComponent | BaseMessageComponentOptions);
|
||||
public type: MessageComponentType | null;
|
||||
private static create(data: MessageComponentOptions, client?: Client | WebhookClient, skipValidation?: boolean): MessageComponent | undefined;
|
||||
private static create(
|
||||
data: MessageComponentOptions,
|
||||
client?: Client | WebhookClient,
|
||||
skipValidation?: boolean,
|
||||
): MessageComponent | undefined;
|
||||
private static resolveType(type: MessageComponentTypeResolvable): MessageComponentType;
|
||||
}
|
||||
|
||||
@@ -1982,146 +1992,21 @@ export const Constants: {
|
||||
4010: 'SHARDING_INVALID';
|
||||
4011: 'SHARDING_REQUIRED';
|
||||
};
|
||||
Events: {
|
||||
RATE_LIMIT: 'rateLimit';
|
||||
INVALID_REQUEST_WARNING: 'invalidRequestWarning';
|
||||
CLIENT_READY: 'ready';
|
||||
APPLICATION_COMMAND_CREATE: 'applicationCommandCreate';
|
||||
APPLICATION_COMMAND_DELETE: 'applicationCommandDelete';
|
||||
APPLICATION_COMMAND_UPDATE: 'applicationCommandUpdate';
|
||||
GUILD_CREATE: 'guildCreate';
|
||||
GUILD_DELETE: 'guildDelete';
|
||||
GUILD_UPDATE: 'guildUpdate';
|
||||
INVITE_CREATE: 'inviteCreate';
|
||||
INVITE_DELETE: 'inviteDelete';
|
||||
GUILD_UNAVAILABLE: 'guildUnavailable';
|
||||
GUILD_MEMBER_ADD: 'guildMemberAdd';
|
||||
GUILD_MEMBER_REMOVE: 'guildMemberRemove';
|
||||
GUILD_MEMBER_UPDATE: 'guildMemberUpdate';
|
||||
GUILD_MEMBER_AVAILABLE: 'guildMemberAvailable';
|
||||
GUILD_MEMBERS_CHUNK: 'guildMembersChunk';
|
||||
GUILD_INTEGRATIONS_UPDATE: 'guildIntegrationsUpdate';
|
||||
GUILD_ROLE_CREATE: 'roleCreate';
|
||||
GUILD_ROLE_DELETE: 'roleDelete';
|
||||
GUILD_ROLE_UPDATE: 'roleUpdate';
|
||||
GUILD_EMOJI_CREATE: 'emojiCreate';
|
||||
GUILD_EMOJI_DELETE: 'emojiDelete';
|
||||
GUILD_EMOJI_UPDATE: 'emojiUpdate';
|
||||
GUILD_BAN_ADD: 'guildBanAdd';
|
||||
GUILD_BAN_REMOVE: 'guildBanRemove';
|
||||
CHANNEL_CREATE: 'channelCreate';
|
||||
CHANNEL_DELETE: 'channelDelete';
|
||||
CHANNEL_UPDATE: 'channelUpdate';
|
||||
CHANNEL_PINS_UPDATE: 'channelPinsUpdate';
|
||||
MESSAGE_CREATE: 'messageCreate';
|
||||
MESSAGE_DELETE: 'messageDelete';
|
||||
MESSAGE_UPDATE: 'messageUpdate';
|
||||
MESSAGE_BULK_DELETE: 'messageDeleteBulk';
|
||||
MESSAGE_REACTION_ADD: 'messageReactionAdd';
|
||||
MESSAGE_REACTION_REMOVE: 'messageReactionRemove';
|
||||
MESSAGE_REACTION_REMOVE_ALL: 'messageReactionRemoveAll';
|
||||
MESSAGE_REACTION_REMOVE_EMOJI: 'messageReactionRemoveEmoji';
|
||||
THREAD_CREATE: 'threadCreate';
|
||||
THREAD_DELETE: 'threadDelete';
|
||||
THREAD_UPDATE: 'threadUpdate';
|
||||
THREAD_LIST_SYNC: 'threadListSync';
|
||||
THREAD_MEMBER_UPDATE: 'threadMemberUpdate';
|
||||
THREAD_MEMBERS_UPDATE: 'threadMembersUpdate';
|
||||
USER_UPDATE: 'userUpdate';
|
||||
PRESENCE_UPDATE: 'presenceUpdate';
|
||||
VOICE_SERVER_UPDATE: 'voiceServerUpdate';
|
||||
VOICE_STATE_UPDATE: 'voiceStateUpdate';
|
||||
TYPING_START: 'typingStart';
|
||||
WEBHOOKS_UPDATE: 'webhookUpdate';
|
||||
INTERACTION_CREATE: 'interactionCreate';
|
||||
ERROR: 'error';
|
||||
WARN: 'warn';
|
||||
DEBUG: 'debug';
|
||||
SHARD_DISCONNECT: 'shardDisconnect';
|
||||
SHARD_ERROR: 'shardError';
|
||||
SHARD_RECONNECTING: 'shardReconnecting';
|
||||
SHARD_READY: 'shardReady';
|
||||
SHARD_RESUME: 'shardResume';
|
||||
INVALIDATED: 'invalidated';
|
||||
RAW: 'raw';
|
||||
STAGE_INSTANCE_CREATE: 'stageInstanceCreate';
|
||||
STAGE_INSTANCE_UPDATE: 'stageInstanceUpdate';
|
||||
STAGE_INSTANCE_DELETE: 'stageInstanceDelete';
|
||||
};
|
||||
ShardEvents: {
|
||||
CLOSE: 'close';
|
||||
DESTROYED: 'destroyed';
|
||||
INVALID_SESSION: 'invalidSession';
|
||||
READY: 'ready';
|
||||
RESUMED: 'resumed';
|
||||
};
|
||||
Events: typeof ConstantsEvents;
|
||||
ShardEvents: typeof ConstantsShardEvents;
|
||||
PartialTypes: {
|
||||
[K in PartialTypes]: K;
|
||||
};
|
||||
WSEvents: {
|
||||
[K in WSEventType]: K;
|
||||
};
|
||||
Colors: {
|
||||
DEFAULT: 0x000000;
|
||||
WHITE: 0xffffff;
|
||||
AQUA: 0x1abc9c;
|
||||
GREEN: 0x57f287;
|
||||
BLUE: 0x3498db;
|
||||
YELLOW: 0xfee75c;
|
||||
PURPLE: 0x9b59b6;
|
||||
LUMINOUS_VIVID_PINK: 0xe91e63;
|
||||
FUCHSIA: 0xeb459e;
|
||||
GOLD: 0xf1c40f;
|
||||
ORANGE: 0xe67e22;
|
||||
RED: 0xed4245;
|
||||
GREY: 0x95a5a6;
|
||||
NAVY: 0x34495e;
|
||||
DARK_AQUA: 0x11806a;
|
||||
DARK_GREEN: 0x1f8b4c;
|
||||
DARK_BLUE: 0x206694;
|
||||
DARK_PURPLE: 0x71368a;
|
||||
DARK_VIVID_PINK: 0xad1457;
|
||||
DARK_GOLD: 0xc27c0e;
|
||||
DARK_ORANGE: 0xa84300;
|
||||
DARK_RED: 0x992d22;
|
||||
DARK_GREY: 0x979c9f;
|
||||
DARKER_GREY: 0x7f8c8d;
|
||||
LIGHT_GREY: 0xbcc0c0;
|
||||
DARK_NAVY: 0x2c3e50;
|
||||
BLURPLE: 0x5865f2;
|
||||
GREYPLE: 0x99aab5;
|
||||
DARK_BUT_NOT_BLACK: 0x2c2f33;
|
||||
NOT_QUITE_BLACK: 0x23272a;
|
||||
};
|
||||
Status: {
|
||||
READY: 0;
|
||||
CONNECTING: 1;
|
||||
RECONNECTING: 2;
|
||||
IDLE: 3;
|
||||
NEARLY: 4;
|
||||
DISCONNECTED: 5;
|
||||
};
|
||||
OPCodes: {
|
||||
DISPATCH: 0;
|
||||
HEARTBEAT: 1;
|
||||
IDENTIFY: 2;
|
||||
STATUS_UPDATE: 3;
|
||||
VOICE_STATE_UPDATE: 4;
|
||||
VOICE_GUILD_PING: 5;
|
||||
RESUME: 6;
|
||||
RECONNECT: 7;
|
||||
REQUEST_GUILD_MEMBERS: 8;
|
||||
INVALID_SESSION: 9;
|
||||
HELLO: 10;
|
||||
HEARTBEAT_ACK: 11;
|
||||
};
|
||||
Colors: typeof ConstantsColors;
|
||||
Status: typeof ConstantsStatus;
|
||||
Opcodes: typeof ConstantsOpcodes;
|
||||
APIErrors: APIErrors;
|
||||
ChannelTypes: typeof ChannelTypes;
|
||||
ThreadChannelTypes: ThreadChannelType[];
|
||||
ClientApplicationAssetTypes: {
|
||||
SMALL: 1;
|
||||
BIG: 2;
|
||||
};
|
||||
ClientApplicationAssetTypes: typeof ConstantsClientApplicationAssetTypes;
|
||||
InviteScopes: InviteScope[];
|
||||
MessageTypes: MessageType[];
|
||||
SystemMessageTypes: SystemMessageType[];
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
import {
|
||||
Client,
|
||||
Collection,
|
||||
Constants,
|
||||
DMChannel,
|
||||
GuildMember,
|
||||
Intents,
|
||||
@@ -431,7 +432,7 @@ client.login('absolutely-valid-token');
|
||||
// Test type transformation:
|
||||
declare const assertType: <T>(value: T) => asserts value is T;
|
||||
declare const serialize: <T>(value: T) => Serialized<T>;
|
||||
declare const notPropertyOf: <T, P extends string>(value: T, property: P & Exclude<P, keyof T>) => void;
|
||||
declare const notPropertyOf: <T, P extends PropertyKey>(value: T, property: P & Exclude<P, keyof T>) => void;
|
||||
|
||||
assertType<undefined>(serialize(undefined));
|
||||
assertType<null>(serialize(null));
|
||||
@@ -503,3 +504,11 @@ declare const reactionCollector: ReactionCollector;
|
||||
reactionCollector.on('dispose', (...args) => {
|
||||
assertType<[MessageReaction, User]>(args);
|
||||
});
|
||||
|
||||
// Make sure the properties are typed correctly, and that no backwards properties
|
||||
// (K -> V and V -> K) exist:
|
||||
assertType<'messageCreate'>(Constants.Events.MESSAGE_CREATE);
|
||||
assertType<'close'>(Constants.ShardEvents.CLOSE);
|
||||
assertType<1>(Constants.Status.CONNECTING);
|
||||
assertType<0>(Constants.Opcodes.DISPATCH);
|
||||
assertType<2>(Constants.ClientApplicationAssetTypes.BIG);
|
||||
|
||||
Reference in New Issue
Block a user