import { Observable, SchedulerLike } from 'rxjs';
import { subscribeOn as higherOrder } from 'rxjs/operators';
/**
* Asynchronously subscribes Observers to this Observable on the specified IScheduler.
*
*
*
* @param {Scheduler} scheduler - The IScheduler to perform subscription actions on.
* @return {Observable} The source Observable modified so that its subscriptions happen on the specified IScheduler.
.
* @method subscribeOn
* @owner Observable
*/
export function subscribeOn(this: Observable, scheduler: SchedulerLike, delay: number = 0): Observable {
return higherOrder(scheduler, delay)(this) as Observable;
}