in modules/serialize/src/serialize_factory.ts [246:292]
function buildMessageHeader({
encryptionContext,
encryptedDataKeys,
suite,
messageId,
frameLength,
suiteData,
}: {
encryptionContext: Readonly<EncryptionContext>
encryptedDataKeys: ReadonlyArray<EncryptedDataKey>
suite: AlgorithmSuite
messageId: Uint8Array
frameLength: number
suiteData?: Uint8Array
}): MessageHeader {
const { messageFormat: version, id: suiteId } = suite
const contentType = ContentType.FRAMED_DATA
if (version === MessageFormat.V1) {
const type = ObjectType.CUSTOMER_AE_DATA
const { ivLength: headerIvLength } = suite
return {
version,
type,
suiteId,
messageId,
encryptionContext,
encryptedDataKeys,
contentType,
headerIvLength,
frameLength,
} as MessageHeaderV1
} else if (version === MessageFormat.V2) {
return {
version,
suiteId,
messageId,
encryptionContext: encryptionContext,
encryptedDataKeys: encryptedDataKeys,
contentType,
frameLength,
suiteData,
} as MessageHeaderV2
}
needs(false, 'Unsupported message format version.')
}