Awesome
<p align=center> AssertionError and AssertionResult classes. </p> <p align=center> <a href="https://github.com/chaijs/assertion-error/actions"> <img alt="build:?" src="https://github.com/chaijs/assertion-error/actions/workflows/nodejs.yml/badge.svg" /> </a><a href="https://www.npmjs.com/package/assertion-error"> <img alt="downloads:?" src="https://img.shields.io/npm/dm/assertion-error.svg" /> </a><a href=""> <img alt="devDependencies:none" src="https://img.shields.io/badge/dependencies-none-brightgreen" /> </a> </p>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) an
AssertionError
.
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 check
instanceof Error
.
Installation
Node.js
assertion-error
is available on npm.
$ npm install --save assertion-error
Deno
assertion_error
is available on
Deno.land
import {
AssertionError,
AssertionResult,
} from "https://deno.land/x/assertion_error@2.0.0/mod.ts";