morejs

Extended Standard Library for Javascript

more-js

An extended standard library for Javascript.

odd, even add, subtract, multiply, divide (curried) empty

[1, 2, 3].each(double);

function add(x, y) {
  return x + y;
}
 
add.partial(3)(5); // 8
add.partial(null, 5)(3); // 8
add.bound(3, 5)(); // 8
function multiply(x, y) {
  return x * y;
}
var maths = add.compose(multiply);
(1).to(8); // [1, 2, ... 7, 8]
(1).til(8); // [1, 2, ..., 6, 7]
(1).til(10, 2); // [1, 3, 5, 7, 9]
'A'.to('Z'); // ['A', 'B', 'C', ..., 'Z']
("#hello").format({ hello: "World" }); // "World"
("$1").format("world"); // world
[3].repeat(3); // [3, 3, 3]
[1, 2, 3].each(function(num, idx) {
  console.log(num * idx);
});
{ 'name': 'Dan' }.each(function(key, value) {
  console.log('Value');
});
{ 'name': 'Dan' }.map(function(key, value) {
  return [key, value];
});
{ 'name': 'Dan' }.filter(function(key, value) {
  return false;
});
{ 'name': 'Dan' }.reduce(function(pre, cur) {
  return cur + pre;
});
[1,2,3,4,5].where('> 5');
// builds string eval('1 > 5')
[null, 1, true, false, 0, 3].compact(); // [1, true, 3]
[1, 2, 3, 4].head(); // 1
[1, 2, 3, 4].tail(); // [2, 3, 4]
[1, 2, 3, 4].last(); // 4
[].empty(); // true
{}.empty(); // true
[3, 2, 1].reverse(); // 1, 2, 3
[3, 3, 2, 1].unique(); // [3, 2, 1]
[3, 2, 1].difference([1, 4, 6]); // [4, 6]
[3, 2, 1].intersection([1, 4, 6]); // [1]
[3, 2, 1].union([1, 4, 6]); // [1, 2, 3, 4, 6]
[3, 2, 1].any(function(number) { 
  return number % 2 == 0; 
}); // true
[3, 2, 1].any(function(number) {
  return number % 2 == 0;
}); // false
[3, 2, 1].take(2); // [3, 2]
[3, 2, 1].drop(2); // [1]
[3, 2, 1].takeWhile(function(number) {
  return number % 2 == 0;
});