es-abstract
Advanced tools
Comparing version 1.17.6 to 1.17.7
@@ -36,3 +36,3 @@ 'use strict'; | ||
if (typeof getter !== 'undefined' && !IsCallable(getter)) { | ||
throw new TypeError('getter must be a function'); | ||
throw new $TypeError('getter must be a function'); | ||
} | ||
@@ -39,0 +39,0 @@ desc['[[Get]]'] = getter; |
@@ -36,3 +36,3 @@ 'use strict'; | ||
if (typeof getter !== 'undefined' && !IsCallable(getter)) { | ||
throw new TypeError('getter must be a function'); | ||
throw new $TypeError('getter must be a function'); | ||
} | ||
@@ -39,0 +39,0 @@ desc['[[Get]]'] = getter; |
@@ -36,3 +36,3 @@ 'use strict'; | ||
if (typeof getter !== 'undefined' && !IsCallable(getter)) { | ||
throw new TypeError('getter must be a function'); | ||
throw new $TypeError('getter must be a function'); | ||
} | ||
@@ -39,0 +39,0 @@ desc['[[Get]]'] = getter; |
'use strict'; | ||
var GetIntrinsic = require('../GetIntrinsic'); | ||
var $TypeError = GetIntrinsic('%TypeError%'); | ||
var callBound = require('../helpers/callBound'); | ||
@@ -23,11 +27,11 @@ var forEach = require('../helpers/forEach'); | ||
if (Type(target) !== 'Object') { | ||
throw new TypeError('Assertion failed: "target" must be an Object'); | ||
throw new $TypeError('Assertion failed: "target" must be an Object'); | ||
} | ||
if (!IsArray(excludedItems)) { | ||
throw new TypeError('Assertion failed: "excludedItems" must be a List of Property Keys'); | ||
throw new $TypeError('Assertion failed: "excludedItems" must be a List of Property Keys'); | ||
} | ||
for (var i = 0; i < excludedItems.length; i += 1) { | ||
if (!IsPropertyKey(excludedItems[i])) { | ||
throw new TypeError('Assertion failed: "excludedItems" must be a List of Property Keys'); | ||
throw new $TypeError('Assertion failed: "excludedItems" must be a List of Property Keys'); | ||
} | ||
@@ -34,0 +38,0 @@ } |
@@ -6,2 +6,3 @@ 'use strict'; | ||
var $String = GetIntrinsic('%String%'); | ||
var $TypeError = GetIntrinsic('%TypeError%'); | ||
@@ -14,3 +15,3 @@ var Type = require('./Type'); | ||
if (Type(m) !== 'Number') { | ||
throw new TypeError('Assertion failed: "m" must be a String'); | ||
throw new $TypeError('Assertion failed: "m" must be a String'); | ||
} | ||
@@ -17,0 +18,0 @@ |
@@ -36,3 +36,3 @@ 'use strict'; | ||
if (typeof getter !== 'undefined' && !IsCallable(getter)) { | ||
throw new TypeError('getter must be a function'); | ||
throw new $TypeError('getter must be a function'); | ||
} | ||
@@ -39,0 +39,0 @@ desc['[[Get]]'] = getter; |
'use strict'; | ||
var GetIntrinsic = require('../GetIntrinsic'); | ||
var $TypeError = GetIntrinsic('%TypeError%'); | ||
var callBound = require('../helpers/callBound'); | ||
@@ -23,11 +27,11 @@ var forEach = require('../helpers/forEach'); | ||
if (Type(target) !== 'Object') { | ||
throw new TypeError('Assertion failed: "target" must be an Object'); | ||
throw new $TypeError('Assertion failed: "target" must be an Object'); | ||
} | ||
if (!IsArray(excludedItems)) { | ||
throw new TypeError('Assertion failed: "excludedItems" must be a List of Property Keys'); | ||
throw new $TypeError('Assertion failed: "excludedItems" must be a List of Property Keys'); | ||
} | ||
for (var i = 0; i < excludedItems.length; i += 1) { | ||
if (!IsPropertyKey(excludedItems[i])) { | ||
throw new TypeError('Assertion failed: "excludedItems" must be a List of Property Keys'); | ||
throw new $TypeError('Assertion failed: "excludedItems" must be a List of Property Keys'); | ||
} | ||
@@ -34,0 +38,0 @@ } |
@@ -6,2 +6,3 @@ 'use strict'; | ||
var $String = GetIntrinsic('%String%'); | ||
var $TypeError = GetIntrinsic('%TypeError%'); | ||
@@ -14,3 +15,3 @@ var Type = require('./Type'); | ||
if (Type(m) !== 'Number') { | ||
throw new TypeError('Assertion failed: "m" must be a String'); | ||
throw new $TypeError('Assertion failed: "m" must be a String'); | ||
} | ||
@@ -17,0 +18,0 @@ |
@@ -36,3 +36,3 @@ 'use strict'; | ||
if (typeof getter !== 'undefined' && !IsCallable(getter)) { | ||
throw new TypeError('getter must be a function'); | ||
throw new $TypeError('getter must be a function'); | ||
} | ||
@@ -39,0 +39,0 @@ desc['[[Get]]'] = getter; |
@@ -36,3 +36,3 @@ 'use strict'; | ||
if (typeof getter !== 'undefined' && !IsCallable(getter)) { | ||
throw new TypeError('getter must be a function'); | ||
throw new $TypeError('getter must be a function'); | ||
} | ||
@@ -39,0 +39,0 @@ desc['[[Get]]'] = getter; |
@@ -0,1 +1,39 @@ | ||
1.18.0-next.1 / 2020-09-30 | ||
================= | ||
* [Fix] `ES2020`: `ToInteger`: `-0` should always be normalized to `+0` (#116) | ||
* [patch] `GetIntrinsic`: Adapt to override-mistake-fix pattern (#115) | ||
* [Fix] `callBind`: ensure compatibility with SES | ||
* [Deps] update `is-callable`, `object.assign` | ||
* [Dev Deps] update `eslint`, `@ljharb/eslint-config` | ||
* [eslint] fix warning | ||
* [Tests] temporarily allow SES tests to fail (#115) | ||
* [Tests] ses-compat - initialize module after ses lockdown (#113) | ||
* [Tests] [Refactor] use defineProperty helper rather than assignment | ||
* [Tests] [Refactor] clean up defineProperty test helper | ||
1.18.0-next.0 / 2020-08-14 | ||
================= | ||
* [New] add `ES2020` | ||
* [New] `GetIntrinsic`: add `%AggregateError%`, `%FinalizationRegistry%`, and `%WeakRef%` | ||
* [New] `ES5`+: add `abs`, `floor`; use `modulo` consistently | ||
* [New] `GetIntrinsic`: Cache accessed intrinsics (#98) | ||
* [New] `GetIntrinsic`: Add ES201x function intrinsics (#97) | ||
* [New] `ES2015`+: add `QuoteJSONString`, `OrdinaryCreateFromConstructor` | ||
* [New] `ES2017`+: add `StringGetOwnProperty` | ||
* [New] `ES2016`+: add `UTF16Encoding` | ||
* [New] `ES2018`+: add `SetFunctionLength`, `UnicodeEscape` | ||
* [New] add `isLeadingSurrogate`/`isTrailingSurrogate` helpers | ||
* [Fix] `ES5`+: `ToPropertyDescriptor`: use intrinsic TypeError | ||
* [Fix] `ES2018+`: `CopyDataProperties`/`NumberToString`: use intrinsic TypeError | ||
* [Deps] update `is-regex`, `object-inspect` | ||
* [Dev Deps] update `eslint` | ||
1.17.7 / 2020-09-30 | ||
================= | ||
* [Fix] `ES2020`: `ToInteger`: `-0` should always be normalized to `+0` (#116) | ||
* [patch] `GetIntrinsic`: Adapt to override-mistake-fix pattern (#115) | ||
* [Fix] `callBind`: ensure compatibility with SES | ||
* [Deps] update `is-callable`, `is-regex`, `object-inspect`, `object.assign` | ||
* [Dev Deps] update `eslint`, `@ljharb/eslint-config` | ||
1.17.6 / 2020-06-13 | ||
@@ -2,0 +40,0 @@ ================= |
@@ -211,3 +211,10 @@ 'use strict'; | ||
} | ||
value = desc ? (desc.get || desc.value) : value[parts[i]]; | ||
// By convention, when a data property is converted to an accessor | ||
// property to emulate a data property that does not suffer from | ||
// the override mistake, that accessor's getter is marked with | ||
// an `originalValue` property. Here, when we detect this, we | ||
// uphold the illusion by pretending to see that original data | ||
// property, i.e., returning the value rather than the getter | ||
// itself. | ||
value = desc && 'get' in desc && !('originalValue' in desc.get) ? desc.get : value[parts[i]]; | ||
} else { | ||
@@ -214,0 +221,0 @@ value = value[parts[i]]; |
@@ -11,2 +11,13 @@ 'use strict'; | ||
var $defineProperty = GetIntrinsic('%Object.defineProperty%', true); | ||
if ($defineProperty) { | ||
try { | ||
$defineProperty({}, 'a', { value: 1 }); | ||
} catch (e) { | ||
// IE 8 has a broken defineProperty | ||
$defineProperty = null; | ||
} | ||
} | ||
module.exports = function callBind() { | ||
@@ -16,4 +27,10 @@ return $reflectApply(bind, $call, arguments); | ||
module.exports.apply = function applyBind() { | ||
var applyBind = function applyBind() { | ||
return $reflectApply(bind, $apply, arguments); | ||
}; | ||
if ($defineProperty) { | ||
$defineProperty(module.exports, 'apply', { value: applyBind }); | ||
} else { | ||
module.exports.apply = applyBind; | ||
} |
{ | ||
"name": "es-abstract", | ||
"version": "1.17.6", | ||
"version": "1.17.7", | ||
"author": { | ||
@@ -56,7 +56,7 @@ "name": "Jordan Harband", | ||
"has-symbols": "^1.0.1", | ||
"is-callable": "^1.2.0", | ||
"is-regex": "^1.1.0", | ||
"object-inspect": "^1.7.0", | ||
"is-callable": "^1.2.2", | ||
"is-regex": "^1.1.1", | ||
"object-inspect": "^1.8.0", | ||
"object-keys": "^1.1.1", | ||
"object.assign": "^4.1.0", | ||
"object.assign": "^4.1.1", | ||
"string.prototype.trimend": "^1.0.1", | ||
@@ -66,3 +66,3 @@ "string.prototype.trimstart": "^1.0.1" | ||
"devDependencies": { | ||
"@ljharb/eslint-config": "^17.1.0", | ||
"@ljharb/eslint-config": "^17.2.0", | ||
"array.prototype.indexof": "^1.0.0", | ||
@@ -73,3 +73,3 @@ "aud": "^1.1.2", | ||
"eclint": "^2.8.1", | ||
"eslint": "^7.2.0", | ||
"eslint": "^7.10.0", | ||
"foreach": "^2.0.5", | ||
@@ -76,0 +76,0 @@ "functions-have-names": "^1.2.1", |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
921781
22106
Updatedis-callable@^1.2.2
Updatedis-regex@^1.1.1
Updatedobject-inspect@^1.8.0
Updatedobject.assign@^4.1.1