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/takeWhile.js
CHANGED
|
@@ -1,24 +1,15 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
const toReturn = []
|
|
13
|
-
let counter = 0
|
|
14
|
-
|
|
15
|
-
while (counter < iterable.length){
|
|
16
|
-
const item = iterable[ counter++ ]
|
|
17
|
-
if (!predicate(item)){
|
|
18
|
-
break
|
|
1
|
+
export function takeWhile(predicate) {
|
|
2
|
+
return iterable => {
|
|
3
|
+
const toReturn = []
|
|
4
|
+
let counter = 0
|
|
5
|
+
|
|
6
|
+
while (counter < iterable.length) {
|
|
7
|
+
const item = iterable[counter++]
|
|
8
|
+
if (!predicate(item)) {
|
|
9
|
+
break
|
|
10
|
+
}
|
|
11
|
+
toReturn.push(item)
|
|
19
12
|
}
|
|
20
|
-
toReturn
|
|
13
|
+
return toReturn
|
|
21
14
|
}
|
|
22
|
-
|
|
23
|
-
return isArray ? toReturn : toReturn.join('')
|
|
24
15
|
}
|
package/src/tap.js
CHANGED
package/src/test.js
CHANGED
|
@@ -1,9 +1,3 @@
|
|
|
1
|
-
export function test(pattern
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
if (typeof pattern === 'string'){
|
|
5
|
-
throw new TypeError(`R.test requires a value of type RegExp as its first argument; received "${ pattern }"`)
|
|
6
|
-
}
|
|
7
|
-
|
|
8
|
-
return str.search(pattern) !== -1
|
|
1
|
+
export function test(pattern) {
|
|
2
|
+
return str => str.search(pattern) !== -1
|
|
9
3
|
}
|
package/src/tryCatch.js
CHANGED
|
@@ -1,18 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
const isFunction = x => [ 'Promise', 'Function' ].includes(type(x))
|
|
4
|
-
|
|
5
|
-
export function tryCatch(fn, fallback){
|
|
6
|
-
if (!isFunction(fn)){
|
|
7
|
-
throw new Error(`R.tryCatch | fn '${ fn }'`)
|
|
8
|
-
}
|
|
9
|
-
const passFallback = isFunction(fallback)
|
|
10
|
-
|
|
11
|
-
return (...inputs) => {
|
|
1
|
+
export function tryCatch(fn, fallback) {
|
|
2
|
+
return input => {
|
|
12
3
|
try {
|
|
13
|
-
return fn(
|
|
14
|
-
} catch (e){
|
|
15
|
-
return
|
|
4
|
+
return fn(input)
|
|
5
|
+
} catch (e) {
|
|
6
|
+
return fallback
|
|
16
7
|
}
|
|
17
8
|
}
|
|
18
9
|
}
|
package/src/type.js
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
|
-
export function type(input){
|
|
2
|
-
if (input === null){
|
|
1
|
+
export function type(input) {
|
|
2
|
+
if (input === null) {
|
|
3
3
|
return 'Null'
|
|
4
|
-
}
|
|
4
|
+
}
|
|
5
|
+
if (input === undefined) {
|
|
5
6
|
return 'Undefined'
|
|
6
|
-
}
|
|
7
|
+
}
|
|
8
|
+
if (Number.isNaN(input)) {
|
|
7
9
|
return 'NaN'
|
|
8
10
|
}
|
|
9
11
|
const typeResult = Object.prototype.toString.call(input).slice(8, -1)
|
|
10
|
-
|
|
11
12
|
return typeResult === 'AsyncFunction' ? 'Promise' : typeResult
|
|
12
13
|
}
|
package/src/union.js
CHANGED
|
@@ -1,14 +1,16 @@
|
|
|
1
1
|
import { cloneList } from './_internals/cloneList.js'
|
|
2
2
|
import { includes } from './includes.js'
|
|
3
3
|
|
|
4
|
-
export function union(x
|
|
5
|
-
|
|
4
|
+
export function union(x) {
|
|
5
|
+
return y => {
|
|
6
|
+
const toReturn = cloneList(x)
|
|
6
7
|
|
|
7
|
-
|
|
8
|
+
y.forEach(yInstance => {
|
|
9
|
+
if (!includes(yInstance)(x)) {
|
|
10
|
+
toReturn.push(yInstance)
|
|
11
|
+
}
|
|
12
|
+
})
|
|
8
13
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
})
|
|
12
|
-
|
|
13
|
-
return toReturn
|
|
14
|
+
return toReturn
|
|
15
|
+
}
|
|
14
16
|
}
|
package/src/uniq.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { _Set } from './_internals/set.js'
|
|
2
2
|
|
|
3
|
-
export function uniq(list){
|
|
3
|
+
export function uniq(list) {
|
|
4
4
|
const set = new _Set()
|
|
5
5
|
const willReturn = []
|
|
6
6
|
list.forEach(item => {
|
|
7
|
-
if (set.checkUniqueness(item)){
|
|
7
|
+
if (set.checkUniqueness(item)) {
|
|
8
8
|
willReturn.push(item)
|
|
9
9
|
}
|
|
10
10
|
})
|
package/src/uniqBy.js
CHANGED
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
import { _Set } from '../src/_internals/set.js'
|
|
2
2
|
|
|
3
|
-
export function uniqBy(fn
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
}
|
|
7
|
-
const set = new _Set()
|
|
3
|
+
export function uniqBy(fn) {
|
|
4
|
+
return list => {
|
|
5
|
+
const set = new _Set()
|
|
8
6
|
|
|
9
|
-
|
|
7
|
+
return list.filter(item => set.checkUniqueness(fn(item)))
|
|
8
|
+
}
|
|
10
9
|
}
|
package/src/uniqWith.js
CHANGED
|
@@ -1,13 +1,11 @@
|
|
|
1
|
-
function includesWith(
|
|
2
|
-
predicate, target, list
|
|
3
|
-
){
|
|
1
|
+
function includesWith(predicate, target, list) {
|
|
4
2
|
let willReturn = false
|
|
5
3
|
let index = -1
|
|
6
4
|
|
|
7
|
-
while (++index < list.length && !willReturn){
|
|
8
|
-
const value = list[
|
|
5
|
+
while (++index < list.length && !willReturn) {
|
|
6
|
+
const value = list[index]
|
|
9
7
|
|
|
10
|
-
if (predicate(target, value)){
|
|
8
|
+
if (predicate(target, value)) {
|
|
11
9
|
willReturn = true
|
|
12
10
|
}
|
|
13
11
|
}
|
|
@@ -15,21 +13,19 @@ function includesWith(
|
|
|
15
13
|
return willReturn
|
|
16
14
|
}
|
|
17
15
|
|
|
18
|
-
export function uniqWith(predicate
|
|
19
|
-
|
|
20
|
-
|
|
16
|
+
export function uniqWith(predicate) {
|
|
17
|
+
return list => {
|
|
21
18
|
let index = -1
|
|
22
19
|
const willReturn = []
|
|
23
20
|
|
|
24
|
-
while (++index < list.length){
|
|
25
|
-
const value = list[
|
|
21
|
+
while (++index < list.length) {
|
|
22
|
+
const value = list[index]
|
|
26
23
|
|
|
27
|
-
if (!includesWith(
|
|
28
|
-
predicate, value, willReturn
|
|
29
|
-
)){
|
|
24
|
+
if (!includesWith(predicate, value, willReturn)) {
|
|
30
25
|
willReturn.push(value)
|
|
31
26
|
}
|
|
32
27
|
}
|
|
33
28
|
|
|
34
29
|
return willReturn
|
|
35
30
|
}
|
|
31
|
+
}
|
package/src/unless.js
CHANGED
|
@@ -1,11 +1,9 @@
|
|
|
1
|
-
|
|
1
|
+
export function unless(predicate, whenFalseFn) {
|
|
2
|
+
return input => {
|
|
3
|
+
if (predicate(input)) {
|
|
4
|
+
return input
|
|
5
|
+
}
|
|
2
6
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
){
|
|
6
|
-
if (predicate(input)) return input
|
|
7
|
-
|
|
8
|
-
return whenFalseFn(input)
|
|
7
|
+
return whenFalseFn(input)
|
|
8
|
+
}
|
|
9
9
|
}
|
|
10
|
-
|
|
11
|
-
export const unless = curry(unlessFn)
|
package/src/unwind.js
CHANGED
|
@@ -1,16 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
1
|
+
export function unwind(property) {
|
|
2
|
+
return obj => {
|
|
3
|
+
return obj[property].map(x => ({
|
|
4
|
+
...obj,
|
|
5
|
+
[property]: x,
|
|
6
|
+
}))
|
|
7
7
|
}
|
|
8
|
-
|
|
9
|
-
if (!isArray(obj[ property ])) return [ obj ]
|
|
10
|
-
|
|
11
|
-
return mapArray(x => ({
|
|
12
|
-
...obj,
|
|
13
|
-
[ property ] : x,
|
|
14
|
-
}),
|
|
15
|
-
obj[ property ])
|
|
16
8
|
}
|
package/src/update.js
CHANGED
|
@@ -1,15 +1,12 @@
|
|
|
1
1
|
import { cloneList } from './_internals/cloneList.js'
|
|
2
|
-
import { curry } from './curry.js'
|
|
3
2
|
|
|
4
|
-
export function
|
|
5
|
-
|
|
6
|
-
)
|
|
7
|
-
|
|
8
|
-
|
|
3
|
+
export function update(index, newValue) {
|
|
4
|
+
return list => {
|
|
5
|
+
const clone = cloneList(list)
|
|
6
|
+
if (index === -1) {
|
|
7
|
+
return clone.fill(newValue, index)
|
|
8
|
+
}
|
|
9
9
|
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
)
|
|
10
|
+
return clone.fill(newValue, index, index + 1)
|
|
11
|
+
}
|
|
13
12
|
}
|
|
14
|
-
|
|
15
|
-
export const update = curry(updateFn)
|
package/src/when.js
CHANGED
|
@@ -1,11 +1,9 @@
|
|
|
1
|
-
|
|
1
|
+
export function when(predicate, whenTrueFn) {
|
|
2
|
+
return input => {
|
|
3
|
+
if (!predicate(input)) {
|
|
4
|
+
return input
|
|
5
|
+
}
|
|
2
6
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
){
|
|
6
|
-
if (!predicate(input)) return input
|
|
7
|
-
|
|
8
|
-
return whenTrueFn(input)
|
|
7
|
+
return whenTrueFn(input)
|
|
8
|
+
}
|
|
9
9
|
}
|
|
10
|
-
|
|
11
|
-
export const when = curry(whenFn)
|
package/src/zip.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
export function zip(left
|
|
2
|
-
|
|
1
|
+
export function zip(left) {
|
|
2
|
+
return right => {
|
|
3
|
+
const result = []
|
|
4
|
+
const length = Math.min(left.length, right.length)
|
|
3
5
|
|
|
4
|
-
|
|
5
|
-
|
|
6
|
+
for (let i = 0; i < length; i++) {
|
|
7
|
+
result[i] = [left[i], right[i]]
|
|
8
|
+
}
|
|
6
9
|
|
|
7
|
-
|
|
8
|
-
result[ i ] = [ left[ i ], right[ i ] ]
|
|
10
|
+
return result
|
|
9
11
|
}
|
|
10
|
-
|
|
11
|
-
return result
|
|
12
12
|
}
|
package/src/zipWith.js
CHANGED
|
@@ -1,10 +1,8 @@
|
|
|
1
|
-
import { curry } from './curry.js'
|
|
2
1
|
import { take } from './take.js'
|
|
3
2
|
|
|
4
|
-
function
|
|
5
|
-
|
|
6
|
-
)
|
|
7
|
-
|
|
3
|
+
export function zipWith(fn, x) {
|
|
4
|
+
return y =>
|
|
5
|
+
take(x.length > y.length ? y.length : x.length)(x).map((xInstance, i) =>
|
|
6
|
+
fn(xInstance, y[i]),
|
|
7
|
+
)
|
|
8
8
|
}
|
|
9
|
-
|
|
10
|
-
export const zipWith = curry(zipWithFn)
|
package/src/F.js
DELETED
package/src/T.js
DELETED
package/src/_internals/_arity.js
DELETED
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
export function _arity(n, fn){
|
|
2
|
-
switch (n){
|
|
3
|
-
case 0:
|
|
4
|
-
return function (){
|
|
5
|
-
return fn.apply(this, arguments)
|
|
6
|
-
}
|
|
7
|
-
case 1:
|
|
8
|
-
return function (_1){
|
|
9
|
-
return fn.apply(this, arguments)
|
|
10
|
-
}
|
|
11
|
-
case 2:
|
|
12
|
-
return function (_1, _2){
|
|
13
|
-
return fn.apply(this, arguments)
|
|
14
|
-
}
|
|
15
|
-
case 3:
|
|
16
|
-
return function (
|
|
17
|
-
_1, _2, _3
|
|
18
|
-
){
|
|
19
|
-
return fn.apply(this, arguments)
|
|
20
|
-
}
|
|
21
|
-
case 4:
|
|
22
|
-
return function (
|
|
23
|
-
_1, _2, _3, _4
|
|
24
|
-
){
|
|
25
|
-
return fn.apply(this, arguments)
|
|
26
|
-
}
|
|
27
|
-
case 5:
|
|
28
|
-
return function (
|
|
29
|
-
_1, _2, _3, _4, _5
|
|
30
|
-
){
|
|
31
|
-
return fn.apply(this, arguments)
|
|
32
|
-
}
|
|
33
|
-
case 6:
|
|
34
|
-
return function (
|
|
35
|
-
_1, _2, _3, _4, _5, _6
|
|
36
|
-
){
|
|
37
|
-
return fn.apply(this, arguments)
|
|
38
|
-
}
|
|
39
|
-
case 7:
|
|
40
|
-
return function (
|
|
41
|
-
_1, _2, _3, _4, _5, _6, _7
|
|
42
|
-
){
|
|
43
|
-
return fn.apply(this, arguments)
|
|
44
|
-
}
|
|
45
|
-
case 8:
|
|
46
|
-
return function (
|
|
47
|
-
_1, _2, _3, _4, _5, _6, _7, _8
|
|
48
|
-
){
|
|
49
|
-
return fn.apply(this, arguments)
|
|
50
|
-
}
|
|
51
|
-
case 9:
|
|
52
|
-
return function (
|
|
53
|
-
_1, _2, _3, _4, _5, _6, _7, _8, _9
|
|
54
|
-
){
|
|
55
|
-
return fn.apply(this, arguments)
|
|
56
|
-
}
|
|
57
|
-
default:
|
|
58
|
-
return function (
|
|
59
|
-
_1, _2, _3, _4, _5, _6, _7, _8, _9, _10
|
|
60
|
-
){
|
|
61
|
-
return fn.apply(this, arguments)
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export const INCORRECT_ITERABLE_INPUT = 'Incorrect iterable input'
|
package/src/_internals/utils.js
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
export function _concat(set1, set2){
|
|
2
|
-
set1 = set1 || []
|
|
3
|
-
set2 = set2 || []
|
|
4
|
-
let idx
|
|
5
|
-
const len1 = set1.length
|
|
6
|
-
const len2 = set2.length
|
|
7
|
-
const result = []
|
|
8
|
-
|
|
9
|
-
idx = 0
|
|
10
|
-
while (idx < len1){
|
|
11
|
-
result[ result.length ] = set1[ idx ]
|
|
12
|
-
idx += 1
|
|
13
|
-
}
|
|
14
|
-
idx = 0
|
|
15
|
-
while (idx < len2){
|
|
16
|
-
result[ result.length ] = set2[ idx ]
|
|
17
|
-
idx += 1
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
return result
|
|
21
|
-
}
|
package/src/add.js
DELETED
package/src/addIndex.js
DELETED
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { _concat } from './_internals/utils.js'
|
|
2
|
-
import { curryN } from './curryN.js'
|
|
3
|
-
|
|
4
|
-
export function addIndex(
|
|
5
|
-
originalFunction,
|
|
6
|
-
initialIndexFn = () => 0,
|
|
7
|
-
loopIndexChange = x => x + 1
|
|
8
|
-
){
|
|
9
|
-
return curryN(originalFunction.length, function (){
|
|
10
|
-
const origFn = arguments[ 0 ]
|
|
11
|
-
const list = arguments[ arguments.length - 1 ]
|
|
12
|
-
let idx = initialIndexFn(list.length)
|
|
13
|
-
const args = Array.prototype.slice.call(arguments, 0)
|
|
14
|
-
args[ 0 ] = function (){
|
|
15
|
-
const result = origFn.apply(this, _concat(arguments, [ idx, list ]))
|
|
16
|
-
idx = loopIndexChange(idx)
|
|
17
|
-
|
|
18
|
-
return result
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
return originalFunction.apply(this, args)
|
|
22
|
-
})
|
|
23
|
-
}
|
package/src/addIndexRight.js
DELETED
package/src/adjust.js
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { cloneList } from './_internals/cloneList.js'
|
|
2
|
-
import { curry } from './curry.js'
|
|
3
|
-
|
|
4
|
-
function adjustFn(
|
|
5
|
-
index, replaceFn, list
|
|
6
|
-
){
|
|
7
|
-
const actualIndex = index < 0 ? list.length + index : index
|
|
8
|
-
if (index >= list.length || actualIndex < 0) return list
|
|
9
|
-
|
|
10
|
-
const clone = cloneList(list)
|
|
11
|
-
clone[ actualIndex ] = replaceFn(clone[ actualIndex ])
|
|
12
|
-
|
|
13
|
-
return clone
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
export const adjust = curry(adjustFn)
|
package/src/always.js
DELETED
package/src/and.js
DELETED
package/src/ap.js
DELETED
package/src/aperture.js
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
export function aperture(step, list){
|
|
2
|
-
if (arguments.length === 1){
|
|
3
|
-
return _list => aperture(step, _list)
|
|
4
|
-
}
|
|
5
|
-
if (step > list.length) return []
|
|
6
|
-
let idx = 0
|
|
7
|
-
const limit = list.length - (step - 1)
|
|
8
|
-
const acc = new Array(limit)
|
|
9
|
-
while (idx < limit){
|
|
10
|
-
acc[ idx ] = list.slice(idx, idx + step)
|
|
11
|
-
idx += 1
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
return acc
|
|
15
|
-
}
|