/
Alex_Ural
/
opencode
Обзор
Документация
Войти
/
Alex_Ural
/
opencode
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
dev
packages/app/src/wsl/context.tsx
36 строк
1 KB
Luke Parker
feat: desktop v2 everything WSL (#23407)
06 июн 2026, 07:38
Не верифицирован
06 июн 2026, 07:38
bd7eb06
Код
Авторство
О чём код?
import { createSimpleContext } from "@opencode-ai/ui/context" import { queryOptions, useQuery, useQueryClient } from "@tanstack/solid-query" import { createEffect, onCleanup } from "solid-js" import type { WslServersState } from "./types" import { usePlatform } from "../context/platform" const wslServersQueryKey = ["platform", "wslServers"] as const export const { use: useWslServers, provider: WslServersProvider } = createSimpleContext({ name: "WslServers", init: () => { const platform = usePlatform() const queryClient = useQueryClient() const query = useQuery(() => { const api = platform.wslServers return queryOptions<WslServersState>({ queryKey: wslServersQueryKey, queryFn: () => api!.getState(), enabled: !!api, staleTime: Number.POSITIVE_INFINITY, gcTime: Number.POSITIVE_INFINITY, }) }) createEffect(() => { const api = platform.wslServers if (!api) return const off = api.subscribe((event) => { queryClient.setQueryData(wslServersQueryKey, event.state) }) onCleanup(off) }) return query as typeof query & { readonly data: WslServersState | undefined } }, })