You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
65 lines
1.3 KiB
65 lines
1.3 KiB
declare namespace yn {
|
|
interface Options {
|
|
/**
|
|
Use a key distance-based score to leniently accept typos of `yes` and `no`.
|
|
|
|
@default false
|
|
*/
|
|
readonly lenient?: boolean;
|
|
|
|
/**
|
|
Default value if no match was found.
|
|
|
|
@default null
|
|
*/
|
|
readonly default?: boolean | null;
|
|
}
|
|
|
|
interface OptionsWithDefault extends Options {
|
|
default: boolean;
|
|
}
|
|
}
|
|
|
|
declare const yn: {
|
|
/**
|
|
Parse yes/no like values.
|
|
|
|
The following case-insensitive values are recognized: `'y', 'yes', 'true', true, '1', 1, 'n', 'no', 'false', false, '0', 0`
|
|
|
|
@param input - Value that should be converted.
|
|
@returns The parsed input if it can be parsed or the default value defined in the `default` option.
|
|
|
|
@example
|
|
```
|
|
import 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
|
|
```
|
|
*/
|
|
(input: unknown, options: yn.OptionsWithDefault): boolean;
|
|
(input: unknown, options?: yn.Options): boolean | null;
|
|
|
|
// TODO: Remove this for the next major release, refactor the whole definition to:
|
|
// declare function yn(input: unknown, options: yn.OptionsWithDefault): boolean;
|
|
// declare function yn(input: unknown, options?: yn.Options): boolean | null;
|
|
// export = yn;
|
|
default: typeof yn;
|
|
};
|
|
|
|
export = yn;
|
|
|