@tsdotnet/linq
Version:
A familiar set of functions that operate on JavaScript iterables (ES2015+) in a similar way to .NET's LINQ does with enumerables.
21 lines (18 loc) • 596 B
JavaScript
import integer from '@tsdotnet/integer';
function elementAtOrDefault(index, defaultValue) {
integer.assertZeroOrGreater(index);
return function (sequence) {
if (!sequence)
return defaultValue;
if (sequence instanceof Array)
return index < sequence.length ? sequence[index] : defaultValue;
let count = 0;
for (const e of sequence) {
if (index === count++)
return e;
}
return defaultValue;
};
}
export { elementAtOrDefault as default };
//# sourceMappingURL=elementAtOrDefault.js.map