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