import * as utils from '../utils' export function firstOrDefault(source: Iterable, defaultValue: TSource, predicate?: (item: TSource) => boolean): TSource { utils.throws.ThrowIfNull('source', source) for (let item of source) { if (predicate) { if (predicate(item)) { return item } continue } return item } return defaultValue }