import { FlattenedEncrypt } from '../flattened/encrypt.js'; export class CompactEncrypt { constructor(plaintext) { this._flattened = new FlattenedEncrypt(plaintext); } setContentEncryptionKey(cek) { this._flattened.setContentEncryptionKey(cek); return this; } setInitializationVector(iv) { this._flattened.setInitializationVector(iv); return this; } setProtectedHeader(protectedHeader) { this._flattened.setProtectedHeader(protectedHeader); return this; } setKeyManagementParameters(parameters) { this._flattened.setKeyManagementParameters(parameters); return this; } async encrypt(key, options) { const jwe = await this._flattened.encrypt(key, options); return [jwe.protected, jwe.encrypted_key, jwe.iv, jwe.ciphertext, jwe.tag].join('.'); } }