|
- 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;
|