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/lib/pathNotEq.js
ADDED
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
exports["default"] = void 0;
|
|
5
|
+
|
|
6
|
+
var _ramda = require("ramda");
|
|
7
|
+
|
|
8
|
+
/* eslint-disable max-len */
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Determines whether a nested path on an object doesn't have a specific value,
|
|
12
|
+
* in R.equals terms. Most likely used to filter a list.
|
|
13
|
+
*
|
|
14
|
+
* @func pathNotEq
|
|
15
|
+
* @memberOf RA
|
|
16
|
+
* @since {@link https://char0n.github.io/ramda-adjunct/2.4.0|v2.4.0}
|
|
17
|
+
* @category Relation
|
|
18
|
+
* @sig [Idx] => a => {a} => Boolean
|
|
19
|
+
* @sig Idx = String | Int
|
|
20
|
+
* @param {Array} path The path of the nested property to use
|
|
21
|
+
* @param {a} val The value to compare the nested property with
|
|
22
|
+
* @param {Object} object The object to check the nested property in
|
|
23
|
+
* @return {boolean} Returns Boolean `false` if the value equals the nested object property, `true` otherwise
|
|
24
|
+
* @see {@link http://ramdajs.com/docs/#pathEq|R.pathEq}
|
|
25
|
+
* @example
|
|
26
|
+
*
|
|
27
|
+
* const user1 = { address: { zipCode: 90210 } };
|
|
28
|
+
* const user2 = { address: { zipCode: 55555 } };
|
|
29
|
+
* const user3 = { name: 'Bob' };
|
|
30
|
+
* const users = [ user1, user2, user3 ];
|
|
31
|
+
* const isFamous = R.pathNotEq(['address', 'zipCode'], 90210);
|
|
32
|
+
* R.filter(isFamous, users); //=> [ user2, user3 ]
|
|
33
|
+
*/
|
|
34
|
+
|
|
35
|
+
/* eslint-enable max-len */
|
|
36
|
+
var pathNotEq = (0, _ramda.complement)(_ramda.pathEq);
|
|
37
|
+
var _default = pathNotEq;
|
|
38
|
+
exports["default"] = _default;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
exports["default"] = void 0;
|
|
5
|
+
|
|
6
|
+
var _ramda = require("ramda");
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* If the given, non-null object has a value at the given path, returns the value at that path.
|
|
10
|
+
* Otherwise returns the result of invoking the provided function with the object.
|
|
11
|
+
*
|
|
12
|
+
* @func pathOrLazy
|
|
13
|
+
* @memberOf RA
|
|
14
|
+
* @since {@link https://char0n.github.io/ramda-adjunct/2.22.0|v2.22.0}
|
|
15
|
+
* @category Object
|
|
16
|
+
* @typedef Idx = String | Int
|
|
17
|
+
* @sig ({a} -> a) -> [Idx] -> {a} -> a
|
|
18
|
+
* @param {Function} defaultFn The function that will return the default value.
|
|
19
|
+
* @param {Array} path The path to use.
|
|
20
|
+
* @param {Object} obj The object to retrieve the nested property from.
|
|
21
|
+
* @return {*} The data at `path` of the supplied object or the default value.
|
|
22
|
+
* @example
|
|
23
|
+
*
|
|
24
|
+
* RA.pathOrLazy(() => 'N/A', ['a', 'b'], {a: {b: 2}}); //=> 2
|
|
25
|
+
* RA.pathOrLazy(() => 'N/A', ['a', 'b'], {c: {b: 2}}); //=> "N/A"
|
|
26
|
+
*/
|
|
27
|
+
var pathOrLazy = (0, _ramda.curryN)(3, function (defaultFn, path, obj) {
|
|
28
|
+
return (0, _ramda.when)((0, _ramda.identical)(defaultFn), (0, _ramda.partial)((0, _ramda.unary)(defaultFn), [obj]), (0, _ramda.pathOr)(defaultFn, path, obj));
|
|
29
|
+
});
|
|
30
|
+
var _default = pathOrLazy;
|
|
31
|
+
exports["default"] = _default;
|
package/lib/paths.js
ADDED
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
exports["default"] = void 0;
|
|
5
|
+
|
|
6
|
+
var _ramda = require("ramda");
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Acts as multiple path: arrays of paths in, array of values out. Preserves order.
|
|
10
|
+
*
|
|
11
|
+
* @func paths
|
|
12
|
+
* @memberOf RA
|
|
13
|
+
* @since {@link https://char0n.github.io/ramda-adjunct/1.2.0|v1.2.0}
|
|
14
|
+
* @category List
|
|
15
|
+
* @sig [[k]] -> {k: v} - [v]
|
|
16
|
+
* @param {Array} ps The property paths to fetch
|
|
17
|
+
* @param {Object} obj The object to query
|
|
18
|
+
* @return {Array} The corresponding values or partially applied function
|
|
19
|
+
* @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}
|
|
20
|
+
* @example
|
|
21
|
+
*
|
|
22
|
+
* const obj = {
|
|
23
|
+
* a: { b: { c: 1 } },
|
|
24
|
+
* x: 2,
|
|
25
|
+
* };
|
|
26
|
+
*
|
|
27
|
+
* RA.paths([['a', 'b', 'c'], ['x']], obj); //=> [1, 2]
|
|
28
|
+
*/
|
|
29
|
+
var paths = (0, _ramda.curry)(function (ps, obj) {
|
|
30
|
+
return (0, _ramda.ap)([(0, _ramda.path)(_ramda.__, obj)], ps);
|
|
31
|
+
});
|
|
32
|
+
var _default = paths;
|
|
33
|
+
exports["default"] = _default;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
exports["default"] = void 0;
|
|
5
|
+
|
|
6
|
+
var _ramda = require("ramda");
|
|
7
|
+
|
|
8
|
+
// helpers
|
|
9
|
+
var filterIndexed = (0, _ramda.addIndex)(_ramda.filter);
|
|
10
|
+
var containsIndex = (0, _ramda.curry)(function (indexes, val, index) {
|
|
11
|
+
return (0, _ramda.contains)(index, indexes);
|
|
12
|
+
});
|
|
13
|
+
/**
|
|
14
|
+
* Picks values from list by indexes.
|
|
15
|
+
*
|
|
16
|
+
* Note: pickIndexes will skip non existing indexes. If you want to include them
|
|
17
|
+
* use ramda's `props` function.
|
|
18
|
+
*
|
|
19
|
+
* @func pickIndexes
|
|
20
|
+
* @memberOf RA
|
|
21
|
+
* @since {@link https://char0n.github.io/ramda-adjunct/1.1.0|v1.1.0}
|
|
22
|
+
* @category List
|
|
23
|
+
* @sig [Number] -> [a] -> [a]
|
|
24
|
+
* @param {Array} indexes The indexes to pick
|
|
25
|
+
* @param {Array} list The list to pick values from
|
|
26
|
+
* @return {Array} New array containing only values at `indexes`
|
|
27
|
+
* @see {@link http://ramdajs.com/docs/#pick|R.pick}, {@link RA.omitIndexes|omitIndexes}
|
|
28
|
+
* @example
|
|
29
|
+
*
|
|
30
|
+
* RA.pickIndexes([0, 2], ['a', 'b', 'c']); //=> ['a', 'c']
|
|
31
|
+
*/
|
|
32
|
+
|
|
33
|
+
var pickIndexes = (0, _ramda.curry)(function (indexes, list) {
|
|
34
|
+
return filterIndexed(containsIndex(indexes), list);
|
|
35
|
+
});
|
|
36
|
+
var _default = pickIndexes;
|
|
37
|
+
exports["default"] = _default;
|
package/lib/propNotEq.js
ADDED
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
exports["default"] = void 0;
|
|
5
|
+
|
|
6
|
+
var _ramda = require("ramda");
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Returns true if the specified object property is not equal,
|
|
10
|
+
* in R.equals terms, to the given value; false otherwise.
|
|
11
|
+
*
|
|
12
|
+
* @func propNotEq
|
|
13
|
+
* @memberOf RA
|
|
14
|
+
* @since {@link https://char0n.github.io/ramda-adjunct/2.3.0|v2.3.0}
|
|
15
|
+
* @category Relation
|
|
16
|
+
* @sig String -> a -> Object -> Boolean
|
|
17
|
+
* @param {String} name The property to pick
|
|
18
|
+
* @param {a} val The value to compare to
|
|
19
|
+
* @param {Object} object The object, that presumably contains value under the property
|
|
20
|
+
* @return {boolean} Comparison result
|
|
21
|
+
* @see {@link http://ramdajs.com/docs/#propEq|R.propEq}
|
|
22
|
+
* @example
|
|
23
|
+
*
|
|
24
|
+
* const abby = { name: 'Abby', age: 7, hair: 'blond' };
|
|
25
|
+
* const fred = { name: 'Fred', age: 12, hair: 'brown' };
|
|
26
|
+
* const rusty = { name: 'Rusty', age: 10, hair: 'brown' };
|
|
27
|
+
* const alois = { name: 'Alois', age: 15, disposition: 'surly' };
|
|
28
|
+
* const kids = [abby, fred, rusty, alois];
|
|
29
|
+
* const hasNotBrownHair = RA.propNotEq('hair', 'brown');
|
|
30
|
+
*
|
|
31
|
+
* R.filter(hasNotBrownHair, kids); //=> [abby, alois]
|
|
32
|
+
*/
|
|
33
|
+
var propNotEq = (0, _ramda.complement)(_ramda.propEq);
|
|
34
|
+
var _default = propNotEq;
|
|
35
|
+
exports["default"] = _default;
|
package/lib/rangeStep.js
ADDED
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
exports["default"] = void 0;
|
|
5
|
+
|
|
6
|
+
var _ramda = require("ramda");
|
|
7
|
+
|
|
8
|
+
var _floor = _interopRequireDefault(require("./floor"));
|
|
9
|
+
|
|
10
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* Creates an array of numbers (positive and/or negative) progressing from start up to, but not including, end.
|
|
14
|
+
*
|
|
15
|
+
* `Note`: JavaScript follows the IEEE-754 standard for resolving floating-point values which can produce unexpected results.
|
|
16
|
+
*
|
|
17
|
+
* @func rangeStep
|
|
18
|
+
* @memberOf RA
|
|
19
|
+
* @category List
|
|
20
|
+
* @since {@link https://char0n.github.io/ramda-adjunct/2.30.0|v2.30.0}
|
|
21
|
+
* @sig Number -> Number -> Number -> [Number]
|
|
22
|
+
* @param {number} step The value to increment or decrement by
|
|
23
|
+
* @param {number} from The start of the range
|
|
24
|
+
* @param {number} to The end of the range
|
|
25
|
+
* @return {number[]} Returns the range of numbers
|
|
26
|
+
* @see {@link http://ramdajs.com/docs/#range|R.range}
|
|
27
|
+
* @example
|
|
28
|
+
*
|
|
29
|
+
* RA.rangeStep(1, 0, 4); // => [0, 1 ,2, 3]
|
|
30
|
+
* RA.rangeStep(-1, 0, -4); // => [0, -1, -2, -3]
|
|
31
|
+
* RA.rangeStep(1, 1, 5); // => [1, 2, 3, 4]
|
|
32
|
+
* RA.rangeStep(5, 0, 20); // => [0, 5, 10, 15]
|
|
33
|
+
* RA.rangeStep(-1, 0, -4); // => [0, -1, -2, -3]
|
|
34
|
+
* RA.rangeStep(0, 1, 4); // => [1, 1, 1]
|
|
35
|
+
* RA.rangeStep(1, 0, 0); // => []
|
|
36
|
+
*/
|
|
37
|
+
var rangeStep = (0, _ramda.curryN)(3, function (step, from, to) {
|
|
38
|
+
var callback = step === 0 ? (0, _ramda.always)(from) : function (n) {
|
|
39
|
+
return from + step * n;
|
|
40
|
+
};
|
|
41
|
+
var rangeEnd = step === 0 ? to - from : (0, _floor["default"])((to - from) / step);
|
|
42
|
+
return (0, _ramda.map)(callback, (0, _ramda.range)(0, rangeEnd));
|
|
43
|
+
});
|
|
44
|
+
var _default = rangeStep;
|
|
45
|
+
exports["default"] = _default;
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
exports["default"] = void 0;
|
|
5
|
+
|
|
6
|
+
var _ramda = require("ramda");
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* {@link http://ramdajs.com/docs/#reduce|R.reduce} function that more closely resembles Array.prototype.reduce.
|
|
10
|
+
* It takes two new parameters to its callback function: the current index, and the entire list.
|
|
11
|
+
*
|
|
12
|
+
* `reduceIndexed` implementation is simple : `
|
|
13
|
+
* const reduceIndexed = R.addIndex(R.reduce);
|
|
14
|
+
* `
|
|
15
|
+
* @func reduceIndexed
|
|
16
|
+
* @memberOf RA
|
|
17
|
+
* @since {@link https://char0n.github.io/ramda-adjunct/2.5.0|v2.5.0}
|
|
18
|
+
* @category List
|
|
19
|
+
* @typedef Idx = Number
|
|
20
|
+
* @sig ((a, b, Idx, [b]) => a) -> a -> [b] -> a
|
|
21
|
+
* @param {Function} fn The iterator function. Receives four values,
|
|
22
|
+
* the accumulator, the current element from the array, index and the entire list
|
|
23
|
+
* @param {*} acc The accumulator value
|
|
24
|
+
* @param {Array} list The list to iterate over
|
|
25
|
+
* @return {*} The final, accumulated value
|
|
26
|
+
* @see {@link http://ramdajs.com/docs/#addIndex|R.addIndex}, {@link http://ramdajs.com/docs/#reduce|R.reduce}
|
|
27
|
+
* @example
|
|
28
|
+
*
|
|
29
|
+
* const initialList = ['f', 'o', 'o', 'b', 'a', 'r'];
|
|
30
|
+
*
|
|
31
|
+
* reduceIndexed((acc, val, idx, list) => acc + '-' + val + idx, '', initialList);
|
|
32
|
+
* //=> "-f0-o1-o2-b3-a4-r5"
|
|
33
|
+
*/
|
|
34
|
+
var reduceIndexed = (0, _ramda.addIndex)(_ramda.reduce);
|
|
35
|
+
var _default = reduceIndexed;
|
|
36
|
+
exports["default"] = _default;
|
package/lib/reduceP.js
ADDED
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
exports["default"] = void 0;
|
|
5
|
+
|
|
6
|
+
var _ramda = require("ramda");
|
|
7
|
+
|
|
8
|
+
var _isUndefined = _interopRequireDefault(require("./isUndefined"));
|
|
9
|
+
|
|
10
|
+
var _resolveP = _interopRequireDefault(require("./resolveP"));
|
|
11
|
+
|
|
12
|
+
var _allP = _interopRequireDefault(require("./allP"));
|
|
13
|
+
|
|
14
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
15
|
+
|
|
16
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
17
|
+
|
|
18
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
19
|
+
|
|
20
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
21
|
+
|
|
22
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
23
|
+
|
|
24
|
+
function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
|
|
25
|
+
|
|
26
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
27
|
+
|
|
28
|
+
/* eslint-disable max-len */
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* Given an `Iterable`(arrays are `Iterable`), or a promise of an `Iterable`,
|
|
32
|
+
* which produces promises (or a mix of promises and values),
|
|
33
|
+
* iterate over all the values in the `Iterable` into an array and
|
|
34
|
+
* reduce the array to a value using the given iterator function.
|
|
35
|
+
*
|
|
36
|
+
* If the iterator function returns a promise, then the result of the promise is awaited,
|
|
37
|
+
* before continuing with next iteration. If any promise in the array is rejected or a promise
|
|
38
|
+
* returned by the iterator function is rejected, the result is rejected as well.
|
|
39
|
+
*
|
|
40
|
+
* If `initialValue` is `undefined` (or a promise that resolves to `undefined`) and
|
|
41
|
+
* the `Iterable` contains only 1 item, the callback will not be called and
|
|
42
|
+
* the `Iterable's` single item is returned. If the `Iterable` is empty, the callback
|
|
43
|
+
* will not be called and `initialValue` is returned (which may be undefined).
|
|
44
|
+
*
|
|
45
|
+
* This function is basically equivalent to {@link http://bluebirdjs.com/docs/api/promise.reduce.html|bluebird.reduce}.
|
|
46
|
+
*
|
|
47
|
+
* @func reduceP
|
|
48
|
+
* @memberOf RA
|
|
49
|
+
* @since {@link https://char0n.github.io/ramda-adjunct/1.13.0|v1.13.0}
|
|
50
|
+
* @category List
|
|
51
|
+
* @typedef MaybePromise = Promise.<*> | *
|
|
52
|
+
* @sig ((Promise a, MaybePromise b) -> Promise a) -> MaybePromise a -> MaybePromise [MaybePromise b] -> Promise a
|
|
53
|
+
* @param {Function} fn The iterator function. Receives two values, the accumulator and the current element from the list
|
|
54
|
+
* @param {*|Promise.<*>} acc The accumulator value
|
|
55
|
+
* @param {Array.<*>|Promise.<Array<*|Promise.<*>>>} list The list to iterate over
|
|
56
|
+
* @return {Promise} The final, accumulated value
|
|
57
|
+
* @see {@link http://ramdajs.com/docs/#reduce|R.reduce}, {@link RA.reduceRightP|reduceRightP}, {@link http://bluebirdjs.com/docs/api/promise.reduce.html|bluebird.reduce}
|
|
58
|
+
* @example
|
|
59
|
+
*
|
|
60
|
+
* RA.reduceP(
|
|
61
|
+
* (total, fileName) => fs
|
|
62
|
+
* .readFileAsync(fileName, 'utf8')
|
|
63
|
+
* .then(contents => total + parseInt(contents, 10)),
|
|
64
|
+
* 0,
|
|
65
|
+
* ['file1.txt', 'file2.txt', 'file3.txt']
|
|
66
|
+
* ); // => Promise(10)
|
|
67
|
+
*
|
|
68
|
+
* RA.reduceP(
|
|
69
|
+
* (total, fileName) => fs
|
|
70
|
+
* .readFileAsync(fileName, 'utf8')
|
|
71
|
+
* .then(contents => total + parseInt(contents, 10)),
|
|
72
|
+
* Promise.resolve(0),
|
|
73
|
+
* ['file1.txt', 'file2.txt', 'file3.txt']
|
|
74
|
+
* ); // => Promise(10)
|
|
75
|
+
*
|
|
76
|
+
* RA.reduceP(
|
|
77
|
+
* (total, fileName) => fs
|
|
78
|
+
* .readFileAsync(fileName, 'utf8')
|
|
79
|
+
* .then(contents => total + parseInt(contents, 10)),
|
|
80
|
+
* 0,
|
|
81
|
+
* [Promise.resolve('file1.txt'), 'file2.txt', 'file3.txt']
|
|
82
|
+
* ); // => Promise(10)
|
|
83
|
+
*
|
|
84
|
+
* RA.reduceP(
|
|
85
|
+
* (total, fileName) => fs
|
|
86
|
+
* .readFileAsync(fileName, 'utf8')
|
|
87
|
+
* .then(contents => total + parseInt(contents, 10)),
|
|
88
|
+
* 0,
|
|
89
|
+
* Promise.resolve([Promise.resolve('file1.txt'), 'file2.txt', 'file3.txt'])
|
|
90
|
+
* ); // => Promise(10)
|
|
91
|
+
*
|
|
92
|
+
*/
|
|
93
|
+
|
|
94
|
+
/* esline-enable max-len */
|
|
95
|
+
var reduceP = (0, _ramda.curryN)(3, function (fn, acc, list) {
|
|
96
|
+
return (0, _resolveP["default"])(list).then(function (iterable) {
|
|
97
|
+
var listLength = (0, _ramda.length)(iterable);
|
|
98
|
+
|
|
99
|
+
if (listLength === 0) {
|
|
100
|
+
return acc;
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
var reducer = (0, _ramda.reduce)(function (accP, currentValueP) {
|
|
104
|
+
return accP.then(function (previousValue) {
|
|
105
|
+
return (0, _allP["default"])([previousValue, currentValueP]);
|
|
106
|
+
}).then(function (_ref) {
|
|
107
|
+
var _ref2 = _slicedToArray(_ref, 2),
|
|
108
|
+
previousValue = _ref2[0],
|
|
109
|
+
currentValue = _ref2[1];
|
|
110
|
+
|
|
111
|
+
if ((0, _isUndefined["default"])(previousValue) && listLength === 1) {
|
|
112
|
+
return currentValue;
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
return fn(previousValue, currentValue);
|
|
116
|
+
});
|
|
117
|
+
});
|
|
118
|
+
return reducer((0, _resolveP["default"])(acc), iterable);
|
|
119
|
+
});
|
|
120
|
+
});
|
|
121
|
+
var _default = reduceP;
|
|
122
|
+
exports["default"] = _default;
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
exports["default"] = void 0;
|
|
5
|
+
|
|
6
|
+
var _ramda = require("ramda");
|
|
7
|
+
|
|
8
|
+
var _isUndefined = _interopRequireDefault(require("./isUndefined"));
|
|
9
|
+
|
|
10
|
+
var _resolveP = _interopRequireDefault(require("./resolveP"));
|
|
11
|
+
|
|
12
|
+
var _allP = _interopRequireDefault(require("./allP"));
|
|
13
|
+
|
|
14
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
15
|
+
|
|
16
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
17
|
+
|
|
18
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
19
|
+
|
|
20
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
21
|
+
|
|
22
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
23
|
+
|
|
24
|
+
function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
|
|
25
|
+
|
|
26
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
27
|
+
|
|
28
|
+
// in older ramda versions the order of the arguments is flipped
|
|
29
|
+
var flipArgs = (0, _ramda.pipe)((0, _ramda.reduceRight)(_ramda.concat, ''), (0, _ramda.equals)('ba'))(['a', 'b']);
|
|
30
|
+
/* eslint-disable max-len */
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* Given an `Iterable`(arrays are `Iterable`), or a promise of an `Iterable`,
|
|
34
|
+
* which produces promises (or a mix of promises and values),
|
|
35
|
+
* iterate over all the values in the `Iterable` into an array and
|
|
36
|
+
* reduce the array to a value using the given iterator function.
|
|
37
|
+
*
|
|
38
|
+
* Similar to {@link RA.reduceP|reduceP} except moves through the input list from the right to the left.
|
|
39
|
+
* The iterator function receives two values: (value, acc),
|
|
40
|
+
* while the arguments' order of reduceP's iterator function is (acc, value).
|
|
41
|
+
*
|
|
42
|
+
* @func reduceRightP
|
|
43
|
+
* @memberOf RA
|
|
44
|
+
* @since {@link https://char0n.github.io/ramda-adjunct/1.13.0|v1.13.0}
|
|
45
|
+
* @category List
|
|
46
|
+
* @typedef MaybePromise = Promise.<*> | *
|
|
47
|
+
* @sig ((MaybePromise b, Promise a) -> Promise a) -> MaybePromise a -> MaybePromise [MaybePromise b] -> Promise a
|
|
48
|
+
* @param {Function} fn The iterator function. Receives two values, the current element from the list and the accumulator
|
|
49
|
+
* @param {*|Promise.<*>} acc The accumulator value
|
|
50
|
+
* @param {Array.<*>|Promise.<Array<*|Promise.<*>>>} list The list to iterate over
|
|
51
|
+
* @return {Promise} The final, accumulated value
|
|
52
|
+
* @see {@link RA.reduceP|reduceP}, {@link http://bluebirdjs.com/docs/api/promise.reduce.html|bluebird.reduce}
|
|
53
|
+
* @example
|
|
54
|
+
*
|
|
55
|
+
* RA.reduceRightP(
|
|
56
|
+
* (fileName, total) => fs
|
|
57
|
+
* .readFileAsync(fileName, 'utf8')
|
|
58
|
+
* .then(contents => total + parseInt(contents, 10)),
|
|
59
|
+
* 0,
|
|
60
|
+
* ['file1.txt', 'file2.txt', 'file3.txt']
|
|
61
|
+
* ); // => Promise(10)
|
|
62
|
+
*
|
|
63
|
+
* RA.reduceRightP(
|
|
64
|
+
* (fileName, total) => fs
|
|
65
|
+
* .readFileAsync(fileName, 'utf8')
|
|
66
|
+
* .then(contents => total + parseInt(contents, 10)),
|
|
67
|
+
* Promise.resolve(0),
|
|
68
|
+
* ['file1.txt', 'file2.txt', 'file3.txt']
|
|
69
|
+
* ); // => Promise(10)
|
|
70
|
+
*
|
|
71
|
+
* RA.reduceRightP(
|
|
72
|
+
* (fileName, total) => fs
|
|
73
|
+
* .readFileAsync(fileName, 'utf8')
|
|
74
|
+
* .then(contents => total + parseInt(contents, 10)),
|
|
75
|
+
* 0,
|
|
76
|
+
* [Promise.resolve('file1.txt'), 'file2.txt', 'file3.txt']
|
|
77
|
+
* ); // => Promise(10)
|
|
78
|
+
*
|
|
79
|
+
* RA.reduceRightP(
|
|
80
|
+
* (fileName, total) => fs
|
|
81
|
+
* .readFileAsync(fileName, 'utf8')
|
|
82
|
+
* .then(contents => total + parseInt(contents, 10)),
|
|
83
|
+
* 0,
|
|
84
|
+
* Promise.resolve([Promise.resolve('file1.txt'), 'file2.txt', 'file3.txt'])
|
|
85
|
+
* ); // => Promise(10)
|
|
86
|
+
*
|
|
87
|
+
*/
|
|
88
|
+
|
|
89
|
+
/* esline-enable max-len */
|
|
90
|
+
|
|
91
|
+
var reduceRightP = (0, _ramda.curryN)(3, function (fn, acc, list) {
|
|
92
|
+
return (0, _resolveP["default"])(list).then(function (iterable) {
|
|
93
|
+
var listLength = (0, _ramda.length)(iterable);
|
|
94
|
+
|
|
95
|
+
if (listLength === 0) {
|
|
96
|
+
return acc;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
var reducer = (0, _ramda.reduceRight)(function (arg1, arg2) {
|
|
100
|
+
var accP;
|
|
101
|
+
var currentValueP;
|
|
102
|
+
|
|
103
|
+
if (flipArgs) {
|
|
104
|
+
accP = arg1;
|
|
105
|
+
currentValueP = arg2;
|
|
106
|
+
} else {
|
|
107
|
+
accP = arg2;
|
|
108
|
+
currentValueP = arg1;
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
return accP.then(function (previousValue) {
|
|
112
|
+
return (0, _allP["default"])([previousValue, currentValueP]);
|
|
113
|
+
}).then(function (_ref) {
|
|
114
|
+
var _ref2 = _slicedToArray(_ref, 2),
|
|
115
|
+
previousValue = _ref2[0],
|
|
116
|
+
currentValue = _ref2[1];
|
|
117
|
+
|
|
118
|
+
if ((0, _isUndefined["default"])(previousValue) && listLength === 1) {
|
|
119
|
+
return currentValue;
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
return fn(currentValue, previousValue);
|
|
123
|
+
});
|
|
124
|
+
});
|
|
125
|
+
return reducer((0, _resolveP["default"])(acc), iterable);
|
|
126
|
+
});
|
|
127
|
+
});
|
|
128
|
+
var _default = reduceRightP;
|
|
129
|
+
exports["default"] = _default;
|
package/lib/rejectP.js
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
exports["default"] = void 0;
|
|
5
|
+
|
|
6
|
+
var _ramda = require("ramda");
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Composable shortcut for `Promise.reject`.
|
|
10
|
+
*
|
|
11
|
+
* Returns a Promise object that is rejected with the given reason.
|
|
12
|
+
*
|
|
13
|
+
* @func rejectP
|
|
14
|
+
* @memberOf RA
|
|
15
|
+
* @since {@link https://char0n.github.io/ramda-adjunct/1.16.0|v1.16.0}
|
|
16
|
+
* @category Function
|
|
17
|
+
* @sig a -> Promise a
|
|
18
|
+
* @param {*} [reason=undefined] Reason why this Promise rejected
|
|
19
|
+
* @return {Promise} A Promise that is rejected with the given reason
|
|
20
|
+
* @see {@link RA.resolveP|resolveP}
|
|
21
|
+
* @example
|
|
22
|
+
*
|
|
23
|
+
* RA.rejectP(); //=> Promise(undefined)
|
|
24
|
+
* RA.rejectP('a'); //=> Promise('a')
|
|
25
|
+
* RA.rejectP([1, 2, 3]); //=> Promise([1, 2, 3])
|
|
26
|
+
*/
|
|
27
|
+
var rejectP = (0, _ramda.bind)(Promise.reject, Promise);
|
|
28
|
+
var _default = rejectP;
|
|
29
|
+
exports["default"] = _default;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
exports["default"] = void 0;
|
|
5
|
+
|
|
6
|
+
var _ramda = require("ramda");
|
|
7
|
+
|
|
8
|
+
var _renameKeysWith = _interopRequireDefault(require("./renameKeysWith"));
|
|
9
|
+
|
|
10
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* Creates a new object with the own properties of the provided object, but the
|
|
14
|
+
* key `key` renamed according to logic of renaming function.
|
|
15
|
+
*
|
|
16
|
+
* Keep in mind that in case the new key name already existed on the object,
|
|
17
|
+
* the behaviour is undefined and the result may vary between various JS engines!
|
|
18
|
+
*
|
|
19
|
+
* @func renameKeyWith
|
|
20
|
+
* @memberOf RA
|
|
21
|
+
* @since {@link https://char0n.github.io/ramda-adjunct/2.29.0|v2.29.0}
|
|
22
|
+
* @category Object
|
|
23
|
+
* @sig (k -> k) -> k -> {k: v} -> {k: v}
|
|
24
|
+
* @param {Function} fn Function that renames the keys
|
|
25
|
+
* @param {!string} key Key to rename
|
|
26
|
+
* @param {!Object} obj Provided object
|
|
27
|
+
* @return {!Object} New object with renamed key
|
|
28
|
+
* @see {@link RA.renameKeysWith|renameKeysWith}
|
|
29
|
+
* @example
|
|
30
|
+
*
|
|
31
|
+
* RA.renameKeyWith(R.concat('a'), 'A', { A: 1 }) //=> { aA: 1 }
|
|
32
|
+
*/
|
|
33
|
+
var renameKeyWith = (0, _ramda.curry)(function (fn, key, obj) {
|
|
34
|
+
return (0, _renameKeysWith["default"])((0, _ramda.when)((0, _ramda.equals)(key), fn), obj);
|
|
35
|
+
});
|
|
36
|
+
var _default = renameKeyWith;
|
|
37
|
+
exports["default"] = _default;
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
exports["default"] = void 0;
|
|
5
|
+
|
|
6
|
+
var _ramda = require("ramda");
|
|
7
|
+
|
|
8
|
+
var _renameKeysWith = _interopRequireDefault(require("./renameKeysWith"));
|
|
9
|
+
|
|
10
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
11
|
+
|
|
12
|
+
var valueOrKey = function valueOrKey(keysMap) {
|
|
13
|
+
return function (key) {
|
|
14
|
+
if ((0, _ramda.has)(key, keysMap)) {
|
|
15
|
+
return keysMap[key];
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
return key;
|
|
19
|
+
};
|
|
20
|
+
};
|
|
21
|
+
/**
|
|
22
|
+
* Creates a new object with the own properties of the provided object, but the
|
|
23
|
+
* keys renamed according to the keysMap object as `{oldKey: newKey}`.
|
|
24
|
+
* When some key is not found in the keysMap, then it's passed as-is.
|
|
25
|
+
*
|
|
26
|
+
* Keep in mind that in the case of keys conflict is behaviour undefined and
|
|
27
|
+
* the result may vary between various JS engines!
|
|
28
|
+
*
|
|
29
|
+
* @func renameKeys
|
|
30
|
+
* @memberOf RA
|
|
31
|
+
* @since {@link https://char0n.github.io/ramda-adjunct/1.5.0|v1.5.0}
|
|
32
|
+
* @category Object
|
|
33
|
+
* @sig {a: b} -> {a: *} -> {b: *}
|
|
34
|
+
* @param {!Object} keysMap
|
|
35
|
+
* @param {!Object} obj
|
|
36
|
+
* @return {!Object} New object with renamed keys
|
|
37
|
+
* @see {@link https://github.com/ramda/ramda/wiki/Cookbook#rename-keys-of-an-object|Ramda Cookbook}, {@link RA.renameKeysWith|renameKeysWith}
|
|
38
|
+
* @example
|
|
39
|
+
*
|
|
40
|
+
* const input = { firstName: 'Elisia', age: 22, type: 'human' };
|
|
41
|
+
*
|
|
42
|
+
* RA.renameKeys({ firstName: 'name', type: 'kind', foo: 'bar' })(input);
|
|
43
|
+
* //=> { name: 'Elisia', age: 22, kind: 'human' }
|
|
44
|
+
*/
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
var renameKeys = (0, _ramda.curry)(function (keysMap, obj) {
|
|
48
|
+
return (0, _renameKeysWith["default"])(valueOrKey(keysMap), obj);
|
|
49
|
+
});
|
|
50
|
+
var _default = renameKeys;
|
|
51
|
+
exports["default"] = _default;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
exports["default"] = void 0;
|
|
5
|
+
|
|
6
|
+
var _ramda = require("ramda");
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Creates a new object with the own properties of the provided object, but the
|
|
10
|
+
* keys renamed according to logic of renaming function.
|
|
11
|
+
*
|
|
12
|
+
* Keep in mind that in the case of keys conflict is behaviour undefined and
|
|
13
|
+
* the result may vary between various JS engines!
|
|
14
|
+
*
|
|
15
|
+
* @func renameKeysWith
|
|
16
|
+
* @memberOf RA
|
|
17
|
+
* @since {@link https://char0n.github.io/ramda-adjunct/1.5.0|v1.5.0}
|
|
18
|
+
* @category Object
|
|
19
|
+
* @sig (a -> b) -> {a: *} -> {b: *}
|
|
20
|
+
* @param {Function} fn Function that renames the keys
|
|
21
|
+
* @param {!Object} obj Provided object
|
|
22
|
+
* @return {!Object} New object with renamed keys
|
|
23
|
+
* @see {@link https://github.com/ramda/ramda/wiki/Cookbook#rename-keys-of-an-object-by-a-function|Ramda Cookbook}, {@link RA.renameKeys|renameKeys}
|
|
24
|
+
* @example
|
|
25
|
+
*
|
|
26
|
+
* RA.renameKeysWith(R.concat('a'), { A: 1, B: 2, C: 3 }) //=> { aA: 1, aB: 2, aC: 3 }
|
|
27
|
+
*/
|
|
28
|
+
var renameKeysWith = (0, _ramda.curry)(function (fn, obj) {
|
|
29
|
+
return (0, _ramda.pipe)(_ramda.toPairs, (0, _ramda.map)((0, _ramda.over)((0, _ramda.lensIndex)(0), fn)), _ramda.fromPairs)(obj);
|
|
30
|
+
});
|
|
31
|
+
var _default = renameKeysWith;
|
|
32
|
+
exports["default"] = _default;
|