From 02245f3300c2fea0d145d717c0fb0a7cdc783a87 Mon Sep 17 00:00:00 2001 From: averyjennings Date: Wed, 30 Jul 2025 14:46:20 -0700 Subject: [PATCH] Add helper.ts --- helper.ts | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 helper.ts diff --git a/helper.ts b/helper.ts new file mode 100644 index 0000000..9894abf --- /dev/null +++ b/helper.ts @@ -0,0 +1,31 @@ +export function formatString(input: string): string { + return input.trim().toLowerCase().replace(/\s+/g, '-'); +} + +export function calculateSum(numbers: number[]): number { + return numbers.reduce((acc, num) => acc + num, 0); +} + +export function isValidEmail(email: string): boolean { + const emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/; + return emailRegex.test(email); +} + +export function debounce any>( + func: T, + delay: number +): (...args: Parameters) => void { + let timeoutId: NodeJS.Timeout; + return (...args: Parameters) => { + clearTimeout(timeoutId); + timeoutId = setTimeout(() => func(...args), delay); + }; +} + +export function chunk(array: T[], size: number): T[][] { + const chunks: T[][] = []; + for (let i = 0; i < array.length; i += size) { + chunks.push(array.slice(i, i + size)); + } + return chunks; +} \ No newline at end of file