Server IP : 185.86.78.101 / Your IP : 216.73.216.124 Web Server : Apache System : Linux 675867-vds-valikoshka1996.gmhost.pp.ua 5.4.0-150-generic #167-Ubuntu SMP Mon May 15 17:35:05 UTC 2023 x86_64 User : www ( 1000) PHP Version : 7.4.33 Disable Function : passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /www/wwwroot/mifepriston.org/node_modules/rxjs/_esm2015/observable/ |
Upload File : |
import { isNumeric } from '../util/isNumeric'; import { Observable } from '../Observable'; import { async } from '../scheduler/async'; import { isScheduler } from '../util/isScheduler'; import { isDate } from '../util/isDate'; /** * We need this JSDoc comment for affecting ESDoc. * @extends {Ignored} * @hide true */ export class TimerObservable extends Observable { constructor(dueTime = 0, period, scheduler) { super(); this.period = -1; this.dueTime = 0; if (isNumeric(period)) { this.period = Number(period) < 1 && 1 || Number(period); } else if (isScheduler(period)) { scheduler = period; } if (!isScheduler(scheduler)) { scheduler = async; } this.scheduler = scheduler; this.dueTime = isDate(dueTime) ? (+dueTime - this.scheduler.now()) : dueTime; } /** * Creates an Observable that starts emitting after an `initialDelay` and * emits ever increasing numbers after each `period` of time thereafter. * * <span class="informal">Its like {@link interval}, but you can specify when * should the emissions start.</span> * * <img src="./img/timer.png" width="100%"> * * `timer` returns an Observable that emits an infinite sequence of ascending * integers, with a constant interval of time, `period` of your choosing * between those emissions. The first emission happens after the specified * `initialDelay`. The initial delay may be a {@link Date}. By default, this * operator uses the `async` IScheduler to provide a notion of time, but you * may pass any IScheduler to it. If `period` is not specified, the output * Observable emits only one value, `0`. Otherwise, it emits an infinite * sequence. * * @example <caption>Emits ascending numbers, one every second (1000ms), starting after 3 seconds</caption> * var numbers = Rx.Observable.timer(3000, 1000); * numbers.subscribe(x => console.log(x)); * * @example <caption>Emits one number after five seconds</caption> * var numbers = Rx.Observable.timer(5000); * numbers.subscribe(x => console.log(x)); * * @see {@link interval} * @see {@link delay} * * @param {number|Date} initialDelay The initial delay time to wait before * emitting the first value of `0`. * @param {number} [period] The period of time between emissions of the * subsequent numbers. * @param {Scheduler} [scheduler=async] The IScheduler to use for scheduling * the emission of values, and providing a notion of "time". * @return {Observable} An Observable that emits a `0` after the * `initialDelay` and ever increasing numbers after each `period` of time * thereafter. * @static true * @name timer * @owner Observable */ static create(initialDelay = 0, period, scheduler) { return new TimerObservable(initialDelay, period, scheduler); } static dispatch(state) { const { index, period, subscriber } = state; const action = this; subscriber.next(index); if (subscriber.closed) { return; } else if (period === -1) { return subscriber.complete(); } state.index = index + 1; action.schedule(state, period); } /** @deprecated internal use only */ _subscribe(subscriber) { const index = 0; const { period, dueTime, scheduler } = this; return scheduler.schedule(TimerObservable.dispatch, dueTime, { index, period, subscriber }); } } //# sourceMappingURL=TimerObservable.js.map