globalThis.assertOrThrow
Michael Haufe
tno at thenewobjective.com
Sat Aug 31 19:53:04 UTC 2019
https://esdiscuss.org/topic/native-assertions
From: es-discuss <es-discuss-bounces at mozilla.org> On Behalf Of kai zhu
Sent: Saturday, August 31, 2019 2:22 PM
To: es-discuss <es-discuss at mozilla.org>
Subject: globalThis.assertOrThrow
having a universal assert function (similar to nodejs' assert builtin) might be useful. it could be name "assertOrThrow" for web-compat.
this would simplify writing common-case "throwaway" error-handling behavior in both browsers and nodejs:
```js
// naive polyfill
globalThis.assertOrThrow = globalThis.assertOrThrow || function (passed, message) {
/*
* this function will throw error <message> if <passed> is falsy
*/
if (passed) {
return;
}
throw (
typeof message === "object" && message
? message
: new Error(message)
}
};
localforage.setItem("foo", "bar", function (err, data) {
// validate no err occurred
// this one-line statement makes writing test-coverage less tedious
assertOrThrow(!err, err);
...
});
```
-kai
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.mozilla.org/pipermail/es-discuss/attachments/20190831/9af6a04d/attachment.html>
More information about the es-discuss
mailing list