rambda 9.4.2 → 10.0.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +177 -1
- package/README.md +6799 -11799
- package/dist/rambda.cjs +1795 -0
- package/dist/rambda.js +1162 -2234
- package/dist/rambda.umd.js +1801 -1
- package/immutable.d.ts +1154 -1403
- package/index.d.ts +1154 -1403
- package/package.json +102 -94
- package/rambda.js +24 -137
- package/src/_internals/baseSlice.js +5 -7
- package/src/_internals/createPath.js +4 -6
- package/src/_internals/includes.js +8 -4
- package/src/_internals/set.js +11 -11
- package/src/addProp.js +3 -0
- package/src/all.js +8 -6
- package/src/allPass.js +4 -4
- package/src/any.js +10 -10
- package/src/anyPass.js +4 -4
- package/src/append.js +6 -8
- package/src/ascend.js +8 -15
- package/src/checkObjectWithSpec.js +16 -0
- package/src/compact.js +12 -0
- package/src/complement.js +1 -1
- package/src/concat.js +2 -4
- package/src/count.js +7 -6
- package/src/countBy.js +13 -14
- package/src/createObjectFromKeys.js +10 -0
- package/src/defaultTo.js +4 -6
- package/src/descend.js +6 -13
- package/src/drop.js +4 -2
- package/src/dropLast.js +2 -8
- package/src/dropLastWhile.js +17 -26
- package/src/dropWhile.js +14 -22
- package/src/eqBy.js +3 -8
- package/src/eqProps.js +3 -9
- package/src/equals.js +99 -58
- package/src/evolve.js +3 -57
- package/src/excludes.js +5 -0
- package/src/filter.js +13 -43
- package/src/filterObject.js +13 -0
- package/src/find.js +10 -10
- package/src/findIndex.js +10 -10
- package/src/findLast.js +9 -9
- package/src/findLastIndex.js +9 -9
- package/src/findNth.js +16 -0
- package/src/flatMap.js +3 -0
- package/src/flatten.js +5 -5
- package/src/groupBy.js +14 -11
- package/src/head.js +5 -3
- package/src/includes.js +13 -11
- package/src/indexOf.js +2 -6
- package/src/init.js +6 -8
- package/src/innerJoin.js +11 -19
- package/src/interpolate.js +29 -0
- package/src/intersection.js +2 -4
- package/src/intersperse.js +13 -13
- package/src/join.js +2 -4
- package/src/last.js +4 -4
- package/src/lastIndexOf.js +2 -6
- package/src/map.js +9 -49
- package/src/mapAsync.js +11 -0
- package/src/mapKeys.js +11 -0
- package/src/mapObject.js +18 -0
- package/src/mapObjectAsync.js +10 -0
- package/src/mapParallelAsync.js +3 -0
- package/src/match.js +5 -5
- package/src/maxBy.js +2 -8
- package/src/merge.js +4 -1
- package/src/mergeTypes.js +3 -0
- package/src/minBy.js +2 -8
- package/src/modifyProp.js +20 -0
- package/src/none.js +8 -6
- package/src/objOf.js +2 -6
- package/src/objectIncludes.js +12 -0
- package/src/omit.js +26 -11
- package/src/partition.js +15 -42
- package/src/partitionObject.js +15 -0
- package/src/path.js +14 -15
- package/src/permutations.js +40 -0
- package/src/pick.js +15 -15
- package/src/pipe.js +70 -13
- package/src/pipeAsync.js +11 -0
- package/src/pluck.js +12 -14
- package/src/prepend.js +2 -6
- package/src/prop.js +2 -10
- package/src/propEq.js +8 -10
- package/src/propOr.js +7 -8
- package/src/propSatisfies.js +2 -9
- package/src/range.js +34 -11
- package/src/reduce.js +15 -30
- package/src/reject.js +2 -4
- package/src/rejectObject.js +13 -0
- package/src/replace.js +2 -8
- package/src/replaceItemAtIndex.js +15 -0
- package/src/shuffle.js +13 -0
- package/src/sort.js +2 -4
- package/src/sortBy.js +12 -10
- package/src/sortObject.js +15 -0
- package/src/sortWith.js +12 -16
- package/src/split.js +2 -4
- package/src/splitEvery.js +11 -13
- package/src/symmetricDifference.js +5 -8
- package/src/tail.js +2 -2
- package/src/take.js +11 -9
- package/src/takeLast.js +14 -14
- package/src/takeLastWhile.js +15 -16
- package/src/takeWhile.js +12 -21
- package/src/tap.js +5 -5
- package/src/test.js +2 -8
- package/src/tryCatch.js +5 -14
- package/src/type.js +6 -5
- package/src/union.js +10 -8
- package/src/uniq.js +2 -2
- package/src/uniqBy.js +5 -6
- package/src/uniqWith.js +15 -19
- package/src/unless.js +7 -9
- package/src/unwind.js +6 -14
- package/src/update.js +8 -11
- package/src/when.js +7 -9
- package/src/zip.js +8 -8
- package/src/zipWith.js +5 -7
- package/src/F.js +0 -3
- package/src/T.js +0 -3
- package/src/_internals/_arity.js +0 -64
- package/src/_internals/compare.js +0 -3
- package/src/_internals/constants.js +0 -1
- package/src/_internals/createPathInput.js +0 -7
- package/src/_internals/isFalsy.js +0 -13
- package/src/_internals/isInteger.js +0 -10
- package/src/_internals/isIterable.js +0 -5
- package/src/_internals/isObject.js +0 -5
- package/src/_internals/isTruthy.js +0 -13
- package/src/_internals/objectIs.js +0 -9
- package/src/_internals/utils.js +0 -21
- package/src/add.js +0 -5
- package/src/addIndex.js +0 -23
- package/src/addIndexRight.js +0 -9
- package/src/adjust.js +0 -16
- package/src/always.js +0 -3
- package/src/and.js +0 -5
- package/src/ap.js +0 -7
- package/src/aperture.js +0 -15
- package/src/apply.js +0 -7
- package/src/applySpec.js +0 -132
- package/src/applyTo.js +0 -7
- package/src/assoc.js +0 -11
- package/src/assocPath.js +0 -46
- package/src/binary.js +0 -5
- package/src/bind.js +0 -9
- package/src/both.js +0 -5
- package/src/call.js +0 -1
- package/src/chain.js +0 -7
- package/src/clamp.js +0 -15
- package/src/clone.js +0 -18
- package/src/collectBy.js +0 -27
- package/src/comparator.js +0 -5
- package/src/compose.js +0 -9
- package/src/composeWith.js +0 -33
- package/src/cond.js +0 -14
- package/src/converge.js +0 -18
- package/src/curry.js +0 -7
- package/src/curryN.js +0 -40
- package/src/dec.js +0 -1
- package/src/difference.js +0 -8
- package/src/differenceWith.js +0 -20
- package/src/dissoc.js +0 -13
- package/src/dissocPath.js +0 -47
- package/src/divide.js +0 -5
- package/src/dropRepeats.js +0 -20
- package/src/dropRepeatsBy.js +0 -21
- package/src/dropRepeatsWith.js +0 -28
- package/src/either.js +0 -8
- package/src/empty.js +0 -15
- package/src/endsWith.js +0 -23
- package/src/flip.js +0 -23
- package/src/forEach.js +0 -19
- package/src/forEachObjIndexed.js +0 -24
- package/src/fromPairs.js +0 -6
- package/src/groupWith.js +0 -46
- package/src/gt.js +0 -6
- package/src/gte.js +0 -6
- package/src/has.js +0 -7
- package/src/hasIn.js +0 -9
- package/src/hasPath.js +0 -9
- package/src/identical.js +0 -7
- package/src/identity.js +0 -3
- package/src/ifElse.js +0 -17
- package/src/inc.js +0 -1
- package/src/indexBy.js +0 -29
- package/src/insert.js +0 -11
- package/src/insertAll.js +0 -7
- package/src/is.js +0 -8
- package/src/isEmpty.js +0 -18
- package/src/isNil.js +0 -3
- package/src/isNotEmpty.js +0 -5
- package/src/isNotNil.js +0 -3
- package/src/isPromise.js +0 -5
- package/src/juxt.js +0 -3
- package/src/keys.js +0 -3
- package/src/length.js +0 -8
- package/src/lens.js +0 -7
- package/src/lensIndex.js +0 -7
- package/src/lensPath.js +0 -7
- package/src/lensProp.js +0 -7
- package/src/lt.js +0 -6
- package/src/lte.js +0 -6
- package/src/mathMod.js +0 -8
- package/src/max.js +0 -5
- package/src/maybe.js +0 -13
- package/src/mean.js +0 -5
- package/src/median.js +0 -17
- package/src/mergeAll.js +0 -11
- package/src/mergeDeepLeft.js +0 -5
- package/src/mergeDeepRight.js +0 -24
- package/src/mergeLeft.js +0 -7
- package/src/mergeRight.js +0 -8
- package/src/mergeWith.js +0 -25
- package/src/min.js +0 -5
- package/src/modify.js +0 -23
- package/src/modifyPath.js +0 -33
- package/src/modulo.js +0 -5
- package/src/move.js +0 -19
- package/src/multiply.js +0 -5
- package/src/negate.js +0 -3
- package/src/not.js +0 -3
- package/src/nth.js +0 -9
- package/src/of.js +0 -3
- package/src/on.js +0 -16
- package/src/once.js +0 -24
- package/src/or.js +0 -5
- package/src/over.js +0 -14
- package/src/partial.js +0 -17
- package/src/partialObject.js +0 -5
- package/src/pathEq.js +0 -11
- package/src/pathOr.js +0 -11
- package/src/pathSatisfies.js +0 -9
- package/src/paths.js +0 -9
- package/src/pickAll.js +0 -23
- package/src/pickBy.js +0 -11
- package/src/product.js +0 -4
- package/src/propIs.js +0 -10
- package/src/props.js +0 -13
- package/src/reduceBy.js +0 -29
- package/src/removeIndex.js +0 -7
- package/src/repeat.js +0 -7
- package/src/reverse.js +0 -9
- package/src/set.js +0 -9
- package/src/slice.js +0 -9
- package/src/splitAt.js +0 -21
- package/src/splitWhen.js +0 -25
- package/src/startsWith.js +0 -23
- package/src/subtract.js +0 -5
- package/src/sum.js +0 -3
- package/src/swap.js +0 -42
- package/src/times.js +0 -12
- package/src/toLower.js +0 -3
- package/src/toPairs.js +0 -3
- package/src/toString.js +0 -3
- package/src/toUpper.js +0 -3
- package/src/transpose.js +0 -10
- package/src/trim.js +0 -3
- package/src/unapply.js +0 -5
- package/src/unnest.js +0 -9
- package/src/values.js +0 -6
- package/src/view.js +0 -10
- package/src/where.js +0 -15
- package/src/whereAny.js +0 -12
- package/src/whereEq.js +0 -14
- package/src/without.js +0 -15
- package/src/xor.js +0 -5
- package/src/zipObj.js +0 -13
package/src/keys.js
DELETED
package/src/length.js
DELETED
package/src/lens.js
DELETED
package/src/lensIndex.js
DELETED
package/src/lensPath.js
DELETED
package/src/lensProp.js
DELETED
package/src/lt.js
DELETED
package/src/lte.js
DELETED
package/src/mathMod.js
DELETED
package/src/max.js
DELETED
package/src/maybe.js
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { type } from './type.js'
|
|
2
|
-
|
|
3
|
-
export function maybe(
|
|
4
|
-
ifRule, whenIf, whenElse
|
|
5
|
-
){
|
|
6
|
-
const whenIfInput =
|
|
7
|
-
ifRule && type(whenIf) === 'Function' ? whenIf() : whenIf
|
|
8
|
-
|
|
9
|
-
const whenElseInput =
|
|
10
|
-
!ifRule && type(whenElse) === 'Function' ? whenElse() : whenElse
|
|
11
|
-
|
|
12
|
-
return ifRule ? whenIfInput : whenElseInput
|
|
13
|
-
}
|
package/src/mean.js
DELETED
package/src/median.js
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { mean } from './mean.js'
|
|
2
|
-
|
|
3
|
-
export function median(list){
|
|
4
|
-
const len = list.length
|
|
5
|
-
if (len === 0) return NaN
|
|
6
|
-
const width = 2 - len % 2
|
|
7
|
-
const idx = (len - width) / 2
|
|
8
|
-
|
|
9
|
-
return mean(Array.prototype.slice
|
|
10
|
-
.call(list, 0)
|
|
11
|
-
.sort((a, b) => {
|
|
12
|
-
if (a === b) return 0
|
|
13
|
-
|
|
14
|
-
return a < b ? -1 : 1
|
|
15
|
-
})
|
|
16
|
-
.slice(idx, idx + width))
|
|
17
|
-
}
|
package/src/mergeAll.js
DELETED
package/src/mergeDeepLeft.js
DELETED
package/src/mergeDeepRight.js
DELETED
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { clone } from './clone.js'
|
|
2
|
-
import { type } from './type.js'
|
|
3
|
-
|
|
4
|
-
export function mergeDeepRight(target, source){
|
|
5
|
-
if (arguments.length === 1){
|
|
6
|
-
return sourceHolder => mergeDeepRight(target, sourceHolder)
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
const willReturn = clone(target)
|
|
10
|
-
|
|
11
|
-
Object.keys(source).forEach(key => {
|
|
12
|
-
if (type(source[ key ]) === 'Object'){
|
|
13
|
-
if (type(target[ key ]) === 'Object'){
|
|
14
|
-
willReturn[ key ] = mergeDeepRight(target[ key ], source[ key ])
|
|
15
|
-
} else {
|
|
16
|
-
willReturn[ key ] = source[ key ]
|
|
17
|
-
}
|
|
18
|
-
} else {
|
|
19
|
-
willReturn[ key ] = source[ key ]
|
|
20
|
-
}
|
|
21
|
-
})
|
|
22
|
-
|
|
23
|
-
return willReturn
|
|
24
|
-
}
|
package/src/mergeLeft.js
DELETED
package/src/mergeRight.js
DELETED
package/src/mergeWith.js
DELETED
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import { curry } from './curry.js'
|
|
2
|
-
|
|
3
|
-
export function mergeWithFn(
|
|
4
|
-
mergeFn, aInput, bInput
|
|
5
|
-
){
|
|
6
|
-
const a = aInput ?? {}
|
|
7
|
-
const b = bInput ?? {}
|
|
8
|
-
const willReturn = {}
|
|
9
|
-
|
|
10
|
-
Object.keys(a).forEach(key => {
|
|
11
|
-
if (b[ key ] === undefined) willReturn[ key ] = a[ key ]
|
|
12
|
-
else willReturn[ key ] = mergeFn(a[ key ], b[ key ])
|
|
13
|
-
})
|
|
14
|
-
|
|
15
|
-
Object.keys(b).forEach(key => {
|
|
16
|
-
if (willReturn[ key ] !== undefined) return
|
|
17
|
-
|
|
18
|
-
if (a[ key ] === undefined) willReturn[ key ] = b[ key ]
|
|
19
|
-
else willReturn[ key ] = mergeFn(a[ key ], b[ key ])
|
|
20
|
-
})
|
|
21
|
-
|
|
22
|
-
return willReturn
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
export const mergeWith = curry(mergeWithFn)
|
package/src/min.js
DELETED
package/src/modify.js
DELETED
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { isArray } from './_internals/isArray.js'
|
|
2
|
-
import { isIterable } from './_internals/isIterable.js'
|
|
3
|
-
import { curry } from './curry.js'
|
|
4
|
-
import { updateFn } from './update.js'
|
|
5
|
-
|
|
6
|
-
function modifyFn(
|
|
7
|
-
property, fn, iterable
|
|
8
|
-
){
|
|
9
|
-
if (!isIterable(iterable)) return iterable
|
|
10
|
-
if (iterable[ property ] === undefined) return iterable
|
|
11
|
-
if (isArray(iterable)){
|
|
12
|
-
return updateFn(
|
|
13
|
-
property, fn(iterable[ property ]), iterable
|
|
14
|
-
)
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
return {
|
|
18
|
-
...iterable,
|
|
19
|
-
[ property ] : fn(iterable[ property ]),
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
export const modify = curry(modifyFn)
|
package/src/modifyPath.js
DELETED
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import { createPath } from './_internals/createPath.js'
|
|
2
|
-
import { isArray } from './_internals/isArray.js'
|
|
3
|
-
import { assoc } from './assoc.js'
|
|
4
|
-
import { curry } from './curry.js'
|
|
5
|
-
import { path as pathModule } from './path.js'
|
|
6
|
-
|
|
7
|
-
export function modifyPathFn(
|
|
8
|
-
pathInput, fn, object
|
|
9
|
-
){
|
|
10
|
-
const path = createPath(pathInput)
|
|
11
|
-
if (path.length === 1){
|
|
12
|
-
return {
|
|
13
|
-
...object,
|
|
14
|
-
[ path[ 0 ] ] : fn(object[ path[ 0 ] ]),
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
if (pathModule(path, object) === undefined) return object
|
|
18
|
-
|
|
19
|
-
const val = modifyPath(
|
|
20
|
-
Array.prototype.slice.call(path, 1),
|
|
21
|
-
fn,
|
|
22
|
-
object[ path[ 0 ] ]
|
|
23
|
-
)
|
|
24
|
-
if (val === object[ path[ 0 ] ]){
|
|
25
|
-
return object
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
return assoc(
|
|
29
|
-
path[ 0 ], val, object
|
|
30
|
-
)
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
export const modifyPath = curry(modifyPathFn)
|
package/src/modulo.js
DELETED
package/src/move.js
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { cloneList } from './_internals/cloneList.js'
|
|
2
|
-
import { curry } from './curry.js'
|
|
3
|
-
|
|
4
|
-
function moveFn(
|
|
5
|
-
fromIndex, toIndex, list
|
|
6
|
-
){
|
|
7
|
-
if (fromIndex < 0 || toIndex < 0){
|
|
8
|
-
throw new Error('Rambda.move does not support negative indexes')
|
|
9
|
-
}
|
|
10
|
-
if (fromIndex > list.length - 1 || toIndex > list.length - 1) return list
|
|
11
|
-
|
|
12
|
-
const clone = cloneList(list)
|
|
13
|
-
clone[ fromIndex ] = list[ toIndex ]
|
|
14
|
-
clone[ toIndex ] = list[ fromIndex ]
|
|
15
|
-
|
|
16
|
-
return clone
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
export const move = curry(moveFn)
|
package/src/multiply.js
DELETED
package/src/negate.js
DELETED
package/src/not.js
DELETED
package/src/nth.js
DELETED
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
export function nth(index, input){
|
|
2
|
-
if (arguments.length === 1) return _input => nth(index, _input)
|
|
3
|
-
|
|
4
|
-
const idx = index < 0 ? input.length + index : index
|
|
5
|
-
|
|
6
|
-
return Object.prototype.toString.call(input) === '[object String]' ?
|
|
7
|
-
input.charAt(idx) :
|
|
8
|
-
input[ idx ]
|
|
9
|
-
}
|
package/src/of.js
DELETED
package/src/on.js
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
export function on(
|
|
2
|
-
binaryFn, unaryFn, a, b
|
|
3
|
-
){
|
|
4
|
-
if (arguments.length === 3){
|
|
5
|
-
return _b => on(
|
|
6
|
-
binaryFn, unaryFn, a, _b
|
|
7
|
-
)
|
|
8
|
-
}
|
|
9
|
-
if (arguments.length === 2){
|
|
10
|
-
return (_a, _b) => on(
|
|
11
|
-
binaryFn, unaryFn, _a, _b
|
|
12
|
-
)
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
return binaryFn(unaryFn(a), unaryFn(b))
|
|
16
|
-
}
|
package/src/once.js
DELETED
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { curry } from './curry.js'
|
|
2
|
-
|
|
3
|
-
function onceFn(fn, context){
|
|
4
|
-
let result
|
|
5
|
-
|
|
6
|
-
return function (){
|
|
7
|
-
if (fn){
|
|
8
|
-
result = fn.apply(context || this, arguments)
|
|
9
|
-
fn = null
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
return result
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
export function once(fn, context){
|
|
17
|
-
if (arguments.length === 1){
|
|
18
|
-
const wrap = onceFn(fn, context)
|
|
19
|
-
|
|
20
|
-
return curry(wrap)
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
return onceFn(fn, context)
|
|
24
|
-
}
|
package/src/or.js
DELETED
package/src/over.js
DELETED
package/src/partial.js
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { isArray } from './_internals/isArray.js'
|
|
2
|
-
|
|
3
|
-
export function partial(fn, ...args){
|
|
4
|
-
const len = fn.length
|
|
5
|
-
|
|
6
|
-
// If a single array argument is given, those are the args (a la Ramda).
|
|
7
|
-
// Otherwise, the variadic arguments are the args.
|
|
8
|
-
const argList = args.length === 1 && isArray(args[0]) ? args[0] : args
|
|
9
|
-
|
|
10
|
-
return (...rest) => {
|
|
11
|
-
if (argList.length + rest.length >= len){
|
|
12
|
-
return fn(...argList, ...rest)
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
return partial(fn, ...[ ...argList, ...rest ])
|
|
16
|
-
}
|
|
17
|
-
}
|
package/src/partialObject.js
DELETED
package/src/pathEq.js
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { curry } from './curry.js'
|
|
2
|
-
import { equals } from './equals.js'
|
|
3
|
-
import { path } from './path.js'
|
|
4
|
-
|
|
5
|
-
function pathEqFn(
|
|
6
|
-
pathToSearch, target, input
|
|
7
|
-
){
|
|
8
|
-
return equals(path(pathToSearch, input), target)
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
export const pathEq = curry(pathEqFn)
|
package/src/pathOr.js
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { curry } from './curry.js'
|
|
2
|
-
import { defaultTo } from './defaultTo.js'
|
|
3
|
-
import { path } from './path.js'
|
|
4
|
-
|
|
5
|
-
function pathOrFn(
|
|
6
|
-
defaultValue, pathInput, obj
|
|
7
|
-
){
|
|
8
|
-
return defaultTo(defaultValue, path(pathInput, obj))
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
export const pathOr = curry(pathOrFn)
|
package/src/pathSatisfies.js
DELETED
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { path } from "./path.js";
|
|
2
|
-
import { curry } from "./curry.js";
|
|
3
|
-
|
|
4
|
-
export function pathSatisfiesFn(fn, pathInput, obj) {
|
|
5
|
-
if(pathInput.length === 0) throw new Error("R.pathSatisfies received an empty path")
|
|
6
|
-
return Boolean(fn(path(pathInput, obj)))
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
export const pathSatisfies = curry(pathSatisfiesFn)
|
package/src/paths.js
DELETED
package/src/pickAll.js
DELETED
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { createPath } from './_internals/createPath.js'
|
|
2
|
-
|
|
3
|
-
export function pickAll(propsToPick, obj){
|
|
4
|
-
if (arguments.length === 1) return _obj => pickAll(propsToPick, _obj)
|
|
5
|
-
|
|
6
|
-
if (obj === null || obj === undefined){
|
|
7
|
-
return undefined
|
|
8
|
-
}
|
|
9
|
-
const keysValue = createPath(propsToPick, ',')
|
|
10
|
-
const willReturn = {}
|
|
11
|
-
let counter = 0
|
|
12
|
-
|
|
13
|
-
while (counter < keysValue.length){
|
|
14
|
-
if (keysValue[ counter ] in obj){
|
|
15
|
-
willReturn[ keysValue[ counter ] ] = obj[ keysValue[ counter ] ]
|
|
16
|
-
} else {
|
|
17
|
-
willReturn[ keysValue[ counter ] ] = undefined
|
|
18
|
-
}
|
|
19
|
-
counter++
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
return willReturn
|
|
23
|
-
}
|
package/src/pickBy.js
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
export function pickBy(predicate, obj) {
|
|
2
|
-
if (arguments.length === 1){
|
|
3
|
-
return (_obj) => pickBy(predicate, _obj);
|
|
4
|
-
}
|
|
5
|
-
return Object.keys(obj).reduce((accum, key) => {
|
|
6
|
-
if (predicate(obj[ key ], key, obj)){
|
|
7
|
-
accum[ key ] = obj[ key ];
|
|
8
|
-
}
|
|
9
|
-
return accum;
|
|
10
|
-
}, {});
|
|
11
|
-
}
|
package/src/product.js
DELETED
package/src/propIs.js
DELETED
package/src/props.js
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { isArray } from './_internals/isArray.js'
|
|
2
|
-
import { mapArray } from './map.js'
|
|
3
|
-
|
|
4
|
-
export function props(propsToPick, obj){
|
|
5
|
-
if (arguments.length === 1){
|
|
6
|
-
return _obj => props(propsToPick, _obj)
|
|
7
|
-
}
|
|
8
|
-
if (!isArray(propsToPick)){
|
|
9
|
-
throw new Error('propsToPick is not a list')
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
return mapArray(prop => obj[ prop ], propsToPick)
|
|
13
|
-
}
|
package/src/reduceBy.js
DELETED
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import { clone } from './clone.js'
|
|
2
|
-
import { curry } from './curry.js'
|
|
3
|
-
import { has } from './has.js'
|
|
4
|
-
import { reduce } from './reduce.js'
|
|
5
|
-
|
|
6
|
-
function reduceByFunction(
|
|
7
|
-
valueFn, valueAcc, keyFn, acc, elt
|
|
8
|
-
){
|
|
9
|
-
const key = keyFn(elt)
|
|
10
|
-
const value = valueFn(has(key, acc) ? acc[ key ] : clone(valueAcc), elt)
|
|
11
|
-
|
|
12
|
-
acc[ key ] = value
|
|
13
|
-
|
|
14
|
-
return acc
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
export function reduceByFn(
|
|
18
|
-
valueFn, valueAcc, keyFn, list
|
|
19
|
-
){
|
|
20
|
-
return reduce(
|
|
21
|
-
(acc, elt) => reduceByFunction(
|
|
22
|
-
valueFn, valueAcc, keyFn, acc, elt
|
|
23
|
-
),
|
|
24
|
-
{},
|
|
25
|
-
list
|
|
26
|
-
)
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
export const reduceBy = curry(reduceByFn)
|
package/src/removeIndex.js
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
export function removeIndex(index, list){
|
|
2
|
-
if (arguments.length === 1) return _list => removeIndex(index, _list)
|
|
3
|
-
if (index <= 0) return list.slice(1)
|
|
4
|
-
if (index >= list.length - 1) return list.slice(0, list.length - 1)
|
|
5
|
-
|
|
6
|
-
return [ ...list.slice(0, index), ...list.slice(index + 1) ]
|
|
7
|
-
}
|
package/src/repeat.js
DELETED
package/src/reverse.js
DELETED
package/src/set.js
DELETED
package/src/slice.js
DELETED
package/src/splitAt.js
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { isArray } from './_internals/isArray.js'
|
|
2
|
-
import { drop } from './drop.js'
|
|
3
|
-
import { maybe } from './maybe.js'
|
|
4
|
-
import { take } from './take.js'
|
|
5
|
-
|
|
6
|
-
export function splitAt(index, input){
|
|
7
|
-
if (arguments.length === 1){
|
|
8
|
-
return _list => splitAt(index, _list)
|
|
9
|
-
}
|
|
10
|
-
if (!input) throw new TypeError(`Cannot read property 'slice' of ${ input }`)
|
|
11
|
-
|
|
12
|
-
if (!isArray(input) && typeof input !== 'string') return [ [], [] ]
|
|
13
|
-
|
|
14
|
-
const correctIndex = maybe(
|
|
15
|
-
index < 0,
|
|
16
|
-
input.length + index < 0 ? 0 : input.length + index,
|
|
17
|
-
index
|
|
18
|
-
)
|
|
19
|
-
|
|
20
|
-
return [ take(correctIndex, input), drop(correctIndex, input) ]
|
|
21
|
-
}
|