# @yo1dog/extendable-error

> Helpful error classes

Latest version **1.0.4** (published 2020-01-24) · ISC license · 0 weekly downloads

> **Deprecated.** This package is deprecated.

## Install

```sh
npm install @yo1dog/extendable-error
pnpm add @yo1dog/extendable-error
yarn add @yo1dog/extendable-error
bun add @yo1dog/extendable-error
```

## Health

**Score 10/100 (F)** — status: deprecated.

Negative: deprecated.

## Facts

| | |
|---|---|
| Version | 1.0.4 |
| Published | 2020-01-24 |
| First published | 2019-05-19 |
| Weekly downloads | 0 |
| License | ISC |
| TypeScript types | bundled |
| Module format | CommonJS |
| Dependencies | 0 |
| Unpacked size | 8.8 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 0 |
| Author | Mike "yo1dog" Moore |
| Maintainers | yo1dog |

## Links

- npm: https://www.npmjs.com/package/@yo1dog/extendable-error
- Repository: https://github.com/yo1dog/node-extendable-error
- Homepage: https://github.com/yo1dog/node-extendable-error#readme
- Issues: https://github.com/yo1dog/node-extendable-error/issues
- npm.io page: https://npm.io/package/@yo1dog/extendable-error

## Recent versions

- 1.0.4 (latest) — 2020-01-24
- 1.0.2 — 2019-10-17
- 1.0.1 — 2019-10-17
- 1.0.0 — 2019-05-19

## README

# node-extendable-error

## Quick Start

```javascript
const ExtendableError = require('@yo1dog/extendable-error');

class MyError extends ExtendableError {
  constructor(message) {
    super(message);
  }
}

throw new MyError('hello world');

/*
MyError: hello world
    at readme.js:9:1
    at Script.runInThisContext (vm.js:123:20)
    ...
*/
```

# Docs

## `ExtendableError.setUnenumerable(obj, key, value)`

 param  | type                 | description
--------|----------------------|-------------
`obj`   | Object               | Object to modify.
`key`   | string/number/Symbol | Key to modify.
`value` | any                  | Value to set.

Sets a property on the given object and makes it unenumerable.

Equivalent to:
```javascript
obj[key] = value;
Object.defineProperty(obj, key, {enumerable: false});
```

-----

## `ExtendableError.makeUnenumerable(obj, key)`

 param  | type                 | description
--------|----------------------|-------------
`obj`   | Object               | Object to modify.
`key`   | string/number/Symbol | Key to modify.

Sets makes a property on the given object unenumerable.

Equivalent to:
```javascript
Object.defineProperty(obj, key, {enumerable: false});
```

-----

## `ExtendableError.prototype.setUnenumerable(key, value)`

 param  | type                 | description
--------|----------------------|-------------
`key`   | string/number/Symbol | Key to modify.
`value` | any                  | Value to set.

Equivalent to:
```javascript
ExtendableError.setUnenumerable(this, key, value);
```

-----

## `ExtendableError.prototype.makeUnenumerable(key)`

 param  | type                 | description
--------|----------------------|-------------
`key`   | string/number/Symbol | Key to modify.

Equivalent to:
```javascript
ExtendableError.makeUnenumerable(this, key);
```

---
_Source: https://npm.io/package/@yo1dog/extendable-error · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
