diff options
Diffstat (limited to 'node_modules/rxjs/dist/esm5/internal/operators/distinct.js')
| -rw-r--r-- | node_modules/rxjs/dist/esm5/internal/operators/distinct.js | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/node_modules/rxjs/dist/esm5/internal/operators/distinct.js b/node_modules/rxjs/dist/esm5/internal/operators/distinct.js new file mode 100644 index 0000000..f8503f3 --- /dev/null +++ b/node_modules/rxjs/dist/esm5/internal/operators/distinct.js @@ -0,0 +1,18 @@ +import { operate } from '../util/lift'; +import { createOperatorSubscriber } from './OperatorSubscriber'; +import { noop } from '../util/noop'; +import { innerFrom } from '../observable/innerFrom'; +export function distinct(keySelector, flushes) { + return operate(function (source, subscriber) { + var distinctKeys = new Set(); + source.subscribe(createOperatorSubscriber(subscriber, function (value) { + var key = keySelector ? keySelector(value) : value; + if (!distinctKeys.has(key)) { + distinctKeys.add(key); + subscriber.next(value); + } + })); + flushes && innerFrom(flushes).subscribe(createOperatorSubscriber(subscriber, function () { return distinctKeys.clear(); }, noop)); + }); +} +//# sourceMappingURL=distinct.js.map
\ No newline at end of file |
