mirror of
https://github.com/discordjs/discord.js.git
synced 2026-03-14 18:43:31 +01:00
feat: @discordjs/ws (#8260)
Co-authored-by: Parbez <imranbarbhuiya.fsd@gmail.com>
This commit is contained in:
20
packages/ws/src/utils/utils.ts
Normal file
20
packages/ws/src/utils/utils.ts
Normal file
@@ -0,0 +1,20 @@
|
||||
import type { ShardRange } from '../ws/WebSocketManager';
|
||||
|
||||
export type Awaitable<T> = T | Promise<T>;
|
||||
|
||||
/**
|
||||
* Yields the numbers in the given range as an array
|
||||
* @example
|
||||
* range({ start: 3, end: 5 }); // [3, 4, 5]
|
||||
*/
|
||||
export function range({ start, end }: ShardRange): number[] {
|
||||
return Array.from({ length: end - start + 1 }, (_, i) => i + start);
|
||||
}
|
||||
|
||||
/**
|
||||
* Lazily evaluate a callback, storing its result
|
||||
*/
|
||||
export function lazy<T>(cb: () => T): () => T {
|
||||
let defaultValue: T;
|
||||
return () => (defaultValue ??= cb());
|
||||
}
|
||||
Reference in New Issue
Block a user