json-secure-store
Version:
Typed JSON storage wrapper for localStorage/sessionStorage with optional encryption.
25 lines (24 loc) • 632 B
TypeScript
export declare enum StorageType {
Local = "localStorage",
Session = "sessionStorage"
}
export interface StorageOptions {
storageType?: StorageType;
encrypt?: boolean;
encryptionKey?: string;
cache?: boolean;
namespace?: string;
defaultTTL?: number;
}
export interface StorageAdapter {
setItem<T>(key: string, value: T): Promise<void>;
getItem<T>(key: string): Promise<T | null>;
removeItem(key: string): void;
clear(): void;
raw(): Storage;
}
export interface StoredValue<T> {
data: T;
expiresAt?: number;
}
export type ChangeCallback = (key: string, value: any) => void;