hp3
> Una colección de funciones utilitarias modernas y livianas para JavaScript. Hecha para simplificar tareas comunes de validación, transformación y manipulación de datos.


🚀 Instalación
``
bash
npm install hp3
`
o usando Yarn:
`
bash
yarn add hp3
`
🧩 ¿Qué incluye?
> hp3 proporciona funciones listas para usar en validaciones, chequeos de tipo, transformaciones seguras y manejo de estructuras complejas como objetos y arreglos.
$3
| Función | Descripción breve |
| --------------------- | ------------------------------------------------------------------------------------------------------------------ |
| is_blank(value)
| Devuelve true
si el valor es null
, una cadena vacía, un iterable vacío, o se considera vacío según is_empty
. |
| is_filled(value)
| Devuelve true
si el valor no es "en blanco" (lo opuesto a is_blank
). |
| is_undefined(value)
| Devuelve true
si el valor es estrictamente undefined
. |
| is_empty(value)
| Devuelve true
si el valor es undefined
, null
, una cadena vacía, un array vacío o un objeto sin propiedades. |
| is_null(value)
| Devuelve true
si el valor es exactamente null
. |
| is_string(value)
| Devuelve true
si el valor es una cadena (typeof === "string"
o instancia de String
). |
| is_numeric(value)
| Devuelve true
si el valor puede ser interpretado como un número (ej: "123"
o 42
). |
| is_number(value)
| Devuelve true
si el valor es estrictamente del tipo number
. |
| is_bool(value)
| Devuelve true
si el valor es un booleano (true
o false
). |
| is_symbol(value)
| Devuelve true
si el valor es un symbol
. |
| is_bigint(value)
| Devuelve true
si el valor es de tipo bigint
. |
| is_object(value)
| Devuelve true
si el valor es un objeto y no es null
. |
| is_function(value)
| Devuelve true
si el valor es una función. |
| is_array(value)
| Devuelve true
si el valor es un array (Array.isArray
). |
| is_iterable(value)
| Devuelve true
si el valor tiene Symbol.iterator
(por ejemplo, strings, arrays, Maps, Sets). |
| is_date(value)
| Devuelve true
si el valor es una instancia de Date
. |
| is_regexp(value)
| Devuelve true
si el valor es una expresión regular (RegExp
). |
| is_promise(value)
| Devuelve true
si el valor es una promesa (tiene métodos .then()
y .catch()
). |
| is_error(value)
| Devuelve true
si el valor es una instancia de Error
. |
| is(value, type)
| Verifica si el valor coincide con un tipo dado (typeof
, instanceof
, o un array de tipos). |
$3
| Función | Descripción breve |
| ------------------ | ------------------------------------------------------------------------------------------------ |
| if_blank
| Devuelve trueValue
si value
está en blanco según is_blank
, si no, devuelve value
. |
| if_not_blank
| Devuelve trueValue
si value
no está en blanco, si no, devuelve value
. |
| if_filled
| Devuelve trueValue
si value
está lleno (no en blanco), si no, devuelve value
. |
| if_not_filled
| Devuelve trueValue
si value
no está lleno, si no, devuelve value
. |
| if_undefined
| Devuelve trueValue
si value
es undefined
, si no, devuelve value
. |
| if_not_undefined
| Devuelve trueValue
si value
no es undefined
, si no, devuelve value
. |
| if_empty
| Devuelve trueValue
si value
está vacío según is_empty
, si no, devuelve value
. |
| if_not_empty
| Devuelve trueValue
si value
no está vacío, si no, devuelve value
. |
| if_null
| Devuelve trueValue
si value
es null
, si no, devuelve value
. |
| if_not_null
| Devuelve trueValue
si value
no es null
, si no, devuelve value
. |
| if_string
| Devuelve trueValue
si value
es una cadena, si no, devuelve value
. |
| if_not_string
| Devuelve trueValue
si value
no es una cadena, si no, devuelve value
. |
| if_numeric
| Devuelve trueValue
si value
es numérico, si no, devuelve value
. |
| if_not_numeric
| Devuelve trueValue
si value
no es numérico, si no, devuelve value
. |
| if_number
| Devuelve trueValue
si value
es un número (typeof === "number"
), si no, devuelve value
. |
| if_not_number
| Devuelve trueValue
si value
no es un número, si no, devuelve value
. |
| if_bool
| Devuelve trueValue
si value
es booleano, si no, devuelve value
. |
| if_not_bool
| Devuelve trueValue
si value
no es booleano, si no, devuelve value
. |
| if_symbol
| Devuelve trueValue
si value
es un símbolo, si no, devuelve value
. |
| if_not_symbol
| Devuelve trueValue
si value
no es un símbolo, si no, devuelve value
. |
| if_bigint
| Devuelve trueValue
si value
es un bigint
, si no, devuelve value
. |
| if_not_bigint
| Devuelve trueValue
si value
no es un bigint
, si no, devuelve value
. |
| if_object
| Devuelve trueValue
si value
es un objeto, si no, devuelve value
. |
| if_not_object
| Devuelve trueValue
si value
no es un objeto, si no, devuelve value
. |
| if_function
| Devuelve trueValue
si value
es una función, si no, devuelve value
. |
| if_not_function
| Devuelve trueValue
si value
no es una función, si no, devuelve value
. |
| if_array
| Devuelve trueValue
si value
es un array, si no, devuelve value
. |
| if_not_array
| Devuelve trueValue
si value
no es un array, si no, devuelve value
. |
| if_iterable
| Devuelve trueValue
si value
es iterable (como array, string, etc.), si no, devuelve value
. |
| if_not_iterable
| Devuelve trueValue
si value
no es iterable, si no, devuelve value
. |
| if_date
| Devuelve trueValue
si value
es una instancia de Date
, si no, devuelve value
. |
| if_not_date
| Devuelve trueValue
si value
no es una instancia de Date
, si no, devuelve value
. |
| if_regexp
| Devuelve trueValue
si value
es una expresión regular (RegExp
), si no, devuelve value
. |
| if_not_regexp
| Devuelve trueValue
si value
no es una expresión regular, si no, devuelve value
. |
| if_promise
| Devuelve trueValue
si value
es una promesa (Promise
), si no, devuelve value
. |
| if_not_promise
| Devuelve trueValue
si value
no es una promesa, si no, devuelve value
. |
| if_error
| Devuelve trueValue
si value
es una instancia de Error
, si no, devuelve value
. |
| if_not_error
| Devuelve trueValue
si value
no es un error, si no, devuelve value
. |
$3
| Función | Descripción breve |
| -------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- |
| object_get
| Obtiene el valor de una propiedad anidada usando notación de punto ("a.b.c"
). Devuelve un valor por defecto si no existe la ruta. |
| object_set
| Establece el valor de una propiedad anidada usando notación de punto. Crea la estructura si es necesario y soporta el comodín "*"
para asignación masiva. |
| object_has
| Verifica si una ruta existe dentro de un objeto utilizando notación de punto. |
| object_unset
| Elimina una propiedad anidada de un objeto utilizando notación de punto. |
$3
| Función | Descripción breve |
| ----------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| value
| Devuelve el valor evaluado: si es una función, la ejecuta con los argumentos dados; si no, lo devuelve tal cual. |
| transform
| Aplica una función (callback
) a un valor si está "relleno" (is_filled
); de lo contrario, devuelve un valor por defecto (que también puede ser una función). |
| first
| Devuelve el primer elemento de una colección iterable con índice (como un array o string). Retorna undefined
si no es iterable. |
| last
| Devuelve el último elemento de una colección iterable que tenga .slice()
. Retorna undefined
si no aplica. |
$3
`
js
import { is_blank, transform, object_get, object_set } from 'hp3';
console.log(is_blank(" ")); // true
console.log(is_blank(42)); // false
const user = {
profile: {
name: "Antonio"
}
};
console.log(object_get(user, "profile.name")); // "Antonio"
console.log(object_get(user, "profile.age", 30)); // 30
const updated = object_set(user, "profile.age", 35);
console.log(updated.profile.age); // 35
console.log(transform("dato", v => v.toUpperCase(), "VACÍO")); // "DATO"
console.log(transform("", v => v.toUpperCase(), "VACÍO")); // "VACÍO"
``
$3
> Todas las funciones están documentadas usando JSDoc. Puedes revisar directamente el código fuente o generar documentación si lo necesitas.
$3
> ¡Las contribuciones son bienvenidas! Puedes abrir un issue con una sugerencia o enviar un pull request.
$3
> MIT License / Licencia MIT
>
> Copyright (c) 2025 hgjfkdls
>> LICENSE