b746c29410ba660410c3630be716034fcb6804d71b50a10e4aa0da1b12a87bc9a31e39baea050bb605d8e2a9b6bec249173b1ce0b2f170255b2da739b94985 642 B

123456789101112131415
  1. import { ArgumentOutOfRangeError } from '../util/ArgumentOutOfRangeError';
  2. import { filter } from './filter';
  3. import { throwIfEmpty } from './throwIfEmpty';
  4. import { defaultIfEmpty } from './defaultIfEmpty';
  5. import { take } from './take';
  6. export function elementAt(index, defaultValue) {
  7. if (index < 0) {
  8. throw new ArgumentOutOfRangeError();
  9. }
  10. const hasDefaultValue = arguments.length >= 2;
  11. return (source) => source.pipe(filter((v, i) => i === index), take(1), hasDefaultValue
  12. ? defaultIfEmpty(defaultValue)
  13. : throwIfEmpty(() => new ArgumentOutOfRangeError()));
  14. }
  15. //# sourceMappingURL=elementAt.js.map