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


TypeScript AngularFire2DatabaseAdaptor.list方法代碼示例

本文整理匯總了TypeScript中app/shared/angular-fire2.AngularFire2DatabaseAdaptor.list方法的典型用法代碼示例。如果您正苦於以下問題:TypeScript AngularFire2DatabaseAdaptor.list方法的具體用法?TypeScript AngularFire2DatabaseAdaptor.list怎麽用?TypeScript AngularFire2DatabaseAdaptor.list使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在app/shared/angular-fire2.AngularFire2DatabaseAdaptor的用法示例。


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

示例1: constructor

  public constructor(
    private readonly db: AngularFire2DatabaseAdaptor,
  ) {
    this.profitabilityStats = db.list(validPathForList(['v2', 'pool', 'latest']))
      .publishReplay(1)
      .refCount();

    this.profitabilityTimeseriesCache = {};
  }
開發者ID:alantreadway,項目名稱:miner-stats-ui,代碼行數:9,代碼來源:metrics.service.ts

示例2: switch

  private watchProfitability<
    K extends keyof PoolProfitability,
    Z extends keyof PoolProfitability[K],
    T extends PoolProfitability[K][Z]
  >(
    p: PoolCurrentWithKey,
    granularityKey: K,
    convertFn: (multiplier: number) => (data: T) => TimeseriesDataPoint,
    limit = 120,
    rigProfile: Observable<RigProfile>,
  ): Observable<PoolAlgoData> {
    let limitMinutes = limit;
    switch (granularityKey) {
      case 'per-day':
        limitMinutes = limit * 24 * 60;
        break;
      case 'per-hour':
        limitMinutes = limit * 60;
        break;
      default:
    }

    const listKey: ValidPathForList<T> = isCoinPoolCurrent(p) ?
      validPathForList([
        'v2', 'pool', 'coin', p.pool, p.coin, p.algo, 'profitability', granularityKey,
      ]) :
      validPathForList([
        'v2', 'pool', 'algo', p.pool, p.algo, 'profitability', granularityKey,
      ]);

    const listResult = this.db.list(
      listKey,
      { limitToLast: limit, orderByPriority: true },
    );
    return listResult
      .combineLatest(
        rigProfile.map(profile => convertFn(this.multiplier(p.pool, p.algo, profile))),
      )
      .map(
        ([data, convertFnInstance]): PoolAlgoData => {
          const timeLimit = (Date.now() - limitMinutes * 60 * 1000);

          const mostRecent = data.reduce(
            (newest, next) => {
              if (newest.timestamp < next.timestamp) {
                return next;
              }
              return newest;
            },
            data[0],
          );

          return {
            algo: p.algo,
            key: p.key,
            mostRecent: mostRecent != null ? convertFnInstance(mostRecent) : undefined,
            name: `${p.pool} - ${p.algo}`,
            pool: p.pool,
            series: data
              .map(convertFnInstance)
              .filter(point => {
                if (typeof point.name === 'string') {
                  return true;
                }
                return point.name.getTime() > timeLimit;
              }),
          };
        },
    );
  }
開發者ID:alantreadway,項目名稱:miner-stats-ui,代碼行數:70,代碼來源:metrics.service.ts


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