From f82068f633523edd42b01df28d031b2cacfbcc1d Mon Sep 17 00:00:00 2001 From: Morgan Roderick Date: Sat, 20 Jan 2024 15:31:29 +0100 Subject: [PATCH] chore: remove obsolete IE11 code When we upgraed to @sinonjs/eslint-config@4 in 09e99f4e310c20408df50330124e4d68a60e9b6a we effectively removed support for IE11. That means that this code branch is obsolete and is safe to remove. --- lib/class-name.js | 17 ++--------------- 1 file changed, 2 insertions(+), 15 deletions(-) diff --git a/lib/class-name.js b/lib/class-name.js index 95cb41a..a125e53 100644 --- a/lib/class-name.js +++ b/lib/class-name.js @@ -1,26 +1,13 @@ "use strict"; -var functionName = require("./function-name"); - /** * Returns a display name for a value from a constructor * @param {object} value A value to examine * @returns {(string|null)} A string or null */ function className(value) { - return ( - (value.constructor && value.constructor.name) || - // The next branch is for IE11 support only: - // Because the name property is not set on the prototype - // of the Function object, we finally try to grab the - // name from its definition. This will never be reached - // in node, so we are not able to test this properly. - // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/name - (typeof value.constructor === "function" && - /* istanbul ignore next */ - functionName(value.constructor)) || - null - ); + const name = value.constructor && value.constructor.name; + return name || null; } module.exports = className;