ramda-adjunct 2.34.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/.nvmrc +1 -0
- package/CHANGELOG.md +973 -0
- package/LICENSE.md +25 -0
- package/README.md +297 -0
- package/SECURITY.md +43 -0
- package/dist/RA.node.js +11172 -0
- package/dist/RA.node.min.js +2 -0
- package/dist/RA.node.min.js.LICENSE.txt +22 -0
- package/dist/RA.web.js +11172 -0
- package/dist/RA.web.min.js +2 -0
- package/dist/RA.web.min.js.LICENSE.txt +22 -0
- package/dist/RA.web.standalone.js +27797 -0
- package/dist/RA.web.standalone.min.js +2 -0
- package/dist/RA.web.standalone.min.js.LICENSE.txt +22 -0
- package/es/Y.js +38 -0
- package/es/allEqual.js +25 -0
- package/es/allEqualTo.js +26 -0
- package/es/allIdentical.js +24 -0
- package/es/allIdenticalTo.js +26 -0
- package/es/allP.js +26 -0
- package/es/allSettledP.js +29 -0
- package/es/allUnique.js +23 -0
- package/es/anyP.js +28 -0
- package/es/appendFlipped.js +23 -0
- package/es/argsPass.js +38 -0
- package/es/async.js +57 -0
- package/es/cata.js +101 -0
- package/es/catchP.js +24 -0
- package/es/ceil.js +26 -0
- package/es/compact.js +21 -0
- package/es/concatAll.js +30 -0
- package/es/concatRight.js +29 -0
- package/es/contained.js +29 -0
- package/es/curryRight.js +24 -0
- package/es/curryRightN.js +32 -0
- package/es/defaultWhen.js +25 -0
- package/es/delayP.js +44 -0
- package/es/dispatch.js +75 -0
- package/es/divideNum.js +19 -0
- package/es/dropArgs.js +22 -0
- package/es/ensureArray.js +22 -0
- package/es/escapeRegExp.js +20 -0
- package/es/fantasy-land/Identity.js +309 -0
- package/es/fantasy-land/mapping.js +20 -0
- package/es/fantasy-land/traits.js +41 -0
- package/es/fantasy-land/util.js +11 -0
- package/es/filterIndexed.js +27 -0
- package/es/findOr.js +28 -0
- package/es/flattenDepth.js +50 -0
- package/es/flattenPath.js +27 -0
- package/es/flattenProp.js +28 -0
- package/es/floor.js +25 -0
- package/es/fnull.js +37 -0
- package/es/hasPath.js +38 -0
- package/es/inRange.js +29 -0
- package/es/index.js +252 -0
- package/es/internal/ap.js +20 -0
- package/es/internal/compareLength.js +5 -0
- package/es/internal/isOfTypeObject.js +7 -0
- package/es/internal/makeFlat.js +46 -0
- package/es/internal/ponyfills/Array.from.js +40 -0
- package/es/internal/ponyfills/Math.sign.js +5 -0
- package/es/internal/ponyfills/Math.trunc.js +14 -0
- package/es/internal/ponyfills/Number.MAX_SAFE_INTEGER.js +2 -0
- package/es/internal/ponyfills/Number.MIN_SAFE_INTEGER.js +2 -0
- package/es/internal/ponyfills/Number.isFinite.js +5 -0
- package/es/internal/ponyfills/Number.isInteger.js +4 -0
- package/es/internal/ponyfills/Number.isNaN.js +5 -0
- package/es/internal/ponyfills/Number.isSafeInteger.js +7 -0
- package/es/internal/ponyfills/Promise.allSettled.js +38 -0
- package/es/internal/ponyfills/Promise.any.js +77 -0
- package/es/internal/ponyfills/String.padEnd.js +24 -0
- package/es/internal/ponyfills/String.padStart.js +26 -0
- package/es/internal/ponyfills/String.repeat.js +46 -0
- package/es/internal/ponyfills/String.replaceAll.js +34 -0
- package/es/internal/ponyfills/String.trimEnd.js +3 -0
- package/es/internal/ponyfills/String.trimStart.js +3 -0
- package/es/invoke.js +20 -0
- package/es/invokeArgs.js +30 -0
- package/es/isArray.js +22 -0
- package/es/isArrayLike.js +87 -0
- package/es/isAsyncFunction.js +22 -0
- package/es/isBigInt.js +23 -0
- package/es/isBoolean.js +21 -0
- package/es/isDate.js +20 -0
- package/es/isEmptyArray.js +26 -0
- package/es/isEmptyString.js +27 -0
- package/es/isError.js +20 -0
- package/es/isEven.js +29 -0
- package/es/isFalse.js +29 -0
- package/es/isFalsy.js +26 -0
- package/es/isFinite.js +33 -0
- package/es/isFloat.js +34 -0
- package/es/isFunction.js +26 -0
- package/es/isGeneratorFunction.js +33 -0
- package/es/isIndexed.js +21 -0
- package/es/isInteger.js +35 -0
- package/es/isInteger32.js +28 -0
- package/es/isIterable.js +33 -0
- package/es/isMap.js +23 -0
- package/es/isNaN.js +41 -0
- package/es/isNaturalNumber.js +25 -0
- package/es/isNegative.js +25 -0
- package/es/isNegativeZero.js +22 -0
- package/es/isNilOrEmpty.js +25 -0
- package/es/isNonEmptyArray.js +27 -0
- package/es/isNonEmptyString.js +30 -0
- package/es/isNonNegative.js +28 -0
- package/es/isNonPositive.js +28 -0
- package/es/isNotArray.js +22 -0
- package/es/isNotArrayLike.js +24 -0
- package/es/isNotAsyncFunction.js +27 -0
- package/es/isNotBoolean.js +22 -0
- package/es/isNotDate.js +21 -0
- package/es/isNotEmpty.js +25 -0
- package/es/isNotFinite.js +29 -0
- package/es/isNotFloat.js +33 -0
- package/es/isNotFunction.js +29 -0
- package/es/isNotGeneratorFunction.js +27 -0
- package/es/isNotInteger.js +34 -0
- package/es/isNotMap.js +24 -0
- package/es/isNotNaN.js +35 -0
- package/es/isNotNil.js +22 -0
- package/es/isNotNilOrEmpty.js +26 -0
- package/es/isNotNull.js +22 -0
- package/es/isNotNumber.js +23 -0
- package/es/isNotObj.js +29 -0
- package/es/isNotObjLike.js +29 -0
- package/es/isNotPair.js +25 -0
- package/es/isNotPlainObj.js +35 -0
- package/es/isNotPrimitive.js +22 -0
- package/es/isNotRegExp.js +22 -0
- package/es/isNotSet.js +23 -0
- package/es/isNotString.js +21 -0
- package/es/isNotUndefined.js +22 -0
- package/es/isNotValidDate.js +22 -0
- package/es/isNotValidNumber.js +25 -0
- package/es/isNull.js +21 -0
- package/es/isNumber.js +23 -0
- package/es/isObj.js +31 -0
- package/es/isObjLike.js +30 -0
- package/es/isOdd.js +24 -0
- package/es/isPair.js +25 -0
- package/es/isPlainObj.js +52 -0
- package/es/isPositive.js +24 -0
- package/es/isPositiveZero.js +22 -0
- package/es/isPrimitive.js +31 -0
- package/es/isPromise.js +27 -0
- package/es/isPrototypeOf.js +34 -0
- package/es/isRegExp.js +21 -0
- package/es/isSafeInteger.js +34 -0
- package/es/isSentinelValue.js +26 -0
- package/es/isSet.js +22 -0
- package/es/isSparseArray.js +30 -0
- package/es/isString.js +20 -0
- package/es/isSymbol.js +27 -0
- package/es/isThenable.js +26 -0
- package/es/isTrue.js +25 -0
- package/es/isTruthy.js +27 -0
- package/es/isUndefined.js +22 -0
- package/es/isValidDate.js +26 -0
- package/es/isValidNumber.js +26 -0
- package/es/lastP.js +63 -0
- package/es/lengthEq.js +22 -0
- package/es/lengthGt.js +22 -0
- package/es/lengthGte.js +24 -0
- package/es/lengthLt.js +22 -0
- package/es/lengthLte.js +23 -0
- package/es/lengthNotEq.js +22 -0
- package/es/lensEq.js +27 -0
- package/es/lensIso.js +55 -0
- package/es/lensNotEq.js +26 -0
- package/es/lensNotSatisfy.js +28 -0
- package/es/lensSatisfies.js +31 -0
- package/es/lensTraverse.js +42 -0
- package/es/liftF.js +37 -0
- package/es/liftFN.js +47 -0
- package/es/list.js +19 -0
- package/es/mapIndexed.js +26 -0
- package/es/mergePath.js +30 -0
- package/es/mergePaths.js +27 -0
- package/es/mergeProp.js +30 -0
- package/es/mergeProps.js +26 -0
- package/es/mergeRight.js +26 -0
- package/es/move.js +25 -0
- package/es/nand.js +27 -0
- package/es/neither.js +39 -0
- package/es/noneP.js +28 -0
- package/es/nonePass.js +31 -0
- package/es/noop.js +19 -0
- package/es/nor.js +28 -0
- package/es/notAllPass.js +31 -0
- package/es/notAllUnique.js +23 -0
- package/es/notBoth.js +39 -0
- package/es/notEqual.js +30 -0
- package/es/omitBy.js +26 -0
- package/es/omitIndexes.js +27 -0
- package/es/overlaps.js +29 -0
- package/es/padCharsEnd.js +31 -0
- package/es/padCharsStart.js +29 -0
- package/es/padEnd.js +24 -0
- package/es/padStart.js +22 -0
- package/es/pathNotEq.js +32 -0
- package/es/pathOrLazy.js +25 -0
- package/es/paths.js +27 -0
- package/es/pickIndexes.js +30 -0
- package/es/propNotEq.js +29 -0
- package/es/rangeStep.js +36 -0
- package/es/reduceIndexed.js +30 -0
- package/es/reduceP.js +111 -0
- package/es/reduceRightP.js +117 -0
- package/es/rejectP.js +23 -0
- package/es/renameKeyWith.js +28 -0
- package/es/renameKeys.js +42 -0
- package/es/renameKeysWith.js +26 -0
- package/es/repeatStr.js +24 -0
- package/es/replaceAll.js +29 -0
- package/es/resolveP.js +29 -0
- package/es/round.js +24 -0
- package/es/seq.js +44 -0
- package/es/sign.js +27 -0
- package/es/skipTake.js +22 -0
- package/es/sliceFrom.js +22 -0
- package/es/sliceTo.js +22 -0
- package/es/sortByProps.js +52 -0
- package/es/spreadPath.js +25 -0
- package/es/spreadProp.js +25 -0
- package/es/stubArray.js +19 -0
- package/es/stubNull.js +18 -0
- package/es/stubObj.js +20 -0
- package/es/stubString.js +18 -0
- package/es/stubUndefined.js +19 -0
- package/es/subtractNum.js +19 -0
- package/es/thenCatchP.js +26 -0
- package/es/thenP.js +28 -0
- package/es/toArray.js +27 -0
- package/es/toInteger32.js +24 -0
- package/es/toUinteger32.js +26 -0
- package/es/trimCharsEnd.js +22 -0
- package/es/trimCharsStart.js +22 -0
- package/es/trimEnd.js +23 -0
- package/es/trimStart.js +22 -0
- package/es/trunc.js +27 -0
- package/es/unzipObjWith.js +26 -0
- package/es/viewOr.js +30 -0
- package/es/weave.js +36 -0
- package/es/weaveLazy.js +38 -0
- package/es/zipObjWith.js +26 -0
- package/lib/Y.js +44 -0
- package/lib/allEqual.js +35 -0
- package/lib/allEqualTo.js +32 -0
- package/lib/allIdentical.js +33 -0
- package/lib/allIdenticalTo.js +32 -0
- package/lib/allP.js +32 -0
- package/lib/allSettledP.js +41 -0
- package/lib/allUnique.js +32 -0
- package/lib/anyP.js +47 -0
- package/lib/appendFlipped.js +29 -0
- package/lib/argsPass.js +48 -0
- package/lib/async.js +67 -0
- package/lib/cata.js +110 -0
- package/lib/catchP.js +30 -0
- package/lib/ceil.js +32 -0
- package/lib/compact.js +30 -0
- package/lib/concatAll.js +40 -0
- package/lib/concatRight.js +35 -0
- package/lib/contained.js +35 -0
- package/lib/curryRight.js +33 -0
- package/lib/curryRightN.js +38 -0
- package/lib/defaultWhen.js +31 -0
- package/lib/delayP.js +54 -0
- package/lib/dispatch.js +50 -0
- package/lib/divideNum.js +25 -0
- package/lib/dropArgs.js +28 -0
- package/lib/ensureArray.js +31 -0
- package/lib/escapeRegExp.js +29 -0
- package/lib/fantasy-land/Identity.js +323 -0
- package/lib/fantasy-land/mapping.js +44 -0
- package/lib/fantasy-land/traits.js +77 -0
- package/lib/fantasy-land/util.js +21 -0
- package/lib/filterIndexed.js +33 -0
- package/lib/findOr.js +34 -0
- package/lib/flattenDepth.js +58 -0
- package/lib/flattenPath.js +33 -0
- package/lib/flattenProp.js +37 -0
- package/lib/floor.js +31 -0
- package/lib/fnull.js +47 -0
- package/lib/hasPath.js +47 -0
- package/lib/inRange.js +37 -0
- package/lib/index.js +863 -0
- package/lib/internal/ap.js +37 -0
- package/lib/internal/compareLength.js +12 -0
- package/lib/internal/isOfTypeObject.js +13 -0
- package/lib/internal/makeFlat.js +54 -0
- package/lib/internal/ponyfills/Array.from.js +52 -0
- package/lib/internal/ponyfills/Math.sign.js +11 -0
- package/lib/internal/ponyfills/Math.trunc.js +22 -0
- package/lib/internal/ponyfills/Number.MAX_SAFE_INTEGER.js +7 -0
- package/lib/internal/ponyfills/Number.MIN_SAFE_INTEGER.js +7 -0
- package/lib/internal/ponyfills/Number.isFinite.js +15 -0
- package/lib/internal/ponyfills/Number.isInteger.js +14 -0
- package/lib/internal/ponyfills/Number.isNaN.js +15 -0
- package/lib/internal/ponyfills/Number.isSafeInteger.js +18 -0
- package/lib/internal/ponyfills/Promise.allSettled.js +48 -0
- package/lib/internal/ponyfills/Promise.any.js +89 -0
- package/lib/internal/ponyfills/String.padEnd.js +34 -0
- package/lib/internal/ponyfills/String.padStart.js +36 -0
- package/lib/internal/ponyfills/String.repeat.js +55 -0
- package/lib/internal/ponyfills/String.replaceAll.js +44 -0
- package/lib/internal/ponyfills/String.trimEnd.js +10 -0
- package/lib/internal/ponyfills/String.trimStart.js +10 -0
- package/lib/invoke.js +29 -0
- package/lib/invokeArgs.js +40 -0
- package/lib/isArray.js +31 -0
- package/lib/isArrayLike.js +98 -0
- package/lib/isAsyncFunction.js +28 -0
- package/lib/isBigInt.js +29 -0
- package/lib/isBoolean.js +27 -0
- package/lib/isDate.js +26 -0
- package/lib/isEmptyArray.js +35 -0
- package/lib/isEmptyString.js +33 -0
- package/lib/isError.js +26 -0
- package/lib/isEven.js +39 -0
- package/lib/isFalse.js +35 -0
- package/lib/isFalsy.js +35 -0
- package/lib/isFinite.js +46 -0
- package/lib/isFloat.js +44 -0
- package/lib/isFunction.js +36 -0
- package/lib/isGeneratorFunction.js +40 -0
- package/lib/isIndexed.js +31 -0
- package/lib/isInteger.js +47 -0
- package/lib/isInteger32.js +37 -0
- package/lib/isIterable.js +42 -0
- package/lib/isMap.js +29 -0
- package/lib/isNaN.js +54 -0
- package/lib/isNaturalNumber.js +35 -0
- package/lib/isNegative.js +34 -0
- package/lib/isNegativeZero.js +28 -0
- package/lib/isNilOrEmpty.js +31 -0
- package/lib/isNonEmptyArray.js +37 -0
- package/lib/isNonEmptyString.js +41 -0
- package/lib/isNonNegative.js +37 -0
- package/lib/isNonPositive.js +37 -0
- package/lib/isNotArray.js +31 -0
- package/lib/isNotArrayLike.js +33 -0
- package/lib/isNotAsyncFunction.js +36 -0
- package/lib/isNotBoolean.js +31 -0
- package/lib/isNotDate.js +30 -0
- package/lib/isNotEmpty.js +31 -0
- package/lib/isNotFinite.js +38 -0
- package/lib/isNotFloat.js +42 -0
- package/lib/isNotFunction.js +38 -0
- package/lib/isNotGeneratorFunction.js +36 -0
- package/lib/isNotInteger.js +43 -0
- package/lib/isNotMap.js +33 -0
- package/lib/isNotNaN.js +44 -0
- package/lib/isNotNil.js +28 -0
- package/lib/isNotNilOrEmpty.js +35 -0
- package/lib/isNotNull.js +31 -0
- package/lib/isNotNumber.js +32 -0
- package/lib/isNotObj.js +38 -0
- package/lib/isNotObjLike.js +38 -0
- package/lib/isNotPair.js +34 -0
- package/lib/isNotPlainObj.js +44 -0
- package/lib/isNotPrimitive.js +31 -0
- package/lib/isNotRegExp.js +31 -0
- package/lib/isNotSet.js +32 -0
- package/lib/isNotString.js +30 -0
- package/lib/isNotUndefined.js +31 -0
- package/lib/isNotValidDate.js +31 -0
- package/lib/isNotValidNumber.js +34 -0
- package/lib/isNull.js +27 -0
- package/lib/isNumber.js +29 -0
- package/lib/isObj.js +42 -0
- package/lib/isObjLike.js +40 -0
- package/lib/isOdd.js +33 -0
- package/lib/isPair.js +34 -0
- package/lib/isPlainObj.js +64 -0
- package/lib/isPositive.js +33 -0
- package/lib/isPositiveZero.js +28 -0
- package/lib/isPrimitive.js +47 -0
- package/lib/isPromise.js +36 -0
- package/lib/isPrototypeOf.js +43 -0
- package/lib/isRegExp.js +27 -0
- package/lib/isSafeInteger.js +46 -0
- package/lib/isSentinelValue.js +35 -0
- package/lib/isSet.js +28 -0
- package/lib/isSparseArray.js +39 -0
- package/lib/isString.js +26 -0
- package/lib/isSymbol.js +33 -0
- package/lib/isThenable.js +35 -0
- package/lib/isTrue.js +31 -0
- package/lib/isTruthy.js +33 -0
- package/lib/isUndefined.js +31 -0
- package/lib/isValidDate.js +36 -0
- package/lib/isValidNumber.js +36 -0
- package/lib/lastP.js +76 -0
- package/lib/lengthEq.js +31 -0
- package/lib/lengthGt.js +31 -0
- package/lib/lengthGte.js +33 -0
- package/lib/lengthLt.js +31 -0
- package/lib/lengthLte.js +32 -0
- package/lib/lengthNotEq.js +31 -0
- package/lib/lensEq.js +33 -0
- package/lib/lensIso.js +62 -0
- package/lib/lensNotEq.js +35 -0
- package/lib/lensNotSatisfy.js +37 -0
- package/lib/lensSatisfies.js +40 -0
- package/lib/lensTraverse.js +51 -0
- package/lib/liftF.js +46 -0
- package/lib/liftFN.js +56 -0
- package/lib/list.js +25 -0
- package/lib/mapIndexed.js +32 -0
- package/lib/mergePath.js +39 -0
- package/lib/mergePaths.js +36 -0
- package/lib/mergeProp.js +39 -0
- package/lib/mergeProps.js +32 -0
- package/lib/mergeRight.js +32 -0
- package/lib/move.js +31 -0
- package/lib/nand.js +33 -0
- package/lib/neither.js +45 -0
- package/lib/noneP.js +39 -0
- package/lib/nonePass.js +37 -0
- package/lib/noop.js +28 -0
- package/lib/nor.js +34 -0
- package/lib/notAllPass.js +37 -0
- package/lib/notAllUnique.js +32 -0
- package/lib/notBoth.js +45 -0
- package/lib/notEqual.js +36 -0
- package/lib/omitBy.js +32 -0
- package/lib/omitIndexes.js +34 -0
- package/lib/overlaps.js +38 -0
- package/lib/padCharsEnd.js +44 -0
- package/lib/padCharsStart.js +42 -0
- package/lib/padEnd.js +32 -0
- package/lib/padStart.js +30 -0
- package/lib/pathNotEq.js +38 -0
- package/lib/pathOrLazy.js +31 -0
- package/lib/paths.js +33 -0
- package/lib/pickIndexes.js +37 -0
- package/lib/propNotEq.js +35 -0
- package/lib/rangeStep.js +45 -0
- package/lib/reduceIndexed.js +36 -0
- package/lib/reduceP.js +122 -0
- package/lib/reduceRightP.js +129 -0
- package/lib/rejectP.js +29 -0
- package/lib/renameKeyWith.js +37 -0
- package/lib/renameKeys.js +51 -0
- package/lib/renameKeysWith.js +32 -0
- package/lib/repeatStr.js +37 -0
- package/lib/replaceAll.js +42 -0
- package/lib/resolveP.js +35 -0
- package/lib/round.js +30 -0
- package/lib/seq.js +50 -0
- package/lib/sign.js +39 -0
- package/lib/skipTake.js +28 -0
- package/lib/sliceFrom.js +28 -0
- package/lib/sliceTo.js +28 -0
- package/lib/sortByProps.js +58 -0
- package/lib/spreadPath.js +31 -0
- package/lib/spreadProp.js +34 -0
- package/lib/stubArray.js +25 -0
- package/lib/stubNull.js +24 -0
- package/lib/stubObj.js +26 -0
- package/lib/stubString.js +24 -0
- package/lib/stubUndefined.js +25 -0
- package/lib/subtractNum.js +25 -0
- package/lib/thenCatchP.js +33 -0
- package/lib/thenP.js +34 -0
- package/lib/toArray.js +40 -0
- package/lib/toInteger32.js +30 -0
- package/lib/toUinteger32.js +32 -0
- package/lib/trimCharsEnd.js +31 -0
- package/lib/trimCharsStart.js +31 -0
- package/lib/trimEnd.js +36 -0
- package/lib/trimStart.js +35 -0
- package/lib/trunc.js +39 -0
- package/lib/unzipObjWith.js +35 -0
- package/lib/viewOr.js +36 -0
- package/lib/weave.js +42 -0
- package/lib/weaveLazy.js +44 -0
- package/lib/zipObjWith.js +32 -0
- package/package.json +204 -0
- package/src/Y.js +32 -0
- package/src/allEqual.js +28 -0
- package/src/allEqualTo.js +25 -0
- package/src/allIdentical.js +26 -0
- package/src/allIdenticalTo.js +25 -0
- package/src/allP.js +27 -0
- package/src/allSettledP.js +34 -0
- package/src/allUnique.js +25 -0
- package/src/anyP.js +33 -0
- package/src/appendFlipped.js +24 -0
- package/src/argsPass.js +40 -0
- package/src/async.js +60 -0
- package/src/cata.js +86 -0
- package/src/catchP.js +25 -0
- package/src/ceil.js +28 -0
- package/src/compact.js +23 -0
- package/src/concatAll.js +34 -0
- package/src/concatRight.js +30 -0
- package/src/contained.js +30 -0
- package/src/curryRight.js +26 -0
- package/src/curryRightN.js +29 -0
- package/src/defaultWhen.js +26 -0
- package/src/delayP.js +45 -0
- package/src/dispatch.js +74 -0
- package/src/divideNum.js +20 -0
- package/src/dropArgs.js +23 -0
- package/src/ensureArray.js +24 -0
- package/src/escapeRegExp.js +22 -0
- package/src/fantasy-land/Identity.js +270 -0
- package/src/fantasy-land/mapping.js +20 -0
- package/src/fantasy-land/traits.js +57 -0
- package/src/fantasy-land/util.js +23 -0
- package/src/filterIndexed.js +28 -0
- package/src/findOr.js +30 -0
- package/src/flattenDepth.js +39 -0
- package/src/flattenPath.js +26 -0
- package/src/flattenProp.js +28 -0
- package/src/floor.js +27 -0
- package/src/fnull.js +38 -0
- package/src/hasPath.js +40 -0
- package/src/inRange.js +34 -0
- package/src/index.js +241 -0
- package/src/internal/ap.js +30 -0
- package/src/internal/compareLength.js +7 -0
- package/src/internal/isOfTypeObject.js +3 -0
- package/src/internal/makeFlat.js +42 -0
- package/src/internal/ponyfills/Array.from.js +34 -0
- package/src/internal/ponyfills/Math.sign.js +3 -0
- package/src/internal/ponyfills/Math.trunc.js +14 -0
- package/src/internal/ponyfills/Number.MAX_SAFE_INTEGER.js +3 -0
- package/src/internal/ponyfills/Number.MIN_SAFE_INTEGER.js +3 -0
- package/src/internal/ponyfills/Number.isFinite.js +8 -0
- package/src/internal/ponyfills/Number.isInteger.js +10 -0
- package/src/internal/ponyfills/Number.isNaN.js +8 -0
- package/src/internal/ponyfills/Number.isSafeInteger.js +11 -0
- package/src/internal/ponyfills/Promise.allSettled.js +18 -0
- package/src/internal/ponyfills/Promise.any.js +29 -0
- package/src/internal/ponyfills/String.padEnd.js +25 -0
- package/src/internal/ponyfills/String.padStart.js +27 -0
- package/src/internal/ponyfills/String.repeat.js +49 -0
- package/src/internal/ponyfills/String.replaceAll.js +44 -0
- package/src/internal/ponyfills/String.trimEnd.js +5 -0
- package/src/internal/ponyfills/String.trimStart.js +5 -0
- package/src/invoke.js +22 -0
- package/src/invokeArgs.js +36 -0
- package/src/isArray.js +27 -0
- package/src/isArrayLike.js +79 -0
- package/src/isAsyncFunction.js +23 -0
- package/src/isBigInt.js +24 -0
- package/src/isBoolean.js +22 -0
- package/src/isDate.js +21 -0
- package/src/isEmptyArray.js +28 -0
- package/src/isEmptyString.js +28 -0
- package/src/isError.js +21 -0
- package/src/isEven.js +31 -0
- package/src/isFalse.js +31 -0
- package/src/isFalsy.js +28 -0
- package/src/isFinite.js +37 -0
- package/src/isFloat.js +36 -0
- package/src/isFunction.js +32 -0
- package/src/isGeneratorFunction.js +43 -0
- package/src/isIndexed.js +24 -0
- package/src/isInteger.js +40 -0
- package/src/isInteger32.js +28 -0
- package/src/isIterable.js +37 -0
- package/src/isMap.js +25 -0
- package/src/isNaN.js +45 -0
- package/src/isNaturalNumber.js +28 -0
- package/src/isNegative.js +27 -0
- package/src/isNegativeZero.js +23 -0
- package/src/isNilOrEmpty.js +26 -0
- package/src/isNonEmptyArray.js +29 -0
- package/src/isNonEmptyString.js +32 -0
- package/src/isNonNegative.js +30 -0
- package/src/isNonPositive.js +30 -0
- package/src/isNotArray.js +24 -0
- package/src/isNotArrayLike.js +26 -0
- package/src/isNotAsyncFunction.js +27 -0
- package/src/isNotBoolean.js +24 -0
- package/src/isNotDate.js +23 -0
- package/src/isNotEmpty.js +26 -0
- package/src/isNotFinite.js +31 -0
- package/src/isNotFloat.js +35 -0
- package/src/isNotFunction.js +29 -0
- package/src/isNotGeneratorFunction.js +27 -0
- package/src/isNotInteger.js +36 -0
- package/src/isNotMap.js +27 -0
- package/src/isNotNaN.js +37 -0
- package/src/isNotNil.js +23 -0
- package/src/isNotNilOrEmpty.js +28 -0
- package/src/isNotNull.js +24 -0
- package/src/isNotNumber.js +25 -0
- package/src/isNotObj.js +29 -0
- package/src/isNotObjLike.js +29 -0
- package/src/isNotPair.js +27 -0
- package/src/isNotPlainObj.js +35 -0
- package/src/isNotPrimitive.js +25 -0
- package/src/isNotRegExp.js +24 -0
- package/src/isNotSet.js +26 -0
- package/src/isNotString.js +23 -0
- package/src/isNotUndefined.js +24 -0
- package/src/isNotValidDate.js +24 -0
- package/src/isNotValidNumber.js +27 -0
- package/src/isNull.js +22 -0
- package/src/isNumber.js +24 -0
- package/src/isObj.js +31 -0
- package/src/isObjLike.js +30 -0
- package/src/isOdd.js +29 -0
- package/src/isPair.js +27 -0
- package/src/isPlainObj.js +65 -0
- package/src/isPositive.js +26 -0
- package/src/isPositiveZero.js +23 -0
- package/src/isPrimitive.js +45 -0
- package/src/isPromise.js +32 -0
- package/src/isPrototypeOf.js +36 -0
- package/src/isRegExp.js +22 -0
- package/src/isSafeInteger.js +40 -0
- package/src/isSentinelValue.js +26 -0
- package/src/isSet.js +24 -0
- package/src/isSparseArray.js +43 -0
- package/src/isString.js +21 -0
- package/src/isSymbol.js +29 -0
- package/src/isThenable.js +28 -0
- package/src/isTrue.js +27 -0
- package/src/isTruthy.js +28 -0
- package/src/isUndefined.js +24 -0
- package/src/isValidDate.js +29 -0
- package/src/isValidNumber.js +28 -0
- package/src/lastP.js +54 -0
- package/src/lengthEq.js +24 -0
- package/src/lengthGt.js +24 -0
- package/src/lengthGte.js +26 -0
- package/src/lengthLt.js +24 -0
- package/src/lengthLte.js +25 -0
- package/src/lengthNotEq.js +24 -0
- package/src/lensEq.js +28 -0
- package/src/lensIso.js +51 -0
- package/src/lensNotEq.js +28 -0
- package/src/lensNotSatisfy.js +30 -0
- package/src/lensSatisfies.js +33 -0
- package/src/lensTraverse.js +44 -0
- package/src/liftF.js +37 -0
- package/src/liftFN.js +45 -0
- package/src/list.js +20 -0
- package/src/mapIndexed.js +27 -0
- package/src/mergePath.js +32 -0
- package/src/mergePaths.js +29 -0
- package/src/mergeProp.js +30 -0
- package/src/mergeProps.js +27 -0
- package/src/mergeRight.js +27 -0
- package/src/move.js +26 -0
- package/src/nand.js +27 -0
- package/src/neither.js +38 -0
- package/src/noneP.js +35 -0
- package/src/nonePass.js +32 -0
- package/src/noop.js +21 -0
- package/src/nor.js +28 -0
- package/src/notAllPass.js +32 -0
- package/src/notAllUnique.js +25 -0
- package/src/notBoth.js +38 -0
- package/src/notEqual.js +31 -0
- package/src/omitBy.js +25 -0
- package/src/omitIndexes.js +27 -0
- package/src/overlaps.js +32 -0
- package/src/padCharsEnd.js +37 -0
- package/src/padCharsStart.js +35 -0
- package/src/padEnd.js +25 -0
- package/src/padStart.js +23 -0
- package/src/pathNotEq.js +31 -0
- package/src/pathOrLazy.js +30 -0
- package/src/paths.js +26 -0
- package/src/pickIndexes.js +30 -0
- package/src/propNotEq.js +30 -0
- package/src/rangeStep.js +37 -0
- package/src/reduceIndexed.js +31 -0
- package/src/reduceP.js +96 -0
- package/src/reduceRightP.js +101 -0
- package/src/rejectP.js +24 -0
- package/src/renameKeyWith.js +30 -0
- package/src/renameKeys.js +40 -0
- package/src/renameKeysWith.js +27 -0
- package/src/repeatStr.js +30 -0
- package/src/replaceAll.js +35 -0
- package/src/resolveP.js +28 -0
- package/src/round.js +26 -0
- package/src/seq.js +38 -0
- package/src/sign.js +33 -0
- package/src/skipTake.js +33 -0
- package/src/sliceFrom.js +23 -0
- package/src/sliceTo.js +23 -0
- package/src/sortByProps.js +31 -0
- package/src/spreadPath.js +26 -0
- package/src/spreadProp.js +25 -0
- package/src/stubArray.js +18 -0
- package/src/stubNull.js +19 -0
- package/src/stubObj.js +19 -0
- package/src/stubString.js +19 -0
- package/src/stubUndefined.js +19 -0
- package/src/subtractNum.js +20 -0
- package/src/thenCatchP.js +27 -0
- package/src/thenP.js +29 -0
- package/src/toArray.js +32 -0
- package/src/toInteger32.js +22 -0
- package/src/toUinteger32.js +26 -0
- package/src/trimCharsEnd.js +25 -0
- package/src/trimCharsStart.js +25 -0
- package/src/trimEnd.js +30 -0
- package/src/trimStart.js +29 -0
- package/src/trunc.js +33 -0
- package/src/unzipObjWith.js +40 -0
- package/src/viewOr.js +32 -0
- package/src/weave.js +35 -0
- package/src/weaveLazy.js +37 -0
- package/src/zipObjWith.js +27 -0
- package/tonicExample.js +4 -0
- package/types/index.d.ts +1553 -0
package/es/nonePass.js
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { complement, compose, anyPass, curryN } from 'ramda';
|
|
2
|
+
/**
|
|
3
|
+
* Takes a list of predicates and returns a predicate that returns true for a given list of
|
|
4
|
+
* arguments if none of the provided predicates are satisfied by those arguments. It is the
|
|
5
|
+
* complement of Ramda's anyPass.
|
|
6
|
+
*
|
|
7
|
+
* The function returned is a curried function whose arity matches that of the
|
|
8
|
+
* highest-arity predicate.
|
|
9
|
+
*
|
|
10
|
+
* @func nonePass
|
|
11
|
+
* @memberOf RA
|
|
12
|
+
* @since {@link https://char0n.github.io/ramda-adjunct/2.5.0|v2.5.0}
|
|
13
|
+
* @category Logic
|
|
14
|
+
* @sig [(*... -> Boolean)] -> (*... -> Boolean)
|
|
15
|
+
* @param {Array} predicates An array of predicates to check
|
|
16
|
+
* @return {Function} The combined predicate
|
|
17
|
+
* @see {@link http://ramdajs.com/docs/#anyPass|R.anyPass}
|
|
18
|
+
* @example
|
|
19
|
+
*
|
|
20
|
+
* const gt10 = R.gt(R.__, 10)
|
|
21
|
+
* const even = (x) => x % 2 === 0;
|
|
22
|
+
* const f = RA.nonePass([gt10, even]);
|
|
23
|
+
*
|
|
24
|
+
* f(12); //=> false
|
|
25
|
+
* f(8); //=> false
|
|
26
|
+
* f(11); //=> false
|
|
27
|
+
* f(9); //=> true
|
|
28
|
+
*/
|
|
29
|
+
|
|
30
|
+
var nonePass = curryN(1, compose(complement, anyPass));
|
|
31
|
+
export default nonePass;
|
package/es/noop.js
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { always } from 'ramda';
|
|
2
|
+
import stubUndefined from './stubUndefined';
|
|
3
|
+
/**
|
|
4
|
+
* A function that performs no operations.
|
|
5
|
+
*
|
|
6
|
+
* @func noop
|
|
7
|
+
* @memberOf RA
|
|
8
|
+
* @since {@link https://char0n.github.io/ramda-adjunct/1.0.0|v1.0.0}
|
|
9
|
+
* @category Function
|
|
10
|
+
* @sig ... -> undefined
|
|
11
|
+
* @return {undefined}
|
|
12
|
+
* @example
|
|
13
|
+
*
|
|
14
|
+
* RA.noop(); //=> undefined
|
|
15
|
+
* RA.noop(1, 2, 3); //=> undefined
|
|
16
|
+
*/
|
|
17
|
+
|
|
18
|
+
var noop = always(stubUndefined());
|
|
19
|
+
export default noop;
|
package/es/nor.js
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { or, complement } from 'ramda';
|
|
2
|
+
/**
|
|
3
|
+
* Returns true if both arguments are falsy; false otherwise.
|
|
4
|
+
*
|
|
5
|
+
* @func nor
|
|
6
|
+
* @memberOf RA
|
|
7
|
+
* @since {@link https://char0n.github.io/ramda-adjunct/2.20.0|v2.20.0}
|
|
8
|
+
* @category Logic
|
|
9
|
+
* @sig a -> b -> a ⊽ b
|
|
10
|
+
* @param {*} a
|
|
11
|
+
* @param {*} b
|
|
12
|
+
* @return {boolean} true if both arguments are falsy
|
|
13
|
+
* @see {@link RA.neither|neither}
|
|
14
|
+
* @example
|
|
15
|
+
*
|
|
16
|
+
* RA.nor(true, true); //=> false
|
|
17
|
+
* RA.nor(false, true); //=> false
|
|
18
|
+
* RA.nor(true, false); //=> false
|
|
19
|
+
* RA.nor(false, false); //=> true
|
|
20
|
+
* RA.nor(1, 1); //=> false
|
|
21
|
+
* RA.nor(1, 0); //=> false
|
|
22
|
+
* RA.nor(0, 1); //=> false
|
|
23
|
+
* RA.nor(0, 0); //=> true
|
|
24
|
+
*/
|
|
25
|
+
|
|
26
|
+
var nor = complement(or); // eslint-disable-line ramda/complement-simplification
|
|
27
|
+
|
|
28
|
+
export default nor;
|
package/es/notAllPass.js
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { curry, complement, compose, allPass } from 'ramda';
|
|
2
|
+
/**
|
|
3
|
+
* Takes a list of predicates and returns a predicate that returns true for a given list of
|
|
4
|
+
* arguments if one or more of the provided predicates is not satisfied by those arguments. It is
|
|
5
|
+
* the complement of Ramda's allPass.
|
|
6
|
+
*
|
|
7
|
+
* The function returned is a curried function whose arity matches that of the
|
|
8
|
+
* highest-arity predicate.
|
|
9
|
+
*
|
|
10
|
+
* @func notAllPass
|
|
11
|
+
* @memberOf RA
|
|
12
|
+
* @since {@link https://char0n.github.io/ramda-adjunct/2.4.0|v2.4.0}
|
|
13
|
+
* @category Logic
|
|
14
|
+
* @sig [(*... -> Boolean)] -> (*... -> Boolean)
|
|
15
|
+
* @param {Array} predicates An array of predicates to check
|
|
16
|
+
* @return {Function} The combined predicate
|
|
17
|
+
* @see {@link http://ramdajs.com/docs/#allPass|R.allPass}
|
|
18
|
+
* @example
|
|
19
|
+
*
|
|
20
|
+
* const gt10 = R.gt(R.__, 10)
|
|
21
|
+
* const even = (x) => x % 2 === 0;
|
|
22
|
+
* const f = RA.notAllPass([gt10, even]);
|
|
23
|
+
*
|
|
24
|
+
* f(12); //=> false
|
|
25
|
+
* f(8); //=> true
|
|
26
|
+
* f(11); //=> true
|
|
27
|
+
* f(9); //=> true
|
|
28
|
+
*/
|
|
29
|
+
|
|
30
|
+
var notAllPass = curry(compose(complement, allPass));
|
|
31
|
+
export default notAllPass;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { complement } from 'ramda';
|
|
2
|
+
import allUnique from './allUnique';
|
|
3
|
+
/**
|
|
4
|
+
* Returns true if at least one item of the list is repeated. `R.equals` is used to determine equality.
|
|
5
|
+
*
|
|
6
|
+
* @func notAllUnique
|
|
7
|
+
* @memberOf RA
|
|
8
|
+
* @since {@link https://char0n.github.io/ramda-adjunct/2.22.0|v2.22.0}
|
|
9
|
+
* @category List
|
|
10
|
+
* @sig [a] -> Boolean
|
|
11
|
+
* @param {Array} list The list of values
|
|
12
|
+
* @return {boolean}
|
|
13
|
+
* @see {@link RA.allUnique|allUnique}, {@link https://ramdajs.com/docs/#equals|equals}
|
|
14
|
+
* @example
|
|
15
|
+
*
|
|
16
|
+
* RA.notAllUnique([ 1, 1, 2, 3 ]); //=> true
|
|
17
|
+
* RA.notAllUnique([ 1, 2, 3, 4 ]); //=> false
|
|
18
|
+
* RA.notAllUnique([]); //=> false
|
|
19
|
+
*
|
|
20
|
+
*/
|
|
21
|
+
|
|
22
|
+
var notAllUnique = complement(allUnique);
|
|
23
|
+
export default notAllUnique;
|
package/es/notBoth.js
ADDED
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { curry, compose, complement, both } from 'ramda';
|
|
2
|
+
/* eslint-disable max-len */
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* A function which calls the two provided functions and returns the complement of `&&`ing the
|
|
6
|
+
* results.
|
|
7
|
+
* It returns true if the first function is false-y and the complement of the second function
|
|
8
|
+
* otherwise. Note that this is short-circuited, meaning that the second function will not be
|
|
9
|
+
* invoked if the first returns a false-y value. In short it will return true unless both predicates
|
|
10
|
+
* return true.
|
|
11
|
+
*
|
|
12
|
+
* In addition to functions, `RA.notBoth` also accepts any fantasy-land compatible
|
|
13
|
+
* applicative functor.
|
|
14
|
+
*
|
|
15
|
+
* @func notBoth
|
|
16
|
+
* @memberOf RA
|
|
17
|
+
* @since {@link https://char0n.github.io/ramda-adjunct/2.3.0|v2.3.0}
|
|
18
|
+
* @category Logic
|
|
19
|
+
* @sig (*... -> Boolean) -> (*... -> Boolean) -> (*... -> Boolean)
|
|
20
|
+
* @param {Function} f A predicate
|
|
21
|
+
* @param {Function} g Another predicate
|
|
22
|
+
* @return {Function} Returns a function that applies its arguments to `f` and `g` and returns the complement of `&&`ing their outputs together.
|
|
23
|
+
* @see {@link http://ramdajs.com/docs/#both|R.both}
|
|
24
|
+
* @example
|
|
25
|
+
*
|
|
26
|
+
* const gt10 = R.gt(R.__, 10)
|
|
27
|
+
* const even = (x) => x % 2 === 0;
|
|
28
|
+
* const f = RA.notBoth(gt10, even);
|
|
29
|
+
*
|
|
30
|
+
* f(12); //=> false
|
|
31
|
+
* f(8); //=> true
|
|
32
|
+
* f(11); //=> true
|
|
33
|
+
* f(9); //=> true
|
|
34
|
+
*/
|
|
35
|
+
|
|
36
|
+
/* eslint-enable max-len */
|
|
37
|
+
|
|
38
|
+
var notBoth = curry(compose(complement, both));
|
|
39
|
+
export default notBoth;
|
package/es/notEqual.js
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { complement, equals } from 'ramda';
|
|
2
|
+
/**
|
|
3
|
+
* Returns `true` if its arguments are not equivalent, `false` otherwise. Handles
|
|
4
|
+
* cyclical data structures.
|
|
5
|
+
*
|
|
6
|
+
* Dispatches symmetrically to the `equals` methods of both arguments, if
|
|
7
|
+
* present.
|
|
8
|
+
*
|
|
9
|
+
* @func notEqual
|
|
10
|
+
* @memberOf RA
|
|
11
|
+
* @since {@link https://char0n.github.io/ramda-adjunct/2.29.0|v2.29.0}
|
|
12
|
+
* @category Relation
|
|
13
|
+
* @sig a -> b -> Boolean
|
|
14
|
+
* @param {*} a
|
|
15
|
+
* @param {*} b
|
|
16
|
+
* @return {Boolean}
|
|
17
|
+
* @see {@link https://ramdajs.com/docs/#equals|equals}
|
|
18
|
+
* @example
|
|
19
|
+
*
|
|
20
|
+
* RA.notEqual(1, 1); //=> false
|
|
21
|
+
* RA.notEqual(1, '1'); //=> true
|
|
22
|
+
* RA.notEqual([1, 2, 3], [1, 2, 3]); //=> false
|
|
23
|
+
*
|
|
24
|
+
* const a = {}; a.v = a;
|
|
25
|
+
* const b = {}; b.v = b;
|
|
26
|
+
* RA.notEqual(a, b); //=> false
|
|
27
|
+
*/
|
|
28
|
+
|
|
29
|
+
var notEqual = complement(equals);
|
|
30
|
+
export default notEqual;
|
package/es/omitBy.js
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { complement, identity, pickBy, useWith } from 'ramda';
|
|
2
|
+
/* eslint-disable max-len */
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Returns a partial copy of an object containing only the keys
|
|
6
|
+
* that don't satisfy the supplied predicate.
|
|
7
|
+
*
|
|
8
|
+
* @func omitBy
|
|
9
|
+
* @memberOf RA
|
|
10
|
+
* @since {@link https://char0n.github.io/ramda-adjunct/2.6.0|v2.6.0}
|
|
11
|
+
* @category Object
|
|
12
|
+
* @sig ((v, k) -> Boolean) -> {k: v} -> {k: v}
|
|
13
|
+
* @param {!Function} pred A predicate to determine whether or not a key should be included on the output object
|
|
14
|
+
* @param {!Object} obj The object to copy from
|
|
15
|
+
* @return {!Object} A new object only with properties that don't satisfy `pred`
|
|
16
|
+
*
|
|
17
|
+
* @example
|
|
18
|
+
*
|
|
19
|
+
* const isLowerCase = (val, key) => key.toLowerCase() === key;
|
|
20
|
+
* RA.omitBy(isLowerCase, {a: 1, b: 2, A: 3, B: 4}); //=> {A: 3, B: 4}
|
|
21
|
+
*/
|
|
22
|
+
|
|
23
|
+
/* eslint-enable max-len */
|
|
24
|
+
|
|
25
|
+
var omitBy = useWith(pickBy, [complement, identity]);
|
|
26
|
+
export default omitBy;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { contains, curry, addIndex, reject } from 'ramda'; // helpers
|
|
2
|
+
|
|
3
|
+
var rejectIndexed = addIndex(reject);
|
|
4
|
+
var containsIndex = curry(function (indexes, val, index) {
|
|
5
|
+
return contains(index, indexes);
|
|
6
|
+
});
|
|
7
|
+
/**
|
|
8
|
+
* Returns a partial copy of an array omitting the indexes specified.
|
|
9
|
+
*
|
|
10
|
+
* @func omitIndexes
|
|
11
|
+
* @memberOf RA
|
|
12
|
+
* @since {@link https://char0n.github.io/ramda-adjunct/1.19.0|v1.19.0}
|
|
13
|
+
* @category List
|
|
14
|
+
* @sig [Int] -> [a] -> [a]
|
|
15
|
+
* @see {@link http://ramdajs.com/docs/#omit|R.omit}, {@link RA.pickIndexes|pickIndexes}
|
|
16
|
+
* @param {!Array} indexes The array of indexes to omit from the new array
|
|
17
|
+
* @param {!Array} list The array to copy from
|
|
18
|
+
* @return {!Array} The new array with omitted indexes
|
|
19
|
+
* @example
|
|
20
|
+
*
|
|
21
|
+
* RA.omitIndexes([-1, 1, 3], ['a', 'b', 'c', 'd']); //=> ['a', 'c']
|
|
22
|
+
*/
|
|
23
|
+
|
|
24
|
+
var omitIndexes = curry(function (indexes, list) {
|
|
25
|
+
return rejectIndexed(containsIndex(indexes), list);
|
|
26
|
+
});
|
|
27
|
+
export default omitIndexes;
|
package/es/overlaps.js
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { pipe, intersection, isEmpty, curryN } from 'ramda';
|
|
2
|
+
import isNotEmpty from './isNotEmpty';
|
|
3
|
+
/**
|
|
4
|
+
* Returns true if two lists have at least one element common to both lists.
|
|
5
|
+
*
|
|
6
|
+
* @func overlaps
|
|
7
|
+
* @memberOf RA
|
|
8
|
+
* @category Relation
|
|
9
|
+
* @since {@link https://char0n.github.io/ramda-adjunct/2.30.0|v2.30.0}
|
|
10
|
+
* @sig [a] -> [a] -> Boolean
|
|
11
|
+
* @param {Array} list1 The first list
|
|
12
|
+
* @param {Array} list2 The second list
|
|
13
|
+
* @return {boolean} True if two lists have at least one element common to both lists
|
|
14
|
+
* @example
|
|
15
|
+
*
|
|
16
|
+
* RA.overlaps(['-v', '--verbose'], ['node', 'script.js', '-v']); //=> true
|
|
17
|
+
* RA.overlaps(['-v', '--verbose'], []); //=> false
|
|
18
|
+
* RA.overlaps([1, 2, 3], [3, 4, 5]); //=> true
|
|
19
|
+
* RA.overlaps([1, 2, 3], [4, 5]); //=> false
|
|
20
|
+
*/
|
|
21
|
+
|
|
22
|
+
var overlaps = curryN(2, function (list1, list2) {
|
|
23
|
+
if (isEmpty(list1)) {
|
|
24
|
+
return true;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
return pipe(intersection, isNotEmpty)(list1, list2);
|
|
28
|
+
});
|
|
29
|
+
export default overlaps;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { curry, invoker, flip } from 'ramda';
|
|
2
|
+
import ponyfill from './internal/ponyfills/String.padEnd';
|
|
3
|
+
import isFunction from './isFunction';
|
|
4
|
+
export var padEndPonyfill = curry(ponyfill);
|
|
5
|
+
export var padEndInvoker = flip(invoker(2, 'padEnd'));
|
|
6
|
+
/**
|
|
7
|
+
* The function pads the current string with a given string
|
|
8
|
+
* (repeated, if needed) so that the resulting string reaches a given length.
|
|
9
|
+
* The padding is applied from the end of the current string.
|
|
10
|
+
*
|
|
11
|
+
* @func padCharsEnd
|
|
12
|
+
* @memberOf RA
|
|
13
|
+
* @since {@link https://char0n.github.io/ramda-adjunct/2.22.0|v2.22.0}
|
|
14
|
+
* @category String
|
|
15
|
+
* @sig String -> Number -> String -> String
|
|
16
|
+
* @param {string} padString The string to pad the current string with
|
|
17
|
+
* @param {number} targetLength The length of the resulting string once
|
|
18
|
+
* the current string has been padded
|
|
19
|
+
* @param {string} value String value to be padded
|
|
20
|
+
* @return {string} A new string of the specified length with the pad string
|
|
21
|
+
* applied at the end of the current string
|
|
22
|
+
* @see {@link RA.padEnd|padEnd}, {@link RA.padCharsStart|padCharsStart}, {@link RA.padStart|padStart}
|
|
23
|
+
* @example
|
|
24
|
+
*
|
|
25
|
+
* RA.padCharsEnd('-', 3, 'a'); // => 'a--'
|
|
26
|
+
* RA.padCharsEnd('foo', 10, 'abc'); // => 'abcfoofoof'
|
|
27
|
+
* RA.padCharsEnd('123456', 6, 'abc'); // => 'abc123'
|
|
28
|
+
*/
|
|
29
|
+
|
|
30
|
+
var padCharsEnd = isFunction(String.prototype.padEnd) ? padEndInvoker : padEndPonyfill;
|
|
31
|
+
export default padCharsEnd;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { flip, invoker, curry } from 'ramda';
|
|
2
|
+
import isFunction from './isFunction';
|
|
3
|
+
import ponyfill from './internal/ponyfills/String.padStart';
|
|
4
|
+
export var padStartInvoker = flip(invoker(2, 'padStart'));
|
|
5
|
+
export var padStartPonyfill = curry(ponyfill);
|
|
6
|
+
/**
|
|
7
|
+
* The function pads the current string with a given string
|
|
8
|
+
* (repeated, if needed) so that the resulting string reaches a given length.
|
|
9
|
+
* The padding is applied from the start of the current string.
|
|
10
|
+
*
|
|
11
|
+
* @func padCharsStart
|
|
12
|
+
* @memberOf RA
|
|
13
|
+
* @since {@link https://char0n.github.io/ramda-adjunct/2.22.0|v2.22.0}
|
|
14
|
+
* @category String
|
|
15
|
+
* @sig String -> Number -> String -> String
|
|
16
|
+
* @param {string} padString The string to pad the current string with
|
|
17
|
+
* @param {number} targetLength The length of the resulting string once the current string has been padded
|
|
18
|
+
* @param {string} value String value to be padded
|
|
19
|
+
* @return {string} A new string of the specified length with the pad string on the start of current string
|
|
20
|
+
* @see {@link RA.padStart|padStart}, {@link RA.padEnd|padEnd}, {@link RA.padCharsEnd|padCharsEnd}
|
|
21
|
+
* @example
|
|
22
|
+
*
|
|
23
|
+
* RA.padCharsStart('-', 3, 'a'); // => '--a'
|
|
24
|
+
* RA.padCharsStart('foo', 10, 'abc'); // => 'foofoofabc'
|
|
25
|
+
* RA.padCharsStart('123456', 6, 'abc'); // => '123abc'
|
|
26
|
+
*/
|
|
27
|
+
|
|
28
|
+
var padCharsStart = isFunction(String.prototype.padStart) ? padStartInvoker : padStartPonyfill;
|
|
29
|
+
export default padCharsStart;
|
package/es/padEnd.js
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import padCharsEnd from './padCharsEnd';
|
|
2
|
+
/**
|
|
3
|
+
* The function pads the current string with an empty string
|
|
4
|
+
* so that the resulting string reaches a given length.
|
|
5
|
+
* The padding is applied from the end of the current string.
|
|
6
|
+
*
|
|
7
|
+
* @func padEnd
|
|
8
|
+
* @memberOf RA
|
|
9
|
+
* @since {@link https://char0n.github.io/ramda-adjunct/2.22.0|v2.22.0}
|
|
10
|
+
* @category String
|
|
11
|
+
* @sig Number -> String -> String
|
|
12
|
+
* @param {number} targetLength The length of the resulting string once
|
|
13
|
+
* the current string has been padded
|
|
14
|
+
* @param {string} value String value to be padded
|
|
15
|
+
* @return {string} A new string of the specified length with the pad string
|
|
16
|
+
* applied at the end of the current string
|
|
17
|
+
* @see {@link RA.padCharsEnd|padCharsEnd}, {@link RA.padCharsStart|padCharsStart}, {@link RA.padStart|padStart}
|
|
18
|
+
* @example
|
|
19
|
+
*
|
|
20
|
+
* RA.padEnd(3, 'a'); // => 'a '
|
|
21
|
+
*/
|
|
22
|
+
|
|
23
|
+
var padEnd = padCharsEnd(' ');
|
|
24
|
+
export default padEnd;
|
package/es/padStart.js
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import padCharsStart from './padCharsStart';
|
|
2
|
+
/**
|
|
3
|
+
* Pads string on the left side if it's shorter than length.
|
|
4
|
+
*
|
|
5
|
+
* @func padStart
|
|
6
|
+
* @memberOf RA
|
|
7
|
+
* @since {@link https://char0n.github.io/ramda-adjunct/2.25.0|v2.25.0}
|
|
8
|
+
* @category String
|
|
9
|
+
* @sig Number -> String -> String
|
|
10
|
+
* @param {number} targetLength The length of the resulting string once
|
|
11
|
+
* the current string has been padded
|
|
12
|
+
* @param {string} value String value to be padded
|
|
13
|
+
* @return {string} A new string of the specified length with the empty string
|
|
14
|
+
* applied to the beginning of the current string
|
|
15
|
+
* @see {@link RA.padCharsEnd|padCharsEnd}, {@link RA.padCharsStart|padCharsStart}, {@link RA.padEnd|padEnd}
|
|
16
|
+
* @example
|
|
17
|
+
*
|
|
18
|
+
* RA.padStart(3, 'a'); // => ' a'
|
|
19
|
+
*/
|
|
20
|
+
|
|
21
|
+
var padStart = padCharsStart(' ');
|
|
22
|
+
export default padStart;
|
package/es/pathNotEq.js
ADDED
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { pathEq, complement } from 'ramda';
|
|
2
|
+
/* eslint-disable max-len */
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Determines whether a nested path on an object doesn't have a specific value,
|
|
6
|
+
* in R.equals terms. Most likely used to filter a list.
|
|
7
|
+
*
|
|
8
|
+
* @func pathNotEq
|
|
9
|
+
* @memberOf RA
|
|
10
|
+
* @since {@link https://char0n.github.io/ramda-adjunct/2.4.0|v2.4.0}
|
|
11
|
+
* @category Relation
|
|
12
|
+
* @sig [Idx] => a => {a} => Boolean
|
|
13
|
+
* @sig Idx = String | Int
|
|
14
|
+
* @param {Array} path The path of the nested property to use
|
|
15
|
+
* @param {a} val The value to compare the nested property with
|
|
16
|
+
* @param {Object} object The object to check the nested property in
|
|
17
|
+
* @return {boolean} Returns Boolean `false` if the value equals the nested object property, `true` otherwise
|
|
18
|
+
* @see {@link http://ramdajs.com/docs/#pathEq|R.pathEq}
|
|
19
|
+
* @example
|
|
20
|
+
*
|
|
21
|
+
* const user1 = { address: { zipCode: 90210 } };
|
|
22
|
+
* const user2 = { address: { zipCode: 55555 } };
|
|
23
|
+
* const user3 = { name: 'Bob' };
|
|
24
|
+
* const users = [ user1, user2, user3 ];
|
|
25
|
+
* const isFamous = R.pathNotEq(['address', 'zipCode'], 90210);
|
|
26
|
+
* R.filter(isFamous, users); //=> [ user2, user3 ]
|
|
27
|
+
*/
|
|
28
|
+
|
|
29
|
+
/* eslint-enable max-len */
|
|
30
|
+
|
|
31
|
+
var pathNotEq = complement(pathEq);
|
|
32
|
+
export default pathNotEq;
|
package/es/pathOrLazy.js
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { curryN, identical, partial, pathOr, unary, when } from 'ramda';
|
|
2
|
+
/**
|
|
3
|
+
* If the given, non-null object has a value at the given path, returns the value at that path.
|
|
4
|
+
* Otherwise returns the result of invoking the provided function with the object.
|
|
5
|
+
*
|
|
6
|
+
* @func pathOrLazy
|
|
7
|
+
* @memberOf RA
|
|
8
|
+
* @since {@link https://char0n.github.io/ramda-adjunct/2.22.0|v2.22.0}
|
|
9
|
+
* @category Object
|
|
10
|
+
* @typedef Idx = String | Int
|
|
11
|
+
* @sig ({a} -> a) -> [Idx] -> {a} -> a
|
|
12
|
+
* @param {Function} defaultFn The function that will return the default value.
|
|
13
|
+
* @param {Array} path The path to use.
|
|
14
|
+
* @param {Object} obj The object to retrieve the nested property from.
|
|
15
|
+
* @return {*} The data at `path` of the supplied object or the default value.
|
|
16
|
+
* @example
|
|
17
|
+
*
|
|
18
|
+
* RA.pathOrLazy(() => 'N/A', ['a', 'b'], {a: {b: 2}}); //=> 2
|
|
19
|
+
* RA.pathOrLazy(() => 'N/A', ['a', 'b'], {c: {b: 2}}); //=> "N/A"
|
|
20
|
+
*/
|
|
21
|
+
|
|
22
|
+
var pathOrLazy = curryN(3, function (defaultFn, path, obj) {
|
|
23
|
+
return when(identical(defaultFn), partial(unary(defaultFn), [obj]), pathOr(defaultFn, path, obj));
|
|
24
|
+
});
|
|
25
|
+
export default pathOrLazy;
|
package/es/paths.js
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { curry, ap, path, __ } from 'ramda';
|
|
2
|
+
/**
|
|
3
|
+
* Acts as multiple path: arrays of paths in, array of values out. Preserves order.
|
|
4
|
+
*
|
|
5
|
+
* @func paths
|
|
6
|
+
* @memberOf RA
|
|
7
|
+
* @since {@link https://char0n.github.io/ramda-adjunct/1.2.0|v1.2.0}
|
|
8
|
+
* @category List
|
|
9
|
+
* @sig [[k]] -> {k: v} - [v]
|
|
10
|
+
* @param {Array} ps The property paths to fetch
|
|
11
|
+
* @param {Object} obj The object to query
|
|
12
|
+
* @return {Array} The corresponding values or partially applied function
|
|
13
|
+
* @see {@link https://github.com/ramda/ramda/wiki/Cookbook#derivative-of-rprops-for-deep-fields|Ramda Cookbook}, {@link http://ramdajs.com/docs/#props|R.props}
|
|
14
|
+
* @example
|
|
15
|
+
*
|
|
16
|
+
* const obj = {
|
|
17
|
+
* a: { b: { c: 1 } },
|
|
18
|
+
* x: 2,
|
|
19
|
+
* };
|
|
20
|
+
*
|
|
21
|
+
* RA.paths([['a', 'b', 'c'], ['x']], obj); //=> [1, 2]
|
|
22
|
+
*/
|
|
23
|
+
|
|
24
|
+
var paths = curry(function (ps, obj) {
|
|
25
|
+
return ap([path(__, obj)], ps);
|
|
26
|
+
});
|
|
27
|
+
export default paths;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { filter, addIndex, curry, contains } from 'ramda'; // helpers
|
|
2
|
+
|
|
3
|
+
var filterIndexed = addIndex(filter);
|
|
4
|
+
var containsIndex = curry(function (indexes, val, index) {
|
|
5
|
+
return contains(index, indexes);
|
|
6
|
+
});
|
|
7
|
+
/**
|
|
8
|
+
* Picks values from list by indexes.
|
|
9
|
+
*
|
|
10
|
+
* Note: pickIndexes will skip non existing indexes. If you want to include them
|
|
11
|
+
* use ramda's `props` function.
|
|
12
|
+
*
|
|
13
|
+
* @func pickIndexes
|
|
14
|
+
* @memberOf RA
|
|
15
|
+
* @since {@link https://char0n.github.io/ramda-adjunct/1.1.0|v1.1.0}
|
|
16
|
+
* @category List
|
|
17
|
+
* @sig [Number] -> [a] -> [a]
|
|
18
|
+
* @param {Array} indexes The indexes to pick
|
|
19
|
+
* @param {Array} list The list to pick values from
|
|
20
|
+
* @return {Array} New array containing only values at `indexes`
|
|
21
|
+
* @see {@link http://ramdajs.com/docs/#pick|R.pick}, {@link RA.omitIndexes|omitIndexes}
|
|
22
|
+
* @example
|
|
23
|
+
*
|
|
24
|
+
* RA.pickIndexes([0, 2], ['a', 'b', 'c']); //=> ['a', 'c']
|
|
25
|
+
*/
|
|
26
|
+
|
|
27
|
+
var pickIndexes = curry(function (indexes, list) {
|
|
28
|
+
return filterIndexed(containsIndex(indexes), list);
|
|
29
|
+
});
|
|
30
|
+
export default pickIndexes;
|
package/es/propNotEq.js
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { propEq, complement } from 'ramda';
|
|
2
|
+
/**
|
|
3
|
+
* Returns true if the specified object property is not equal,
|
|
4
|
+
* in R.equals terms, to the given value; false otherwise.
|
|
5
|
+
*
|
|
6
|
+
* @func propNotEq
|
|
7
|
+
* @memberOf RA
|
|
8
|
+
* @since {@link https://char0n.github.io/ramda-adjunct/2.3.0|v2.3.0}
|
|
9
|
+
* @category Relation
|
|
10
|
+
* @sig String -> a -> Object -> Boolean
|
|
11
|
+
* @param {String} name The property to pick
|
|
12
|
+
* @param {a} val The value to compare to
|
|
13
|
+
* @param {Object} object The object, that presumably contains value under the property
|
|
14
|
+
* @return {boolean} Comparison result
|
|
15
|
+
* @see {@link http://ramdajs.com/docs/#propEq|R.propEq}
|
|
16
|
+
* @example
|
|
17
|
+
*
|
|
18
|
+
* const abby = { name: 'Abby', age: 7, hair: 'blond' };
|
|
19
|
+
* const fred = { name: 'Fred', age: 12, hair: 'brown' };
|
|
20
|
+
* const rusty = { name: 'Rusty', age: 10, hair: 'brown' };
|
|
21
|
+
* const alois = { name: 'Alois', age: 15, disposition: 'surly' };
|
|
22
|
+
* const kids = [abby, fred, rusty, alois];
|
|
23
|
+
* const hasNotBrownHair = RA.propNotEq('hair', 'brown');
|
|
24
|
+
*
|
|
25
|
+
* R.filter(hasNotBrownHair, kids); //=> [abby, alois]
|
|
26
|
+
*/
|
|
27
|
+
|
|
28
|
+
var propNotEq = complement(propEq);
|
|
29
|
+
export default propNotEq;
|
package/es/rangeStep.js
ADDED
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { curryN, map, range, always } from 'ramda';
|
|
2
|
+
import floor from './floor';
|
|
3
|
+
/**
|
|
4
|
+
* Creates an array of numbers (positive and/or negative) progressing from start up to, but not including, end.
|
|
5
|
+
*
|
|
6
|
+
* `Note`: JavaScript follows the IEEE-754 standard for resolving floating-point values which can produce unexpected results.
|
|
7
|
+
*
|
|
8
|
+
* @func rangeStep
|
|
9
|
+
* @memberOf RA
|
|
10
|
+
* @category List
|
|
11
|
+
* @since {@link https://char0n.github.io/ramda-adjunct/2.30.0|v2.30.0}
|
|
12
|
+
* @sig Number -> Number -> Number -> [Number]
|
|
13
|
+
* @param {number} step The value to increment or decrement by
|
|
14
|
+
* @param {number} from The start of the range
|
|
15
|
+
* @param {number} to The end of the range
|
|
16
|
+
* @return {number[]} Returns the range of numbers
|
|
17
|
+
* @see {@link http://ramdajs.com/docs/#range|R.range}
|
|
18
|
+
* @example
|
|
19
|
+
*
|
|
20
|
+
* RA.rangeStep(1, 0, 4); // => [0, 1 ,2, 3]
|
|
21
|
+
* RA.rangeStep(-1, 0, -4); // => [0, -1, -2, -3]
|
|
22
|
+
* RA.rangeStep(1, 1, 5); // => [1, 2, 3, 4]
|
|
23
|
+
* RA.rangeStep(5, 0, 20); // => [0, 5, 10, 15]
|
|
24
|
+
* RA.rangeStep(-1, 0, -4); // => [0, -1, -2, -3]
|
|
25
|
+
* RA.rangeStep(0, 1, 4); // => [1, 1, 1]
|
|
26
|
+
* RA.rangeStep(1, 0, 0); // => []
|
|
27
|
+
*/
|
|
28
|
+
|
|
29
|
+
var rangeStep = curryN(3, function (step, from, to) {
|
|
30
|
+
var callback = step === 0 ? always(from) : function (n) {
|
|
31
|
+
return from + step * n;
|
|
32
|
+
};
|
|
33
|
+
var rangeEnd = step === 0 ? to - from : floor((to - from) / step);
|
|
34
|
+
return map(callback, range(0, rangeEnd));
|
|
35
|
+
});
|
|
36
|
+
export default rangeStep;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { addIndex, reduce } from 'ramda';
|
|
2
|
+
/**
|
|
3
|
+
* {@link http://ramdajs.com/docs/#reduce|R.reduce} function that more closely resembles Array.prototype.reduce.
|
|
4
|
+
* It takes two new parameters to its callback function: the current index, and the entire list.
|
|
5
|
+
*
|
|
6
|
+
* `reduceIndexed` implementation is simple : `
|
|
7
|
+
* const reduceIndexed = R.addIndex(R.reduce);
|
|
8
|
+
* `
|
|
9
|
+
* @func reduceIndexed
|
|
10
|
+
* @memberOf RA
|
|
11
|
+
* @since {@link https://char0n.github.io/ramda-adjunct/2.5.0|v2.5.0}
|
|
12
|
+
* @category List
|
|
13
|
+
* @typedef Idx = Number
|
|
14
|
+
* @sig ((a, b, Idx, [b]) => a) -> a -> [b] -> a
|
|
15
|
+
* @param {Function} fn The iterator function. Receives four values,
|
|
16
|
+
* the accumulator, the current element from the array, index and the entire list
|
|
17
|
+
* @param {*} acc The accumulator value
|
|
18
|
+
* @param {Array} list The list to iterate over
|
|
19
|
+
* @return {*} The final, accumulated value
|
|
20
|
+
* @see {@link http://ramdajs.com/docs/#addIndex|R.addIndex}, {@link http://ramdajs.com/docs/#reduce|R.reduce}
|
|
21
|
+
* @example
|
|
22
|
+
*
|
|
23
|
+
* const initialList = ['f', 'o', 'o', 'b', 'a', 'r'];
|
|
24
|
+
*
|
|
25
|
+
* reduceIndexed((acc, val, idx, list) => acc + '-' + val + idx, '', initialList);
|
|
26
|
+
* //=> "-f0-o1-o2-b3-a4-r5"
|
|
27
|
+
*/
|
|
28
|
+
|
|
29
|
+
var reduceIndexed = addIndex(reduce);
|
|
30
|
+
export default reduceIndexed;
|