From 5bae211316e054d24b3840a03d4b882ea5e2970c Mon Sep 17 00:00:00 2001 From: Alexander Cerutti Date: Thu, 12 Dec 2019 23:04:15 +0100 Subject: [PATCH] Improved types for readCertificatesFromOptions --- src/parser.ts | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/parser.ts b/src/parser.ts index ec2fcac..cc9821a 100644 --- a/src/parser.ts +++ b/src/parser.ts @@ -231,6 +231,8 @@ export function getModelBufferContents(model: BundleUnit): PartitionedBundle { * @param options */ +type flatCertificates = Omit & { signerKey: string; [key: string]: string }; + export async function readCertificatesFromOptions(options: Certificates): Promise { if (!(options && Object.keys(options).length && isValid(options, "certificatesSchema"))) { throw new Error(formatMessage("CP_NO_CERTS")); @@ -240,11 +242,13 @@ export async function readCertificatesFromOptions(options: Certificates): Promis // all the real contents and don't care of passphrase const flattenedDocs = Object.assign({}, options, { signerKey: ( - typeof options.signerKey === "string" - ? options.signerKey - : options.signerKey.keyFile + options.signerKey && typeof options.signerKey === "string" && + options.signerKey || ( + options.signerKey && + options.signerKey.keyFile + ) ) - }); + }) as flatCertificates; // We read the contents const rawContentsPromises = Object.keys(flattenedDocs)