@bantis/local-cipher 2.2.0 → 2.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,17 @@
1
+ import { SecureStorage } from '../core/SecureStorage';
2
+ import { PlainStorage } from './PlainStorage';
3
+ import type { SecureStorageConfig } from '../types';
4
+ /**
5
+ * Crea una instancia de almacenamiento encriptado.
6
+ * @param engine 'localStorage' o 'sessionStorage'
7
+ * @param secretKey Llave secreta opcional para derivación de claves
8
+ * @param config Configuración adicional opcional
9
+ * @returns Instancia de SecureStorage
10
+ */
11
+ export declare function createEncryptedStorage(engine?: 'localStorage' | 'sessionStorage', secretKey?: string, config?: SecureStorageConfig): SecureStorage;
12
+ /**
13
+ * Crea una instancia de almacenamiento plano (sin cifrar).
14
+ * @param engine 'localStorage' o 'sessionStorage'
15
+ * @returns Instancia de PlainStorage
16
+ */
17
+ export declare function createPlainStorage(engine?: 'localStorage' | 'sessionStorage'): PlainStorage;
@@ -0,0 +1,17 @@
1
+ import { createPlainStorage, createEncryptedStorage } from './StorageManager';
2
+ import { createPlainCookieManager, createEncryptedCookieManager } from './CookieManager';
3
+ export { PlainStorage } from './PlainStorage';
4
+ export { PlainCookie } from './PlainCookie';
5
+ export { createPlainStorage, createEncryptedStorage, createPlainCookieManager, createEncryptedCookieManager };
6
+ /**
7
+ * Instancia predeterminada de almacenamiento local (sin cifrar).
8
+ */
9
+ export declare const localStore: import("./PlainStorage").PlainStorage;
10
+ /**
11
+ * Instancia predeterminada de almacenamiento de sesión (sin cifrar).
12
+ */
13
+ export declare const sessionStore: import("./PlainStorage").PlainStorage;
14
+ /**
15
+ * Instancia predeterminada de gestor de cookies (sin cifrar).
16
+ */
17
+ export declare const cookies: import("./PlainCookie").PlainCookie;
@@ -43,3 +43,15 @@ export declare function useNamespace(namespace: string, storage?: SecureStorage)
43
43
  * Exportar la instancia de SecureStorage para uso directo
44
44
  */
45
45
  export declare const secureStorage: SecureStorage;
46
+ /**
47
+ * Interface genérica para managers de almacenamiento asíncrono
48
+ */
49
+ interface AsyncStorageManager {
50
+ get<T>(key: string): Promise<T | null>;
51
+ set<T>(key: string, value: T): Promise<void>;
52
+ }
53
+ /**
54
+ * Hook para sincronizar el estado de React con el Storage Manager (por defecto localStore en texto plano)
55
+ */
56
+ export declare function useLocalStore<T>(key: string, initialValue: T, storageManager?: AsyncStorageManager): [T, (newValue: T) => Promise<void>];
57
+ export {};
package/dist/react.d.ts CHANGED
@@ -6,4 +6,4 @@
6
6
  * @license MIT
7
7
  */
8
8
  export * from './index';
9
- export { initializeSecureStorage, useSecureStorage, useSecureStorageItem, useSecureStorageWithExpiry, useSecureStorageEvents, useNamespace, useSecureStorageDebug, secureStorage as reactSecureStorage, } from './react/hooks';
9
+ export { initializeSecureStorage, useSecureStorage, useSecureStorageItem, useSecureStorageWithExpiry, useSecureStorageEvents, useSecureStorageDebug, secureStorage as reactSecureStorage, useLocalStore, } from './react/hooks';