ramda-adjunct
Version:
Ramda Adjunct is the most popular and most comprehensive set of utilities for use with Ramda, providing a variety of useful, well tested functions with excellent documentation.
1,110 lines (968 loc) • 769 kB
JavaScript
(function webpackUniversalModuleDefinition(root, factory) {
if(typeof exports === 'object' && typeof module === 'object')
module.exports = factory();
else if(typeof define === 'function' && define.amd)
define([], factory);
else if(typeof exports === 'object')
exports["RA"] = factory();
else
root["RA"] = factory();
})(self, () => {
return /******/ (() => { // webpackBootstrap
/******/ "use strict";
/******/ var __webpack_modules__ = ({
/***/ 221:
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(5845);
/**
* Y-combinator
*
* The Y combinator is an interesting function which only works with functional languages,
* showing how recursion can still be done even without any variable or function declarations,
* only functions and parameters
*
* @func Y
* @memberOf RA
* @since {@link https://char0n.github.io/ramda-adjunct/2.3.0|v2.3.0}
* @category Function
* @sig (a, ... -> b -> b) -> (a, ... -> b)
* @param {Function} le Recursive function maker
* @return {Function}
* @see {@link http://kestas.kuliukas.com/YCombinatorExplained/|Y combinator explained}
* @example
*
* const makeFact = givenFact => (n) => {
* if (n < 2) { return 1 }
* return n * givenFact(n - 1);
* };
*
* const factorial = RA.Y(makeFact);
*
* factorial(5); //=> 120
*/
var Y = (0,ramda__WEBPACK_IMPORTED_MODULE_0__["default"])(1, function (le) {
return function (f) {
return f(f);
}(function (g) {
return le(function (x) {
return g(g)(x);
});
});
});
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Y);
/***/ }),
/***/ 6257:
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(5845);
/* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(1182);
/* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(7168);
/* harmony import */ var _lengthLte_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(5369);
// Original idea for this function was conceived by https://github.com/jackmellis
// in https://github.com/char0n/ramda-adjunct/pull/513.
/**
* Returns true if all items in the list are equivalent using `R.equals` for equality comparisons.
*
* @func allEqual
* @memberOf RA
* @since {@link https://char0n.github.io/ramda-adjunct/2.9.0|v2.9.0}
* @category List
* @sig [a] -> Boolean
* @param {Array} list The list of values
* @return {boolean}
* @see {@link https://ramdajs.com/docs/#equals|equals}
* @example
*
* RA.allEqual([ 1, 2, 3, 4 ]); //=> false
* RA.allEqual([ 1, 1, 1, 1 ]); //=> true
* RA.allEqual([]); //=> true
*
*/
var allEqual = (0,ramda__WEBPACK_IMPORTED_MODULE_0__["default"])(1, (0,ramda__WEBPACK_IMPORTED_MODULE_1__["default"])(ramda__WEBPACK_IMPORTED_MODULE_2__["default"], (0,_lengthLte_js__WEBPACK_IMPORTED_MODULE_3__["default"])(1)));
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (allEqual);
/***/ }),
/***/ 7056:
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(4295);
/* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(6679);
/* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(7911);
/**
* Returns true if all items in the list are equivalent to user provided value using `R.equals` for equality comparisons.
*
* @func allEqualTo
* @memberOf RA
* @since {@link https://char0n.github.io/ramda-adjunct/2.11.0|v2.11.0}
* @category List
* @sig a -> [b] -> Boolean
* @param {*} val User provided value to check the `list` against
* @param {Array} list The list of values
* @return {boolean}
* @see {@link RA.allEqual|allEqual}, {@link https://ramdajs.com/docs/#equals|equals}
* @example
*
* RA.allEqualTo(1, [ 1, 2, 3, 4 ]); //=> false
* RA.allEqualTo(1, [ 1, 1, 1, 1 ]); //=> true
* RA.allEqualTo({}, [ {}, {} ]); //=> true
* RA.allEqualTo(1, []); //=> true
*
*/
var allEqualTo = (0,ramda__WEBPACK_IMPORTED_MODULE_0__["default"])(function (val, list) {
return (0,ramda__WEBPACK_IMPORTED_MODULE_1__["default"])((0,ramda__WEBPACK_IMPORTED_MODULE_2__["default"])(val), list);
});
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (allEqualTo);
/***/ }),
/***/ 6194:
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(5845);
/* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(1182);
/* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(9307);
/* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(5883);
/* harmony import */ var _lengthLte_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(5369);
/**
* Returns true if all items in the list are equivalent using `R.identical` for equality comparisons.
*
* @func allIdentical
* @memberOf RA
* @since {@link https://char0n.github.io/ramda-adjunct/2.11.0|v2.11.0}
* @category List
* @sig [a] -> Boolean
* @param {Array} list The list of values
* @return {boolean}
* @see {@link https://ramdajs.com/docs/#identical|identical}
* @example
*
* RA.allIdentical([ 1, 2, 3, 4 ]); //=> false
* RA.allIdentical([ 1, 1, 1, 1 ]); //=> true
* RA.allIdentical([]); //=> true
* RA.allIdentical([ {}, {} ]); //=> false
* RA.allIdentical([ () => {}, () => {} ]); //=> false
*/
var allIdentical = (0,ramda__WEBPACK_IMPORTED_MODULE_0__["default"])(1, (0,ramda__WEBPACK_IMPORTED_MODULE_1__["default"])((0,ramda__WEBPACK_IMPORTED_MODULE_2__["default"])(ramda__WEBPACK_IMPORTED_MODULE_3__["default"]), (0,_lengthLte_js__WEBPACK_IMPORTED_MODULE_4__["default"])(1)));
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (allIdentical);
/***/ }),
/***/ 9399:
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(4295);
/* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(6679);
/* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(5883);
/**
* Returns true if all items in the list are equivalent to user provided value using `R.identical` for equality comparisons.
*
* @func allIdenticalTo
* @memberOf RA
* @since {@link https://char0n.github.io/ramda-adjunct/2.11.0|v2.11.0}
* @category List
* @sig a -> [b] -> Boolean
* @param {*} val User provided value to check the `list` against
* @param {Array} list The list of values
* @return {boolean}
* @see {@link RA.allIdentical|allIdentical}, {@link http://ramdajs.com/docs/#identical|R.identical}
* @example
*
* RA.allIdenticalTo(1, [ 1, 2, 3, 4 ]); //=> false
* RA.allIdenticalTo(1, [ 1, 1, 1, 1 ]); //=> true
* RA.allIdenticalTo(1, []); //=> true
* RA.allIdenticalTo({}, [ {}, {} ]); //=> false
*
*/
var allIdenticalTo = (0,ramda__WEBPACK_IMPORTED_MODULE_0__["default"])(function (val, list) {
return (0,ramda__WEBPACK_IMPORTED_MODULE_1__["default"])((0,ramda__WEBPACK_IMPORTED_MODULE_2__["default"])(val), list);
});
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (allIdenticalTo);
/***/ }),
/***/ 2121:
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(5845);
/* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(9461);
/**
* Composable shortcut for `Promise.all`.
*
* The `allP` method returns a single Promise that resolves when all of the promises
* in the iterable argument have resolved or when the iterable argument contains no promises.
* It rejects with the reason of the first promise that rejects.
*
* @func allP
* @memberOf RA
* @since {@link https://char0n.github.io/ramda-adjunct/2.3.0|v2.3.0}
* @category Function
* @sig [Promise a] -> Promise [a]
* @param {Iterable.<*>} iterable An iterable object such as an Array or String
* @return {Promise} An already resolved Promise if the iterable passed is empty. An asynchronously resolved Promise if the iterable passed contains no promises. Note, Google Chrome 58 returns an already resolved promise in this case. A pending Promise in all other cases. This returned promise is then resolved/rejected asynchronously (as soon as the stack is empty) when all the promises in the given iterable have resolved, or if any of the promises reject. See the example about "Asynchronicity or synchronicity of allP" below.
* @see {@link RA.resolveP|resolveP}, {@link RA.rejectP|rejectP}
* @example
*
* RA.allP([1, 2]); //=> Promise([1, 2])
* RA.allP([1, Promise.resolve(2)]); //=> Promise([1, 2])
* RA.allP([Promise.resolve(1), Promise.resolve(2)]); //=> Promise([1, 2])
* RA.allP([1, Promise.reject(2)]); //=> Promise(2)
*/
var allP = (0,ramda__WEBPACK_IMPORTED_MODULE_0__["default"])(1, (0,ramda__WEBPACK_IMPORTED_MODULE_1__["default"])(Promise.all, Promise));
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (allP);
/***/ }),
/***/ 1514:
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ allSettledPPonyfill: () => (/* binding */ allSettledPPonyfill),
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(5845);
/* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(9461);
/* harmony import */ var _isFunction_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(3800);
/* harmony import */ var _internal_ponyfills_Promise_allSettled_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(3958);
var allSettledPPonyfill = (0,ramda__WEBPACK_IMPORTED_MODULE_0__["default"])(1, _internal_ponyfills_Promise_allSettled_js__WEBPACK_IMPORTED_MODULE_1__["default"]);
/**
* Returns a promise that is fulfilled with an array of promise state snapshots,
* but only after all the original promises have settled, i.e. become either fulfilled or rejected.
* We say that a promise is settled if it is not pending, i.e. if it is either fulfilled or rejected.
*
* @func allSettledP
* @memberOf RA
* @since {@link https://char0n.github.io/ramda-adjunct/2.18.0|v2.18.0}
* @category Function
* @typedef Settlement = { status: String, value: * }
* @sig [Promise a] -> Promise [Settlement a]
* @param {Iterable.<*>} iterable An iterable object such as an Array or String
* @return {Promise} Returns a promise that is fulfilled with an array of promise state snapshots
* @see {@link RA.allP|allP}
* @example
*
* RA.allSettledP([
* Promise.resolve(1),
* 2,
* Promise.reject(3),
* ]); //=> Promise([{ status: 'fulfilled', value: 1 }, { status: 'fulfilled', value: 2 }, { status: 'rejected', reason: 3 }])
*/
var allSettledP = (0,_isFunction_js__WEBPACK_IMPORTED_MODULE_2__["default"])(Promise.allSettled) ? (0,ramda__WEBPACK_IMPORTED_MODULE_0__["default"])(1, (0,ramda__WEBPACK_IMPORTED_MODULE_3__["default"])(Promise.allSettled, Promise)) : allSettledPPonyfill;
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (allSettledP);
/***/ }),
/***/ 7902:
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7487);
/* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(1618);
/* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(7168);
/* harmony import */ var _lengthEq_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(6238);
/**
* Returns true if all items in the list are unique. `R.equals` is used to determine equality.
*
* @func allUnique
* @memberOf RA
* @since {@link https://char0n.github.io/ramda-adjunct/2.22.0|v2.22.0}
* @category List
* @sig [a] -> Boolean
* @param {Array} list The list of values
* @return {boolean}
* @see {@link RA.notAllUnique|notAllUnique}, {@link https://ramdajs.com/docs/#equals|equals}
* @example
*
* RA.allUnique([ 1, 2, 3, 4 ]); //=> true
* RA.allUnique([ 1, 1, 2, 3 ]); //=> false
* RA.allUnique([]); //=> true
*
*/
var allUnique = (0,ramda__WEBPACK_IMPORTED_MODULE_0__["default"])(_lengthEq_js__WEBPACK_IMPORTED_MODULE_1__["default"], [ramda__WEBPACK_IMPORTED_MODULE_2__["default"], ramda__WEBPACK_IMPORTED_MODULE_3__["default"]]);
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (allUnique);
/***/ }),
/***/ 4422:
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ AggregatedError: () => (/* reexport safe */ _internal_ponyfills_Promise_any_js__WEBPACK_IMPORTED_MODULE_1__.AggregatedError),
/* harmony export */ anyPPonyfill: () => (/* binding */ anyPPonyfill),
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(5845);
/* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(9461);
/* harmony import */ var _isFunction_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(3800);
/* harmony import */ var _internal_ponyfills_Promise_any_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(1590);
var anyPPonyfill = (0,ramda__WEBPACK_IMPORTED_MODULE_0__["default"])(1, _internal_ponyfills_Promise_any_js__WEBPACK_IMPORTED_MODULE_1__["default"]);
/**
* Returns a promise that is fulfilled by the first given promise to be fulfilled,
* or rejected with an array of rejection reasons if all of the given promises are rejected.
*
* @func anyP
* @memberOf RA
* @category Function
* @since {@link https://char0n.github.io/ramda-adjunct/2.22.0|v2.22.0}
* @sig [Promise a] -> Promise a
* @param {Iterable.<*>} iterable An iterable object such as an Array or String
* @return {Promise} A promise that is fulfilled by the first given promise to be fulfilled, or rejected with an array of rejection reasons if all of the given promises are rejected
* @see {@link RA.lastP|lastP}
* @example
*
* RA.anyP([
* Promise.resolve(1),
* 2,
* Promise.reject(3),
* ]); //=> Promise(1)
*/
var anyP = (0,_isFunction_js__WEBPACK_IMPORTED_MODULE_2__["default"])(Promise.any) ? (0,ramda__WEBPACK_IMPORTED_MODULE_0__["default"])(1, (0,ramda__WEBPACK_IMPORTED_MODULE_3__["default"])(Promise.any, Promise)) : anyPPonyfill;
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (anyP);
/***/ }),
/***/ 862:
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7293);
/* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(5830);
/**
* Returns a new list containing the contents of the given list, followed by the given element.
* Like {@link http://ramdajs.com/docs/#append|R.append} but with argument order reversed.
*
* @func appendFlipped
* @memberOf RA
* @since {@link https://char0n.github.io/ramda-adjunct/2.5.0|v2.5.0}
* @category List
* @sig [a] -> a -> [a]
* @param {Array} list The list of elements to add a new item to
* @param {*} el The element to add to the end of the new list
* @return {Array} A new list containing the elements of the old list followed by `el`
* @see {@link http://ramdajs.com/docs/#append|R.append}
* @example
*
* RA.appendFlipped(['write', 'more'], 'tests'); //=> ['write', 'more', 'tests']
* RA.appendFlipped([], 'tests'); //=> ['tests']
* RA.appendFlipped(['write', 'more'], ['tests']); //=> ['write', 'more', ['tests']]
*/
var appendFlipped = (0,ramda__WEBPACK_IMPORTED_MODULE_0__["default"])(ramda__WEBPACK_IMPORTED_MODULE_1__["default"]);
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (appendFlipped);
/***/ }),
/***/ 9656:
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(4295);
/* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(7359);
/* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(4052);
/* harmony import */ var _list_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(3204);
/* harmony import */ var _isTruthy_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(1092);
/**
* Takes a combining predicate and a list of functions and returns a function which will map the
* arguments it receives to the list of functions and returns the result of passing the values
* returned from each function to the combining predicate. A combining predicate is a function that
* combines a list of Boolean values into a single Boolean value, such as `R.any` or `R.all`. It
* will test each value using `RA.isTruthy`, meaning the functions don't necessarily have to be
* predicates.
*
* The function returned is curried to the number of functions supplied, and if called with more
* arguments than functions, any remaining arguments are passed in to the combining predicate
* untouched.
*
* @func argsPass
* @memberOf RA
* @since {@link https://char0n.github.io/ramda-adjunct/2.7.0|v2.7.0}
* @category Logic
* @sig ((* -> Boolean) -> [*] -> Boolean) -> [(* -> Boolean), ...] -> (*...) -> Boolean
* @param {Function} combiningPredicate The predicate used to combine the values returned from the
* list of functions
* @param {Array} functions List of functions
* @return {boolean} Returns the combined result of mapping arguments to functions
* @example
*
* RA.argsPass(R.all, [RA.isArray, RA.isBoolean, RA.isString])([], false, 'abc') //=> true
* RA.argsPass(R.all, [RA.isArray, RA.isBoolean, RA.isString])([], false, 1) //=> false
* RA.argsPass(R.any, [RA.isArray, RA.isBoolean, RA.isString])({}, 1, 'abc') //=> true
* RA.argsPass(R.any, [RA.isArray, RA.isBoolean, RA.isString])({}, 1, false) //=> false
* RA.argsPass(R.none, [RA.isArray, RA.isBoolean, RA.isString])({}, 1, false) //=> true
* RA.argsPass(R.none, [RA.isArray, RA.isBoolean, RA.isString])({}, 1, 'abc') //=> false
*/
var argsPass = (0,ramda__WEBPACK_IMPORTED_MODULE_0__["default"])(function (combiningPredicate, predicates) {
return (0,ramda__WEBPACK_IMPORTED_MODULE_1__["default"])((0,ramda__WEBPACK_IMPORTED_MODULE_2__["default"])(combiningPredicate(_isTruthy_js__WEBPACK_IMPORTED_MODULE_3__["default"]), _list_js__WEBPACK_IMPORTED_MODULE_4__["default"]), predicates);
});
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (argsPass);
/***/ }),
/***/ 5466:
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(5845);
/* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(9461);
/* harmony import */ var _resolveP_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(5784);
/* harmony import */ var _rejectP_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(2075);
/**
* Takes a generator function and returns an async function.
* The async function returned is a curried function whose arity matches that of the generator function.
*
* Note: This function is handy for environments that does support generators but doesn't support async/await.
*
* @func async
* @memberOf RA
* @since {@link https://char0n.github.io/ramda-adjunct/2.16.0|v2.16.0}
* @category Function
* @sig Promise c => (a, b, ...) -> a -> b -> ... -> c
* @param {Function} generatorFn The generator function
* @return {Function} Curried async function
* @see {@link https://www.promisejs.org/generators/}
* @example
*
* const asyncFn = RA.async(function* generator(val1, val2) {
* const a = yield Promise.resolve(val1);
* const b = yield Promise.resolve(val2);
*
* return a + b;
* });
*
* asyncFn(1, 2); //=> Promise(3)
*
*/
var async = (0,ramda__WEBPACK_IMPORTED_MODULE_0__["default"])(1, function (generatorFn) {
function asyncWrapper() {
var iterator = (0,ramda__WEBPACK_IMPORTED_MODULE_1__["default"])(generatorFn, this).apply(void 0, arguments);
var _handle = function handle(result) {
var resolved = (0,_resolveP_js__WEBPACK_IMPORTED_MODULE_2__["default"])(result.value);
return result.done ? resolved : resolved.then(function (value) {
return _handle(iterator.next(value));
}, function (error) {
return _handle(iterator["throw"](error));
});
};
try {
return _handle(iterator.next());
} catch (error) {
return (0,_rejectP_js__WEBPACK_IMPORTED_MODULE_3__["default"])(error);
}
}
if (generatorFn.length > 0) {
return (0,ramda__WEBPACK_IMPORTED_MODULE_0__["default"])(generatorFn.length, asyncWrapper);
}
return asyncWrapper;
});
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (async);
/***/ }),
/***/ 2871:
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(4295);
/* harmony import */ var _isFunction_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(3800);
/**
* The catamorphism is a way of folding a type into a value.
*
* **Either**
*
* If the either is right then the right function will be executed with
* the `right` value and the value of the function returned. Otherwise the left function
* will be called with the `left` value.
*
* **Maybe**
*
* If the maybe is Some than the right function will be executed with the `some` value and the value of the function
* returned. Otherwise the left function with be called without an argument.
*
* **Result**
*
* If the result is Ok than the right function will be executed with the `Ok` value and the value of the function
* returned. Otherwise the left function will be called with the `Error` value.
*
* **Validation**
*
* If the validation is Success than the right function will be executed with the `Success` value and the value of the function
* returned. Otherwise the left function will be called with the `Failure` value.
*
* Supported monadic libraries: {@link https://monet.github.io/monet.js/|monet.js}, {@link https://folktale.origamitower.com/|folktale}, {@link https://github.com/ramda/ramda-fantasy|ramda-fantasy}
*
* @func cata
* @memberOf RA
* @since {@link https://char0n.github.io/ramda-adjunct/1.4.0|v1.4.0}
* @category Function
* @sig (a -> b) -> (a -> c) -> Cata a -> b | c
* @param {Function} leftFn The left function that consumes the left value
* @param {Function} rightFn The right function that consumes the right value
* @param {Cata} catamorphicObj Either, Maybe or any other type with catamorphic capabilities (`cata` or `either` method)
* @return {*}
* @see {@link https://monet.github.io/monet.js/#cata|cata explained}
* @example
*
* // Either
* const eitherR = Either.Right(1);
* const eitherL = Either.Left(2);
*
* RA.cata(identity, identity, eitherR); //=> 1
* RA.cata(identity, identity, eitherL); //=> 2
*
* // Maybe
* const maybeSome = Maybe.Some(1);
* const maybeNothing = Maybe.Nothing();
*
* RA.cata(identity, identity, maybeSome); //=> 1
* RA.cata(identity, identity, maybeNothing); //=> undefined
*/
var catamorphism = (0,ramda__WEBPACK_IMPORTED_MODULE_0__["default"])(function (leftFn, rightFn, catamorphicObj) {
// folktale support
if ((0,_isFunction_js__WEBPACK_IMPORTED_MODULE_1__["default"])(catamorphicObj.matchWith)) {
return catamorphicObj.matchWith({
// Result type
Ok: function Ok(_ref) {
var value = _ref.value;
return rightFn(value);
},
Error: function Error(_ref2) {
var value = _ref2.value;
return leftFn(value);
},
// Maybe type
Just: function Just(_ref3) {
var value = _ref3.value;
return rightFn(value);
},
Nothing: function Nothing() {
return leftFn(undefined);
},
// Validation type
Success: function Success(_ref4) {
var value = _ref4.value;
return rightFn(value);
},
Failure: function Failure(_ref5) {
var value = _ref5.value;
return leftFn(value);
}
});
}
if ((0,_isFunction_js__WEBPACK_IMPORTED_MODULE_1__["default"])(catamorphicObj.cata)) {
return catamorphicObj.cata(leftFn, rightFn);
}
if ((0,_isFunction_js__WEBPACK_IMPORTED_MODULE_1__["default"])(catamorphicObj.getOrElse)) {
var elseValue = "RA.cata".concat(Math.random());
var value = catamorphicObj.getOrElse(elseValue);
return value === elseValue ? leftFn() : rightFn(value);
}
return catamorphicObj.either(leftFn, rightFn);
});
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (catamorphism);
/***/ }),
/***/ 8561:
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7898);
/**
* Composable shortcut for `Promise.catch`.
* The catchP function returns a Promise. It takes two arguments: a callback function for the failure of the Promise
* and the promise instance itself.
*
* @func catchP
* @memberOf RA
* @since {@link https://char0n.github.io/ramda-adjunct/2.29.0|v2.29.0}
* @category Function
* @sig (a -> Promise b | b) -> Promise b
* @param {Function} onRejected A Function called if the Promise is rejected. This function has one argument, the rejection reason.
* @param {Promise} promise Any Promise
* @return {Promise} Returns a Promise with dealt rejected cases
* @see {@link RA.thenP|thenP}, {@link RA.resolveP|resolveP}, {@link RA.rejectP|rejectP}, {@link RA.allP|allP}
*
* @example
*
* RA.catchP(() => 'b', Promise.resolve('a')); //=> Promise('a')
* RA.catchP(() => 'b', Promise.reject('a')); //=> Promise('b')
*/
var catchP = (0,ramda__WEBPACK_IMPORTED_MODULE_0__["default"])(1, 'catch');
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (catchP);
/***/ }),
/***/ 30:
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(5845);
/* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(9461);
/**
* Returns the smallest integer greater than or equal to a given number.
*
* Note: ceil(null) returns integer 0 and does not give a NaN error.
*
* @func ceil
* @memberOf RA
* @since {@link https://char0n.github.io/ramda-adjunct/2.15.0|v2.15.0}
* @category Math
* @sig Number -> Number
* @param {number} number The number to ceil
* @return {number} The smallest integer greater than or equal to the given number
* @example
*
* RA.ceil(.95); //=> 1
* RA.ceil(4); //=> 4
* RA.ceil(7.004); //=> 8
* RA.ceil(-0.95); //=> -0
* RA.ceil(-4); //=> -4
* RA.ceil(-7.004); //=> -7
* RA.ceil(null); //=> 0
*/
var ceil = (0,ramda__WEBPACK_IMPORTED_MODULE_0__["default"])(1, (0,ramda__WEBPACK_IMPORTED_MODULE_1__["default"])(Math.ceil, Math));
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ceil);
/***/ }),
/***/ 2823:
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6173);
/* harmony import */ var _isFalsy_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(97);
/**
* Creates an array with all falsy values removed.
* The values false, null, 0, "", undefined, and NaN are falsy.
*
* @func compact
* @memberOf RA
* @since {@link https://char0n.github.io/ramda-adjunct/2.5.0|v2.5.0}
* @category List
* @sig Filterable f => f a -> f a
* @param {Array} list The array to compact
* @return {Array} Returns the new array of filtered values
* @see {@link RA.isFalsy|isFalsy}
* @example
*
* RA.compact([0, 1, false, 2, '', 3]); //=> [1, 2, 3]
*/
var compact = (0,ramda__WEBPACK_IMPORTED_MODULE_0__["default"])(_isFalsy_js__WEBPACK_IMPORTED_MODULE_1__["default"]);
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (compact);
/***/ }),
/***/ 5373:
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3628);
/* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(1182);
/* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(5920);
/* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(7866);
/* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(2366);
/* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(5883);
/* harmony import */ var _stubUndefined_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(8254);
var leftIdentitySemigroup = {
concat: ramda__WEBPACK_IMPORTED_MODULE_0__["default"]
};
/**
* Returns the result of concatenating the given lists or strings.
* Note: RA.concatAll expects all elements to be of the same type. It will throw an error if you concat an Array with a non-Array value.
* Dispatches to the concat method of the preceding element, if present. Can also concatenate multiple elements of a [fantasy-land compatible semigroup](https://github.com/fantasyland/fantasy-land#semigroup).
* Returns undefined if empty array was passed.
*
* @func concatAll
* @memberOf RA
* @since {@link https://char0n.github.io/ramda-adjunct/2.6.0|v2.6.0}
* @category List
* @sig [[a]] -> [a] | Undefined
* @sig [String] -> String | Undefined
* @sig Semigroup s => Foldable s f => f -> s | Undefined
* @param {Array.<Array|string>} list List containing elements that will be concatenated
* @return {Array|string|undefined} Concatenated elements
* @see {@link http://ramdajs.com/docs/#concat|R.concat}, {@link RA.concatRight|concatRight}, {@link http://ramdajs.com/docs/#unnest|R.unnest}, {@link http://ramdajs.com/docs/#join|R.join}
* @example
*
* concatAll([[1], [2], [3]]); //=> [1, 2, 3]
* concatAll(['1', '2', '3']); //=> '123'
* concatAll([]); //=> undefined
* concatAll(null); //=> undefined
*/
var concatAll = (0,ramda__WEBPACK_IMPORTED_MODULE_1__["default"])((0,ramda__WEBPACK_IMPORTED_MODULE_2__["default"])(ramda__WEBPACK_IMPORTED_MODULE_3__["default"], leftIdentitySemigroup), (0,ramda__WEBPACK_IMPORTED_MODULE_4__["default"])((0,ramda__WEBPACK_IMPORTED_MODULE_5__["default"])(leftIdentitySemigroup), _stubUndefined_js__WEBPACK_IMPORTED_MODULE_6__["default"]));
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (concatAll);
/***/ }),
/***/ 944:
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7293);
/* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(7866);
/**
* Returns the result of concatenating the given lists or strings.
*
* Note: R.concat expects both arguments to be of the same type, unlike
* the native Array.prototype.concat method.
* It will throw an error if you concat an Array with a non-Array value.
* Dispatches to the concat method of the second argument, if present.
*
* @func concatRight
* @memberOf RA
* @since {@link https://char0n.github.io/ramda-adjunct/1.11.0|v1.11.0}
* @category List
* @sig [a] -> [a] -> [a]
* @sig String -> String -> String
* @param {Array|String} firstList The first list
* @param {Array|String} secondList The second list
* @return {Array|String} A list consisting of the elements of `secondList`
* followed by the elements of `firstList`.
* @see {@link http://ramdajs.com/docs/#concat|R.concat}
* @example
*
* RA.concatRight('ABC', 'DEF'); //=> 'DEFABC'
* RA.concatRight([4, 5, 6], [1, 2, 3]); //=> [1, 2, 3, 4, 5, 6]
* RA.concatRight([], []); //=> []
*/
var concatRight = (0,ramda__WEBPACK_IMPORTED_MODULE_0__["default"])(ramda__WEBPACK_IMPORTED_MODULE_1__["default"]);
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (concatRight);
/***/ }),
/***/ 4757:
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(5845);
/* harmony import */ var _renameKeys_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(5190);
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
/**
* Creates a new object with the own properties of the provided object, and the
* keys copied according to the keysMap object as `{oldKey: newKey}`.
* When no key from the keysMap is found, then a shallow clone of an object is returned.
*
* Keep in mind that in the case of keys conflict is behaviour undefined and
* the result may vary between various JS engines!
*
* @func copyKeys
* @memberOf RA
* @category Object
* @sig {a: b} -> {a: *} -> {b: *}
* @param {!Object} keysMap
* @param {!Object} obj
* @return {!Object} New object with copied keys
* @see {@link RA.renameKeys|renameKeys}
* @example
*
* copyKeys({ a: 'b' }, { a: true }); //=> { a: true, b: true }
* copyKeys({ a: 'b' }, { a: true, b: false }); //=> { a: true, b: true }
*/
var copyKeys = (0,ramda__WEBPACK_IMPORTED_MODULE_0__["default"])(2, function (keysMap, obj) {
return _objectSpread(_objectSpread({}, obj), (0,_renameKeys_js__WEBPACK_IMPORTED_MODULE_1__["default"])(keysMap, obj));
});
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (copyKeys);
/***/ }),
/***/ 147:
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7487);
/* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(1618);
/* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(3628);
/* harmony import */ var _curryRightN_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(4961);
/**
* Returns a curried equivalent of the provided function.
* This function is like curry, except that the provided arguments order is reversed.
*
* @func curryRight
* @memberOf RA
* @since {@link https://char0n.github.io/ramda-adjunct/1.12.0|v1.12.0}
* @category Function
* @sig (* -> a) -> (* -> a)
* @param {Function} fn The function to curry
* @return {Function} A new, curried function
* @see {@link http://ramdajs.com/docs/#curry|R.curry}, {@link RA.curryRightN|curryRightN}
* @example
*
* const concatStrings = (a, b, c) => a + b + c;
* const concatStringsCurried = RA.curryRight(concatStrings);
*
* concatStringCurried('a')('b')('c'); // => 'cba'
*/
var curryRight = (0,ramda__WEBPACK_IMPORTED_MODULE_0__["default"])(_curryRightN_js__WEBPACK_IMPORTED_MODULE_1__["default"], [ramda__WEBPACK_IMPORTED_MODULE_2__["default"], ramda__WEBPACK_IMPORTED_MODULE_3__["default"]]);
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (curryRight);
/***/ }),
/***/ 4961:
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(5845);
/* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(5506);
/**
* Returns a curried equivalent of the provided function, with the specified arity.
* This function is like curryN, except that the provided arguments order is reversed.
*
* @func curryRightN
* @memberOf RA
* @since {@link https://char0n.github.io/ramda-adjunct/1.12.0|v1.12.0}
* @category Function
* @sig Number -> (* -> a) -> (* -> a)
* @param {number} length The arity for the returned function
* @param {Function} fn The function to curry
* @return {Function} A new, curried function
* @see {@link http://ramdajs.com/docs/#curryN|R.curryN}, {@link RA.curryRight|curryRight}
* @example
*
* const concatStrings = (a, b, c) => a + b + c;
* const concatStringsCurried = RA.curryRightN(3, concatStrings);
*
* concatStringCurried('a')('b')('c'); // => 'cba'
*/
var curryRightN = (0,ramda__WEBPACK_IMPORTED_MODULE_0__["default"])(2, function (arity, fn) {
return (0,ramda__WEBPACK_IMPORTED_MODULE_0__["default"])(arity, function wrapper() {
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key];
}
return fn.apply(this, (0,ramda__WEBPACK_IMPORTED_MODULE_1__["default"])(args));
});
});
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (curryRightN);
/***/ }),
/***/ 9999:
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(4295);
/**
* Returns the second argument if predicate function returns `true`,
* otherwise the third argument is returned.
*
* @func defaultWhen
* @memberOf RA
* @since {@link https://char0n.github.io/ramda-adjunct/2.2.0|v2.2.0}
* @category Logic
* @sig (a -> Boolean) -> b -> a -> a | b
* @param {!function} predicate The predicate function
* @param {*} defaultVal The default value
* @param {*} val `val` will be returned instead of `defaultVal` if predicate returns false
* @return {*} The `val` if predicate returns `false`, otherwise the default value
* @see {@link http://ramdajs.com/docs/#defaultTo|R.defaultTo}
* @example
*
* RA.defaultWhen(RA.isNull, 1, null); // => 1
* RA.defaultWhen(RA.isNull, 1, 2); // => 2
*/
var defaultWhen = (0,ramda__WEBPACK_IMPORTED_MODULE_0__["default"])(function (predicate, defaultVal, val) {
return predicate(val) ? defaultVal : val;
});
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (defaultWhen);
/***/ }),
/***/ 5029:
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(4295);
/* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(6850);
/* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(4073);
/* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(9538);
/* harmony import */ var _isNonNegative_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(4102);
/* harmony import */ var _isInteger_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(920);
/**
* Creates a promise which resolves/rejects after the specified milliseconds.
*
* @func delayP
* @memberOf RA
* @category Function
* @sig Number -> Promise Undefined
* @sig {timeout: Number, value: a} -> Promise a
* @param {number|Object} milliseconds number of milliseconds or options object
* @return {Promise} A Promise that is resolved/rejected with the given value (if provided) after the specified delay
* @example
*
* RA.delayP(200); //=> Promise(undefined)
* RA.delayP({ timeout: 1000, value: 'hello world' }); //=> Promise('hello world')
* RA.delayP.reject(100); //=> Promise(undefined)
* RA.delayP.reject({ timeout: 100, value: new Error('error') }); //=> Promise(Error('error'))
*/
var makeDelay = (0,ramda__WEBPACK_IMPORTED_MODULE_0__["default"])(function (settleFnPicker, opts) {
var timeout;
var value;
if ((0,_isInteger_js__WEBPACK_IMPORTED_MODULE_1__["default"])(opts) && (0,_isNonNegative_js__WEBPACK_IMPORTED_MODULE_2__["default"])(opts)) {
timeout = opts;
} else {
timeout = (0,ramda__WEBPACK_IMPORTED_MODULE_3__["default"])(0, 'timeout', opts);
value = (0,ramda__WEBPACK_IMPORTED_MODULE_3__["default"])(value, 'value', opts);
}
return new Promise(function () {
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key];
}
var settleFn = settleFnPicker(args);
setTimeout((0,ramda__WEBPACK_IMPORTED_MODULE_4__["default"])(settleFn, [value]), timeout);
});
});
var delayP = makeDelay((0,ramda__WEBPACK_IMPORTED_MODULE_5__["default"])(0));
delayP.reject = makeDelay((0,ramda__WEBPACK_IMPORTED_MODULE_5__["default"])(1));
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (delayP);
/***/ }),
/***/ 9366:
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2142);
/* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(1182);
/* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(8278);
/* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(8804);
/* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(5987);
/* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(4295);
/* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(526);
/* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(5845);
/* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(5920);
/* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(8564);
/* harmony import */ var _isNotNil_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(5368);
/* harmony import */ var _isNonEmptyArray_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(6019);
/* harmony import */ var _stubUndefined_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(8254);
function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
/**
* Can be used as a way to compose multiple invokers together to form polymorphic functions,
* or functions that exhibit different behaviors based on their argument(s).
* Consumes dispatching functions and keep trying to invoke each in turn, until a non-nil value is returned.
*
* Accepts a list of dispatching functions and returns a new function.
* When invoked, this new function is applied to some arguments,
* each dispatching function is applied to those same arguments until one of the
* dispatching functions returns a non-nil value.
*
* @func dispatch
* @memberOf RA
* @since {@link https://char0n.github.io/ramda-adjunct/2.6.0|v2.6.0}
* @category Function
* @sig [((a, b, ...) -> x1), ((a, b, ...) -> x2), ...] -> x1 | x2 | ...
* @para