Skip to content

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

License

Notifications You must be signed in to change notification settings

chaijs/assertion-error

Repository files navigation

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/[email protected]/mod.ts";

About

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

Resources

License

Stars

Watchers

Forks

Packages

No packages published