36 lines
1.0 KiB
TypeScript
36 lines
1.0 KiB
TypeScript
declare function forEach<O extends readonly unknown[], This = undefined>(
|
|
arr: O,
|
|
callback: (this: This | void, value: O[number], index: number, array: O) => void,
|
|
thisArg?: This,
|
|
): void;
|
|
|
|
declare function forEach<O extends ArrayLike<unknown>, This = undefined>(
|
|
arr: O,
|
|
callback: (this: This | void, value: O[number], index: number, array: O) => void,
|
|
thisArg?: This,
|
|
): void;
|
|
|
|
declare function forEach<O extends object, This = undefined>(
|
|
obj: O,
|
|
callback: (this: This | void, value: O[keyof O], key: keyof O, obj: O) => void,
|
|
thisArg?: This,
|
|
): void;
|
|
|
|
declare function forEach<O extends string, This = undefined>(
|
|
str: O,
|
|
callback: (this: This | void, value: O[number], index: number, str: O) => void,
|
|
thisArg: This,
|
|
): void;
|
|
|
|
export = forEach;
|
|
|
|
declare function forEachInternal<O, C extends (this: This | void, value: unknown, index: PropertyKey, obj: O) => void, This = undefined>(
|
|
value: O,
|
|
callback: C,
|
|
thisArg?: This,
|
|
): void;
|
|
|
|
declare namespace forEach {
|
|
export type _internal = typeof forEachInternal;
|
|
}
|