Skip to content

Instantly share code, notes, and snippets.

View devagrawal09's full-sized avatar

Dev Agrawal devagrawal09

View GitHub Profile
@devagrawal09
devagrawal09 / dev's store.ts
Last active January 31, 2023 19:12
Simple reactive store for state management
export type QueryStatus = "loading" | "error" | "success";
export type ReadonlyStore<T> = {
getState: () => T;
subscribe: (
listenerOrStore: ((state: T) => void) | Store<any>
) => () => void;
};
export type Store<T> = ReadonlyStore<T> & {
setState: (newStateOrReducer: T | ((state: T) => T)) => void;
import type {
MutationObserverResult,
QueryObserverResult,
} from "@tanstack/query-core";
import { QueryClient } from "@tanstack/query-core";
import type { CreateTRPCClientOptions } from "@trpc/client";
import { createTRPCClient } from "@trpc/client";
import type {
AnyRouter,
AnyProcedure,