import { AsapAction } from './AsapAction'; 
 | 
import { AsapScheduler } from './AsapScheduler'; 
 | 
  
 | 
/** 
 | 
 * 
 | 
 * Asap Scheduler 
 | 
 * 
 | 
 * <span class="informal">Perform task as fast as it can be performed asynchronously</span> 
 | 
 * 
 | 
 * `asap` scheduler behaves the same as {@link asyncScheduler} scheduler when you use it to delay task 
 | 
 * in time. If however you set delay to `0`, `asap` will wait for current synchronously executing 
 | 
 * code to end and then it will try to execute given task as fast as possible. 
 | 
 * 
 | 
 * `asap` scheduler will do its best to minimize time between end of currently executing code 
 | 
 * and start of scheduled task. This makes it best candidate for performing so called "deferring". 
 | 
 * Traditionally this was achieved by calling `setTimeout(deferredTask, 0)`, but that technique involves 
 | 
 * some (although minimal) unwanted delay. 
 | 
 * 
 | 
 * Note that using `asap` scheduler does not necessarily mean that your task will be first to process 
 | 
 * after currently executing code. In particular, if some task was also scheduled with `asap` before, 
 | 
 * that task will execute first. That being said, if you need to schedule task asynchronously, but 
 | 
 * as soon as possible, `asap` scheduler is your best bet. 
 | 
 * 
 | 
 * ## Example 
 | 
 * Compare async and asap scheduler< 
 | 
 * ```ts 
 | 
 * import { asapScheduler, asyncScheduler } from 'rxjs'; 
 | 
 * 
 | 
 * asyncScheduler.schedule(() => console.log('async')); // scheduling 'async' first... 
 | 
 * asapScheduler.schedule(() => console.log('asap')); 
 | 
 * 
 | 
 * // Logs: 
 | 
 * // "asap" 
 | 
 * // "async" 
 | 
 * // ... but 'asap' goes first! 
 | 
 * ``` 
 | 
 */ 
 | 
  
 | 
export const asapScheduler = new AsapScheduler(AsapAction); 
 | 
  
 | 
/** 
 | 
 * @deprecated Renamed to {@link asapScheduler}. Will be removed in v8. 
 | 
 */ 
 | 
export const asap = asapScheduler; 
 |