UNPKG

@reactivex/ix-esnext-esm

Version:

The Interactive Extensions for JavaScript

25 lines (23 loc) 653 B
import { IterableX } from '../iterablex'; import { create } from '../create'; class SharedIterable extends IterableX { constructor(it) { super(); this._it = { next(value) { return it.next(value); } }; } [Symbol.iterator]() { return this._it; } } export function share(selector) { return function shareOperatorFunction(source) { return selector ? create(() => selector(new SharedIterable(source[Symbol.iterator]()))[Symbol.iterator]()) : new SharedIterable(source[Symbol.iterator]()); }; } //# sourceMappingURL=share.mjs.map