# TypeScript/JavaScript Patterns > This file extends [common/patterns.md](../common/patterns.md) with TypeScript/JavaScript specific content. ## API Response Format ```typescript interface ApiResponse { success: boolean data?: T error?: string meta?: { total: number page: number limit: number } } ``` ## Custom Hooks Pattern ```typescript export function useDebounce(value: T, delay: number): T { const [debouncedValue, setDebouncedValue] = useState(value) useEffect(() => { const handler = setTimeout(() => setDebouncedValue(value), delay) return () => clearTimeout(handler) }, [value, delay]) return debouncedValue } ``` ## Repository Pattern ```typescript interface Repository { findAll(filters?: Filters): Promise findById(id: string): Promise create(data: CreateDto): Promise update(id: string, data: UpdateDto): Promise delete(id: string): Promise } ```