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/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
|
-
}
|