rambda 9.4.2 → 10.0.0-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +69 -1
- package/README.md +4637 -13433
- package/dist/rambda.esm.js +1487 -0
- package/dist/rambda.js +952 -2113
- package/dist/rambda.umd.js +1595 -1
- package/immutable.d.ts +1066 -1293
- package/index.d.ts +1066 -1293
- package/package.json +95 -94
- package/rambda.js +10 -138
- package/src/_internals/baseSlice.js +5 -7
- package/src/_internals/createPath.js +4 -6
- package/src/_internals/includes.js +8 -4
- package/src/_internals/set.js +11 -11
- package/src/all.js +8 -6
- package/src/allPass.js +4 -4
- package/src/any.js +10 -10
- package/src/anyPass.js +4 -4
- package/src/append.js +4 -6
- package/src/checkObjectWithSpec.js +16 -0
- package/src/complement.js +1 -1
- package/src/concat.js +2 -4
- package/src/count.js +5 -4
- package/src/countBy.js +6 -7
- package/src/defaultTo.js +4 -6
- package/src/drop.js +4 -2
- package/src/dropLast.js +4 -8
- package/src/dropLastWhile.js +17 -26
- package/src/dropWhile.js +14 -22
- package/src/eqBy.js +3 -8
- package/src/eqProps.js +3 -8
- package/src/equals.js +99 -58
- package/src/evolve.js +19 -52
- package/src/excludes.js +5 -0
- package/src/filter.js +10 -40
- package/src/filterObject.js +13 -0
- package/src/find.js +6 -6
- package/src/findIndex.js +5 -5
- package/src/findLast.js +6 -6
- package/src/findLastIndex.js +5 -5
- package/src/flatMap.js +3 -0
- package/src/flatten.js +5 -5
- package/src/groupBy.js +9 -7
- package/src/head.js +5 -3
- package/src/includes.js +10 -7
- package/src/indexOf.js +2 -6
- package/src/init.js +6 -8
- package/src/innerJoin.js +11 -19
- package/src/intersection.js +2 -4
- package/src/intersperse.js +7 -7
- package/src/join.js +2 -4
- package/src/last.js +4 -4
- package/src/lastIndexOf.js +2 -6
- package/src/map.js +9 -49
- package/src/mapAsync.js +11 -0
- package/src/mapObject.js +18 -0
- package/src/mapObjectAsync.js +10 -0
- package/src/match.js +6 -6
- package/src/maxBy.js +2 -8
- package/src/merge.js +4 -1
- package/src/mergeTypes.js +3 -0
- package/src/minBy.js +2 -8
- package/src/modifyPath.js +22 -25
- package/src/none.js +8 -6
- package/src/objOf.js +2 -6
- package/src/omit.js +26 -11
- package/src/partition.js +20 -23
- package/src/path.js +14 -15
- package/src/pick.js +15 -15
- package/src/pipe.js +70 -13
- package/src/pipeAsync.js +10 -0
- package/src/pluck.js +7 -9
- package/src/prepend.js +2 -6
- package/src/prop.js +2 -10
- package/src/propEq.js +8 -10
- package/src/propOr.js +7 -8
- package/src/propSatisfies.js +2 -7
- package/src/range.js +3 -3
- package/src/reduce.js +15 -30
- package/src/reject.js +2 -4
- package/src/replace.js +2 -8
- package/src/replaceItemAtIndex.js +15 -0
- package/src/sort.js +2 -4
- package/src/sortBy.js +3 -3
- package/src/sortWith.js +9 -13
- package/src/split.js +2 -4
- package/src/splitEvery.js +6 -8
- package/src/symmetricDifference.js +5 -8
- package/src/tail.js +2 -2
- package/src/take.js +11 -9
- package/src/takeLast.js +14 -14
- package/src/takeLastWhile.js +19 -20
- package/src/takeWhile.js +12 -21
- package/src/tap.js +3 -3
- package/src/test.js +2 -8
- package/src/tryCatch.js +5 -14
- package/src/type.js +6 -5
- package/src/union.js +10 -8
- package/src/uniq.js +2 -2
- package/src/uniqBy.js +5 -6
- package/src/uniqWith.js +10 -14
- package/src/unless.js +7 -9
- package/src/unwind.js +6 -14
- package/src/update.js +8 -11
- package/src/when.js +7 -9
- package/src/zip.js +8 -8
- package/src/zipWith.js +5 -7
- package/src/F.js +0 -3
- package/src/T.js +0 -3
- package/src/_internals/_arity.js +0 -64
- package/src/_internals/compare.js +0 -3
- package/src/_internals/constants.js +0 -1
- package/src/_internals/createPathInput.js +0 -7
- package/src/_internals/isFalsy.js +0 -13
- package/src/_internals/isInteger.js +0 -10
- package/src/_internals/isIterable.js +0 -5
- package/src/_internals/isObject.js +0 -5
- package/src/_internals/isTruthy.js +0 -13
- package/src/_internals/objectIs.js +0 -9
- package/src/_internals/utils.js +0 -21
- package/src/add.js +0 -5
- package/src/addIndex.js +0 -23
- package/src/addIndexRight.js +0 -9
- package/src/adjust.js +0 -16
- package/src/always.js +0 -3
- package/src/and.js +0 -5
- package/src/ap.js +0 -7
- package/src/aperture.js +0 -15
- package/src/apply.js +0 -7
- package/src/applySpec.js +0 -132
- package/src/applyTo.js +0 -7
- package/src/ascend.js +0 -23
- package/src/assoc.js +0 -11
- package/src/assocPath.js +0 -46
- package/src/binary.js +0 -5
- package/src/bind.js +0 -9
- package/src/both.js +0 -5
- package/src/call.js +0 -1
- package/src/chain.js +0 -7
- package/src/clamp.js +0 -15
- package/src/clone.js +0 -18
- package/src/collectBy.js +0 -27
- package/src/comparator.js +0 -5
- package/src/compose.js +0 -9
- package/src/composeWith.js +0 -33
- package/src/cond.js +0 -14
- package/src/converge.js +0 -18
- package/src/curry.js +0 -7
- package/src/curryN.js +0 -40
- package/src/dec.js +0 -1
- package/src/descend.js +0 -17
- package/src/difference.js +0 -8
- package/src/differenceWith.js +0 -20
- package/src/dissoc.js +0 -13
- package/src/dissocPath.js +0 -47
- package/src/divide.js +0 -5
- package/src/dropRepeats.js +0 -20
- package/src/dropRepeatsBy.js +0 -21
- package/src/dropRepeatsWith.js +0 -28
- package/src/either.js +0 -8
- package/src/empty.js +0 -15
- package/src/endsWith.js +0 -23
- package/src/flip.js +0 -23
- package/src/forEach.js +0 -19
- package/src/forEachObjIndexed.js +0 -24
- package/src/fromPairs.js +0 -6
- package/src/groupWith.js +0 -46
- package/src/gt.js +0 -6
- package/src/gte.js +0 -6
- package/src/has.js +0 -7
- package/src/hasIn.js +0 -9
- package/src/hasPath.js +0 -9
- package/src/identical.js +0 -7
- package/src/identity.js +0 -3
- package/src/ifElse.js +0 -17
- package/src/inc.js +0 -1
- package/src/indexBy.js +0 -29
- package/src/insert.js +0 -11
- package/src/insertAll.js +0 -7
- package/src/is.js +0 -8
- package/src/isEmpty.js +0 -18
- package/src/isNil.js +0 -3
- package/src/isNotEmpty.js +0 -5
- package/src/isNotNil.js +0 -3
- package/src/isPromise.js +0 -5
- package/src/juxt.js +0 -3
- package/src/keys.js +0 -3
- package/src/length.js +0 -8
- package/src/lens.js +0 -7
- package/src/lensIndex.js +0 -7
- package/src/lensPath.js +0 -7
- package/src/lensProp.js +0 -7
- package/src/lt.js +0 -6
- package/src/lte.js +0 -6
- package/src/mathMod.js +0 -8
- package/src/max.js +0 -5
- package/src/maybe.js +0 -13
- package/src/mean.js +0 -5
- package/src/median.js +0 -17
- package/src/mergeAll.js +0 -11
- package/src/mergeDeepLeft.js +0 -5
- package/src/mergeDeepRight.js +0 -24
- package/src/mergeLeft.js +0 -7
- package/src/mergeRight.js +0 -8
- package/src/mergeWith.js +0 -25
- package/src/min.js +0 -5
- package/src/modify.js +0 -23
- package/src/modulo.js +0 -5
- package/src/move.js +0 -19
- package/src/multiply.js +0 -5
- package/src/negate.js +0 -3
- package/src/not.js +0 -3
- package/src/nth.js +0 -9
- package/src/of.js +0 -3
- package/src/on.js +0 -16
- package/src/once.js +0 -24
- package/src/or.js +0 -5
- package/src/over.js +0 -14
- package/src/partial.js +0 -17
- package/src/partialObject.js +0 -5
- package/src/pathEq.js +0 -11
- package/src/pathOr.js +0 -11
- package/src/pathSatisfies.js +0 -9
- package/src/paths.js +0 -9
- package/src/pickAll.js +0 -23
- package/src/pickBy.js +0 -11
- package/src/product.js +0 -4
- package/src/propIs.js +0 -10
- package/src/props.js +0 -13
- package/src/reduceBy.js +0 -29
- package/src/removeIndex.js +0 -7
- package/src/repeat.js +0 -7
- package/src/reverse.js +0 -9
- package/src/set.js +0 -9
- package/src/slice.js +0 -9
- package/src/splitAt.js +0 -21
- package/src/splitWhen.js +0 -25
- package/src/startsWith.js +0 -23
- package/src/subtract.js +0 -5
- package/src/sum.js +0 -3
- package/src/swap.js +0 -42
- package/src/times.js +0 -12
- package/src/toLower.js +0 -3
- package/src/toPairs.js +0 -3
- package/src/toString.js +0 -3
- package/src/toUpper.js +0 -3
- package/src/transpose.js +0 -10
- package/src/trim.js +0 -3
- package/src/unapply.js +0 -5
- package/src/unnest.js +0 -9
- package/src/values.js +0 -6
- package/src/view.js +0 -10
- package/src/where.js +0 -15
- package/src/whereAny.js +0 -12
- package/src/whereEq.js +0 -14
- package/src/without.js +0 -15
- package/src/xor.js +0 -5
- package/src/zipObj.js +0 -13
package/dist/rambda.umd.js
CHANGED
|
@@ -1 +1,1595 @@
|
|
|
1
|
-
!function(n,r){"object"==typeof exports&&"undefined"!=typeof module?r(exports):"function"==typeof define&&define.amd?define(["exports"],r):r((n="undefined"!=typeof globalThis?globalThis:n||self).R={})}(this,function(n){function a(n,l){switch(n){case 0:return function(){return l.apply(this,arguments)};case 1:return function(n){return l.apply(this,arguments)};case 2:return function(n,r){return l.apply(this,arguments)};case 3:return function(n,r,t){return l.apply(this,arguments)};case 4:return function(n,r,t,e){return l.apply(this,arguments)};case 5:return function(n,r,t,e,u){return l.apply(this,arguments)};case 6:return function(n,r,t,e,u,i){return l.apply(this,arguments)};case 7:return function(n,r,t,e,u,i,o){return l.apply(this,arguments)};case 8:return function(n,r,t,e,u,i,o,c){return l.apply(this,arguments)};case 9:return function(n,r,t,e,u,i,o,c,f){return l.apply(this,arguments)};default:return function(n,r,t,e,u,i,o,c,f,a){return l.apply(this,arguments)}}}function t(r,n){if(1===arguments.length)return function(n){return t(r,n)};if(10<r)throw Error("First argument to _arity must be a non-negative integer no greater than ten");return a(r,function i(o,c,f){return function(){for(var n=0,r=0,t=c.length,e=arguments.length,u=Array(t+e);n<t;)u[n]=c[n],n++;for(;r<e;)u[t+r]=arguments[r],r++;return u.length<o?a(o-u.length,i(o,u,f)):f.apply(this,u)}}(r,[],n))}function q(u){var i=1<arguments.length&&void 0!==arguments[1]?arguments[1]:function(){return 0},o=2<arguments.length&&void 0!==arguments[2]?arguments[2]:function(n){return n+1};return t(u.length,function(){var r=arguments[0],t=arguments[arguments.length-1],e=i(t.length),n=Array.prototype.slice.call(arguments,0);return n[0]=function(){var n=r.apply(this,function(n,r){for(var t=(n=n||[]).length,e=(r=r||[]).length,u=[],i=0;i<t;)u[u.length]=n[i],i+=1;for(i=0;i<e;)u[u.length]=r[i],i+=1;return u}(arguments,[e,t]));return e=o(e),n},u.apply(this,n)})}function l(n){return Array.prototype.slice.call(n)}function e(n,r){for(var t=0,e=Array(r=null!=r&&r<=n.length?r:n.length);t<r;t++)e[t]=n[t];return e}function C(n,r){if(!(n instanceof r))throw new TypeError("Cannot call a class as a function")}function U(n,r){if(r)for(var t=n.prototype,e=r,u=0;u<e.length;u++){var i=e[u];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,L(i.key),i)}return Object.defineProperty(n,"prototype",{writable:!1}),n}function c(n,r,t){return(r=L(r))in n?Object.defineProperty(n,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[r]=t,n}function D(r,n){var t,e=Object.keys(r);return Object.getOwnPropertySymbols&&(t=Object.getOwnPropertySymbols(r),n&&(t=t.filter(function(n){return Object.getOwnPropertyDescriptor(r,n).enumerable})),e.push.apply(e,t)),e}function f(r){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?D(Object(t),!0).forEach(function(n){c(r,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):D(Object(t)).forEach(function(n){Object.defineProperty(r,n,Object.getOwnPropertyDescriptor(t,n))})}return r}function o(n,r){return function(n){if(Array.isArray(n))return n}(n)||function(n,r){var t=null==n?null:"undefined"!=typeof Symbol&&n[Symbol.iterator]||n["@@iterator"];if(null!=t){var e,u,i,o,c=[],f=!0,a=!1;try{if(i=(t=t.call(n)).next,0!==r)for(;!(f=(e=i.call(t)).done)&&(c.push(e.value),c.length!==r);f=!0);}catch(n){a=!0,u=n}finally{try{if(!f&&null!=t.return&&Object(o=t.return())!==o)return}finally{if(a)throw u}}return c}}(n,r)||z(n,r)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function h(n){return function(n){if(Array.isArray(n))return e(n)}(n)||function(n){if("undefined"!=typeof Symbol&&null!=n[Symbol.iterator]||null!=n["@@iterator"])return Array.from(n)}(n)||z(n)||function(){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 L(n){n=function(n,r){if("object"!=typeof n||!n)return n;var t=n[Symbol.toPrimitive];if(void 0===t)return("string"===r?String:Number)(n);if("object"!=typeof(t=t.call(n,r||"default")))return t;throw new TypeError("@@toPrimitive must return a primitive value.")}(n,"string");return"symbol"==typeof n?n:n+""}function s(n){return(s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(n){return typeof n}:function(n){return n&&"function"==typeof Symbol&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n})(n)}function z(n,r){var t;if(n)return"string"==typeof n?e(n,r):"Map"===(t="Object"===(t={}.toString.call(n).slice(8,-1))&&n.constructor?n.constructor.name:t)||"Set"===t?Array.from(n):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?e(n,r):void 0}function p(u){var i=1<arguments.length&&void 0!==arguments[1]?arguments[1]:[];return function(){for(var n,r=arguments.length,t=Array(r),e=0;e<r;e++)t[e]=arguments[e];return(n=[].concat(h(i),t)).length<u.length?p(u,n):u.apply(void 0,h(n))}}var M=p(function(n,r,t){var e=n<0?t.length+n:n;return t.length<=n||e<0?t:((n=l(t))[e]=r(n[e]),n)});function _(r){return function(n){return r}}var g=Array.isArray;function i(n){var r,t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:0;for(r in n)!1!=n.hasOwnProperty(r)&&"constructor"!==r&&("object"===s(n[r])&&(t=Math.max(t,i(n[r]))),"function"==typeof n[r])&&(t=Math.max(t,n[r].length));return t}function v(){for(var n=[],r=0,t=arguments.length;r<t&&void 0!==arguments[r];)n[r]=arguments[r],r++;return n}function u(n,r,t,e){return n===r?0:n<r?t:e}function y(n,r,t){return Object.assign({},t,c({},n,r))}var J=p(y);function H(n){return Number.isInteger(+(""+n))}var d=Number.isInteger||function(n){return n<<0===n};function m(n,r){return"string"==typeof n?n.split(1<arguments.length&&void 0!==r?r:".").map(function(n){return d(n)?+(""+n):n}):n}function $(n,r,t){var e,u,n=m(n);return 0===n.length?r:(e=n[0],1<n.length&&(u="object"!==s(t)||null===t||!t.hasOwnProperty(e)?H(n[1])?[]:{}:t[e],r=$(Array.prototype.slice.call(n,1),r,u)),H(e)&&g(t)?((n=l(t))[e]=r,n):y(e,r,t))}var G=p($);var K=p(function(n,r,t){if(r<n)throw Error("min must not be greater than max in clamp(min, max, value)");return t<n||r<t?r<t?r:t<n?n:void 0:t});function b(n){var r,t=g(n)?Array(n.length):{};if(n&&n.getTime)return new Date(n.getTime());for(r in n){var e=n[r];t[r]="object"===s(e)&&null!==e?e.getTime?new Date(e.getTime()):b(e):e}return t}var Q=U(function n(r){C(this,n),this.value=r});function V(n,r,t){if(null!=t){if(!g(t))throw new TypeError("reduce: list must be array or iterable");for(var e=0,u=t.length;e<u;){if((r=n(r,t[e],e,t))instanceof Q)return r.value;e++}}return r}var w=p(V);function X(n,r){return function(){return r.call(this,n.apply(this,arguments))}}function Y(){if(0===arguments.length)throw Error("pipe requires at least one argument");return a(arguments[0].length,V(X,arguments[0],Array.prototype.slice.call(arguments,1,1/0)))}function Z(n){return"string"==typeof n?n[0]||"":n[0]}function nn(n){return n}function rn(n){return"string"==typeof n?n.split("").reverse().join(""):n.slice().reverse()}function j(r,n){return 1===arguments.length?function(n){return j(r,n)}:n.slice(0<r?r:0)}function tn(n){return j(1,n)}function en(t,n){var r,e;return 0<n.length?(r=Z(n),e=tn(n),a(r.length,function(){return w(function(n,r){return t.call(this,r,n)},r.apply(this,arguments),e)})):nn}function un(r,n){return 1===arguments.length?function(n){return un(r,n)}:"string"==typeof r?"".concat(r).concat(n):[].concat(h(r),h(n))}var on="Incorrect iterable input",cn=Object.keys;function O(n,r){for(var t=2<arguments.length&&void 0!==arguments[2]&&arguments[2],e=0,u=Array(r.length);e<r.length;)u[e]=t?n(r[e],e):n(r[e]),e++;return u}function A(r,n){if(1===arguments.length)return function(n){return A(r,n)};for(var t=0,e=cn(n),u=e.length,i={};t<u;){var o=e[t];i[o]=r(n[o],o,n),t++}return i}var fn=A;function E(r,n){if(1===arguments.length)return function(n){return E(r,n)};if(n)return(g(n)?O:A)(r,n);throw Error(on)}function an(r,n){return 1===arguments.length?function(n){return an(r,n)}:r<n?n:r}function N(r,n){return 1===arguments.length?function(n){return N(r,n)}:null==(t=n)||!0===Number.isNaN(t)?r:n;var t}function x(n){return null===n?"Null":void 0===n?"Undefined":Number.isNaN(n)?"NaN":"AsyncFunction"===(n=Object.prototype.toString.call(n).slice(8,-1))?"Promise":n}function ln(n,r){if(!g(r))throw Error("Cannot read property 'indexOf' of ".concat(r));var t=x(n);if(!["Array","NaN","Object","RegExp"].includes(t))return r.lastIndexOf(n);for(var e=r.length,u=-1;-1<--e&&-1===u;)S(r[e],n)&&(u=e);return u}function P(n,r){if(!g(r))throw Error("Cannot read property 'indexOf' of ".concat(r));var t=x(n);if(!["Array","NaN","Object","RegExp"].includes(t))return r.indexOf(n);for(var e=-1,u=-1,i=r.length;++e<i&&-1===u;)S(r[e],n)&&(u=e);return u}function hn(n){for(var r,t=[];!(r=n.next()).done;)t.push(r.value);return t}function sn(n){return n.toDateString?[!0,n.getTime()]:[!1]}function pn(n){return n.constructor!==RegExp?[!1]:[!0,""+n]}function S(t,e){var n,u,i,r,o,c,f,a;return 1===arguments.length?function(n){return S(t,n)}:!!Object.is(t,e)||(n=x(t))===x(e)&&("Function"===n?void 0!==t.name&&t.name===e.name:!!["NaN","Null","Undefined"].includes(n)||(["BigInt","Number"].includes(n)?Object.is(-0,t)===Object.is(-0,e)&&""+t==""+e:["Boolean","String"].includes(n)?""+t==""+e:"Array"===n?""+(r=Array.from(t))==""+(u=Array.from(e))&&(i=!0,r.forEach(function(n,r){!i||n===u[r]||S(n,u[r])||(i=!1)}),i):(r=pn(t),o=pn(e),r[0]?!!o[0]&&r[1]===o[1]:!o[0]&&(r=sn(t),o=sn(e),r[0]?!!o[0]&&r[1]===o[1]:!o[0]&&(t instanceof Error?e instanceof Error&&(r=t).message===(o=e).message&&r.toString===o.toString&&""+r==""+o:"Set"===n?(o=t).size===(f=e).size&&(o=hn(o.values()),c=hn(f.values()),0===o.filter(function(n){return-1===P(n,c)}).length):"Object"===n&&(f=Object.keys(t)).length===Object.keys(e).length&&(a=!0,f.forEach(function(n){var r;a&&(r=t[n])!==(n=e[n])&&!S(r,n)&&(a=!1)}),a))))))}function k(r,n){if(1===arguments.length)return function(n){return k(r,n)};if("string"==typeof n)return n.includes(r);if(n)return!!g(n)&&-1<P(r,n);throw new TypeError("Cannot read property 'indexOf' of ".concat(n))}var gn=function(){return U(function n(){C(this,n),this.set=new Set,this.items={}},[{key:"checkUniqueness",value:function(n){var r=x(n);return["Null","Undefined","NaN"].includes(r)?!(r in this.items)&&(this.items[r]=!0):["Object","Array"].includes(r)?r in this.items?-1===P(n,this.items[r])&&(this.items[r].push(n),!0):(this.items[r]=[n],!0):(r=this.set.size,this.set.add(n),this.set.size!==r)}}])}();function vn(n){var r=new gn,t=[];return n.forEach(function(n){r.checkUniqueness(n)&&t.push(n)}),t}function yn(t,n,r){var e=[],n=o(n.length<r.length?[r,n]:[n,r],2),r=n[0],u=n[1];return r.forEach(function(r){u.some(function(n){return t(r,n)})||-1!==P(r,e)||e.push(r)}),e}var dn=p(yn);function mn(r,n){if(1===arguments.length)return function(n){return mn(r,n)};if(null!=n){var t,e=m(r,","),u={};for(t in n)!function(n,r){for(var t=-1,e=r.length;++t<e;)if(""+r[t]==""+n)return 1}(t,e)&&(u[t]=n[t]);return u}}function bn(n,r){for(var t=r,e=0,u=m(n);e<u.length;){if(null==t)return;if(null===t[u[e]])return;t=t[u[e]],e++}return t}function F(r,n){return 1===arguments.length?function(n){return F(r,n)}:null!=n?bn(r,n):void 0}function wn(r,n){return 1===arguments.length?function(n){return wn(r,n)}:0<r?r<n.length-1?[].concat(h(n.slice(0,r)),h(n.slice(r+1))):n.slice(0,n.length-1):n.slice(1)}function jn(n,r,t){t=l(t);return-1===n?t.fill(r,n):t.fill(r,n,n+1)}var On=p(jn);function An(n,r,t){return S(n(r),n(t))}var En=p(An);function Nn(n,r){if(r)return r[n]}function I(r,n){return 1===arguments.length?function(n){return I(r,n)}:Nn(r,n)}var xn=p(function(n,r,t){return S(I(n,r),I(n,t))});function Pn(t,n){return O(function(n,r){return"Function"===x(t[r])?t[r](n):n},n,!0)}function Sn(e,n){return A(function(n,r){var t;return"Object"===x(n)?"Function"===(t=x(e[r]))?e[r](n):"Object"===t?kn(e[r],n):n:"Function"===x(e[r])?e[r](n):n},n)}function kn(r,n){if(1===arguments.length)return function(n){return kn(r,n)};var t=x(r),e=x(n);if(e!==t)throw Error("iterableType !== rulesType");if(["Object","Array"].includes(t))return("Object"===e?Sn:Pn)(r,n);throw Error("'iterable' and 'rules' are from wrong type ".concat(t))}function Fn(n,r){var t,e={};for(t in r)n(r[t],t,r)&&(e[t]=r[t]);return e}function In(n,r){for(var t=2<arguments.length&&void 0!==arguments[2]&&arguments[2],e=0,u=r.length,i=[];e<u;)(t?n(r[e],e):n(r[e]))&&i.push(r[e]),e++;return i}function T(r,n){if(1===arguments.length)return function(n){return T(r,n)};if(n)return g(n)?In(r,n,!1):Fn(r,n);throw Error("Incorrect iterable input")}function Tn(n,r){for(var t=0,e=cn(r),u=e.length;t<u;){var i=e[t];n(r[i],i,r),t++}return r}function Wn(r,n){return 1===arguments.length?function(n){return Wn(r,n)}:!!n&&n.hasOwnProperty(r)}var Bn=Object.is||function(n,r){return n===r?0!==n||1/n==1/r:n!=n&&r!=r};var Rn=p(function(n,r,t){return function(){return(("boolean"==typeof n?n:n.apply(void 0,arguments))?r:t).apply(void 0,arguments)}});function qn(n,r,t){for(var e=-1,u=n.length,i=((t=u<t?u:t)<0&&(t+=u),u=t<r?0:t-r>>>0,r>>>=0,Array(u));++e<u;)i[e]=n[e+r];return i}function Cn(o,n,c){for(var r=function(n){for(var r=o,t=n,e=c,u=0,i=e.length;u<i;){if(r(t,e[u]))return 1;u+=1}},t=n,e=0,u=t.length,i=[];e<u;)r(t[e])&&(i[i.length]=t[e]),e+=1;return i}var Un=p(Cn);function Dn(n,r,t){return[].concat(h(t.slice(0,n)),[r],h(t.slice(n)))}var Ln=p(Dn);function zn(n,r,t){return[].concat(h(t.slice(0,n)),h(r),h(t.slice(n)))}var Mn=p(zn);function _n(r,n){return 1===arguments.length?function(n){return _n(r,n)}:null!=n&&n.constructor===r||n instanceof r}function Jn(n){var r=x(n);return!(["Undefined","NaN","Number","Null"].includes(r)||n&&("Object"===r?0!==Object.keys(n).length:"Array"!==r||0!==n.length))}function r(t,e){return function(n){return function(r){return n(t(r)).map(function(n){return e(n,r)})}}}function Hn(r,n){var t;return 1===arguments.length?function(n){return Hn(r,n)}:(t=r<0?n.length+r:r,"[object String]"===Object.prototype.toString.call(n)?n[0|t]||"":n[t])}function $n(n,r,t){return n(t)>n(r)?t:r}var Gn=p($n);function Kn(n){return n.reduce(function(n,r){return n+r},0)}function Qn(n){return Kn(n)/n.length}function W(r,n){return 1===arguments.length?function(n){return W(r,n)}:Object.assign({},r||{},n||{})}function B(r,t){var e;return 1===arguments.length?function(n){return B(r,n)}:(e=b(r),Object.keys(t).forEach(function(n){"Object"===x(t[n])&&"Object"===x(r[n])?e[n]=B(r[n],t[n]):e[n]=t[n]}),e)}function Vn(r,n,t){var e=null!=n?n:{},u=null!=t?t:{},i={};return Object.keys(e).forEach(function(n){i[n]=void 0===u[n]?e[n]:r(e[n],u[n])}),Object.keys(u).forEach(function(n){void 0===i[n]&&(i[n]=void 0===e[n]?u[n]:r(e[n],u[n]))}),i}var Xn=p(Vn);function Yn(n,r,t){return n(t)<n(r)?t:r}var Zn=p(Yn);var nr=p(function(n,r,t){var e;return!Array.isArray(e=t)&&"Object"!==x(e)||void 0===t[n]?t:g(t)?jn(n,r(t[n]),t):f(f({},t),{},c({},n,r(t[n])))});function rr(n,r,t){n=m(n);return 1===n.length?f(f({},t),{},c({},n[0],r(t[n[0]]))):void 0===F(n,t)||(r=tr(Array.prototype.slice.call(n,1),r,t[n[0]]))===t[n[0]]?t:J(n[0],r,t)}var tr=p(rr);var er=p(function(n,r,t){if(n<0||r<0)throw Error("Rambda.move does not support negative indexes");var e;return t.length-1<n||t.length-1<r?t:((e=l(t))[n]=t[r],e[r]=t[n],e)});function ur(r,n){return 1===arguments.length?function(n){return ur(r,n)}:r*n}function ir(n,r){var t;return function(){return n&&(t=n.apply(r||this,arguments),n=null),t}}var or=function(r){return{x:r,map:function(n){return or(n(r))}}};var cr=p(function(n,r,t){return n(function(n){return or(r(n))})(t).x});function fr(e){for(var u=e.length,n=arguments.length,r=Array(1<n?n-1:0),t=1;t<n;t++)r[t-1]=arguments[t];var i=1===r.length&&g(r[0])?r[0]:r;return function(){for(var n=arguments.length,r=Array(n),t=0;t<n;t++)r[t]=arguments[t];return i.length+r.length<u?fr.apply(void 0,[e].concat([].concat(h(i),r))):e.apply(void 0,h(i).concat(r))}}function ar(t,n){var e={},u={};return Object.entries(n).forEach(function(n){var n=o(n,2),r=n[0],n=n[1];t(n,r)?e[r]=n:u[r]=n}),[e,u]}function lr(n,r){for(var t=2<arguments.length&&void 0!==arguments[2]&&arguments[2],e=[],u=[],i=-1;i++<r.length-1;)((t?n(r[i],i):n(r[i]))?e:u).push(r[i]);return[e,u]}var hr=p(function(n,r,t){return S(F(n,t),r)});var sr=p(function(n,r,t){return N(n,F(r,t))});function pr(n,r,t){if(0===r.length)throw Error("R.pathSatisfies received an empty path");return!!n(F(r,t))}var gr=p(pr);var vr=w(ur,1);var yr=p(function(n,r,t){return!!t&&S(n,I(r,t))});var dr=p(function(n,r,t){return _n(n,t[r])});var mr=p(function(n,r,t){return t?N(n,t[r]):n});var br=p(function(n,r,t){return n(I(r,t))});function wr(r,n){if(1===arguments.length)return function(n){return wr(r,n)};if(Number.isNaN(+(""+r))||Number.isNaN(+(""+n)))throw new TypeError("Both arguments to range must be numbers");if(n<r)return[];for(var t=n-r,e=Array(t),u=0;u<t;u++)e[u]=r+u;return e}function jr(i,o,c,n){return w(function(n,r){return t=i,e=o,n=n,u=(u=c)(r=r),t=t(Wn(u,n)?n[u]:b(e),r),n[u]=t,n;var t,e,u},{},n)}var Or=p(jr);var Ar=p(function(n,r,t){return t.replace(n,r)});var Er=p(function(n,r,t){return cr(n,_(r),t)});var Nr=p(function(n,r,t){return t.slice(n,r)});function R(r,n){return 1===arguments.length?function(n){return R(r,n)}:r<0?n.slice():"string"==typeof n?n.slice(0,r):qn(n,0,r)}var xr=p(function(n,r,t){var e,u,i,o;return g(t)||"string"==typeof t?(i=t,(e=(e=n)<0?i.length+e:e)===(u=(u=r)<0?i.length+u:u)||Math.min(e,u)<0||i.length<=Math.max(e,u)?i:"string"==typeof i?i.slice(0,e)+i[u]+i.slice(e+1,u)+i[e]+i.slice(u+1):(o=(i=i.slice())[e],i[e]=i[u],i[u]=o,i)):void 0===t[n]||void 0===t[r]?t:f(f({},t),{},c(c({},n,t[r]),r,t[n]))});function Pr(n){return["Promise","Function"].includes(x(n))}var Sr=p(function(n,r,t){return n(t)?t:r(t)});var kr=function(r){return{x:r,map:function(n){return kr(r)}}};var Fr=p(function(n,r,t){return n(t)?r(t):t});var Ir=p(function(t,n,e){return R((e.length<n.length?e:n).length,n).map(function(n,r){return t(n,e[r])})});n.F=function(){return!1},n.T=function(){return!0},n.__findHighestArity=i,n._indexOf=P,n._lastIndexOf=ln,n._pipe=X,n.add=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:+(""+t)+ +(""+n)},n.addIndex=q,n.addIndexRight=function(n){return q(n,function(n){return n-1},function(n){return n-1})},n.adjust=M,n.all=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};for(var e=0;e<n.length;e++)if(!t(n[e]))return!1;return!0},n.allPass=function(r){return function(){for(var n=0;n<r.length;){if(!r[n].apply(r,arguments))return!1;n++}return!0}},n.always=_,n.and=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:t&&n},n.any=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};for(var e=0;e<n.length;){if(t(n[e],e))return!0;e++}return!1},n.anyPass=function(r){return function(){for(var n=0;n<r.length;){if(r[n].apply(r,arguments))return!0;n++}return!1}},n.ap=function r(t,e){return 1===arguments.length?function(n){return r(t,n)}:t.reduce(function(n,r){return[].concat(h(n),h(e.map(r)))},[])},n.aperture=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};if(n.length<t)return[];for(var e=0,u=n.length-(t-1),i=Array(u);e<u;)i[e]=n.slice(e,e+t),e+=1;return i},n.append=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:"string"==typeof n?n.split("").concat(t):((n=l(n)).push(t),n)},n.apply=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:t.apply(this,n)},n.applySpec=function(n){var r=i(n);if(0===r)return function(){return{}};for(var t=arguments.length,e=Array(1<t?t-1:0),u=1;u<t;u++)e[u-1]=arguments[u];return function u(i,o,c){var n=o-c.length;if(1==n)return function(n){return u(i,o,v.apply(void 0,h(c).concat([n])))};if(2==n)return function(n,r){return u(i,o,v.apply(void 0,h(c).concat([n,r])))};if(3==n)return function(n,r,t){return u(i,o,v.apply(void 0,h(c).concat([n,r,t])))};if(4==n)return function(n,r,t,e){return u(i,o,v.apply(void 0,h(c).concat([n,r,t,e])))};if(4<n)return function(){for(var n=arguments.length,r=Array(n),t=0;t<n;t++)r[t]=arguments[t];return u(i,o,v.apply(void 0,h(c).concat(r)))};if(g(i)){for(var r=[],t=0,e=i.length;t<e;t++)"object"!==s(i[t])&&!g(i[t])||(r[t]=u(i[t],o,c)),"function"==typeof i[t]&&(r[t]=i[t].apply(i,h(c)));return r}var f,a={};for(f in i)0!=i.hasOwnProperty(f)&&"constructor"!==f&&("object"===s(i[f])?a[f]=u(i[f],o,c):"function"==typeof i[f]&&(a[f]=i[f].apply(i,h(c))));return a}(n,r,e)},n.applyTo=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:n(t)},n.ascend=function t(e,n,r){return 1===arguments.length?function(n,r){return t(e,n,r)}:u(e(n),e(r),-1,1)},n.assoc=J,n.assocFn=y,n.assocPath=G,n.assocPathFn=$,n.binary=function(t){return 2<t.length?function(n,r){return t(n,r)}:t},n.bind=function r(e,u){return 1===arguments.length?function(n){return r(e,n)}:t(e.length,function(){for(var n=arguments.length,r=Array(n),t=0;t<n;t++)r[t]=arguments[t];return e.apply(u,r)})},n.both=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:function(){return t.apply(void 0,arguments)&&n.apply(void 0,arguments)}},n.call=function(n){for(var r=arguments.length,t=Array(1<r?r-1:0),e=1;e<r;e++)t[e-1]=arguments[e];return n.apply(void 0,t)},n.chain=function r(t,n){var e;return 1===arguments.length?function(n){return r(t,n)}:(e=[]).concat.apply(e,h(n.map(t)))},n.clamp=K,n.clone=b,n.collectBy=function r(e,n){if(1===arguments.length)return function(n){return r(e,n)};var t,u=w(function(n,r){var t=e(r);return void 0===n[t]&&(n[t]=[]),n[t].push(r),n},{},n),i=[];for(t in u)i.push(u[t]);return i},n.comparator=function(t){return function(n,r){return t(n,r)?-1:t(r,n)?1:0}},n.complement=function(n){return function(){return!n.apply(void 0,arguments)}},n.compose=function(){if(0===arguments.length)throw Error("compose requires at least one argument");return Y.apply(this,Array.prototype.slice.call(arguments,0).reverse())},n.composeWith=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:en(t,rn(n))},n.concat=un,n.cond=function(i){return function(){for(var n=arguments.length,t=Array(n),r=0;r<n;r++)t[r]=arguments[r];var e,u=!1;return i.forEach(function(n){var n=o(n,2),r=n[0],n=n[1];!u&&r.apply(void 0,t)&&(u=!0,e=n.apply(void 0,t))}),e}},n.converge=function r(e,n){return 1===arguments.length?function(n){return r(e,n)}:t(w(function(n,r){return an(n,r.length)},0,n),function(){var r=arguments,t=this;return e.apply(this,E(function(n){return n.apply(t,r)},n))})},n.count=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:g(n)?n.filter(function(n){return t(n)}).length:0},n.countBy=function r(t,n){var e;return 1===arguments.length?function(n){return r(t,n)}:(e={},n.forEach(function(n){n=t(n),e[n]?e[n]++:e[n]=1}),e)},n.createCompareFunction=u,n.curry=p,n.curryN=t,n.dec=function(n){return n-1},n.defaultTo=N,n.descend=function t(e,n,r){return 1===arguments.length?function(n,r){return t(e,n,r)}:u(e(n),e(r),1,-1)},n.difference=function r(t,e){return 1===arguments.length?function(n){return r(t,n)}:vn(t).filter(function(n){return!k(n,e)})},n.differenceWith=dn,n.differenceWithFn=yn,n.dissoc=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};if(null==n)return{};var e,u={};for(e in n)u[e]=n[e];return delete u[t],u},n.dissocPath=function r(t,n){var e,u,i;return 1===arguments.length?function(n){return r(t,n)}:0===(i=m(t)).length||void 0===F(i,n)?n:(e=i[0],u="object"!==s(n)||null===n||!n.hasOwnProperty(e),1<i.length?(u=u?H(i[1])?[]:{}:n[e],i=r(Array.prototype.slice.call(i,1),u,n),g(n)?On(e,i,n):f(f({},n),{},c({},e,i))):g(n)?wn(e,n):mn([e],n))},n.divide=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:t/n},n.drop=j,n.dropLast=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:0<t?n.slice(0,-t):n.slice()},n.dropLastWhile=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};if(0===n.length)return n;var e=g(n);if("function"!=typeof t)throw Error("'predicate' is from wrong type ".concat(s(t)));if(!e&&"string"!=typeof n)throw Error("'iterable' is from wrong type ".concat(s(n)));for(var u=[],i=n.length;i;){var o=n[--i];if(!t(o)){u.push(o);break}}for(;i;)u.push(n[--i]);return e?u.reverse():u.reverse().join("")},n.dropRepeats=function(n){var t;if(g(n))return t=[],n.reduce(function(n,r){return S(n,r)||t.push(r),r},void 0),t;throw Error("".concat(n," is not a list"))},n.dropRepeatsBy=function r(t,n){var e;return 1===arguments.length?function(n){return r(t,n)}:(e=null,n.slice().filter(function(n){if(null===e)e=t(n);else{if(n=t(n),S(e,n))return!1;e=n}return!0}))},n.dropRepeatsWith=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};var e;if(g(n))return e=[],n.reduce(function(n,r){return void 0!==n&&t(n,r)||e.push(r),r},void 0),e;throw Error("".concat(n," is not a list"))},n.dropWhile=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};var e=g(n);if(!e&&"string"!=typeof n)throw Error("`iterable` is neither list nor a string");for(var u=[],i=0;i<n.length;){var o=n[i++];if(!t(o)){u.push(o);break}}for(;i<n.length;)u.push(n[i++]);return e?u:u.join("")},n.either=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:function(){return!(!t.apply(void 0,arguments)&&!n.apply(void 0,arguments))}},n.empty=function(n){var r;return"string"==typeof n?"":Array.isArray(n)?"Uint8Array"===(r=n.constructor.name)?Uint8Array.from(""):"Float32Array"===r?new Float32Array([]):[]:"Object"===x(n)?{}:void 0},n.endsWith=function r(t,e){var u,i;return 1===arguments.length?function(n){return r(t,n)}:"string"==typeof e?e.endsWith(t):!!g(t)&&(u=e.length-t.length,i=!0,t.filter(function(n,r){return!!i&&((n=S(n,e[r+u]))||(i=!1),n)}).length===t.length)},n.eqBy=En,n.eqByFn=An,n.eqProps=xn,n.equals=S,n.evolve=kn,n.evolveArray=Pn,n.evolveObject=Sn,n.filter=T,n.filterArray=In,n.filterObject=Fn,n.find=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};for(var e=0,u=n.length;e<u;){var i=n[e];if(t(i))return i;e++}},n.findIndex=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};for(var e=n.length,u=-1;++u<e;)if(t(n[u]))return u;return-1},n.findLast=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};for(var e=n.length;0<=--e;)if(t(n[e]))return n[e]},n.findLastIndex=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};for(var e=n.length;0<=--e;)if(t(n[e]))return e;return-1},n.flatten=function n(r,t){for(var e=void 0===t?[]:t,u=0;u<r.length;u++)g(r[u])?n(r[u],e):e.push(r[u]);return e},n.flip=function(n){return e=n,function(){for(var n=arguments.length,r=Array(n),t=0;t<n;t++)r[t]=arguments[t];if(1===r.length)return function(n){return e(n,r[0])};if(2===r.length)return e(r[1],r[0]);if(3===r.length)return e(r[1],r[0],r[2]);if(4===r.length)return e(r[1],r[0],r[2],r[3]);throw Error("R.flip doesn't work with arity > 4")};var e},n.forEach=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};if(void 0!==n){if(!g(n))return Tn(t,n);for(var e=0,u=n.length;e<u;)t(n[e]),e++;return n}},n.forEachObjIndexed=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:void 0!==n?Tn(t,n):void 0},n.forEachObjIndexedFn=Tn,n.fromPairs=function(n){var r={};return n.forEach(function(n){n=o(n,2);return r[n[0]]=n[1]}),r},n.groupBy=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};for(var e={},u=0;u<n.length;u++){var i=n[u],o=t(i);e[o]||(e[o]=[]),e[o].push(i)}return e},n.groupWith=function(i,o){var n,c,f;if(g(o))return n=l(o),1===o.length?[n]:(c=[],f=[],n.reduce(function(n,r,t){var e,u;return 0!==t&&(e=i(n,r),u=0===f.length,t=t===o.length-1,e?(u&&f.push(n),f.push(r),t&&c.push(f)):u?(c.push([n]),t&&c.push([r])):(c.push(f),t&&c.push([r]),f=[])),r},void 0),c);throw new TypeError("list.reduce is not a function")},n.gt=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:n<t},n.gte=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:n<=t},n.has=Wn,n.hasIn=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:void 0!==Nn(t,n)},n.hasPath=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:void 0!==F(t,n)},n.head=Z,n.identical=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:Bn(t,n)},n.identity=nn,n.ifElse=Rn,n.inc=function(n){return n+1},n.includes=k,n.indexBy=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};if("string"==typeof t){for(var e=t,u=n,i={},o=0;o<u.length;o++){var c=u[o];i[F(e,c)]=c}return i}for(var f={},a=0;a<n.length;a++){var l=n[a];f[t(l)]=l}return f},n.indexOf=function(r,n){return 1===arguments.length?function(n){return P(r,n)}:P(r,n)},n.init=function(n){return"string"==typeof n?n.slice(0,-1):n.length?qn(n,0,-1):[]},n.innerJoin=Un,n.innerJoinFn=Cn,n.insert=Ln,n.insertAll=Mn,n.insertAllFn=zn,n.insertFn=Dn,n.intersection=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:T(function(n){return k(n,t)},n)},n.intersperse=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};for(var e=-1,u=n.length,i=[];++e<u;)e===u-1?i.push(n[e]):i.push(n[e],t);return i},n.is=_n,n.isEmpty=Jn,n.isNil=function(n){return null==n},n.isNotEmpty=function(n){return!Jn(n)},n.isNotNil=function(n){return null!=n},n.join=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:n.join(t)},n.juxt=function(e){return function(){for(var n=arguments.length,r=Array(n),t=0;t<n;t++)r[t]=arguments[t];return e.map(function(n){return n.apply(void 0,r)})}},n.keys=function(n){return Object.keys(n)},n.last=function(n){return"string"==typeof n?n[n.length-1]||"":n[n.length-1]},n.lastIndexOf=function(r,n){return 1===arguments.length?function(n){return ln(r,n)}:ln(r,n)},n.length=function(n){return g(n)||"string"==typeof n?n.length:NaN},n.lens=r,n.lensIndex=function(n){return r(Hn(n),On(n))},n.lensPath=function(n){return r(F(n),G(n))},n.lensProp=function(n){return r(I(n),J(n))},n.lt=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:t<n},n.lte=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:t<=n},n.map=E,n.mapArray=O,n.mapObjIndexed=fn,n.mapObject=A,n.match=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:null===(n=n.match(t))?[]:n},n.mathMod=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:d(t)&&d(n)&&1<=n?(t%n+n)%n:NaN},n.max=an,n.maxBy=Gn,n.maxByFn=$n,n.mean=Qn,n.median=function(n){var r,t=n.length;return 0===t?NaN:(r=(t-(t=2-t%2))/2,Qn(Array.prototype.slice.call(n,0).sort(function(n,r){return n===r?0:n<r?-1:1}).slice(r,r+t)))},n.merge=W,n.mergeAll=function(n){var r={};return E(function(n){r=W(r,n)},n),r},n.mergeDeepLeft=function(n,r){return B(r,n)},n.mergeDeepRight=B,n.mergeLeft=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:W(n,t)},n.mergeRight=W,n.mergeWith=Xn,n.mergeWithFn=Vn,n.min=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:n<t?n:t},n.minBy=Zn,n.minByFn=Yn,n.modify=nr,n.modifyPath=tr,n.modifyPathFn=rr,n.modulo=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:t%n},n.move=er,n.multiply=ur,n.negate=function(n){return-n},n.none=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};for(var e=0;e<n.length;e++)if(t(n[e]))return!1;return!0},n.not=function(n){return!n},n.nth=Hn,n.objOf=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:c({},t,n)},n.of=function(n){return[n]},n.omit=mn,n.on=function t(e,u,r,n){return 3===arguments.length?function(n){return t(e,u,r,n)}:2===arguments.length?function(n,r){return t(e,u,n,r)}:e(u(r),u(n))},n.once=function(n,r){return 1===arguments.length?p(ir(n,r)):ir(n,r)},n.or=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:t||n},n.over=cr,n.partial=fr,n.partialObject=function(r,t){return function(n){return r(B(n,t))}},n.partition=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:(g(n)?lr:ar)(t,n)},n.partitionArray=lr,n.partitionObject=ar,n.path=F,n.pathEq=hr,n.pathFn=bn,n.pathOr=sr,n.pathSatisfies=gr,n.pathSatisfiesFn=pr,n.paths=function r(t,e){return 1===arguments.length?function(n){return r(t,n)}:t.map(function(n){return F(n,e)})},n.pick=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};if(null!=n){for(var e=m(t,","),u={},i=0;i<e.length;)e[i]in n&&(u[e[i]]=n[e[i]]),i++;return u}},n.pickAll=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};if(null!=n){for(var e=m(t,","),u={},i=0;i<e.length;)u[e[i]]=e[i]in n?n[e[i]]:void 0,i++;return u}},n.pickBy=function r(t,e){return 1===arguments.length?function(n){return r(t,n)}:Object.keys(e).reduce(function(n,r){return t(e[r],r,e)&&(n[r]=e[r]),n},{})},n.pipe=Y,n.pipeWith=en,n.pluck=function r(t,n){var e;return 1===arguments.length?function(n){return r(t,n)}:(e=[],E(function(n){void 0!==n[t]&&e.push(n[t])},n),e)},n.prepend=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:[t].concat("string"==typeof n?n.split(""):n)},n.product=vr,n.prop=I,n.propEq=yr,n.propFn=Nn,n.propIs=dr,n.propOr=mr,n.propSatisfies=br,n.props=function r(t,e){if(1===arguments.length)return function(n){return r(t,n)};if(g(t))return O(function(n){return e[n]},t);throw Error("propsToPick is not a list")},n.range=wr,n.reduce=w,n.reduceBy=Or,n.reduceByFn=jr,n.reduceFn=V,n.reduceStopper=function(n){return new Q(n)},n.reject=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:T(function(n){return!t(n)},n)},n.removeIndex=wn,n.repeat=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:Array(n).fill(t)},n.replace=Ar,n.reverse=rn,n.set=Er,n.slice=Nr,n.sort=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:l(n).sort(t)},n.sortBy=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:l(n).sort(function(n,r){return n=t(n),r=t(r),n===r?0:n<r?-1:1})},n.sortWith=function r(c,n){return 1===arguments.length?function(n){return r(c,n)}:!1===Array.isArray(n)?[]:((n=n.slice()).sort(function(n,r){for(var t=n,e=r,u=c,i=0,o=0;0===i&&o<u.length;)i=u[o](t,e),o+=1;return i}),n)},n.split=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:n.split(t)},n.splitAt=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};var e,u,i;if(n)return g(n)||"string"==typeof n?(u=n.length+t<0?0:n.length+t,u=(e=(i=t)<0)&&"Function"===x(u)?u():u,i=e||"Function"!==x(i)?i:i(),[R(e=e?u:i,n),j(e,n)]):[[],[]];throw new TypeError("Cannot read property 'slice' of ".concat(n))},n.splitEvery=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};if(t<1)throw Error("First argument to splitEvery must be a positive integer");for(var e=[],u=0;u<n.length;)e.push(n.slice(u,u+=t));return e},n.splitWhen=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};if(!n)throw new TypeError("Cannot read property 'length' of ".concat(n));for(var e=[],u=[],i=!1,o=-1;o++<n.length-1;)i?u.push(n[o]):t(n[o])?(u.push(n[o]),i=!0):e.push(n[o]);return[e,u]},n.startsWith=function r(t,e){var u;return 1===arguments.length?function(n){return r(t,n)}:"string"==typeof e?e.startsWith(t):!!g(t)&&(u=!0,t.filter(function(n,r){return!!u&&((n=S(n,e[r]))||(u=!1),n)}).length===t.length)},n.subtract=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:t-n},n.sum=Kn,n.swap=xr,n.symmetricDifference=function r(t,e){return 1===arguments.length?function(n){return r(t,n)}:un(T(function(n){return!k(n,e)},t),T(function(n){return!k(n,t)},e))},n.tail=tn,n.take=R,n.takeLast=function r(t,n){var e,u;return 1===arguments.length?function(n){return r(t,n)}:(e=n.length,t<0?n.slice():(u=e<t?e:t,"string"==typeof n?n.slice(e-u):qn(n,u=e-u,e)))},n.takeLastWhile=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};if(0===n.length)return n;for(var e=[],u=n.length;u;){var i=n[--u];if(!t(i))break;e.push(i)}return g(n)?e.reverse():e.reverse().join("")},n.takeWhile=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};var e=g(n);if(!e&&"string"!=typeof n)throw Error("`iterable` is neither list nor a string");for(var u=[],i=0;i<n.length;){var o=n[i++];if(!t(o))break;u.push(o)}return e?u:u.join("")},n.tap=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:(t(n),n)},n.test=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};if("string"==typeof t)throw new TypeError('R.test requires a value of type RegExp as its first argument; received "'.concat(t,'"'));return-1!=n.search(t)},n.times=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};if(!d(n)||n<0)throw new RangeError("n must be an integer");return E(t,wr(0,n))},n.toLower=function(n){return n.toLowerCase()},n.toPairs=function(n){return Object.entries(n)},n.toString=function(n){return""+n},n.toUpper=function(n){return n.toUpperCase()},n.transpose=function(n){return n.reduce(function(t,n){return n.forEach(function(n,r){return g(t[r])?t[r].push(n):t.push([n])}),t},[])},n.trim=function(n){return n.trim()},n.tryCatch=function(e,u){var i;if(Pr(e))return i=Pr(u),function(){for(var n=arguments.length,r=Array(n),t=0;t<n;t++)r[t]=arguments[t];try{return e.apply(void 0,r)}catch(n){return i?u.apply(void 0,[n].concat(r)):u}};throw Error("R.tryCatch | fn '".concat(e,"'"))},n.type=x,n.unapply=function(e){return function(){for(var n=arguments.length,r=Array(n),t=0;t<n;t++)r[t]=arguments[t];return e.call(this,r)}},n.union=function r(t,n){var e;return 1===arguments.length?function(n){return r(t,n)}:(e=l(t),n.forEach(function(n){k(n,t)||e.push(n)}),e)},n.uniq=vn,n.uniqBy=function r(t,n){var e;return 1===arguments.length?function(n){return r(t,n)}:(e=new gn,n.filter(function(n){return e.checkUniqueness(t(n))}))},n.uniqWith=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};for(var e=-1,u=[];++e<n.length;){var i=n[e];!function(n,r,t){for(var e=!1,u=-1;++u<t.length&&!e;)n(r,t[u])&&(e=!0);return e}(t,i,u)&&u.push(i)}return u},n.unless=Sr,n.unnest=function(n){return n.reduce(function(n,r){return[].concat(h(n),Array.isArray(r)?h(r):[r])},[])},n.unwind=function r(t,e){return 1===arguments.length?function(n){return r(t,n)}:g(e[t])?O(function(n){return f(f({},e),{},c({},t,n))},e[t]):[e]},n.update=On,n.updateFn=jn,n.values=function(n){return"Object"!==x(n)?[]:Object.values(n)},n.view=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:t(kr)(n).x},n.when=Fr,n.where=function r(t,n){if(void 0===n)return function(n){return r(t,n)};var e,u,i=!0;for(e in t)i&&(u=t[e](n[e]),i)&&!1===u&&(i=!1);return i},n.whereAny=function r(t,n){if(void 0===n)return function(n){return r(t,n)};for(var e in t)if(t[e](n[e]))return!0;return!1},n.whereEq=function r(t,e){return 1===arguments.length?function(n){return r(t,n)}:Object.keys(T(function(n,r){return S(n,e[r])},t)).length===Object.keys(t).length},n.without=function r(t,n){return void 0===n?function(n){return r(t,n)}:w(function(n,r){return-1<P(r,t)?n:n.concat(r)},[],n)},n.xor=function r(t,n){return 1===arguments.length?function(n){return r(t,n)}:!!t&&!n||!!n&&!t},n.zip=function r(t,n){if(1===arguments.length)return function(n){return r(t,n)};for(var e=[],u=Math.min(t.length,n.length),i=0;i<u;i++)e[i]=[t[i],n[i]];return e},n.zipObj=function r(t,e){return 1===arguments.length?function(n){return r(t,n)}:R(e.length,t).reduce(function(n,r,t){return n[r]=e[t],n},{})},n.zipWith=Ir});
|
|
1
|
+
(function (global, factory) {
|
|
2
|
+
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :
|
|
3
|
+
typeof define === 'function' && define.amd ? define(['exports'], factory) :
|
|
4
|
+
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.R = {}));
|
|
5
|
+
})(this, (function (exports) { 'use strict';
|
|
6
|
+
|
|
7
|
+
function all(predicate) {
|
|
8
|
+
return list => {
|
|
9
|
+
for (let i = 0; i < list.length; i++) {
|
|
10
|
+
if (!predicate(list[i])) {
|
|
11
|
+
return false
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
return true
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
function allPass(predicates) {
|
|
20
|
+
return input => {
|
|
21
|
+
let counter = 0;
|
|
22
|
+
while (counter < predicates.length) {
|
|
23
|
+
if (!predicates[counter](input)) {
|
|
24
|
+
return false
|
|
25
|
+
}
|
|
26
|
+
counter++;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
return true
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
function any(predicate) {
|
|
34
|
+
return list => {
|
|
35
|
+
let counter = 0;
|
|
36
|
+
while (counter < list.length) {
|
|
37
|
+
if (predicate(list[counter], counter)) {
|
|
38
|
+
return true
|
|
39
|
+
}
|
|
40
|
+
counter++;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
return false
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
function anyPass(predicates) {
|
|
48
|
+
return input => {
|
|
49
|
+
let counter = 0;
|
|
50
|
+
while (counter < predicates.length) {
|
|
51
|
+
if (predicates[counter](input)) {
|
|
52
|
+
return true
|
|
53
|
+
}
|
|
54
|
+
counter++;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
return false
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
const cloneList = list => Array.prototype.slice.call(list);
|
|
62
|
+
|
|
63
|
+
function append(x) {
|
|
64
|
+
return list=> {
|
|
65
|
+
const clone = cloneList(list);
|
|
66
|
+
clone.push(x);
|
|
67
|
+
|
|
68
|
+
return clone
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
function checkObjectWithSpec(conditions) {
|
|
73
|
+
return input => {
|
|
74
|
+
let shouldProceed = true;
|
|
75
|
+
for (const prop in conditions) {
|
|
76
|
+
if (!shouldProceed) {
|
|
77
|
+
continue
|
|
78
|
+
}
|
|
79
|
+
const result = conditions[prop](input[prop]);
|
|
80
|
+
if (shouldProceed && result === false) {
|
|
81
|
+
shouldProceed = false;
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
return shouldProceed
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
function complement(fn) {
|
|
90
|
+
return (...input) => !fn(...input)
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
function concat(x) {
|
|
94
|
+
return y => typeof x === 'string' ? `${x}${y}` : [...x, ...y]
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
const { isArray } = Array;
|
|
98
|
+
|
|
99
|
+
function count(predicate, ) {
|
|
100
|
+
return list => {
|
|
101
|
+
if (!isArray(list)) {
|
|
102
|
+
return 0
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
return list.filter(x => predicate(x)).length
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
function countBy(fn) {
|
|
110
|
+
return list => {
|
|
111
|
+
const willReturn = {};
|
|
112
|
+
|
|
113
|
+
list.forEach(item => {
|
|
114
|
+
const key = fn(item);
|
|
115
|
+
if (!willReturn[key]) {
|
|
116
|
+
willReturn[key] = 1;
|
|
117
|
+
} else {
|
|
118
|
+
willReturn[key]++;
|
|
119
|
+
}
|
|
120
|
+
});
|
|
121
|
+
|
|
122
|
+
return willReturn
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
function isFalsy(input) {
|
|
127
|
+
return input === undefined || input === null || Number.isNaN(input) === true
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
function defaultTo(defaultArgument, input) {
|
|
131
|
+
if (arguments.length === 1) {
|
|
132
|
+
return _input => defaultTo(defaultArgument, _input)
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
return isFalsy(input) ? defaultArgument : input
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
function drop(howManyToDrop, listOrString) {
|
|
139
|
+
if (arguments.length === 1) {
|
|
140
|
+
return _list => drop(howManyToDrop, _list)
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
return listOrString.slice(howManyToDrop > 0 ? howManyToDrop : 0)
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
function dropLast(numberItems) {
|
|
147
|
+
return list => numberItems > 0
|
|
148
|
+
? list.slice(0, -numberItems)
|
|
149
|
+
: list.slice()
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
function dropLastWhile(predicate) {
|
|
153
|
+
return list => {
|
|
154
|
+
if (list.length === 0) {
|
|
155
|
+
return list
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
const toReturn = [];
|
|
159
|
+
let counter = list.length;
|
|
160
|
+
|
|
161
|
+
while (counter) {
|
|
162
|
+
const item = list[--counter];
|
|
163
|
+
if (!predicate(item, counter)) {
|
|
164
|
+
toReturn.push(item);
|
|
165
|
+
break
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
while (counter) {
|
|
170
|
+
toReturn.push(list[--counter]);
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
return toReturn.reverse()
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
function dropWhile(predicate) {
|
|
178
|
+
return iterable => {
|
|
179
|
+
const toReturn = [];
|
|
180
|
+
let counter = 0;
|
|
181
|
+
|
|
182
|
+
while (counter < iterable.length) {
|
|
183
|
+
const item = iterable[counter++];
|
|
184
|
+
if (!predicate(item, counter)) {
|
|
185
|
+
toReturn.push(item);
|
|
186
|
+
break
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
while (counter < iterable.length) {
|
|
191
|
+
toReturn.push(iterable[counter++]);
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
return toReturn
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
function type(input) {
|
|
199
|
+
if (input === null) {
|
|
200
|
+
return 'Null'
|
|
201
|
+
}
|
|
202
|
+
if (input === undefined) {
|
|
203
|
+
return 'Undefined'
|
|
204
|
+
}
|
|
205
|
+
if (Number.isNaN(input)) {
|
|
206
|
+
return 'NaN'
|
|
207
|
+
}
|
|
208
|
+
const typeResult = Object.prototype.toString.call(input).slice(8, -1);
|
|
209
|
+
return typeResult === 'AsyncFunction' ? 'Promise' : typeResult
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
function _lastIndexOf(valueToFind, list) {
|
|
213
|
+
if (!isArray(list)) {
|
|
214
|
+
throw new Error(`Cannot read property 'indexOf' of ${list}`)
|
|
215
|
+
}
|
|
216
|
+
|
|
217
|
+
const typeOfValue = type(valueToFind);
|
|
218
|
+
if (!['Array', 'NaN', 'Object', 'RegExp'].includes(typeOfValue)) {
|
|
219
|
+
return list.lastIndexOf(valueToFind)
|
|
220
|
+
}
|
|
221
|
+
|
|
222
|
+
const { length } = list;
|
|
223
|
+
let index = length;
|
|
224
|
+
let foundIndex = -1;
|
|
225
|
+
|
|
226
|
+
while (--index > -1 && foundIndex === -1) {
|
|
227
|
+
if (equalsFn(list[index], valueToFind)) {
|
|
228
|
+
foundIndex = index;
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
|
|
232
|
+
return foundIndex
|
|
233
|
+
}
|
|
234
|
+
|
|
235
|
+
function _indexOf(valueToFind, list) {
|
|
236
|
+
if (!isArray(list)) {
|
|
237
|
+
throw new Error(`Cannot read property 'indexOf' of ${list}`)
|
|
238
|
+
}
|
|
239
|
+
|
|
240
|
+
const typeOfValue = type(valueToFind);
|
|
241
|
+
if (!['Array', 'NaN', 'Object', 'RegExp'].includes(typeOfValue)) {
|
|
242
|
+
return list.indexOf(valueToFind)
|
|
243
|
+
}
|
|
244
|
+
|
|
245
|
+
let index = -1;
|
|
246
|
+
let foundIndex = -1;
|
|
247
|
+
const { length } = list;
|
|
248
|
+
|
|
249
|
+
while (++index < length && foundIndex === -1) {
|
|
250
|
+
if (equalsFn(list[index], valueToFind)) {
|
|
251
|
+
foundIndex = index;
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
|
|
255
|
+
return foundIndex
|
|
256
|
+
}
|
|
257
|
+
|
|
258
|
+
function _arrayFromIterator(iter) {
|
|
259
|
+
const list = [];
|
|
260
|
+
let next;
|
|
261
|
+
while (!(next = iter.next()).done) {
|
|
262
|
+
list.push(next.value);
|
|
263
|
+
}
|
|
264
|
+
|
|
265
|
+
return list
|
|
266
|
+
}
|
|
267
|
+
|
|
268
|
+
function _compareSets(a, b) {
|
|
269
|
+
if (a.size !== b.size) {
|
|
270
|
+
return false
|
|
271
|
+
}
|
|
272
|
+
|
|
273
|
+
const aList = _arrayFromIterator(a.values());
|
|
274
|
+
const bList = _arrayFromIterator(b.values());
|
|
275
|
+
|
|
276
|
+
const filtered = aList.filter(aInstance => _indexOf(aInstance, bList) === -1);
|
|
277
|
+
|
|
278
|
+
return filtered.length === 0
|
|
279
|
+
}
|
|
280
|
+
|
|
281
|
+
function compareErrors(a, b) {
|
|
282
|
+
if (a.message !== b.message) {
|
|
283
|
+
return false
|
|
284
|
+
}
|
|
285
|
+
if (a.toString !== b.toString) {
|
|
286
|
+
return false
|
|
287
|
+
}
|
|
288
|
+
|
|
289
|
+
return a.toString() === b.toString()
|
|
290
|
+
}
|
|
291
|
+
|
|
292
|
+
function parseDate(maybeDate) {
|
|
293
|
+
if (!maybeDate.toDateString) {
|
|
294
|
+
return [false]
|
|
295
|
+
}
|
|
296
|
+
|
|
297
|
+
return [true, maybeDate.getTime()]
|
|
298
|
+
}
|
|
299
|
+
|
|
300
|
+
function parseRegex(maybeRegex) {
|
|
301
|
+
if (maybeRegex.constructor !== RegExp) {
|
|
302
|
+
return [false]
|
|
303
|
+
}
|
|
304
|
+
|
|
305
|
+
return [true, maybeRegex.toString()]
|
|
306
|
+
}
|
|
307
|
+
|
|
308
|
+
function equalsFn(a, b) {
|
|
309
|
+
if (Object.is(a, b)) {
|
|
310
|
+
return true
|
|
311
|
+
}
|
|
312
|
+
|
|
313
|
+
const aType = type(a);
|
|
314
|
+
|
|
315
|
+
if (aType !== type(b)) {
|
|
316
|
+
return false
|
|
317
|
+
}
|
|
318
|
+
if (aType === 'Function') {
|
|
319
|
+
return a.name === undefined ? false : a.name === b.name
|
|
320
|
+
}
|
|
321
|
+
|
|
322
|
+
if (['NaN', 'Null', 'Undefined'].includes(aType)) {
|
|
323
|
+
return true
|
|
324
|
+
}
|
|
325
|
+
|
|
326
|
+
if (['BigInt', 'Number'].includes(aType)) {
|
|
327
|
+
if (Object.is(-0, a) !== Object.is(-0, b)) {
|
|
328
|
+
return false
|
|
329
|
+
}
|
|
330
|
+
|
|
331
|
+
return a.toString() === b.toString()
|
|
332
|
+
}
|
|
333
|
+
|
|
334
|
+
if (['Boolean', 'String'].includes(aType)) {
|
|
335
|
+
return a.toString() === b.toString()
|
|
336
|
+
}
|
|
337
|
+
|
|
338
|
+
if (aType === 'Array') {
|
|
339
|
+
const aClone = Array.from(a);
|
|
340
|
+
const bClone = Array.from(b);
|
|
341
|
+
|
|
342
|
+
if (aClone.toString() !== bClone.toString()) {
|
|
343
|
+
return false
|
|
344
|
+
}
|
|
345
|
+
|
|
346
|
+
let loopArrayFlag = true;
|
|
347
|
+
aClone.forEach((aCloneInstance, aCloneIndex) => {
|
|
348
|
+
if (loopArrayFlag) {
|
|
349
|
+
if (
|
|
350
|
+
aCloneInstance !== bClone[aCloneIndex] &&
|
|
351
|
+
!equalsFn(aCloneInstance, bClone[aCloneIndex])
|
|
352
|
+
) {
|
|
353
|
+
loopArrayFlag = false;
|
|
354
|
+
}
|
|
355
|
+
}
|
|
356
|
+
});
|
|
357
|
+
|
|
358
|
+
return loopArrayFlag
|
|
359
|
+
}
|
|
360
|
+
|
|
361
|
+
const aRegex = parseRegex(a);
|
|
362
|
+
const bRegex = parseRegex(b);
|
|
363
|
+
|
|
364
|
+
if (aRegex[0]) {
|
|
365
|
+
return bRegex[0] ? aRegex[1] === bRegex[1] : false
|
|
366
|
+
}
|
|
367
|
+
if (bRegex[0]) {
|
|
368
|
+
return false
|
|
369
|
+
}
|
|
370
|
+
|
|
371
|
+
const aDate = parseDate(a);
|
|
372
|
+
const bDate = parseDate(b);
|
|
373
|
+
|
|
374
|
+
if (aDate[0]) {
|
|
375
|
+
return bDate[0] ? aDate[1] === bDate[1] : false
|
|
376
|
+
}
|
|
377
|
+
if (bDate[0]) {
|
|
378
|
+
return false
|
|
379
|
+
}
|
|
380
|
+
|
|
381
|
+
if (a instanceof Error) {
|
|
382
|
+
if (!(b instanceof Error)) {
|
|
383
|
+
return false
|
|
384
|
+
}
|
|
385
|
+
|
|
386
|
+
return compareErrors(a, b)
|
|
387
|
+
}
|
|
388
|
+
|
|
389
|
+
if (aType === 'Set') {
|
|
390
|
+
return _compareSets(a, b)
|
|
391
|
+
}
|
|
392
|
+
|
|
393
|
+
if (aType === 'Object') {
|
|
394
|
+
const aKeys = Object.keys(a);
|
|
395
|
+
|
|
396
|
+
if (aKeys.length !== Object.keys(b).length) {
|
|
397
|
+
return false
|
|
398
|
+
}
|
|
399
|
+
|
|
400
|
+
let loopObjectFlag = true;
|
|
401
|
+
aKeys.forEach(aKeyInstance => {
|
|
402
|
+
if (loopObjectFlag) {
|
|
403
|
+
const aValue = a[aKeyInstance];
|
|
404
|
+
const bValue = b[aKeyInstance];
|
|
405
|
+
|
|
406
|
+
if (aValue !== bValue && !equalsFn(aValue, bValue)) {
|
|
407
|
+
loopObjectFlag = false;
|
|
408
|
+
}
|
|
409
|
+
}
|
|
410
|
+
});
|
|
411
|
+
|
|
412
|
+
return loopObjectFlag
|
|
413
|
+
}
|
|
414
|
+
|
|
415
|
+
return false
|
|
416
|
+
}
|
|
417
|
+
function equals(a) {
|
|
418
|
+
return b => equalsFn(a, b)
|
|
419
|
+
}
|
|
420
|
+
|
|
421
|
+
function eqBy(fn, a) {
|
|
422
|
+
return b => equalsFn(fn(a), fn(b))
|
|
423
|
+
}
|
|
424
|
+
|
|
425
|
+
function prop(searchProperty) {
|
|
426
|
+
return obj => (obj ? obj[searchProperty] : undefined)
|
|
427
|
+
}
|
|
428
|
+
|
|
429
|
+
function eqProps(property, objA) {
|
|
430
|
+
return objB => equalsFn(prop(property)(objA), prop(property)(objB))
|
|
431
|
+
}
|
|
432
|
+
|
|
433
|
+
const { keys } = Object;
|
|
434
|
+
|
|
435
|
+
function mapObject(fn) {
|
|
436
|
+
return obj => {
|
|
437
|
+
let index = 0;
|
|
438
|
+
const objKeys = keys(obj);
|
|
439
|
+
const len = objKeys.length;
|
|
440
|
+
const willReturn = {};
|
|
441
|
+
|
|
442
|
+
while (index < len) {
|
|
443
|
+
const key = objKeys[index];
|
|
444
|
+
willReturn[key] = fn(obj[key], key, obj);
|
|
445
|
+
index++;
|
|
446
|
+
}
|
|
447
|
+
|
|
448
|
+
return willReturn
|
|
449
|
+
}
|
|
450
|
+
}
|
|
451
|
+
|
|
452
|
+
function evolveFn(rules, obj) {
|
|
453
|
+
return mapObject((x, prop) => {
|
|
454
|
+
if (type(x) === 'Object') {
|
|
455
|
+
const typeRule = type(rules[prop]);
|
|
456
|
+
if (typeRule === 'Function') {
|
|
457
|
+
return rules[prop](x)
|
|
458
|
+
}
|
|
459
|
+
if (typeRule === 'Object') {
|
|
460
|
+
return evolveFn(rules[prop], x)
|
|
461
|
+
}
|
|
462
|
+
|
|
463
|
+
return x
|
|
464
|
+
}
|
|
465
|
+
if (type(rules[prop]) === 'Function') {
|
|
466
|
+
return rules[prop](x)
|
|
467
|
+
}
|
|
468
|
+
|
|
469
|
+
return x
|
|
470
|
+
})(obj)
|
|
471
|
+
}
|
|
472
|
+
|
|
473
|
+
function evolve(rules) {
|
|
474
|
+
return obj => evolveFn(rules, obj)
|
|
475
|
+
}
|
|
476
|
+
|
|
477
|
+
function includes(valueToFind) {
|
|
478
|
+
return iterable =>
|
|
479
|
+
{
|
|
480
|
+
if (typeof iterable === 'string') {
|
|
481
|
+
return iterable.includes(valueToFind)
|
|
482
|
+
}
|
|
483
|
+
if (!iterable) {
|
|
484
|
+
throw new TypeError(`Cannot read property \'indexOf\' of ${iterable}`)
|
|
485
|
+
}
|
|
486
|
+
if (!isArray(iterable)) {
|
|
487
|
+
return false
|
|
488
|
+
}
|
|
489
|
+
|
|
490
|
+
return _indexOf(valueToFind, iterable) > -1
|
|
491
|
+
}
|
|
492
|
+
}
|
|
493
|
+
|
|
494
|
+
function excludes(valueToFind) {
|
|
495
|
+
return iterable => !includes(valueToFind)(iterable)
|
|
496
|
+
}
|
|
497
|
+
|
|
498
|
+
function filter(predicate) {
|
|
499
|
+
return list => {
|
|
500
|
+
if (!list) {
|
|
501
|
+
throw new Error('Incorrect iterable input')
|
|
502
|
+
}
|
|
503
|
+
let index = 0;
|
|
504
|
+
const len = list.length;
|
|
505
|
+
const willReturn = [];
|
|
506
|
+
|
|
507
|
+
while (index < len) {
|
|
508
|
+
if (predicate(list[index], index)) {
|
|
509
|
+
willReturn.push(list[index]);
|
|
510
|
+
}
|
|
511
|
+
|
|
512
|
+
index++;
|
|
513
|
+
}
|
|
514
|
+
|
|
515
|
+
return willReturn
|
|
516
|
+
}
|
|
517
|
+
}
|
|
518
|
+
|
|
519
|
+
function filterObject(predicate) {
|
|
520
|
+
return obj => {
|
|
521
|
+
const willReturn = {};
|
|
522
|
+
|
|
523
|
+
for (const prop in obj) {
|
|
524
|
+
if (predicate(obj[prop], prop, obj)) {
|
|
525
|
+
willReturn[prop] = obj[prop];
|
|
526
|
+
}
|
|
527
|
+
}
|
|
528
|
+
|
|
529
|
+
return willReturn
|
|
530
|
+
}
|
|
531
|
+
}
|
|
532
|
+
|
|
533
|
+
function find(predicate) {
|
|
534
|
+
return list => {
|
|
535
|
+
let index = 0;
|
|
536
|
+
const len = list.length;
|
|
537
|
+
|
|
538
|
+
while (index < len) {
|
|
539
|
+
const x = list[index];
|
|
540
|
+
if (predicate(x)) {
|
|
541
|
+
return x
|
|
542
|
+
}
|
|
543
|
+
|
|
544
|
+
index++;
|
|
545
|
+
}
|
|
546
|
+
}
|
|
547
|
+
}
|
|
548
|
+
|
|
549
|
+
function findIndex(predicate) {
|
|
550
|
+
return list => {
|
|
551
|
+
const len = list.length;
|
|
552
|
+
let index = -1;
|
|
553
|
+
|
|
554
|
+
while (++index < len) {
|
|
555
|
+
if (predicate(list[index])) {
|
|
556
|
+
return index
|
|
557
|
+
}
|
|
558
|
+
}
|
|
559
|
+
|
|
560
|
+
return -1
|
|
561
|
+
}
|
|
562
|
+
}
|
|
563
|
+
|
|
564
|
+
function findLast(predicate) {
|
|
565
|
+
return list => {
|
|
566
|
+
let index = list.length;
|
|
567
|
+
|
|
568
|
+
while (--index >= 0) {
|
|
569
|
+
if (predicate(list[index])) {
|
|
570
|
+
return list[index]
|
|
571
|
+
}
|
|
572
|
+
}
|
|
573
|
+
|
|
574
|
+
return undefined
|
|
575
|
+
}
|
|
576
|
+
}
|
|
577
|
+
|
|
578
|
+
function findLastIndex(fn) {
|
|
579
|
+
return list => {
|
|
580
|
+
let index = list.length;
|
|
581
|
+
|
|
582
|
+
while (--index >= 0) {
|
|
583
|
+
if (fn(list[index])) {
|
|
584
|
+
return index
|
|
585
|
+
}
|
|
586
|
+
}
|
|
587
|
+
|
|
588
|
+
return -1
|
|
589
|
+
}
|
|
590
|
+
}
|
|
591
|
+
|
|
592
|
+
function flatMap(fn) {
|
|
593
|
+
return list => [].concat(...list.map(fn))
|
|
594
|
+
}
|
|
595
|
+
|
|
596
|
+
function flatten(list, input) {
|
|
597
|
+
const willReturn = input === undefined ? [] : input;
|
|
598
|
+
|
|
599
|
+
for (let i = 0; i < list.length; i++) {
|
|
600
|
+
if (isArray(list[i])) {
|
|
601
|
+
flatten(list[i], willReturn);
|
|
602
|
+
} else {
|
|
603
|
+
willReturn.push(list[i]);
|
|
604
|
+
}
|
|
605
|
+
}
|
|
606
|
+
|
|
607
|
+
return willReturn
|
|
608
|
+
}
|
|
609
|
+
|
|
610
|
+
function groupBy(groupFn, list) {
|
|
611
|
+
if (arguments.length === 1) {
|
|
612
|
+
return _list => groupBy(groupFn, _list)
|
|
613
|
+
}
|
|
614
|
+
|
|
615
|
+
const result = {};
|
|
616
|
+
for (let i = 0; i < list.length; i++) {
|
|
617
|
+
const item = list[i];
|
|
618
|
+
const key = groupFn(item);
|
|
619
|
+
|
|
620
|
+
if (!result[key]) {
|
|
621
|
+
result[key] = [];
|
|
622
|
+
}
|
|
623
|
+
|
|
624
|
+
result[key].push(item);
|
|
625
|
+
}
|
|
626
|
+
|
|
627
|
+
return result
|
|
628
|
+
}
|
|
629
|
+
|
|
630
|
+
function head(listOrString) {
|
|
631
|
+
if (typeof listOrString === 'string') {
|
|
632
|
+
return listOrString[0] || ''
|
|
633
|
+
}
|
|
634
|
+
|
|
635
|
+
return listOrString[0]
|
|
636
|
+
}
|
|
637
|
+
|
|
638
|
+
function indexOf(valueToFind) {
|
|
639
|
+
return list => _indexOf(valueToFind, list)
|
|
640
|
+
}
|
|
641
|
+
|
|
642
|
+
function baseSlice(array, start, end) {
|
|
643
|
+
let index = -1;
|
|
644
|
+
let { length } = array;
|
|
645
|
+
|
|
646
|
+
end = end > length ? length : end;
|
|
647
|
+
if (end < 0) {
|
|
648
|
+
end += length;
|
|
649
|
+
}
|
|
650
|
+
length = start > end ? 0 : (end - start) >>> 0;
|
|
651
|
+
start >>>= 0;
|
|
652
|
+
|
|
653
|
+
const result = Array(length);
|
|
654
|
+
|
|
655
|
+
while (++index < length) {
|
|
656
|
+
result[index] = array[index + start];
|
|
657
|
+
}
|
|
658
|
+
|
|
659
|
+
return result
|
|
660
|
+
}
|
|
661
|
+
|
|
662
|
+
function init(input) {
|
|
663
|
+
if (typeof input === 'string') {
|
|
664
|
+
return input.slice(0, -1)
|
|
665
|
+
}
|
|
666
|
+
|
|
667
|
+
return input.length ? baseSlice(input, 0, -1) : []
|
|
668
|
+
}
|
|
669
|
+
|
|
670
|
+
function _includesWith(pred, x, list) {
|
|
671
|
+
let idx = 0;
|
|
672
|
+
const len = list.length;
|
|
673
|
+
|
|
674
|
+
while (idx < len) {
|
|
675
|
+
if (pred(x, list[idx])) {
|
|
676
|
+
return true
|
|
677
|
+
}
|
|
678
|
+
|
|
679
|
+
idx += 1;
|
|
680
|
+
}
|
|
681
|
+
|
|
682
|
+
return false
|
|
683
|
+
}
|
|
684
|
+
function _filter(fn, list) {
|
|
685
|
+
let idx = 0;
|
|
686
|
+
const len = list.length;
|
|
687
|
+
const result = [];
|
|
688
|
+
|
|
689
|
+
while (idx < len) {
|
|
690
|
+
if (fn(list[idx])) {
|
|
691
|
+
result[result.length] = list[idx];
|
|
692
|
+
}
|
|
693
|
+
|
|
694
|
+
idx += 1;
|
|
695
|
+
}
|
|
696
|
+
|
|
697
|
+
return result
|
|
698
|
+
}
|
|
699
|
+
|
|
700
|
+
function innerJoin(pred, xs) {
|
|
701
|
+
return ys => _filter(x => _includesWith(pred, x, ys), xs)
|
|
702
|
+
}
|
|
703
|
+
|
|
704
|
+
function intersection(listA) {
|
|
705
|
+
return listB =>filter(x => includes(x)(listA))(listB)
|
|
706
|
+
}
|
|
707
|
+
|
|
708
|
+
function intersperse(separator) {
|
|
709
|
+
return list => {
|
|
710
|
+
let index = -1;
|
|
711
|
+
const len = list.length;
|
|
712
|
+
const willReturn = [];
|
|
713
|
+
|
|
714
|
+
while (++index < len) {
|
|
715
|
+
if (index === len - 1) {
|
|
716
|
+
willReturn.push(list[index]);
|
|
717
|
+
} else {
|
|
718
|
+
willReturn.push(list[index], separator);
|
|
719
|
+
}
|
|
720
|
+
}
|
|
721
|
+
|
|
722
|
+
return willReturn
|
|
723
|
+
}
|
|
724
|
+
}
|
|
725
|
+
|
|
726
|
+
function join(glue) {
|
|
727
|
+
return list=> list.join(glue)
|
|
728
|
+
}
|
|
729
|
+
|
|
730
|
+
function last(listOrString) {
|
|
731
|
+
if (typeof listOrString === 'string') {
|
|
732
|
+
return listOrString[listOrString.length - 1] || ''
|
|
733
|
+
}
|
|
734
|
+
|
|
735
|
+
return listOrString[listOrString.length - 1]
|
|
736
|
+
}
|
|
737
|
+
|
|
738
|
+
function lastIndexOf(valueToFind) {
|
|
739
|
+
return list => _lastIndexOf(valueToFind, list)
|
|
740
|
+
}
|
|
741
|
+
|
|
742
|
+
function map(fn) {
|
|
743
|
+
return list => {
|
|
744
|
+
let index = 0;
|
|
745
|
+
const willReturn = Array(list.length);
|
|
746
|
+
while (index < list.length) {
|
|
747
|
+
willReturn[index] = fn(list[index], index);
|
|
748
|
+
index++;
|
|
749
|
+
}
|
|
750
|
+
return willReturn
|
|
751
|
+
}
|
|
752
|
+
}
|
|
753
|
+
|
|
754
|
+
function mapAsync(fn) {
|
|
755
|
+
return async list => {
|
|
756
|
+
const willReturn = [];
|
|
757
|
+
let i = 0;
|
|
758
|
+
for (const a of list) {
|
|
759
|
+
willReturn.push(await fn(a, i++));
|
|
760
|
+
}
|
|
761
|
+
|
|
762
|
+
return willReturn
|
|
763
|
+
}
|
|
764
|
+
}
|
|
765
|
+
|
|
766
|
+
function mapObjectAsync(fn) {
|
|
767
|
+
return async obj => {
|
|
768
|
+
const willReturn = {};
|
|
769
|
+
for (const prop in obj){
|
|
770
|
+
willReturn[ prop ] = await fn(obj[ prop ], prop);
|
|
771
|
+
}
|
|
772
|
+
|
|
773
|
+
return willReturn
|
|
774
|
+
}
|
|
775
|
+
}
|
|
776
|
+
|
|
777
|
+
function match(pattern) {
|
|
778
|
+
return input => {
|
|
779
|
+
const willReturn = input.match(pattern);
|
|
780
|
+
|
|
781
|
+
return willReturn === null ? [] : willReturn
|
|
782
|
+
}
|
|
783
|
+
}
|
|
784
|
+
|
|
785
|
+
function maxBy(compareFn, x) {
|
|
786
|
+
return y => (compareFn(y) > compareFn(x) ? y : x)
|
|
787
|
+
}
|
|
788
|
+
|
|
789
|
+
function merge(target) {
|
|
790
|
+
return objectWithNewProps =>
|
|
791
|
+
Object.assign({}, target || {}, objectWithNewProps || {})
|
|
792
|
+
}
|
|
793
|
+
|
|
794
|
+
function mergeTypes(x) {
|
|
795
|
+
return x
|
|
796
|
+
}
|
|
797
|
+
|
|
798
|
+
function minBy(compareFn, x) {
|
|
799
|
+
return y => (compareFn(y) < compareFn(x) ? y : x)
|
|
800
|
+
}
|
|
801
|
+
|
|
802
|
+
function createPath(path, delimiter = '.') {
|
|
803
|
+
return typeof path === 'string'
|
|
804
|
+
? path.split(delimiter).map(x => (Number.isInteger(Number(x)) ? Number(x) : x))
|
|
805
|
+
: path
|
|
806
|
+
}
|
|
807
|
+
|
|
808
|
+
function path(pathInput, obj) {
|
|
809
|
+
if (arguments.length === 1) {
|
|
810
|
+
return _obj => path(pathInput, _obj)
|
|
811
|
+
}
|
|
812
|
+
|
|
813
|
+
if (!obj) {
|
|
814
|
+
return undefined
|
|
815
|
+
}
|
|
816
|
+
let willReturn = obj;
|
|
817
|
+
let counter = 0;
|
|
818
|
+
|
|
819
|
+
const pathArrValue = createPath(pathInput);
|
|
820
|
+
|
|
821
|
+
while (counter < pathArrValue.length) {
|
|
822
|
+
if (willReturn === null || willReturn === undefined) {
|
|
823
|
+
return undefined
|
|
824
|
+
}
|
|
825
|
+
if (willReturn[pathArrValue[counter]] === null) {
|
|
826
|
+
return undefined
|
|
827
|
+
}
|
|
828
|
+
|
|
829
|
+
willReturn = willReturn[pathArrValue[counter]];
|
|
830
|
+
counter++;
|
|
831
|
+
}
|
|
832
|
+
|
|
833
|
+
return willReturn
|
|
834
|
+
}
|
|
835
|
+
|
|
836
|
+
function assoc(prop, newValue) {
|
|
837
|
+
return obj => Object.assign({}, obj, { [prop]: newValue })
|
|
838
|
+
}
|
|
839
|
+
|
|
840
|
+
function modifyPathFn(pathInput, fn, obj) {
|
|
841
|
+
const path$1 = createPath(pathInput);
|
|
842
|
+
if (path$1.length === 1) {
|
|
843
|
+
return {
|
|
844
|
+
...obj,
|
|
845
|
+
[path$1[0]]: fn(obj[path$1[0]]),
|
|
846
|
+
}
|
|
847
|
+
}
|
|
848
|
+
if (path(path$1)(obj) === undefined) {
|
|
849
|
+
return obj
|
|
850
|
+
}
|
|
851
|
+
|
|
852
|
+
const val = modifyPathFn(Array.prototype.slice.call(path$1, 1), fn, obj[path$1[0]]);
|
|
853
|
+
if (val === obj[path$1[0]]) {
|
|
854
|
+
return obj
|
|
855
|
+
}
|
|
856
|
+
|
|
857
|
+
return assoc(path$1[0], val)(obj)
|
|
858
|
+
}
|
|
859
|
+
|
|
860
|
+
function modifyPath(pathInput, fn) {
|
|
861
|
+
return obj => modifyPathFn(pathInput, fn, obj)
|
|
862
|
+
}
|
|
863
|
+
|
|
864
|
+
function none(predicate) {
|
|
865
|
+
return list => {
|
|
866
|
+
for (let i = 0; i < list.length; i++) {
|
|
867
|
+
if (predicate(list[i])) {
|
|
868
|
+
return false
|
|
869
|
+
}
|
|
870
|
+
}
|
|
871
|
+
|
|
872
|
+
return true
|
|
873
|
+
}
|
|
874
|
+
}
|
|
875
|
+
|
|
876
|
+
function objOf(key) {
|
|
877
|
+
return value => ({ [key]: value })
|
|
878
|
+
}
|
|
879
|
+
|
|
880
|
+
function _includes(x, list) {
|
|
881
|
+
let index = -1;
|
|
882
|
+
const { length } = list;
|
|
883
|
+
|
|
884
|
+
while (++index < length) {
|
|
885
|
+
if (String(list[index]) === String(x)) {
|
|
886
|
+
return true
|
|
887
|
+
}
|
|
888
|
+
}
|
|
889
|
+
|
|
890
|
+
return false
|
|
891
|
+
}
|
|
892
|
+
|
|
893
|
+
function omit(propsToOmit) {
|
|
894
|
+
return obj => {
|
|
895
|
+
if (!obj) {
|
|
896
|
+
return undefined
|
|
897
|
+
}
|
|
898
|
+
|
|
899
|
+
const propsToOmitValue = createPath(propsToOmit, ',');
|
|
900
|
+
const willReturn = {};
|
|
901
|
+
|
|
902
|
+
for (const key in obj) {
|
|
903
|
+
if (!_includes(key, propsToOmitValue)) {
|
|
904
|
+
willReturn[key] = obj[key];
|
|
905
|
+
}
|
|
906
|
+
}
|
|
907
|
+
|
|
908
|
+
return willReturn
|
|
909
|
+
}
|
|
910
|
+
}
|
|
911
|
+
|
|
912
|
+
function partitionObject(predicate, iterable) {
|
|
913
|
+
const yes = {};
|
|
914
|
+
const no = {};
|
|
915
|
+
Object.entries(iterable).forEach(([prop, value]) => {
|
|
916
|
+
if (predicate(value, prop)) {
|
|
917
|
+
yes[prop] = value;
|
|
918
|
+
} else {
|
|
919
|
+
no[prop] = value;
|
|
920
|
+
}
|
|
921
|
+
});
|
|
922
|
+
|
|
923
|
+
return [yes, no]
|
|
924
|
+
}
|
|
925
|
+
|
|
926
|
+
function partitionArray(predicate, list, indexed = false) {
|
|
927
|
+
const yes = [];
|
|
928
|
+
const no = [];
|
|
929
|
+
let counter = -1;
|
|
930
|
+
|
|
931
|
+
while (counter++ < list.length - 1) {
|
|
932
|
+
if (indexed ? predicate(list[counter], counter) : predicate(list[counter])) {
|
|
933
|
+
yes.push(list[counter]);
|
|
934
|
+
} else {
|
|
935
|
+
no.push(list[counter]);
|
|
936
|
+
}
|
|
937
|
+
}
|
|
938
|
+
|
|
939
|
+
return [yes, no]
|
|
940
|
+
}
|
|
941
|
+
|
|
942
|
+
function partition(predicate) {
|
|
943
|
+
return iterable => {
|
|
944
|
+
if (!isArray(iterable)) {
|
|
945
|
+
return partitionObject(predicate, iterable)
|
|
946
|
+
}
|
|
947
|
+
|
|
948
|
+
return partitionArray(predicate, iterable)
|
|
949
|
+
}
|
|
950
|
+
}
|
|
951
|
+
|
|
952
|
+
function pick(propsToPick) {
|
|
953
|
+
return input => {
|
|
954
|
+
if (!input === null) {
|
|
955
|
+
return undefined
|
|
956
|
+
}
|
|
957
|
+
const keys = createPath(propsToPick, ',');
|
|
958
|
+
const willReturn = {};
|
|
959
|
+
let counter = 0;
|
|
960
|
+
|
|
961
|
+
while (counter < keys.length) {
|
|
962
|
+
if (keys[counter] in input) {
|
|
963
|
+
willReturn[keys[counter]] = input[keys[counter]];
|
|
964
|
+
}
|
|
965
|
+
counter++;
|
|
966
|
+
}
|
|
967
|
+
|
|
968
|
+
return willReturn
|
|
969
|
+
}
|
|
970
|
+
}
|
|
971
|
+
|
|
972
|
+
function reduce(reducer, acc) {
|
|
973
|
+
return list => {
|
|
974
|
+
if (list == null) {
|
|
975
|
+
return acc
|
|
976
|
+
}
|
|
977
|
+
if (!isArray(list)) {
|
|
978
|
+
throw new TypeError('reduce: list must be array or iterable')
|
|
979
|
+
}
|
|
980
|
+
let index = 0;
|
|
981
|
+
const len = list.length;
|
|
982
|
+
|
|
983
|
+
while (index < len) {
|
|
984
|
+
acc = reducer(acc, list[index], index, list);
|
|
985
|
+
index++;
|
|
986
|
+
}
|
|
987
|
+
|
|
988
|
+
return acc
|
|
989
|
+
}
|
|
990
|
+
}
|
|
991
|
+
|
|
992
|
+
function _arity(n, fn) {
|
|
993
|
+
switch (n) {
|
|
994
|
+
case 0:
|
|
995
|
+
return function () {
|
|
996
|
+
return fn.apply(this, arguments)
|
|
997
|
+
}
|
|
998
|
+
case 1:
|
|
999
|
+
return function (a0) {
|
|
1000
|
+
return fn.apply(this, arguments)
|
|
1001
|
+
}
|
|
1002
|
+
case 2:
|
|
1003
|
+
return function (a0, a1) {
|
|
1004
|
+
return fn.apply(this, arguments)
|
|
1005
|
+
}
|
|
1006
|
+
case 3:
|
|
1007
|
+
return function (a0, a1, a2) {
|
|
1008
|
+
return fn.apply(this, arguments)
|
|
1009
|
+
}
|
|
1010
|
+
case 4:
|
|
1011
|
+
return function (a0, a1, a2, a3) {
|
|
1012
|
+
return fn.apply(this, arguments)
|
|
1013
|
+
}
|
|
1014
|
+
case 5:
|
|
1015
|
+
return function (a0, a1, a2, a3, a4) {
|
|
1016
|
+
return fn.apply(this, arguments)
|
|
1017
|
+
}
|
|
1018
|
+
case 6:
|
|
1019
|
+
return function (a0, a1, a2, a3, a4, a5) {
|
|
1020
|
+
return fn.apply(this, arguments)
|
|
1021
|
+
}
|
|
1022
|
+
case 7:
|
|
1023
|
+
return function (a0, a1, a2, a3, a4, a5, a6) {
|
|
1024
|
+
return fn.apply(this, arguments)
|
|
1025
|
+
}
|
|
1026
|
+
case 8:
|
|
1027
|
+
return function (a0, a1, a2, a3, a4, a5, a6, a7) {
|
|
1028
|
+
return fn.apply(this, arguments)
|
|
1029
|
+
}
|
|
1030
|
+
case 9:
|
|
1031
|
+
return function (a0, a1, a2, a3, a4, a5, a6, a7, a8) {
|
|
1032
|
+
return fn.apply(this, arguments)
|
|
1033
|
+
}
|
|
1034
|
+
case 10:
|
|
1035
|
+
return function (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9) {
|
|
1036
|
+
return fn.apply(this, arguments)
|
|
1037
|
+
}
|
|
1038
|
+
default:
|
|
1039
|
+
throw new Error(
|
|
1040
|
+
'First argument to _arity must be a non-negative integer no greater than ten',
|
|
1041
|
+
)
|
|
1042
|
+
}
|
|
1043
|
+
}
|
|
1044
|
+
|
|
1045
|
+
function _pipe(f, g) {
|
|
1046
|
+
return function () {
|
|
1047
|
+
return g.call(this, f.apply(this, arguments))
|
|
1048
|
+
}
|
|
1049
|
+
}
|
|
1050
|
+
|
|
1051
|
+
function pipeFn() {
|
|
1052
|
+
if (arguments.length === 0) {
|
|
1053
|
+
throw new Error('pipe requires at least one argument')
|
|
1054
|
+
}
|
|
1055
|
+
|
|
1056
|
+
return _arity(
|
|
1057
|
+
arguments[0].length,
|
|
1058
|
+
reduce(
|
|
1059
|
+
_pipe,
|
|
1060
|
+
arguments[0],
|
|
1061
|
+
)(Array.prototype.slice.call(arguments, 1, Number.POSITIVE_INFINITY)),
|
|
1062
|
+
)
|
|
1063
|
+
}
|
|
1064
|
+
|
|
1065
|
+
function pipe(...inputs) {
|
|
1066
|
+
const [input, ...fnList] = inputs;
|
|
1067
|
+
|
|
1068
|
+
return pipeFn(...fnList)(input)
|
|
1069
|
+
}
|
|
1070
|
+
|
|
1071
|
+
async function pipeAsync(input, ...fnList) {
|
|
1072
|
+
let willReturn = input;
|
|
1073
|
+
for (const fn of fnList) {
|
|
1074
|
+
const initialResult = fn(willReturn);
|
|
1075
|
+
willReturn = type(initialResult) === 'Promise' ? await initialResult : initialResult;
|
|
1076
|
+
}
|
|
1077
|
+
return willReturn
|
|
1078
|
+
}
|
|
1079
|
+
|
|
1080
|
+
function pluck(property) {
|
|
1081
|
+
return list => {
|
|
1082
|
+
const willReturn = [];
|
|
1083
|
+
|
|
1084
|
+
list.forEach(x => {
|
|
1085
|
+
if (x[property] !== undefined) {
|
|
1086
|
+
willReturn.push(x[property]);
|
|
1087
|
+
}
|
|
1088
|
+
});
|
|
1089
|
+
|
|
1090
|
+
return willReturn
|
|
1091
|
+
}
|
|
1092
|
+
}
|
|
1093
|
+
|
|
1094
|
+
function prepend(x) {
|
|
1095
|
+
return list=> [x].concat(list)
|
|
1096
|
+
}
|
|
1097
|
+
|
|
1098
|
+
function propEq(valueToMatch, propToFind) {
|
|
1099
|
+
return obj => {
|
|
1100
|
+
if (!obj) {
|
|
1101
|
+
return false
|
|
1102
|
+
}
|
|
1103
|
+
|
|
1104
|
+
return equalsFn(valueToMatch, obj[propToFind])
|
|
1105
|
+
}
|
|
1106
|
+
}
|
|
1107
|
+
|
|
1108
|
+
function propOr(defaultValue, property) {
|
|
1109
|
+
return obj => {
|
|
1110
|
+
if (!obj) {
|
|
1111
|
+
return defaultValue
|
|
1112
|
+
}
|
|
1113
|
+
|
|
1114
|
+
return defaultTo(defaultValue, obj[property])
|
|
1115
|
+
}
|
|
1116
|
+
}
|
|
1117
|
+
|
|
1118
|
+
function propSatisfies(predicate, property) {
|
|
1119
|
+
return obj => predicate(prop(property))
|
|
1120
|
+
}
|
|
1121
|
+
|
|
1122
|
+
function range(start){
|
|
1123
|
+
return end => {
|
|
1124
|
+
if (Number.isNaN(Number(start)) || Number.isNaN(Number(end))){
|
|
1125
|
+
throw new TypeError('Both arguments to range must be numbers')
|
|
1126
|
+
}
|
|
1127
|
+
|
|
1128
|
+
if (end < start) return []
|
|
1129
|
+
|
|
1130
|
+
const len = end - start;
|
|
1131
|
+
const willReturn = Array(len);
|
|
1132
|
+
|
|
1133
|
+
for (let i = 0; i < len; i++){
|
|
1134
|
+
willReturn[ i ] = start + i;
|
|
1135
|
+
}
|
|
1136
|
+
|
|
1137
|
+
return willReturn
|
|
1138
|
+
}
|
|
1139
|
+
}
|
|
1140
|
+
|
|
1141
|
+
function reject(predicate) {
|
|
1142
|
+
return list => filter(x => !predicate(x))
|
|
1143
|
+
}
|
|
1144
|
+
|
|
1145
|
+
function replace(pattern, replacer) {
|
|
1146
|
+
return str => str.replace(pattern, replacer)
|
|
1147
|
+
}
|
|
1148
|
+
|
|
1149
|
+
function replaceItemAtIndex(index, replaceFn) {
|
|
1150
|
+
return list => {
|
|
1151
|
+
const actualIndex = index < 0 ? list.length + index : index;
|
|
1152
|
+
if (index >= list.length || actualIndex < 0) {
|
|
1153
|
+
return list
|
|
1154
|
+
}
|
|
1155
|
+
|
|
1156
|
+
const clone = cloneList(list);
|
|
1157
|
+
clone[actualIndex] = replaceFn(clone[actualIndex]);
|
|
1158
|
+
|
|
1159
|
+
return clone
|
|
1160
|
+
}
|
|
1161
|
+
}
|
|
1162
|
+
|
|
1163
|
+
function sort(sortFn){
|
|
1164
|
+
return list => cloneList(list).sort(sortFn)
|
|
1165
|
+
}
|
|
1166
|
+
|
|
1167
|
+
function sortBy(sortFn){
|
|
1168
|
+
return list => {
|
|
1169
|
+
const clone = cloneList(list);
|
|
1170
|
+
|
|
1171
|
+
return clone.sort((a, b) => {
|
|
1172
|
+
const aSortResult = sortFn(a);
|
|
1173
|
+
const bSortResult = sortFn(b);
|
|
1174
|
+
|
|
1175
|
+
if (aSortResult === bSortResult) return 0
|
|
1176
|
+
|
|
1177
|
+
return aSortResult < bSortResult ? -1 : 1
|
|
1178
|
+
})
|
|
1179
|
+
}
|
|
1180
|
+
}
|
|
1181
|
+
|
|
1182
|
+
function sortHelper(a, b, listOfSortingFns) {
|
|
1183
|
+
let result = 0;
|
|
1184
|
+
let i = 0;
|
|
1185
|
+
while (result === 0 && i < listOfSortingFns.length) {
|
|
1186
|
+
result = listOfSortingFns[i](a, b);
|
|
1187
|
+
i += 1;
|
|
1188
|
+
}
|
|
1189
|
+
|
|
1190
|
+
return result
|
|
1191
|
+
}
|
|
1192
|
+
|
|
1193
|
+
function sortWith(listOfSortingFns) {
|
|
1194
|
+
return list => {
|
|
1195
|
+
if (Array.isArray(list) === false) {
|
|
1196
|
+
return []
|
|
1197
|
+
}
|
|
1198
|
+
|
|
1199
|
+
const clone = list.slice();
|
|
1200
|
+
clone.sort((a, b) => sortHelper(a, b, listOfSortingFns));
|
|
1201
|
+
|
|
1202
|
+
return clone
|
|
1203
|
+
}
|
|
1204
|
+
}
|
|
1205
|
+
|
|
1206
|
+
function split(separator){
|
|
1207
|
+
return str => str.split(separator)
|
|
1208
|
+
}
|
|
1209
|
+
|
|
1210
|
+
function splitEvery(sliceLength) {
|
|
1211
|
+
return list => {
|
|
1212
|
+
if (sliceLength < 1) {
|
|
1213
|
+
throw new Error('First argument to splitEvery must be a positive integer')
|
|
1214
|
+
}
|
|
1215
|
+
|
|
1216
|
+
const willReturn = [];
|
|
1217
|
+
let counter = 0;
|
|
1218
|
+
|
|
1219
|
+
while (counter < list.length) {
|
|
1220
|
+
willReturn.push(list.slice(counter, (counter += sliceLength)));
|
|
1221
|
+
}
|
|
1222
|
+
|
|
1223
|
+
return willReturn
|
|
1224
|
+
}
|
|
1225
|
+
}
|
|
1226
|
+
|
|
1227
|
+
function symmetricDifference(x) {
|
|
1228
|
+
return y => [
|
|
1229
|
+
...filter(value => !includes(value)(y))(x),
|
|
1230
|
+
...filter(value => !includes(value)(x))(y),
|
|
1231
|
+
]
|
|
1232
|
+
}
|
|
1233
|
+
|
|
1234
|
+
function tail(listOrString) {
|
|
1235
|
+
return drop(1)(listOrString)
|
|
1236
|
+
}
|
|
1237
|
+
|
|
1238
|
+
function take(numberOfItems) {
|
|
1239
|
+
return input => {
|
|
1240
|
+
if (numberOfItems < 0) {
|
|
1241
|
+
return input.slice()
|
|
1242
|
+
}
|
|
1243
|
+
if (typeof input === 'string') {
|
|
1244
|
+
return input.slice(0, numberOfItems)
|
|
1245
|
+
}
|
|
1246
|
+
|
|
1247
|
+
return baseSlice(input, 0, numberOfItems)
|
|
1248
|
+
}
|
|
1249
|
+
}
|
|
1250
|
+
|
|
1251
|
+
function takeLast(numberOfItems) {
|
|
1252
|
+
return input => {
|
|
1253
|
+
const len = input.length;
|
|
1254
|
+
if (numberOfItems < 0) {
|
|
1255
|
+
return input.slice()
|
|
1256
|
+
}
|
|
1257
|
+
let numValue = numberOfItems > len ? len : numberOfItems;
|
|
1258
|
+
|
|
1259
|
+
if (typeof input === 'string') {
|
|
1260
|
+
return input.slice(len - numValue)
|
|
1261
|
+
}
|
|
1262
|
+
|
|
1263
|
+
numValue = len - numValue;
|
|
1264
|
+
|
|
1265
|
+
return baseSlice(input, numValue, len)
|
|
1266
|
+
}
|
|
1267
|
+
}
|
|
1268
|
+
|
|
1269
|
+
function takeLastWhile(predicate) {
|
|
1270
|
+
return input => {
|
|
1271
|
+
if (input.length === 0) {
|
|
1272
|
+
return input
|
|
1273
|
+
}
|
|
1274
|
+
|
|
1275
|
+
const toReturn = [];
|
|
1276
|
+
let counter = input.length;
|
|
1277
|
+
|
|
1278
|
+
while (counter) {
|
|
1279
|
+
const item = input[--counter];
|
|
1280
|
+
if (!predicate(item)) {
|
|
1281
|
+
break
|
|
1282
|
+
}
|
|
1283
|
+
toReturn.push(item);
|
|
1284
|
+
}
|
|
1285
|
+
|
|
1286
|
+
return toReturn.reverse()
|
|
1287
|
+
}
|
|
1288
|
+
}
|
|
1289
|
+
|
|
1290
|
+
function takeWhile(predicate) {
|
|
1291
|
+
return iterable => {
|
|
1292
|
+
const toReturn = [];
|
|
1293
|
+
let counter = 0;
|
|
1294
|
+
|
|
1295
|
+
while (counter < iterable.length) {
|
|
1296
|
+
const item = iterable[counter++];
|
|
1297
|
+
if (!predicate(item)) {
|
|
1298
|
+
break
|
|
1299
|
+
}
|
|
1300
|
+
toReturn.push(item);
|
|
1301
|
+
}
|
|
1302
|
+
return toReturn
|
|
1303
|
+
}
|
|
1304
|
+
}
|
|
1305
|
+
|
|
1306
|
+
function tap(fn) {
|
|
1307
|
+
return x => {
|
|
1308
|
+
fn(x);
|
|
1309
|
+
|
|
1310
|
+
return x
|
|
1311
|
+
}
|
|
1312
|
+
}
|
|
1313
|
+
|
|
1314
|
+
function test(pattern) {
|
|
1315
|
+
return str => str.search(pattern) !== -1
|
|
1316
|
+
}
|
|
1317
|
+
|
|
1318
|
+
function tryCatch(fn, fallback) {
|
|
1319
|
+
return input => {
|
|
1320
|
+
try {
|
|
1321
|
+
return fn(input)
|
|
1322
|
+
} catch (e) {
|
|
1323
|
+
return fallback
|
|
1324
|
+
}
|
|
1325
|
+
}
|
|
1326
|
+
}
|
|
1327
|
+
|
|
1328
|
+
function union(x) {
|
|
1329
|
+
return y => {
|
|
1330
|
+
const toReturn = cloneList(x);
|
|
1331
|
+
|
|
1332
|
+
y.forEach(yInstance => {
|
|
1333
|
+
if (!includes(yInstance)(x)) {
|
|
1334
|
+
toReturn.push(yInstance);
|
|
1335
|
+
}
|
|
1336
|
+
});
|
|
1337
|
+
|
|
1338
|
+
return toReturn
|
|
1339
|
+
}
|
|
1340
|
+
}
|
|
1341
|
+
|
|
1342
|
+
class _Set {
|
|
1343
|
+
constructor() {
|
|
1344
|
+
this.set = new Set();
|
|
1345
|
+
this.items = {};
|
|
1346
|
+
}
|
|
1347
|
+
|
|
1348
|
+
checkUniqueness(item) {
|
|
1349
|
+
const type$1 = type(item);
|
|
1350
|
+
if (['Null', 'Undefined', 'NaN'].includes(type$1)) {
|
|
1351
|
+
if (type$1 in this.items) {
|
|
1352
|
+
return false
|
|
1353
|
+
}
|
|
1354
|
+
this.items[type$1] = true;
|
|
1355
|
+
|
|
1356
|
+
return true
|
|
1357
|
+
}
|
|
1358
|
+
if (!['Object', 'Array'].includes(type$1)) {
|
|
1359
|
+
const prevSize = this.set.size;
|
|
1360
|
+
this.set.add(item);
|
|
1361
|
+
|
|
1362
|
+
return this.set.size !== prevSize
|
|
1363
|
+
}
|
|
1364
|
+
|
|
1365
|
+
if (!(type$1 in this.items)) {
|
|
1366
|
+
this.items[type$1] = [item];
|
|
1367
|
+
|
|
1368
|
+
return true
|
|
1369
|
+
}
|
|
1370
|
+
|
|
1371
|
+
if (_indexOf(item, this.items[type$1]) === -1) {
|
|
1372
|
+
this.items[type$1].push(item);
|
|
1373
|
+
|
|
1374
|
+
return true
|
|
1375
|
+
}
|
|
1376
|
+
|
|
1377
|
+
return false
|
|
1378
|
+
}
|
|
1379
|
+
}
|
|
1380
|
+
|
|
1381
|
+
function uniq(list) {
|
|
1382
|
+
const set = new _Set();
|
|
1383
|
+
const willReturn = [];
|
|
1384
|
+
list.forEach(item => {
|
|
1385
|
+
if (set.checkUniqueness(item)) {
|
|
1386
|
+
willReturn.push(item);
|
|
1387
|
+
}
|
|
1388
|
+
});
|
|
1389
|
+
|
|
1390
|
+
return willReturn
|
|
1391
|
+
}
|
|
1392
|
+
|
|
1393
|
+
function uniqBy(fn) {
|
|
1394
|
+
return list => {
|
|
1395
|
+
const set = new _Set();
|
|
1396
|
+
|
|
1397
|
+
return list.filter(item => set.checkUniqueness(fn(item)))
|
|
1398
|
+
}
|
|
1399
|
+
}
|
|
1400
|
+
|
|
1401
|
+
function includesWith(predicate, target, list) {
|
|
1402
|
+
let willReturn = false;
|
|
1403
|
+
let index = -1;
|
|
1404
|
+
|
|
1405
|
+
while (++index < list.length && !willReturn) {
|
|
1406
|
+
const value = list[index];
|
|
1407
|
+
|
|
1408
|
+
if (predicate(target, value)) {
|
|
1409
|
+
willReturn = true;
|
|
1410
|
+
}
|
|
1411
|
+
}
|
|
1412
|
+
|
|
1413
|
+
return willReturn
|
|
1414
|
+
}
|
|
1415
|
+
|
|
1416
|
+
function uniqWith(predicate) {
|
|
1417
|
+
return list => {
|
|
1418
|
+
let index = -1;
|
|
1419
|
+
const willReturn = [];
|
|
1420
|
+
|
|
1421
|
+
while (++index < list.length) {
|
|
1422
|
+
const value = list[index];
|
|
1423
|
+
|
|
1424
|
+
if (!includesWith(predicate, value, willReturn)) {
|
|
1425
|
+
willReturn.push(value);
|
|
1426
|
+
}
|
|
1427
|
+
}
|
|
1428
|
+
|
|
1429
|
+
return willReturn
|
|
1430
|
+
}
|
|
1431
|
+
}
|
|
1432
|
+
|
|
1433
|
+
function unless(predicate, whenFalseFn) {
|
|
1434
|
+
return input => {
|
|
1435
|
+
if (predicate(input)) {
|
|
1436
|
+
return input
|
|
1437
|
+
}
|
|
1438
|
+
|
|
1439
|
+
return whenFalseFn(input)
|
|
1440
|
+
}
|
|
1441
|
+
}
|
|
1442
|
+
|
|
1443
|
+
function unwind(property) {
|
|
1444
|
+
return obj => {
|
|
1445
|
+
return obj[property].map(x => ({
|
|
1446
|
+
...obj,
|
|
1447
|
+
[property]: x,
|
|
1448
|
+
}))
|
|
1449
|
+
}
|
|
1450
|
+
}
|
|
1451
|
+
|
|
1452
|
+
function update(index, newValue) {
|
|
1453
|
+
return list => {
|
|
1454
|
+
const clone = cloneList(list);
|
|
1455
|
+
if (index === -1) {
|
|
1456
|
+
return clone.fill(newValue, index)
|
|
1457
|
+
}
|
|
1458
|
+
|
|
1459
|
+
return clone.fill(newValue, index, index + 1)
|
|
1460
|
+
}
|
|
1461
|
+
}
|
|
1462
|
+
|
|
1463
|
+
function when(predicate, whenTrueFn) {
|
|
1464
|
+
return input => {
|
|
1465
|
+
if (!predicate(input)) {
|
|
1466
|
+
return input
|
|
1467
|
+
}
|
|
1468
|
+
|
|
1469
|
+
return whenTrueFn(input)
|
|
1470
|
+
}
|
|
1471
|
+
}
|
|
1472
|
+
|
|
1473
|
+
function zip(left) {
|
|
1474
|
+
return right => {
|
|
1475
|
+
const result = [];
|
|
1476
|
+
const length = Math.min(left.length, right.length);
|
|
1477
|
+
|
|
1478
|
+
for (let i = 0; i < length; i++) {
|
|
1479
|
+
result[i] = [left[i], right[i]];
|
|
1480
|
+
}
|
|
1481
|
+
|
|
1482
|
+
return result
|
|
1483
|
+
}
|
|
1484
|
+
}
|
|
1485
|
+
|
|
1486
|
+
function zipWith(fn, x) {
|
|
1487
|
+
return y =>
|
|
1488
|
+
take(x.length > y.length ? y.length : x.length)(x).map((xInstance, i) =>
|
|
1489
|
+
fn(xInstance, y[i]),
|
|
1490
|
+
)
|
|
1491
|
+
}
|
|
1492
|
+
|
|
1493
|
+
exports._arity = _arity;
|
|
1494
|
+
exports._includes = _includes;
|
|
1495
|
+
exports._indexOf = _indexOf;
|
|
1496
|
+
exports._lastIndexOf = _lastIndexOf;
|
|
1497
|
+
exports.all = all;
|
|
1498
|
+
exports.allPass = allPass;
|
|
1499
|
+
exports.any = any;
|
|
1500
|
+
exports.anyPass = anyPass;
|
|
1501
|
+
exports.append = append;
|
|
1502
|
+
exports.checkObjectWithSpec = checkObjectWithSpec;
|
|
1503
|
+
exports.complement = complement;
|
|
1504
|
+
exports.concat = concat;
|
|
1505
|
+
exports.count = count;
|
|
1506
|
+
exports.countBy = countBy;
|
|
1507
|
+
exports.defaultTo = defaultTo;
|
|
1508
|
+
exports.drop = drop;
|
|
1509
|
+
exports.dropLast = dropLast;
|
|
1510
|
+
exports.dropLastWhile = dropLastWhile;
|
|
1511
|
+
exports.dropWhile = dropWhile;
|
|
1512
|
+
exports.eqBy = eqBy;
|
|
1513
|
+
exports.eqProps = eqProps;
|
|
1514
|
+
exports.equals = equals;
|
|
1515
|
+
exports.equalsFn = equalsFn;
|
|
1516
|
+
exports.evolve = evolve;
|
|
1517
|
+
exports.evolveFn = evolveFn;
|
|
1518
|
+
exports.excludes = excludes;
|
|
1519
|
+
exports.filter = filter;
|
|
1520
|
+
exports.filterObject = filterObject;
|
|
1521
|
+
exports.find = find;
|
|
1522
|
+
exports.findIndex = findIndex;
|
|
1523
|
+
exports.findLast = findLast;
|
|
1524
|
+
exports.findLastIndex = findLastIndex;
|
|
1525
|
+
exports.flatMap = flatMap;
|
|
1526
|
+
exports.flatten = flatten;
|
|
1527
|
+
exports.groupBy = groupBy;
|
|
1528
|
+
exports.head = head;
|
|
1529
|
+
exports.includes = includes;
|
|
1530
|
+
exports.indexOf = indexOf;
|
|
1531
|
+
exports.init = init;
|
|
1532
|
+
exports.innerJoin = innerJoin;
|
|
1533
|
+
exports.intersection = intersection;
|
|
1534
|
+
exports.intersperse = intersperse;
|
|
1535
|
+
exports.join = join;
|
|
1536
|
+
exports.last = last;
|
|
1537
|
+
exports.lastIndexOf = lastIndexOf;
|
|
1538
|
+
exports.map = map;
|
|
1539
|
+
exports.mapAsync = mapAsync;
|
|
1540
|
+
exports.mapObject = mapObject;
|
|
1541
|
+
exports.mapObjectAsync = mapObjectAsync;
|
|
1542
|
+
exports.match = match;
|
|
1543
|
+
exports.maxBy = maxBy;
|
|
1544
|
+
exports.merge = merge;
|
|
1545
|
+
exports.mergeTypes = mergeTypes;
|
|
1546
|
+
exports.minBy = minBy;
|
|
1547
|
+
exports.modifyPath = modifyPath;
|
|
1548
|
+
exports.none = none;
|
|
1549
|
+
exports.objOf = objOf;
|
|
1550
|
+
exports.omit = omit;
|
|
1551
|
+
exports.partition = partition;
|
|
1552
|
+
exports.partitionArray = partitionArray;
|
|
1553
|
+
exports.partitionObject = partitionObject;
|
|
1554
|
+
exports.path = path;
|
|
1555
|
+
exports.pick = pick;
|
|
1556
|
+
exports.pipe = pipe;
|
|
1557
|
+
exports.pipeAsync = pipeAsync;
|
|
1558
|
+
exports.pluck = pluck;
|
|
1559
|
+
exports.prepend = prepend;
|
|
1560
|
+
exports.prop = prop;
|
|
1561
|
+
exports.propEq = propEq;
|
|
1562
|
+
exports.propOr = propOr;
|
|
1563
|
+
exports.propSatisfies = propSatisfies;
|
|
1564
|
+
exports.range = range;
|
|
1565
|
+
exports.reduce = reduce;
|
|
1566
|
+
exports.reject = reject;
|
|
1567
|
+
exports.replace = replace;
|
|
1568
|
+
exports.replaceItemAtIndex = replaceItemAtIndex;
|
|
1569
|
+
exports.sort = sort;
|
|
1570
|
+
exports.sortBy = sortBy;
|
|
1571
|
+
exports.sortWith = sortWith;
|
|
1572
|
+
exports.split = split;
|
|
1573
|
+
exports.splitEvery = splitEvery;
|
|
1574
|
+
exports.symmetricDifference = symmetricDifference;
|
|
1575
|
+
exports.tail = tail;
|
|
1576
|
+
exports.take = take;
|
|
1577
|
+
exports.takeLast = takeLast;
|
|
1578
|
+
exports.takeLastWhile = takeLastWhile;
|
|
1579
|
+
exports.takeWhile = takeWhile;
|
|
1580
|
+
exports.tap = tap;
|
|
1581
|
+
exports.test = test;
|
|
1582
|
+
exports.tryCatch = tryCatch;
|
|
1583
|
+
exports.type = type;
|
|
1584
|
+
exports.union = union;
|
|
1585
|
+
exports.uniq = uniq;
|
|
1586
|
+
exports.uniqBy = uniqBy;
|
|
1587
|
+
exports.uniqWith = uniqWith;
|
|
1588
|
+
exports.unless = unless;
|
|
1589
|
+
exports.unwind = unwind;
|
|
1590
|
+
exports.update = update;
|
|
1591
|
+
exports.when = when;
|
|
1592
|
+
exports.zip = zip;
|
|
1593
|
+
exports.zipWith = zipWith;
|
|
1594
|
+
|
|
1595
|
+
}));
|