best-globals v1.1.6
best-globals
common global function and constants - i.e. coalesce
Install
$ npm install best-globalsMain goal
Have handy some common global functions
API
coalesce(a ...,b)
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.
coalesce is similar to ??, but coalesce with null and undefined returns null,
and ?? returns the last. Also coalesce can be used with his auxiliar functions throwError and throwErrorIfUndefined.
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
console.log(coalesce(null,undefined)); // = null [1]
console.log(coalesce(undefined,null)); // = null
console.log(coalesce(undefined,undefined)); // = undefined
console.log(coalesce(undefined,coalesce.throwErrorIfUndefined('name'))); // = throw an Error [1]Note [1] the behavior differs from ??
changing(originalConfig, changes, options)
Returns a new object like originalConfig with the changes reflected
Changes can be:
- any value,
- an object to apply the recursive changes (if the original is also an object)
- a call to
changes.trueByObject(changes)that means that the change only applies to non falsy values
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')); // trueforOrder(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')); // truecompareForOrder(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
1 year ago
1 year ago
2 years ago
2 years ago
2 years ago
2 years ago
3 years ago
3 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
also available in:
