summaryrefslogtreecommitdiff
path: root/cli/rt/10_dispatch_minimal.js
diff options
context:
space:
mode:
authorBartek IwaƄczuk <biwanczuk@gmail.com>2020-08-07 22:47:18 +0200
committerGitHub <noreply@github.com>2020-08-07 16:47:18 -0400
commit59ca66a207ceb4699e1322ce22f953ac0f124f13 (patch)
tree775b30b9a46f3c824d97060fb147336ecb6b83b7 /cli/rt/10_dispatch_minimal.js
parent479164d287604d079f6342e656f2ac95b109367f (diff)
Encode op errors as strings instead of numbers (#6977)
Diffstat (limited to 'cli/rt/10_dispatch_minimal.js')
-rw-r--r--cli/rt/10_dispatch_minimal.js13
1 files changed, 7 insertions, 6 deletions
diff --git a/cli/rt/10_dispatch_minimal.js b/cli/rt/10_dispatch_minimal.js
index 6137449f4..0a0a4f99f 100644
--- a/cli/rt/10_dispatch_minimal.js
+++ b/cli/rt/10_dispatch_minimal.js
@@ -3,7 +3,6 @@
((window) => {
const core = window.Deno.core;
const util = window.__bootstrap.util;
- const errorNs = window.__bootstrap.errors;
// Using an object without a prototype because `Map` was causing GC problems.
const promiseTableMin = Object.create(null);
@@ -32,11 +31,13 @@
let err;
if (arg < 0) {
- const kind = result;
- const message = decoder.decode(ui8.subarray(12));
- err = { kind, message };
+ const codeLen = result;
+ const codeAndMessage = decoder.decode(ui8.subarray(12));
+ const errorCode = codeAndMessage.slice(0, codeLen);
+ const message = codeAndMessage.slice(codeLen);
+ err = { kind: errorCode, message };
} else if (ui8.length != 12) {
- throw new errorNs.errors.InvalidData("BadMessage");
+ throw new TypeError("Malformed response message");
}
return {
@@ -49,7 +50,7 @@
function unwrapResponse(res) {
if (res.err != null) {
- throw new (errorNs.getErrorClass(res.err.kind))(res.err.message);
+ throw new (core.getErrorClass(res.err.kind))(res.err.message);
}
return res.result;
}