/
eapostnova
/
2026-1--study--mathmod
Обзор
Документация
Войти
/
eapostnova
/
2026-1--study--mathmod
Код
Запросы
0
Задачи
Пакеты
0
Релизы
6
Аналитика
Безопасность
develop
node_modules/rxjs/_esm2015/internal/operators/sampleTime.js
39 строк
1 KB
Елизавета Постнова
feat(lab): lab04
24 мар 2026, 02:59
Верифицирован
24 мар 2026, 02:59
7783508
Код
Авторство
О чём код?
import { Subscriber } from '../Subscriber'; import { async } from '../scheduler/async'; export function sampleTime(period, scheduler = async) { return (source) => source.lift(new SampleTimeOperator(period, scheduler)); } class SampleTimeOperator { constructor(period, scheduler) { this.period = period; this.scheduler = scheduler; } call(subscriber, source) { return source.subscribe(new SampleTimeSubscriber(subscriber, this.period, this.scheduler)); } } class SampleTimeSubscriber extends Subscriber { constructor(destination, period, scheduler) { super(destination); this.period = period; this.scheduler = scheduler; this.hasValue = false; this.add(scheduler.schedule(dispatchNotification, period, { subscriber: this, period })); } _next(value) { this.lastValue = value; this.hasValue = true; } notifyNext() { if (this.hasValue) { this.hasValue = false; this.destination.next(this.lastValue); } } } function dispatchNotification(state) { let { subscriber, period } = state; subscriber.notifyNext(); this.schedule(state, period); } //# sourceMappingURL=sampleTime.js.map