Skip to main content

@std/assert@1.0.19
Built and signed on GitHub Actions

Works with
This package works with Cloudflare Workers, Node.js, Deno, Bun, Browsers
This package works with Cloudflare Workers
This package works with Node.js
This package works with Deno
This package works with Bun
This package works with Browsers
JSR Score100%
License
MIT
Downloads89,134/wk
Published3 months ago (1.0.19)

Common assertion functions, especially useful for testing

function assertIsError
assertIsError<E extends Error = Error>(
error: unknown,
ErrorClass?: new (...args: any[]) => E,
msgMatches?: string | RegExp,
msg?: string
): asserts error is E

Make an assertion that error is an Error. If not then an error will be thrown. An error class and a string that should be included in the error message can also be asserted.

Examples

Usage

import { assertIsError } from "@std/assert";

assertIsError(null); // Throws
assertIsError(new RangeError("Out of range")); // Doesn't throw
assertIsError(new RangeError("Out of range"), SyntaxError); // Throws
assertIsError(new RangeError("Out of range"), SyntaxError, "Out of range"); // Doesn't throw
assertIsError(new RangeError("Out of range"), SyntaxError, "Within range"); // Throws

Type Parameters

E extends Error = Error

The type of the error to assert.

Parameters

error: unknown

The error to assert.

optional
ErrorClass: new (...args: any[]) => E

The optional error class to assert.

optional
msgMatches: string | RegExp

The optional string or RegExp to assert in the error message.

optional
msg: string

The optional message to display if the assertion fails.

Return Type

asserts error is E

Report package

Please provide a reason for reporting this package. We will review your report and take appropriate action.

Please review the JSR usage policy before submitting a report.

Add Package

deno add jsr:@std/assert

Import symbol

import { assertIsError } from "@std/assert/is-error";
or

Import directly with a jsr specifier

import { assertIsError } from "jsr:@std/assert/is-error";