From 852ee620f0a2f6a83cf83eba860ca951b66bb7e2 Mon Sep 17 00:00:00 2001 From: Ruben Beltran del Rio Date: Tue, 31 May 2022 01:04:10 +0200 Subject: Use supabase --- src/lib/stores/response_builder.ts | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 src/lib/stores/response_builder.ts (limited to 'src/lib/stores/response_builder.ts') diff --git a/src/lib/stores/response_builder.ts b/src/lib/stores/response_builder.ts new file mode 100644 index 0000000..1e12243 --- /dev/null +++ b/src/lib/stores/response_builder.ts @@ -0,0 +1,37 @@ +/** + * Utilities to build responses + */ + +interface AnyError { + message: string +}; + +export type StoreState = { + loading: boolean; + data: Type | void; + error: AnyError | void; +}; + +export function initialResponse (initialState: T): StoreState { + return { + loading: true, + data: initialState, + error: undefined + }; +} + +export function errorResponse (error: AnyError): StoreState { + return { + loading: false, + data: undefined, + error + }; +} + +export function response (data: T): StoreState { + return { + loading: false, + data, + error: undefined + }; +} -- cgit