diff options
author | Bartek IwaĆczuk <biwanczuk@gmail.com> | 2020-08-07 22:47:18 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-08-07 16:47:18 -0400 |
commit | 59ca66a207ceb4699e1322ce22f953ac0f124f13 (patch) | |
tree | 775b30b9a46f3c824d97060fb147336ecb6b83b7 /cli/rt/10_dispatch_minimal.js | |
parent | 479164d287604d079f6342e656f2ac95b109367f (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.js | 13 |
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; } |