diff options
Diffstat (limited to 'node_modules/rxjs/dist/esm5/internal/operators/distinctUntilChanged.js')
| -rw-r--r-- | node_modules/rxjs/dist/esm5/internal/operators/distinctUntilChanged.js | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/node_modules/rxjs/dist/esm5/internal/operators/distinctUntilChanged.js b/node_modules/rxjs/dist/esm5/internal/operators/distinctUntilChanged.js new file mode 100644 index 0000000..3094442 --- /dev/null +++ b/node_modules/rxjs/dist/esm5/internal/operators/distinctUntilChanged.js @@ -0,0 +1,23 @@ +import { identity } from '../util/identity'; +import { operate } from '../util/lift'; +import { createOperatorSubscriber } from './OperatorSubscriber'; +export function distinctUntilChanged(comparator, keySelector) { + if (keySelector === void 0) { keySelector = identity; } + comparator = comparator !== null && comparator !== void 0 ? comparator : defaultCompare; + return operate(function (source, subscriber) { + var previousKey; + var first = true; + source.subscribe(createOperatorSubscriber(subscriber, function (value) { + var currentKey = keySelector(value); + if (first || !comparator(previousKey, currentKey)) { + first = false; + previousKey = currentKey; + subscriber.next(value); + } + })); + }); +} +function defaultCompare(a, b) { + return a === b; +} +//# sourceMappingURL=distinctUntilChanged.js.map
\ No newline at end of file |
