UNPKG

f-utility

Version:

functional utilities

357 lines (294 loc) 13.2 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.I = exports.K = exports.remapArray = exports.remap = exports.curryObjectKN = exports.curryObjectN = exports.curryObjectK = exports.curryify = exports.PLACEHOLDER = exports.$ = exports.every = exports.some = exports.which = exports.anyLength = exports.objectLength = exports.length = exports.not = exports.invert = exports.alterFirstIndex = exports.alterLastIndex = exports.flip = exports.mapKeys = exports.mapTuple = exports.mapTuples = exports.reduce = exports.filter = exports.flatMap = exports.chain = exports.triplet = exports.ternary = exports.symmetricDifference = exports.subtract = exports.startsWith = exports.sort = exports.relativeIndex = exports.reject = exports.range = exports.prop = exports.propSatisfies = exports.propOr = exports.propIs = exports.propEq = exports.pow = exports.path = exports.pathSatisfies = exports.pathOr = exports.pathEq = exports.pairwiseObject = exports.pairwise = exports.multiply = exports.merge = exports.map = exports.lastIndexOf = exports.iterate = exports.indexOf = exports.equals = exports.equal = exports.endsWith = exports.divide = exports.difference = exports.choice = exports.ap = exports.alterIndex = exports.add = exports.isObject = exports.isString = exports.isFunction = exports.isNumber = exports.isBoolean = exports.isTypeof = exports.substr = exports.replace = exports.padStart = exports.padEnd = exports.split = exports.search = exports.repeat = exports.match = exports.join = exports.fork = exports.fold = exports.concat = exports.codePointAt = exports.charAt = exports.trim = exports.isNil = exports.isArray = exports.fromPairs = exports.toPairs = exports.entries = exports.freeze = exports.assign = exports.keys = exports.isPOJO = exports.isDistinctObject = exports.compose = exports.pipe = exports.curry = exports.random = exports.round = undefined; var _assign = require("object-assign"); var _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"]) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } }; }(); var _object = require("./object"); Object.defineProperty(exports, "keys", { enumerable: true, get: function get() { return _object.keys; } }); Object.defineProperty(exports, "assign", { enumerable: true, get: function get() { return _object.assign; } }); Object.defineProperty(exports, "freeze", { enumerable: true, get: function get() { return _object.freeze; } }); Object.defineProperty(exports, "entries", { enumerable: true, get: function get() { return _object.entries; } }); var _types = require("./types"); Object.defineProperty(exports, "isArray", { enumerable: true, get: function get() { return _types.isArray; } }); var _debug = require("katsu-curry/debug"); Object.defineProperty(exports, "$", { enumerable: true, get: function get() { return _debug.$; } }); Object.defineProperty(exports, "PLACEHOLDER", { enumerable: true, get: function get() { return _debug.PLACEHOLDER; } }); Object.defineProperty(exports, "curryify", { enumerable: true, get: function get() { return _debug.curryify; } }); Object.defineProperty(exports, "curryObjectK", { enumerable: true, get: function get() { return _debug.curryObjectK; } }); Object.defineProperty(exports, "curryObjectN", { enumerable: true, get: function get() { return _debug.curryObjectN; } }); Object.defineProperty(exports, "curryObjectKN", { enumerable: true, get: function get() { return _debug.curryObjectKN; } }); Object.defineProperty(exports, "remap", { enumerable: true, get: function get() { return _debug.remap; } }); Object.defineProperty(exports, "remapArray", { enumerable: true, get: function get() { return _debug.remapArray; } }); Object.defineProperty(exports, "K", { enumerable: true, get: function get() { return _debug.K; } }); Object.defineProperty(exports, "I", { enumerable: true, get: function get() { return _debug.I; } }); var _flatmapFast = require("flatmap-fast"); var _flatmapFast2 = _interopRequireDefault(_flatmapFast); var _reduce = require("fast.js/reduce"); var _reduce2 = _interopRequireDefault(_reduce); var _filter = require("fast.js/filter"); var _filter2 = _interopRequireDefault(_filter); var _some = require("fast.js/array/some"); var _some2 = _interopRequireDefault(_some); var _every = require("fast.js/array/every"); var _every2 = _interopRequireDefault(_every); var _debug2 = require("entrust/debug"); var _ap = require("./ap"); var _choice = require("./choice"); var _iterate = require("./iterate"); var _map = require("./map"); var _range = require("./range"); var _reject = require("./reject"); var _ternary = require("./ternary"); var _triplet = require("./triplet"); var _invert2 = require("./invert"); var _string = require("./string"); var _array = require("./array"); var _delegateFast = require("./delegate-fast"); var _math = require("./math"); var _path = require("./path"); var _random2 = require("./random"); var _randomFloor = require("./random-floor"); var f = _interopRequireWildcard(_randomFloor); var _randomTake = require("./random-take"); var t = _interopRequireWildcard(_randomTake); var _randomWord = require("./random-word"); var w = _interopRequireWildcard(_randomWord); var _randomShuffle = require("./random-shuffle"); var s = _interopRequireWildcard(_randomShuffle); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj["default"] = obj; return newObj; } } function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } var round = exports.round = _math.round; round.toString = function () { return "~(?)"; }; var random = exports.random = _assign(_random2.random, f, t, w, s); random.toString = function () { return "\uD83D\uDC7E (?)"; }; var curry = exports.curry = _debug.curry; curry.toString = function () { return "\uD83C\uDF5B (?)"; }; var pipe = exports.pipe = _debug.pipe; pipe.toString = function () { return "\uD83C\uDF61 (?)"; }; var compose = exports.compose = _debug.compose; compose.toString = function () { return "\uD83D\uDE43 \uD83C\uDF61 (?)"; }; var isDistinctObject = exports.isDistinctObject = _types.isDistinctObject; isDistinctObject.toString = function () { return "isTrueObject(?)"; }; var isPOJO = exports.isPOJO = isDistinctObject; var toPairs = exports.toPairs = _object.toPairs; toPairs.toString = function () { return "\u15D5(?)"; }; var fromPairs = exports.fromPairs = _object.fromPairs; fromPairs.toString = function () { return "\u15D2(?)"; }; var isNil = exports.isNil = curry(_types.isNil); isNil.toString = function () { return "curry(__isTypeof)(null)(?)"; }; var trim = exports.trim = (0, _debug2.e0)("trim"); var charAt = exports.charAt = (0, _debug2.e1)("charAt"); var codePointAt = exports.codePointAt = (0, _debug2.e1)("codePointAt"); var concat = exports.concat = (0, _debug2.e1)("concat"); var fold = exports.fold = (0, _debug2.e2)("fold"); var fork = exports.fork = (0, _debug2.e2)("fork"); var join = exports.join = (0, _debug2.e1)("join"); var match = exports.match = (0, _debug2.e1)("match"); var repeat = exports.repeat = (0, _debug2.e1)("repeat"); var search = exports.search = (0, _debug2.e1)("search"); var split = exports.split = (0, _debug2.e1)("split"); // const endsWithLength = e2(`endsWith`) // const indexOfFromIndex = e2(`indexOf`) // export const lastIndexOfFromIndex = e2(`lastIndexOf`) var padEnd = exports.padEnd = (0, _debug2.e2)("padEnd"); var padStart = exports.padStart = (0, _debug2.e2)("padStart"); var replace = exports.replace = (0, _debug2.e2)("replace"); // export const startsWithFromPosition = e2(`startsWith`) var substr = exports.substr = (0, _debug2.e2)("substr"); // BINARY var isTypeof = exports.isTypeof = curry(_types.__isTypeof); var isBoolean = exports.isBoolean = isTypeof("boolean"); var isNumber = exports.isNumber = isTypeof("number"); var isFunction = exports.isFunction = isTypeof("function"); var isString = exports.isString = isTypeof("string"); var isObject = exports.isObject = isTypeof("object"); // const delegateFastBinary = curry(__delegateFastBinary) // const delegateFastTertiary = curry(__delegateFastTertiary) var add = exports.add = curry(_math.__add); var alterIndex = exports.alterIndex = curry(_array.__alterIndex); var ap = exports.ap = curry(_ap.__ap); var choice = exports.choice = curry(_choice.__choice); var difference = exports.difference = curry(_array.__difference); var divide = exports.divide = curry(_math.__divide); var endsWith = exports.endsWith = curry(_string.__endsWith); var equal = exports.equal = curry(_math.__equals); var equals = exports.equals = equal; var indexOf = exports.indexOf = curry(_string.__indexOf); var iterate = exports.iterate = curry(_iterate.__iterate); var lastIndexOf = exports.lastIndexOf = curry(_string.__lastIndexOf); var map = exports.map = curry(_map.__map); var merge = exports.merge = curry(_object.__merge); var multiply = exports.multiply = curry(_math.__multiply); var pairwise = exports.pairwise = curry(_object.__pairwise); var pairwiseObject = exports.pairwiseObject = curry(_object.__pairwiseObject); var pathEq = exports.pathEq = curry(_path.__pathEq); var pathOr = exports.pathOr = curry(_path.__pathOr); var pathSatisfies = exports.pathSatisfies = curry(_path.__pathSatisfies); var path = exports.path = pathOr(null); var pow = exports.pow = curry(_math.__pow); var propEq = exports.propEq = curry(_path.__propEq); var propIs = exports.propIs = curry(_path.__propIs); var propOr = exports.propOr = curry(_path.__propOr); var propSatisfies = exports.propSatisfies = curry(_path.__propSatisfies); var prop = exports.prop = propOr(null); var range = exports.range = curry(_range.__range); var reject = exports.reject = curry(_reject.__reject); var relativeIndex = exports.relativeIndex = curry(_array.__relativeIndex); var sort = exports.sort = curry(_array.__sort); var startsWith = exports.startsWith = curry(_string.__startsWith); var subtract = exports.subtract = curry(_math.__subtract); var symmetricDifference = exports.symmetricDifference = curry(_array.__symmetricDifference); var ternary = exports.ternary = curry(_ternary.__ternary); var triplet = exports.triplet = curry(_triplet.__triplet); var chain = exports.chain = curry(function __chain(fn, functor) { return (0, _delegateFast.__delegateFastBinary)("chain", _flatmapFast2["default"], fn, functor); }); var flatMap = exports.flatMap = chain; var filter = exports.filter = curry(function __filter(fn, functor) { return (0, _delegateFast.__delegateFastBinary)("filter", _filter2["default"], fn, functor); }); var reduce = exports.reduce = curry(function __reduce(fn, initial, functor) { return (0, _delegateFast.__delegateFastTertiary)("reduce", _reduce2["default"], fn, initial, functor); }); var mapTuples = exports.mapTuples = pairwiseObject(map); var mapTuple = exports.mapTuple = mapTuples; var __mapKeys = function __mapKeys(fn, o) { return mapTuples(function (_ref) { var _ref2 = _slicedToArray(_ref, 2), k = _ref2[0], v = _ref2[1]; return [fn(k), v]; }, o); }; var mapKeys = exports.mapKeys = curry(__mapKeys); var flip = exports.flip = function flip(fn) { return curry(function __flip(a, b) { return fn(b, a); }); }; flip.toString = function () { return "\uD83D\uDE43 \uD83C\uDF5B (?)"; }; var alterLastIndex = exports.alterLastIndex = alterIndex(-1); var alterFirstIndex = exports.alterFirstIndex = alterIndex(0); var invert = exports.invert = _invert2.invert; var not = exports.not = _invert2.not; var propLength = prop("length"); var length = exports.length = propLength; var objectLength = exports.objectLength = pipe(Object.keys, propLength); var anyLength = exports.anyLength = function anyLength(x) { return typeof x === "object" ? objectLength(x) : propLength(x); }; anyLength.toString = function () { return "length(?)"; }; var which = exports.which = curry(function __which(compare, fn, o) { // allows us to pass functions to compare first var arecomp = flip(compare); return triplet(Array.isArray, arecomp(fn), pipe(Object.keys, arecomp(function (key) { return fn(o[key], key); })), o); }); _some2["default"].toString = function () { return "some"; }; var some = exports.some = which(_some2["default"]); _every2["default"].toString = function () { return "every"; }; var every = exports.every = which(_every2["default"]);