From e3596b73a9fcf0b13cd9d13bc16b4d65741bee8c Mon Sep 17 00:00:00 2001 From: LiviaMedeiros Date: Wed, 18 May 2022 16:34:49 +0800 Subject: [PATCH] squash: avoid creating throwaway object --- lib/internal/util.js | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/lib/internal/util.js b/lib/internal/util.js index 1719c8a57ee1e2..12d31b5d332e40 100644 --- a/lib/internal/util.js +++ b/lib/internal/util.js @@ -335,14 +335,10 @@ function promisify(original, options = undefined) { validateFunction(original, 'original'); // No validateObject so .map(util.promisify) can work - if (options == null || typeof options !== 'object') { - options = ObjectCreate(null); - } - const { - resolveArray = false, - resolveObject = null, - callbackPosition = null, - } = options; + const useDefaultOptions = options == null || typeof options !== 'object'; + const resolveArray = useDefaultOptions ? false : options.allowArray; + const resolveObject = useDefaultOptions ? null : options.allowFunction; + const callbackPosition = useDefaultOptions ? null : options.nullable; if (original[kCustomPromisifiedSymbol]) { const fn = original[kCustomPromisifiedSymbol];