@bantis/local-cipher 2.0.0 → 2.1.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,156 @@
1
+ import { Observable } from 'rxjs';
2
+ import type { SecureStorageConfig, StorageEventData, ExpiryOptions, EncryptedBackup } from '../types';
3
+ /**
4
+ * Servicio de Angular para SecureStorage v2
5
+ * Proporciona una API reactiva usando RxJS Observables
6
+ *
7
+ * @example
8
+ * constructor(private secureStorage: SecureStorageService) {}
9
+ *
10
+ * // Guardar
11
+ * this.secureStorage.setItem('token', 'abc123').subscribe();
12
+ *
13
+ * // Leer
14
+ * this.secureStorage.getItem('token').subscribe(token => console.log(token));
15
+ *
16
+ * // Escuchar eventos
17
+ * this.secureStorage.events$.subscribe(event => console.log(event));
18
+ */
19
+ export declare class SecureStorageService {
20
+ private storage;
21
+ private debugInfo$;
22
+ private eventsSubject$;
23
+ /**
24
+ * Observable de eventos de storage
25
+ */
26
+ events$: any;
27
+ constructor(config?: SecureStorageConfig);
28
+ /**
29
+ * Guarda un valor encriptado
30
+ * @param key - Clave
31
+ * @param value - Valor a guardar
32
+ * @returns Observable que completa cuando se guarda
33
+ */
34
+ setItem(key: string, value: string): Observable<void>;
35
+ /**
36
+ * Guarda un valor con expiración
37
+ * @param key - Clave
38
+ * @param value - Valor a guardar
39
+ * @param options - Opciones de expiración
40
+ * @returns Observable que completa cuando se guarda
41
+ */
42
+ setItemWithExpiry(key: string, value: string, options: ExpiryOptions): Observable<void>;
43
+ /**
44
+ * Recupera un valor desencriptado
45
+ * @param key - Clave
46
+ * @returns Observable con el valor o null
47
+ */
48
+ getItem(key: string): Observable<string | null>;
49
+ /**
50
+ * Elimina un valor
51
+ * @param key - Clave a eliminar
52
+ * @returns Observable que completa cuando se elimina
53
+ */
54
+ removeItem(key: string): Observable<void>;
55
+ /**
56
+ * Verifica si existe una clave
57
+ * @param key - Clave a verificar
58
+ * @returns Observable con true/false
59
+ */
60
+ hasItem(key: string): Observable<boolean>;
61
+ /**
62
+ * Limpia todos los datos encriptados
63
+ */
64
+ clear(): void;
65
+ /**
66
+ * Limpia todos los items expirados
67
+ * @returns Observable con el número de items eliminados
68
+ */
69
+ cleanExpired(): Observable<number>;
70
+ /**
71
+ * Verifica la integridad de un valor
72
+ * @param key - Clave a verificar
73
+ * @returns Observable con true si es válido
74
+ */
75
+ verifyIntegrity(key: string): Observable<boolean>;
76
+ /**
77
+ * Obtiene información de integridad de un valor
78
+ * @param key - Clave
79
+ * @returns Observable con información de integridad
80
+ */
81
+ getIntegrityInfo(key: string): Observable<any>;
82
+ /**
83
+ * Crea un namespace para organizar datos
84
+ * @param name - Nombre del namespace
85
+ * @returns Instancia de NamespacedStorage
86
+ */
87
+ namespace(name: string): import("..").NamespacedStorage;
88
+ /**
89
+ * Rota todas las claves de encriptación
90
+ * @returns Observable que completa cuando termina la rotación
91
+ */
92
+ rotateKeys(): Observable<void>;
93
+ /**
94
+ * Exporta todos los datos como backup
95
+ * @returns Observable con el backup
96
+ */
97
+ exportEncryptedData(): Observable<EncryptedBackup>;
98
+ /**
99
+ * Importa datos desde un backup
100
+ * @param backup - Backup a importar
101
+ * @returns Observable que completa cuando termina la importación
102
+ */
103
+ importEncryptedData(backup: EncryptedBackup): Observable<void>;
104
+ /**
105
+ * Migra datos existentes a formato encriptado
106
+ * @param keys - Array de claves a migrar
107
+ * @returns Observable que completa cuando termina la migración
108
+ */
109
+ migrateExistingData(keys: string[]): Observable<void>;
110
+ /**
111
+ * Obtiene información de debug como Observable
112
+ * @returns Observable con información de debug que se actualiza automáticamente
113
+ */
114
+ getDebugInfo$(): Observable<any>;
115
+ /**
116
+ * Obtiene información de debug de forma síncrona
117
+ */
118
+ private getDebugInfo;
119
+ /**
120
+ * Helper para guardar objetos JSON
121
+ * @param key - Clave
122
+ * @param value - Objeto a guardar
123
+ */
124
+ setObject<T>(key: string, value: T): Observable<void>;
125
+ /**
126
+ * Helper para guardar objetos JSON con expiración
127
+ * @param key - Clave
128
+ * @param value - Objeto a guardar
129
+ * @param options - Opciones de expiración
130
+ */
131
+ setObjectWithExpiry<T>(key: string, value: T, options: ExpiryOptions): Observable<void>;
132
+ /**
133
+ * Helper para recuperar objetos JSON
134
+ * @param key - Clave
135
+ * @returns Observable con el objeto parseado o null
136
+ */
137
+ getObject<T>(key: string): Observable<T | null>;
138
+ /**
139
+ * Registra un listener para un tipo de evento específico
140
+ * @param event - Tipo de evento
141
+ * @param handler - Función manejadora
142
+ */
143
+ on(event: any, handler: (data: StorageEventData) => void): void;
144
+ /**
145
+ * Elimina un listener de evento
146
+ * @param event - Tipo de evento
147
+ * @param handler - Función manejadora
148
+ */
149
+ off(event: any, handler: (data: StorageEventData) => void): void;
150
+ /**
151
+ * Observable filtrado por tipo de evento
152
+ * @param eventType - Tipo de evento a filtrar
153
+ * @returns Observable con eventos del tipo especificado
154
+ */
155
+ onEvent$(eventType: string): Observable<StorageEventData>;
156
+ }
@@ -0,0 +1,9 @@
1
+ /**
2
+ * @bantis/local-cipher/angular - Angular Integration
3
+ * Angular service for encrypted browser storage
4
+ *
5
+ * @version 2.1.0
6
+ * @license MIT
7
+ */
8
+ export * from './index';
9
+ export { SecureStorageService } from './angular/SecureStorageService';