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

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

    0.10.32 • Public • Published

    best-globals

    common global function and constants - i.e. coalesce

    extending npm-version downloads build coverage climate dependencies qa-control

    language: English also available in: Spanish

    Install

    $ npm install best-globals

    Main goal

    Have handy some common global functions

    API

    coalesce(a [...,b] [,coalesce.throwError(message)])

    Returns the first not null nor undefined parameter.

    Use coalesce.throwError(message) for throw an Exception if all parameters are null or undefined.

    Use coalesce.throwErrorIfUndefined(message) for throw an Exception if all parameters are undefined.

    var coalesce = require('best-globals').coalesce;
    
    console.log(coalesce(1,2)); // = 1
    console.log(coalesce(null,3)); // = 3
    console.log(coalesce(null,undefined,false,4)); // = false

    changing(originalConfig, changes, options)

    Returns a new object like originalConfig with the changes reflected

    var changing = require('best-globals').changing;
    
    var newConfig = changing(
        {
            database:'default_db',
            port:3306,
            user:'default_user',
            throwExceptions:true
        },
        {
            database:'develop_db',
            user:'devel_user',
            password:'d3v31_u53r',
            throwExceptions:undefined
        },
        changing.options({deletingValue:undefined})
    );
    
    console.log(newConfig);
    /*
        {
            database:'develop_db',
            port:3306,
            user:'devel_user',
            password:'d3v31_u53r',
        },
    */
    options default use
    deletingValue off value used to delete a property
    mostlyPlain false allows non plain object to be changed property by property

    changing(new Error(msg), changes)

    If the first argument is an instance of Error, It returns the same object with the changes reflected

    var changing = require('best-globals').changing;
    
    try{
      //something
      throw changing(new Error('error in example', {Gravity:'Falls'}));
    }catch(err){
      console.log(err.message); // error in example
      consoel.log(err.Gravity); // Falls
    }

    escapeRegExp(text)

    Returns de text that must be passed to RegExp for detects the exact original text.

    var escapeRegExp = require('best-globals').escapeRegExp;
    
    console.log(RegExp(escapeRegExp('a|b')).test('a|b')); // true
    console.log(RegExp(escapeRegExp('a|b')).test('a')); // false
    console.log(RegExp(/a|b/).test('a')); // true

    forOrder(text)

    Returns a unreadeable text that can be used to order the text in an human way

    var forOrder = require('best-globals').forOrder;
    
    console.log(forOrder('code X9')<forOrder('code X11')); // true

    compareForOrder(criteria)

    Returns a function to be pased to the sort array function.

    var compareForOrder = require('best-globals').compareForOrder;
    
    var data=[
        {lastName:'Smith', firstName:'Bob'  },
        {lastName:'Kerry', firstName:'Kelly'},
    ];
    
    data.sort(compareForOrder([
        {column:'lastName' },
        {column:'firstName', order:-1}, // descending
    ]));
    
    console.log(data);

    sleep(milliseconds)

    Suspends a promises chain for a while

    var sleep = require('best-globals').sleep;
    
    sleep(2000).then(function(){
        console.log('two seconds waited');
        return sleep(1000);
    }).then(function(){
        console.log('another second waited');
        return 42;
    }).then(sleep(3000)).then(function(result){
        console.log('wait three seconds and pass the result to the next "then"');
    });

    serie({[from:number,] to:number [,step:number]})

    serie({[from:number,] length:number [,step:number]})

    Returns an array with a serie of numbers starting with from (or zero), step by step (or 1); with length or until to.

    var serie = require('best-globals').serie;
    
    console.log(serie({length:3})); // [0,1,2]
    console.log(serie({from:2,length:3})); // [2,3,4]
    console.log(serie({from:2,to:4})); // [2,3,4]
    console.log(serie({from:2,to:15,step:5})); // [2,7,12]

    today()

    Returns today with hour

    var today = require('best-globals').today;
    
    console.log(today()); // 2017-03-31 current date!

    License

    MIT

    Keywords

    none

    Install

    npm i best-globals

    DownloadsWeekly Downloads

    258

    Version

    0.10.32

    License

    MIT

    Unpacked Size

    48.9 kB

    Total Files

    5

    Last publish

    Collaborators

    • avatar
    • avatar
    • avatar
    • avatar
    • avatar
    • avatar
    • avatar