errlop
An extended Error class that envelops a parent error, such that the stack trace contains the causation
Usage
// const Errlop = require('errlop').default
import Errlop from 'errlop'
const a = new Errlop('AError')
const b = new Errlop('BError', a)
const c = Errlop.create('CError', b)
console.log(c.stack)
/*
Error: CError
at Function.create (/Users/balupton/Projects/active/errlop/source/index.js:92:10)
at Object.<anonymous> (/Users/balupton/Projects/active/errlop/example.js:6:18)
at Module._compile (internal/modules/cjs/loader.js:689:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:700:10)
at Module.load (internal/modules/cjs/loader.js:599:32)
at tryModuleLoad (internal/modules/cjs/loader.js:538:12)
at Function.Module._load (internal/modules/cjs/loader.js:530:3)
at Function.Module.runMain (internal/modules/cjs/loader.js:742:12)
at startup (internal/bootstrap/node.js:266:19)
at bootstrapNodeJSCore (internal/bootstrap/node.js:596:3)
↳ Error: BError
at Object.<anonymous> (/Users/balupton/Projects/active/errlop/example.js:5:11)
at Module._compile (internal/modules/cjs/loader.js:689:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:700:10)
at Module.load (internal/modules/cjs/loader.js:599:32)
at tryModuleLoad (internal/modules/cjs/loader.js:538:12)
at Function.Module._load (internal/modules/cjs/loader.js:530:3)
at Function.Module.runMain (internal/modules/cjs/loader.js:742:12)
at startup (internal/bootstrap/node.js:266:19)
at bootstrapNodeJSCore (internal/bootstrap/node.js:596:3)
↳ Error: AError
at Object.<anonymous> (/Users/balupton/Projects/active/errlop/example.js:4:11)
at Module._compile (internal/modules/cjs/loader.js:689:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:700:10)
at Module.load (internal/modules/cjs/loader.js:599:32)
at tryModuleLoad (internal/modules/cjs/loader.js:538:12)
at Function.Module._load (internal/modules/cjs/loader.js:530:3)
at Function.Module.runMain (internal/modules/cjs/loader.js:742:12)
at startup (internal/bootstrap/node.js:266:19)
*/
console.log(c.orphanStack)
/*
Error: CError
at Function.create (/Users/balupton/Projects/active/errlop/source/index.js:92:10)
at Object.<anonymous> (/Users/balupton/Projects/active/errlop/example.js:6:18)
at Module._compile (internal/modules/cjs/loader.js:689:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:700:10)
at Module.load (internal/modules/cjs/loader.js:599:32)
at tryModuleLoad (internal/modules/cjs/loader.js:538:12)
at Function.Module._load (internal/modules/cjs/loader.js:530:3)
at Function.Module.runMain (internal/modules/cjs/loader.js:742:12)
at startup (internal/bootstrap/node.js:266:19)
at bootstrapNodeJSCore (internal/bootstrap/node.js:596:3)
*/
Install
npm
- Install:
npm install --save errlop
- Import:
import pkg from ('errlop')
- Require:
const pkg = require('errlop').default
Deno
import pkg from 'https://unpkg.com/errlop@^8.5.0/edition-deno/index.ts'
Skypack
<script type="module">
import pkg from '//cdn.skypack.dev/errlop@^8.5.0'
</script>
unpkg
<script type="module">
import pkg from '//unpkg.com/errlop@^8.5.0'
</script>
jspm
<script type="module">
import pkg from '//dev.jspm.io/errlop@8.5.0'
</script>
Editions
This package is published with the following editions:
errlop
aliaseserrlop/index.cjs
which uses the Editions Autoloader to automatically select the correct edition for the consumer's environmenterrlop/source/index.ts
is TypeScript source code with Import for moduleserrlop/edition-browsers/index.js
is TypeScript compiled against ES2024 for web browsers with Import for moduleserrlop/edition-es2024/index.js
is TypeScript compiled against ES2024 for Node.js 14 || 16 || 18 || 20 || 22 || 24 with Require for moduleserrlop/edition-es2017/index.js
is TypeScript compiled against ES2017 for Node.js 6 || 8 || 10 || 12 || 14 || 16 || 18 || 20 || 22 || 24 with Require for moduleserrlop/edition-es5/index.js
is TypeScript compiled against ES5 for Node.js 4 || 6 || 8 || 10 || 12 || 14 || 16 || 18 || 20 || 22 || 24 with Require for moduleserrlop/edition-es2017-esm/index.js
is TypeScript compiled against ES2017 for Node.js 12 || 14 || 16 || 18 || 20 || 22 || 24 with Import for moduleserrlop/edition-types/index.d.ts
is TypeScript compiled Types with Import for moduleserrlop/edition-deno/index.ts
is TypeScript source code made to be compatible with Deno
History
Discover the release history by heading on over to the HISTORY.md
file.
Backers
Code
Discover how to contribute via the CONTRIBUTING.md
file.
Authors
- Benjamin Lupton — Accelerating collaborative wisdom.
Maintainers
- Benjamin Lupton — Accelerating collaborative wisdom.
Contributors
Finances
Sponsors
- Andrew Nesbitt — Working on mapping the world of open source software @ecosyste-ms and empowering developers with @octobox
- Divinci ™ — A more comfortable AI conversation experience, with friends! 🤖🖤
- Mr. Henry
- Poonacha Medappa
- Roboflow
- Square
Donors
- Andrew Nesbitt
- Ángel González
- Arjun Aditya
- Armen Mkrtchian
- Balsa
- Canonical
- Chad
- Codecov
- Divinci ™
- dr.dimitru
- Elliott Ditman
- entroniq
- Frontend Masters
- GitHub
- Hunter Beast
- Jean-Luc Geering
- Lee Driscoll
- Michael Duane Mooring
- Michael Harry Scepaniak
- Mohammed Shah
- Mr. Henry
- Pleo
- Poonacha Medappa
- Robert de Forest
- Rob Morris
- Roboflow
- Scott Kempson
- Sentry
- ServieJS
- Skunk Team
- Square
- Syntax
- WriterJohnBuck
License
Unless stated otherwise all works are:
- Copyright © Benjamin Lupton
and licensed under: