UNPKG

warscript

Version:

A typescript library for Warcraft III using Warpack.

58 lines (57 loc) 4.2 kB
/// <reference types="@typescript-to-lua/language-extensions" /> /** @noSelfInFile */ import { TupleOf } from "./types"; export declare const EMPTY_ARRAY: readonly any[]; export declare const joinToString: <T>(array: readonly T[], separator: string, transform?: (element: T) => string) => string; export declare const arrayOfNotNull: <T>(...elements: readonly (T | null | undefined)[]) => T[]; export declare const array: <T, N extends number>(length: N, initialize: (index: number) => T) => TupleOf<T, N>; export declare const toLuaSet: <T extends AnyNotNil>(array: readonly T[]) => LuaSet<T>; export declare const forEach: <T, Args extends any[]>(array: readonly T[], consumerOrKey: KeysOfType<T, (this: T, ...args: Args) => void> | ((value: T, ...args: Args) => void), ...args: Args) => void; export declare const all: { <T>(array: readonly T[], transform: (value: T) => boolean): boolean; <T>(array: readonly T[], key: KeysOfType<T, boolean>): boolean; }; export declare const map: { <T, R>(array: readonly T[], transform: (value: T) => R): R[]; <T, K extends keyof T>(array: readonly T[], key: K): T[K][]; }; export declare const mapNotNull: { <T, R>(array: readonly T[], transform: (value: T) => R | null | undefined): NonNullable<R>[]; <T, K extends keyof T>(array: readonly T[], key: K): NonNullable<T[K]>[]; }; export declare const mapToLuaSet: { <T, R extends AnyNotNil>(array: readonly T[], transform: (value: T) => R): LuaSet<R>; <T, K extends KeysOfType<T, AnyNotNil>>(array: readonly T[], key: K): LuaSet<T[K] extends AnyNotNil ? T[K] : never>; }; export declare const flatMap: { <T, R>(array: readonly T[], transform: (value: T) => readonly R[]): R[]; <T, K extends KeysOfType<T, readonly any[]>>(array: readonly T[], key: K): (T[K] extends readonly (infer R)[] ? R : never)[]; }; export declare const flatMapToLuaSet: { <T, R extends AnyNotNil>(array: readonly T[], transform: (value: T) => readonly R[]): LuaSet<R>; <T, K extends KeysOfType<T, readonly AnyNotNil[]>>(array: readonly T[], key: K): LuaSet<T[K] extends readonly (infer R extends AnyNotNil)[] ? R : never>; }; export declare const mapIndexed: <T, R>(array: readonly T[], transform: (index: number, value: T) => R) => R[]; export declare const associate: <T, K extends AnyNotNil, V>(array: readonly T[], keySelector: (value: T) => K, valueSelector: (value: T) => V) => LuaMap<K, V>; export declare const associateBy: <K extends AnyNotNil, V>(array: readonly V[], keySelector: (value: V) => K) => LuaMap<K, V>; export declare const associateByIndexed: <K extends AnyNotNil, V>(array: readonly V[], keySelector: (index: number, value: V) => K) => LuaMap<K, V>; export declare const associateWith: <K extends AnyNotNil, V>(array: readonly K[], valueSelector: (value: K) => V) => LuaMap<K, V>; export declare const associateWithIndexed: <K extends AnyNotNil, V>(array: readonly K[], valueSelector: (index: number, value: K) => V) => LuaMap<K, V>; export declare const filter: <T>(array: readonly T[], predicate: (value: T) => boolean) => T[]; export declare const average: (array: readonly number[]) => number; export declare const sum: (array: readonly number[]) => number; export declare const product: (array: readonly number[]) => number; export declare const max: (array: readonly number[]) => number; export declare const intersperse: <T>(array: readonly T[], delimiter: T) => T[]; export declare const zip: <T, R, V>(array: readonly T[], otherArray: readonly R[], transform: (value: T, otherValue: R) => V) => V[]; export declare const chunked: <T>(array: readonly T[], size: number) => T[][]; export declare const sortBy: <T, R>(array: T[], selector: KeysOfType<T, R> | ((value: T) => R)) => void; export declare const sortedBy: { <T, R>(array: readonly T[], selector: (value: T) => R): T[]; <T, K extends keyof T>(array: readonly T[], key: K): T[]; }; export declare const partition: { <T>(array: readonly T[], predicate: (value: T) => boolean): LuaMultiReturn<[T[], T[]]>; <T, K extends KeysOfType<T, boolean>>(array: readonly T[], key: K): LuaMultiReturn<[T[], T[]]>; }; export declare const distinct: <T extends AnyNotNil>(array: readonly T[]) => T[];