import { Capacitor, registerPlugin } from "@capacitor/core"; import type { VaultEntry } from "./types"; const InMemoryVault = registerPlugin<{ setEntries(options: { entries: string }): Promise; clearEntries(): Promise; }>("InMemoryVault"); function credentialEntries(entries: VaultEntry[]) { return entries .filter((entry) => entry.type === "login" && !entry.deletedAt && entry.password) .map((entry) => ({ id: entry.id, type: entry.type, title: entry.title, username: entry.username ?? "", password: entry.password ?? "", url: entry.url ?? "", })); } export async function publishInMemoryVault(entries: VaultEntry[]): Promise { if (!Capacitor.isNativePlatform()) return; await InMemoryVault.setEntries({ entries: JSON.stringify(credentialEntries(entries)), }); } export async function clearInMemoryVault(): Promise { if (!Capacitor.isNativePlatform()) return; await InMemoryVault.clearEntries(); }