about summary refs log tree commit diff
path: root/assets/src/stores/received_requests.ts
blob: 48916ad7973a9242b29fc1720294ade111d2a734 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
import { writable } from "svelte/store";
import type { IncomingRequest } from "../models/incoming_request";

const createRequestStore = () => {
    const { subscribe, update } = writable<IncomingRequest[]>([]);

    return {
        subscribe,
        addRequest: (request: IncomingRequest) => update(state => [request, ...state]),
        removeRequest: (token: string) =>
            update(state =>
                state.filter(request => request.info.token !== token)
            ),
    };
};

export default createRequestStore();