0.0.1 • Published 3 years ago

advanced-assert v0.0.1

Weekly downloads
-
License
MIT
Repository
-
Last release
3 years ago

advanced-assert

Install

npm install advanced-assert --save

Only es6+

Example

import { assert } from "advanced-assert";

function divide(a: number, b: number) {
  assert(b !== 0, "second parameter should not equal 0");

  return a / b;
}

divide(10, 5); // OK
divide(5, 0); // throw AdvancedAssertionError

Difference between advanced-assert and assert

Our package provides better functional to throw errors.

Custom error

import { assert } from "advanced-assert";

class NotFoundError {}

function findUserOrFail() {
  const user: User | undefined = findUser();

  assert(user, NotFoundError);

  return user; // will always return User
}

Configure package behaviour

import { assert, Settings } from "advanced-assert";

class BaseAppError {
  constructor(protected message: string) {}
}

Settings.instance.throwAssertionErrorCallback = ({ message }) => {
  throw new BaseAppError(message);
};

function findUserOrFail() {
  const user: User | undefined = findUser();

  assert(user, "User must be found"); // throw BaseAppError

  return user;
}
0.0.1

3 years ago

0.0.0-alpha.9

3 years ago

0.0.0-alpha.8

3 years ago

0.0.0-alpha.7

3 years ago

0.0.0-alpha.6

3 years ago

0.0.0-alpha.5

3 years ago

0.0.0-alpha.4.4

3 years ago

0.0.0-alpha.4.3

3 years ago

0.0.0-alpha.4.2

3 years ago

0.0.0-alpha.4.1

3 years ago

0.0.0-alpha.4

3 years ago

0.0.0-alpha.3

3 years ago

0.0.0-alpha.2

3 years ago

0.0.0-alpha.1

3 years ago

0.0.0

3 years ago