From 956f289e885763a620cb67a36e7e42683b5c08bf Mon Sep 17 00:00:00 2001 From: Glenn Date: Sat, 20 Aug 2022 00:42:28 +0200 Subject: [PATCH] feat: add common JSON error types (#568) --- deno/payloads/common.ts | 20 ++++++++++++++++++++ payloads/common.ts | 20 ++++++++++++++++++++ 2 files changed, 40 insertions(+) diff --git a/deno/payloads/common.ts b/deno/payloads/common.ts index fe2f5eefe..95dfade74 100644 --- a/deno/payloads/common.ts +++ b/deno/payloads/common.ts @@ -58,3 +58,23 @@ export const PermissionFlagsBits = { Object.freeze(PermissionFlagsBits); export type LocalizationMap = Partial>; + +/** + * https://discord.com/developers/docs/topics/opcodes-and-status-codes#json + */ +export interface RESTError { + code: number; + message: string; + errors?: RESTErrorData; +} + +export interface RESTErrorFieldInformation { + code: string; + message: string; +} + +export interface RESTErrorGroupWrapper { + _errors: RESTErrorData[]; +} + +export type RESTErrorData = RESTErrorGroupWrapper | RESTErrorFieldInformation | { [k: string]: RESTErrorData } | string; diff --git a/payloads/common.ts b/payloads/common.ts index 5b99c6b70..5747c9999 100644 --- a/payloads/common.ts +++ b/payloads/common.ts @@ -58,3 +58,23 @@ export const PermissionFlagsBits = { Object.freeze(PermissionFlagsBits); export type LocalizationMap = Partial>; + +/** + * https://discord.com/developers/docs/topics/opcodes-and-status-codes#json + */ +export interface RESTError { + code: number; + message: string; + errors?: RESTErrorData; +} + +export interface RESTErrorFieldInformation { + code: string; + message: string; +} + +export interface RESTErrorGroupWrapper { + _errors: RESTErrorData[]; +} + +export type RESTErrorData = RESTErrorGroupWrapper | RESTErrorFieldInformation | { [k: string]: RESTErrorData } | string;