當前位置: 首頁>>代碼示例>>TypeScript>>正文


TypeScript operators.defaultIfEmpty函數代碼示例

本文整理匯總了TypeScript中rxjs/operators.defaultIfEmpty函數的典型用法代碼示例。如果您正苦於以下問題:TypeScript defaultIfEmpty函數的具體用法?TypeScript defaultIfEmpty怎麽用?TypeScript defaultIfEmpty使用的例子?那麽, 這裏精選的函數代碼示例或許可以為您提供幫助。


在下文中一共展示了defaultIfEmpty函數的8個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的TypeScript代碼示例。

示例1: rule

  return input.pipe(mergeMap(inputTree => {
    const result = rule(inputTree, context);

    if (!result) {
      return observableOf(inputTree);
    } else if (typeof result == 'function') {
      // This is considered a Rule, chain the rule and return its output.
      return callRule(result, observableOf(inputTree), context);
    } else if (isObservable(result)) {
      // Only return the last Tree, and make sure it's a Tree.
      return result.pipe(
        defaultIfEmpty(),
        last(),
        tap(inner => {
          if (!inner || !(TreeSymbol in inner)) {
            throw new InvalidRuleResultException(inner);
          }
        }),
      );
    } else if (TreeSymbol in result) {
      return observableOf(result);
    } else {
      return throwError(new InvalidRuleResultException(result));
    }
  }));
開發者ID:DevIntent,項目名稱:angular-cli,代碼行數:25,代碼來源:call.ts

示例2: getNpmConfigOption

function getNpmConfigOption(
  option: string,
  scope?: string,
  tryWithoutScope?: boolean,
): Observable<string | undefined> {
  if (scope && tryWithoutScope) {
    return concat(
      getNpmConfigOption(option, scope),
      getNpmConfigOption(option),
    ).pipe(
      filter(result => !!result),
      defaultIfEmpty(),
      first(),
    );
  }

  const fullOption = `${scope ? scope + ':' : ''}${option}`;

  let value = npmConfigOptionCache.get(fullOption);
  if (value) {
    return value;
  }

  value = option.startsWith('_')
      ? getOptionFromNpmRc(fullOption)
      : getOptionFromNpmCli(fullOption);

  npmConfigOptionCache.set(fullOption, value);

  return value;
}
開發者ID:baconwaffles,項目名稱:angular-cli,代碼行數:31,代碼來源:npm.ts

示例3: getNpmConfigOption

function getNpmConfigOption(
  option: string,
  scope?: string,
  tryWithoutScope?: boolean,
): Observable<string | undefined> {
  if (scope && tryWithoutScope) {
    return concat(
      getNpmConfigOption(option, scope),
      getNpmConfigOption(option),
    ).pipe(
      filter(result => !!result),
      defaultIfEmpty(),
      first(),
    );
  }

  const fullOption = `${scope ? scope + ':' : ''}${option}`;

  let value = npmConfigOptionCache.get(fullOption);
  if (value) {
    return value;
  }

  const subject = new ReplaySubject<string | undefined>(1);

  try {
    exec(`npm get ${fullOption}`, (error, data) => {
      if (error) {
        subject.next();
      } else {
        data = data.trim();
        if (!data || data === 'undefined' || data === 'null') {
          subject.next();
        } else {
          subject.next(data);
        }
      }

      subject.complete();
    });
  } catch {
    subject.next();
    subject.complete();
  }

  value = subject.asObservable();
  npmConfigOptionCache.set(fullOption, value);

  return value;
}
開發者ID:fmalcher,項目名稱:angular-cli,代碼行數:50,代碼來源:npm.ts

示例4: callSource

export function callSource(source: Source, context: SchematicContext): Observable<Tree> {
  const result = source(context);

  if (isObservable(result)) {
    // Only return the last Tree, and make sure it's a Tree.
    return result.pipe(
      defaultIfEmpty(),
      last(),
      tap(inner => {
        if (!inner || !(TreeSymbol in inner)) {
          throw new InvalidSourceResultException(inner);
        }
      }),
    );
  } else if (result && TreeSymbol in result) {
    return observableOf(result);
  } else {
    return throwError(new InvalidSourceResultException(result));
  }
}
開發者ID:angular,項目名稱:angular-cli,代碼行數:20,代碼來源:call.ts

示例5: getNpmConfigOption

function getNpmConfigOption(
  option: string,
  scope?: string,
  tryWithoutScope?: boolean,
): Observable<string | undefined> {
  if (scope && tryWithoutScope) {
    return concat(
      getNpmConfigOption(option, scope),
      getNpmConfigOption(option),
    ).pipe(
      filter(result => !!result),
      defaultIfEmpty(),
      first(),
    );
  }

  const fullOption = `${scope ? scope + ':' : ''}${option}`;

  let value = npmConfigOptionCache.get(fullOption);
  if (value) {
    return value;
  }

  const subject = new ReplaySubject<string | undefined>(1);

  const optionValue = npmConfig && npmConfig[fullOption];
  if (optionValue == undefined || optionValue == null) {
    subject.next();
  } else {
    subject.next(optionValue);
  }

  subject.complete();

  value = subject.asObservable();
  npmConfigOptionCache.set(fullOption, value);

  return value;
}
開發者ID:rexebin,項目名稱:angular-cli,代碼行數:39,代碼來源:npm.ts

示例6:

export function defaultIfEmpty<T, R>(this: Observable<T>, defaultValue: R = null): Observable<T | R> {
  return higherOrder<T, R>(defaultValue)(this);
}
開發者ID:DallanQ,項目名稱:rxjs,代碼行數:3,代碼來源:defaultIfEmpty.ts

示例7: of

 observable1 = constructorZone1.run(() => {
   return of().pipe(defaultIfEmpty('empty'));
 });
開發者ID:angular,項目名稱:zone.js,代碼行數:3,代碼來源:rxjs.Observable.default.spec.ts

示例8: it

it('should infer correctly with a defaultValue', () => {
  const o = of(1, 2, 3).pipe(defaultIfEmpty(47)); // $ExpectType Observable<number>
});
開發者ID:jaychsu,項目名稱:RxJS,代碼行數:3,代碼來源:defaultIfEmpty-spec.ts


注:本文中的rxjs/operators.defaultIfEmpty函數示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。