summaryrefslogtreecommitdiff
path: root/js/format_error.ts
diff options
context:
space:
mode:
Diffstat (limited to 'js/format_error.ts')
-rw-r--r--js/format_error.ts18
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!;
}