mirror of
https://github.com/discordjs/discord.js.git
synced 2026-03-14 02:23:31 +01:00
refactor: use interfaces for AsyncEventEmitter event maps (#10044)
* refactor: use interfaces for AsyncEventEmitter event maps * refactor: apply suggestions from code review and add tests * refactor: better errors on missing dispatch types
This commit is contained in:
15
packages/ws/__tests__/types/WebSocketManager.test-d.ts
Normal file
15
packages/ws/__tests__/types/WebSocketManager.test-d.ts
Normal file
@@ -0,0 +1,15 @@
|
||||
import type { AsyncEventEmitter } from '@vladfrangu/async_event_emitter';
|
||||
import { expectType, expectAssignable } from 'tsd';
|
||||
import type { ManagerShardEventsMap, WebSocketShardEventsMap, WebSocketManager } from '../../src/index.js';
|
||||
|
||||
declare const manager: WebSocketManager;
|
||||
declare const eventMap: ManagerShardEventsMap;
|
||||
|
||||
type AugmentedShardEventsMap = {
|
||||
[K in keyof WebSocketShardEventsMap]: [
|
||||
WebSocketShardEventsMap[K] extends [] ? { shardId: number } : WebSocketShardEventsMap[K][0] & { shardId: number },
|
||||
];
|
||||
};
|
||||
|
||||
expectType<AugmentedShardEventsMap>(eventMap);
|
||||
expectAssignable<AsyncEventEmitter<AugmentedShardEventsMap>>(manager);
|
||||
Reference in New Issue
Block a user