@most/prelude
Advanced tools
Comparing version 1.0.0 to 1.1.0
(function (global, factory) { | ||
if (typeof define === "function" && define.amd) { | ||
define('@most/prelude', ['exports'], factory); | ||
} else if (typeof exports !== "undefined") { | ||
factory(exports); | ||
} else { | ||
var mod = { | ||
exports: {} | ||
}; | ||
factory(mod.exports); | ||
global.mostPrelude = mod.exports; | ||
} | ||
if (typeof define === "function" && define.amd) { | ||
define('@most/prelude', ['exports'], factory); | ||
} else if (typeof exports !== "undefined") { | ||
factory(exports); | ||
} else { | ||
var mod = { | ||
exports: {} | ||
}; | ||
factory(mod.exports); | ||
global.mostPrelude = mod.exports; | ||
} | ||
})(this, function (exports) { | ||
'use strict'; | ||
'use strict'; | ||
Object.defineProperty(exports, "__esModule", { | ||
value: true | ||
}); | ||
/** @license MIT License (c) copyright 2010-2016 original author or authors */ | ||
Object.defineProperty(exports, "__esModule", { | ||
value: true | ||
}); | ||
/** @license MIT License (c) copyright 2010-2016 original author or authors */ | ||
// Non-mutating array operations | ||
// Non-mutating array operations | ||
// cons :: a -> [a] -> [a] | ||
// a with x prepended | ||
function cons(x, a) { | ||
var l = a.length; | ||
var b = new Array(l + 1); | ||
b[0] = x; | ||
for (var i = 0; i < l; ++i) { | ||
b[i + 1] = a[i]; | ||
} | ||
return b; | ||
// cons :: a -> [a] -> [a] | ||
// a with x prepended | ||
function cons(x, a) { | ||
var l = a.length; | ||
var b = new Array(l + 1); | ||
b[0] = x; | ||
for (var i = 0; i < l; ++i) { | ||
b[i + 1] = a[i]; | ||
} | ||
return b; | ||
} | ||
// append :: a -> [a] -> [a] | ||
// a with x appended | ||
function append(x, a) { | ||
var l = a.length; | ||
var b = new Array(l + 1); | ||
for (var i = 0; i < l; ++i) { | ||
b[i] = a[i]; | ||
} | ||
// append :: a -> [a] -> [a] | ||
// a with x appended | ||
function append(x, a) { | ||
var l = a.length; | ||
var b = new Array(l + 1); | ||
for (var i = 0; i < l; ++i) { | ||
b[i] = a[i]; | ||
} | ||
b[l] = x; | ||
return b; | ||
b[l] = x; | ||
return b; | ||
} | ||
// drop :: Int -> [a] -> [a] | ||
// drop first n elements | ||
function drop(n, a) { | ||
// eslint-disable-line complexity | ||
if (n < 0) { | ||
throw new TypeError('n must be >= 0'); | ||
} | ||
// drop :: Int -> [a] -> [a] | ||
// drop first n elements | ||
function drop(n, a) { | ||
if (n < 0) { | ||
throw new TypeError('n must be >= 0'); | ||
} | ||
var l = a.length; | ||
if (n === 0 || l === 0) { | ||
return a; | ||
} | ||
var l = a.length; | ||
if (n === 0 || l === 0) { | ||
return a; | ||
} | ||
if (n >= l) { | ||
return []; | ||
} | ||
if (n >= l) { | ||
return []; | ||
} | ||
return unsafeDrop(n, a, l - n); | ||
} | ||
return unsafeDrop(n, a, l - n); | ||
// unsafeDrop :: Int -> [a] -> Int -> [a] | ||
// Internal helper for drop | ||
function unsafeDrop(n, a, l) { | ||
var b = new Array(l); | ||
for (var i = 0; i < l; ++i) { | ||
b[i] = a[n + i]; | ||
} | ||
return b; | ||
} | ||
// unsafeDrop :: Int -> [a] -> Int -> [a] | ||
// Internal helper for drop | ||
function unsafeDrop(n, a, l) { | ||
var b = new Array(l); | ||
for (var i = 0; i < l; ++i) { | ||
b[i] = a[n + i]; | ||
} | ||
return b; | ||
// tail :: [a] -> [a] | ||
// drop head element | ||
function tail(a) { | ||
return drop(1, a); | ||
} | ||
// copy :: [a] -> [a] | ||
// duplicate a (shallow duplication) | ||
function copy(a) { | ||
var l = a.length; | ||
var b = new Array(l); | ||
for (var i = 0; i < l; ++i) { | ||
b[i] = a[i]; | ||
} | ||
return b; | ||
} | ||
// tail :: [a] -> [a] | ||
// drop head element | ||
function tail(a) { | ||
return drop(1, a); | ||
// map :: (a -> b) -> [a] -> [b] | ||
// transform each element with f | ||
function map(f, a) { | ||
var l = a.length; | ||
var b = new Array(l); | ||
for (var i = 0; i < l; ++i) { | ||
b[i] = f(a[i]); | ||
} | ||
return b; | ||
} | ||
// copy :: [a] -> [a] | ||
// duplicate a (shallow duplication) | ||
function copy(a) { | ||
var l = a.length; | ||
var b = new Array(l); | ||
for (var i = 0; i < l; ++i) { | ||
b[i] = a[i]; | ||
} | ||
return b; | ||
// reduce :: (a -> b -> a) -> a -> [b] -> a | ||
// accumulate via left-fold | ||
function reduce(f, z, a) { | ||
var r = z; | ||
for (var i = 0, l = a.length; i < l; ++i) { | ||
r = f(r, a[i], i); | ||
} | ||
return r; | ||
} | ||
// map :: (a -> b) -> [a] -> [b] | ||
// transform each element with f | ||
function map(f, a) { | ||
var l = a.length; | ||
var b = new Array(l); | ||
for (var i = 0; i < l; ++i) { | ||
b[i] = f(a[i]); | ||
} | ||
return b; | ||
// replace :: a -> Int -> [a] | ||
// replace element at index | ||
function replace(x, i, a) { | ||
// eslint-disable-line complexity | ||
if (i < 0) { | ||
throw new TypeError('i must be >= 0'); | ||
} | ||
// reduce :: (a -> b -> a) -> a -> [b] -> a | ||
// accumulate via left-fold | ||
function reduce(f, z, a) { | ||
var r = z; | ||
for (var i = 0, l = a.length; i < l; ++i) { | ||
r = f(r, a[i], i); | ||
} | ||
return r; | ||
var l = a.length; | ||
var b = new Array(l); | ||
for (var j = 0; j < l; ++j) { | ||
b[j] = i === j ? x : a[j]; | ||
} | ||
return b; | ||
} | ||
// replace :: a -> Int -> [a] | ||
// replace element at index | ||
function replace(x, i, a) { | ||
if (i < 0) { | ||
throw new TypeError('i must be >= 0'); | ||
} | ||
// remove :: Int -> [a] -> [a] | ||
// remove element at index | ||
function remove(i, a) { | ||
// eslint-disable-line complexity | ||
if (i < 0) { | ||
throw new TypeError('i must be >= 0'); | ||
} | ||
var l = a.length; | ||
var b = new Array(l); | ||
for (var j = 0; j < l; ++j) { | ||
b[j] = i === j ? x : a[j]; | ||
} | ||
return b; | ||
var l = a.length; | ||
if (l === 0 || i >= l) { | ||
// exit early if index beyond end of array | ||
return a; | ||
} | ||
// remove :: Int -> [a] -> [a] | ||
// remove element at index | ||
function remove(i, a) { | ||
if (i < 0) { | ||
throw new TypeError('i must be >= 0'); | ||
} | ||
if (l === 1) { | ||
// exit early if index in bounds and length === 1 | ||
return []; | ||
} | ||
var l = a.length; | ||
if (l === 0 || i >= l) { | ||
// exit early if index beyond end of array | ||
return a; | ||
} | ||
return unsafeRemove(i, a, l - 1); | ||
} | ||
if (l === 1) { | ||
// exit early if index in bounds and length === 1 | ||
return []; | ||
} | ||
return unsafeRemove(i, a, l - 1); | ||
// unsafeRemove :: Int -> [a] -> Int -> [a] | ||
// Internal helper to remove element at index | ||
function unsafeRemove(i, a, l) { | ||
var b = new Array(l); | ||
var j = undefined; | ||
for (j = 0; j < i; ++j) { | ||
b[j] = a[j]; | ||
} | ||
for (j = i; j < l; ++j) { | ||
b[j] = a[j + 1]; | ||
} | ||
// unsafeRemove :: Int -> [a] -> Int -> [a] | ||
// Internal helper to remove element at index | ||
function unsafeRemove(i, a, l) { | ||
var b = new Array(l); | ||
var j = undefined; | ||
for (j = 0; j < i; ++j) { | ||
b[j] = a[j]; | ||
} | ||
for (j = i; j < l; ++j) { | ||
b[j] = a[j + 1]; | ||
} | ||
return b; | ||
} | ||
return b; | ||
// removeAll :: (a -> boolean) -> [a] -> [a] | ||
// remove all elements matching a predicate | ||
function removeAll(f, a) { | ||
var l = a.length; | ||
var b = new Array(l); | ||
var j = 0; | ||
for (var x, i = 0; i < l; ++i) { | ||
x = a[i]; | ||
if (!f(x)) { | ||
b[j] = x; | ||
++j; | ||
} | ||
} | ||
// removeAll :: (a -> boolean) -> [a] -> [a] | ||
// remove all elements matching a predicate | ||
function removeAll(f, a) { | ||
var l = a.length; | ||
var b = new Array(l); | ||
var j = 0; | ||
for (var x, i = 0; i < l; ++i) { | ||
x = a[i]; | ||
if (!f(x)) { | ||
b[j] = x; | ||
++j; | ||
} | ||
} | ||
b.length = j; | ||
return b; | ||
} | ||
b.length = j; | ||
return b; | ||
// findIndex :: a -> [a] -> Int | ||
// find index of x in a, from the left | ||
function findIndex(x, a) { | ||
for (var i = 0, l = a.length; i < l; ++i) { | ||
if (x === a[i]) { | ||
return i; | ||
} | ||
} | ||
return -1; | ||
} | ||
// findIndex :: a -> [a] -> Int | ||
// find index of x in a, from the left | ||
function findIndex(x, a) { | ||
for (var i = 0, l = a.length; i < l; ++i) { | ||
if (x === a[i]) { | ||
return i; | ||
} | ||
} | ||
return -1; | ||
} | ||
// isArrayLike :: * -> boolean | ||
// Return true iff x is array-like | ||
function isArrayLike(x) { | ||
return x != null && typeof x.length === 'number' && typeof x !== 'function'; | ||
} | ||
// isArrayLike :: * -> boolean | ||
// Return true iff x is array-like | ||
function isArrayLike(x) { | ||
return x != null && typeof x.length === 'number' && typeof x !== 'function'; | ||
} | ||
/** @license MIT License (c) copyright 2010-2016 original author or authors */ | ||
/** @license MIT License (c) copyright 2010-2016 original author or authors */ | ||
// id :: a -> a | ||
var id = function id(x) { | ||
return x; | ||
}; | ||
// id :: a -> a | ||
var id = function id(x) { | ||
return x; | ||
// compose :: (b -> c) -> (a -> b) -> (a -> c) | ||
var compose = function compose(f, g) { | ||
return function (x) { | ||
return f(g(x)); | ||
}; | ||
}; | ||
// compose :: (b -> c) -> (a -> b) -> (a -> c) | ||
var compose = function compose(f, g) { | ||
return function (x) { | ||
return f(g(x)); | ||
}; | ||
}; | ||
// apply :: (a -> b) -> a -> b | ||
var apply = function apply(f, x) { | ||
return f(x); | ||
}; | ||
// apply :: (a -> b) -> a -> b | ||
var apply = function apply(f, x) { | ||
return f(x); | ||
}; | ||
// curry2 :: ((a, b) -> c) -> (a -> b -> c) | ||
function curry2(f) { | ||
function curried(a, b) { | ||
switch (arguments.length) { | ||
case 0: | ||
return curried; | ||
case 1: | ||
return function (b) { | ||
return f(a, b); | ||
}; | ||
default: | ||
return f(a, b); | ||
} | ||
} | ||
return curried; | ||
} | ||
exports.cons = cons; | ||
exports.append = append; | ||
exports.drop = drop; | ||
exports.tail = tail; | ||
exports.copy = copy; | ||
exports.map = map; | ||
exports.reduce = reduce; | ||
exports.replace = replace; | ||
exports.remove = remove; | ||
exports.removeAll = removeAll; | ||
exports.findIndex = findIndex; | ||
exports.isArrayLike = isArrayLike; | ||
exports.id = id; | ||
exports.compose = compose; | ||
exports.apply = apply; | ||
// curry3 :: ((a, b, c) -> d) -> (a -> b -> c -> d) | ||
function curry3(f) { | ||
function curried(a, b, c) { | ||
// eslint-disable-line complexity | ||
switch (arguments.length) { | ||
case 0: | ||
return curried; | ||
case 1: | ||
return curry2(function (b, c) { | ||
return f(a, b, c); | ||
}); | ||
case 2: | ||
return function (c) { | ||
return f(a, b, c); | ||
}; | ||
default: | ||
return f(a, b, c); | ||
} | ||
} | ||
return curried; | ||
} | ||
exports.cons = cons; | ||
exports.append = append; | ||
exports.drop = drop; | ||
exports.tail = tail; | ||
exports.copy = copy; | ||
exports.map = map; | ||
exports.reduce = reduce; | ||
exports.replace = replace; | ||
exports.remove = remove; | ||
exports.removeAll = removeAll; | ||
exports.findIndex = findIndex; | ||
exports.isArrayLike = isArrayLike; | ||
exports.id = id; | ||
exports.compose = compose; | ||
exports.apply = apply; | ||
exports.curry2 = curry2; | ||
exports.curry3 = curry3; | ||
}); |
{ | ||
"name": "@most/prelude", | ||
"version": "1.0.0", | ||
"version": "1.1.0", | ||
"description": "prelude", | ||
@@ -15,3 +15,3 @@ "main": "dist/prelude.js", | ||
"unit-test": "babel-node ./node_modules/.bin/isparta cover _mocha", | ||
"lint": "jscs -x src && jsinspect src && eslint src", | ||
"lint": "jsinspect src && jsinspect -t 45 test && eslint src test", | ||
"test": "npm run lint && npm run unit-test" | ||
@@ -30,11 +30,13 @@ }, | ||
"devDependencies": { | ||
"@most/eslint-config-most": "^1.0.2", | ||
"assert": "^1.3.0", | ||
"babel-cli": "^6.5.0", | ||
"babel-core": "^6.5.0", | ||
"babel-eslint": "^4.1.8", | ||
"babel-plugin-transform-es2015-modules-umd": "^6.5.0", | ||
"babel-preset-es2015": "^6.5.0", | ||
"eslint": "^1.10.3", | ||
"eslint": "^2.3.0", | ||
"eslint-config-standard": "^5.1.0", | ||
"eslint-plugin-promise": "^1.1.0", | ||
"eslint-plugin-standard": "^1.3.2", | ||
"isparta": "^4.0.0", | ||
"jscs": "^2.9.0", | ||
"jsinspect": "^0.7.2", | ||
@@ -41,0 +43,0 @@ "mocha": "^2.4.5", |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
8761
246
16