当前位置: 首页>>代码示例>>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;未经允许,请勿转载。