From 9d295f4747650f640b9d1d76eff2d8ea70edf890 Mon Sep 17 00:00:00 2001 From: Jordan Harband Date: Wed, 1 Jan 2025 22:38:27 -0800 Subject: [PATCH] [Refactor] use `get-proto` directly --- 2016/OrdinaryGetPrototypeOf.js | 2 +- 2017/OrdinaryGetPrototypeOf.js | 2 +- 2018/OrdinaryGetPrototypeOf.js | 2 +- 2019/OrdinaryGetPrototypeOf.js | 2 +- 2020/OrdinaryGetPrototypeOf.js | 2 +- 2021/OrdinaryGetPrototypeOf.js | 2 +- 2022/ArrayCreate.js | 3 +-- 2022/OrdinaryGetPrototypeOf.js | 2 +- 2023/ArrayCreate.js | 3 +-- 2023/OrdinaryGetPrototypeOf.js | 2 +- 2024/ArrayCreate.js | 3 +-- 2024/OrdinaryGetPrototypeOf.js | 2 +- helpers/getProto.js | 15 ++------------- package.json | 1 + test/tests.js | 2 +- 15 files changed, 16 insertions(+), 29 deletions(-) diff --git a/2016/OrdinaryGetPrototypeOf.js b/2016/OrdinaryGetPrototypeOf.js index 11e5c4f3..8dc1dc0a 100644 --- a/2016/OrdinaryGetPrototypeOf.js +++ b/2016/OrdinaryGetPrototypeOf.js @@ -2,7 +2,7 @@ var $TypeError = require('es-errors/type'); -var $getProto = require('../helpers/getProto'); +var $getProto = require('get-proto'); var isObject = require('../helpers/isObject'); // https://262.ecma-international.org/7.0/#sec-ordinarygetprototypeof diff --git a/2017/OrdinaryGetPrototypeOf.js b/2017/OrdinaryGetPrototypeOf.js index 11e5c4f3..8dc1dc0a 100644 --- a/2017/OrdinaryGetPrototypeOf.js +++ b/2017/OrdinaryGetPrototypeOf.js @@ -2,7 +2,7 @@ var $TypeError = require('es-errors/type'); -var $getProto = require('../helpers/getProto'); +var $getProto = require('get-proto'); var isObject = require('../helpers/isObject'); // https://262.ecma-international.org/7.0/#sec-ordinarygetprototypeof diff --git a/2018/OrdinaryGetPrototypeOf.js b/2018/OrdinaryGetPrototypeOf.js index 11e5c4f3..8dc1dc0a 100644 --- a/2018/OrdinaryGetPrototypeOf.js +++ b/2018/OrdinaryGetPrototypeOf.js @@ -2,7 +2,7 @@ var $TypeError = require('es-errors/type'); -var $getProto = require('../helpers/getProto'); +var $getProto = require('get-proto'); var isObject = require('../helpers/isObject'); // https://262.ecma-international.org/7.0/#sec-ordinarygetprototypeof diff --git a/2019/OrdinaryGetPrototypeOf.js b/2019/OrdinaryGetPrototypeOf.js index 11e5c4f3..8dc1dc0a 100644 --- a/2019/OrdinaryGetPrototypeOf.js +++ b/2019/OrdinaryGetPrototypeOf.js @@ -2,7 +2,7 @@ var $TypeError = require('es-errors/type'); -var $getProto = require('../helpers/getProto'); +var $getProto = require('get-proto'); var isObject = require('../helpers/isObject'); // https://262.ecma-international.org/7.0/#sec-ordinarygetprototypeof diff --git a/2020/OrdinaryGetPrototypeOf.js b/2020/OrdinaryGetPrototypeOf.js index 11e5c4f3..8dc1dc0a 100644 --- a/2020/OrdinaryGetPrototypeOf.js +++ b/2020/OrdinaryGetPrototypeOf.js @@ -2,7 +2,7 @@ var $TypeError = require('es-errors/type'); -var $getProto = require('../helpers/getProto'); +var $getProto = require('get-proto'); var isObject = require('../helpers/isObject'); // https://262.ecma-international.org/7.0/#sec-ordinarygetprototypeof diff --git a/2021/OrdinaryGetPrototypeOf.js b/2021/OrdinaryGetPrototypeOf.js index 11e5c4f3..8dc1dc0a 100644 --- a/2021/OrdinaryGetPrototypeOf.js +++ b/2021/OrdinaryGetPrototypeOf.js @@ -2,7 +2,7 @@ var $TypeError = require('es-errors/type'); -var $getProto = require('../helpers/getProto'); +var $getProto = require('get-proto'); var isObject = require('../helpers/isObject'); // https://262.ecma-international.org/7.0/#sec-ordinarygetprototypeof diff --git a/2022/ArrayCreate.js b/2022/ArrayCreate.js index aa8a8b97..568632b8 100644 --- a/2022/ArrayCreate.js +++ b/2022/ArrayCreate.js @@ -8,8 +8,7 @@ var $SyntaxError = require('es-errors/syntax'); var $TypeError = require('es-errors/type'); var isInteger = require('math-intrinsics/isInteger'); var MAX_ARRAY_LENGTH = require('math-intrinsics/constants/maxArrayLength'); - -var $setProto = require('../helpers/setProto'); +var $setProto = require('set-proto'); // https://262.ecma-international.org/12.0/#sec-arraycreate diff --git a/2022/OrdinaryGetPrototypeOf.js b/2022/OrdinaryGetPrototypeOf.js index 11e5c4f3..8dc1dc0a 100644 --- a/2022/OrdinaryGetPrototypeOf.js +++ b/2022/OrdinaryGetPrototypeOf.js @@ -2,7 +2,7 @@ var $TypeError = require('es-errors/type'); -var $getProto = require('../helpers/getProto'); +var $getProto = require('get-proto'); var isObject = require('../helpers/isObject'); // https://262.ecma-international.org/7.0/#sec-ordinarygetprototypeof diff --git a/2023/ArrayCreate.js b/2023/ArrayCreate.js index aa8a8b97..568632b8 100644 --- a/2023/ArrayCreate.js +++ b/2023/ArrayCreate.js @@ -8,8 +8,7 @@ var $SyntaxError = require('es-errors/syntax'); var $TypeError = require('es-errors/type'); var isInteger = require('math-intrinsics/isInteger'); var MAX_ARRAY_LENGTH = require('math-intrinsics/constants/maxArrayLength'); - -var $setProto = require('../helpers/setProto'); +var $setProto = require('set-proto'); // https://262.ecma-international.org/12.0/#sec-arraycreate diff --git a/2023/OrdinaryGetPrototypeOf.js b/2023/OrdinaryGetPrototypeOf.js index 11e5c4f3..8dc1dc0a 100644 --- a/2023/OrdinaryGetPrototypeOf.js +++ b/2023/OrdinaryGetPrototypeOf.js @@ -2,7 +2,7 @@ var $TypeError = require('es-errors/type'); -var $getProto = require('../helpers/getProto'); +var $getProto = require('get-proto'); var isObject = require('../helpers/isObject'); // https://262.ecma-international.org/7.0/#sec-ordinarygetprototypeof diff --git a/2024/ArrayCreate.js b/2024/ArrayCreate.js index aa8a8b97..568632b8 100644 --- a/2024/ArrayCreate.js +++ b/2024/ArrayCreate.js @@ -8,8 +8,7 @@ var $SyntaxError = require('es-errors/syntax'); var $TypeError = require('es-errors/type'); var isInteger = require('math-intrinsics/isInteger'); var MAX_ARRAY_LENGTH = require('math-intrinsics/constants/maxArrayLength'); - -var $setProto = require('../helpers/setProto'); +var $setProto = require('set-proto'); // https://262.ecma-international.org/12.0/#sec-arraycreate diff --git a/2024/OrdinaryGetPrototypeOf.js b/2024/OrdinaryGetPrototypeOf.js index 11e5c4f3..8dc1dc0a 100644 --- a/2024/OrdinaryGetPrototypeOf.js +++ b/2024/OrdinaryGetPrototypeOf.js @@ -2,7 +2,7 @@ var $TypeError = require('es-errors/type'); -var $getProto = require('../helpers/getProto'); +var $getProto = require('get-proto'); var isObject = require('../helpers/isObject'); // https://262.ecma-international.org/7.0/#sec-ordinarygetprototypeof diff --git a/helpers/getProto.js b/helpers/getProto.js index d63903ad..0b891dfd 100644 --- a/helpers/getProto.js +++ b/helpers/getProto.js @@ -1,15 +1,4 @@ 'use strict'; -var GetIntrinsic = require('get-intrinsic'); - -var originalGetProto = GetIntrinsic('%Object.getPrototypeOf%', true); - -var hasProto = require('has-proto')(); - -module.exports = originalGetProto || ( - hasProto - ? function (O) { - return O.__proto__; // eslint-disable-line no-proto - } - : null -); +// TODO, semver-major: remove +module.exports = require('get-proto'); diff --git a/package.json b/package.json index 8d80e9fe..67b89a0e 100644 --- a/package.json +++ b/package.json @@ -71,6 +71,7 @@ "es-to-primitive": "^1.3.0", "function.prototype.name": "^1.1.8", "get-intrinsic": "^1.2.6", + "get-proto": "^1.0.0", "get-symbol-description": "^1.1.0", "globalthis": "^1.0.4", "gopd": "^1.2.0", diff --git a/test/tests.js b/test/tests.js index 3721c473..16e555e5 100644 --- a/test/tests.js +++ b/test/tests.js @@ -30,7 +30,7 @@ var $defineProperty = require('es-define-property'); var MAX_SAFE_INTEGER = require('math-intrinsics/constants/maxSafeInteger'); var MAX_VALUE = require('math-intrinsics/constants/maxValue'); -var $getProto = require('../helpers/getProto'); +var $getProto = require('get-proto'); var $setProto = require('set-proto'); var bufferTestCases = require('./bufferTestCases.json'); var caseFolding = require('../helpers/caseFolding.json');