summaryrefslogtreecommitdiff
path: root/client-web/source/helper.ts
diff options
context:
space:
mode:
authormetamuffin <metamuffin@disroot.org>2022-09-07 11:14:42 +0200
committermetamuffin <metamuffin@disroot.org>2022-09-07 11:14:42 +0200
commit61950198e3bf06555f48e8f51c882a4c3cce5128 (patch)
treea7701a44804d4a2a634f3410d400545ea82d1c45 /client-web/source/helper.ts
parent832f48f29098cc6f840ade90db3b94efa67c6833 (diff)
downloadkeks-meet-61950198e3bf06555f48e8f51c882a4c3cce5128.tar
keks-meet-61950198e3bf06555f48e8f51c882a4c3cce5128.tar.bz2
keks-meet-61950198e3bf06555f48e8f51c882a4c3cce5128.tar.zst
REFACTOR! pt.1
Diffstat (limited to 'client-web/source/helper.ts')
-rw-r--r--client-web/source/helper.ts43
1 files changed, 43 insertions, 0 deletions
diff --git a/client-web/source/helper.ts b/client-web/source/helper.ts
new file mode 100644
index 0000000..31e500a
--- /dev/null
+++ b/client-web/source/helper.ts
@@ -0,0 +1,43 @@
+/// <reference lib="dom" />
+
+import { parameters } from "./index.ts"
+
+export function get_query_params(): { [key: string]: string } {
+ const q: { [key: string]: string } = {}
+ for (const kv of window.location.hash.substring(1).split("&")) {
+ const [key, value] = kv.split("=")
+ q[decodeURIComponent(key)] = decodeURIComponent(value)
+ }
+ return q
+}
+
+export function hex_id(len = 8): string {
+ if (len > 8) return hex_id() + hex_id(len - 8)
+ return Math.floor(Math.random() * 16 ** len).toString(16).padStart(len, "0")
+}
+
+export function parameter_bool(name: string, def: boolean): boolean {
+ const v = parameters[name]
+ if (!v) return def
+ if (v == "0" || v == "false" || v == "no") return false
+ if (v == "1" || v == "true" || v == "yes") return true
+ alert(`parameter ${name} is invalid`)
+ return def
+}
+
+export function parameter_number(name: string, def: number): number {
+ const v = parameters[name]
+ if (!v) return def
+ const n = parseFloat(v)
+ if (Number.isNaN(n)) {
+ alert(`parameter ${name} is invalid`)
+ return def
+ }
+ return n
+}
+
+export function parameter_string(name: string, def: string): string {
+ const v = parameters[name]
+ if (!v) return def
+ return v
+}