All files / stores useSocketConnectionStore.ts

100% Statements 13/13
100% Branches 3/3
100% Functions 2/2
100% Lines 13/13

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 341x 1x             1x 1x         2x           2x 1x 1x           2x 2x 2x 2x 1x  
import { create } from "zustand";
import { SocketConnectionStatus } from "~/types/SocketConnection";
import { SocketConnectionStore } from "~/types/SocketConnectionStore";
 
/**
 * Zustand store for managing the socket connection status.
 * Provides functionality to update and retrieve the connection status.
 */
export const useSocketConnectionStore = create<SocketConnectionStore>(
	(set, get) => ({
		/**
		 * Represents the current connection status.
		 * Initialized to 'DISCONNECTED'.
		 */
		connectionStatus: SocketConnectionStatus.DISCONNECTED,
 
		/**
		 * Updates the connection status to a new status.
		 * @param {SocketConnectionStatus} newStatus - The new connection status to set.
		 */
		updateSocketConnection: (newStatus: SocketConnectionStatus) => {
			set({ connectionStatus: newStatus });
		},
 
		/**
		 * Retrieves the current connection status.
		 * @returns {SocketConnectionStatus} The current connection status.
		 */
		getConnectionStatus: (): SocketConnectionStatus => {
			return get().connectionStatus;
		},
	}),
);