UNPKG

wido

Version:

JavaScript library for interacting with the Wido protocol which allows you to seamlessly move liquidity across vaults and chains.

43 lines (35 loc) 861 B
import { ErrorApiResponse, ErrorCode, ValidationError } from "./types" export class WidoError extends Error { name = "WidoError" code: ErrorCode detail: string validationErrors?: ValidationError[] constructor( code: ErrorCode, detail: string, validationErrors?: ValidationError[] ) { let message switch (code) { case "INVALID_REQUEST": message = `${detail}: ${validationErrors ?.map((err) => err.msg) .join(", ")}` break default: message = `${code}: ${detail}` break } super(message) this.detail = detail this.code = code this.validationErrors = validationErrors } static from_api_response(response: ErrorApiResponse) { return new WidoError( response.code, response.detail, response.validationErrors ) } }