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>
26 lines
702 B
JavaScript
26 lines
702 B
JavaScript
import { DoubleIndexedKV } from './double-indexed-kv.js';
|
|
export class Registry {
|
|
constructor(generateIdentifier) {
|
|
this.generateIdentifier = generateIdentifier;
|
|
this.kv = new DoubleIndexedKV();
|
|
}
|
|
register(value, identifier) {
|
|
if (this.kv.getByValue(value)) {
|
|
return;
|
|
}
|
|
if (!identifier) {
|
|
identifier = this.generateIdentifier(value);
|
|
}
|
|
this.kv.set(identifier, value);
|
|
}
|
|
clear() {
|
|
this.kv.clear();
|
|
}
|
|
getIdentifier(value) {
|
|
return this.kv.getByValue(value);
|
|
}
|
|
getValue(identifier) {
|
|
return this.kv.getByKey(identifier);
|
|
}
|
|
}
|
|
//# sourceMappingURL=registry.js.map
|