diff --git a/lib/rules/no-danger.js b/lib/rules/no-danger.js index 9669131037..f373ec4c36 100644 --- a/lib/rules/no-danger.js +++ b/lib/rules/no-danger.js @@ -5,6 +5,9 @@ 'use strict'; +const has = require('object.hasown/polyfill')(); +const fromEntries = require('object.fromentries/polyfill')(); + const docsUrl = require('../util/docsUrl'); const jsxUtil = require('../util/jsx'); const report = require('../util/report'); @@ -17,10 +20,7 @@ const DANGEROUS_PROPERTY_NAMES = [ 'dangerouslySetInnerHTML' ]; -const DANGEROUS_PROPERTIES = DANGEROUS_PROPERTY_NAMES.reduce((props, prop) => { - props[prop] = prop; - return props; -}, Object.create(null)); +const DANGEROUS_PROPERTIES = fromEntries(DANGEROUS_PROPERTY_NAMES.map((prop) => [prop, prop])); // ------------------------------------------------------------------------------ // Helpers @@ -32,7 +32,7 @@ const DANGEROUS_PROPERTIES = DANGEROUS_PROPERTY_NAMES.reduce((props, prop) => { * @returns {boolean} Whether or not the attribute is dnagerous. */ function isDangerous(name) { - return name in DANGEROUS_PROPERTIES; + return has(DANGEROUS_PROPERTIES, name); } // ------------------------------------------------------------------------------