Have ideas to improve npm?Join in the discussion! »

    yesno
    TypeScript icon, indicating that this package has built-in type declarations

    0.3.1 • Public • Published

    Build Status

    A nodejs library for issuing and handling responses to yes/no questions

    Supports Node 8+.

    Installation

    npm install yesno

    Usage

    import yesno from 'yesno';        // modern es modules approach
     
    // *OR*
     
    const yesno = require('yesno');   // commonjs approach

    Examples

    basic
    const ok = await yesno({
        question: 'Are you sure you want to continue?'
    });

    yesno accepts yes, y , no, and n values by default.

    All yesno responses are case insensitive.

    Custom Yes/No values
    const ok = await yesno({
        question: 'Dude, Is this groovy or what?',
        yesValues: [ 'groovy' ],
        noValues: [ 'or what' ]
    });
     
    console.log(ok ? 'Tubular.' : 'Aw, why you gotta be like that?');

    Now the question only responds to groovy as yes and or what as no.

    No default value

    Sometimes you may want to ensure the user didn't accidentally accept a default. You can disable the default response by passing null as the defaultValue parameter.

    const ok = await yesno({
        question: 'Are you sure you want to 'rm-rf /' ?',
        defaultValue: null
    });
    Handling invalid responses

    By default, if the user enters a value that isn't recognized as an acceptable response, it will print out a message like:

    Invalid response.
    Answer either yes : (yes, y)
    Or no : (no, n)
    

    and re-ask the question. If you want to change this behavior, you can set the invalid handler before asking your question:

    const ok = await yesno({
        question: 'Ready to continue?',
        invalid: function ({ question, defaultValue, yesValues, noValues }) {
            process.stdout.write("\n Whoa. That was not a good answer. Well. No more tries for you.");
            process.exit(1);
        }
    });

    Install

    npm i yesno

    DownloadsWeekly Downloads

    39,594

    Version

    0.3.1

    License

    BSD

    Unpacked Size

    8.71 kB

    Total Files

    12

    Last publish

    Collaborators

    • avatar