diff options
Diffstat (limited to 'js/format_error.ts')
-rw-r--r-- | js/format_error.ts | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/js/format_error.ts b/js/format_error.ts index dde0f6a58..6670b05e2 100644 --- a/js/format_error.ts +++ b/js/format_error.ts @@ -1,9 +1,17 @@ // Copyright 2018-2019 the Deno authors. All rights reserved. MIT license. -import * as dispatch from "./dispatch"; -import { sendSync } from "./dispatch_json"; +import { sendSync, msg, flatbuffers } from "./dispatch_flatbuffers"; +import { assert } from "./util"; -// TODO(bartlomieju): move to `repl.ts`? export function formatError(errString: string): string { - const res = sendSync(dispatch.OP_FORMAT_ERROR, { error: errString }); - return res.error; + const builder = flatbuffers.createBuilder(); + const errString_ = builder.createString(errString); + const offset = msg.FormatError.createFormatError(builder, errString_); + const baseRes = sendSync(builder, msg.Any.FormatError, offset); + assert(baseRes != null); + assert(msg.Any.FormatErrorRes === baseRes!.innerType()); + const formatErrorResMsg = new msg.FormatErrorRes(); + assert(baseRes!.inner(formatErrorResMsg) != null); + const formattedError = formatErrorResMsg.error(); + assert(formatError != null); + return formattedError!; } |