96 lines
3.4 KiB
Markdown
96 lines
3.4 KiB
Markdown
# boolean
|
|
|
|
boolean converts lots of things to boolean.
|
|
|
|
## Status
|
|
|
|
| Category | Status |
|
|
| ---------------- | ------------------------------------------------------------------------------------------------------------------------------------------ |
|
|
| Version | [![npm](https://img.shields.io/npm/v/boolean)](https://www.npmjs.com/package/boolean) |
|
|
| Dependencies | ![David](https://img.shields.io/david/thenativeweb/boolean) |
|
|
| Dev dependencies | ![David](https://img.shields.io/david/dev/thenativeweb/boolean) |
|
|
| Build | ![GitHub Actions](https://github.com/thenativeweb/boolean/workflows/Release/badge.svg?branch=main) |
|
|
| License | ![GitHub](https://img.shields.io/github/license/thenativeweb/boolean) |
|
|
|
|
## Installation
|
|
|
|
```shell
|
|
$ npm install boolean
|
|
```
|
|
|
|
## Quick start
|
|
|
|
First you need to add a reference to boolean in your application:
|
|
|
|
```javascript
|
|
const { boolean, isBooleanable } = require('boolean');
|
|
```
|
|
|
|
If you use TypeScript, use the following code instead:
|
|
|
|
```typescript
|
|
import { boolean, isBooleanable } from 'boolean';
|
|
```
|
|
|
|
To verify a value for its boolean value, call the `boolean` function and provide the value in question as parameter:
|
|
|
|
```javascript
|
|
console.log(boolean('true')); // => true
|
|
```
|
|
|
|
The `boolean` function considers the following values to be equivalent to `true`:
|
|
|
|
- `true` (boolean)
|
|
- `'true'` (string)
|
|
- `'TRUE'` (string)
|
|
- `'t'` (string)
|
|
- `'T'` (string)
|
|
- `'yes'` (string)
|
|
- `'YES'` (string)
|
|
- `'y'` (string)
|
|
- `'Y'` (string)
|
|
- `'on'` (string)
|
|
- `'ON'` (string)
|
|
- `'1'` (string)
|
|
- `1` (number)
|
|
|
|
In addition to the primitive types mentioned above, boolean also supports their object wrappers `Boolean`, `String`, and `Number`.
|
|
|
|
_Please note that if you provide a `string` or a `String` object, it will be trimmed._
|
|
|
|
All other values, including `undefined` and `null` are considered to be `false`.
|
|
|
|
### Figuring out whether a value can be considered to be boolean
|
|
|
|
From time to time, you may not want to directly convert a value to its boolean equivalent, but explicitly check whether it looks like a boolean. E.g., although `boolean('F')` returns `false`, the string `F` at least looks like a boolean, in contrast to something such as `123` (for which `boolean(123)` would also return `false`).
|
|
|
|
To figure out whether a value can be considered to be a boolean, use the `isBooleanable` function:
|
|
|
|
```javascript
|
|
console.log(isBooleanable('true')); // => true
|
|
```
|
|
|
|
The `isBooleanable` function considers all of the above mentioned values to be reasonable boolean values, and additionally, also the following ones:
|
|
|
|
- `false` (boolean)
|
|
- `'false'` (string)
|
|
- `'FALSE'` (string)
|
|
- `'f'` (string)
|
|
- `'F'` (string)
|
|
- `'no'` (string)
|
|
- `'NO'` (string)
|
|
- `'n'` (string)
|
|
- `'N'` (string)
|
|
- `'off'` (string)
|
|
- `'OFF'` (string)
|
|
- `'0'` (string)
|
|
- `0` (number)
|
|
|
|
## Running quality assurance
|
|
|
|
To run quality assurance for this module use [roboter](https://www.npmjs.com/package/roboter):
|
|
|
|
```shell
|
|
$ npx roboter
|
|
```
|