rambda 9.4.2 → 10.0.0-alpha.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/CHANGELOG.md +69 -1
- package/README.md +4637 -13433
- package/dist/rambda.esm.js +1487 -0
- package/dist/rambda.js +952 -2113
- package/dist/rambda.umd.js +1595 -1
- package/immutable.d.ts +1066 -1293
- package/index.d.ts +1066 -1293
- package/package.json +95 -94
- package/rambda.js +10 -138
- 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/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 +4 -6
- package/src/checkObjectWithSpec.js +16 -0
- package/src/complement.js +1 -1
- package/src/concat.js +2 -4
- package/src/count.js +5 -4
- package/src/countBy.js +6 -7
- package/src/defaultTo.js +4 -6
- package/src/drop.js +4 -2
- package/src/dropLast.js +4 -8
- package/src/dropLastWhile.js +17 -26
- package/src/dropWhile.js +14 -22
- package/src/eqBy.js +3 -8
- package/src/eqProps.js +3 -8
- package/src/equals.js +99 -58
- package/src/evolve.js +19 -52
- package/src/excludes.js +5 -0
- package/src/filter.js +10 -40
- package/src/filterObject.js +13 -0
- package/src/find.js +6 -6
- package/src/findIndex.js +5 -5
- package/src/findLast.js +6 -6
- package/src/findLastIndex.js +5 -5
- package/src/flatMap.js +3 -0
- package/src/flatten.js +5 -5
- package/src/groupBy.js +9 -7
- package/src/head.js +5 -3
- package/src/includes.js +10 -7
- package/src/indexOf.js +2 -6
- package/src/init.js +6 -8
- package/src/innerJoin.js +11 -19
- package/src/intersection.js +2 -4
- package/src/intersperse.js +7 -7
- 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/mapObject.js +18 -0
- package/src/mapObjectAsync.js +10 -0
- package/src/match.js +6 -6
- 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/modifyPath.js +22 -25
- package/src/none.js +8 -6
- package/src/objOf.js +2 -6
- package/src/omit.js +26 -11
- package/src/partition.js +20 -23
- package/src/path.js +14 -15
- package/src/pick.js +15 -15
- package/src/pipe.js +70 -13
- package/src/pipeAsync.js +10 -0
- package/src/pluck.js +7 -9
- 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 -7
- package/src/range.js +3 -3
- package/src/reduce.js +15 -30
- package/src/reject.js +2 -4
- package/src/replace.js +2 -8
- package/src/replaceItemAtIndex.js +15 -0
- package/src/sort.js +2 -4
- package/src/sortBy.js +3 -3
- package/src/sortWith.js +9 -13
- package/src/split.js +2 -4
- package/src/splitEvery.js +6 -8
- 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 +19 -20
- package/src/takeWhile.js +12 -21
- package/src/tap.js +3 -3
- 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 +10 -14
- 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/ascend.js +0 -23
- 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/descend.js +0 -17
- 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/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/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
|
-
}
|
package/src/splitWhen.js
DELETED
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
export function splitWhen(predicate, input){
|
|
2
|
-
if (arguments.length === 1){
|
|
3
|
-
return _input => splitWhen(predicate, _input)
|
|
4
|
-
}
|
|
5
|
-
if (!input)
|
|
6
|
-
throw new TypeError(`Cannot read property 'length' of ${ input }`)
|
|
7
|
-
|
|
8
|
-
const preFound = []
|
|
9
|
-
const postFound = []
|
|
10
|
-
let found = false
|
|
11
|
-
let counter = -1
|
|
12
|
-
|
|
13
|
-
while (counter++ < input.length - 1){
|
|
14
|
-
if (found){
|
|
15
|
-
postFound.push(input[ counter ])
|
|
16
|
-
} else if (predicate(input[ counter ])){
|
|
17
|
-
postFound.push(input[ counter ])
|
|
18
|
-
found = true
|
|
19
|
-
} else {
|
|
20
|
-
preFound.push(input[ counter ])
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
return [ preFound, postFound ]
|
|
25
|
-
}
|
package/src/startsWith.js
DELETED
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { isArray } from './_internals/isArray.js'
|
|
2
|
-
import { equals } from './equals.js'
|
|
3
|
-
|
|
4
|
-
export function startsWith(question, iterable){
|
|
5
|
-
if (arguments.length === 1)
|
|
6
|
-
return _iterable => startsWith(question, _iterable)
|
|
7
|
-
|
|
8
|
-
if (typeof iterable === 'string'){
|
|
9
|
-
return iterable.startsWith(question)
|
|
10
|
-
}
|
|
11
|
-
if (!isArray(question)) return false
|
|
12
|
-
|
|
13
|
-
let correct = true
|
|
14
|
-
const filtered = question.filter((x, index) => {
|
|
15
|
-
if (!correct) return false
|
|
16
|
-
const result = equals(x, iterable[ index ])
|
|
17
|
-
if (!result) correct = false
|
|
18
|
-
|
|
19
|
-
return result
|
|
20
|
-
})
|
|
21
|
-
|
|
22
|
-
return filtered.length === question.length
|
|
23
|
-
}
|
package/src/subtract.js
DELETED
package/src/sum.js
DELETED
package/src/swap.js
DELETED
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
import { isArray } from './_internals/isArray.js';
|
|
2
|
-
import { curry } from './curry.js';
|
|
3
|
-
|
|
4
|
-
function swapArrayOrString(indexA, indexB, iterable) {
|
|
5
|
-
const actualIndexA = indexA < 0 ? iterable.length + indexA : indexA;
|
|
6
|
-
const actualIndexB = indexB < 0 ? iterable.length + indexB : indexB;
|
|
7
|
-
if (
|
|
8
|
-
actualIndexA === actualIndexB ||
|
|
9
|
-
Math.min(actualIndexA, actualIndexB) < 0 ||
|
|
10
|
-
Math.max(actualIndexA, actualIndexB) >= iterable.length
|
|
11
|
-
)
|
|
12
|
-
return iterable;
|
|
13
|
-
if (typeof iterable === 'string') {
|
|
14
|
-
return (
|
|
15
|
-
iterable.slice(0, actualIndexA) +
|
|
16
|
-
iterable[actualIndexB] +
|
|
17
|
-
iterable.slice(actualIndexA + 1, actualIndexB) +
|
|
18
|
-
iterable[actualIndexA] +
|
|
19
|
-
iterable.slice(actualIndexB + 1)
|
|
20
|
-
);
|
|
21
|
-
}
|
|
22
|
-
const clone = iterable.slice();
|
|
23
|
-
const temp = clone[actualIndexA];
|
|
24
|
-
clone[actualIndexA] = clone[actualIndexB];
|
|
25
|
-
clone[actualIndexB] = temp;
|
|
26
|
-
return clone;
|
|
27
|
-
}
|
|
28
|
-
function swapFn(indexA, indexB, iterable) {
|
|
29
|
-
if (isArray(iterable) || typeof iterable === 'string')
|
|
30
|
-
return swapArrayOrString(indexA, indexB, iterable);
|
|
31
|
-
|
|
32
|
-
const aVal = iterable[indexA];
|
|
33
|
-
const bVal = iterable[indexB];
|
|
34
|
-
if (aVal === undefined || bVal === undefined) return iterable;
|
|
35
|
-
return {
|
|
36
|
-
...iterable,
|
|
37
|
-
[indexA]: iterable[indexB],
|
|
38
|
-
[indexB]: iterable[indexA],
|
|
39
|
-
};
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
export const swap = curry(swapFn);
|
package/src/times.js
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { isInteger } from './_internals/isInteger.js'
|
|
2
|
-
import { map } from './map.js'
|
|
3
|
-
import { range } from './range.js'
|
|
4
|
-
|
|
5
|
-
export function times(fn, howMany){
|
|
6
|
-
if (arguments.length === 1) return _howMany => times(fn, _howMany)
|
|
7
|
-
if (!isInteger(howMany) || howMany < 0){
|
|
8
|
-
throw new RangeError('n must be an integer')
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
return map(fn, range(0, howMany))
|
|
12
|
-
}
|
package/src/toLower.js
DELETED
package/src/toPairs.js
DELETED
package/src/toString.js
DELETED
package/src/toUpper.js
DELETED
package/src/transpose.js
DELETED
package/src/trim.js
DELETED
package/src/unapply.js
DELETED
package/src/unnest.js
DELETED
package/src/values.js
DELETED
package/src/view.js
DELETED
package/src/where.js
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
export function where(conditions, input){
|
|
2
|
-
if (input === undefined){
|
|
3
|
-
return _input => where(conditions, _input)
|
|
4
|
-
}
|
|
5
|
-
let flag = true
|
|
6
|
-
for (const prop in conditions){
|
|
7
|
-
if (!flag) continue
|
|
8
|
-
const result = conditions[ prop ](input[ prop ])
|
|
9
|
-
if (flag && result === false){
|
|
10
|
-
flag = false
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
return flag
|
|
15
|
-
}
|
package/src/whereAny.js
DELETED
package/src/whereEq.js
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { equals } from './equals.js'
|
|
2
|
-
import { filter } from './filter.js'
|
|
3
|
-
|
|
4
|
-
export function whereEq(condition, input){
|
|
5
|
-
if (arguments.length === 1){
|
|
6
|
-
return _input => whereEq(condition, _input)
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
const result = filter((conditionValue, conditionProp) =>
|
|
10
|
-
equals(conditionValue, input[ conditionProp ]),
|
|
11
|
-
condition)
|
|
12
|
-
|
|
13
|
-
return Object.keys(result).length === Object.keys(condition).length
|
|
14
|
-
}
|
package/src/without.js
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { _indexOf } from './equals.js'
|
|
2
|
-
import { reduce } from './reduce.js'
|
|
3
|
-
|
|
4
|
-
export function without(matchAgainst, source){
|
|
5
|
-
if (source === undefined){
|
|
6
|
-
return _source => without(matchAgainst, _source)
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
return reduce(
|
|
10
|
-
(prev, current) =>
|
|
11
|
-
_indexOf(current, matchAgainst) > -1 ? prev : prev.concat(current),
|
|
12
|
-
[],
|
|
13
|
-
source
|
|
14
|
-
)
|
|
15
|
-
}
|
package/src/xor.js
DELETED
package/src/zipObj.js
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { take } from './take.js'
|
|
2
|
-
|
|
3
|
-
export function zipObj(keys, values){
|
|
4
|
-
if (arguments.length === 1) return yHolder => zipObj(keys, yHolder)
|
|
5
|
-
|
|
6
|
-
return take(values.length, keys).reduce((
|
|
7
|
-
prev, xInstance, i
|
|
8
|
-
) => {
|
|
9
|
-
prev[ xInstance ] = values[ i ]
|
|
10
|
-
|
|
11
|
-
return prev
|
|
12
|
-
}, {})
|
|
13
|
-
}
|