Download packages/tui/src/context/clipboard.tsx from SaylorTwift/opencode: direct link, hf CLI and curl.
- Browser
- Download file 700 Bytes
-
https://huggingface.co/SaylorTwift/opencode/resolve/main/packages/tui/src/context/clipboard.tsx
- Command line
-
hf download hf://SaylorTwift/opencode/packages/tui/src/context/clipboard.tsx
-
curl -L -o clipboard.tsx https://huggingface.co/SaylorTwift/opencode/resolve/main/packages/tui/src/context/clipboard.tsx
700 Bytes
| import { createContext, type JSX, useContext } from "solid-js" | |
| import { read, write } from "../clipboard" | |
| export type ClipboardContent = Readonly<{ data: string; mime: string }> | |
| export type ClipboardService = Readonly<{ | |
| read?(): Promise<ClipboardContent | undefined> | |
| write?(text: string): Promise<void> | |
| }> | |
| const clipboard = { read, write } | |
| const ClipboardContext = createContext<ClipboardService>(clipboard) | |
| export function ClipboardProvider(props: { value?: ClipboardService; children: JSX.Element }) { | |
| return <ClipboardContext.Provider value={props.value ?? clipboard}>{props.children}</ClipboardContext.Provider> | |
| } | |
| export function useClipboard() { | |
| return useContext(ClipboardContext) | |
| } | |