UNPKG

@xlink-network/xlink-sdk

Version:
39 lines (37 loc) 2.62 kB
declare function hasAny<T>(ary: T[]): ary is [T, ...T[]]; declare function hasAny<T>(ary: readonly T[]): ary is readonly [T, ...T[]]; declare function hasLength<T>(input: readonly T[], length: 0): input is []; declare function hasLength<T>(input: readonly T[], length: 1): input is [T]; declare function hasLength<T>(input: readonly T[], length: 2): input is [T, T]; declare function hasLength<T>(input: readonly T[], length: 3): input is [T, T, T]; declare function hasLength<T>(input: readonly T[], length: 4): input is [T, T, T, T]; declare function hasLength<T>(input: readonly T[], length: 5): input is [T, T, T, T, T]; declare function first<T>(ary: readonly [T, ...T[]]): T; declare function first<T>(ary: readonly [...T[], T]): T; declare function first<T>(ary: readonly T[]): undefined | T; declare function last<T>(ary: readonly [T, ...T[]]): T; declare function last<T>(ary: readonly [...T[], T]): T; declare function last<T>(ary: readonly T[]): undefined | T; declare function concat<Ts extends any[]>(...inputArrays: Ts[]): Ts[number] extends (infer U)[] ? U[] : never; declare function reduce<Ts extends readonly any[], U>(fn: (acc: U, item: Ts[number], index: number, items: Ts) => U, initialValue: U, inputArray: Ts): U; declare function range(start: number, end: number): number[]; declare function reverse<T>(ary: T[]): T[]; declare function uniq<T>(ary: T[], iteratee?: (item: T) => any): T[]; declare function oneOf<T extends string[]>(...coll: T): (input: unknown) => input is T[number]; declare function oneOf<T extends any[]>(...coll: T): (input: unknown) => input is T[number]; type SortByIteratee<T> = (item: T, index: number, ary: T[]) => number | bigint; /** * https://github.com/jashkenas/underscore/blob/1abc36c169947c54c97e266513b1d763d0198f46/modules/sortBy.js */ declare function sortBy<T>(iteratee: SortByIteratee<T> | SortByIteratee<T>[], ary: T[]): T[]; interface CurriedMapFindFn { <T, U>(fn: (input: T) => U | undefined, input: readonly T[]): U | undefined; <T, U>(fn: (input: T) => U | undefined): (input: readonly T[]) => U | undefined; } declare const mapFind: CurriedMapFindFn; interface CurriedMapFindPFn { <T, U>(fn: (input: T) => Promise<U | undefined> | U | undefined, input: readonly T[]): Promise<U | undefined>; <T, U>(fn: (input: T) => Promise<U | undefined> | U | undefined): (input: readonly T[]) => Promise<U | undefined>; } declare const mapFindP: CurriedMapFindPFn; export { type CurriedMapFindFn, type CurriedMapFindPFn, type SortByIteratee, concat, first, hasAny, hasLength, last, mapFind, mapFindP, oneOf, range, reduce, reverse, sortBy, uniq };