⬅️ 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];