mirror of
https://github.com/cachix/install-nix-action.git
synced 2024-11-25 18:08:03 +00:00
66 lines
1.3 KiB
TypeScript
66 lines
1.3 KiB
TypeScript
|
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;
|