diff options
Diffstat (limited to 'cli/rt')
-rw-r--r-- | cli/rt/01_errors.js | 8 | ||||
-rw-r--r-- | cli/rt/10_dispatch_minimal.js | 22 | ||||
-rw-r--r-- | cli/rt/99_main.js | 10 |
3 files changed, 22 insertions, 18 deletions
diff --git a/cli/rt/01_errors.js b/cli/rt/01_errors.js index fb2bb78c2..d5933069b 100644 --- a/cli/rt/01_errors.js +++ b/cli/rt/01_errors.js @@ -127,6 +127,13 @@ } } + class NotSupported extends Error { + constructor(msg) { + super(msg); + this.name = "NotSupported"; + } + } + const errors = { NotFound, PermissionDenied, @@ -146,6 +153,7 @@ BadResource, Http, Busy, + NotSupported, }; window.__bootstrap.errors = { diff --git a/cli/rt/10_dispatch_minimal.js b/cli/rt/10_dispatch_minimal.js index 0a0a4f99f..072285256 100644 --- a/cli/rt/10_dispatch_minimal.js +++ b/cli/rt/10_dispatch_minimal.js @@ -31,11 +31,11 @@ let err; if (arg < 0) { - 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 }; + const classLen = result; + const classAndMessage = decoder.decode(ui8.subarray(12)); + const errorClass = classAndMessage.slice(0, classLen); + const message = classAndMessage.slice(classLen); + err = { kind: errorClass, message }; } else if (ui8.length != 12) { throw new TypeError("Malformed response message"); } @@ -72,11 +72,7 @@ promise.resolve(record); } - async function sendAsync( - opName, - arg, - zeroCopy, - ) { + async function sendAsync(opName, arg, zeroCopy) { const promiseId = nextPromiseId(); // AKA cmdId scratch32[0] = promiseId; scratch32[1] = arg; @@ -96,11 +92,7 @@ return unwrapResponse(res); } - function sendSync( - opName, - arg, - zeroCopy, - ) { + function sendSync(opName, arg, zeroCopy) { scratch32[0] = 0; // promiseId 0 indicates sync scratch32[1] = arg; const res = core.dispatchByName(opName, scratchBytes, zeroCopy); diff --git a/cli/rt/99_main.js b/cli/rt/99_main.js index 18cc1d251..846216ec4 100644 --- a/cli/rt/99_main.js +++ b/cli/rt/99_main.js @@ -195,10 +195,14 @@ delete Object.prototype.__proto__; core.registerErrorClass("UnexpectedEof", errors.UnexpectedEof); core.registerErrorClass("BadResource", errors.BadResource); core.registerErrorClass("Http", errors.Http); - core.registerErrorClass("URIError", URIError); - core.registerErrorClass("TypeError", TypeError); - core.registerErrorClass("Other", Error); core.registerErrorClass("Busy", errors.Busy); + core.registerErrorClass("NotSupported", errors.NotSupported); + core.registerErrorClass("Error", Error); + core.registerErrorClass("RangeError", RangeError); + core.registerErrorClass("ReferenceError", ReferenceError); + core.registerErrorClass("SyntaxError", SyntaxError); + core.registerErrorClass("TypeError", TypeError); + core.registerErrorClass("URIError", URIError); } // https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope |