2021-11-03 22:51:55 +08:00

23 lines
596 B
TypeScript

// eslint-disable-next-line @typescript-eslint/no-empty-function
export function noop () {}
export function partition<T> (arr: T[], fn: (arg: T) => boolean): [T[], T[]] {
const left: T[] = []
const right: T[] = []
for (const item of arr) {
fn(item) ? left.push(item) : right.push(item)
}
return [left, right]
}
export function formatTraffic (num: number) {
const s = ['B', 'KB', 'MB', 'GB', 'TB']
let idx = 0
while (~~(num / 1024) && idx < s.length) {
num /= 1024
idx++
}
return `${idx === 0 ? num : num.toFixed(2)} ${s[idx]}`
}