From f93a8c85eba70cbceab500f2619fb5cce73a1805 Mon Sep 17 00:00:00 2001 From: Jordan Harband Date: Mon, 12 Feb 2024 18:40:02 -0800 Subject: [PATCH] [Refactor] use `es-define-property` --- index.js | 17 +++-------------- package.json | 2 +- 2 files changed, 4 insertions(+), 15 deletions(-) diff --git a/index.js b/index.js index 8e30683..0480437 100644 --- a/index.js +++ b/index.js @@ -1,25 +1,14 @@ 'use strict'; -var GetIntrinsic = require('get-intrinsic'); - -var $defineProperty = GetIntrinsic('%Object.defineProperty%', true); +var $defineProperty = require('es-define-property'); var hasPropertyDescriptors = function hasPropertyDescriptors() { - if ($defineProperty) { - try { - $defineProperty({}, 'a', { value: 1 }); - return true; - } catch (e) { - // IE 8 has a broken defineProperty - return false; - } - } - return false; + return !!$defineProperty; }; hasPropertyDescriptors.hasArrayLengthDefineBug = function hasArrayLengthDefineBug() { // node v0.6 has a bug where array lengths can be Set but not Defined - if (!hasPropertyDescriptors()) { + if (!$defineProperty) { return null; } try { diff --git a/package.json b/package.json index b35da99..6ca02ac 100644 --- a/package.json +++ b/package.json @@ -56,7 +56,7 @@ "tape": "^5.7.4" }, "dependencies": { - "get-intrinsic": "^1.2.4" + "es-define-property": "^1.0.0" }, "testling": { "files": "test/index.js"