| import { SchedulerLike } from '../types'; | 
| import { Observable } from '../Observable'; | 
| import { executeSchedule } from '../util/executeSchedule'; | 
|   | 
| export function scheduleAsyncIterable<T>(input: AsyncIterable<T>, scheduler: SchedulerLike) { | 
|   if (!input) { | 
|     throw new Error('Iterable cannot be null'); | 
|   } | 
|   return new Observable<T>((subscriber) => { | 
|     executeSchedule(subscriber, scheduler, () => { | 
|       const iterator = input[Symbol.asyncIterator](); | 
|       executeSchedule( | 
|         subscriber, | 
|         scheduler, | 
|         () => { | 
|           iterator.next().then((result) => { | 
|             if (result.done) { | 
|               // This will remove the subscriptions from | 
|               // the parent subscription. | 
|               subscriber.complete(); | 
|             } else { | 
|               subscriber.next(result.value); | 
|             } | 
|           }); | 
|         }, | 
|         0, | 
|         true | 
|       ); | 
|     }); | 
|   }); | 
| } |