333
schangxiang@126.com
2025-09-19 18966e02fb573c7e2bb0c6426ed792b38b910940
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
# yn [![Build Status](https://travis-ci.org/sindresorhus/yn.svg?branch=master)](https://travis-ci.org/sindresorhus/yn)
 
> Parse yes/no like values
 
Useful for validating answers of a CLI prompt.
 
---
 
The following case-insensitive values are recognized:
 
```js
'y', 'yes', 'true', true, '1', 1, 'n', 'no', 'false', false, '0', 0
```
 
*Enable lenient mode to gracefully handle typos.*
 
 
## Install
 
```
$ npm install yn
```
 
 
## Usage
 
```js
const yn = require('yn');
 
yn('y');
//=> true
 
yn('NO');
//=> false
 
yn(true);
//=> true
 
yn('abomasum');
//=> null
 
yn('abomasum', {default: false});
//=> false
 
yn('mo', {lenient: true});
//=> false
```
 
Unrecognized values return `null`.
 
 
## API
 
### yn(input, [options])
 
#### input
 
Type: `any`
 
Value that should be converted.
 
#### options
 
Type: `Object`
 
##### lenient
 
Type: `boolean`<br>
Default: `false`
 
Use a key distance-based score to leniently accept typos of `yes` and `no`.
 
##### default
 
Type: `boolean`<br>
Default: `null`
 
Default value if no match was found.
 
 
## License
 
MIT © [Sindre Sorhus](https://sindresorhus.com)