core-js-pure 3.20.1 → 3.20.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/LICENSE CHANGED
@@ -1,4 +1,4 @@
1
- Copyright (c) 2014-2021 Denis Pushkarev
1
+ Copyright (c) 2014-2022 Denis Pushkarev
2
2
 
3
3
  Permission is hereby granted, free of charge, to any person obtaining a copy
4
4
  of this software and associated documentation files (the "Software"), to deal
@@ -1,10 +1,10 @@
1
1
  var FunctionPrototype = Function.prototype;
2
2
  var bind = FunctionPrototype.bind;
3
3
  var call = FunctionPrototype.call;
4
- var callBind = bind && bind.bind(call);
4
+ var uncurryThis = bind && bind.bind(call, call);
5
5
 
6
6
  module.exports = bind ? function (fn) {
7
- return fn && callBind(call, fn);
7
+ return fn && uncurryThis(fn);
8
8
  } : function (fn) {
9
9
  return fn && function () {
10
10
  return call.apply(fn, arguments);
@@ -5,6 +5,7 @@ var IS_PURE = require('../internals/is-pure');
5
5
  var ITERATOR = wellKnownSymbol('iterator');
6
6
 
7
7
  module.exports = !fails(function () {
8
+ // eslint-disable-next-line unicorn/relative-url-style -- required for testing
8
9
  var url = new URL('b?a=1&b=2&c=3', 'http://a');
9
10
  var searchParams = url.searchParams;
10
11
  var result = '';
@@ -3,7 +3,7 @@ var global = require('../internals/global');
3
3
  var InternalStateModule = require('../internals/internal-state');
4
4
  var createIteratorConstructor = require('../internals/create-iterator-constructor');
5
5
  var isObject = require('../internals/is-object');
6
- var defineProperties = require('../internals/object-define-properties');
6
+ var defineProperties = require('../internals/object-define-properties').f;
7
7
  var DESCRIPTORS = require('../internals/descriptors');
8
8
 
9
9
  var INCORRECT_RANGE = 'Incorrect Number.range arguments';
@@ -1,6 +1,6 @@
1
1
  /* global ActiveXObject -- old IE, WSH */
2
2
  var anObject = require('../internals/an-object');
3
- var defineProperties = require('../internals/object-define-properties');
3
+ var definePropertiesModule = require('../internals/object-define-properties');
4
4
  var enumBugKeys = require('../internals/enum-bug-keys');
5
5
  var hiddenKeys = require('../internals/hidden-keys');
6
6
  var html = require('../internals/html');
@@ -78,5 +78,5 @@ module.exports = Object.create || function create(O, Properties) {
78
78
  // add "__proto__" for Object.getPrototypeOf polyfill
79
79
  result[IE_PROTO] = O;
80
80
  } else result = NullProtoObject();
81
- return Properties === undefined ? result : defineProperties(result, Properties);
81
+ return Properties === undefined ? result : definePropertiesModule.f(result, Properties);
82
82
  };
@@ -1,4 +1,5 @@
1
1
  var DESCRIPTORS = require('../internals/descriptors');
2
+ var V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');
2
3
  var definePropertyModule = require('../internals/object-define-property');
3
4
  var anObject = require('../internals/an-object');
4
5
  var toIndexedObject = require('../internals/to-indexed-object');
@@ -7,7 +8,7 @@ var objectKeys = require('../internals/object-keys');
7
8
  // `Object.defineProperties` method
8
9
  // https://tc39.es/ecma262/#sec-object.defineproperties
9
10
  // eslint-disable-next-line es/no-object-defineproperties -- safe
10
- module.exports = DESCRIPTORS ? Object.defineProperties : function defineProperties(O, Properties) {
11
+ exports.f = DESCRIPTORS && !V8_PROTOTYPE_DEFINE_BUG ? Object.defineProperties : function defineProperties(O, Properties) {
11
12
  anObject(O);
12
13
  var props = toIndexedObject(Properties);
13
14
  var keys = objectKeys(Properties);
@@ -1,16 +1,37 @@
1
1
  var global = require('../internals/global');
2
2
  var DESCRIPTORS = require('../internals/descriptors');
3
3
  var IE8_DOM_DEFINE = require('../internals/ie8-dom-define');
4
+ var V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');
4
5
  var anObject = require('../internals/an-object');
5
6
  var toPropertyKey = require('../internals/to-property-key');
6
7
 
7
8
  var TypeError = global.TypeError;
8
9
  // eslint-disable-next-line es/no-object-defineproperty -- safe
9
10
  var $defineProperty = Object.defineProperty;
11
+ // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
12
+ var $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
13
+ var ENUMERABLE = 'enumerable';
14
+ var CONFIGURABLE = 'configurable';
15
+ var WRITABLE = 'writable';
10
16
 
11
17
  // `Object.defineProperty` method
12
18
  // https://tc39.es/ecma262/#sec-object.defineproperty
13
- exports.f = DESCRIPTORS ? $defineProperty : function defineProperty(O, P, Attributes) {
19
+ exports.f = DESCRIPTORS ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P, Attributes) {
20
+ anObject(O);
21
+ P = toPropertyKey(P);
22
+ anObject(Attributes);
23
+ if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) {
24
+ var current = $getOwnPropertyDescriptor(O, P);
25
+ if (current && current[WRITABLE]) {
26
+ O[P] = Attributes.value;
27
+ Attributes = {
28
+ configurable: CONFIGURABLE in Attributes ? Attributes[CONFIGURABLE] : current[CONFIGURABLE],
29
+ enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE],
30
+ writable: false
31
+ };
32
+ }
33
+ } return $defineProperty(O, P, Attributes);
34
+ } : $defineProperty : function defineProperty(O, P, Attributes) {
14
35
  anObject(O);
15
36
  P = toPropertyKey(P);
16
37
  anObject(Attributes);
@@ -4,7 +4,7 @@ var store = require('../internals/shared-store');
4
4
  (module.exports = function (key, value) {
5
5
  return store[key] || (store[key] = value !== undefined ? value : {});
6
6
  })('versions', []).push({
7
- version: '3.20.1',
7
+ version: '3.20.2',
8
8
  mode: IS_PURE ? 'pure' : 'global',
9
- copyright: '© 2021 Denis Pushkarev (zloirock.ru)'
9
+ copyright: '© 2022 Denis Pushkarev (zloirock.ru)'
10
10
  });
@@ -0,0 +1,12 @@
1
+ var DESCRIPTORS = require('../internals/descriptors');
2
+ var fails = require('../internals/fails');
3
+
4
+ // V8 ~ Chrome 36-
5
+ // https://bugs.chromium.org/p/v8/issues/detail?id=3334
6
+ module.exports = DESCRIPTORS && fails(function () {
7
+ // eslint-disable-next-line es/no-object-defineproperty -- required for testing
8
+ return Object.defineProperty(function () { /* empty */ }, 'prototype', {
9
+ value: 42,
10
+ writable: false
11
+ }).prototype != 42;
12
+ });
@@ -1,9 +1,10 @@
1
1
  var $ = require('../internals/export');
2
2
  var DESCRIPTORS = require('../internals/descriptors');
3
- var defineProperties = require('../internals/object-define-properties');
3
+ var defineProperties = require('../internals/object-define-properties').f;
4
4
 
5
5
  // `Object.defineProperties` method
6
6
  // https://tc39.es/ecma262/#sec-object.defineproperties
7
- $({ target: 'Object', stat: true, forced: !DESCRIPTORS, sham: !DESCRIPTORS }, {
7
+ // eslint-disable-next-line es/no-object-defineproperties -- safe
8
+ $({ target: 'Object', stat: true, forced: Object.defineProperties !== defineProperties, sham: !DESCRIPTORS }, {
8
9
  defineProperties: defineProperties
9
10
  });
@@ -1,9 +1,10 @@
1
1
  var $ = require('../internals/export');
2
2
  var DESCRIPTORS = require('../internals/descriptors');
3
- var objectDefinePropertyModule = require('../internals/object-define-property');
3
+ var defineProperty = require('../internals/object-define-property').f;
4
4
 
5
5
  // `Object.defineProperty` method
6
6
  // https://tc39.es/ecma262/#sec-object.defineproperty
7
- $({ target: 'Object', stat: true, forced: !DESCRIPTORS, sham: !DESCRIPTORS }, {
8
- defineProperty: objectDefinePropertyModule.f
7
+ // eslint-disable-next-line es/no-object-defineproperty -- safe
8
+ $({ target: 'Object', stat: true, forced: Object.defineProperty !== defineProperty, sham: !DESCRIPTORS }, {
9
+ defineProperty: defineProperty
9
10
  });
@@ -11,6 +11,7 @@ var redefine = require('../internals/redefine');
11
11
 
12
12
  // Safari bug https://bugs.webkit.org/show_bug.cgi?id=200829
13
13
  var NON_GENERIC = !!NativePromise && fails(function () {
14
+ // eslint-disable-next-line unicorn/no-thenable -- required for testing
14
15
  NativePromise.prototype['finally'].call({ then: function () { /* empty */ } }, function () { /* empty */ });
15
16
  });
16
17
 
@@ -265,6 +265,7 @@ if (FORCED) {
265
265
  Internal.prototype = redefineAll(PromisePrototype, {
266
266
  // `Promise.prototype.then` method
267
267
  // https://tc39.es/ecma262/#sec-promise.prototype.then
268
+ // eslint-disable-next-line unicorn/no-thenable -- safe
268
269
  then: function then(onFulfilled, onRejected) {
269
270
  var state = getInternalPromiseState(this);
270
271
  var reaction = newPromiseCapability(speciesConstructor(this, PromiseConstructor));
@@ -28,6 +28,7 @@ var getOwnPropertyNamesExternal = require('../internals/object-get-own-property-
28
28
  var getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');
29
29
  var getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');
30
30
  var definePropertyModule = require('../internals/object-define-property');
31
+ var definePropertiesModule = require('../internals/object-define-properties');
31
32
  var propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');
32
33
  var arraySlice = require('../internals/array-slice');
33
34
  var redefine = require('../internals/redefine');
@@ -194,6 +195,7 @@ if (!NATIVE_SYMBOL) {
194
195
 
195
196
  propertyIsEnumerableModule.f = $propertyIsEnumerable;
196
197
  definePropertyModule.f = $defineProperty;
198
+ definePropertiesModule.f = $defineProperties;
197
199
  getOwnPropertyDescriptorModule.f = $getOwnPropertyDescriptor;
198
200
  getOwnPropertyNamesModule.f = getOwnPropertyNamesExternal.f = $getOwnPropertyNames;
199
201
  getOwnPropertySymbolsModule.f = $getOwnPropertySymbols;
@@ -6,7 +6,7 @@ var fails = require('../internals/fails');
6
6
  var create = require('../internals/object-create');
7
7
  var createPropertyDescriptor = require('../internals/create-property-descriptor');
8
8
  var defineProperty = require('../internals/object-define-property').f;
9
- var defineProperties = require('../internals/object-define-properties');
9
+ var defineProperties = require('../internals/object-define-properties').f;
10
10
  var redefine = require('../internals/redefine');
11
11
  var hasOwn = require('../internals/has-own-property');
12
12
  var anInstance = require('../internals/an-instance');
@@ -7,7 +7,7 @@ var USE_NATIVE_URL = require('../internals/native-url');
7
7
  var global = require('../internals/global');
8
8
  var bind = require('../internals/function-bind-context');
9
9
  var uncurryThis = require('../internals/function-uncurry-this');
10
- var defineProperties = require('../internals/object-define-properties');
10
+ var defineProperties = require('../internals/object-define-properties').f;
11
11
  var redefine = require('../internals/redefine');
12
12
  var anInstance = require('../internals/an-instance');
13
13
  var hasOwn = require('../internals/has-own-property');
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "core-js-pure",
3
3
  "description": "Standard library",
4
- "version": "3.20.1",
4
+ "version": "3.20.2",
5
5
  "repository": {
6
6
  "type": "git",
7
7
  "url": "https://github.com/zloirock/core-js.git"
@@ -54,5 +54,5 @@
54
54
  "scripts": {
55
55
  "postinstall": "node -e \"try{require('./postinstall')}catch(e){}\""
56
56
  },
57
- "gitHead": "8f22e986132c93458b778e656fb501dd6c86764e"
57
+ "gitHead": "da1bf15799afc93d4985392a5d1ce5468db1bdd8"
58
58
  }
package/postinstall.js CHANGED
@@ -38,7 +38,7 @@ function isBannerRequired() {
38
38
  try {
39
39
  var DELTA = Date.now() - fs.statSync(file).mtime;
40
40
  if (DELTA >= 0 && DELTA < MINUTE * 3) {
41
- banners = JSON.parse(fs.readFileSync(file, 'utf8'));
41
+ banners = JSON.parse(fs.readFileSync(file));
42
42
  if (banners.indexOf(BANNER) !== -1) return false;
43
43
  }
44
44
  } catch (error) {