UNPKG

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,291 lines (1,103 loc) 779 kB
(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__ = ({ /***/ 3: /***/ ((__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 _internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2173); /* harmony import */ var _internal_path_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(8506); /* harmony import */ var _equals_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(7911); /** * Determines whether a nested path on an object has a specific value, in * [`R.equals`](#equals) terms. Most likely used to filter a list. * * @func * @memberOf R * @since v0.7.0 * @category Relation * @typedefn Idx = String | Int | Symbol * @sig a -> [Idx] -> {a} -> Boolean * @param {*} val The value to compare the nested property with * @param {Array} path The path of the nested property to use * @param {Object} obj The object to check the nested property in * @return {Boolean} `true` if the value equals the nested object property, * `false` otherwise. * @see R.whereEq, R.propEq, R.pathSatisfies, R.equals * @example * * const user1 = { address: { zipCode: 90210 } }; * const user2 = { address: { zipCode: 55555 } }; * const user3 = { name: 'Bob' }; * const users = [ user1, user2, user3 ]; * const isFamous = R.pathEq(90210, ['address', 'zipCode']); * R.filter(isFamous, users); //=> [ user1 ] */ var pathEq = /*#__PURE__*/(0,_internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function pathEq(val, pathAr, obj) { return (0,_equals_js__WEBPACK_IMPORTED_MODULE_2__["default"])((0,_internal_path_js__WEBPACK_IMPORTED_MODULE_1__["default"])(pathAr, obj), val); }); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (pathEq); /***/ }), /***/ 19: /***/ ((__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 */ isNaNPonyfill: () => (/* binding */ isNaNPonyfill) /* harmony export */ }); /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(5845); /* harmony import */ var _isFunction_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(3800); /* harmony import */ var _internal_ponyfills_Number_isNaN_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(7221); var isNaNPonyfill = (0,ramda__WEBPACK_IMPORTED_MODULE_0__["default"])(1, _internal_ponyfills_Number_isNaN_js__WEBPACK_IMPORTED_MODULE_2__["default"]); /** * Checks whether the passed value is `NaN` and its type is `Number`. * It is a more robust version of the original, global isNaN(). * * * @func isNaN * @memberOf RA * @since {@link https://char0n.github.io/ramda-adjunct/0.6.0|v0.6.0} * @category Type * @sig * -> Boolean * @param {*} val The value to test * @return {boolean} * @see {@link RA.isNotNaN|isNotNaN} * @example * * RA.isNaN(NaN); // => true * RA.isNaN(Number.NaN); // => true * RA.isNaN(0 / 0); // => true * * // e.g. these would have been true with global isNaN(). * RA.isNaN('NaN'); // => false * RA.isNaN(undefined); // => false * RA.isNaN({}); // => false * RA.isNaN('blabla'); // => false * * RA.isNaN(true); // => false * RA.isNaN(null); // => false * RA.isNaN(37); // => false * RA.isNaN('37'); // => false * RA.isNaN('37.37'); // => false * RA.isNaN(''); // => false * RA.isNaN(' '); // => false */ var _isNaN = (0,_isFunction_js__WEBPACK_IMPORTED_MODULE_1__["default"])(Number.isNaN) ? (0,ramda__WEBPACK_IMPORTED_MODULE_0__["default"])(1, Number.isNaN) : isNaNPonyfill; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_isNaN); /***/ }), /***/ 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__(9461); /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(5845); /** * 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_1__["default"])(1, (0,ramda__WEBPACK_IMPORTED_MODULE_0__["default"])(Math.ceil, Math)); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ceil); /***/ }), /***/ 67: /***/ ((__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 _curry1_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3579); /* harmony import */ var _isArray_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(5564); /* harmony import */ var _isString_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(8228); /** * Tests whether or not an object is similar to an array. * * @private * @category Type * @category List * @sig * -> Boolean * @param {*} x The object to test. * @return {Boolean} `true` if `x` has a numeric length property and extreme indices defined; `false` otherwise. * @example * * _isArrayLike([]); //=> true * _isArrayLike(true); //=> false * _isArrayLike({}); //=> false * _isArrayLike({length: 10}); //=> false * _isArrayLike({0: 'zero', 9: 'nine', length: 10}); //=> true * _isArrayLike({nodeType: 1, length: 1}) // => false */ var _isArrayLike = /*#__PURE__*/(0,_curry1_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function isArrayLike(x) { if ((0,_isArray_js__WEBPACK_IMPORTED_MODULE_1__["default"])(x)) { return true; } if (!x) { return false; } if (typeof x !== 'object') { return false; } if ((0,_isString_js__WEBPACK_IMPORTED_MODULE_2__["default"])(x)) { return false; } if (x.length === 0) { return true; } if (x.length > 0) { return x.hasOwnProperty(0) && x.hasOwnProperty(x.length - 1); } return false; }); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_isArrayLike); /***/ }), /***/ 97: /***/ ((__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__(5690); /* harmony import */ var _isTruthy_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(1092); /** * A falsy value is a value that translates to false when evaluated in a Boolean context. * Falsy values are `false`, `0`, `""`, `null`, `undefined`, and `NaN`. * * @func isFalsy * @memberOf RA * @since {@link https://char0n.github.io/ramda-adjunct/2.2.0|v2.2..0} * @category Type * @sig * -> Boolean * @param {*} val The value to test * @return {boolean} * @see {@link https://developer.mozilla.org/en-US/docs/Glossary/Falsy|falsy}, {@link RA.isTruthy|isTruthy} * @example * * RA.isFalsy(false); // => true * RA.isFalsy(0); // => true * RA.isFalsy(''); // => true * RA.isFalsy(null); // => true * RA.isFalsy(undefined); // => true * RA.isFalsy(NaN); // => true */ var isFalsy = (0,ramda__WEBPACK_IMPORTED_MODULE_0__["default"])(_isTruthy_js__WEBPACK_IMPORTED_MODULE_1__["default"]); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (isFalsy); /***/ }), /***/ 108: /***/ ((__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__(5690); /* harmony import */ var _isNilOrEmpty_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(9251); /** * Returns `false` if the given value is its type's empty value, `null` or `undefined`. * * @func isNotNilOrEmpty * @memberOf RA * @since {@link https://char0n.github.io/ramda-adjunct/2.18.0|v2.18.0} * @category Type * @sig * -> Boolean * @param {*} val The value to test * @return {boolean} * @see {@link RA.isNilOrEmpty|isNilOrEmpty} * @example * * RA.isNotNilOrEmpty([1, 2, 3]); //=> true * RA.isNotNilOrEmpty([]); //=> false * RA.isNotNilOrEmpty(''); //=> false * RA.isNotNilOrEmpty(null); //=> false * RA.isNotNilOrEmpty(undefined): //=> false * RA.isNotNilOrEmpty({}); //=> false * RA.isNotNilOrEmpty({length: 0}); //=> true */ var isNotNilOrEmpty = (0,ramda__WEBPACK_IMPORTED_MODULE_0__["default"])(_isNilOrEmpty_js__WEBPACK_IMPORTED_MODULE_1__["default"]); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (isNotNilOrEmpty); /***/ }), /***/ 141: /***/ ((__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__(6183); /** * A function that returns `null`. * * @func stubNull * @memberOf RA * @since {@link https://char0n.github.io/ramda-adjunct/1.6.0|v1.6.0} * @category Function * @sig ... -> null * @return {null} * @example * * RA.stubNull(); //=> null * RA.stubNull(1, 2, 3); //=> null */ var stubNull = (0,ramda__WEBPACK_IMPORTED_MODULE_0__["default"])(null); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (stubNull); /***/ }), /***/ 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_1__ = __webpack_require__(3628); /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(1618); /* harmony import */ var _curryRightN_js__WEBPACK_IMPORTED_MODULE_3__ = __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_3__["default"], [ramda__WEBPACK_IMPORTED_MODULE_2__["default"], ramda__WEBPACK_IMPORTED_MODULE_1__["default"]]); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (curryRight); /***/ }), /***/ 155: /***/ ((__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 _isInteger32_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(9713); /** * Checks whether the passed value is {@link https://github.com/getify/You-Dont-Know-JS/blob/9959fc904d584bbf0b02cf41c192f74ff4238581/types-grammar/ch4.md#the-curious-case-of-the-|a sentinel value}. * * @func isSentinelValue * @memberOf RA * @since {@link https://char0n.github.io/ramda-adjunct/2.33.0|v2.33.0} * @category Type * @sig * -> Boolean * @param {*} val The value to test * @return {boolean} * @example * * RA.isSentinelValue(-1); //=> true * * RA.isSentinelValue('-1'); //=> false * RA.isSentinelValue(1); //=> false * RA.isSentinelValue([-1]); //=> false */ var isSentinelValue = (0,ramda__WEBPACK_IMPORTED_MODULE_0__["default"])(1, function (val) { return (0,_isInteger32_js__WEBPACK_IMPORTED_MODULE_1__["default"])(val) && ~val === 0; }); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (isSentinelValue); /***/ }), /***/ 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); /***/ }), /***/ 249: /***/ ((__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__(5845); /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(8804); /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(2598); /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(5920); /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(7094); /* harmony import */ var _internal_ap_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(7061); /** * "lifts" a function to be the specified arity, so that it may "map over" objects that satisfy * the fantasy land Apply spec of algebraic structures. * * Lifting is specific for {@link https://github.com/scalaz/scalaz|scalaz} and {@link http://www.functionaljava.org/|functional java} implementations. * Old version of fantasy land spec were not compatible with this approach, * but as of fantasy land 1.0.0 Apply spec also adopted this approach. * * This function acts as interop for ramda <= 0.23.0 and {@link https://monet.github.io/monet.js/|monet.js}. * * More info {@link https://github.com/fantasyland/fantasy-land/issues/50|here}. * * @func liftFN * @memberOf RA * @since {@link https://char0n.github.io/ramda-adjunct/1.2.0|v1.2.0} * @category Function * @sig Apply a => Number -> (a... -> a) -> (a... -> a) * @param {number} arity The arity of the lifter function * @param {Function} fn The function to lift into higher context * @return {Function} The lifted function * @see {@link http://ramdajs.com/docs/#lift|R.lift}, {@link http://ramdajs.com/docs/#ap|R.ap} * @example * * const { Maybe } = require('monet'); * * const add3 = (a, b, c) => a + b + c; * const madd3 = RA.liftFN(3, add3); * * madd3(Maybe.Some(10), Maybe.Some(15), Maybe.Some(17)); //=> Maybe.Some(42) * madd3(Maybe.Some(10), Maybe.Nothing(), Maybe.Some(17)); //=> Maybe.Nothing() */ var liftFN = (0,ramda__WEBPACK_IMPORTED_MODULE_0__["default"])(function (arity, fn) { var lifted = (0,ramda__WEBPACK_IMPORTED_MODULE_1__["default"])(arity, fn); return (0,ramda__WEBPACK_IMPORTED_MODULE_1__["default"])(arity, function () { for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } var accumulator = (0,ramda__WEBPACK_IMPORTED_MODULE_3__["default"])(lifted, (0,ramda__WEBPACK_IMPORTED_MODULE_2__["default"])(args)); var apps = (0,ramda__WEBPACK_IMPORTED_MODULE_5__["default"])(1, Infinity, args); return (0,ramda__WEBPACK_IMPORTED_MODULE_4__["default"])(_internal_ap_js__WEBPACK_IMPORTED_MODULE_6__["default"], accumulator, apps); }); }); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (liftFN); /***/ }), /***/ 252: /***/ ((__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 */ repeatStrInvoker: () => (/* binding */ repeatStrInvoker), /* harmony export */ repeatStrPonyfill: () => (/* binding */ repeatStrPonyfill) /* harmony export */ }); /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(4295); /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(7293); /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(7898); /* harmony import */ var _internal_ponyfills_String_repeat_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(1237); /* harmony import */ var _isFunction_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(3800); var repeatStrPonyfill = (0,ramda__WEBPACK_IMPORTED_MODULE_0__["default"])(_internal_ponyfills_String_repeat_js__WEBPACK_IMPORTED_MODULE_3__["default"]); var repeatStrInvoker = (0,ramda__WEBPACK_IMPORTED_MODULE_1__["default"])((0,ramda__WEBPACK_IMPORTED_MODULE_2__["default"])(1, 'repeat')); /** * Constructs and returns a new string which contains the specified * number of copies of the string on which it was called, concatenated together. * * @func repeatStr * @memberOf RA * @since {@link https://char0n.github.io/ramda-adjunct/2.11.0|v2.11.0} * @category List * @sig String -> Number -> String * @param {string} value String value to be repeated * @param {number} count An integer between 0 and +∞: [0, +∞), indicating the number of times to repeat the string in the newly-created string that is to be returned * @return {string} A new string containing the specified number of copies of the given string * @example * * RA.repeatStr('a', 3); //=> 'aaa' */ var repeatStr = (0,_isFunction_js__WEBPACK_IMPORTED_MODULE_4__["default"])(String.prototype.repeat) ? repeatStrInvoker : repeatStrPonyfill; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (repeatStr); /***/ }), /***/ 259: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ _reduced) /* harmony export */ }); function _reduced(x) { return x && x['@@transducer/reduced'] ? x : { '@@transducer/value': x, '@@transducer/reduced': true }; } /***/ }), /***/ 270: /***/ ((__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 _toUinteger32_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(7575); /** * Checks whether the passed value is an unsigned 32 bit integer. * * @func isUinteger32 * @aliases isUint32 * @memberOf RA * @since {@link https://char0n.github.io/ramda-adjunct/3.2.0|v3.2.0} * @category Type * @sig * -> Boolean * @param {*} val The value to test * @return {boolean} * @see {@link RA.toUinteger32|toUinteger32} * @example * * RA.isUinteger32(0); //=> true * RA.isUinteger32(2 ** 32 - 1); //=> true * * RA.isUinteger32(Infinity); //=> false * RA.isUinteger32(NaN); //=> false * RA.isUinteger32(-1); //=> false * RA.isUinteger32(2 ** 32); //=> false */ var isUinteger32 = (0,ramda__WEBPACK_IMPORTED_MODULE_0__["default"])(1, function (val) { return (0,_toUinteger32_js__WEBPACK_IMPORTED_MODULE_1__["default"])(val) === val; }); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (isUinteger32); /***/ }), /***/ 292: /***/ ((__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 _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2254); /* harmony import */ var _internal_isFunction_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(3893); /* harmony import */ var _lift_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(3519); /* harmony import */ var _or_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(4407); /** * A function wrapping calls to the two functions in an `||` operation, * returning the result of the first function if it is truth-y and the result * of the second function otherwise. Note that this is short-circuited, * meaning that the second function will not be invoked if the first returns a * truth-y value. * * In addition to functions, `R.either` also accepts any fantasy-land compatible * applicative functor. * * @func * @memberOf R * @since v0.12.0 * @category Logic * @sig (*... -> Boolean) -> (*... -> Boolean) -> (*... -> Boolean) * @param {Function} f a predicate * @param {Function} g another predicate * @return {Function} a function that applies its arguments to `f` and `g` and `||`s their outputs together. * @see R.both, R.anyPass, R.or * @example * * const gt10 = x => x > 10; * const even = x => x % 2 === 0; * const f = R.either(gt10, even); * f(101); //=> true * f(8); //=> true * * R.either(Maybe.Just(false), Maybe.Just(55)); // => Maybe.Just(55) * R.either([false, false, 'a'], [11]) // => [11, 11, "a"] */ var either = /*#__PURE__*/(0,_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function either(f, g) { return (0,_internal_isFunction_js__WEBPACK_IMPORTED_MODULE_1__["default"])(f) ? function _either() { return f.apply(this, arguments) || g.apply(this, arguments); } : (0,_lift_js__WEBPACK_IMPORTED_MODULE_2__["default"])(_or_js__WEBPACK_IMPORTED_MODULE_3__["default"])(f, g); }); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (either); /***/ }), /***/ 320: /***/ ((__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 _isInteger_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(4279); /* harmony import */ var _nth_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(6359); function _prop(p, obj) { if (obj == null) { return; } return (0,_isInteger_js__WEBPACK_IMPORTED_MODULE_0__["default"])(p) ? (0,_nth_js__WEBPACK_IMPORTED_MODULE_1__["default"])(p, obj) : obj[p]; } /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_prop); /***/ }), /***/ 356: /***/ ((__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__(6183); /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(8564); /* harmony import */ var _internal_isCoercible_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(9884); /** * Converts value to a number. * * @func toNumber * @memberOf RA * @since {@link https://char0n.github.io/ramda-adjunct/2.36.0|v2.36.0} * @category Type * @param {*} val The value to convert * @return {Number} * @example * * RA.toNumber(3.2); //=> 3.2 * RA.toNumber(Number.MIN_VALUE); //=> 5e-324 * RA.toNumber(Infinity); //=> Infinity * RA.toNumber('3.2'); //=> 3.2 * RA.toNumber(Symbol('3.2')); //=> NaN */ var toNumber = (0,ramda__WEBPACK_IMPORTED_MODULE_1__["default"])(_internal_isCoercible_js__WEBPACK_IMPORTED_MODULE_2__["default"], Number, (0,ramda__WEBPACK_IMPORTED_MODULE_0__["default"])(NaN)); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (toNumber); /***/ }), /***/ 371: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ _checkForMethod) /* harmony export */ }); /* harmony import */ var _isArray_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(5564); /** * This checks whether a function has a [methodname] function. If it isn't an * array it will execute that function otherwise it will default to the ramda * implementation. * * @private * @param {Function} fn ramda implementation * @param {String} methodname property to check for a custom implementation * @return {Object} Whatever the return value of the method is. */ function _checkForMethod(methodname, fn) { return function () { var length = arguments.length; if (length === 0) { return fn(); } var obj = arguments[length - 1]; return (0,_isArray_js__WEBPACK_IMPORTED_MODULE_0__["default"])(obj) || typeof obj[methodname] !== 'function' ? fn.apply(this, arguments) : obj[methodname].apply(obj, Array.prototype.slice.call(arguments, 0, length - 1)); }; } /***/ }), /***/ 392: /***/ ((__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); /** * Weaves a configuration into function returning the runnable monad like `Reader` or `Free`. * This allows us to pre-bind the configuration in advance and use the weaved function * without need to explicitly pass the configuration on every call. * * @func weave * @memberOf RA * @since {@link https://char0n.github.io/ramda-adjunct/1.7.0|v1.7.0} * @category Function * @sig (*... -> *) -> * -> (*... -> *) * @param {Function} fn The function to weave * @param {*} config The configuration to weave into fn * @return {Function} Auto-curried weaved function * @example * * const { Reader: reader } = require('monet'); * * const log = value => reader( * config => config.log(value) * ); * * // no weaving * log('test').run(console); //=> prints 'test' * * // weaving * const wlog = RA.weave(log, console); * wlog('test'); //=> prints 'test' */ var weave = (0,ramda__WEBPACK_IMPORTED_MODULE_0__["default"])(2, function (fn, config) { return (0,ramda__WEBPACK_IMPORTED_MODULE_0__["default"])(fn.length, function () { return fn.apply(void 0, arguments).run(config); }); }); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (weave); /***/ }), /***/ 397: /***/ ((__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__(5690); /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(4407); /** * Returns true if both arguments are falsy; false otherwise. * * @func nor * @memberOf RA * @since {@link https://char0n.github.io/ramda-adjunct/2.20.0|v2.20.0} * @category Logic * @sig a -> b -> a ⊽ b * @param {*} a * @param {*} b * @return {boolean} true if both arguments are falsy * @see {@link RA.neither|neither} * @example * * RA.nor(true, true); //=> false * RA.nor(false, true); //=> false * RA.nor(true, false); //=> false * RA.nor(false, false); //=> true * RA.nor(1, 1); //=> false * RA.nor(1, 0); //=> false * RA.nor(0, 1); //=> false * RA.nor(0, 0); //=> true */ var nor = (0,ramda__WEBPACK_IMPORTED_MODULE_0__["default"])(ramda__WEBPACK_IMPORTED_MODULE_1__["default"]); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (nor); /***/ }), /***/ 406: /***/ ((__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__(8276); /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(2366); /* harmony import */ var _isString_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(9705); /** * Escapes the RegExp special characters. * * @func escapeRegExp * @memberOf RA * @since {@link https://char0n.github.io/ramda-adjunct/2.21.0|v2.21.0} * @category String * @sig String -> String * @param {string} val the value to escape * @return {string} * @see {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions#Escaping|MDN Regular Expressions Escaping} * @example * * RA.escapeRegExp('[ramda-adjunct](https://github.com/char0n/ramda-adjunct)'); //=> '\[ramda\-adjunct\]\(https://github\.com/char0n/ramda\-adjunct\)' */ var escapeRegExp = (0,ramda__WEBPACK_IMPORTED_MODULE_1__["default"])(_isString_js__WEBPACK_IMPORTED_MODULE_2__["default"], (0,ramda__WEBPACK_IMPORTED_MODULE_0__["default"])(/[.*+?^${}()|[\]\\-]/g, '\\$&')); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (escapeRegExp); /***/ }), /***/ 430: /***/ ((__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__(5690); /* harmony import */ var _lensSatisfies_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(607); /** * Returns `true` if data structure focused by the given lens doesn't satisfy the predicate. * Note that the predicate is expected to return boolean value. * * @func lensNotSatisfy * @memberOf RA * @since {@link https://char0n.github.io/ramda-adjunct/1.13.0|1.13.0} * @category Relation * @typedef Lens s a = Functor f => (a -> f a) -> s -> f s * @sig Boolean b => (a -> b) -> Lens s a -> s -> b * @see {@link RA.lensSatisfies|lensSatisfies} * @param {Function} predicate The predicate function * @param {Function} lens Van Laarhoven lens * @param {*} data The data structure * @return {boolean} `false` if the focused data structure satisfies the predicate, `true` otherwise * * @example * * RA.lensNotSatisfy(RA.isTrue, R.lensIndex(0), [false, true, 1]); // => true * RA.lensNotSatisfy(RA.isTrue, R.lensIndex(1), [false, true, 1]); // => false * RA.lensNotSatisfy(RA.isTrue, R.lensIndex(2), [false, true, 1]); // => true * RA.lensNotSatisfy(R.identity, R.lensProp('x'), { x: 1 }); // => true */ var lensNotSatisfy = (0,ramda__WEBPACK_IMPORTED_MODULE_0__["default"])(_lensSatisfies_js__WEBPACK_IMPORTED_MODULE_1__["default"]); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (lensNotSatisfy); /***/ }), /***/ 451: /***/ ((__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__(1821); /* harmony import */ var _internal_compareLength_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(2329); /** * Returns `true` if the supplied list or string has a length greater than `valueLength`. * * @func lengthGt * @memberOf RA * @since {@link https://char0n.github.io/ramda-adjunct/2.8.0|v2.8.0} * @category List * @sig Number -> [*] -> Boolean * @param {number} valueLength The length of the list or string * @param {Array|string} value The list or string * @return {boolean} * @see {@link RA.lengthEq|lengthEq}, {@link RA.lengthNotEq|lengthNotEq}, {@link RA.lengthLt|lengthLt}, {@link RA.lengthLte|lengthLte}, {@link RA.lengthGte|lengthGte}, {@link http://ramdajs.com/docs/#gt|gt}, {@link http://ramdajs.com/docs/#length|length} * @example * * RA.lengthGt(3, [1,2,3,4]); //=> true * RA.lengthGt(3, [1,2,3]); //=> false */ var lengthGt = (0,_internal_compareLength_js__WEBPACK_IMPORTED_MODULE_2__["default"])((0,ramda__WEBPACK_IMPORTED_MODULE_0__["default"])(ramda__WEBPACK_IMPORTED_MODULE_1__["default"])); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (lengthGt); /***/ }), /***/ 464: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ _isNumber) /* harmony export */ }); function _isNumber(x) { return Object.prototype.toString.call(x) === '[object Number]'; } /***/ }), /***/ 481: /***/ ((__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__(9968); /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(3628); /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(2598); /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(4445); /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(1182); /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(2610); /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(7359); var pathToAscendSort = (0,ramda__WEBPACK_IMPORTED_MODULE_4__["default"])(ramda__WEBPACK_IMPORTED_MODULE_3__["default"], ramda__WEBPACK_IMPORTED_MODULE_0__["default"]); var mapPathsToAscendSort = (0,ramda__WEBPACK_IMPORTED_MODULE_2__["default"])(pathToAscendSort); /** * Sort a list of objects by a list of paths (if first path value is equivalent, sort by second, etc). * * @func sortByPaths * @memberOf RA * @since {@link https://char0n.github.io/ramda-adjunct/3.1.0|v3.1.0} * @category List * @sig [[k]] -> [{k: v}] -> [{k: v}] * @param {Array.<Array.<string>>} paths A list of paths in the list param to sort by * @param {Array.<object>} list A list of objects to be sorted * @return {Array.<object>} A new list sorted by the paths in the paths param * @example * * const alice = { * name: 'Alice', * address: { * street: 31, * zipCode: 97777, * }, * }; * const bob = { * name: 'Bob', * address: { * street: 31, * zipCode: 55555, * }, * }; * const clara = { * name: 'Clara', * address: { * street: 32, * zipCode: 90210, * }, * }; * const people = [clara, bob, alice] * * RA.sortByPaths([ * ['address', 'street'], * ['address', 'zipCode'], * ], people); // => [bob, alice, clara] * * RA.sortByPaths([ * ['address', 'zipCode'], * ['address', 'street'], * ], people); // => [bob, clara, alice] */ var sortByPaths = (0,ramda__WEBPACK_IMPORTED_MODULE_6__["default"])(ramda__WEBPACK_IMPORTED_MODULE_5__["default"], [mapPathsToAscendSort, ramda__WEBPACK_IMPORTED_MODULE_1__["default"]]); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (sortByPaths); /***/ }), /***/ 495: /***/ ((__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__(5690); /* harmony import */ var _isAsyncFunction_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(1586); /** * Checks if input value is complement of `Async Function` * * @func isNotAsyncFunction * @memberOf RA * @since {@link https://char0n.github.io/ramda-adjunct/0.5.0|v0.5.0} * @category Type * @sig * -> Boolean * @param {*} val The value to test * @return {boolean} * @see {@link RA.isFunction|isFunction}, {@link RA.isAsyncFunction|isAsyncFunction}, {@link RA.isGeneratorFunction|isGeneratorFunction} * @example * * RA.isNotAsyncFunction(async function test() { }); //=> false * RA.isNotAsyncFunction(null); //=> true * RA.isNotAsyncFunction(function test() { }); //=> true * RA.isNotAsyncFunction(() => {}); //=> true */ var isNotAsyncFunction = (0,ramda__WEBPACK_IMPORTED_MODULE_0__["default"])(_isAsyncFunction_js__WEBPACK_IMPORTED_MODULE_1__["default"]); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (isNotAsyncFunction); /***/ }), /***/ 516: /***/ ((__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 _invoker_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7898); /** * Splits a string into an array of strings based on the given * separator. * * @func * @memberOf R * @since v0.1.0 * @category String * @sig (String | RegExp) -> String -> [String] * @param {String|RegExp} sep The pattern. * @param {String} str The string to separate into an array. * @return {Array} The array of strings from `str` separated by `sep`. * @see R.join * @example * * const pathComponents = R.split('/'); * R.tail(pathComponents('/usr/local/bin/node')); //=> ['usr', 'local', 'bin', 'node'] * * R.split('.', 'a.b.c.xyz.d'); //=> ['a', 'b', 'c', 'xyz', 'd'] */ var split = /*#__PURE__*/(0,_invoker_js__WEBPACK_IMPORTED_MODULE_0__["default"])(1, 'split'); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (split); /***/ }), /***/ 522: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ _xArrayReduce) /* harmony export */ }); function _xArrayReduce(xf, acc, list) { var idx = 0; var len = list.length; while (idx < len) { acc = xf['@@transducer/step'](acc, list[idx]); if (acc && acc['@@transducer/reduced']) { acc = acc['@@transducer/value']; break; } idx += 1; } return xf['@@transducer/result'](acc); } /***/ }), /***/ 526: /***/ ((__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 _internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3579); /* harmony import */ var _internal_reduced_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(259); /** * Returns a value wrapped to indicate that it is the final value of the reduce * and transduce functions. The returned value should be considered a black * box: the internal structure is not guaranteed to be stable. * * This optimization is available to the below functions: * - [`reduce`](#reduce) * - [`reduceWhile`](#reduceWhile) * - [`reduceBy`](#reduceBy) * - [`reduceRight`](#reduceRight) * - [`transduce`](#transduce) * * @func * @memberOf R * @since v0.15.0 * @category List * @sig a -> * * @param {*} x The final value of the reduce. * @return {*} The wrapped value. * @see R.reduce, R.reduceWhile, R.reduceBy, R.reduceRight, R.transduce * @example * * R.reduce( * (acc, item) => item > 3 ? R.reduced(acc) : acc.concat(item), * [], * [1, 2, 3, 4, 5]) // [1, 2, 3] */ var reduced = /*#__PURE__*/(0,_internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__["default"])(_internal_reduced_js__WEBPACK_IMPORTED_MODULE_1__["default"]); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (reduced); /***/ }), /***/ 557: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ _cloneRegExp) /* harmony export */ }); function _cloneRegExp(pattern) { return new RegExp(pattern.source, pattern.flags ? pattern.flags : (pattern.global ? 'g' : '') + (pattern.ignoreCase ? 'i' : '') + (pattern.multiline ? 'm' : '') + (pattern.sticky ? 'y' : '') + (pattern.unicode ? 'u' : '') + (pattern.dotAll ? 's' : '')); } /***/ }), /***/ 565: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ _toString) /* harmony export */ }); /* harmony import */ var _includes_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3112); /* harmony import */ var _map_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(8267); /* harmony import */ var _quote_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(9017); /* harmony import */ var _toISOString_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(6894); /* harmony import */ var _keys_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(2506); /* harmony import */ var _reject_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(6173); function _toString(x, seen) { var recur = function recur(y) { var xs = seen.concat([x]); return (0,_includes_js__WEBPACK_IMPORTED_MODULE_0__["default"])(y, xs) ? '<Circular>' : _toString(y, xs); }; // mapPairs :: (Object, [String]) -> [String] var mapPairs = function (obj, keys) { return (0,_map_js__WEBPACK_IMPORTED_MODULE_1__["default"])(function (k) { return (0,_quote_js__WEBPACK_IMPORTED_MODULE_2__["default"])(k) + ': ' + recur(obj[k]); }, keys.slice().sort()); }; switch (Object.prototype.toString.call(x)) { case '[object Arguments]': return '(function() { return arguments; }(' + (0,_map_js__WEBPACK_IMPORTED_MODULE_1__["default"])(recur, x).join(', ') + '))'; case '[object Array]': return '[' + (0,_map_js__WEBPACK_IMPORTED_MODULE_1__["default"])(recur, x).concat(mapPairs(x, (0,_reject_js__WEBPACK_IMPORTED_MODULE_5__["default"])(function (k) { return /^\d+$/.test(k); }, (0,_keys_js__WEBPACK_IMPORTED_MODULE_4__["default"])(x)))).join(', ') + ']'; case '[object Boolean]': return typeof x === 'object' ? 'new Boolean(' + recur(x.valueOf()) + ')' : x.toString(); case '[object Date]': return 'new Date(' + (isNaN(x.valueOf()) ? recur(NaN) : (0,_quote_js__WEBPACK_IMPORTED_MODULE_2__["default"])((0,_toISOString_js__WEBPACK_IMPORTED_MODULE_3__["default"])(x))) + ')'; case '[object Map]': return 'new Map(' + recur(Array.from(x)) + ')'; case '[object Null]': return 'null'; case '[object Number]': return typeof x === 'object' ? 'new Number(' + recur(x.valueOf()) + ')' : 1 / x === -Infinity ? '-0' : x.toString(10); case '[object Set]': return 'new Set(' + recur(Array.from(x).sort()) + ')'; case '[object String]': return typeof x === 'object' ? 'new String(' + recur(x.valueOf()) + ')' : (0,_quote_js__WEBPACK_IMPORTED_MODULE_2__["default"])(x); case '[object Undefined]': return 'undefined'; default: if (typeof x.toString === 'function') { var repr = x.toString(); if (repr !== '[object Object]') { return repr; } } return '{' + mapPairs(x, (0,_keys_js__WEBPACK_IMPORTED_MODULE_4__["default"])(x)).join(', ') + '}'; } } /***/ }), /***/ 607: /***/ ((__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__(2291); /* harmony import */ var _isTrue_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(5828); /** * Returns `true` if data structure focused by the given lens satisfies the predicate. * Note that the predicate is expected to return boolean value and will be evaluated * as `false` unless the predicate returns `true`. * * @func lensSatisfies * @memberOf RA * @since {@link https://char0n.github.io/ramda-adjunct/1.13.0|1.13.0} * @category Relation * @typedef Lens s a = Functor f => (a -> f a) -> s -> f s * @sig Boolean b => (a -> b) -> Lens s a -> s -> b * @see {@link RA.lensNotSatisfy|lensNotSatisfy} * @param {Function} predicate The predicate function * @param {Function} lens Van Laarhoven lens * @param {*} data The data structure * @return {boolean} `true` if the focused data structure satisfies the predicate, `false` otherwise * * @example * * RA.lensSatisfies(RA.isTrue, R.lensIndex(0), [false, true, 1]); // => false * RA.lensSatisfies(RA.isTrue, R.lensIndex(1), [false, true, 1]); // => true * RA.lensSatisfies(RA.isTrue, R.lensIndex(2), [false, true, 1]); // => false * RA.lensSatisfies(R.identity, R.lensProp('x'), { x: 1 }); // => false */ var lensSatisfies = (0,ramda__WEBPACK_IMPORTED_MODULE_0__["default"])(3, function (predicate, lens, data) { return (0,ramda__WEBPACK_IMPORTED_MODULE_1__["default"])((0,ramda__WEBPACK_IMPORTED_MODULE_2__["default"])(lens), predicate, _isTrue_js__WEBPACK_IMPORTED_MODULE_3__["default"])(data); }); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (lensSatisfies); /***/ }), /***/ 612: /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ _