private formatResource()

in src/app/services/scheduler/scheduler.service.ts [357:394]


  private formatResource(resource: SchedulerResourceInfo): string {
    const formatted: string[] = [];
    if (resource) {
      // Object.keys() didn't guarantee the order of keys, sort it before iterate.
      Object.keys(resource).sort(CommonUtil.resourcesCompareFn).forEach((key) => {
        let value = resource[key];
        let formattedKey = key;
        let formattedValue : string;

        switch(key){
          case "memory":
            formattedKey = "Memory";
            formattedValue = CommonUtil.formatMemoryBytes(value);
            break;
          case "vcore":
            formattedKey = "CPU";
            formattedValue = CommonUtil.formatCpuCore(value);
            break;
          case "ephemeral-storage":
            formattedValue = CommonUtil.formatEphemeralStorageBytes(value);
            break;
          default:
            if (key.startsWith('hugepages-')) {
              formattedValue = CommonUtil.formatMemoryBytes(value);
            } else{
              formattedValue = CommonUtil.formatOtherResource(value);
            }
            break;
         }
        formatted.push(`${formattedKey}: ${formattedValue}`);
      });
    }

    if (formatted.length === 0) {
      return NOT_AVAILABLE;
    }
    return formatted.join(', ');
  }