mirror of
https://github.com/woodchen-ink/clash-and-dashboard.git
synced 2025-07-18 14:01:56 +08:00
23 lines
596 B
TypeScript
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]}`
|
|
}
|