Skip to content

provide overload for type predicates #19

Open
@scarf005

Description

@scarf005
interface Array<T> {
    /**
     * Returns the value of the first element in the array where predicate is true, and undefined
     * otherwise.
     * @param predicate find calls predicate once for each element of the array, in ascending
     * order, until it finds one where predicate returns true. If such an element is found, find
     * immediately returns that element value. Otherwise, find returns undefined.
     * @param thisArg If provided, it will be used as the this value for each invocation of
     * predicate. If it is not provided, undefined is used instead.
     */
    find<S extends T>(predicate: (value: T, index: number, obj: T[]) => value is S, thisArg?: any): S | undefined
    find(predicate: (value: T, index: number, obj: T[]) => unknown, thisArg?: any): T | undefined
}

(code from https://github.com/microsoft/TypeScript/blob/4d5ba0316a43ea31c41c50e4d62756659ddffbaa/src/lib/es2015.core.d.ts#L1-L12)

functions like find and filter should be able to utilize type predicates.

Todo

Overloads

  • find
  • filter
  • every
  • takeWhile
  • dropWhile

handle curryIterFunction

related:

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions