import { Observable } from '../Observable'; import { async } from '../scheduler/async'; import { isNumeric } from '../util/isNumeric'; export function interval(period = 0, scheduler = async) { if (!isNumeric(period) || period < 0) { period = 0; } if (!scheduler || typeof scheduler.schedule !== 'function') { scheduler = async; } return new Observable(subscriber => { subscriber.add(scheduler.schedule(dispatch, period, { subscriber, counter: 0, period })); return subscriber; }); } function dispatch(state) { const { subscriber, counter, period } = state; subscriber.next(counter); this.schedule({ subscriber, counter: counter + 1, period }, period); } //# sourceMappingURL=interval.js.map