UNPKG

list

Version:

Fast purely functional immutable lists.

75 lines 2.76 kB
import * as L from "./index"; // All functions of arity 1 are simply re-exported as they don't require currying export { Node, List, list, isList, length, of, empty, first, last, flatten, pop, init, tail, fromArray, toArray, reverse, fromIterable, sort, group } from "./index"; function curry2(f) { return function curried(a, b) { return arguments.length === 2 ? f(a, b) : function (b) { return f(a, b); }; }; } function curry3(f) { return function curried(a, b, c) { switch (arguments.length) { case 3: return f(a, b, c); case 2: return function (c) { return f(a, b, c); }; default: // Assume 1 return curry2(function (b, c) { return f(a, b, c); }); } }; } // Arity 2 export var prepend = curry2(L.prepend); export var append = curry2(L.append); export var pair = curry2(L.pair); export var repeat = curry2(L.repeat); export var times = curry2(L.times); export var nth = curry2(L.nth); export var map = curry2(L.map); export var forEach = curry2(L.forEach); export var pluck = curry2(L.pluck); export var range = curry2(L.range); export var filter = curry2(L.filter); export var reject = curry2(L.reject); export var partition = curry2(L.partition); export var join = curry2(L.join); export var ap = curry2(L.ap); export var chain = curry2(L.chain); export var every = curry2(L.every); export var all = curry2(L.all); export var some = curry2(L.some); export var any = curry2(L.any); export var none = curry2(L.none); export var find = curry2(L.find); export var indexOf = curry2(L.indexOf); export var findIndex = curry2(L.findIndex); export var includes = curry2(L.includes); export var contains = includes; export var equals = curry2(L.equals); export var concat = curry2(L.concat); export var take = curry2(L.take); export var takeLast = curry2(L.takeLast); export var drop = curry2(L.drop); export var dropLast = curry2(L.dropLast); export var takeWhile = curry2(L.takeWhile); export var dropWhile = curry2(L.dropWhile); export var splitAt = curry2(L.splitAt); export var sortBy = curry2(L.sortBy); export var sortWith = curry2(L.sortWith); export var groupWith = curry2(L.groupWith); export var zip = curry2(L.zip); // Arity 3 export var foldl = curry3(L.foldl); export var reduce = foldl; export var foldr = curry3(L.foldr); export var equalsWith = curry3(L.equalsWith); export var reduceRight = foldr; export var update = curry3(L.update); export var adjust = curry3(L.adjust); export var slice = curry3(L.slice); export var remove = curry3(L.remove); export var insert = curry3(L.insert); export var insertAll = curry3(L.insertAll); export var zipWith = curry3(L.zipWith); //# sourceMappingURL=curried.js.map