1import { Capacitor, registerPlugin } from "@capacitor/core";2import type { VaultEntry } from "./types";34const InMemoryVault = registerPlugin<{5 setEntries(options: { entries: string }): Promise<void>;6 clearEntries(): Promise<void>;7}>("InMemoryVault");89function credentialEntries(entries: VaultEntry[]) {10 return entries11 .filter((entry) => entry.type === "login" && !entry.deletedAt && entry.password)12 .map((entry) => ({13 id: entry.id,14 type: entry.type,15 title: entry.title,16 username: entry.username ?? "",17 password: entry.password ?? "",18 url: entry.url ?? "",19 }));20}2122export async function publishInMemoryVault(entries: VaultEntry[]): Promise<void> {23 if (!Capacitor.isNativePlatform()) return;24 await InMemoryVault.setEntries({25 entries: JSON.stringify(credentialEntries(entries)),26 });27}2829export async function clearInMemoryVault(): Promise<void> {30 if (!Capacitor.isNativePlatform()) return;31 await InMemoryVault.clearEntries();32}