menu

prefer-find-map

Prefer findMap over separate mapping and search operations

Mapping before a search creates a separate Iterator adapter and traversal state. Instead, you SHOULD call findMap to transform values until the first defined result is produced.

Reported

1function firstDefined(values: (int32 | undefined)[]): int32 | undefined {2    return values3        .iterator()4        .map((value) => value)5        .find((value) => value !== undefined);6}

Accepted

1function firstDefined(values: (int32 | undefined)[]): int32 | undefined {2    return values3        .iterator()4        .findMap((value) => value);5}