nonstandard v1.1.1
Readme
Some non standard JavaScript features.
from Node.js > 0.12.0
Usage
require('nonstandard'); // Install all features
// install specified function
require('nonstandard/src/array/contains').Install();
[1, 2, 3].contains(2); // true
// Install some module
require('nonstandard/src/array').Install();
require('nonstandard/src/console').Install();
require('nonstandard/src/number').Install();
require('nonstandard/src/object').Install();
require('nonstandard/src/string').Install();
Contents
- console.pipe
- console.[log, info, warn, error].pipe
- Array.empty
- Array.present
- Array.prototype.first
- Array.prototype.second
- Array.prototype.last
- Array.prototype.clean
- Array.prototype.contains
- Array.prototype.clone
- Object.clone
- Object.empty
- Object.present
- Number.range
- Number.prototype.times
- String.random
console.pipe
Log value to console and pass value First value was passed next.
console.pipe(returnValue: any, logValue1: any, logValue2: any, logValueN: any) : any;
Install:
require('nonstandard/src/console').Install();
// write `123` to console with `console.log`
var a = console.pipe(123);
// write:
// hello world
// hello
//
console.log(console.pipe('hello', 'world'));
console.log, info, warn, error.pipe
console.log.pipe(value: any, ...values: any[]) : any;
console.info.pipe(value: any, ...values: any[]) : any;
console.warn.pipe(value: any, ...values: any[]) : any;
console.error.pipe(value: any, ...values: any[]) : any;
Install:
require('nonstandard/src/console').Install();
executeFunction(console.log.pipe({ some: 'data' }, "that string has been logged only")); // value was shown in console, and passed to function `executeFunction`
function actionLogin(user) {
return login(user.credentials)
.then(function(resp) {
return console.info.pipe(resp.data);
})
.catch(function(error) {
throw console.error.pipe(error); // in promise throwns was catched by next then/catch pair
});
}
Array.empty
Check if array has not elements
Array.empty(target: array) : boolean;
Install:
require('nonstandard/src/array/empty').Install();
Array.empty([]) // true
Array.empty([1, 2, 3]) // false
Array.present
Check if array has some elements
Array.present(target: array) : boolean;
Install:
require('nonstandard/src/array/present').Install();
Array.present([]) // false
Array.present([1, 2, 3]) // true
Array.prototype.first
First element in array
[].first
Install:
require('nonstandard/src/array/properties').Install();
var arr = [5, 9, 14];
arr.first // 5
arr.first = 2;
arr // [2, 9, 14]
Array.prototype.second
Second element in array
[].second
Install:
require('nonstandard/src/array/properties').Install();
var arr = [1, 8, 10];
arr.second // 8
[].second // undefined
[].second = 2 // equals: [][1] = 2
Array.prototype.last
Latest element in array
[].last
Install:
require('nonstandard/src/array/properties').Install();
var arr = [12, 34, 56, 78, 90];
arr.last // 90
arr.last == arr[arr.length - 1] // true
[].last = 1; // nothing changed
Array.prototype.clean
Clear array
[].clean()
Install:
require('nonstandard/src/array/clean').Install();
var arr = [1, 2, 3, 45, 67];
arr.clean();
arr // now `[]`
If as argument function passed, .clean
call it on every value and clean if callback return not false, 0, null or undefined
var arr = [1, 2, 3, 4, 5, 6];
arr.clean(function(e){
return e % 2;
});
arr; // [2, 4, 6]
Array.prototype.contains
Check elements exists in array
[].contains(any[]) : boolean
Install:
require('nonstandard/src/array/contains').Install();
var arr = ["a", "b", "c"];
arr.contains(['a', 'b']); // true
arr.contains('c'); // true
arr.contains('d'); // false
Array.prototype.clone
Full clone array.
[].clone() : any[]
Install:
require('nonstandard/src/array/clone').Install();
var arr = [1, 5].clone();
// its simple
arr // [1, 5]
Object.clone
Deep clone object
Object.clone(target: object) : object;
Install:
require('nonstandard/src/object/clone').Install();
var oob = { name: "Foo", test: "bar", cool: { yeah: true } };
var wob = Object.clone(oob);
// Object `wob` is full copy of `oob` without links in memory
Object.empty
Check if object has not keys
Object.empty(target: object) : boolean;
Install:
require('nonstandard/src/object/empty').Install();
Object.empty({}) // true
Object.empty({ a: 2 }) // false
Object.empty(window) // false
Object.present
Check if object has keys
Object.present(target: object) : boolean;
Install:
require('nonstandard/src/object/present').Install();
Object.present({}) // false
Object.present({ a: 2 }) // true
Object.present(window) // true
Number.range
Create array of numbers
Number.range(min: number, max: number, step: number = 1) : number[];
Install:
require('nonstandard/src/number/present').Install();
console.log(Number.range(1, 10))
/*
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
*/
console.log(Number.range(2, 8, 2))
/*
[2, 4, 6, 8]
*/
Number.prototype.times
Run callback n times
(5).times(function(index: number) { return index + 1; }) : any[]
Install:
require('nonstandard/src/number/times').Install();
var result = (5).times(function(index) { return ++index * 2; });
result // [ 2, 4, 6, 8, 10 ]
String.random
Generate random string with custom length
String.random(length: string = 10) : string;
Install:
require('nonstandard/src/string/random').Install();
String.random() // "778fx0hmc0"
String.random(5) // "u5ojh"
String.random(64) // "ww5z8kar8m6l4ichouw221n307xiec1wt6584qf4bib2rbsa4b379hoblsd42h3e"
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
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago