"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.CompactEncrypt = void 0; const encrypt_js_1 = require("../flattened/encrypt.js"); class CompactEncrypt { _flattened; constructor(plaintext) { this._flattened = new encrypt_js_1.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('.'); } } exports.CompactEncrypt = CompactEncrypt;