# ensure-type

> Ensure runtime type safety and perform type coercion if needed.

Latest version **1.5.1** (published 2021-05-30) · MIT license · 0 weekly downloads

## Install

```sh
npm install ensure-type
pnpm add ensure-type
yarn add ensure-type
bun add ensure-type
```

## Health

**Score 20/100 (F)** — status: abandoned.

Positive: esm support; no vulnerabilities.

Warnings: low downloads; no types.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.5.1 |
| Published | 2021-05-30 |
| First published | 2020-10-14 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | ESM + CommonJS |
| Dependencies | 0 |
| Unpacked size | 17.9 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 7 |
| Author | Cheton Wu |
| Maintainers | cheton |
| Keywords | javascript, ensure, runtime, type, coercion |

## Links

- npm: https://www.npmjs.com/package/ensure-type
- Repository: https://github.com/cheton/ensure-type
- Issues: https://github.com/cheton/ensure-type/issues
- npm.io page: https://npm.io/package/ensure-type

## Alternatives

- [@openai/codex-sdk](https://npm.io/package/@openai/codex-sdk.md) — 731.4K weekly downloads
- [babel-plugin-transform-react-jsx](https://npm.io/package/babel-plugin-transform-react-jsx.md) — 565.0K weekly downloads
- [babel-helper-remove-or-void](https://npm.io/package/babel-helper-remove-or-void.md) — 508.5K weekly downloads
- [@pnpm/store-controller-types](https://npm.io/package/@pnpm/store-controller-types.md) — 186.9K weekly downloads
- [react-native-signature-canvas](https://npm.io/package/react-native-signature-canvas.md) — 155.6K weekly downloads

## Recent versions

- 1.5.1 (latest) — 2021-05-30
- 1.5.0 — 2021-05-29
- 1.4.2 — 2020-10-22
- 1.4.1 — 2020-10-22
- 1.4.0 — 2020-10-17
- 1.3.0 — 2020-10-17
- 1.2.0 — 2020-10-17
- 1.1.0 — 2020-10-16
- 1.0.1 — 2020-10-15
- 1.0.0 — 2020-10-14

## README

# ensure-type [![Build Status](https://travis-ci.com/cheton/ensure-type.svg?branch=master)](https://travis-ci.com/cheton/ensure-type) [![Coverage Status](https://coveralls.io/repos/github/cheton/ensure-type/badge.svg?branch=master)](https://coveralls.io/github/cheton/ensure-type?branch=master)

[![NPM](https://nodei.co/npm/ensure-type.png?downloads=true&stars=true)](https://www.npmjs.com/package/ensure-type)

Ensure runtime type safety and perform type coercion if needed.

## Install

```
$ npm install --save ensure-type
```

## Usage

```js
import { ensureArray } from 'ensure-type';

ensureArray(null);
//=> []

ensureArray('apple');
//=> ['apple']

ensureArray(['apple', 'banana']);
//=> ['apple', 'banana']
```

## API

### Array
- [`ensureArray`](docs/ensureArray.md)

### BigInt
- [`ensureBigInt`](docs/ensureBigInt.md)

### Boolean
- [`ensureBoolean`](docs/ensureBoolean.md)

### Function
- [`ensureFunction`](docs/ensureFunction.md)

### Number
- [`ensureNumber`](docs/ensureNumber.md)
- [`ensureNegativeNumber`](docs/ensureNegativeNumber.md)
- [`ensurePositiveNumber`](docs/ensurePositiveNumber.md)
- [`ensureFiniteNumber`](docs/ensureFiniteNumber.md)
- [`ensureNegativeFiniteNumber`](docs/ensureNegativeFiniteNumber.md)
- [`ensurePositiveFiniteNumber`](docs/ensurePositiveFiniteNumber.md)
- [`ensureInteger`](docs/ensureInteger.md)
- [`ensureNegativeInteger`](docs/ensureNegativeInteger.md)
- [`ensurePositiveInteger`](docs/ensurePositiveInteger.md)
- [`ensureNonNegativeInteger`](docs/ensureNonNegativeInteger.md)
- [`ensureNonPositiveInteger`](docs/ensureNonPositiveInteger.md)

### Object
- [`ensurePlainObject`](docs/ensurePlainObject.md)

### String
- [`ensureString`](docs/ensureString.md)

## License

MIT

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