Saltar al contenido principal
npm · v2.0.0
Vali-Storages

Vali-Storages

// almacenamiento, encriptado & tipado.

— Instalación
$bun add vali-storages
or
$npm install vali-storages
AES-256Nivel de cifrado
3Tamaños de clave
4Unidades de tiempo
100%Tipado TypeScript
0Dependencias
— Características

Todo lo que necesitas

Una API async, limpia y completamente tipada sobre localStorage y sessionStorage.

SEGURIDAD
🔐

Encriptación AES-GCM

Encriptación AES-128, 192 o 256-bit via la Web Crypto API. Los valores se encriptan en escritura y se descifran en lectura automáticamente.

CICLO DE VIDA

Expiración TTL

Configura el tiempo de vida en segundos, minutos, horas o días. Los items expirados se eliminan en la siguiente lectura.

TYPESCRIPT
🔒

API con Tipos

Usa createTypedStorage<Schema>() para verificación de tipos en compilación. Detecta errores antes de que ocurran en runtime.

TIEMPO REAL
📡

Sync Cross-Tab

Reacciona a cambios desde otras pestañas con onChange. Experiencias multi-tab reactivas sin ningún boilerplate.

AISLAMIENTO
🏷

Namespacing

Aislamiento por prefijo. clear() y size() solo afectan su propio namespace — sin colisiones entre instancias.

RENDIMIENTO
🧩

Operaciones Batch

Lee y escribe múltiples claves con setItems, getItems y getAll. Ejecución paralela eficiente internamente.

— Ejemplos

Ve el código

Desde uso básico hasta encriptación AES-256, tipado estricto y sync entre pestañas.

storage.ts
import { ValiStorages } from 'vali-storages';

const storage = new ValiStorages();

// Escribir y leer
await storage.setItem('usuario', 'felipe');
const nombre = await storage.getItem<string>('usuario');
// → 'felipe'

// Verificar, contar, leer todo
storage.has('usuario');              // → true
storage.size();                      // → 1
const todo = await storage.getAll(); // → { usuario: 'felipe' }

// Patrón cache — calcula solo si no existe
const data = await storage.getOrSet('config', async () => {
  return await obtenerConfigDeAPI();
});

// Eliminar y limpiar
storage.removeItem('usuario');
storage.removeExpired();
storage.clear();

Listo para empezar?

Explora la documentación completa y lleva tu manejo de storage al siguiente nivel.