Snippets
Fragmentos de código listos para usar
Async & Promises
sleep
Pausa la ejecución durante un tiempo específico usando un delay basado en Promise.
debounce
Limita la frecuencia de ejecución de una función retrasándola hasta que las llamadas se detengan.
throttle
Limita la ejecución de una función a máximo una vez por intervalo.
memoize
Cachea resultados de funciones para evitar cálculos redundantes.
once
Asegura que una función solo se llame una vez, retornando el resultado cacheado.
retry
Reintenta una operación asíncrona con backoff exponencial en caso de fallo.
withTimeout
Añade un timeout a cualquier Promise, rechazándola si tarda demasiado.
Array Utilities
last
Obtiene el último elemento de un array de forma segura.
chunk
Divide un array en arrays más pequeños de un tamaño específico.
uniqueBy
Elimina duplicados de un array basándose en una función selectora de clave.
groupBy
Agrupa elementos de un array por una clave en un objeto de arrays.
partition
Divide un array en dos basándose en una función predicado.
shuffle
Mezcla aleatoriamente los elementos de un array usando el algoritmo Fisher-Yates.
Math & Numbers
Data & Validation
safeJsonParse
Parsea JSON de forma segura con resultado tipado y manejo de errores.
isPlainObject
Verifica si un valor es un objeto JavaScript simple (no array, null, etc).
isNonNull
Type guard para filtrar valores null y undefined.
String Manipulation
Internationalization
Browser APIs
storage
Wrapper de localStorage con tipos seguros y serialización JSON.
copyToClipboard
Copia texto al portapapeles con fallback para navegadores antiguos.
waitForElement
Espera a que un elemento DOM aparezca usando MutationObserver.
scrollToId
Hace scroll suave a un elemento por su ID.
onResize
Suscríbete a eventos de resize de window con limpieza automática.
URL & Query Strings
Functional Programming
TypeScript Types
ValueOf
Extrae la unión de todos los tipos de valores de un tipo objeto.
Prettify
Expande y aplana tipos de intersección complejos de TypeScript para legibilidad.
DeepPartial
Hace todas las propiedades de un objeto opcionales recursivamente.
Brand
Crea tipos nominales/branded para IDs y primitivos con tipos seguros.
assertNever
Verificador de exhaustividad para uniones discriminadas de TypeScript.
KeysOfUnion
Obtiene todas las claves de una unión de tipos objeto.
Merge
Fusiona dos tipos objeto donde B sobrescribe las propiedades de A.
hasType
Type guard para uniones discriminadas basado en la propiedad type.