{"version":3,"file":"VaultDocument.mjs","names":[],"sources":["../../src/models/VaultDocument.ts"],"sourcesContent":["/**\n * Vault Document Model\n *\n * Represents a complete vault: header + ciphertext\n */\n\nimport { fromBase64UrlPure, toBase64UrlPure } from '../utils/base64url'\nimport type { VaultHeader } from './VaultHeader'\n\nexport interface VaultDocument {\n  header: VaultHeader\n  ciphertext: Uint8Array\n}\n\nexport interface VaultDocumentJson {\n  header: VaultHeader\n  ciphertext: string // base64url\n}\n\n/**\n * Serialize vault document to JSON\n */\nexport function vaultDocumentToJson(document: VaultDocument): VaultDocumentJson {\n  return {\n    header: document.header,\n    ciphertext: toBase64UrlPure(document.ciphertext),\n  }\n}\n\n/**\n * Deserialize vault document from JSON\n */\nexport function vaultDocumentFromJson(json: VaultDocumentJson): VaultDocument {\n  return {\n    header: json.header,\n    ciphertext: fromBase64UrlPure(json.ciphertext),\n  }\n}\n"],"mappings":";;;;;;;;;;;AAsBA,SAAgB,oBAAoB,UAA4C;AAC9E,QAAO;EACL,QAAQ,SAAS;EACjB,YAAY,gBAAgB,SAAS,WAAW;EACjD;;;;;AAMH,SAAgB,sBAAsB,MAAwC;AAC5E,QAAO;EACL,QAAQ,KAAK;EACb,YAAY,kBAAkB,KAAK,WAAW;EAC/C"}