From 78fe4b0459dd34737303ec97647a83cecfbd1dc1 Mon Sep 17 00:00:00 2001 From: metamuffin Date: Mon, 2 Oct 2023 21:35:21 +0200 Subject: formatting function --- mod.ts | 3 ++- src/show.ts | 17 +++++++++++++++++ 2 files changed, 19 insertions(+), 1 deletion(-) create mode 100644 src/show.ts diff --git a/mod.ts b/mod.ts index d61e0e7..0657b94 100644 --- a/mod.ts +++ b/mod.ts @@ -5,6 +5,7 @@ */ import { e } from "./src/element.ts"; import { OVar } from "./src/observable.ts"; +import * as show from "./src/show.ts"; -export { OVar, e }; +export { OVar, e, show }; diff --git a/src/show.ts b/src/show.ts new file mode 100644 index 0000000..193a93b --- /dev/null +++ b/src/show.ts @@ -0,0 +1,17 @@ + +export function byte_size(x: number): string { + if (x > 1000000000) return (x / 1000000000).toFixed(1) + "G" + if (x > 1000000) return (x / 1000000).toFixed(1) + "M" + if (x > 1000) return (x / 1000).toFixed(1) + "k" + return x.toString() +} + +export function duration(t: number): string { + if (t < 0) return "-" + duration(-t) + let h = 0, m = 0, s = 0; + while (t > 3600) t -= 3600, h++; + while (t > 60) t -= 60, m++; + while (t > 1) t -= 1, s++; + return (h ? h + "h" : "") + (m ? m + "m" : "") + (s ? s + "s" : "") +} + -- cgit v1.2.3-70-g09d2