Пример #1
0
export function toObservable(r: any): Observable<any> {
  const obs = isPromise(r) ? fromPromise(r) : r;
  if (!(isObservable(obs))) {
    throw new Error(`Expected validator to return Promise or Observable.`);
  }
  return obs;
}
Пример #2
0
 load(parentInjector: Injector, path: string): Observable<LoadedRouterConfig> {
   return fromPromise(this.loader.load(path).then(r => {
     const ref = r.create(parentInjector);
     return new LoadedRouterConfig(
         ref.injector.get(ROUTES), ref.injector, ref.componentFactoryResolver);
   }));
 }
Пример #3
0
 return mergeMap.call(wrapIntoObservable(loadChildren()), (t: any) => {
   if (t instanceof NgModuleFactory) {
     return of (t);
   } else {
     return fromPromise(this.compiler.compileModuleAsync(t));
   }
 });
Пример #4
0
 getArticle(): Observable<Article> {
   const article = new Article();
   article.title = '破狼简介';
   article.categories = ['破狼', '简介'];
   article.layout = 'post';
   article.html = require('./polang.html');
   return fromPromise(Promise.resolve(article));
 }
Пример #5
0
const transformPromiseToCancellableObservable = (
  promiseFn: () => Promise<any>
) => {
  return (
    fromPromise(promiseFn())
      /** cancel previous subscribed request in favor of the new one */
      .switchMap(() => promiseFn())
  );
};
Пример #6
0
export function wrapIntoObservable<T>(value: T | Promise<T>| Observable<T>): Observable<T> {
  if (value instanceof Observable) {
    return value;
  } else if (value instanceof Promise) {
    return fromPromise(value);
  } else {
    return of (value);
  }
}
Пример #7
0
export function wrapIntoObservable<T>(value: T | NgModuleFactory<T>| Promise<T>| Observable<T>):
    Observable<T> {
  if (value instanceof Observable) {
    return value;
  }

  if (value instanceof Promise) {
    return fromPromise(value);
  }

  return of (value);
}
Пример #8
0
 private loadModuleFactory(loadChildren: LoadChildren): Observable<NgModuleFactory<any>> {
   if (typeof loadChildren === 'string') {
     return fromPromise(this.loader.load(loadChildren));
   } else {
     return mergeMap.call(wrapIntoObservable(loadChildren()), (t: any) => {
       if (t instanceof NgModuleFactory) {
         return of (t);
       } else {
         return fromPromise(this.compiler.compileModuleAsync(t));
       }
     });
   }
 }
Пример #9
0
export function wrapIntoObservable<T>(value: T | NgModuleFactory<T>| Promise<T>| Observable<T>):
    Observable<T> {
  if (isObservable(value)) {
    return value;
  }

  if (isPromise(value)) {
    // Use `Promise.resolve()` to wrap promise-like instances.
    // Required ie when a Resolver returns a AngularJS `$q` promise to correctly trigger the
    // change detection.
    return fromPromise(Promise.resolve(value));
  }

  return of (value);
}
    handle(req: HttpRequest<any>): Observable<HttpEvent<any>> {
        return fromPromise(this.platform.ready()).pipe(
            switchMap(() => {
                /**
                 * Native HTTP Cordova plugin doesn't like local requests
                 */
                const isExternalRequest = checkExternalRequest(req);

                if (
                    isExternalRequest &&
                    checkAvailability('cordova.plugin.http') === true
                ) {
                    return this.cordovaHttpBackend.handle(req);
                } else {
                    return this.fallbackBackend.handle(req);
                }
            }),
        );
    }