GitHub - chaijs/assertion-error: Error constructor for test and validation frameworks that implements standardized AssertionError specification. (original) (raw)
AssertionError and AssertionResult classes.
What is AssertionError?
Assertion Error is a module that contains two classes: AssertionError
, which is an instance of an Error
, and AssertionResult
which is not an instance of Error.
These can be useful for returning from a function - if the function "succeeds" return an AssertionResult
and if the function fails return (or throw) anAssertionError
.
Both AssertionError
and AssertionResult
implement the Result
interface:
interface Result { name: "AssertionError" | "AssertionResult"; ok: boolean; toJSON(...args: unknown[]): Record<string, unknown>; }
So if a function returns AssertionResult | AssertionError
it is easy to check_which_ one is returned by checking either .name
or .ok
, or checkinstanceof Error
.
Installation
Node.js
assertion-error
is available on npm.
$ npm install --save assertion-error
Deno
assertion_error
is available onDeno.land
import { AssertionError, AssertionResult, } from "https://deno.land/x/assertion_error@2.0.0/mod.ts";