/** * Copyright (c) Microsoft Corporation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ export function msToString(ms: number): string { if (ms < 0 || !isFinite(ms)) return '-'; if (ms === 0) return '0ms'; if (ms < 1000) return ms.toFixed(0) + 'ms'; const seconds = ms / 1000; if (seconds < 60) return seconds.toFixed(1) + 's'; const minutes = seconds / 60; if (minutes < 60) return minutes.toFixed(1) + 'm'; const hours = minutes / 60; if (hours < 24) return hours.toFixed(1) + 'h'; const days = hours / 24; return days.toFixed(1) + 'd'; } export function bytesToString(bytes: number): string { if (bytes < 0 || !isFinite(bytes)) return '-'; if (bytes === 0) return '0'; if (bytes < 1000) return bytes.toFixed(0); const kb = bytes / 1024; if (kb < 1000) return kb.toFixed(1) + 'K'; const mb = kb / 1024; if (mb < 1000) return mb.toFixed(1) + 'M'; const gb = mb / 1024; return gb.toFixed(1) + 'G'; }