Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

errorish

Package Overview
Dependencies
Maintainers
0
Versions
8
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

errorish

When you have an error-ish but what you really want is an Error

  • 2.0.0
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
2.8K
decreased by-8.08%
Maintainers
0
Weekly downloads
 
Created
Source

Errorish

Version Types License

When you have an error-ish but what you really want is an Error.

Install

npm install errorish

Use cases

There are three main use cases for Errorish:

Usage

See complete documentation.

  • Exception is an Error extending class with additional label, error and data fields.
  • Utils:
    • ensure ensures any is an Error, otherwise creating one -it can optionally include a normalization step, enabled by default.
    • normalize ensures an Error has a message, name, and stack properties -filling them if they're not defined.
    • capture runs Error.captureStackTrace if running in V8 to clean up the error stack trace.

Exception

See documentation for Exception.

Exception is an Error extending class that can store an identifying label, the source error that caused it and/or additional associated data. Exception also comes with several static and instance methods.

import { Exception } from 'errorish';

try {
  try {
    throw new Error('Source');
  } catch (err) {
    // throws with label
    throw new Exception(['label', 'message'], err, { code: 401 });
  }
} catch (err) {
  // throws without label
  throw new Exception(err.message, err, { code: 500 })
}

Utils

ensure

See documentation for ensure.

Ensure will return its first argument if an instance of Error is passed as such, otherwise instantiating and returning an Exception.

import { ensure } from 'errorish';

ensure('foo'); // Error: foo
ensure(new Error('foo')); // Error: foo
ensure({ message: 'foo' }); // Error: foo
normalize

See documentation for normalize.

Normalization fills an error's message, name, and stack property when empty. It's performed by default by ensure, but it can also be run independently.

import { normalize } from 'errorish';

normalize(new Error()); // Error: An error occurred
normalize(new Error(), { message: 'Foo bar' }); // Error: Foo bar
capture

See documentation for capture.

Captures the stack trace on Node and Chromium browsers.

import { capture } from 'errorish';

capture(new Error());

Keywords

FAQs

Package last updated on 29 Jul 2024

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc