import { $q } from 'ngimport'; import type { Observable } from 'rxjs'; export function toIPromise(source: Observable): PromiseLike { return $q((resolve, reject) => { let value: any; source.subscribe( (x: T) => (value = x), (err: any) => reject(err), () => resolve(value), ); }); }