types.ts (728B)
1 import { type IdbClientConfig, type ResolveError, type ResultPass } from "@radroots/utils"; 2 3 export type ClientCipherEncryptResolve = ResolveError<Uint8Array>; 4 export type ClientCipherDecryptResolve = ResolveError<Uint8Array>; 5 export type ClientCipherResetResolve = ResolveError<ResultPass>; 6 7 export type WebAesGcmCipherConfig = { 8 idb_config?: Partial<IdbClientConfig>; 9 key_name?: string; 10 key_length?: number; 11 iv_length?: number; 12 algorithm?: string; 13 }; 14 15 export interface IClientCipher { 16 get_config(): IdbClientConfig; 17 reset(): Promise<ClientCipherResetResolve>; 18 encrypt(data: Uint8Array): Promise<ClientCipherEncryptResolve>; 19 decrypt(blob: Uint8Array): Promise<ClientCipherDecryptResolve>; 20 }