🦴 Adds result service
This commit is contained in:
@@ -0,0 +1,19 @@
|
|||||||
|
import { errorLogs, latestErrorLog } from '$lib/stores';
|
||||||
|
import type { Result } from '$lib/utilities';
|
||||||
|
|
||||||
|
class ResultService {
|
||||||
|
public handleResult(result: Result<unknown, string>, tag?: string) {
|
||||||
|
if (result.isErr()) {
|
||||||
|
const errorLogEntry = { tag, message: result.inner, exception: result.exception };
|
||||||
|
latestErrorLog.set(errorLogEntry);
|
||||||
|
errorLogs.update((entries) => {
|
||||||
|
entries.push(errorLogEntry);
|
||||||
|
return entries;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export default new ResultService();
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
export * from './logging-store';
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
import { writable, type Writable } from 'svelte/store';
|
||||||
|
|
||||||
|
export interface errorLog {
|
||||||
|
message: unknown;
|
||||||
|
tag?: string;
|
||||||
|
exception?: unknown;
|
||||||
|
}
|
||||||
|
|
||||||
|
export const latestErrorLog: Writable<errorLog> = writable();
|
||||||
|
|
||||||
|
export const errorLogs: Writable<errorLog[]> = writable([]);
|
||||||
Reference in New Issue
Block a user