JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 323
  • Score
    100M100P100Q87113F
  • License AGPL-3.0

errors for @magic

Package Exports

  • @magic/error
  • @magic/error/src/index.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@magic/error) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

@magic/error

throw errors with custom code/name.

html-docs

NPM version Linux Build Status Windows Build Status Coverage Status Known Vulnerabilities

installation:

npm install @magic/error

usage:

import error from '@magic/error'

err = error('message', 'name')
// Error { message: 'message', name: 'name', code: 'E_NAME', type: 'E', msg: 'message' }

err = error('message')
// Error { message: 'message', name: 'Unknown', code: 'E_UNKNOWN', type: 'E', msg: 'message' }

err = error(new Error('message'))
// Error { message: 'message', name: 'Error', code: 'E_UNKNOWN', type: 'E', msg: 'message' }

err = error('message', 'name with spaces')
// Error {
//  message: 'message',
//  name: 'name with spaces',
//  code: 'E_NAME_WITH_SPACES',
//  type: 'E',
//  msg: 'message',
// }

err = error(['message', 'name', 'T'])
// Error { message: 'message', name: 'name', code: 'T_NAME', type: T, msg: 'message' }

err = error(['message'], 'name', 'T')
// Error { message: 'message', name: 'name', code: 'T_NAME', type: T, msg: 'message' }

err = error(['message', 'name1'], 'name2', 'T')
// Error { message: 'message', name: 'name1', code: 'T_NAME1', type: T, msg: 'message' }

error types

errors can have types

// E is the default type
err = error('message', 'name')
// Error { message: 'message', name: 'name', code: 'E_NAME', type: 'E', msg: 'message' }

// warnings:
err = error('message', 'name', 'W')
// Error { message: 'message', name: 'name', code: 'W_NAME', type: 'W', msg: 'message' }

// debug:
err = error('message', 'name', 'D')
// Error { message: 'message', name: 'name', code: 'D_NAME', type: 'D', msg: 'message' }
changelog
0.0.1

first commit

0.0.2

  • errors can be passed as first argument
  • error.name is unchanged, error.code gets transformed to start with E_ and be uppercased.
  • error.code for passed in errors is E_UNKNOWN.

0.0.3

  • error type (third fn argument) can now be set, default is E to keep output the same.
  • error name (second fn argument) can now be a string with spaces. e.code is e.type + e.name, but UPPER_SNAKE_CASED.
  • error stack cleanup improved.

0.0.4

  • err.msg is no === err.message
  • first argument can be an array of [message, name, type]

0.0.5

  • fix replacement of : in error name and error message to only replace the ones we want to replace

0.0.6

bump required node version to 14.2.0

0.0.7

update depdendencies

0.0.8

  • bump required node version to 14.15.4
  • update dependencies
0.0.9

update dependencies

0.0.10

update @magic/types to avoid circular dependency

0.0.11
  • use @magic/types internally
  • update dependencies
0.0.12

update dependencies

0.0.13

update dependencies

0.0.14

update dependencies

0.0.15

update dependencies

0.0.16

update dependencies

0.0.17

update dependencies

0.0.18
  • add typescript types
  • update dependencies
0.0.19
  • export types from types dir...
0.0.20
  • pkg: add types dir to files array
0.0.21
  • update dependencies
0.0.22 - unreleased

...