site/node_modules/bail/readme.md

148 lines
2.9 KiB
Markdown
Raw Permalink Normal View History

2024-10-14 06:09:33 +00:00
# bail
[![Build][build-badge]][build]
[![Coverage][coverage-badge]][coverage]
[![Downloads][downloads-badge]][downloads]
[![Size][size-badge]][size]
Throw if given an error.
## Contents
* [What is this?](#what-is-this)
* [When should I use this?](#when-should-i-use-this)
* [Install](#install)
* [Use](#use)
* [API](#api)
* [`bail(err?)`](#bailerr)
* [Types](#types)
* [Compatibility](#compatibility)
* [Security](#security)
* [Related](#related)
* [Contribute](#contribute)
* [License](#license)
## What is this?
This package throws a given error.
## When should I use this?
Use this package if youre building some scripts that might theoretically get
errors but frequently dont and you keep writing `if (error) throw error` over
and over again and youre just really done with that.
## Install
This package is [ESM only][esm].
In Node.js (version 12.20+, 14.14+, or 16.0+), install with [npm][]:
```sh
npm install bail
```
In Deno with [Skypack][]:
```js
import {bail} from 'https://cdn.skypack.dev/bail@2?dts'
```
In browsers with [Skypack][]:
```html
<script type="module">
import {bail} from 'https://cdn.skypack.dev/bail@2?min'
</script>
```
## Use
```js
import {bail} from 'bail'
bail()
bail(new Error('failure'))
// Error: failure
// at repl:1:6
// at REPLServer.defaultEval (repl.js:154:27)
// …
```
## API
This package exports the following identifier: `bail`.
There is no default export.
### `bail(err?)`
Throw a given error (`Error?`).
## Types
This package is fully typed with [TypeScript][].
There are no extra exported types.
## Compatibility
This package is at least compatible with all maintained versions of Node.js.
As of now, that is Node.js 12.20+, 14.14+, and 16.0+.
It also works in Deno and modern browsers.
## Security
This package is safe.
## Related
* [`noop`][noop]
* [`noop2`][noop2]
* [`noop3`][noop3]
## Contribute
Yes please!
See [How to Contribute to Open Source][contribute].
## License
[MIT][license] © [Titus Wormer][author]
<!-- Definitions -->
[build-badge]: https://github.com/wooorm/bail/workflows/main/badge.svg
[build]: https://github.com/wooorm/bail/actions
[coverage-badge]: https://img.shields.io/codecov/c/github/wooorm/bail.svg
[coverage]: https://codecov.io/github/wooorm/bail
[downloads-badge]: https://img.shields.io/npm/dm/bail.svg
[downloads]: https://www.npmjs.com/package/bail
[size-badge]: https://img.shields.io/bundlephobia/minzip/bail.svg
[size]: https://bundlephobia.com/result?p=bail
[npm]: https://docs.npmjs.com/cli/install
[skypack]: https://www.skypack.dev
[license]: license
[author]: https://wooorm.com
[esm]: https://gist.github.com/sindresorhus/a39789f98801d908bbc7ff3ecc99d99c
[typescript]: https://www.typescriptlang.org
[contribute]: https://opensource.guide/how-to-contribute/
[noop]: https://www.npmjs.com/package/noop
[noop2]: https://www.npmjs.com/package/noop2
[noop3]: https://www.npmjs.com/package/noop3