UNPKG

@rarible/estimate-middleware

Version:
34 lines (33 loc) 936 B
export function isSafeEventEmitterProvider(x) { return typeof x === "object" && x !== null && "send" in x && "sendAsync" in x; } export class RpcError extends Error { constructor(message, code) { super(message); this.code = code; this.name = "JsonRpcError"; } } export function extractError(error) { if (isObject(error)) { if ("data" in error) { const { data } = error; if (isObject(data) && isJsonRpcError(data)) { return new RpcError(data.message, data.code); } } if (isJsonRpcError(error)) { return new RpcError(error.message, error.code); } } if (error instanceof Error) { return error; } return new Error("Unknown error"); } function isJsonRpcError(x) { return "code" in x && "message" in x; } function isObject(x) { return typeof x === "object" && x !== null; }