find.js.flow 464 Bytes
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
// @flow strict

declare function find<T>(
  list: $ReadOnlyArray<T>,
  predicate: (item: T) => boolean,
): T | void;

/* eslint-disable no-redeclare */
// $FlowFixMe
const find = Array.prototype.find
  ? function(list, predicate) {
      return Array.prototype.find.call(list, predicate);
    }
  : function(list, predicate) {
      for (const value of list) {
        if (predicate(value)) {
          return value;
        }
      }
    };
export default find;