refactor(cli/js): Replace constructError() with getErrorClass() (#4189)

Flattens dispatch error handling to produce one less useless stack frame on op errors.
This commit is contained in:
Nayeem Rahman 2020-02-29 18:04:10 +00:00 committed by GitHub
parent f55b22e195
commit 1f9d158bdc
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
10 changed files with 32 additions and 39 deletions

View file

@ -2,7 +2,7 @@
import * as util from "./util.ts";
import { core } from "./core.ts";
import { TextDecoder } from "./text_encoding.ts";
import { errors, ErrorKind, constructError } from "./errors.ts";
import { ErrorKind, errors, getErrorClass } from "./errors.ts";
const promiseTableMin = new Map<number, util.Resolvable<RecordMinimal>>();
// Note it's important that promiseId starts at 1 instead of 0, because sync
@ -56,7 +56,7 @@ export function recordFromBufMinimal(ui8: Uint8Array): RecordMinimal {
function unwrapResponse(res: RecordMinimal): number {
if (res.err != null) {
return constructError(res.err!.kind, res.err!.message);
throw new (getErrorClass(res.err.kind))(res.err.message);
}
return res.result;
}