UNPKG

3.94 kBTypeScriptView Raw
1export declare function firstExistingValue<A>(...values: A[]): A | null;
2/** @deprecated */
3export declare function anyExists(values: any[]): boolean;
4export declare function existsAndNotEmpty<T>(value?: T[]): boolean;
5export declare function last<T>(arr: T[]): T;
6export declare function last<T extends Node>(arr: NodeListOf<T>): T;
7export declare function areEqual<T>(a?: T[] | null, b?: T[] | null, comparator?: (a: T, b: T) => boolean): boolean;
8/** @deprecated */
9export declare function compareArrays(array1?: any[], array2?: any[]): boolean;
10/** @deprecated */
11export declare function shallowCompare(arr1: any[], arr2: any[]): boolean;
12export declare function sortNumerically(array: number[]): number[];
13export declare function removeRepeatsFromArray<T>(array: T[], object: T): void;
14export declare function removeFromArray<T>(array: T[], object: T): void;
15export declare function removeAllFromArray<T>(array: T[], toRemove: T[]): void;
16export declare function insertIntoArray<T>(array: T[], object: T, toIndex: number): void;
17export declare function insertArrayIntoArray<T>(dest: T[], src: T[], toIndex: number): void;
18export declare function moveInArray<T>(array: T[], objectsToMove: T[], toIndex: number): void;
19export declare function includes<T>(array: T[], value: T): boolean;
20export declare function flatten(arrayOfArrays: any[]): any[];
21export declare function pushAll<T>(target: T[], source: T[]): void;
22export declare function toStrings<T>(array: T[]): ((string | null)[]) | null;
23export declare function findIndex<T>(collection: T[], predicate: (item: T, idx: number, collection: T[]) => boolean): number;
24export declare function fill(collection: any[], value?: any, start?: number, end?: number): any[];
25/**
26 * The implementation of Array.prototype.every in browsers is always slower than just using a simple for loop, so
27 * use this for improved performance.
28 * https://jsbench.me/bek91dtit8/
29 */
30export declare function every<T>(list: T[], predicate: (value: T, index: number) => boolean): boolean;
31/**
32 * The implementation of Array.prototype.some in browsers is always slower than just using a simple for loop, so
33 * use this for improved performance.
34 * https://jsbench.me/5dk91e4tmt/
35 */
36export declare function some<T>(list: T[], predicate: (value: T, index: number) => boolean): boolean;
37/**
38 * The implementation of Array.prototype.forEach in browsers is often slower than just using a simple for loop, so
39 * use this for improved performance.
40 * https://jsbench.me/apk91elt8a/
41 */
42export declare function forEach<T>(list: T[], action: (value: T, index: number) => void): void;
43export declare function forEachReverse<T>(list: T[], action: (value: T, index: number) => void): void;
44/**
45 * The implementation of Array.prototype.map in browsers is generally the same as just using a simple for loop. However,
46 * Firefox does exhibit some difference, and this performs no worse in other browsers, so use this if you want improved
47 * performance.
48 * https://jsbench.me/njk91ez8pc/
49 */
50export declare function map<T, V>(list: T[], process: (value: T, index: number) => V): V[] | null;
51/**
52 * The implementation of Array.prototype.filter in browsers is always slower than just using a simple for loop, so
53 * use this for improved performance.
54 * https://jsbench.me/7bk91fk08c/
55 */
56export declare function filter<T>(list: T[], predicate: (value: T, index: number) => boolean): T[] | null;
57/**
58 * The implementation of Array.prototype.reduce in browsers is generally the same as just using a simple for loop. However,
59 * Chrome does exhibit some difference, and this performs no worse in other browsers, so use this if you want improved
60 * performance.
61 * https://jsbench.me/7vk92n6u1f/
62 */
63export declare function reduce<T, V>(list: T[], step: (acc: V, value: T, index: number) => V, initial: V): V | null;
64/** @deprecated */
65export declare function forEachSnapshotFirst<T>(list: T[], callback: (item: T) => void): void;