GitHub - chaijs/assertion-error: Error constructor for test and validation frameworks that implements standardized AssertionError specification. (original) (raw)

AssertionError and AssertionResult classes.

build:? downloads:? devDependencies:none

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";