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/spreadPath.js
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { curryN, converge, merge, dissocPath, pathOr } from 'ramda';
|
|
2
|
+
/**
|
|
3
|
+
* Spreads object under property path onto provided object.
|
|
4
|
+
* It's like {@link RA.flattenPath|flattenPath}, but removes object under the property path.
|
|
5
|
+
*
|
|
6
|
+
* @func spreadPath
|
|
7
|
+
* @memberOf RA
|
|
8
|
+
* @since {@link https://char0n.github.io/ramda-adjunct/1.19.0|v1.19.0}
|
|
9
|
+
* @category Object
|
|
10
|
+
* @typedef Idx = String | Int
|
|
11
|
+
* @sig [Idx] -> {k: v} -> {k: v}
|
|
12
|
+
* @param {!Array.<string|number>} path The property path to spread
|
|
13
|
+
* @param {!Object} obj The provided object
|
|
14
|
+
* @return {!Object} The result of the spread
|
|
15
|
+
* @see {@link RA.spreadProp|spreadProp}, {@link RA.flattenPath|flattenPath}
|
|
16
|
+
* @example
|
|
17
|
+
*
|
|
18
|
+
* RA.spreadPath(
|
|
19
|
+
* ['b1', 'b2'],
|
|
20
|
+
* { a: 1, b1: { b2: { c: 3, d: 4 } } }
|
|
21
|
+
* ); // => { a: 1, c: 3, d: 4, b1: {} };
|
|
22
|
+
*/
|
|
23
|
+
|
|
24
|
+
var spreadPath = curryN(2, converge(merge, [dissocPath, pathOr({})]));
|
|
25
|
+
export default spreadPath;
|
package/es/spreadProp.js
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { of, curry } from 'ramda';
|
|
2
|
+
import spreadPath from './spreadPath';
|
|
3
|
+
/**
|
|
4
|
+
* Spreads object under property onto provided object.
|
|
5
|
+
* It's like {@link RA.flattenProp|flattenProp}, but removes object under the property.
|
|
6
|
+
*
|
|
7
|
+
* @func spreadProp
|
|
8
|
+
* @memberOf RA
|
|
9
|
+
* @since {@link https://char0n.github.io/ramda-adjunct/1.19.0|v1.19.0}
|
|
10
|
+
* @category Object
|
|
11
|
+
* @typedef Idx = String | Int
|
|
12
|
+
* @sig Idx -> {k: v} -> {k: v}
|
|
13
|
+
* @param {!string|number} prop The property to spread
|
|
14
|
+
* @param {!Object} obj The provided object
|
|
15
|
+
* @return {!Object} The result of the spread
|
|
16
|
+
* @see {@link RA.spreadPath|spreadPath}, {@link RA.flattenProp|flattenProp}
|
|
17
|
+
* @example
|
|
18
|
+
*
|
|
19
|
+
* RA.spreadProp('b', { a: 1, b: { c: 3, d: 4 } }); // => { a: 1, c: 3, d: 4 };
|
|
20
|
+
*/
|
|
21
|
+
|
|
22
|
+
var spreadProp = curry(function (prop, obj) {
|
|
23
|
+
return spreadPath(of(prop), obj);
|
|
24
|
+
});
|
|
25
|
+
export default spreadProp;
|
package/es/stubArray.js
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A function that returns new empty array on every call.
|
|
3
|
+
*
|
|
4
|
+
* @func stubArray
|
|
5
|
+
* @memberOf RA
|
|
6
|
+
* @since {@link https://char0n.github.io/ramda-adjunct/2.1.0|v2.1.0}
|
|
7
|
+
* @category Function
|
|
8
|
+
* @sig ... -> Array
|
|
9
|
+
* @return {Array} New empty array
|
|
10
|
+
* @example
|
|
11
|
+
*
|
|
12
|
+
* RA.stubArray(); //=> []
|
|
13
|
+
* RA.stubArray(1, 2, 3); //=> []
|
|
14
|
+
*/
|
|
15
|
+
var stubArray = function stubArray() {
|
|
16
|
+
return [];
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
export default stubArray;
|
package/es/stubNull.js
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { always } from 'ramda';
|
|
2
|
+
/**
|
|
3
|
+
* A function that returns `null`.
|
|
4
|
+
*
|
|
5
|
+
* @func stubNull
|
|
6
|
+
* @memberOf RA
|
|
7
|
+
* @since {@link https://char0n.github.io/ramda-adjunct/1.6.0|v1.6.0}
|
|
8
|
+
* @category Function
|
|
9
|
+
* @sig ... -> null
|
|
10
|
+
* @return {null}
|
|
11
|
+
* @example
|
|
12
|
+
*
|
|
13
|
+
* RA.stubNull(); //=> null
|
|
14
|
+
* RA.stubNull(1, 2, 3); //=> null
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
var stubNull = always(null);
|
|
18
|
+
export default stubNull;
|
package/es/stubObj.js
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This function returns a new empty object.
|
|
3
|
+
*
|
|
4
|
+
* @func stubObj
|
|
5
|
+
* @memberOf RA
|
|
6
|
+
* @since {@link https://char0n.github.io/ramda-adjunct/2.1.0|v2.1.0}
|
|
7
|
+
* @category Function
|
|
8
|
+
* @sig ... -> Object
|
|
9
|
+
* @aliases stubObject
|
|
10
|
+
* @return {Object} Returns the new empty object.
|
|
11
|
+
* @example
|
|
12
|
+
*
|
|
13
|
+
* RA.stubObj(); //=> {}
|
|
14
|
+
* RA.stubObj(1, 2, 3); //=> {}
|
|
15
|
+
*/
|
|
16
|
+
var stubObj = function stubObj() {
|
|
17
|
+
return {};
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
export default stubObj;
|
package/es/stubString.js
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { always } from 'ramda';
|
|
2
|
+
/**
|
|
3
|
+
* A function that returns empty string.
|
|
4
|
+
*
|
|
5
|
+
* @func stubString
|
|
6
|
+
* @memberOf RA
|
|
7
|
+
* @since {@link https://char0n.github.io/ramda-adjunct/2.1.0|v2.1.0}
|
|
8
|
+
* @category Function
|
|
9
|
+
* @sig ... -> String
|
|
10
|
+
* @return {string} The empty string
|
|
11
|
+
* @example
|
|
12
|
+
*
|
|
13
|
+
* RA.stubString(); //=> ''
|
|
14
|
+
* RA.stubString(1, 2, 3); //=> ''
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
var stubString = always('');
|
|
18
|
+
export default stubString;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { always } from 'ramda';
|
|
2
|
+
/**
|
|
3
|
+
* A function that returns `undefined`.
|
|
4
|
+
*
|
|
5
|
+
* @func stubUndefined
|
|
6
|
+
* @memberOf RA
|
|
7
|
+
* @since {@link https://char0n.github.io/ramda-adjunct/1.0.0|v1.0.0}
|
|
8
|
+
* @category Function
|
|
9
|
+
* @sig ... -> undefined
|
|
10
|
+
* @return {undefined}
|
|
11
|
+
* @example
|
|
12
|
+
*
|
|
13
|
+
* RA.stubUndefined(); //=> undefined
|
|
14
|
+
* RA.stubUndefined(1, 2, 3); //=> undefined
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
var stubUndefined = always(void 0); // eslint-disable-line no-void
|
|
18
|
+
|
|
19
|
+
export default stubUndefined;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { flip, subtract } from 'ramda';
|
|
2
|
+
/**
|
|
3
|
+
* Subtracts its first argument from its second argument.
|
|
4
|
+
*
|
|
5
|
+
* @func subtractNum
|
|
6
|
+
* @memberOf RA
|
|
7
|
+
* @since {@link https://char0n.github.io/ramda-adjunct/2.22.0|v2.22.0}
|
|
8
|
+
* @category Math
|
|
9
|
+
* @sig Number -> Number -> Number
|
|
10
|
+
* @param {number} subtrahend the number to subtract
|
|
11
|
+
* @param {number} minuend the number to subtract from
|
|
12
|
+
* @return {number} A number representing the difference of subtracting the subtrahend from the minuend
|
|
13
|
+
* @example
|
|
14
|
+
*
|
|
15
|
+
* RA.subtractNum(3, 5); //=> 2
|
|
16
|
+
*/
|
|
17
|
+
|
|
18
|
+
var subtractNum = flip(subtract);
|
|
19
|
+
export default subtractNum;
|
package/es/thenCatchP.js
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { invoker } from 'ramda';
|
|
2
|
+
/**
|
|
3
|
+
* Composable shortcut for `Promise.then` that allows for success and failure callbacks.
|
|
4
|
+
* The thenCatchP function returns a Promise. It takes three arguments: a callback function for the success of the Promise,
|
|
5
|
+
* a callback function for the failure of the Promise, and the promise instance itself.
|
|
6
|
+
*
|
|
7
|
+
* @func thenCatchP
|
|
8
|
+
* @memberOf RA
|
|
9
|
+
* @since {@link https://char0n.github.io/ramda-adjunct/2.27.0|v2.27.0}
|
|
10
|
+
* @category Function
|
|
11
|
+
* @sig (a -> b) -> (c -> d) -> Promise a -> Promise b | d
|
|
12
|
+
* @param {Function} onFulfilled A Function called if the Promise is fulfilled. This function has one argument, the fulfillment value
|
|
13
|
+
* @param {Function} onRejected A Function called if the Promise is rejected. This function has one argument, the error
|
|
14
|
+
* @param {Promise} promise Any Promise or Thenable object
|
|
15
|
+
* @return {Promise}
|
|
16
|
+
* @see {@link RA.resolveP|resolveP}, {@link RA.rejectP|rejectP}, {@link RA.allP|allP}
|
|
17
|
+
* @example
|
|
18
|
+
*
|
|
19
|
+
* const promise = Promise.resolve(1);
|
|
20
|
+
* const add1 = x => x + 1;
|
|
21
|
+
*
|
|
22
|
+
* RA.thenCatchP(add1, console.error, promise); // => Promise(2)
|
|
23
|
+
*/
|
|
24
|
+
|
|
25
|
+
export var thenCatchP = invoker(2, 'then');
|
|
26
|
+
export default thenCatchP;
|
package/es/thenP.js
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { invoker } from 'ramda';
|
|
2
|
+
/**
|
|
3
|
+
* Composable shortcut for `Promise.then`.
|
|
4
|
+
* The thenP function returns a Promise. It takes two arguments: a callback function for the success of the Promise
|
|
5
|
+
* and the promise instance itself.
|
|
6
|
+
*
|
|
7
|
+
* @func thenP
|
|
8
|
+
* @memberOf RA
|
|
9
|
+
* @aliases then
|
|
10
|
+
* @since {@link https://char0n.github.io/ramda-adjunct/2.8.0|v2.8.0}
|
|
11
|
+
* @deprecated since v2.12.0; available in ramda@0.26.0 as R.then
|
|
12
|
+
* @category Function
|
|
13
|
+
* @sig (a -> Promise b | b) -> Promise b
|
|
14
|
+
* @param {Function} onFulfilled A Function called if the Promise is fulfilled. This function has one argument, the fulfillment value
|
|
15
|
+
* @param {Promise} promise Any Promise or Thenable object
|
|
16
|
+
* @return {Promise} A Promise in the pending status
|
|
17
|
+
|
|
18
|
+
* @see {@link RA.resolveP|resolveP}, {@link RA.rejectP|rejectP}, {@link RA.allP|allP}
|
|
19
|
+
* @example
|
|
20
|
+
*
|
|
21
|
+
* const promise = Promise.resolve(1);
|
|
22
|
+
* const add1 = v => v + 1;
|
|
23
|
+
*
|
|
24
|
+
* RA.thenP(add1, promise); // => Promise(2)
|
|
25
|
+
*/
|
|
26
|
+
|
|
27
|
+
var thenP = invoker(1, 'then');
|
|
28
|
+
export default thenP;
|
package/es/toArray.js
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { ifElse, values, curryN } from 'ramda';
|
|
2
|
+
import isIterable from './isIterable';
|
|
3
|
+
import isFunction from './isFunction';
|
|
4
|
+
import ponyfill from './internal/ponyfills/Array.from';
|
|
5
|
+
export var fromPonyfill = curryN(1, ponyfill);
|
|
6
|
+
var fromArray = isFunction(Array.from) ? curryN(1, Array.from) : fromPonyfill;
|
|
7
|
+
/**
|
|
8
|
+
* Converts value to an array.
|
|
9
|
+
*
|
|
10
|
+
* @func toArray
|
|
11
|
+
* @memberOf RA
|
|
12
|
+
* @since {@link https://char0n.github.io/ramda-adjunct/2.22.0|v2.22.0}
|
|
13
|
+
* @category List
|
|
14
|
+
* @sig * -> [a]
|
|
15
|
+
* @param {*} val The value to convert
|
|
16
|
+
* @return {Array}
|
|
17
|
+
* @example
|
|
18
|
+
*
|
|
19
|
+
* RA.toArray([1, 2]); //=> [1, 2]
|
|
20
|
+
* RA.toArray({'foo': 1, 'bar': 2}); //=> [1, 2]
|
|
21
|
+
* RA.toArray('abc'); //=> ['a', 'b', 'c']
|
|
22
|
+
* RA.toArray(1); //=> []
|
|
23
|
+
* RA.toArray(null); //=> []
|
|
24
|
+
*/
|
|
25
|
+
|
|
26
|
+
var toArray = ifElse(isIterable, fromArray, values);
|
|
27
|
+
export default toArray;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { curryN } from 'ramda';
|
|
2
|
+
/**
|
|
3
|
+
* Converts double-precision 64-bit binary format IEEE 754 to signed 32 bit integer number.
|
|
4
|
+
*
|
|
5
|
+
* @func toInteger32
|
|
6
|
+
* @aliases toInt32
|
|
7
|
+
* @memberOf RA
|
|
8
|
+
* @since {@link https://char0n.github.io/ramda-adjunct/2.28.0|v2.28.0}
|
|
9
|
+
* @category Math
|
|
10
|
+
* @sig Number -> Number
|
|
11
|
+
* @param {number} number A number
|
|
12
|
+
* @return {number} A signed 32-bit integer number
|
|
13
|
+
* @see {@link RA.toUInteger32|toUInteger32}, {@link http://speakingjs.com/es5/ch11.html#integers_via_bitwise_operators}
|
|
14
|
+
* @example
|
|
15
|
+
*
|
|
16
|
+
* RA.toInteger32(2 ** 35); // => 0
|
|
17
|
+
* RA.toInteger32(2 ** 30); // => 1073741824
|
|
18
|
+
*/
|
|
19
|
+
// eslint-disable-next-line no-bitwise
|
|
20
|
+
|
|
21
|
+
var toInteger32 = curryN(1, function (val) {
|
|
22
|
+
return val >> 0;
|
|
23
|
+
});
|
|
24
|
+
export default toInteger32;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { curryN } from 'ramda';
|
|
2
|
+
/**
|
|
3
|
+
* Converts double-precision 64-bit binary format IEEE 754 to unsigned 32 bit integer number.
|
|
4
|
+
*
|
|
5
|
+
* @func toUinteger32
|
|
6
|
+
* @aliases toUint32
|
|
7
|
+
* @memberOf RA
|
|
8
|
+
* @since {@link https://char0n.github.io/ramda-adjunct/2.28.0|v2.28.0}
|
|
9
|
+
* @category Math
|
|
10
|
+
* @sig Number -> Number
|
|
11
|
+
* @param {number} val Value to be converted.
|
|
12
|
+
* @return {number}
|
|
13
|
+
* @see {@link RA.toInteger32|toInteger32}, {@link http://speakingjs.com/es5/ch11.html#integers_via_bitwise_operators}
|
|
14
|
+
* @example
|
|
15
|
+
*
|
|
16
|
+
* RA.toUinteger32(1.5); //=> 1
|
|
17
|
+
* RA.toInteger32(2 ** 35); // => 0
|
|
18
|
+
* RA.toInteger32(2 ** 31); // => 2147483648
|
|
19
|
+
* RA.toInteger32(2 ** 30); // => 1073741824
|
|
20
|
+
*/
|
|
21
|
+
// eslint-disable-next-line no-bitwise
|
|
22
|
+
|
|
23
|
+
var toUinteger32 = curryN(1, function (val) {
|
|
24
|
+
return val >>> 0;
|
|
25
|
+
});
|
|
26
|
+
export default toUinteger32;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { curry, dropLastWhile, join, pipe, split } from 'ramda';
|
|
2
|
+
import contained from './contained';
|
|
3
|
+
/**
|
|
4
|
+
* Removes specified characters from the end of a string.
|
|
5
|
+
*
|
|
6
|
+
* @func trimCharsEnd
|
|
7
|
+
* @memberOf RA
|
|
8
|
+
* @since {@link https://char0n.github.io/ramda-adjunct/2.25.0|v2.25.0}
|
|
9
|
+
* @category String
|
|
10
|
+
* @sig String -> String
|
|
11
|
+
* @param {string} chars The characters to trim
|
|
12
|
+
* @param {string} value The string to trim
|
|
13
|
+
* @return {string} Returns the trimmed string.
|
|
14
|
+
* @example
|
|
15
|
+
*
|
|
16
|
+
* RA.trimCharsEnd('_-', '-_-abc-_-'); //=> '-_-abc'
|
|
17
|
+
*/
|
|
18
|
+
|
|
19
|
+
var trimCharsEnd = curry(function (chars, value) {
|
|
20
|
+
return pipe(split(''), dropLastWhile(contained(chars)), join(''))(value);
|
|
21
|
+
});
|
|
22
|
+
export default trimCharsEnd;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { curry, dropWhile, join, pipe, split } from 'ramda';
|
|
2
|
+
import contained from './contained';
|
|
3
|
+
/**
|
|
4
|
+
* Removes specified characters from the beginning of a string.
|
|
5
|
+
*
|
|
6
|
+
* @func trimCharsStart
|
|
7
|
+
* @memberOf RA
|
|
8
|
+
* @since {@link https://char0n.github.io/ramda-adjunct/2.24.0|v2.24.0}
|
|
9
|
+
* @category String
|
|
10
|
+
* @sig String -> String
|
|
11
|
+
* @param {string} chars The characters to trim
|
|
12
|
+
* @param {string} value The string to trim
|
|
13
|
+
* @return {string} Returns the trimmed string.
|
|
14
|
+
* @example
|
|
15
|
+
*
|
|
16
|
+
* RA.trimCharsStart('_-', '-_-abc-_-'); //=> 'abc-_-'
|
|
17
|
+
*/
|
|
18
|
+
|
|
19
|
+
var trimCharsStart = curry(function (chars, value) {
|
|
20
|
+
return pipe(split(''), dropWhile(contained(chars)), join(''))(value);
|
|
21
|
+
});
|
|
22
|
+
export default trimCharsStart;
|
package/es/trimEnd.js
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { invoker } from 'ramda';
|
|
2
|
+
import ponyfill from './internal/ponyfills/String.trimEnd';
|
|
3
|
+
import isFunction from './isFunction';
|
|
4
|
+
export var trimEndPonyfill = ponyfill;
|
|
5
|
+
export var trimEndInvoker = invoker(0, 'trimEnd');
|
|
6
|
+
/**
|
|
7
|
+
* Removes whitespace from the end of a string.
|
|
8
|
+
*
|
|
9
|
+
* @func trimEnd
|
|
10
|
+
* @memberOf RA
|
|
11
|
+
* @since {@link https://char0n.github.io/ramda-adjunct/2.22.0|v2.22.0}
|
|
12
|
+
* @category String
|
|
13
|
+
* @sig String -> String
|
|
14
|
+
* @param {string} value String value to have the whitespace removed from the end
|
|
15
|
+
* @return {string} A new string representing the calling string stripped of whitespace from its end (right end).
|
|
16
|
+
* @see {@link RA.trimEnd|trimEnd}
|
|
17
|
+
* @example
|
|
18
|
+
*
|
|
19
|
+
* RA.trimEnd('abc '); //=> 'abc'
|
|
20
|
+
*/
|
|
21
|
+
|
|
22
|
+
var trimEnd = isFunction(String.prototype.trimEnd) ? trimEndInvoker : trimEndPonyfill;
|
|
23
|
+
export default trimEnd;
|
package/es/trimStart.js
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { invoker } from 'ramda';
|
|
2
|
+
import ponyfill from './internal/ponyfills/String.trimStart';
|
|
3
|
+
import isFunction from './isFunction';
|
|
4
|
+
export var trimStartPonyfill = ponyfill;
|
|
5
|
+
export var trimStartInvoker = invoker(0, 'trimStart');
|
|
6
|
+
/**
|
|
7
|
+
* Removes whitespace from the beginning of a string.
|
|
8
|
+
*
|
|
9
|
+
* @func trimStart
|
|
10
|
+
* @memberOf RA
|
|
11
|
+
* @since {@link https://char0n.github.io/ramda-adjunct/2.22.0|v2.22.0}
|
|
12
|
+
* @category String
|
|
13
|
+
* @sig String -> String
|
|
14
|
+
* @param {string} value String value to have the whitespace removed from the beginning
|
|
15
|
+
* @return {string} A new string representing the calling string stripped of whitespace from its beginning (left end).
|
|
16
|
+
* @example
|
|
17
|
+
*
|
|
18
|
+
* RA.trimStart(' abc'); //=> 'abc'
|
|
19
|
+
*/
|
|
20
|
+
|
|
21
|
+
var trimStart = isFunction(String.prototype.trimStart) ? trimStartInvoker : trimStartPonyfill;
|
|
22
|
+
export default trimStart;
|
package/es/trunc.js
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { bind, curryN } from 'ramda';
|
|
2
|
+
import ponyfill from './internal/ponyfills/Math.trunc';
|
|
3
|
+
import isFunction from './isFunction';
|
|
4
|
+
export var truncPonyfill = curryN(1, ponyfill);
|
|
5
|
+
/**
|
|
6
|
+
* Returns the integer part of a number by removing any fractional digits.
|
|
7
|
+
*
|
|
8
|
+
* @func trunc
|
|
9
|
+
* @memberOf RA
|
|
10
|
+
* @since {@link https://char0n.github.io/ramda-adjunct/2.15.0|v2.15.0}
|
|
11
|
+
* @category Math
|
|
12
|
+
* @sig Number | String -> Number
|
|
13
|
+
* @param {number|string} number The number to trunc
|
|
14
|
+
* @return {number} The integer part of the given number
|
|
15
|
+
* @example
|
|
16
|
+
*
|
|
17
|
+
* RA.trunc(13.37); //=> 13
|
|
18
|
+
* RA.trunc(42.84); //=> 42
|
|
19
|
+
* RA.trunc(0.123); //=> 0
|
|
20
|
+
* RA.trunc(-0.123); //=> -0
|
|
21
|
+
* RA.trunc('-1.123'); //=> -1
|
|
22
|
+
* RA.trunc(NaN); //=> NaN
|
|
23
|
+
* RA.trunc('foo'); //=> NaN
|
|
24
|
+
*/
|
|
25
|
+
|
|
26
|
+
var trunc = isFunction(Math.trunc) ? curryN(1, bind(Math.trunc, Math)) : truncPonyfill;
|
|
27
|
+
export default trunc;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { apply, curryN, flip, map, pipe, toPairs, transpose, when } from 'ramda';
|
|
2
|
+
import lengthEq from './lengthEq';
|
|
3
|
+
/**
|
|
4
|
+
* Creates a new list out of the supplied object by applying the function to each key/value pairing.
|
|
5
|
+
*
|
|
6
|
+
* @func unzipObjWith
|
|
7
|
+
* @memberOf RA
|
|
8
|
+
* @category Object
|
|
9
|
+
* @since {@link https://char0n.github.io/ramda-adjunct/2.22.0|v2.22.0}
|
|
10
|
+
* @sig (v, k) => [k, v] -> { k: v } -> [[k], [v]]
|
|
11
|
+
* @param {Function} fn The function to transform each value-key pair
|
|
12
|
+
* @param {Object} obj Object to unzip
|
|
13
|
+
* @return {Array} A pair of tw lists: a list of keys and a list of values
|
|
14
|
+
* @see {@link https://ramdajs.com/docs/#zipObj|zipObj}, {@link RA.zipObjWith|zipObjWith}
|
|
15
|
+
* @example
|
|
16
|
+
*
|
|
17
|
+
* RA.unzipObjWith((v, k) => [`new${k.toUpperCase()}`, 2 * v], { a: 1, b: 2, c: 3 });
|
|
18
|
+
* //=> [['newA', 'newB', 'newC'], [2, 4, 6]]
|
|
19
|
+
*/
|
|
20
|
+
|
|
21
|
+
var unzipObjWith = curryN(2, function (fn, obj) {
|
|
22
|
+
return pipe(toPairs, map(pipe(flip, apply)(fn)), transpose, when(lengthEq(0), function () {
|
|
23
|
+
return [[], []];
|
|
24
|
+
}))(obj);
|
|
25
|
+
});
|
|
26
|
+
export default unzipObjWith;
|
package/es/viewOr.js
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { view, defaultTo, curryN } from 'ramda';
|
|
2
|
+
/**
|
|
3
|
+
* Returns a "view" of the given data structure, determined by the given lens.
|
|
4
|
+
* The lens's focus determines which portion of the data structure is visible.
|
|
5
|
+
* Returns the defaultValue if "view" is null, undefined or NaN; otherwise the "view" is returned.
|
|
6
|
+
*
|
|
7
|
+
* @func viewOr
|
|
8
|
+
* @memberOf RA
|
|
9
|
+
* @since {@link https://char0n.github.io/ramda-adjunct/1.13.0|1.13.0}
|
|
10
|
+
* @category Object
|
|
11
|
+
* @typedef Lens s b = Functor f => (b -> f b) -> s -> f s
|
|
12
|
+
* @sig a -> Lens s b -> s -> b | a
|
|
13
|
+
* @see {@link http://ramdajs.com/docs/#view|R.view}
|
|
14
|
+
* @param {*} defaultValue The default value
|
|
15
|
+
* @param {Function} lens Van Laarhoven lens
|
|
16
|
+
* @param {*} data The data structure
|
|
17
|
+
* @returns {*} "view" or defaultValue
|
|
18
|
+
*
|
|
19
|
+
* @example
|
|
20
|
+
*
|
|
21
|
+
* RA.viewOr('N/A', R.lensProp('x'), {}); // => 'N/A'
|
|
22
|
+
* RA.viewOr('N/A', R.lensProp('x'), { x: 1 }); // => 1
|
|
23
|
+
* RA.viewOr('some', R.lensProp('y'), { y: null }); // => 'some'
|
|
24
|
+
* RA.viewOr('some', R.lensProp('y'), { y: false }); // => false
|
|
25
|
+
*/
|
|
26
|
+
|
|
27
|
+
var viewOr = curryN(3, function (defaultValue, lens, data) {
|
|
28
|
+
return defaultTo(defaultValue, view(lens, data));
|
|
29
|
+
});
|
|
30
|
+
export default viewOr;
|
package/es/weave.js
ADDED
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { curryN } from 'ramda';
|
|
2
|
+
/**
|
|
3
|
+
* Weaves a configuration into function returning the runnable monad like `Reader` or `Free`.
|
|
4
|
+
* This allows us to pre-bind the configuration in advance and use the weaved function
|
|
5
|
+
* without need to explicitly pass the configuration on every call.
|
|
6
|
+
*
|
|
7
|
+
* @func weave
|
|
8
|
+
* @memberOf RA
|
|
9
|
+
* @since {@link https://char0n.github.io/ramda-adjunct/1.7.0|v1.7.0}
|
|
10
|
+
* @category Function
|
|
11
|
+
* @sig (*... -> *) -> * -> (*... -> *)
|
|
12
|
+
* @param {Function} fn The function to weave
|
|
13
|
+
* @param {*} config The configuration to weave into fn
|
|
14
|
+
* @return {Function} Auto-curried weaved function
|
|
15
|
+
* @example
|
|
16
|
+
*
|
|
17
|
+
* const { Reader: reader } = require('monet');
|
|
18
|
+
*
|
|
19
|
+
* const log = value => reader(
|
|
20
|
+
* config => config.log(value)
|
|
21
|
+
* );
|
|
22
|
+
*
|
|
23
|
+
* // no weaving
|
|
24
|
+
* log('test').run(console); //=> prints 'test'
|
|
25
|
+
*
|
|
26
|
+
* // weaving
|
|
27
|
+
* const wlog = RA.weave(log, console);
|
|
28
|
+
* wlog('test'); //=> prints 'test'
|
|
29
|
+
*/
|
|
30
|
+
|
|
31
|
+
var weave = curryN(2, function (fn, config) {
|
|
32
|
+
return curryN(fn.length, function () {
|
|
33
|
+
return fn.apply(void 0, arguments).run(config);
|
|
34
|
+
});
|
|
35
|
+
});
|
|
36
|
+
export default weave;
|
package/es/weaveLazy.js
ADDED
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { curryN } from 'ramda';
|
|
2
|
+
/**
|
|
3
|
+
* Weaves a configuration into function returning the runnable monad like `Reader` or `Free`.
|
|
4
|
+
* This allows us to pre-bind the configuration in advance and use the weaved function
|
|
5
|
+
* without need to explicitly pass the configuration on every call.
|
|
6
|
+
*
|
|
7
|
+
* @func weaveLazy
|
|
8
|
+
* @memberOf RA
|
|
9
|
+
* @since {@link https://char0n.github.io/ramda-adjunct/1.10.0|v1.10.0}
|
|
10
|
+
* @category Function
|
|
11
|
+
* @sig (*... -> *) -> (* -> *) -> (*... -> *)
|
|
12
|
+
* @param {Function} fn The function to weave
|
|
13
|
+
* @param {Function} configAccessor The function that returns the configuration object
|
|
14
|
+
* @return {Function} Auto-curried weaved function
|
|
15
|
+
* @example
|
|
16
|
+
*
|
|
17
|
+
* const { Reader: reader } = require('monet');
|
|
18
|
+
*
|
|
19
|
+
* const log = value => reader(
|
|
20
|
+
* config => config.log(value)
|
|
21
|
+
* );
|
|
22
|
+
*
|
|
23
|
+
* const consoleAccessor = R.always(console);
|
|
24
|
+
*
|
|
25
|
+
* // no weaving
|
|
26
|
+
* log('test').run(console); //=> prints 'test'
|
|
27
|
+
*
|
|
28
|
+
* // weaving
|
|
29
|
+
* const wlog = RA.weaveLazy(log, consoleAccessor);
|
|
30
|
+
* wlog('test'); //=> prints 'test'
|
|
31
|
+
*/
|
|
32
|
+
|
|
33
|
+
var weaveLazy = curryN(2, function (fn, configAccessor) {
|
|
34
|
+
return curryN(fn.length, function () {
|
|
35
|
+
return fn.apply(void 0, arguments).run(configAccessor());
|
|
36
|
+
});
|
|
37
|
+
});
|
|
38
|
+
export default weaveLazy;
|
package/es/zipObjWith.js
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { apply, curryN, fromPairs, map, pipe, zip } from 'ramda';
|
|
2
|
+
/**
|
|
3
|
+
* Creates a new object out of a list of keys and a list of values by applying the function
|
|
4
|
+
* to each equally-positioned pair in the lists.
|
|
5
|
+
* Key/value pairing is truncated to the length of the shorter of the two lists.
|
|
6
|
+
*
|
|
7
|
+
* @func zipObjWith
|
|
8
|
+
* @memberOf RA
|
|
9
|
+
* @category Object
|
|
10
|
+
* @since {@link https://char0n.github.io/ramda-adjunct/2.22.0|v2.22.0}
|
|
11
|
+
* @sig (b, a) -> [k, v] -> [a] -> [b] -> { k: v }
|
|
12
|
+
* @param {Function} fn The function to transform each value-key pair
|
|
13
|
+
* @param {Array} keys Array to transform into the properties on the output object
|
|
14
|
+
* @param {Array} values Array to transform into the values on the output object
|
|
15
|
+
* @return {Object} The object made by pairing up and transforming same-indexed elements of `keys` and `values`.
|
|
16
|
+
* @see {@link https://ramdajs.com/docs/#zipObj|zipObj}, {@link RA.unzipObjWith|unzipObjWith}
|
|
17
|
+
* @example
|
|
18
|
+
*
|
|
19
|
+
* RA.zipObjWith((value, key) => [key, `${key}${value + 1}`]), ['a', 'b', 'c'], [1, 2, 3]);
|
|
20
|
+
* // => { a: 'a2', b: 'b3', c: 'c4' }
|
|
21
|
+
*/
|
|
22
|
+
|
|
23
|
+
var zipObjWith = curryN(3, function (fn, keys, values) {
|
|
24
|
+
return pipe(zip, map(apply(fn)), fromPairs)(values, keys);
|
|
25
|
+
});
|
|
26
|
+
export default zipObjWith;
|
package/lib/Y.js
ADDED
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
exports["default"] = void 0;
|
|
5
|
+
|
|
6
|
+
var _ramda = require("ramda");
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Y-combinator
|
|
10
|
+
*
|
|
11
|
+
* The Y combinator is an interesting function which only works with functional languages,
|
|
12
|
+
* showing how recursion can still be done even without any variable or function declarations,
|
|
13
|
+
* only functions and parameters
|
|
14
|
+
*
|
|
15
|
+
* @func Y
|
|
16
|
+
* @memberOf RA
|
|
17
|
+
* @since {@link https://char0n.github.io/ramda-adjunct/2.3.0|v2.3.0}
|
|
18
|
+
* @category Function
|
|
19
|
+
* @sig (a, ... -> b -> b) -> (a, ... -> b)
|
|
20
|
+
* @param {Function} le Recursive function maker
|
|
21
|
+
* @return {Function}
|
|
22
|
+
* @see {@link http://kestas.kuliukas.com/YCombinatorExplained/|Y combinator explained}
|
|
23
|
+
* @example
|
|
24
|
+
*
|
|
25
|
+
* const makeFact = givenFact => (n) => {
|
|
26
|
+
* if (n < 2) { return 1 }
|
|
27
|
+
* return n * givenFact(n - 1);
|
|
28
|
+
* };
|
|
29
|
+
*
|
|
30
|
+
* const factorial = RA.Y(makeFact);
|
|
31
|
+
*
|
|
32
|
+
* factorial(5); //=> 120
|
|
33
|
+
*/
|
|
34
|
+
var Y = (0, _ramda.curryN)(1, function (le) {
|
|
35
|
+
return function (f) {
|
|
36
|
+
return f(f);
|
|
37
|
+
}(function (g) {
|
|
38
|
+
return le(function (x) {
|
|
39
|
+
return g(g)(x);
|
|
40
|
+
});
|
|
41
|
+
});
|
|
42
|
+
});
|
|
43
|
+
var _default = Y;
|
|
44
|
+
exports["default"] = _default;
|