Nit-Picking Magistrate

    error-class

    2.0.2 • Public • Published

    Error Class

    Build Status npm Version License

    This module provides typed errors that closely emulate the native Error class to a pedantic degree.

    $ npm install error-class
    

    Usage

    The default export is a function that accepts only one argument, the name of the typed error.

    const errorClass = require('error-class')
    const SpecialError = errorClass('SpecialError')
    const instance = new SpecialError('foobar')
    instance.message // 'foobar'

    Details

    const errorClass = require('error-class')
    const HumanError = errorClass('HumanError')
     
    const hungryError = new HumanError('I\'m hungry!')
    hungryError.message // 'I'm hungry!'
    hungryError.stack // Platform-specific error stack trace.
    hungryError.hasOwnProperty('name') // false
    hungryError.hasOwnProperty('message') // true
    hungryError.hasOwnProperty('stack') // true
     
    // Just like native errors, it doesn't require using `new`.
    const thirstyError = HumanError('I\'m thirsty!')
    Object.keys(thirstyError).length === 0 // True, all properties are non-enumerable.
    Object.keys(Object.getPrototypeOf(instance)).length === 0 // Prototype non-enumerable.
    thirstyError.constructor === HumanError // True.
    thirstyError instanceof Error // True, errors inherit from native `Error` class.
    thirstyError instanceof HumanError // Also true, of course.

    License

    This software is licensed under the MIT License.

    Install

    npm i error-class

    DownloadsWeekly Downloads

    1,303

    Version

    2.0.2

    License

    MIT

    Unpacked Size

    5.1 kB

    Total Files

    4

    Last publish

    Collaborators

    • daliwali