mirror of
https://github.com/PluralKit/PluralKit.git
synced 2026-02-05 13:27:54 +00:00
29 lines
571 B
TypeScript
29 lines
571 B
TypeScript
|
|
enum ErrorType {
|
||
|
|
Unknown = 0,
|
||
|
|
InvalidToken = 401,
|
||
|
|
NotFound = 404,
|
||
|
|
InternalServerError = 500,
|
||
|
|
}
|
||
|
|
|
||
|
|
interface ApiError {
|
||
|
|
code: number,
|
||
|
|
type: ErrorType,
|
||
|
|
message?: string,
|
||
|
|
data?: any,
|
||
|
|
}
|
||
|
|
|
||
|
|
export function parse(code: number, data?: string): ApiError {
|
||
|
|
var type = ErrorType[ErrorType[code]] ?? ErrorType.Unknown;
|
||
|
|
if (code >= 500) type = ErrorType.InternalServerError;
|
||
|
|
|
||
|
|
var err: ApiError = { code, type };
|
||
|
|
|
||
|
|
if (data) {
|
||
|
|
var d = JSON.parse(data);
|
||
|
|
err.message = d.message;
|
||
|
|
err.data = d;
|
||
|
|
}
|
||
|
|
|
||
|
|
return err;
|
||
|
|
}
|