rambda 6.8.2 → 7.0.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 +93 -0
- package/README.md +4108 -5600
- package/dist/rambda.esm.js +340 -212
- package/dist/rambda.js +345 -212
- package/dist/rambda.mjs +340 -212
- package/dist/rambda.umd.js +1 -1
- package/immutable.d.ts +202 -275
- package/immutable.js +1 -0
- package/index.d.ts +202 -275
- package/package.json +111 -95
- package/src/F.js +1 -1
- package/src/T.js +1 -1
- package/src/_internals/_isInteger.js +1 -1
- package/src/_internals/_objectIs.js +2 -2
- package/src/_internals/baseSlice.js +6 -8
- package/src/_internals/cloneList.js +3 -0
- package/src/_internals/isFalsy.js +5 -5
- package/src/_internals/isObject.js +5 -0
- package/src/_internals/isTruthy.js +5 -5
- package/src/_internals/set.js +35 -0
- package/src/add.js +1 -1
- package/src/adjust.js +5 -6
- package/src/all.js +3 -3
- package/src/allPass.js +4 -4
- package/src/always.js +1 -1
- package/src/and.js +1 -1
- package/src/any.js +3 -3
- package/src/anyPass.js +4 -4
- package/src/append.js +4 -2
- package/src/apply.js +7 -0
- package/src/applySpec.js +33 -59
- package/src/assoc.js +3 -7
- package/src/assocPath.js +22 -25
- package/src/bind.js +9 -0
- package/src/both.js +1 -1
- package/src/chain.js +2 -2
- package/src/clamp.js +6 -6
- package/src/clone.js +10 -10
- package/src/complement.js +1 -1
- package/src/compose.js +6 -6
- package/src/concat.js +2 -2
- package/src/cond.js +3 -3
- package/src/converge.js +11 -11
- package/src/curry.js +2 -2
- package/src/curryN.js +61 -81
- package/src/defaultTo.js +5 -8
- package/src/difference.js +3 -3
- package/src/dissoc.js +4 -4
- package/src/divide.js +1 -1
- package/src/drop.js +1 -1
- package/src/dropLast.js +5 -5
- package/src/dropLastWhile.js +12 -12
- package/src/dropRepeats.js +6 -6
- package/src/dropRepeatsWith.js +7 -7
- package/src/dropWhile.js +9 -9
- package/src/either.js +2 -2
- package/src/endsWith.js +20 -3
- package/src/eqProps.js +5 -10
- package/src/equals.js +119 -38
- package/src/evolve.js +23 -21
- package/src/filter.js +17 -19
- package/src/find.js +4 -4
- package/src/findIndex.js +3 -3
- package/src/findLast.js +4 -4
- package/src/findLastIndex.js +3 -3
- package/src/flatten.js +6 -6
- package/src/flip.js +11 -15
- package/src/forEach.js +10 -12
- package/src/fromPairs.js +2 -2
- package/src/groupBy.js +6 -6
- package/src/groupWith.js +11 -12
- package/src/hasPath.js +5 -5
- package/src/head.js +3 -3
- package/src/identical.js +1 -1
- package/src/identity.js +2 -2
- package/src/ifElse.js +3 -5
- package/src/includes.js +11 -22
- package/src/indexBy.js +11 -11
- package/src/indexOf.js +5 -12
- package/src/init.js +2 -4
- package/src/intersection.js +3 -3
- package/src/intersperse.js +5 -5
- package/src/is.js +2 -2
- package/src/isEmpty.js +5 -5
- package/src/isFunction.js +3 -3
- package/src/isNil.js +1 -1
- package/src/isPromise.js +3 -3
- package/src/join.js +1 -1
- package/src/keys.js +1 -1
- package/src/last.js +4 -4
- package/src/lastIndexOf.js +5 -11
- package/src/length.js +6 -5
- package/src/lens.js +3 -3
- package/src/lensIndex.js +4 -4
- package/src/lensProp.js +4 -4
- package/src/map.js +19 -18
- package/src/match.js +1 -1
- package/src/mathMod.js +2 -2
- package/src/max.js +1 -1
- package/src/maxBy.js +2 -4
- package/src/maybe.js +2 -4
- package/src/mean.js +2 -2
- package/src/median.js +12 -10
- package/src/merge.js +2 -4
- package/src/mergeAll.js +3 -3
- package/src/mergeDeepRight.js +8 -8
- package/src/mergeLeft.js +2 -2
- package/src/min.js +1 -1
- package/src/minBy.js +2 -4
- package/src/modulo.js +1 -1
- package/src/move.js +7 -8
- package/src/multiply.js +1 -1
- package/src/negate.js +1 -1
- package/src/none.js +3 -3
- package/src/not.js +1 -1
- package/src/nth.js +4 -4
- package/src/objOf.js +3 -3
- package/src/of.js +2 -2
- package/src/omit.js +5 -5
- package/src/once.js +6 -6
- package/src/or.js +1 -1
- package/src/over.js +3 -5
- package/src/partial.js +3 -3
- package/src/partition.js +17 -15
- package/src/path.js +6 -6
- package/src/pathEq.js +4 -6
- package/src/pathOr.js +5 -7
- package/src/paths.js +3 -3
- package/src/pick.js +5 -5
- package/src/pickAll.js +6 -6
- package/src/pipe.js +3 -3
- package/src/pluck.js +4 -4
- package/src/prepend.js +3 -3
- package/src/product.js +2 -2
- package/src/prop.js +2 -2
- package/src/propEq.js +3 -5
- package/src/propIs.js +4 -6
- package/src/propOr.js +4 -6
- package/src/props.js +6 -6
- package/src/range.js +4 -4
- package/src/reduce.js +7 -11
- package/src/reject.js +2 -2
- package/src/repeat.js +2 -2
- package/src/replace.js +2 -4
- package/src/reverse.js +3 -4
- package/src/set.js +5 -9
- package/src/slice.js +2 -4
- package/src/sort.js +4 -4
- package/src/sortBy.js +4 -2
- package/src/split.js +1 -1
- package/src/splitAt.js +9 -9
- package/src/splitEvery.js +8 -6
- package/src/splitWhen.js +10 -10
- package/src/startsWith.js +20 -3
- package/src/subtract.js +1 -1
- package/src/sum.js +1 -1
- package/src/symmetricDifference.js +9 -7
- package/src/tail.js +2 -2
- package/src/take.js +2 -4
- package/src/takeLast.js +2 -4
- package/src/takeLastWhile.js +7 -7
- package/src/takeWhile.js +8 -8
- package/src/tap.js +1 -1
- package/src/test.js +5 -3
- package/src/times.js +4 -4
- package/src/toLower.js +1 -1
- package/src/toPairs.js +1 -1
- package/src/toString.js +1 -1
- package/src/toUpper.js +1 -1
- package/src/transpose.js +4 -3
- package/src/trim.js +1 -1
- package/src/tryCatch.js +5 -5
- package/src/type.js +7 -29
- package/src/unapply.js +5 -0
- package/src/union.js +4 -3
- package/src/uniq.js +7 -10
- package/src/uniqWith.js +18 -7
- package/src/unless.js +3 -3
- package/src/update.js +6 -8
- package/src/values.js +2 -2
- package/src/view.js +2 -2
- package/src/when.js +2 -4
- package/src/where.js +5 -5
- package/src/whereEq.js +9 -7
- package/src/without.js +5 -5
- package/src/xor.js +2 -2
- package/src/zip.js +3 -3
- package/src/zipObj.js +4 -6
- package/src/zipWith.js +6 -7
package/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export type RambdaTypes = "Object" | "Number" | "Boolean" | "String" | "Null" | "Array" | "RegExp" | "NaN" | "Function" | "Undefined" | "Async" | "Promise" | "Symbol";
|
|
1
|
+
export type RambdaTypes = "Object" | "Number" | "Boolean" | "String" | "Null" | "Array" | "RegExp" | "NaN" | "Function" | "Undefined" | "Async" | "Promise" | "Symbol" | "Set" | "Error";
|
|
2
2
|
|
|
3
3
|
export type IndexedIterator<T, U> = (x: T, i: number) => U;
|
|
4
4
|
export type Iterator<T, U> = (x: T) => U;
|
|
@@ -9,6 +9,7 @@ type Predicate<T> = (x: T) => boolean;
|
|
|
9
9
|
export type IndexedPredicate<T> = (x: T, i: number) => boolean;
|
|
10
10
|
export type ObjectPredicate<T> = (x: T, prop: string, inputObj: Dictionary<T>) => boolean;
|
|
11
11
|
export type RamdaPath = (number | string)[];
|
|
12
|
+
type CondPair<T extends any[], R> = [(...val: T) => boolean, (...val: T) => R]
|
|
12
13
|
|
|
13
14
|
type ValueOfRecord<R> =
|
|
14
15
|
R extends Record<any, infer T>
|
|
@@ -155,7 +156,7 @@ export function allPass<T>(predicates: ((x: T) => boolean)[]): (input: T) => boo
|
|
|
155
156
|
/**
|
|
156
157
|
* It returns function that always returns `x`.
|
|
157
158
|
*/
|
|
158
|
-
export function always<T>(x: T): () => T;
|
|
159
|
+
export function always<T>(x: T): (...args: unknown[]) => T;
|
|
159
160
|
|
|
160
161
|
/**
|
|
161
162
|
* Logical AND
|
|
@@ -196,8 +197,8 @@ export function applySpec<T>(spec: any): (...args: any[]) => T;
|
|
|
196
197
|
/**
|
|
197
198
|
* It makes a shallow clone of `obj` with setting or overriding the property `prop` with `newValue`.
|
|
198
199
|
*/
|
|
199
|
-
export function assoc<T, U, K extends string>(prop: K, val: T, obj: U): Record<K, T> & U
|
|
200
|
-
export function assoc<T, K extends string>(prop: K, val: T): <U>(obj: U) => Record<K, T> & U
|
|
200
|
+
export function assoc<T, U, K extends string>(prop: K, val: T, obj: U): Record<K, T> & Omit<U, K>;
|
|
201
|
+
export function assoc<T, K extends string>(prop: K, val: T): <U>(obj: U) => Record<K, T> & Omit<U, K>;
|
|
201
202
|
export function assoc<K extends string>(prop: K): AssocPartialOne<K>;
|
|
202
203
|
|
|
203
204
|
/**
|
|
@@ -222,7 +223,6 @@ export function both(pred1: Pred): (pred2: Pred) => Pred;
|
|
|
222
223
|
*/
|
|
223
224
|
export function chain<T, U>(fn: (n: T) => U[], list: T[]): U[];
|
|
224
225
|
export function chain<T, U>(fn: (n: T) => U[]): (list: T[]) => U[];
|
|
225
|
-
export function chain<X0, X1, R>(fn: (x0: X0, x1: X1) => R, fn1: (x1: X1) => X0): (x1: X1) => R;
|
|
226
226
|
|
|
227
227
|
/**
|
|
228
228
|
* Restrict a number `input` to be within `min` and `max` limits.
|
|
@@ -245,52 +245,75 @@ export function clone<T>(input: T[]): T[];
|
|
|
245
245
|
*
|
|
246
246
|
* The return value of `inverted` is the negative boolean value of `origin(input)`.
|
|
247
247
|
*/
|
|
248
|
-
export function complement<T extends any[]>(
|
|
248
|
+
export function complement<T extends any[]>(predicate: (...args: T) => unknown): (...args: T) => boolean;
|
|
249
249
|
|
|
250
250
|
/**
|
|
251
251
|
* It performs right-to-left function composition.
|
|
252
252
|
*/
|
|
253
|
-
export function compose<
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
export function compose<
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
export function compose<
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
253
|
+
export function compose<TArgs extends any[], R1, R2, R3, R4, R5, R6, R7, TResult>(
|
|
254
|
+
...func: [
|
|
255
|
+
fnLast: (a: any) => TResult,
|
|
256
|
+
...func: Array<(a: any) => any>,
|
|
257
|
+
f7: (a: R6) => R7,
|
|
258
|
+
f6: (a: R5) => R6,
|
|
259
|
+
f5: (a: R4) => R5,
|
|
260
|
+
f4: (a: R3) => R4,
|
|
261
|
+
f3: (a: R2) => R3,
|
|
262
|
+
f2: (a: R1) => R2,
|
|
263
|
+
f1: (...args: TArgs) => R1
|
|
264
|
+
]
|
|
265
|
+
): (...args: TArgs) => TResult; // fallback overload if number of composed functions greater than 7
|
|
266
|
+
export function compose<TArgs extends any[], R1, R2, R3, R4, R5, R6, R7, TResult>(
|
|
267
|
+
f7: (a: R6) => R7,
|
|
268
|
+
f6: (a: R5) => R6,
|
|
269
|
+
f5: (a: R4) => R5,
|
|
270
|
+
f4: (a: R3) => R4,
|
|
271
|
+
f3: (a: R2) => R3,
|
|
272
|
+
f2: (a: R1) => R2,
|
|
273
|
+
f1: (...args: TArgs) => R1
|
|
274
|
+
): (...args: TArgs) => R7;
|
|
275
|
+
export function compose<TArgs extends any[], R1, R2, R3, R4, R5, R6, R7>(
|
|
276
|
+
f7: (a: R6) => R7,
|
|
277
|
+
f6: (a: R5) => R6,
|
|
278
|
+
f5: (a: R4) => R5,
|
|
279
|
+
f4: (a: R3) => R4,
|
|
280
|
+
f3: (a: R2) => R3,
|
|
281
|
+
f2: (a: R1) => R2,
|
|
282
|
+
f1: (...args: TArgs) => R1
|
|
283
|
+
): (...args: TArgs) => R7;
|
|
284
|
+
export function compose<TArgs extends any[], R1, R2, R3, R4, R5, R6>(
|
|
285
|
+
f6: (a: R5) => R6,
|
|
286
|
+
f5: (a: R4) => R5,
|
|
287
|
+
f4: (a: R3) => R4,
|
|
288
|
+
f3: (a: R2) => R3,
|
|
289
|
+
f2: (a: R1) => R2,
|
|
290
|
+
f1: (...args: TArgs) => R1
|
|
291
|
+
): (...args: TArgs) => R6;
|
|
292
|
+
export function compose<TArgs extends any[], R1, R2, R3, R4, R5>(
|
|
293
|
+
f5: (a: R4) => R5,
|
|
294
|
+
f4: (a: R3) => R4,
|
|
295
|
+
f3: (a: R2) => R3,
|
|
296
|
+
f2: (a: R1) => R2,
|
|
297
|
+
f1: (...args: TArgs) => R1
|
|
298
|
+
): (...args: TArgs) => R5;
|
|
299
|
+
export function compose<TArgs extends any[], R1, R2, R3, R4>(
|
|
300
|
+
f4: (a: R3) => R4,
|
|
301
|
+
f3: (a: R2) => R3,
|
|
302
|
+
f2: (a: R1) => R2,
|
|
303
|
+
f1: (...args: TArgs) => R1
|
|
304
|
+
): (...args: TArgs) => R4;
|
|
305
|
+
export function compose<TArgs extends any[], R1, R2, R3>(
|
|
306
|
+
f3: (a: R2) => R3,
|
|
307
|
+
f2: (a: R1) => R2,
|
|
308
|
+
f1: (...args: TArgs) => R1
|
|
309
|
+
): (...args: TArgs) => R3;
|
|
310
|
+
export function compose<TArgs extends any[], R1, R2>(
|
|
311
|
+
f2: (a: R1) => R2,
|
|
312
|
+
f1: (...args: TArgs) => R1
|
|
313
|
+
): (...args: TArgs) => R2;
|
|
314
|
+
export function compose<TArgs extends any[], R1>(
|
|
315
|
+
f1: (...args: TArgs) => R1
|
|
316
|
+
): (...args: TArgs) => R1;
|
|
294
317
|
|
|
295
318
|
/**
|
|
296
319
|
* It returns a new string or array, which is the result of merging `x` and `y`.
|
|
@@ -309,8 +332,7 @@ export function concat(x: string): (y: string) => string;
|
|
|
309
332
|
*
|
|
310
333
|
* If no winner is found, then `fn` returns `undefined`.
|
|
311
334
|
*/
|
|
312
|
-
export function cond
|
|
313
|
-
export function cond<A, B>(conditions: ([SafePred<A>, (...a: A[]) => B])[]): (...x: A[]) => B;
|
|
335
|
+
export function cond<T extends any[], R>(conditions: Array<CondPair<T, R>>): (...args: T) => R;
|
|
314
336
|
|
|
315
337
|
/**
|
|
316
338
|
* Accepts a converging function and a list of branching functions and returns a new function. When invoked, this new function is applied to some arguments, each branching function is applied to those same arguments. The results of each branching function are passed as arguments to the converging function to produce the return value.
|
|
@@ -351,8 +373,8 @@ export function difference<T>(a: T[]): (b: T[]) => T[];
|
|
|
351
373
|
/**
|
|
352
374
|
* It returns a new object that does not contain property `prop`.
|
|
353
375
|
*/
|
|
354
|
-
export function dissoc<T>(prop:
|
|
355
|
-
export function dissoc<
|
|
376
|
+
export function dissoc<T extends object, K extends keyof T>(prop: K, obj: T): Omit<T, K>;
|
|
377
|
+
export function dissoc<K extends string | number>(prop: K): <T extends object>(obj: T) => Omit<T, K>;
|
|
356
378
|
|
|
357
379
|
export function divide(x: number, y: number): number;
|
|
358
380
|
export function divide(x: number): (y: number) => number;
|
|
@@ -388,10 +410,13 @@ export function either<T>(firstPredicate: Predicate<T>): (secondPredicate: Predi
|
|
|
388
410
|
export function either(firstPredicate: Pred): (secondPredicate: Pred) => Pred;
|
|
389
411
|
|
|
390
412
|
/**
|
|
391
|
-
*
|
|
413
|
+
* When iterable is a string, then it behaves as `String.prototype.endsWith`.
|
|
414
|
+
* When iterable is a list, then it uses R.equals to determine if the target list ends in the same way as the given target.
|
|
392
415
|
*/
|
|
393
|
-
export function endsWith(target: string,
|
|
394
|
-
export function endsWith(target: string): (
|
|
416
|
+
export function endsWith(target: string, iterable: string): boolean;
|
|
417
|
+
export function endsWith(target: string): (iterable: string) => boolean;
|
|
418
|
+
export function endsWith<T>(target: T[], list: T[]): boolean;
|
|
419
|
+
export function endsWith<T>(target: T[]): (list: T[]) => boolean;
|
|
395
420
|
|
|
396
421
|
/**
|
|
397
422
|
* It deeply compares `x` and `y` and returns `true` if they are equal.
|
|
@@ -470,6 +495,8 @@ export function fromPairs<V>(listOfPairs: ([string, V])[]): { [index: string]: V
|
|
|
470
495
|
*/
|
|
471
496
|
export function groupBy<T>(groupFn: (x: T) => string, list: T[]): { [index: string]: T[] };
|
|
472
497
|
export function groupBy<T>(groupFn: (x: T) => string): (list: T[]) => { [index: string]: T[] };
|
|
498
|
+
export function groupBy<T, U>(groupFn: (x: T) => string, list: T[]): U;
|
|
499
|
+
export function groupBy<T, U>(groupFn: (x: T) => string): (list: T[]) => U;
|
|
473
500
|
|
|
474
501
|
/**
|
|
475
502
|
* It returns separated version of list or string `input`, where separation is done with equality `compareFn` function.
|
|
@@ -498,8 +525,9 @@ export function hasPath<T>(
|
|
|
498
525
|
/**
|
|
499
526
|
* It returns the first element of list or string `input`.
|
|
500
527
|
*/
|
|
501
|
-
export function head<T>(input: T[]): T | undefined;
|
|
502
528
|
export function head(input: string): string;
|
|
529
|
+
export function head(emptyList: []): undefined;
|
|
530
|
+
export function head<T>(input: T[]): T | undefined;
|
|
503
531
|
|
|
504
532
|
/**
|
|
505
533
|
* It returns `true` if its arguments `a` and `b` are identical.
|
|
@@ -519,16 +547,7 @@ export function identity<T>(input: T): T;
|
|
|
519
547
|
*
|
|
520
548
|
* When `fn`` is called with `input` argument, it will return either `onTrue(input)` or `onFalse(input)` depending on `condition(input)` evaluation.
|
|
521
549
|
*/
|
|
522
|
-
export function ifElse<
|
|
523
|
-
condition: (x: T) => boolean,
|
|
524
|
-
onTrue: (x: T) => U,
|
|
525
|
-
onFalse: (x: T) => U,
|
|
526
|
-
): (x: T) => U;
|
|
527
|
-
export function ifElse<T, K, U>(
|
|
528
|
-
condition: (x: T, y: K) => boolean,
|
|
529
|
-
onTrue: (x: T, y: K) => U,
|
|
530
|
-
onFalse: (x: T, y: K) => U,
|
|
531
|
-
): (x: T, y: K) => U;
|
|
550
|
+
export function ifElse<TArgs extends any[], TOnTrueResult, TOnFalseResult>(fn: (...args: TArgs) => boolean, onTrue: (...args: TArgs) => TOnTrueResult, onFalse: (...args: TArgs) => TOnFalseResult): (...args: TArgs) => TOnTrueResult | TOnFalseResult;
|
|
532
551
|
|
|
533
552
|
/**
|
|
534
553
|
* It increments a number.
|
|
@@ -588,8 +607,10 @@ export function intersperse<T>(separator: T): (list: T[]) => T[];
|
|
|
588
607
|
/**
|
|
589
608
|
* It returns `true` if `x` is instance of `targetPrototype`.
|
|
590
609
|
*/
|
|
591
|
-
export function is(targetPrototype:
|
|
592
|
-
export function is(
|
|
610
|
+
export function is<C extends () => any>(targetPrototype: C, val: any): val is ReturnType<C>;
|
|
611
|
+
export function is<C extends new () => any>(targetPrototype: C, val: any): val is InstanceType<C>;
|
|
612
|
+
export function is<C extends () => any>(targetPrototype: C): (val: any) => val is ReturnType<C>;
|
|
613
|
+
export function is<C extends new () => any>(targetPrototype: C): (val: any) => val is InstanceType<C>;
|
|
593
614
|
|
|
594
615
|
/**
|
|
595
616
|
* It returns `true` if `x` is `empty`.
|
|
@@ -618,7 +639,7 @@ export function keys<T>(x: T): string[];
|
|
|
618
639
|
*/
|
|
619
640
|
export function last(str: string): string;
|
|
620
641
|
export function last(emptyList: []): undefined;
|
|
621
|
-
export function last<T extends any>(list: T[]): T;
|
|
642
|
+
export function last<T extends any>(list: T[]): T | undefined;
|
|
622
643
|
|
|
623
644
|
/**
|
|
624
645
|
* It returns the last index of `target` in `list` array.
|
|
@@ -698,6 +719,14 @@ export function map<T, U, S>(fn: ObjectIterator<T, U>): (iterable: Dictionary<T>
|
|
|
698
719
|
export function map<T>(fn: Iterator<T, T>): (iterable: T[]) => T[];
|
|
699
720
|
export function map<T>(fn: Iterator<T, T>, iterable: T[]): T[];
|
|
700
721
|
|
|
722
|
+
/**
|
|
723
|
+
* It works the same way as `R.map` does for objects. It is added as Ramda also has this method.
|
|
724
|
+
*/
|
|
725
|
+
export function mapObjIndexed<T>(fn: ObjectIterator<T, T>, iterable: Dictionary<T>): Dictionary<T>;
|
|
726
|
+
export function mapObjIndexed<T, U>(fn: ObjectIterator<T, U>, iterable: Dictionary<T>): Dictionary<U>;
|
|
727
|
+
export function mapObjIndexed<T>(fn: ObjectIterator<T, T>): (iterable: Dictionary<T>) => Dictionary<T>;
|
|
728
|
+
export function mapObjIndexed<T, U>(fn: ObjectIterator<T, U>): (iterable: Dictionary<T>) => Dictionary<U>;
|
|
729
|
+
|
|
701
730
|
/**
|
|
702
731
|
* Curried version of `String.prototype.match` which returns empty array, when there is no match.
|
|
703
732
|
*/
|
|
@@ -736,8 +765,8 @@ export function median(list: number[]): number;
|
|
|
736
765
|
/**
|
|
737
766
|
* It creates a copy of `target` object with overidden `newProps` properties.
|
|
738
767
|
*/
|
|
739
|
-
export function merge<
|
|
740
|
-
export function merge<Output>(target:
|
|
768
|
+
export function merge<A, B>(target: A, newProps: B): A & B
|
|
769
|
+
export function merge<Output>(target: any): (newProps: any) => Output;
|
|
741
770
|
|
|
742
771
|
/**
|
|
743
772
|
* It merges all objects of `list` array sequentially and returns the result.
|
|
@@ -815,7 +844,7 @@ export function nth<T>(index: number, list: T[]): T | undefined;
|
|
|
815
844
|
export function nth(index: number): <T>(list: T[]) => T | undefined;
|
|
816
845
|
|
|
817
846
|
/**
|
|
818
|
-
* It
|
|
847
|
+
* It creates an object with a single key-value pair.
|
|
819
848
|
*/
|
|
820
849
|
export function objOf<T, K extends string>(key: K, value: T): Record<K, T>;
|
|
821
850
|
export function objOf<K extends string>(key: K): <T>(value: T) => Record<K, T>;
|
|
@@ -852,7 +881,7 @@ export function partial<V0, V1, V2, V3, T>(fn: (x0: V0, x1: V1, x2: V2, x3: V3)
|
|
|
852
881
|
export function partial<T>(fn: (...a: any[]) => T, args: any[]): (...x: any[]) => T;
|
|
853
882
|
|
|
854
883
|
/**
|
|
855
|
-
* It will return array of two objects/arrays according to `predicate` function. The first member holds all
|
|
884
|
+
* It will return array of two objects/arrays according to `predicate` function. The first member holds all instances of `input` that pass the `predicate` function, while the second member - those who doesn't.
|
|
856
885
|
*/
|
|
857
886
|
export function partition<T>(
|
|
858
887
|
predicate: Predicate<T>,
|
|
@@ -930,197 +959,61 @@ export function pickAll<T, U>(propsToPick: string): (input: T) => U;
|
|
|
930
959
|
/**
|
|
931
960
|
* It performs left-to-right function composition.
|
|
932
961
|
*/
|
|
933
|
-
export function pipe<
|
|
934
|
-
|
|
935
|
-
|
|
936
|
-
|
|
937
|
-
|
|
938
|
-
|
|
939
|
-
|
|
940
|
-
|
|
941
|
-
|
|
942
|
-
|
|
943
|
-
|
|
944
|
-
|
|
945
|
-
|
|
946
|
-
export function pipe<
|
|
947
|
-
|
|
948
|
-
|
|
949
|
-
|
|
950
|
-
|
|
951
|
-
|
|
952
|
-
|
|
953
|
-
|
|
954
|
-
|
|
955
|
-
export function pipe<
|
|
956
|
-
|
|
957
|
-
|
|
958
|
-
|
|
959
|
-
|
|
960
|
-
|
|
961
|
-
|
|
962
|
-
|
|
963
|
-
|
|
964
|
-
|
|
965
|
-
|
|
966
|
-
|
|
967
|
-
|
|
968
|
-
|
|
969
|
-
|
|
970
|
-
|
|
971
|
-
|
|
972
|
-
|
|
973
|
-
|
|
974
|
-
|
|
975
|
-
|
|
976
|
-
|
|
977
|
-
|
|
978
|
-
|
|
979
|
-
|
|
980
|
-
|
|
981
|
-
|
|
982
|
-
|
|
983
|
-
|
|
984
|
-
|
|
985
|
-
export function pipe<
|
|
986
|
-
|
|
987
|
-
|
|
988
|
-
fn2: (x: T2) => T3,
|
|
989
|
-
fn3: (x: T3) => T4,
|
|
990
|
-
fn4: (x: T4) => T5,
|
|
991
|
-
fn5: (x: T5) => T6,
|
|
992
|
-
fn6: (x: T6) => T7): (x0: V0, x1: V1) => T7;
|
|
993
|
-
export function pipe<V0, V1, V2, T1, T2, T3, T4, T5, T6, T7>(
|
|
994
|
-
fn0: (x0: V0, x1: V1, x2: V2) => T1,
|
|
995
|
-
fn1: (x: T1) => T2,
|
|
996
|
-
fn2: (x: T2) => T3,
|
|
997
|
-
fn3: (x: T3) => T4,
|
|
998
|
-
fn4: (x: T4) => T5,
|
|
999
|
-
fn5: (x: T5) => T6,
|
|
1000
|
-
fn6: (x: T6) => T7): (x0: V0, x1: V1, x2: V2) => T7;
|
|
1001
|
-
|
|
1002
|
-
export function pipe<T1, T2, T3, T4, T5, T6, T7, T8>(
|
|
1003
|
-
fn0: () => T1,
|
|
1004
|
-
fn1: (x: T1) => T2,
|
|
1005
|
-
fn2: (x: T2) => T3,
|
|
1006
|
-
fn3: (x: T3) => T4,
|
|
1007
|
-
fn4: (x: T4) => T5,
|
|
1008
|
-
fn5: (x: T5) => T6,
|
|
1009
|
-
fn6: (x: T6) => T7,
|
|
1010
|
-
fn: (x: T7) => T8): () => T8;
|
|
1011
|
-
export function pipe<V0, T1, T2, T3, T4, T5, T6, T7, T8>(
|
|
1012
|
-
fn0: (x: V0) => T1,
|
|
1013
|
-
fn1: (x: T1) => T2,
|
|
1014
|
-
fn2: (x: T2) => T3,
|
|
1015
|
-
fn3: (x: T3) => T4,
|
|
1016
|
-
fn4: (x: T4) => T5,
|
|
1017
|
-
fn5: (x: T5) => T6,
|
|
1018
|
-
fn6: (x: T6) => T7,
|
|
1019
|
-
fn: (x: T7) => T8): (x: V0) => T8;
|
|
1020
|
-
export function pipe<V0, V1, T1, T2, T3, T4, T5, T6, T7, T8>(
|
|
1021
|
-
fn0: (x0: V0, x1: V1) => T1,
|
|
1022
|
-
fn1: (x: T1) => T2,
|
|
1023
|
-
fn2: (x: T2) => T3,
|
|
1024
|
-
fn3: (x: T3) => T4,
|
|
1025
|
-
fn4: (x: T4) => T5,
|
|
1026
|
-
fn5: (x: T5) => T6,
|
|
1027
|
-
fn6: (x: T6) => T7,
|
|
1028
|
-
fn7: (x: T7) => T8): (x0: V0, x1: V1) => T8;
|
|
1029
|
-
export function pipe<V0, V1, V2, T1, T2, T3, T4, T5, T6, T7, T8>(
|
|
1030
|
-
fn0: (x0: V0, x1: V1, x2: V2) => T1,
|
|
1031
|
-
fn1: (x: T1) => T2,
|
|
1032
|
-
fn2: (x: T2) => T3,
|
|
1033
|
-
fn3: (x: T3) => T4,
|
|
1034
|
-
fn4: (x: T4) => T5,
|
|
1035
|
-
fn5: (x: T5) => T6,
|
|
1036
|
-
fn6: (x: T6) => T7,
|
|
1037
|
-
fn7: (x: T7) => T8): (x0: V0, x1: V1, x2: V2) => T8;
|
|
1038
|
-
|
|
1039
|
-
export function pipe<T1, T2, T3, T4, T5, T6, T7, T8, T9>(
|
|
1040
|
-
fn0: () => T1,
|
|
1041
|
-
fn1: (x: T1) => T2,
|
|
1042
|
-
fn2: (x: T2) => T3,
|
|
1043
|
-
fn3: (x: T3) => T4,
|
|
1044
|
-
fn4: (x: T4) => T5,
|
|
1045
|
-
fn5: (x: T5) => T6,
|
|
1046
|
-
fn6: (x: T6) => T7,
|
|
1047
|
-
fn7: (x: T7) => T8,
|
|
1048
|
-
fn8: (x: T8) => T9): () => T9;
|
|
1049
|
-
export function pipe<V0, T1, T2, T3, T4, T5, T6, T7, T8, T9>(
|
|
1050
|
-
fn0: (x0: V0) => T1,
|
|
1051
|
-
fn1: (x: T1) => T2,
|
|
1052
|
-
fn2: (x: T2) => T3,
|
|
1053
|
-
fn3: (x: T3) => T4,
|
|
1054
|
-
fn4: (x: T4) => T5,
|
|
1055
|
-
fn5: (x: T5) => T6,
|
|
1056
|
-
fn6: (x: T6) => T7,
|
|
1057
|
-
fn7: (x: T7) => T8,
|
|
1058
|
-
fn8: (x: T8) => T9): (x0: V0) => T9;
|
|
1059
|
-
export function pipe<V0, V1, T1, T2, T3, T4, T5, T6, T7, T8, T9>(
|
|
1060
|
-
fn0: (x0: V0, x1: V1) => T1,
|
|
1061
|
-
fn1: (x: T1) => T2,
|
|
1062
|
-
fn2: (x: T2) => T3,
|
|
1063
|
-
fn3: (x: T3) => T4,
|
|
1064
|
-
fn4: (x: T4) => T5,
|
|
1065
|
-
fn5: (x: T5) => T6,
|
|
1066
|
-
fn6: (x: T6) => T7,
|
|
1067
|
-
fn7: (x: T7) => T8,
|
|
1068
|
-
fn8: (x: T8) => T9): (x0: V0, x1: V1) => T9;
|
|
1069
|
-
export function pipe<V0, V1, V2, T1, T2, T3, T4, T5, T6, T7, T8, T9>(
|
|
1070
|
-
fn0: (x0: V0, x1: V1, x2: V2) => T1,
|
|
1071
|
-
fn1: (x: T1) => T2,
|
|
1072
|
-
fn2: (x: T2) => T3,
|
|
1073
|
-
fn3: (x: T3) => T4,
|
|
1074
|
-
fn4: (x: T4) => T5,
|
|
1075
|
-
fn5: (x: T5) => T6,
|
|
1076
|
-
fn6: (x: T6) => T7,
|
|
1077
|
-
fn7: (x: T7) => T8,
|
|
1078
|
-
fn8: (x: T8) => T9): (x0: V0, x1: V1, x2: V2) => T9;
|
|
1079
|
-
|
|
1080
|
-
export function pipe<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10>(
|
|
1081
|
-
fn0: () => T1,
|
|
1082
|
-
fn1: (x: T1) => T2,
|
|
1083
|
-
fn2: (x: T2) => T3,
|
|
1084
|
-
fn3: (x: T3) => T4,
|
|
1085
|
-
fn4: (x: T4) => T5,
|
|
1086
|
-
fn5: (x: T5) => T6,
|
|
1087
|
-
fn6: (x: T6) => T7,
|
|
1088
|
-
fn7: (x: T7) => T8,
|
|
1089
|
-
fn8: (x: T8) => T9,
|
|
1090
|
-
fn9: (x: T9) => T10): () => T10;
|
|
1091
|
-
export function pipe<V0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10>(
|
|
1092
|
-
fn0: (x0: V0) => T1,
|
|
1093
|
-
fn1: (x: T1) => T2,
|
|
1094
|
-
fn2: (x: T2) => T3,
|
|
1095
|
-
fn3: (x: T3) => T4,
|
|
1096
|
-
fn4: (x: T4) => T5,
|
|
1097
|
-
fn5: (x: T5) => T6,
|
|
1098
|
-
fn6: (x: T6) => T7,
|
|
1099
|
-
fn7: (x: T7) => T8,
|
|
1100
|
-
fn8: (x: T8) => T9,
|
|
1101
|
-
fn9: (x: T9) => T10): (x0: V0) => T10;
|
|
1102
|
-
export function pipe<V0, V1, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10>(
|
|
1103
|
-
fn0: (x0: V0, x1: V1) => T1,
|
|
1104
|
-
fn1: (x: T1) => T2,
|
|
1105
|
-
fn2: (x: T2) => T3,
|
|
1106
|
-
fn3: (x: T3) => T4,
|
|
1107
|
-
fn4: (x: T4) => T5,
|
|
1108
|
-
fn5: (x: T5) => T6,
|
|
1109
|
-
fn6: (x: T6) => T7,
|
|
1110
|
-
fn7: (x: T7) => T8,
|
|
1111
|
-
fn8: (x: T8) => T9,
|
|
1112
|
-
fn9: (x: T9) => T10): (x0: V0, x1: V1) => T10;
|
|
1113
|
-
export function pipe<V0, V1, V2, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10>(
|
|
1114
|
-
fn0: (x0: V0, x1: V1, x2: V2) => T1,
|
|
1115
|
-
fn1: (x: T1) => T2,
|
|
1116
|
-
fn2: (x: T2) => T3,
|
|
1117
|
-
fn3: (x: T3) => T4,
|
|
1118
|
-
fn4: (x: T4) => T5,
|
|
1119
|
-
fn5: (x: T5) => T6,
|
|
1120
|
-
fn6: (x: T6) => T7,
|
|
1121
|
-
fn7: (x: T7) => T8,
|
|
1122
|
-
fn8: (x: T8) => T9,
|
|
1123
|
-
fn9: (x: T9) => T10): (x0: V0, x1: V1, x2: V2) => T10;
|
|
962
|
+
export function pipe<TArgs extends any[], R1, R2, R3, R4, R5, R6, R7, TResult>(
|
|
963
|
+
...funcs: [
|
|
964
|
+
f1: (...args: TArgs) => R1,
|
|
965
|
+
f2: (a: R1) => R2,
|
|
966
|
+
f3: (a: R2) => R3,
|
|
967
|
+
f4: (a: R3) => R4,
|
|
968
|
+
f5: (a: R4) => R5,
|
|
969
|
+
f6: (a: R5) => R6,
|
|
970
|
+
f7: (a: R6) => R7,
|
|
971
|
+
...func: Array<(a: any) => any>,
|
|
972
|
+
fnLast: (a: any) => TResult
|
|
973
|
+
]
|
|
974
|
+
): (...args: TArgs) => TResult; // fallback overload if number of piped functions greater than 7
|
|
975
|
+
export function pipe<TArgs extends any[], R1, R2, R3, R4, R5, R6, R7>(
|
|
976
|
+
f1: (...args: TArgs) => R1,
|
|
977
|
+
f2: (a: R1) => R2,
|
|
978
|
+
f3: (a: R2) => R3,
|
|
979
|
+
f4: (a: R3) => R4,
|
|
980
|
+
f5: (a: R4) => R5,
|
|
981
|
+
f6: (a: R5) => R6,
|
|
982
|
+
f7: (a: R6) => R7
|
|
983
|
+
): (...args: TArgs) => R7;
|
|
984
|
+
export function pipe<TArgs extends any[], R1, R2, R3, R4, R5, R6>(
|
|
985
|
+
f1: (...args: TArgs) => R1,
|
|
986
|
+
f2: (a: R1) => R2,
|
|
987
|
+
f3: (a: R2) => R3,
|
|
988
|
+
f4: (a: R3) => R4,
|
|
989
|
+
f5: (a: R4) => R5,
|
|
990
|
+
f6: (a: R5) => R6
|
|
991
|
+
): (...args: TArgs) => R6;
|
|
992
|
+
export function pipe<TArgs extends any[], R1, R2, R3, R4, R5>(
|
|
993
|
+
f1: (...args: TArgs) => R1,
|
|
994
|
+
f2: (a: R1) => R2,
|
|
995
|
+
f3: (a: R2) => R3,
|
|
996
|
+
f4: (a: R3) => R4,
|
|
997
|
+
f5: (a: R4) => R5
|
|
998
|
+
): (...args: TArgs) => R5;
|
|
999
|
+
export function pipe<TArgs extends any[], R1, R2, R3, R4>(
|
|
1000
|
+
f1: (...args: TArgs) => R1,
|
|
1001
|
+
f2: (a: R1) => R2,
|
|
1002
|
+
f3: (a: R2) => R3,
|
|
1003
|
+
f4: (a: R3) => R4
|
|
1004
|
+
): (...args: TArgs) => R4;
|
|
1005
|
+
export function pipe<TArgs extends any[], R1, R2, R3>(
|
|
1006
|
+
f1: (...args: TArgs) => R1,
|
|
1007
|
+
f2: (a: R1) => R2,
|
|
1008
|
+
f3: (a: R2) => R3
|
|
1009
|
+
): (...args: TArgs) => R3;
|
|
1010
|
+
export function pipe<TArgs extends any[], R1, R2>(
|
|
1011
|
+
f1: (...args: TArgs) => R1,
|
|
1012
|
+
f2: (a: R1) => R2
|
|
1013
|
+
): (...args: TArgs) => R2;
|
|
1014
|
+
export function pipe<TArgs extends any[], R1>(
|
|
1015
|
+
f1: (...args: TArgs) => R1
|
|
1016
|
+
): (...args: TArgs) => R1;
|
|
1124
1017
|
|
|
1125
1018
|
/**
|
|
1126
1019
|
* It returns list of the values of `property` taken from the all objects inside `list`.
|
|
@@ -1160,11 +1053,17 @@ export function propEq<K extends string | number>(propToFind: K): {
|
|
|
1160
1053
|
/**
|
|
1161
1054
|
* It returns `true` if `property` of `obj` is from `target` type.
|
|
1162
1055
|
*/
|
|
1163
|
-
export function propIs(
|
|
1164
|
-
export function propIs(
|
|
1165
|
-
export function propIs(
|
|
1166
|
-
|
|
1167
|
-
|
|
1056
|
+
export function propIs<C extends (...args: any[]) => any, K extends keyof any>(type: C, name: K, obj: any): obj is Record<K, ReturnType<C>>;
|
|
1057
|
+
export function propIs<C extends new (...args: any[]) => any, K extends keyof any>(type: C, name: K, obj: any): obj is Record<K, InstanceType<C>>;
|
|
1058
|
+
export function propIs<C extends (...args: any[]) => any, K extends keyof any>(type: C, name: K): (obj: any) => obj is Record<K, ReturnType<C>>;
|
|
1059
|
+
export function propIs<C extends new (...args: any[]) => any, K extends keyof any>(type: C, name: K): (obj: any) => obj is Record<K, InstanceType<C>>;
|
|
1060
|
+
export function propIs<C extends (...args: any[]) => any>(type: C): {
|
|
1061
|
+
<K extends keyof any>(name: K, obj: any): obj is Record<K, ReturnType<C>>;
|
|
1062
|
+
<K extends keyof any>(name: K): (obj: any) => obj is Record<K, ReturnType<C>>;
|
|
1063
|
+
};
|
|
1064
|
+
export function propIs<C extends new (...args: any[]) => any>(type: C): {
|
|
1065
|
+
<K extends keyof any>(name: K, obj: any): obj is Record<K, InstanceType<C>>;
|
|
1066
|
+
<K extends keyof any>(name: K): (obj: any) => obj is Record<K, InstanceType<C>>;
|
|
1168
1067
|
};
|
|
1169
1068
|
|
|
1170
1069
|
/**
|
|
@@ -1233,6 +1132,7 @@ export function sort<T>(sortFn: (a: T, b: T) => number): (list: T[]) => T[];
|
|
|
1233
1132
|
* It returns copy of `list` sorted by `sortFn` function.
|
|
1234
1133
|
*/
|
|
1235
1134
|
export function sortBy<T>(sortFn: (a: T) => Ord, list: T[]): T[];
|
|
1135
|
+
export function sortBy<T>(sortFn: (a: T) => Ord): (list: T[]) => T[];
|
|
1236
1136
|
export function sortBy(sortFn: (a: any) => Ord): <T>(list: T[]) => T[];
|
|
1237
1137
|
|
|
1238
1138
|
/**
|
|
@@ -1252,10 +1152,13 @@ export function splitEvery(sliceLength: number): {
|
|
|
1252
1152
|
};
|
|
1253
1153
|
|
|
1254
1154
|
/**
|
|
1255
|
-
*
|
|
1155
|
+
* When iterable is a string, then it behaves as `String.prototype.startsWith`.
|
|
1156
|
+
* When iterable is a list, then it uses R.equals to determine if the target list starts in the same way as the given target.
|
|
1256
1157
|
*/
|
|
1257
1158
|
export function startsWith(target: string, str: string): boolean;
|
|
1258
1159
|
export function startsWith(target: string): (str: string) => boolean;
|
|
1160
|
+
export function startsWith<T>(target: T[], list: T[]): boolean;
|
|
1161
|
+
export function startsWith<T>(target: T[]): (list: T[]) => boolean;
|
|
1259
1162
|
|
|
1260
1163
|
/**
|
|
1261
1164
|
* Curried version of `x - y`
|
|
@@ -1323,16 +1226,19 @@ export function test(regExpression: RegExp, str: string): boolean;
|
|
|
1323
1226
|
export function times<T>(fn: (i: number) => T, howMany: number): T[];
|
|
1324
1227
|
export function times<T>(fn: (i: number) => T): (howMany: number) => T[];
|
|
1325
1228
|
|
|
1229
|
+
export function toLower<S extends string>(str: S): Lowercase<S>;
|
|
1326
1230
|
export function toLower(str: string): string;
|
|
1327
1231
|
|
|
1232
|
+
export function toUpper<S extends string>(str: S): Uppercase<S>;
|
|
1328
1233
|
export function toUpper(str: string): string;
|
|
1329
1234
|
|
|
1330
1235
|
/**
|
|
1331
1236
|
* It transforms an object to a list.
|
|
1332
1237
|
*/
|
|
1333
|
-
export function toPairs<
|
|
1238
|
+
export function toPairs<O extends object, K extends Extract<keyof O, string | number>>(obj: O): Array<{ [key in K]: [`${key}`, O[key]] }[K]>;
|
|
1239
|
+
export function toPairs<S>(obj: Record<string | number, S>): Array<[string, S]>;
|
|
1334
1240
|
|
|
1335
|
-
export function toString
|
|
1241
|
+
export function toString(x: unknown): string;
|
|
1336
1242
|
|
|
1337
1243
|
export function transpose<T>(list: (T[])[]): (T[])[];
|
|
1338
1244
|
|
|
@@ -1393,8 +1299,10 @@ export function uniqWith<T, U>(predicate: (x: T, y: T) => boolean): (list: T[])
|
|
|
1393
1299
|
*
|
|
1394
1300
|
* In the other case, the final output will be the `input` itself.
|
|
1395
1301
|
*/
|
|
1396
|
-
export function unless<T, U>(predicate: (x: T) => boolean, whenFalseFn: (x: T) => U,
|
|
1397
|
-
export function unless<T, U>(predicate: (x: T) => boolean, whenFalseFn: (x: T) => U): (
|
|
1302
|
+
export function unless<T, U>(predicate: (x: T) => boolean, whenFalseFn: (x: T) => U, x: T): T | U;
|
|
1303
|
+
export function unless<T, U>(predicate: (x: T) => boolean, whenFalseFn: (x: T) => U): (x: T) => T | U;
|
|
1304
|
+
export function unless<T>(predicate: (x: T) => boolean, whenFalseFn: (x: T) => T, x: T): T;
|
|
1305
|
+
export function unless<T>(predicate: (x: T) => boolean, whenFalseFn: (x: T) => T): (x: T) => T;
|
|
1398
1306
|
|
|
1399
1307
|
/**
|
|
1400
1308
|
* It returns a copy of `list` with updated element at `index` with `newValue`.
|
|
@@ -1413,8 +1321,6 @@ export function when<T, U>(predicate: (x: T) => boolean): ((whenTrueFn: (a: T) =
|
|
|
1413
1321
|
|
|
1414
1322
|
/**
|
|
1415
1323
|
* It returns `true` if all each property in `conditions` returns `true` when applied to corresponding property in `input` object.
|
|
1416
|
-
*
|
|
1417
|
-
* `R.equals` is used to determine equality.
|
|
1418
1324
|
*/
|
|
1419
1325
|
export function where<T, U>(conditions: T, input: U): boolean;
|
|
1420
1326
|
export function where<T>(conditions: T): <U>(input: U) => boolean;
|
|
@@ -1530,3 +1436,24 @@ export function takeWhile<T>(fn: Predicate<T>): (iterable: T[]) => T[];
|
|
|
1530
1436
|
export function eqProps<T, U>(prop: string, obj1: T, obj2: U): boolean;
|
|
1531
1437
|
export function eqProps<P extends string>(prop: P): <T, U>(obj1: Record<P, T>, obj2: Record<P, U>) => boolean;
|
|
1532
1438
|
export function eqProps<T>(prop: string, obj1: T): <U>(obj2: U) => boolean;
|
|
1439
|
+
|
|
1440
|
+
/**
|
|
1441
|
+
* It calls a function `fn` with the list of values of the returned function.
|
|
1442
|
+
*
|
|
1443
|
+
* `R.unapply` is the opposite of `R.apply` method.
|
|
1444
|
+
*/
|
|
1445
|
+
export function unapply<T = any>(fn: (args: any[]) => T): (...args: any[]) => T;
|
|
1446
|
+
|
|
1447
|
+
/**
|
|
1448
|
+
* It applies function `fn` to the list of arguments.
|
|
1449
|
+
*
|
|
1450
|
+
* This is useful for creating a fixed-arity function from a variadic function. `fn` should be a bound function if context is significant.
|
|
1451
|
+
*/
|
|
1452
|
+
export function apply<T = any>(fn: (...args: any[]) => T, args: any[]): T;
|
|
1453
|
+
export function apply<T = any>(fn: (...args: any[]) => T): (args: any[]) => T;
|
|
1454
|
+
|
|
1455
|
+
/**
|
|
1456
|
+
* Creates a function that is bound to a context.
|
|
1457
|
+
*/
|
|
1458
|
+
export function bind<F extends (...args: any[]) => any, T>(fn: F, thisObj: T): (...args: Parameters<F>) => ReturnType<F>;
|
|
1459
|
+
export function bind<F extends (...args: any[]) => any, T>(fn: F): (thisObj: T) => (...args: Parameters<F>) => ReturnType<F>;
|