assertion-error

Error constructor for test and validation frameworks that implements standardized AssertionError specification.

Usage no npm install needed!

<script type="module">
  import assertionError from 'https://cdn.skypack.dev/assertion-error';
</script>

README

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) 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'