Sobre el proyecto
getorset-anything es un pequeño paquete npm que envuelve un patrón común: buscar una clave en un Map o en un objeto plano, y crear un valor inicial si la clave está ausente. El README explica la motivación con un ejemplo en el que un Map contiene arrays y quien llama debe comprobar si es undefined, crear un array vacío, asignarlo y luego hacer push. El paquete proporciona las funciones mapGetOrSet y objGetOrSet para realizar ese paso de búsqueda o inicialización en una sola llamada.
El uso se muestra tanto para Maps como para objetos. Para un Map, mapGetOrSet(map, 'abc', () => []) devuelve el array existente o crea y almacena uno nuevo. Para un objeto, objGetOrSet(obj, 'abc', () => []) hace lo mismo. El README señala que la implementación evita una comprobación has() separada cuando se encuentra el valor, devolviéndolo inmediatamente, lo que se presenta como una consideración de rendimiento.
El soporte de TypeScript es una característica central. El README afirma que no se necesita configuración adicional y muestra la inferencia de tipos funcionando: el tipo de retorno de la fábrica debe coincidir con el tipo del valor del Map o del objeto, y el valor devuelto lleva ese tipo. Los ejemplos muestran una fábrica correcta que devuelve number[] y una fábrica incorrecta que devuelve un objeto siendo rechazada por el comprobador de tipos, así como errores de tipo al hacer push de un string en un array de números.
El paquete forma parte de una familia de pequeñas utilidades de TypeScript del mismo autor, que incluye is-what, is-where, merge-anything, check-anything, remove-anything, map-anything, filter-anything, copy-anything, case-anything, flatten-anything y nestify-anything. La instalación se realiza mediante npm i getorset-anything. El README no describe dependencias en tiempo de ejecución, tamaño del bundle, benchmarks ni compatibilidad con navegadores más allá del enfoque en TypeScript.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.