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

    smalltalk

    4.0.7 • Public • Published

    Smalltalk License NPM version Dependency Status Build Status Coverage

    Simple Promise-based replacement of native Alert, Confirm and Prompt.

    Install

    npm i smalltalk
    

    API

    First things first, require smalltalk with:

    const smalltalk = require('smalltalk');

    You can also use native version with:

    const smalltalk = require('smalltalk/native');

    In every method of smalltalk last parameter options is optional and could be used to prevent handling of cancel event and to specify custom button label.

    {
        cancel: true /* default */
    }

    smalltalk.alert(title, message [, options])

    Alert

    smalltalk
        .alert('Error', 'There was an error!')
        .then(() => {
            console.log('ok');
        });

    smalltalk.confirm(title, message [, options])

    Confirm

    smalltalk
        .confirm('Question', 'Are you sure?')
        .then(() => {
            console.log('yes');
        })
        .catch(() => {
            console.log('no');
        });

    smalltalk.prompt(title, message, value [, options])

    Prompt

    smalltalk
        .prompt('Question', 'How old are you?', '10')
        .then((value) => {
            console.log(value);
        })
        .catch(() => {
            console.log('cancel');
        });

    Use type='password' for password fields:

    smalltalk
        .prompt('Question', 'How old are you?', '10', {
            type: 'password',
        })
        .then((value) => {
            console.log(value);
        })
        .catch(() => {
            console.log('cancel');
        });

    smalltalk.progress(title, message)

    Progress

    const progress = smalltalk.progress('Cloud Commander', 'Copy /home/coderaiser -> /home/coderaiser/2');
     
    progress.setProgress(41);
        .catch(() => {
            console.log('abort');
        });

    Custom label

    You can use custom label passing into options param the buttons specification. For example :

    const tryToCatch = require('try-to-catch');
    const OK = 2;
    const result = await tryToCatch(smalltalk.confirm, 'Question', 'Are you sure?', {
        buttons: {
            ok: 'Ok Label',
            cancel: 'Cancel Label',
        }
    });
     
    if (result.length === OK)
        console.log('yes');
    else
        console.log('no');

    License

    MIT

    Install

    npm i smalltalk

    DownloadsWeekly Downloads

    1,967

    Version

    4.0.7

    License

    MIT

    Unpacked Size

    28.2 kB

    Total Files

    9

    Last publish

    Collaborators

    • avatar