import { IEnumerable, IEnumerableFactory } from '../../types'; export function applyReverseImmutable( factory: IEnumerableFactory, src: Iterable ): IEnumerable { function* generator(): Generator { const items = [...src]; for (let i = items.length - 1; i >= 0; i--) { yield items[i]; } } return factory.createBasicEnumerable(generator); }