mirror of
https://github.com/discordjs/discord.js.git
synced 2026-03-10 08:33:30 +01:00
* feat: add @discordjs/util * fix: builders test * refactor: make rest use lazy for ESM import * chore: make requested changes * Apply suggestions from code review Co-authored-by: Parbez <imranbarbhuiya.fsd@gmail.com> Co-authored-by: A. Román <kyradiscord@gmail.com> * chore: make requested changes and add tests * chore: regen lockfile * test: add type tests * chore: push missing files * chore: make requested changes * chore: update CI stuff * chore: fix lockfile * chore: make requested changes Co-authored-by: Parbez <imranbarbhuiya.fsd@gmail.com> Co-authored-by: A. Román <kyradiscord@gmail.com> Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
21 lines
596 B
TypeScript
21 lines
596 B
TypeScript
/**
|
|
* Represents an object capable of representing itself as a JSON object
|
|
*
|
|
* @typeParam T - The JSON type corresponding to {@link JSONEncodable.toJSON} outputs.
|
|
*/
|
|
export interface JSONEncodable<T> {
|
|
/**
|
|
* Transforms this object to its JSON format
|
|
*/
|
|
toJSON(): T;
|
|
}
|
|
|
|
/**
|
|
* Indicates if an object is encodable or not.
|
|
*
|
|
* @param maybeEncodable - The object to check against
|
|
*/
|
|
export function isJSONEncodable(maybeEncodable: unknown): maybeEncodable is JSONEncodable<unknown> {
|
|
return maybeEncodable !== null && typeof maybeEncodable === 'object' && 'toJSON' in maybeEncodable;
|
|
}
|