Rust backend: SQLite (WAL mode, 8 tables), vault encryption (Argon2id + AES-256-GCM), settings/connections/credentials services, 19 Tauri command wrappers. 46/46 tests passing. Vue 3 frontend: unlock/create vault flow, Pinia app store, Tailwind CSS v4 dark theme with Wraith branding. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
14 lines
504 B
TypeScript
14 lines
504 B
TypeScript
import { JSONValue } from './types.js';
|
|
export interface CustomTransfomer<I, O extends JSONValue> {
|
|
name: string;
|
|
isApplicable: (v: any) => v is I;
|
|
serialize: (v: I) => O;
|
|
deserialize: (v: O) => I;
|
|
}
|
|
export declare class CustomTransformerRegistry {
|
|
private transfomers;
|
|
register<I, O extends JSONValue>(transformer: CustomTransfomer<I, O>): void;
|
|
findApplicable<T>(v: T): CustomTransfomer<T, JSONValue> | undefined;
|
|
findByName(name: string): CustomTransfomer<any, any>;
|
|
}
|