From 1f9d158bdc212e8cb15b92039c9cd11884c9708c Mon Sep 17 00:00:00 2001 From: Nayeem Rahman Date: Sat, 29 Feb 2020 18:04:10 +0000 Subject: refactor(cli/js): Replace constructError() with getErrorClass() (#4189) Flattens dispatch error handling to produce one less useless stack frame on op errors. --- cli/js/errors.ts | 42 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) (limited to 'cli/js/errors.ts') diff --git a/cli/js/errors.ts b/cli/js/errors.ts index 0379f3c96..44f35b438 100644 --- a/cli/js/errors.ts +++ b/cli/js/errors.ts @@ -25,48 +25,48 @@ export enum ErrorKind { Other = 22 } -export function constructError(kind: ErrorKind, msg: string): never { +export function getErrorClass(kind: ErrorKind): { new (msg: string): Error } { switch (kind) { case ErrorKind.TypeError: - throw new TypeError(msg); + return TypeError; case ErrorKind.Other: - throw new Error(msg); + return Error; case ErrorKind.URIError: - throw new URIError(msg); + return URIError; case ErrorKind.NotFound: - throw new NotFound(msg); + return NotFound; case ErrorKind.PermissionDenied: - throw new PermissionDenied(msg); + return PermissionDenied; case ErrorKind.ConnectionRefused: - throw new ConnectionRefused(msg); + return ConnectionRefused; case ErrorKind.ConnectionReset: - throw new ConnectionReset(msg); + return ConnectionReset; case ErrorKind.ConnectionAborted: - throw new ConnectionAborted(msg); + return ConnectionAborted; case ErrorKind.NotConnected: - throw new NotConnected(msg); + return NotConnected; case ErrorKind.AddrInUse: - throw new AddrInUse(msg); + return AddrInUse; case ErrorKind.AddrNotAvailable: - throw new AddrNotAvailable(msg); + return AddrNotAvailable; case ErrorKind.BrokenPipe: - throw new BrokenPipe(msg); + return BrokenPipe; case ErrorKind.AlreadyExists: - throw new AlreadyExists(msg); + return AlreadyExists; case ErrorKind.InvalidData: - throw new InvalidData(msg); + return InvalidData; case ErrorKind.TimedOut: - throw new TimedOut(msg); + return TimedOut; case ErrorKind.Interrupted: - throw new Interrupted(msg); + return Interrupted; case ErrorKind.WriteZero: - throw new WriteZero(msg); + return WriteZero; case ErrorKind.UnexpectedEof: - throw new UnexpectedEof(msg); + return UnexpectedEof; case ErrorKind.BadResource: - throw new BadResource(msg); + return BadResource; case ErrorKind.Http: - throw new Http(msg); + return Http; } } -- cgit v1.2.3