From 627bf59e8ddd9826720c45f430c2a2e489df6e66 Mon Sep 17 00:00:00 2001 From: cjihrig Date: Fri, 23 Aug 2019 15:47:40 -0400 Subject: [PATCH] lib: consolidate lazyErrmapGet() There are currently two implementations of this function. This commit removes the redundancy, and removes "lazy" from the name. PR-URL: https://github.com/nodejs/node/pull/29285 Reviewed-By: James M Snell Reviewed-By: Luigi Pinca Reviewed-By: Trivikram Kamat --- lib/internal/errors.js | 7 ++++--- lib/internal/util.js | 25 ++++++++----------------- 2 files changed, 12 insertions(+), 20 deletions(-) diff --git a/lib/internal/errors.js b/lib/internal/errors.js index 5c0d328a1b5eb3..cf97a76b367743 100644 --- a/lib/internal/errors.js +++ b/lib/internal/errors.js @@ -327,7 +327,7 @@ function lazyUv() { return uvBinding; } -function lazyErrmapGet(name) { +function uvErrmapGet(name) { uvBinding = lazyUv(); if (!uvBinding.errmap) { uvBinding.errmap = uvBinding.getErrorMap(); @@ -346,7 +346,7 @@ function lazyErrmapGet(name) { * @returns {Error} */ function uvException(ctx) { - const [ code, uvmsg ] = lazyErrmapGet(ctx.errno); + const [ code, uvmsg ] = uvErrmapGet(ctx.errno); let message = `${code}: ${ctx.message || uvmsg}, ${ctx.syscall}`; let path; @@ -404,7 +404,7 @@ function uvException(ctx) { * @returns {Error} */ function uvExceptionWithHostPort(err, syscall, address, port) { - const [ code, uvmsg ] = lazyErrmapGet(err); + const [ code, uvmsg ] = uvErrmapGet(err); const message = `${syscall} ${code}: ${uvmsg}`; let details = ''; @@ -671,6 +671,7 @@ module.exports = { hideStackFrames, isStackOverflowError, connResetException, + uvErrmapGet, uvException, uvExceptionWithHostPort, SystemError, diff --git a/lib/internal/util.js b/lib/internal/util.js index 67d4130ddd3053..e13cce92fff3eb 100644 --- a/lib/internal/util.js +++ b/lib/internal/util.js @@ -1,12 +1,14 @@ 'use strict'; const { Object, Reflect } = primordials; - const { - ERR_INVALID_ARG_TYPE, - ERR_NO_CRYPTO, - ERR_UNKNOWN_SIGNAL -} = require('internal/errors').codes; + codes: { + ERR_INVALID_ARG_TYPE, + ERR_NO_CRYPTO, + ERR_UNKNOWN_SIGNAL + }, + uvErrmapGet +} = require('internal/errors'); const { signals } = internalBinding('constants').os; const { getHiddenValue, @@ -244,19 +246,8 @@ function getConstructorOf(obj) { return null; } -let uvBinding; -function lazyErrmapGet(name) { - if (!uvBinding) { - uvBinding = internalBinding('uv'); - } - if (!uvBinding.errmap) { - uvBinding.errmap = uvBinding.getErrorMap(); - } - return uvBinding.errmap.get(name); -} - function getSystemErrorName(err) { - const entry = lazyErrmapGet(err); + const entry = uvErrmapGet(err); return entry ? entry[0] : `Unknown system error ${err}`; }