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: ```typescript interface Result { name: "AssertionError" | "AssertionResult"; ok: boolean; toJSON(...args: unknown[]): Record; } ``` 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](http://npmjs.org). ``` $ npm install --save assertion-error ``` ### Deno `assertion_error` is available on [Deno.land](https://deno.land/x/assertion_error) ```typescript import { AssertionError, AssertionResult, } from "https://deno.land/x/assertion_error@2.0.0/mod.ts"; ```