StaffLDB-Minify #1

Merged
fred.boniface merged 27 commits from StaffLDB-Minify into main 2023-10-03 21:37:00 +01:00
2 changed files with 29 additions and 29 deletions
Showing only changes of commit c0724d94f0 - Show all commits

View File

@ -1,38 +1,38 @@
// Fetches StaffLDB Data, correctly formats DATE fields and returns the data // Fetches StaffLDB Data, correctly formats DATE fields and returns the data
import { getApiUrl } from "$lib/scripts/upstream"; import { getApiUrl } from '$lib/scripts/upstream';
import { uuid } from "$lib/stores/uuid"; import { uuid } from '$lib/stores/uuid';
import type { ApiResponse, StaffLdb } from "@owlboard/ts-types"; import type { ApiResponse, StaffLdb } from '@owlboard/ts-types';
// Fetch StaffLDB Data, and returns the data after hydration (convert date types etc.) // Fetch StaffLDB Data, and returns the data after hydration (convert date types etc.)
export async function fetchStaffLdb(station: string): Promise<ApiResponse<StaffLdb>> { export async function fetchStaffLdb(station: string): Promise<ApiResponse<StaffLdb>> {
const url = `${getApiUrl()}/api/v2/live/station/${station}/staff`; const url = `${getApiUrl()}/api/v2/live/station/${station}/staff`;
let uuid_value: string = ''; let uuid_value: string = '';
const unsubscribe = uuid.subscribe((value) => { const unsubscribe = uuid.subscribe((value) => {
uuid_value = value; uuid_value = value;
}); });
const fetchOpts = { const fetchOpts = {
method: 'GET', method: 'GET',
headers: { headers: {
uuid: uuid_value, uuid: uuid_value
}, }
}; };
const res = await fetch(url, fetchOpts) const res = await fetch(url, fetchOpts);
unsubscribe(); unsubscribe();
const resJs = await res.json() const resJs = await res.json();
return parseFormat(JSON.stringify(resJs)) return parseFormat(JSON.stringify(resJs));
} }
function parseFormat(jsonString: any): ApiResponse<StaffLdb> { function parseFormat(jsonString: any): ApiResponse<StaffLdb> {
return JSON.parse(jsonString, (key, value) => { return JSON.parse(jsonString, (key, value) => {
if (typeof value === 'string') { if (typeof value === 'string') {
const dateRegex = /^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}.\d{3}Z$/; const dateRegex = /^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}.\d{3}Z$/;
if (dateRegex.test(value)) { if (dateRegex.test(value)) {
return new Date(value); return new Date(value);
} }
} }
return value return value;
}); });
} }

View File

@ -29,7 +29,7 @@
title = data.data.locationName; title = data.data.locationName;
return data.data; return data.data;
} }
throw new Error("Unable to Fetch Data") throw new Error('Unable to Fetch Data');
} }
</script> </script>