⬅️ Back to Table of Contents
📄 useClipboard.ts
📊 Analysis Summary
Metric |
Count |
🔧 Functions |
1 |
📦 Imports |
2 |
⚡ Async/Await Patterns |
1 |
📑 Type Aliases |
1 |
📚 Table of Contents
🛠️ File Location:
📂 packages/website/src/hooks/useClipboard.ts
📦 Imports
Name |
Source |
useCallback |
react |
useDebouncedToggle |
./useDebouncedToggle |
Async/Await Patterns
Type |
Function |
Await Expressions |
Promise Chains |
promise-chain |
useClipboard |
none |
navigator.clipboard.writeText(code()).then |
Functions
useClipboard(code: () => string): useClipboardResult
Code
export function useClipboard(code: () => string): useClipboardResult {
const [copied, setCopied] = useDebouncedToggle(false);
const copy = useCallback(
() =>
navigator.clipboard.writeText(code()).then(() => {
setCopied(true);
}),
[setCopied, code],
);
return [copied, copy];
}
- Parameters:
code: () => string
- Return Type:
useClipboardResult
- Calls:
useDebouncedToggle (from ./useDebouncedToggle)
useCallback (from react)
navigator.clipboard.writeText(code()).then
setCopied
Type Aliases
useClipboardResult
type useClipboardResult = [copied: boolean, copy: () => void];