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
|
@@ -0,0 +1,323 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
|
|
4
|
+
|
|
5
|
+
exports.__esModule = true;
|
|
6
|
+
exports["default"] = void 0;
|
|
7
|
+
|
|
8
|
+
var _ramda = require("ramda");
|
|
9
|
+
|
|
10
|
+
var fl = _interopRequireWildcard(require("./mapping"));
|
|
11
|
+
|
|
12
|
+
var _traits = require("./traits");
|
|
13
|
+
|
|
14
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
15
|
+
|
|
16
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
17
|
+
|
|
18
|
+
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
19
|
+
|
|
20
|
+
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
|
|
21
|
+
|
|
22
|
+
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* The simplest {@link https://github.com/fantasyland/fantasy-land|fantasy-land}
|
|
26
|
+
* compatible monad which attaches no information to values.
|
|
27
|
+
*
|
|
28
|
+
* The Identity type is a very simple type that has no interesting side effects and
|
|
29
|
+
* is effectively just a container of some value. So why does it exist ?
|
|
30
|
+
* The Identity type is often used as the base monad of a monad
|
|
31
|
+
* transformer when no other behaviour is required.
|
|
32
|
+
*
|
|
33
|
+
* @memberOf RA
|
|
34
|
+
* @implements
|
|
35
|
+
* {@link https://github.com/fantasyland/fantasy-land#apply|Apply},
|
|
36
|
+
* {@link https://github.com/fantasyland/fantasy-land#applicative|Applicative},
|
|
37
|
+
* {@link https://github.com/fantasyland/fantasy-land#functor|Functor},
|
|
38
|
+
* {@link https://github.com/fantasyland/fantasy-land#setoid|Setoid},
|
|
39
|
+
* {@link https://github.com/fantasyland/fantasy-land#semigroup|Semigroup},
|
|
40
|
+
* {@link https://github.com/fantasyland/fantasy-land#chain|Chain},
|
|
41
|
+
* {@link https://github.com/fantasyland/fantasy-land#monad|Monad},
|
|
42
|
+
* {@link https://github.com/fantasyland/fantasy-land#ord|Ord},
|
|
43
|
+
* {@link https://github.com/fantasyland/fantasy-land#monoid|Monoid*},
|
|
44
|
+
* {@link https://github.com/fantasyland/fantasy-land#contravariant|Contravariant}
|
|
45
|
+
* @since {@link https://char0n.github.io/ramda-adjunct/1.8.0|v1.8.0}
|
|
46
|
+
*/
|
|
47
|
+
var Identity = /*#__PURE__*/function (_fl$of, _fl$ap, _fl$map, _fl$equals, _fl$concat, _fl$chain, _fl$lte, _fl$empty, _fl$contramap) {
|
|
48
|
+
/**
|
|
49
|
+
* Private constructor. Use {@link RA.Identity.of|Identity.of} instead.
|
|
50
|
+
*
|
|
51
|
+
* @param {*} value
|
|
52
|
+
* @return {RA.Identity}
|
|
53
|
+
*/
|
|
54
|
+
function Identity(value) {
|
|
55
|
+
_classCallCheck(this, Identity);
|
|
56
|
+
|
|
57
|
+
this.value = value;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Catamorphism for a value.
|
|
61
|
+
* @returns {*}
|
|
62
|
+
* @example
|
|
63
|
+
*
|
|
64
|
+
* const a = Identity.of(1);
|
|
65
|
+
* a.get(); //=> 1
|
|
66
|
+
*/
|
|
67
|
+
|
|
68
|
+
|
|
69
|
+
_createClass(Identity, [{
|
|
70
|
+
key: "get",
|
|
71
|
+
value: function get() {
|
|
72
|
+
return this.value;
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Fantasy land {@link https://github.com/fantasyland/fantasy-land#apply|Apply} specification.
|
|
76
|
+
*
|
|
77
|
+
* @sig ap :: Apply f => f a ~> f (a -> b) -> f b
|
|
78
|
+
* @param {RA.Identity} applyWithFn
|
|
79
|
+
* @return {RA.Identity}
|
|
80
|
+
* @example
|
|
81
|
+
*
|
|
82
|
+
* const a = Identity.of(1);
|
|
83
|
+
* const b = Identity.of(1).map(a => b => a + b);
|
|
84
|
+
*
|
|
85
|
+
* a.ap(b); //=> Identity(2)
|
|
86
|
+
*/
|
|
87
|
+
|
|
88
|
+
}, {
|
|
89
|
+
key: _fl$ap,
|
|
90
|
+
value: function value(applyWithFn) {
|
|
91
|
+
return _traits.applyTrait[fl.ap].call(this, applyWithFn);
|
|
92
|
+
}
|
|
93
|
+
}, {
|
|
94
|
+
key: "ap",
|
|
95
|
+
value: function ap(applyWithFn) {
|
|
96
|
+
return this[fl.ap](applyWithFn);
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Fantasy land {@link https://github.com/fantasyland/fantasy-land#functor|Functor} specification.
|
|
100
|
+
*
|
|
101
|
+
* @sig map :: Functor f => f a ~> (a -> b) -> f b
|
|
102
|
+
* @param {Function} fn
|
|
103
|
+
* @return {RA.Identity}
|
|
104
|
+
* @example
|
|
105
|
+
*
|
|
106
|
+
* const a = Identity.of(1);
|
|
107
|
+
* a.map(a => a + 1); //=> Identity(2)
|
|
108
|
+
*/
|
|
109
|
+
|
|
110
|
+
}, {
|
|
111
|
+
key: _fl$map,
|
|
112
|
+
value: function value(fn) {
|
|
113
|
+
return _traits.functorTrait[fl.map].call(this, fn);
|
|
114
|
+
}
|
|
115
|
+
}, {
|
|
116
|
+
key: "map",
|
|
117
|
+
value: function map(fn) {
|
|
118
|
+
return this[fl.map](fn);
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* Fantasy land {@link https://github.com/fantasyland/fantasy-land#setoid|Setoid} specification.
|
|
122
|
+
*
|
|
123
|
+
* @sig equals :: Setoid a => a ~> a -> Boolean
|
|
124
|
+
* @param {RA.Identity} setoid
|
|
125
|
+
* @return {boolean}
|
|
126
|
+
* @example
|
|
127
|
+
*
|
|
128
|
+
* const a = Identity.of(1);
|
|
129
|
+
* const b = Identity.of(1);
|
|
130
|
+
* const c = Identity.of(2);
|
|
131
|
+
*
|
|
132
|
+
* a.equals(b); //=> true
|
|
133
|
+
* a.equals(c); //=> false
|
|
134
|
+
*/
|
|
135
|
+
|
|
136
|
+
}, {
|
|
137
|
+
key: _fl$equals,
|
|
138
|
+
value: function value(setoid) {
|
|
139
|
+
return _traits.setoidTrait[fl.equals].call(this, setoid);
|
|
140
|
+
}
|
|
141
|
+
}, {
|
|
142
|
+
key: "equals",
|
|
143
|
+
value: function equals(setoid) {
|
|
144
|
+
return this[fl.equals](setoid);
|
|
145
|
+
}
|
|
146
|
+
/**
|
|
147
|
+
* Fantasy land {@link https://github.com/fantasyland/fantasy-land#semigroup|Semigroup} specification.
|
|
148
|
+
*
|
|
149
|
+
* @sig concat :: Semigroup a => a ~> a -> a
|
|
150
|
+
* @param {RA.Identity} semigroup
|
|
151
|
+
* @return {RA.Identity}
|
|
152
|
+
* @example
|
|
153
|
+
*
|
|
154
|
+
* const a = Identity.of(1);
|
|
155
|
+
* const b = Identity.of(1);
|
|
156
|
+
* a.concat(b); //=> 2
|
|
157
|
+
*
|
|
158
|
+
* const c = Identity.of('c');
|
|
159
|
+
* const d = Identity.of('d');
|
|
160
|
+
* c.concat(d); //=> 'cd'
|
|
161
|
+
*
|
|
162
|
+
* const e = Identity.of(['e']);
|
|
163
|
+
* const f = Identity.of(['f']);
|
|
164
|
+
* e.concat(f); //=> ['e', 'f']
|
|
165
|
+
*/
|
|
166
|
+
|
|
167
|
+
}, {
|
|
168
|
+
key: _fl$concat,
|
|
169
|
+
value: function value(semigroup) {
|
|
170
|
+
return _traits.semigroupTrait[fl.concat].call(this, semigroup);
|
|
171
|
+
}
|
|
172
|
+
}, {
|
|
173
|
+
key: "concat",
|
|
174
|
+
value: function concat(semigroup) {
|
|
175
|
+
return this[fl.concat](semigroup);
|
|
176
|
+
}
|
|
177
|
+
/**
|
|
178
|
+
* Fantasy land {@link https://github.com/fantasyland/fantasy-land#chain|Chain} specification.
|
|
179
|
+
*
|
|
180
|
+
* @sig chain :: Chain m => m a ~> (a -> m b) -> m b
|
|
181
|
+
* @param {Function} fn Function returning the value of the same {@link https://github.com/fantasyland/fantasy-land#semigroup|Chain}
|
|
182
|
+
* @return {RA.Identity}
|
|
183
|
+
* @example
|
|
184
|
+
*
|
|
185
|
+
* const a = Identity.of(1);
|
|
186
|
+
* const fn = val => Identity.of(val + 1);
|
|
187
|
+
*
|
|
188
|
+
* a.chain(fn).chain(fn); //=> Identity(3)
|
|
189
|
+
*/
|
|
190
|
+
|
|
191
|
+
}, {
|
|
192
|
+
key: _fl$chain,
|
|
193
|
+
value: function value(fn) {
|
|
194
|
+
return _traits.chainTrait[fl.chain].call(this, fn);
|
|
195
|
+
}
|
|
196
|
+
}, {
|
|
197
|
+
key: "chain",
|
|
198
|
+
value: function chain(fn) {
|
|
199
|
+
return this[fl.chain](fn);
|
|
200
|
+
}
|
|
201
|
+
/**
|
|
202
|
+
* Fantasy land {@link https://github.com/fantasyland/fantasy-land#ord|Ord} specification.
|
|
203
|
+
*
|
|
204
|
+
* @sig lte :: Ord a => a ~> a -> Boolean
|
|
205
|
+
* @param {RA.Identity} ord
|
|
206
|
+
* @return {boolean}
|
|
207
|
+
* @example
|
|
208
|
+
*
|
|
209
|
+
* const a = Identity.of(1);
|
|
210
|
+
* const b = Identity.of(1);
|
|
211
|
+
* const c = Identity.of(2);
|
|
212
|
+
*
|
|
213
|
+
* a.lte(b); //=> true
|
|
214
|
+
* a.lte(c); //=> true
|
|
215
|
+
* c.lte(a); //=> false
|
|
216
|
+
*/
|
|
217
|
+
|
|
218
|
+
}, {
|
|
219
|
+
key: _fl$lte,
|
|
220
|
+
value: function value(ord) {
|
|
221
|
+
return _traits.ordTrait[fl.lte].call(this, ord);
|
|
222
|
+
}
|
|
223
|
+
}, {
|
|
224
|
+
key: "lte",
|
|
225
|
+
value: function lte(ord) {
|
|
226
|
+
return this[fl.lte](ord);
|
|
227
|
+
}
|
|
228
|
+
/**
|
|
229
|
+
* Fantasy land {@link https://github.com/fantasyland/fantasy-land#monoid|Monoid*} specification.
|
|
230
|
+
* Partial implementation of Monoid specification. `empty` method on instance only, returning
|
|
231
|
+
* identity value of the wrapped type. Using `R.empty` under the hood.
|
|
232
|
+
*
|
|
233
|
+
*
|
|
234
|
+
* @sig empty :: Monoid m => () -> m
|
|
235
|
+
* @return {RA.Identity}
|
|
236
|
+
* @example
|
|
237
|
+
*
|
|
238
|
+
* const a = Identity.of('test');
|
|
239
|
+
* const i = a.empty();
|
|
240
|
+
*
|
|
241
|
+
* a.concat(i); //=> Identity('string');
|
|
242
|
+
* i.concat(a); //=> Identity('string');
|
|
243
|
+
*/
|
|
244
|
+
|
|
245
|
+
}, {
|
|
246
|
+
key: _fl$empty,
|
|
247
|
+
value: function value() {
|
|
248
|
+
return this.constructor.of((0, _ramda.empty)(this.value));
|
|
249
|
+
}
|
|
250
|
+
}, {
|
|
251
|
+
key: "empty",
|
|
252
|
+
value: function empty() {
|
|
253
|
+
return this[fl.empty]();
|
|
254
|
+
}
|
|
255
|
+
/**
|
|
256
|
+
* Fantasy land {@link https://github.com/fantasyland/fantasy-land#contravariant|Contravariant} specification.
|
|
257
|
+
*
|
|
258
|
+
* @sig contramap :: Contravariant f => f a ~> (b -> a) -> f b
|
|
259
|
+
* @param {Function} fn
|
|
260
|
+
* @return {RA.Identity}
|
|
261
|
+
* @example
|
|
262
|
+
*
|
|
263
|
+
* const identity = a => a;
|
|
264
|
+
* const add1 = a => a + 1;
|
|
265
|
+
* const divide2 = a => a / 2;
|
|
266
|
+
*
|
|
267
|
+
* Identity.of(divide2).contramap(add1).get()(3); //=> 2
|
|
268
|
+
* Identity.of(identity).contramap(divide2).contramap(add1).get()(3); //=> 2
|
|
269
|
+
* Identity.of(identity).contramap(a => divide2(add1(a))).get()(3); //=> 2
|
|
270
|
+
*/
|
|
271
|
+
|
|
272
|
+
}, {
|
|
273
|
+
key: _fl$contramap,
|
|
274
|
+
value: function value(fn) {
|
|
275
|
+
var _this = this;
|
|
276
|
+
|
|
277
|
+
return this.constructor.of(function (value) {
|
|
278
|
+
return _this.value(fn(value));
|
|
279
|
+
});
|
|
280
|
+
}
|
|
281
|
+
}, {
|
|
282
|
+
key: "contramap",
|
|
283
|
+
value: function contramap(fn) {
|
|
284
|
+
return this[fl.contramap](fn);
|
|
285
|
+
}
|
|
286
|
+
}], [{
|
|
287
|
+
key: _fl$of,
|
|
288
|
+
value:
|
|
289
|
+
/**
|
|
290
|
+
* Fantasy land {@link https://github.com/fantasyland/fantasy-land#applicative|Applicative} specification.
|
|
291
|
+
*
|
|
292
|
+
* @static
|
|
293
|
+
* @sig of :: Applicative f => a -> f a
|
|
294
|
+
* @param {*} value
|
|
295
|
+
* @returns {RA.Identity}
|
|
296
|
+
* @example
|
|
297
|
+
*
|
|
298
|
+
* const a = Identity.of(1); //=> Identity(1)
|
|
299
|
+
*/
|
|
300
|
+
function value(_value) {
|
|
301
|
+
return new Identity(_value);
|
|
302
|
+
}
|
|
303
|
+
}, {
|
|
304
|
+
key: "of",
|
|
305
|
+
value: function of(value) {
|
|
306
|
+
return new Identity(value);
|
|
307
|
+
}
|
|
308
|
+
/**
|
|
309
|
+
* @static
|
|
310
|
+
*/
|
|
311
|
+
|
|
312
|
+
}, {
|
|
313
|
+
key: '@@type',
|
|
314
|
+
get: function get() {
|
|
315
|
+
return 'RA/Identity';
|
|
316
|
+
}
|
|
317
|
+
}]);
|
|
318
|
+
|
|
319
|
+
return Identity;
|
|
320
|
+
}(fl.of, fl.ap, fl.map, fl.equals, fl.concat, fl.chain, fl.lte, fl.empty, fl.contramap);
|
|
321
|
+
|
|
322
|
+
var _default = Identity;
|
|
323
|
+
exports["default"] = _default;
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
exports.promap = exports.bimap = exports.extract = exports.extend = exports.chainRec = exports.chain = exports.traverse = exports.reduce = exports.zero = exports.alt = exports.of = exports.ap = exports.contramap = exports.map = exports.empty = exports.concat = exports.id = exports.compose = exports.lte = exports.equals = void 0;
|
|
5
|
+
var equals = 'fantasy-land/equals';
|
|
6
|
+
exports.equals = equals;
|
|
7
|
+
var lte = 'fantasy-land/lte';
|
|
8
|
+
exports.lte = lte;
|
|
9
|
+
var compose = 'fantasy-land/compose';
|
|
10
|
+
exports.compose = compose;
|
|
11
|
+
var id = 'fantasy-land/id';
|
|
12
|
+
exports.id = id;
|
|
13
|
+
var concat = 'fantasy-land/concat';
|
|
14
|
+
exports.concat = concat;
|
|
15
|
+
var empty = 'fantasy-land/empty';
|
|
16
|
+
exports.empty = empty;
|
|
17
|
+
var map = 'fantasy-land/map';
|
|
18
|
+
exports.map = map;
|
|
19
|
+
var contramap = 'fantasy-land/contramap';
|
|
20
|
+
exports.contramap = contramap;
|
|
21
|
+
var ap = 'fantasy-land/ap';
|
|
22
|
+
exports.ap = ap;
|
|
23
|
+
var of = 'fantasy-land/of';
|
|
24
|
+
exports.of = of;
|
|
25
|
+
var alt = 'fantasy-land/alt';
|
|
26
|
+
exports.alt = alt;
|
|
27
|
+
var zero = 'fantasy-land/zero';
|
|
28
|
+
exports.zero = zero;
|
|
29
|
+
var reduce = 'fantasy-land/reduce';
|
|
30
|
+
exports.reduce = reduce;
|
|
31
|
+
var traverse = 'fantasy-land/traverse';
|
|
32
|
+
exports.traverse = traverse;
|
|
33
|
+
var chain = 'fantasy-land/chain';
|
|
34
|
+
exports.chain = chain;
|
|
35
|
+
var chainRec = 'fantasy-land/chainRec';
|
|
36
|
+
exports.chainRec = chainRec;
|
|
37
|
+
var extend = 'fantasy-land/extend';
|
|
38
|
+
exports.extend = extend;
|
|
39
|
+
var extract = 'fantasy-land/extract';
|
|
40
|
+
exports.extract = extract;
|
|
41
|
+
var bimap = 'fantasy-land/bimap';
|
|
42
|
+
exports.bimap = bimap;
|
|
43
|
+
var promap = 'fantasy-land/promap';
|
|
44
|
+
exports.promap = promap;
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
|
|
4
|
+
|
|
5
|
+
exports.__esModule = true;
|
|
6
|
+
exports.ordTrait = exports.chainTrait = exports.semigroupTrait = exports.setoidTrait = exports.applyTrait = exports.functorTrait = void 0;
|
|
7
|
+
|
|
8
|
+
var _ramda = require("ramda");
|
|
9
|
+
|
|
10
|
+
var _isString = _interopRequireDefault(require("../isString"));
|
|
11
|
+
|
|
12
|
+
var _isNumber = _interopRequireDefault(require("../isNumber"));
|
|
13
|
+
|
|
14
|
+
var _isFunction = _interopRequireDefault(require("../isFunction"));
|
|
15
|
+
|
|
16
|
+
var _util = require("./util");
|
|
17
|
+
|
|
18
|
+
var fl = _interopRequireWildcard(require("./mapping"));
|
|
19
|
+
|
|
20
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
21
|
+
|
|
22
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
23
|
+
|
|
24
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
25
|
+
|
|
26
|
+
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
27
|
+
|
|
28
|
+
var functorTrait = _defineProperty({}, fl.map, function (fn) {
|
|
29
|
+
return this.constructor[fl.of](fn(this.value));
|
|
30
|
+
});
|
|
31
|
+
|
|
32
|
+
exports.functorTrait = functorTrait;
|
|
33
|
+
|
|
34
|
+
var applyTrait = _defineProperty({}, fl.ap, function (applyWithFn) {
|
|
35
|
+
var _this = this;
|
|
36
|
+
|
|
37
|
+
return applyWithFn.map(function (fn) {
|
|
38
|
+
return fn(_this.value);
|
|
39
|
+
});
|
|
40
|
+
});
|
|
41
|
+
|
|
42
|
+
exports.applyTrait = applyTrait;
|
|
43
|
+
|
|
44
|
+
var setoidTrait = _defineProperty({}, fl.equals, function (setoid) {
|
|
45
|
+
return (0, _util.isSameType)(this, setoid) && (0, _ramda.equals)(this.value, setoid.value);
|
|
46
|
+
});
|
|
47
|
+
|
|
48
|
+
exports.setoidTrait = setoidTrait;
|
|
49
|
+
|
|
50
|
+
var semigroupTrait = _defineProperty({}, fl.concat, function (semigroup) {
|
|
51
|
+
var concatenatedValue = this.value;
|
|
52
|
+
|
|
53
|
+
if ((0, _isString["default"])(this.value) || (0, _isNumber["default"])(this.value)) {
|
|
54
|
+
concatenatedValue = this.value + semigroup.value;
|
|
55
|
+
} else if ((0, _ramda.pathSatisfies)(_isFunction["default"], ['value', fl.concat], this)) {
|
|
56
|
+
concatenatedValue = this.value[fl.concat](semigroup.value);
|
|
57
|
+
} else if ((0, _ramda.pathSatisfies)(_isFunction["default"], ['value', 'concat'], this)) {
|
|
58
|
+
concatenatedValue = this.value.concat(semigroup.value);
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
return this.constructor[fl.of](concatenatedValue);
|
|
62
|
+
});
|
|
63
|
+
|
|
64
|
+
exports.semigroupTrait = semigroupTrait;
|
|
65
|
+
|
|
66
|
+
var chainTrait = _defineProperty({}, fl.chain, function (fn) {
|
|
67
|
+
var newChain = fn(this.value);
|
|
68
|
+
return (0, _util.isSameType)(this, newChain) ? newChain : this;
|
|
69
|
+
});
|
|
70
|
+
|
|
71
|
+
exports.chainTrait = chainTrait;
|
|
72
|
+
|
|
73
|
+
var ordTrait = _defineProperty({}, fl.lte, function (ord) {
|
|
74
|
+
return (0, _util.isSameType)(this, ord) && (this.value < ord.value || this[fl.equals](ord));
|
|
75
|
+
});
|
|
76
|
+
|
|
77
|
+
exports.ordTrait = ordTrait;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
exports.isNotSameType = exports.isSameType = exports.typeEquals = exports.type = void 0;
|
|
5
|
+
|
|
6
|
+
var _ramda = require("ramda");
|
|
7
|
+
|
|
8
|
+
// type :: Monad a => a -> String
|
|
9
|
+
var type = (0, _ramda.either)((0, _ramda.path)(['@@type']), (0, _ramda.path)(['constructor', '@@type'])); // typeEquals :: Monad a => String -> a -> Boolean
|
|
10
|
+
|
|
11
|
+
exports.type = type;
|
|
12
|
+
var typeEquals = (0, _ramda.curry)(function (typeIdent, monad) {
|
|
13
|
+
return type(monad) === typeIdent;
|
|
14
|
+
}); // isSameType :: (Monad a, Monad b) => a -> b -> Boolean
|
|
15
|
+
|
|
16
|
+
exports.typeEquals = typeEquals;
|
|
17
|
+
var isSameType = (0, _ramda.curryN)(2, (0, _ramda.useWith)(_ramda.equals, [type, type])); // isNotSameType :: (Monad a, Monad b) => a -> b -> Boolean
|
|
18
|
+
|
|
19
|
+
exports.isSameType = isSameType;
|
|
20
|
+
var isNotSameType = (0, _ramda.complement)(isSameType);
|
|
21
|
+
exports.isNotSameType = isNotSameType;
|
|
@@ -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
|
+
* {@link http://ramdajs.com/docs/#filter|R.filter} function that more closely resembles `Array.prototype.filter`.
|
|
10
|
+
* It takes two new parameters to its callback function: the current index, and the entire list.
|
|
11
|
+
*
|
|
12
|
+
* `filterIndexed` implementation is simple: `
|
|
13
|
+
* const filterIndexed = R.addIndex(R.filter);
|
|
14
|
+
* `
|
|
15
|
+
*
|
|
16
|
+
* @func filterIndexed
|
|
17
|
+
* @memberOf RA
|
|
18
|
+
* @since {@link https://char0n.github.io/ramda-adjunct/2.31.0|v2.31.0}
|
|
19
|
+
* @category List
|
|
20
|
+
* @typedef Idx = Number
|
|
21
|
+
* @sig Filterable f => ((a, Idx, f a) -> Boolean) -> f a -> f a
|
|
22
|
+
* @param {Function} pred The predicate function
|
|
23
|
+
* @param {Array} list The collection to filter
|
|
24
|
+
* @return {Array} Filterable
|
|
25
|
+
* @see {@link http://ramdajs.com/docs/#addIndex|R.addIndex}, {@link http://ramdajs.com/docs/#filter|R.filter}
|
|
26
|
+
* @example
|
|
27
|
+
*
|
|
28
|
+
* const isValueGtIndex = (val, idx) => val > idx;
|
|
29
|
+
* RA.filterIndexed(isValueGtIndex, [5, 4, 3, 2, 1, 0]); //=> [5, 4, 3]
|
|
30
|
+
*/
|
|
31
|
+
var filterIndexed = (0, _ramda.addIndex)(_ramda.filter);
|
|
32
|
+
var _default = filterIndexed;
|
|
33
|
+
exports["default"] = _default;
|
package/lib/findOr.js
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
exports["default"] = void 0;
|
|
5
|
+
|
|
6
|
+
var _ramda = require("ramda");
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Returns the first element of the list which matches the predicate.
|
|
10
|
+
* Returns default value if no element matches or matched element is `null`, `undefined` or `NaN`.
|
|
11
|
+
* Dispatches to the find method of the second argument, if present.
|
|
12
|
+
* Acts as a transducer if a transformer is given in list position.
|
|
13
|
+
*
|
|
14
|
+
* @func findOr
|
|
15
|
+
* @memberOf RA
|
|
16
|
+
* @since {@link https://char0n.github.io/ramda-adjunct/2.32.0|v2.32.0}
|
|
17
|
+
* @category List
|
|
18
|
+
* @sig a -> (b -> Boolean) -> [b] -> b | a
|
|
19
|
+
* @param {*} defaultValue The default value
|
|
20
|
+
* @param {Function} fn The predicate function used to determine if the element is the desired one.
|
|
21
|
+
* @param {Array} list The array to consider.
|
|
22
|
+
* @return {*} The element found, or the default value.
|
|
23
|
+
* @see {@link http://ramdajs.com/docs/#defaultTo|R.defaultTo}, {@link http://ramdajs.com/docs/#find|R.find}
|
|
24
|
+
* @example
|
|
25
|
+
*
|
|
26
|
+
* RA.findOr(1, isUndefined, [1, 2, undefined]); // => 1
|
|
27
|
+
* RA.findOr(1, val => val === 2, [1, 2, undefined]); // => 2
|
|
28
|
+
* RA.findOr(1, val => val === 3, [1, 2, undefined]); // => 1
|
|
29
|
+
*/
|
|
30
|
+
var findOr = (0, _ramda.curry)(function (defaultVal, fn, list) {
|
|
31
|
+
return (0, _ramda.pipe)((0, _ramda.find)(fn), (0, _ramda.defaultTo)(defaultVal))(list);
|
|
32
|
+
});
|
|
33
|
+
var _default = findOr;
|
|
34
|
+
exports["default"] = _default;
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
exports["default"] = void 0;
|
|
5
|
+
|
|
6
|
+
var _ramda = require("ramda");
|
|
7
|
+
|
|
8
|
+
var _makeFlat2 = _interopRequireDefault(require("./internal/makeFlat"));
|
|
9
|
+
|
|
10
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
11
|
+
|
|
12
|
+
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
|
13
|
+
|
|
14
|
+
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
15
|
+
|
|
16
|
+
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); }
|
|
17
|
+
|
|
18
|
+
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
|
|
19
|
+
|
|
20
|
+
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
|
|
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
|
+
var flatten1 = (0, _makeFlat2["default"])(false);
|
|
25
|
+
/**
|
|
26
|
+
* Flattens the list to the specified depth.
|
|
27
|
+
*
|
|
28
|
+
* @func flattenDepth
|
|
29
|
+
* @memberOf RA
|
|
30
|
+
* @since {@link https://char0n.github.io/ramda-adjunct/2.19.0|v2.19.0}
|
|
31
|
+
* @category List
|
|
32
|
+
* @sig Number -> [a] -> [b]
|
|
33
|
+
* @param {!number} depth The maximum recursion depth
|
|
34
|
+
* @param {!Array} list The array to flatten
|
|
35
|
+
* @return {!Array} Returns the new flattened array
|
|
36
|
+
* @see {@link http://ramdajs.com/docs/#flatten|R.flatten}, {@link http://ramdajs.com/docs/#unnest|R.unnest}
|
|
37
|
+
* @example
|
|
38
|
+
*
|
|
39
|
+
* RA.flattenDepth(
|
|
40
|
+
* 2,
|
|
41
|
+
* [1, [2], [3, [4, 5], 6, [[[7], 8]]], 9, 10]
|
|
42
|
+
* ); //=> [1, 2, 3, 4, 5, 6, [[7], 8], 9, 10];
|
|
43
|
+
*/
|
|
44
|
+
|
|
45
|
+
var flattenDepth = (0, _ramda.curry)(function (depth, list) {
|
|
46
|
+
var currentDept = depth;
|
|
47
|
+
|
|
48
|
+
var flatList = _toConsumableArray(list);
|
|
49
|
+
|
|
50
|
+
while (currentDept > 0) {
|
|
51
|
+
flatList = flatten1(flatList);
|
|
52
|
+
currentDept -= 1;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
return flatList;
|
|
56
|
+
});
|
|
57
|
+
var _default = flattenDepth;
|
|
58
|
+
exports["default"] = _default;
|
|
@@ -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
|
+
* Flattens a property path so that its fields are spread out into the provided object.
|
|
10
|
+
* It's like {@link RA.spreadPath|spreadPath}, but preserves object under the property path.
|
|
11
|
+
*
|
|
12
|
+
* @func flattenPath
|
|
13
|
+
* @memberOf RA
|
|
14
|
+
* @since {@link https://char0n.github.io/ramda-adjunct/1.19.0|v1.19.0}
|
|
15
|
+
* @category Object
|
|
16
|
+
* @typedef Idx = String | Int
|
|
17
|
+
* @sig [Idx] -> {k: v} -> {k: v}
|
|
18
|
+
* @param {!Array.<string|number>} path The property path to flatten
|
|
19
|
+
* @param {!Object} obj The provided object
|
|
20
|
+
* @return {!Object} The flattened object
|
|
21
|
+
* @see {@link RA.flattenProp|flattenProp}, {@link RA.spreadPath|spreadPath}
|
|
22
|
+
* @example
|
|
23
|
+
*
|
|
24
|
+
* RA.flattenPath(
|
|
25
|
+
* ['b1', 'b2'],
|
|
26
|
+
* { a: 1, b1: { b2: { c: 3, d: 4 } } }
|
|
27
|
+
* ); // => { a: 1, c: 3, d: 4, b1: { b2: { c: 3, d: 4 } } };
|
|
28
|
+
*/
|
|
29
|
+
var flattenPath = (0, _ramda.curry)(function (path, obj) {
|
|
30
|
+
return (0, _ramda.merge)(obj, (0, _ramda.pathOr)({}, path, obj));
|
|
31
|
+
});
|
|
32
|
+
var _default = flattenPath;
|
|
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
|
+
var _flattenPath = _interopRequireDefault(require("./flattenPath"));
|
|
9
|
+
|
|
10
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* Flattens a property so that its fields are spread out into the provided object.
|
|
14
|
+
* It's like {@link RA.spreadProp|spreadProp}, but preserves object under the property path.
|
|
15
|
+
*
|
|
16
|
+
* @func flattenProp
|
|
17
|
+
* @memberOf RA
|
|
18
|
+
* @since {@link https://char0n.github.io/ramda-adjunct/1.19.0|v1.19.0}
|
|
19
|
+
* @category Object
|
|
20
|
+
* @typedef Idx = String | Int
|
|
21
|
+
* @sig [Idx] -> {k: v} -> {k: v}
|
|
22
|
+
* @param {!string|number} prop The property to flatten
|
|
23
|
+
* @param {!Object} obj The provided object
|
|
24
|
+
* @return {!Object} The flattened object
|
|
25
|
+
* @see {@link RA.flattenPath|flattenPath}, {@link RA.spreadProp|spreadProp}
|
|
26
|
+
* @example
|
|
27
|
+
*
|
|
28
|
+
* RA.flattenProp(
|
|
29
|
+
* 'b',
|
|
30
|
+
* { a: 1, b: { c: 3, d: 4 } }
|
|
31
|
+
* ); // => { a: 1, c: 3, d: 4, b: { c: 3, d: 4 } };
|
|
32
|
+
*/
|
|
33
|
+
var flattenProp = (0, _ramda.curry)(function (prop, obj) {
|
|
34
|
+
return (0, _flattenPath["default"])((0, _ramda.of)(prop), obj);
|
|
35
|
+
});
|
|
36
|
+
var _default = flattenProp;
|
|
37
|
+
exports["default"] = _default;
|