Files
AI/참고/playwright-main/packages/isomorphic/formatUtils.ts
2026-05-12 19:40:31 +09:00

64 lines
1.5 KiB
TypeScript

/**
* 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';
}