123456789101112131415161718192021222324252627282930313233343536373839 |
- import { OuterSubscriber } from '../OuterSubscriber';
- import { subscribeToResult } from '../util/subscribeToResult';
- export function sample(notifier) {
- return (source) => source.lift(new SampleOperator(notifier));
- }
- class SampleOperator {
- constructor(notifier) {
- this.notifier = notifier;
- }
- call(subscriber, source) {
- const sampleSubscriber = new SampleSubscriber(subscriber);
- const subscription = source.subscribe(sampleSubscriber);
- subscription.add(subscribeToResult(sampleSubscriber, this.notifier));
- return subscription;
- }
- }
- class SampleSubscriber extends OuterSubscriber {
- constructor() {
- super(...arguments);
- this.hasValue = false;
- }
- _next(value) {
- this.value = value;
- this.hasValue = true;
- }
- notifyNext(outerValue, innerValue, outerIndex, innerIndex, innerSub) {
- this.emitValue();
- }
- notifyComplete() {
- this.emitValue();
- }
- emitValue() {
- if (this.hasValue) {
- this.hasValue = false;
- this.destination.next(this.value);
- }
- }
- }
- //# sourceMappingURL=sample.js.map
|