mirror of
https://github.com/mountain-loop/yaak.git
synced 2026-03-19 07:54:23 +01:00
Add .oxfmtignore to skip generated bindings and wasm-pack output. Add npm format script, update DEVELOPMENT.md for Vite+ toolchain, and format all non-generated files with oxfmt. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
24 lines
876 B
TypeScript
24 lines
876 B
TypeScript
import type { GrpcRequest, HttpRequest, WebsocketRequest } from "@yaakapp-internal/models";
|
|
import { atom, useAtomValue } from "jotai";
|
|
import { activeRequestIdAtom } from "./useActiveRequestId";
|
|
import { allRequestsAtom } from "./useAllRequests";
|
|
|
|
export const activeRequestAtom = atom((get) => {
|
|
const activeRequestId = get(activeRequestIdAtom);
|
|
const requests = get(allRequestsAtom);
|
|
return requests.find((r) => r.id === activeRequestId) ?? null;
|
|
});
|
|
|
|
interface TypeMap {
|
|
http_request: HttpRequest;
|
|
grpc_request: GrpcRequest;
|
|
websocket_request: WebsocketRequest;
|
|
}
|
|
|
|
export function useActiveRequest<T extends keyof TypeMap>(model?: T): TypeMap[T] | null {
|
|
const activeRequest = useAtomValue(activeRequestAtom);
|
|
if (model == null) return activeRequest as TypeMap[T];
|
|
if (activeRequest?.model === model) return activeRequest as TypeMap[T];
|
|
return null;
|
|
}
|