Socket
Socket
Sign inDemoInstall

functional.js

Package Overview
Dependencies
0
Maintainers
1
Versions
84
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 0.3.0 to 0.3.1

6

component.json

@@ -7,3 +7,3 @@ {

"homepage": "http://ilee.co.uk",
"version": "0.3.0",
"version": "0.3.1",
"keywords": [

@@ -15,2 +15,6 @@ "functional",

"lambda",
"collection",
"iterator",
"each",
"map",
"λ",

@@ -17,0 +21,0 @@ "array",

21

functional.js

@@ -155,2 +155,6 @@ var λ = (function () {

λ.isArray = function (obj) {
return Object.prototype.toString.call(obj) === "[object Array]";
};
λ.toArray = function (obj) {

@@ -162,10 +166,11 @@ return λ.map(function (key) {

λ.identity = function (val) {
return function() {
return val;
};
};
λ.maybe = λ.curry(function (func, val) {
return (typeof(val) === "undefined" || val === null || !val) ? null : func(λ.identity(val)());
λ.apply = λ.curry(function (func, items) {
var args = [];
if (λ.isArray(func)) {
args = [].slice.call(func, 1);
func = func[0];
}
return λ.map(function (item) {
return item[func].apply(item, args);
}, items);
});

@@ -172,0 +177,0 @@

/*!
functional.js (v0.3.0) 01-02-2014
functional.js (v0.3.1) 11-02-2014
(c) Lee Crossley <leee@hotmail.co.uk> (http://ilee.co.uk/)
*/
var lambda=function(){"use strict";var a={},b="hardReturn;",c=function(a){return a.length>0?[].slice.call(a,0):[]},d=function(a){if(!a||"function"!=typeof a)throw"lambda Error: Invalid function"};return a.curry=function(b){return d(b),function e(){var d=c(arguments);if(d.length===b.length)return b.apply(null,d);if(d.length>b.length){var f=b.apply(null,d);return a.reduce(b,f,d.slice(b.length))}return function(){var a=c(arguments);return e.apply(null,d.concat(a))}}},a.each=a.curry(function(a,c){d(a);for(var e=0;e<c.length;e++)if(a.call(null,c[e],e)===b)return}),a.map=a.curry(function(b,c){d(b);var e,f=[];return e=a.each(function(){f.push(b.apply(null,arguments))}),e(c),f}),a.reduce=a.reducel=a.curry(function(b,c,e){d(b);var f,g=c;return f=a.each(function(a){g=b.call(null,g,a)}),f(e),g}),a.clone=function(b){var c=[];return a.each(function(a){c.push(a)},b),c},a.first=a.curry(function(c,e){d(c);var f;return a.each(function(a){return c.call(null,a)?(f=a,b):void 0},e),f}),a.last=a.curry(function(b,c){var d=a.clone(c);return a.first(b,d.reverse())}),a.every=a.all=a.curry(function(b,c){d(b);var e=!0;return a.each(function(a){b.call(null,a)||(e=!1)},c),e}),a.any=a.contains=a.curry(function(c,e){d(c);var f=!1;return a.each(function(a){return c.call(null,a)?(f=!0,b):void 0},e),f}),a.select=a.curry(function(b,c){d(b);var e,f=[];return e=a.each(function(a){b.call(null,a)&&f.push(a)}),e(c),f}),a.compose=function(b){var d=a.any(function(a){return"function"!=typeof a});if(b=c(arguments),d(b))throw"lambda Error: Invalid function to compose";return function(){var c=arguments,d=a.each(function(a){c=[a.apply(null,c)]});return d(b.reverse()),c[0]}},a.partition=a.curry(function(b,c){d(b);var e,f=[],g=[];return e=a.each(function(a){(b.call(null,a)?f:g).push(a)}),e(c),[f,g]}),a.toArray=function(b){return a.map(function(a){return[a,b[a]]},Object.keys(b))},a.identity=function(a){return function(){return a}},a.maybe=a.curry(function(b,c){return"undefined"!=typeof c&&null!==c&&c?b(a.identity(c)()):null}),a}();"undefined"!=typeof exports&&("undefined"!=typeof module&&module.exports&&(exports=module.exports=lambda),exports.lambda=lambda);
var lambda=function(){"use strict";var a={},b="hardReturn;",c=function(a){return a.length>0?[].slice.call(a,0):[]},d=function(a){if(!a||"function"!=typeof a)throw"lambda Error: Invalid function"};return a.curry=function(b){return d(b),function e(){var d=c(arguments);if(d.length===b.length)return b.apply(null,d);if(d.length>b.length){var f=b.apply(null,d);return a.reduce(b,f,d.slice(b.length))}return function(){var a=c(arguments);return e.apply(null,d.concat(a))}}},a.each=a.curry(function(a,c){d(a);for(var e=0;e<c.length;e++)if(a.call(null,c[e],e)===b)return}),a.map=a.curry(function(b,c){d(b);var e,f=[];return e=a.each(function(){f.push(b.apply(null,arguments))}),e(c),f}),a.reduce=a.reducel=a.curry(function(b,c,e){d(b);var f,g=c;return f=a.each(function(a){g=b.call(null,g,a)}),f(e),g}),a.clone=function(b){var c=[];return a.each(function(a){c.push(a)},b),c},a.first=a.curry(function(c,e){d(c);var f;return a.each(function(a){return c.call(null,a)?(f=a,b):void 0},e),f}),a.last=a.curry(function(b,c){var d=a.clone(c);return a.first(b,d.reverse())}),a.every=a.all=a.curry(function(b,c){d(b);var e=!0;return a.each(function(a){b.call(null,a)||(e=!1)},c),e}),a.any=a.contains=a.curry(function(c,e){d(c);var f=!1;return a.each(function(a){return c.call(null,a)?(f=!0,b):void 0},e),f}),a.select=a.curry(function(b,c){d(b);var e,f=[];return e=a.each(function(a){b.call(null,a)&&f.push(a)}),e(c),f}),a.compose=function(b){var d=a.any(function(a){return"function"!=typeof a});if(b=c(arguments),d(b))throw"lambda Error: Invalid function to compose";return function(){var c=arguments,d=a.each(function(a){c=[a.apply(null,c)]});return d(b.reverse()),c[0]}},a.partition=a.curry(function(b,c){d(b);var e,f=[],g=[];return e=a.each(function(a){(b.call(null,a)?f:g).push(a)}),e(c),[f,g]}),a.isArray=function(a){return"[object Array]"===Object.prototype.toString.call(a)},a.toArray=function(b){return a.map(function(a){return[a,b[a]]},Object.keys(b))},a.apply=a.curry(function(b,c){var d=[];return a.isArray(b)&&(d=[].slice.call(b,1),b=b[0]),a.map(function(a){return a[b].apply(a,d)},c)}),a}();"undefined"!=typeof exports&&("undefined"!=typeof module&&module.exports&&(exports=module.exports=lambda),exports.lambda=lambda);
/*!
functional.js (v0.3.0) 01-02-2014
functional.js (v0.3.1) 11-02-2014
(c) Lee Crossley <leee@hotmail.co.uk> (http://ilee.co.uk/)
*/
var λ=function(){"use strict";var a={},b="hardReturn;",c=function(a){return a.length>0?[].slice.call(a,0):[]},d=function(a){if(!a||"function"!=typeof a)throw"λ Error: Invalid function"};return a.curry=function(b){return d(b),function e(){var d=c(arguments);if(d.length===b.length)return b.apply(null,d);if(d.length>b.length){var f=b.apply(null,d);return a.reduce(b,f,d.slice(b.length))}return function(){var a=c(arguments);return e.apply(null,d.concat(a))}}},a.each=a.curry(function(a,c){d(a);for(var e=0;e<c.length;e++)if(a.call(null,c[e],e)===b)return}),a.map=a.curry(function(b,c){d(b);var e,f=[];return e=a.each(function(){f.push(b.apply(null,arguments))}),e(c),f}),a.reduce=a.reducel=a.curry(function(b,c,e){d(b);var f,g=c;return f=a.each(function(a){g=b.call(null,g,a)}),f(e),g}),a.clone=function(b){var c=[];return a.each(function(a){c.push(a)},b),c},a.first=a.curry(function(c,e){d(c);var f;return a.each(function(a){return c.call(null,a)?(f=a,b):void 0},e),f}),a.last=a.curry(function(b,c){var d=a.clone(c);return a.first(b,d.reverse())}),a.every=a.all=a.curry(function(b,c){d(b);var e=!0;return a.each(function(a){b.call(null,a)||(e=!1)},c),e}),a.any=a.contains=a.curry(function(c,e){d(c);var f=!1;return a.each(function(a){return c.call(null,a)?(f=!0,b):void 0},e),f}),a.select=a.curry(function(b,c){d(b);var e,f=[];return e=a.each(function(a){b.call(null,a)&&f.push(a)}),e(c),f}),a.compose=function(b){var d=a.any(function(a){return"function"!=typeof a});if(b=c(arguments),d(b))throw"λ Error: Invalid function to compose";return function(){var c=arguments,d=a.each(function(a){c=[a.apply(null,c)]});return d(b.reverse()),c[0]}},a.partition=a.curry(function(b,c){d(b);var e,f=[],g=[];return e=a.each(function(a){(b.call(null,a)?f:g).push(a)}),e(c),[f,g]}),a.toArray=function(b){return a.map(function(a){return[a,b[a]]},Object.keys(b))},a.identity=function(a){return function(){return a}},a.maybe=a.curry(function(b,c){return"undefined"!=typeof c&&null!==c&&c?b(a.identity(c)()):null}),a}();"undefined"!=typeof exports&&("undefined"!=typeof module&&module.exports&&(exports=module.exports=λ),exports.λ=λ);
var λ=function(){"use strict";var a={},b="hardReturn;",c=function(a){return a.length>0?[].slice.call(a,0):[]},d=function(a){if(!a||"function"!=typeof a)throw"λ Error: Invalid function"};return a.curry=function(b){return d(b),function e(){var d=c(arguments);if(d.length===b.length)return b.apply(null,d);if(d.length>b.length){var f=b.apply(null,d);return a.reduce(b,f,d.slice(b.length))}return function(){var a=c(arguments);return e.apply(null,d.concat(a))}}},a.each=a.curry(function(a,c){d(a);for(var e=0;e<c.length;e++)if(a.call(null,c[e],e)===b)return}),a.map=a.curry(function(b,c){d(b);var e,f=[];return e=a.each(function(){f.push(b.apply(null,arguments))}),e(c),f}),a.reduce=a.reducel=a.curry(function(b,c,e){d(b);var f,g=c;return f=a.each(function(a){g=b.call(null,g,a)}),f(e),g}),a.clone=function(b){var c=[];return a.each(function(a){c.push(a)},b),c},a.first=a.curry(function(c,e){d(c);var f;return a.each(function(a){return c.call(null,a)?(f=a,b):void 0},e),f}),a.last=a.curry(function(b,c){var d=a.clone(c);return a.first(b,d.reverse())}),a.every=a.all=a.curry(function(b,c){d(b);var e=!0;return a.each(function(a){b.call(null,a)||(e=!1)},c),e}),a.any=a.contains=a.curry(function(c,e){d(c);var f=!1;return a.each(function(a){return c.call(null,a)?(f=!0,b):void 0},e),f}),a.select=a.curry(function(b,c){d(b);var e,f=[];return e=a.each(function(a){b.call(null,a)&&f.push(a)}),e(c),f}),a.compose=function(b){var d=a.any(function(a){return"function"!=typeof a});if(b=c(arguments),d(b))throw"λ Error: Invalid function to compose";return function(){var c=arguments,d=a.each(function(a){c=[a.apply(null,c)]});return d(b.reverse()),c[0]}},a.partition=a.curry(function(b,c){d(b);var e,f=[],g=[];return e=a.each(function(a){(b.call(null,a)?f:g).push(a)}),e(c),[f,g]}),a.isArray=function(a){return"[object Array]"===Object.prototype.toString.call(a)},a.toArray=function(b){return a.map(function(a){return[a,b[a]]},Object.keys(b))},a.apply=a.curry(function(b,c){var d=[];return a.isArray(b)&&(d=[].slice.call(b,1),b=b[0]),a.map(function(a){return a[b].apply(a,d)},c)}),a}();"undefined"!=typeof exports&&("undefined"!=typeof module&&module.exports&&(exports=module.exports=λ),exports.λ=λ);

@@ -6,3 +6,3 @@ {

"homepage": "http://ilee.co.uk",
"version": "0.3.0",
"version": "0.3.1",
"main": "functional.min.js",

@@ -15,2 +15,6 @@ "keywords": [

"lambda",
"collection",
"iterator",
"each",
"map",
"λ",

@@ -17,0 +21,0 @@ "array",

@@ -246,3 +246,3 @@ # functional.js (λ) [![Build Status](https://travis-ci.org/leecrossley/functional-js.png?branch=master)](https://travis-ci.org/leecrossley/functional-js) [![npm version](https://badge.fury.io/js/functional.js.png)](https://npmjs.org/package/functional.js) [![devDependency Status](https://david-dm.org/leecrossley/functional-js/dev-status.png)](https://david-dm.org/leecrossley/functional-js#info=devDependencies)

### λ.toArray example
### λ.toArray example (featuring λ.isArray)

@@ -259,6 +259,32 @@ ```javascript

expect(result).toEqual([["p1", "abc"], ["p2", false], ["p3", null]]);
expect(λ.isArray(obj)).toBeFalsy();
expect(λ.isArray(result)).toBeTruthy();
```
### λ.apply example
```javascript
var items = ["Hello", "World"];
var applyCase = λ.apply("toUpperCase");
var result = applyCase(items);
expect(result).toEqual(["HELLO", "WORLD"]);
```
### λ.apply (multiple argument) example
```javascript
var items = ["Hello", "World"];
var applyIndexOf = λ.apply(["substring", "1", "4"]);
var result = applyIndexOf(items);
expect(result).toEqual(["ell", "orl"]);
```
## License
[MIT License](http://ilee.mit-license.org)

@@ -328,4 +328,36 @@ describe("functional", function() {

expect(result).toEqual([["p1", "abc"], ["p2", false], ["p3", null]]);
expect(λ.isArray(obj)).toBeFalsy();
expect(λ.isArray(result)).toBeTruthy();
});
it("should be able to λ.curry λ.apply", function() {
var items = ["Hello", "World"];
var applyCase = λ.apply("toUpperCase");
var result = applyCase(items);
expect(result).toEqual(["HELLO", "WORLD"]);
});
it("should be able to λ.curry λ.apply with additional argument", function() {
var items = ["Hello", "World"];
var applyIndexOf = λ.apply(["indexOf", "o"]);
var result = applyIndexOf(items);
expect(result).toEqual([4, 1]);
});
it("should be able to λ.curry λ.apply with multiple arguments", function() {
var items = ["Hello", "World"];
var applyIndexOf = λ.apply(["substring", "1", "4"]);
var result = applyIndexOf(items);
expect(result).toEqual(["ell", "orl"]);
});
});
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc