From 632eef6424d8dc8d40c2906177892697679e7b85 Mon Sep 17 00:00:00 2001 From: Joris Date: Sat, 19 Apr 2025 12:36:38 +0200 Subject: Add ZIG server --- frontend/ts/src/lib/router.ts | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 frontend/ts/src/lib/router.ts (limited to 'frontend/ts/src/lib/router.ts') diff --git a/frontend/ts/src/lib/router.ts b/frontend/ts/src/lib/router.ts new file mode 100644 index 0000000..3549763 --- /dev/null +++ b/frontend/ts/src/lib/router.ts @@ -0,0 +1,25 @@ +export interface Result { + data: { [key: string]: string } +} + +export function matches(str: string, m: string): Result | undefined { + const strParts = str.split('/').slice(1) + const mParts = m.split('/').slice(1) + + if (strParts.length == mParts.length) { + const data: { [key: string]: string } = {} + + for (let i = 0; i < strParts.length; ++i) { + if (mParts[i].length > 0 && mParts[i][0] == ':') { + const key = mParts[i].substring(1) + data[key] = strParts[i] + } else { + if (strParts[i] !== mParts[i]) { + return undefined + } + } + } + + return { data } + } +} -- cgit v1.2.3