private getDefaultSnapshot()

in glean/src/histogram/histogram.ts [96:117]


  private getDefaultSnapshot(): Record<number, number> {
    const valuesClone = { ...this.values };

    const maxBucket = Object.keys(valuesClone).reduce((prev, curr) => {
      const prevAsNum = Number(prev);
      const currAsNum = Number(curr);
      return currAsNum > prevAsNum ? curr : prev;
    });

    const ranges = this.bucketing.ranges();
    for (const minBucket of ranges) {
      if (!valuesClone[minBucket]) {
        valuesClone[minBucket] = 0;
      }

      if (minBucket > Number(maxBucket)) {
        break;
      }
    }

    return valuesClone;
  }