From 09693b979efe3c9c7ea64f79d97a1f0b53f7c49e Mon Sep 17 00:00:00 2001 From: Melonai Date: Sat, 8 May 2021 23:41:03 +0200 Subject: Socket connection and token fetching --- assets/src/stores/data.ts | 21 +++++++++++++++++++++ assets/src/stores/requests.ts | 12 ++++++++++++ 2 files changed, 33 insertions(+) create mode 100644 assets/src/stores/data.ts create mode 100644 assets/src/stores/requests.ts (limited to 'assets/src/stores') diff --git a/assets/src/stores/data.ts b/assets/src/stores/data.ts new file mode 100644 index 0000000..d59183c --- /dev/null +++ b/assets/src/stores/data.ts @@ -0,0 +1,21 @@ +import { writable } from "svelte/store"; + +const createDataStore = () => { + const { subscribe, update } = writable({ locked: false, data: null }); + + return { + subscribe, + set: data => { + update(state => { + if (!state.locked) { + return { locked: true, data }; + } else { + console.error("Tried setting data after locking."); + return state; + } + }); + }, + }; +}; + +export default createDataStore(); diff --git a/assets/src/stores/requests.ts b/assets/src/stores/requests.ts new file mode 100644 index 0000000..e80eb2b --- /dev/null +++ b/assets/src/stores/requests.ts @@ -0,0 +1,12 @@ +import { writable } from "svelte/store"; + +const createRequestStore = () => { + const { subscribe, update } = writable([]); + + return { + subscribe, + addRequest: request => update(state => [request, ...state]), + }; +}; + +export default createRequestStore(); -- cgit 1.4.1