core-js 3.8.1 → 3.8.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.
Files changed (271) hide show
  1. package/LICENSE +1 -1
  2. package/es/promise/all-settled.js +2 -0
  3. package/es/promise/any.js +2 -0
  4. package/internals/add-to-unscopables.js +1 -1
  5. package/internals/advance-string-index.js +1 -1
  6. package/internals/array-copy-within.js +1 -1
  7. package/internals/array-fill.js +1 -1
  8. package/internals/array-for-each.js +1 -1
  9. package/internals/array-from.js +1 -1
  10. package/internals/array-includes.js +2 -2
  11. package/internals/array-iteration.js +7 -7
  12. package/internals/array-last-index-of.js +1 -1
  13. package/internals/array-reduce.js +2 -2
  14. package/internals/array-species-create.js +1 -1
  15. package/internals/create-html.js +1 -1
  16. package/internals/date-to-iso-string.js +1 -1
  17. package/internals/descriptors.js +1 -1
  18. package/internals/engine-is-webos-webkit.js +3 -0
  19. package/internals/function-bind.js +1 -1
  20. package/internals/get-substitution.js +40 -0
  21. package/internals/is-array.js +1 -1
  22. package/internals/is-integer.js +1 -1
  23. package/internals/is-regexp.js +1 -1
  24. package/internals/iterators-core.js +1 -1
  25. package/internals/math-expm1.js +1 -1
  26. package/internals/math-fround.js +1 -1
  27. package/internals/math-log1p.js +1 -1
  28. package/internals/math-sign.js +1 -1
  29. package/internals/microtask.js +3 -1
  30. package/internals/number-is-finite.js +1 -1
  31. package/internals/number-parse-float.js +1 -1
  32. package/internals/number-parse-int.js +1 -1
  33. package/internals/object-assign.js +1 -1
  34. package/internals/object-create.js +1 -1
  35. package/internals/object-define-properties.js +1 -1
  36. package/internals/object-define-property.js +1 -1
  37. package/internals/object-get-own-property-descriptor.js +1 -1
  38. package/internals/object-get-own-property-names.js +1 -1
  39. package/internals/object-get-prototype-of.js +1 -1
  40. package/internals/object-keys.js +1 -1
  41. package/internals/object-property-is-enumerable.js +1 -1
  42. package/internals/object-set-prototype-of.js +1 -1
  43. package/internals/object-to-array.js +2 -2
  44. package/internals/object-to-string.js +1 -1
  45. package/internals/regexp-exec-abstract.js +1 -1
  46. package/internals/regexp-flags.js +1 -1
  47. package/internals/require-object-coercible.js +1 -1
  48. package/internals/same-value-zero.js +1 -1
  49. package/internals/same-value.js +1 -1
  50. package/internals/shared.js +2 -2
  51. package/internals/species-constructor.js +1 -1
  52. package/internals/string-multibyte.js +1 -1
  53. package/internals/string-pad.js +2 -2
  54. package/internals/string-repeat.js +1 -1
  55. package/internals/string-trim.js +3 -3
  56. package/internals/this-number-value.js +1 -1
  57. package/internals/to-index.js +1 -1
  58. package/internals/to-integer.js +1 -1
  59. package/internals/to-length.js +1 -1
  60. package/internals/to-object.js +1 -1
  61. package/internals/to-primitive.js +1 -1
  62. package/modules/es.aggregate-error.js +3 -0
  63. package/modules/es.array-buffer.constructor.js +1 -1
  64. package/modules/es.array-buffer.is-view.js +1 -1
  65. package/modules/es.array-buffer.slice.js +1 -1
  66. package/modules/es.array.concat.js +1 -1
  67. package/modules/es.array.copy-within.js +2 -2
  68. package/modules/es.array.every.js +1 -1
  69. package/modules/es.array.fill.js +2 -2
  70. package/modules/es.array.filter.js +1 -1
  71. package/modules/es.array.find-index.js +2 -2
  72. package/modules/es.array.find.js +2 -2
  73. package/modules/es.array.flat-map.js +1 -1
  74. package/modules/es.array.flat.js +1 -1
  75. package/modules/es.array.for-each.js +1 -1
  76. package/modules/es.array.from.js +1 -1
  77. package/modules/es.array.includes.js +2 -2
  78. package/modules/es.array.index-of.js +1 -1
  79. package/modules/es.array.is-array.js +1 -1
  80. package/modules/es.array.iterator.js +9 -9
  81. package/modules/es.array.join.js +1 -1
  82. package/modules/es.array.last-index-of.js +1 -1
  83. package/modules/es.array.map.js +1 -1
  84. package/modules/es.array.of.js +1 -1
  85. package/modules/es.array.reduce-right.js +1 -1
  86. package/modules/es.array.reduce.js +1 -1
  87. package/modules/es.array.reverse.js +1 -1
  88. package/modules/es.array.slice.js +1 -1
  89. package/modules/es.array.some.js +1 -1
  90. package/modules/es.array.sort.js +1 -1
  91. package/modules/es.array.species.js +1 -1
  92. package/modules/es.array.splice.js +1 -1
  93. package/modules/es.array.unscopables.flat-map.js +1 -0
  94. package/modules/es.array.unscopables.flat.js +1 -0
  95. package/modules/es.data-view.js +1 -1
  96. package/modules/es.date.now.js +1 -1
  97. package/modules/es.date.to-iso-string.js +1 -1
  98. package/modules/es.date.to-json.js +1 -1
  99. package/modules/es.date.to-primitive.js +1 -1
  100. package/modules/es.date.to-string.js +1 -1
  101. package/modules/es.function.bind.js +1 -1
  102. package/modules/es.function.has-instance.js +1 -1
  103. package/modules/es.function.name.js +1 -1
  104. package/modules/es.global-this.js +1 -1
  105. package/modules/es.json.stringify.js +2 -0
  106. package/modules/es.json.to-string-tag.js +1 -1
  107. package/modules/es.map.js +1 -1
  108. package/modules/es.math.acosh.js +1 -1
  109. package/modules/es.math.asinh.js +1 -1
  110. package/modules/es.math.atanh.js +1 -1
  111. package/modules/es.math.cbrt.js +1 -1
  112. package/modules/es.math.clz32.js +1 -1
  113. package/modules/es.math.cosh.js +1 -1
  114. package/modules/es.math.expm1.js +1 -1
  115. package/modules/es.math.fround.js +1 -1
  116. package/modules/es.math.hypot.js +1 -1
  117. package/modules/es.math.imul.js +1 -1
  118. package/modules/es.math.log10.js +1 -1
  119. package/modules/es.math.log1p.js +1 -1
  120. package/modules/es.math.log2.js +1 -1
  121. package/modules/es.math.sign.js +1 -1
  122. package/modules/es.math.sinh.js +1 -1
  123. package/modules/es.math.tanh.js +1 -1
  124. package/modules/es.math.to-string-tag.js +1 -1
  125. package/modules/es.math.trunc.js +1 -1
  126. package/modules/es.number.constructor.js +2 -2
  127. package/modules/es.number.epsilon.js +1 -1
  128. package/modules/es.number.is-finite.js +1 -1
  129. package/modules/es.number.is-integer.js +1 -1
  130. package/modules/es.number.is-nan.js +1 -1
  131. package/modules/es.number.is-safe-integer.js +1 -1
  132. package/modules/es.number.max-safe-integer.js +1 -1
  133. package/modules/es.number.min-safe-integer.js +1 -1
  134. package/modules/es.number.parse-float.js +1 -1
  135. package/modules/es.number.parse-int.js +1 -1
  136. package/modules/es.number.to-fixed.js +1 -1
  137. package/modules/es.number.to-precision.js +1 -1
  138. package/modules/es.object.assign.js +1 -1
  139. package/modules/es.object.create.js +1 -1
  140. package/modules/es.object.define-getter.js +1 -1
  141. package/modules/es.object.define-properties.js +1 -1
  142. package/modules/es.object.define-property.js +1 -1
  143. package/modules/es.object.define-setter.js +1 -1
  144. package/modules/es.object.entries.js +1 -1
  145. package/modules/es.object.freeze.js +1 -1
  146. package/modules/es.object.get-own-property-descriptor.js +1 -1
  147. package/modules/es.object.get-own-property-descriptors.js +1 -1
  148. package/modules/es.object.get-own-property-names.js +1 -1
  149. package/modules/es.object.get-prototype-of.js +1 -1
  150. package/modules/es.object.is-extensible.js +1 -1
  151. package/modules/es.object.is-frozen.js +1 -1
  152. package/modules/es.object.is-sealed.js +1 -1
  153. package/modules/es.object.is.js +1 -1
  154. package/modules/es.object.keys.js +1 -1
  155. package/modules/es.object.lookup-getter.js +1 -1
  156. package/modules/es.object.lookup-setter.js +1 -1
  157. package/modules/es.object.prevent-extensions.js +1 -1
  158. package/modules/es.object.seal.js +1 -1
  159. package/modules/es.object.set-prototype-of.js +1 -1
  160. package/modules/es.object.to-string.js +1 -1
  161. package/modules/es.object.values.js +1 -1
  162. package/modules/es.parse-float.js +1 -1
  163. package/modules/es.parse-int.js +1 -1
  164. package/modules/es.promise.all-settled.js +1 -1
  165. package/modules/es.promise.any.js +1 -1
  166. package/modules/es.promise.finally.js +1 -1
  167. package/modules/es.promise.js +6 -6
  168. package/modules/es.reflect.apply.js +1 -1
  169. package/modules/es.reflect.construct.js +1 -1
  170. package/modules/es.reflect.define-property.js +1 -1
  171. package/modules/es.reflect.delete-property.js +1 -1
  172. package/modules/es.reflect.get-own-property-descriptor.js +1 -1
  173. package/modules/es.reflect.get-prototype-of.js +1 -1
  174. package/modules/es.reflect.get.js +1 -1
  175. package/modules/es.reflect.has.js +1 -1
  176. package/modules/es.reflect.is-extensible.js +1 -1
  177. package/modules/es.reflect.own-keys.js +1 -1
  178. package/modules/es.reflect.prevent-extensions.js +1 -1
  179. package/modules/es.reflect.set-prototype-of.js +1 -1
  180. package/modules/es.reflect.set.js +1 -1
  181. package/modules/es.regexp.constructor.js +2 -2
  182. package/modules/es.regexp.exec.js +2 -0
  183. package/modules/es.regexp.flags.js +1 -1
  184. package/modules/es.regexp.sticky.js +1 -0
  185. package/modules/es.regexp.test.js +2 -0
  186. package/modules/es.regexp.to-string.js +1 -1
  187. package/modules/es.set.js +1 -1
  188. package/modules/es.string.anchor.js +1 -1
  189. package/modules/es.string.big.js +1 -1
  190. package/modules/es.string.blink.js +1 -1
  191. package/modules/es.string.bold.js +1 -1
  192. package/modules/es.string.code-point-at.js +1 -1
  193. package/modules/es.string.ends-with.js +1 -1
  194. package/modules/es.string.fixed.js +1 -1
  195. package/modules/es.string.fontcolor.js +1 -1
  196. package/modules/es.string.fontsize.js +1 -1
  197. package/modules/es.string.from-code-point.js +1 -1
  198. package/modules/es.string.includes.js +1 -1
  199. package/modules/es.string.italics.js +1 -1
  200. package/modules/es.string.iterator.js +2 -2
  201. package/modules/es.string.link.js +1 -1
  202. package/modules/es.string.match-all.js +1 -1
  203. package/modules/es.string.match.js +2 -2
  204. package/modules/es.string.pad-end.js +1 -1
  205. package/modules/es.string.pad-start.js +1 -1
  206. package/modules/es.string.raw.js +1 -1
  207. package/modules/es.string.repeat.js +1 -1
  208. package/modules/es.string.replace-all.js +29 -12
  209. package/modules/es.string.replace.js +3 -40
  210. package/modules/es.string.search.js +2 -2
  211. package/modules/es.string.small.js +1 -1
  212. package/modules/es.string.split.js +2 -2
  213. package/modules/es.string.starts-with.js +1 -1
  214. package/modules/es.string.strike.js +1 -1
  215. package/modules/es.string.sub.js +1 -1
  216. package/modules/es.string.sup.js +1 -1
  217. package/modules/es.string.trim-end.js +2 -1
  218. package/modules/es.string.trim-start.js +2 -1
  219. package/modules/es.string.trim.js +1 -1
  220. package/modules/es.symbol.async-iterator.js +1 -1
  221. package/modules/es.symbol.description.js +1 -1
  222. package/modules/es.symbol.has-instance.js +1 -1
  223. package/modules/es.symbol.is-concat-spreadable.js +1 -1
  224. package/modules/es.symbol.iterator.js +1 -1
  225. package/modules/es.symbol.js +12 -12
  226. package/modules/es.symbol.match-all.js +1 -0
  227. package/modules/es.symbol.match.js +1 -1
  228. package/modules/es.symbol.replace.js +1 -1
  229. package/modules/es.symbol.search.js +1 -1
  230. package/modules/es.symbol.species.js +1 -1
  231. package/modules/es.symbol.split.js +1 -1
  232. package/modules/es.symbol.to-primitive.js +1 -1
  233. package/modules/es.symbol.to-string-tag.js +1 -1
  234. package/modules/es.symbol.unscopables.js +1 -1
  235. package/modules/es.typed-array.copy-within.js +1 -1
  236. package/modules/es.typed-array.every.js +1 -1
  237. package/modules/es.typed-array.fill.js +1 -1
  238. package/modules/es.typed-array.filter.js +1 -1
  239. package/modules/es.typed-array.find-index.js +1 -1
  240. package/modules/es.typed-array.find.js +1 -1
  241. package/modules/es.typed-array.float32-array.js +1 -1
  242. package/modules/es.typed-array.float64-array.js +1 -1
  243. package/modules/es.typed-array.for-each.js +1 -1
  244. package/modules/es.typed-array.from.js +1 -1
  245. package/modules/es.typed-array.includes.js +1 -1
  246. package/modules/es.typed-array.index-of.js +1 -1
  247. package/modules/es.typed-array.int16-array.js +1 -1
  248. package/modules/es.typed-array.int32-array.js +1 -1
  249. package/modules/es.typed-array.int8-array.js +1 -1
  250. package/modules/es.typed-array.iterator.js +4 -4
  251. package/modules/es.typed-array.join.js +1 -1
  252. package/modules/es.typed-array.last-index-of.js +1 -1
  253. package/modules/es.typed-array.map.js +1 -1
  254. package/modules/es.typed-array.of.js +1 -1
  255. package/modules/es.typed-array.reduce-right.js +1 -1
  256. package/modules/es.typed-array.reduce.js +1 -1
  257. package/modules/es.typed-array.reverse.js +1 -1
  258. package/modules/es.typed-array.set.js +1 -1
  259. package/modules/es.typed-array.slice.js +1 -1
  260. package/modules/es.typed-array.some.js +1 -1
  261. package/modules/es.typed-array.sort.js +1 -1
  262. package/modules/es.typed-array.subarray.js +1 -1
  263. package/modules/es.typed-array.to-locale-string.js +1 -1
  264. package/modules/es.typed-array.to-string.js +1 -1
  265. package/modules/es.typed-array.uint16-array.js +1 -1
  266. package/modules/es.typed-array.uint32-array.js +1 -1
  267. package/modules/es.typed-array.uint8-array.js +1 -1
  268. package/modules/es.typed-array.uint8-clamped-array.js +1 -1
  269. package/modules/es.weak-map.js +1 -1
  270. package/modules/es.weak-set.js +1 -1
  271. package/package.json +1 -1
@@ -252,7 +252,7 @@ if (FORCED) {
252
252
  };
253
253
  Internal.prototype = redefineAll(PromiseConstructor.prototype, {
254
254
  // `Promise.prototype.then` method
255
- // https://tc39.github.io/ecma262/#sec-promise.prototype.then
255
+ // https://tc39.es/ecma262/#sec-promise.prototype.then
256
256
  then: function then(onFulfilled, onRejected) {
257
257
  var state = getInternalPromiseState(this);
258
258
  var reaction = newPromiseCapability(speciesConstructor(this, PromiseConstructor));
@@ -265,7 +265,7 @@ if (FORCED) {
265
265
  return reaction.promise;
266
266
  },
267
267
  // `Promise.prototype.catch` method
268
- // https://tc39.github.io/ecma262/#sec-promise.prototype.catch
268
+ // https://tc39.es/ecma262/#sec-promise.prototype.catch
269
269
  'catch': function (onRejected) {
270
270
  return this.then(undefined, onRejected);
271
271
  }
@@ -317,7 +317,7 @@ PromiseWrapper = getBuiltIn(PROMISE);
317
317
  // statics
318
318
  $({ target: PROMISE, stat: true, forced: FORCED }, {
319
319
  // `Promise.reject` method
320
- // https://tc39.github.io/ecma262/#sec-promise.reject
320
+ // https://tc39.es/ecma262/#sec-promise.reject
321
321
  reject: function reject(r) {
322
322
  var capability = newPromiseCapability(this);
323
323
  capability.reject.call(undefined, r);
@@ -327,7 +327,7 @@ $({ target: PROMISE, stat: true, forced: FORCED }, {
327
327
 
328
328
  $({ target: PROMISE, stat: true, forced: IS_PURE || FORCED }, {
329
329
  // `Promise.resolve` method
330
- // https://tc39.github.io/ecma262/#sec-promise.resolve
330
+ // https://tc39.es/ecma262/#sec-promise.resolve
331
331
  resolve: function resolve(x) {
332
332
  return promiseResolve(IS_PURE && this === PromiseWrapper ? PromiseConstructor : this, x);
333
333
  }
@@ -335,7 +335,7 @@ $({ target: PROMISE, stat: true, forced: IS_PURE || FORCED }, {
335
335
 
336
336
  $({ target: PROMISE, stat: true, forced: INCORRECT_ITERATION }, {
337
337
  // `Promise.all` method
338
- // https://tc39.github.io/ecma262/#sec-promise.all
338
+ // https://tc39.es/ecma262/#sec-promise.all
339
339
  all: function all(iterable) {
340
340
  var C = this;
341
341
  var capability = newPromiseCapability(C);
@@ -364,7 +364,7 @@ $({ target: PROMISE, stat: true, forced: INCORRECT_ITERATION }, {
364
364
  return capability.promise;
365
365
  },
366
366
  // `Promise.race` method
367
- // https://tc39.github.io/ecma262/#sec-promise.race
367
+ // https://tc39.es/ecma262/#sec-promise.race
368
368
  race: function race(iterable) {
369
369
  var C = this;
370
370
  var capability = newPromiseCapability(C);
@@ -13,7 +13,7 @@ var OPTIONAL_ARGUMENTS_LIST = !fails(function () {
13
13
  });
14
14
 
15
15
  // `Reflect.apply` method
16
- // https://tc39.github.io/ecma262/#sec-reflect.apply
16
+ // https://tc39.es/ecma262/#sec-reflect.apply
17
17
  $({ target: 'Reflect', stat: true, forced: OPTIONAL_ARGUMENTS_LIST }, {
18
18
  apply: function apply(target, thisArgument, argumentsList) {
19
19
  aFunction(target);
@@ -10,7 +10,7 @@ var fails = require('../internals/fails');
10
10
  var nativeConstruct = getBuiltIn('Reflect', 'construct');
11
11
 
12
12
  // `Reflect.construct` method
13
- // https://tc39.github.io/ecma262/#sec-reflect.construct
13
+ // https://tc39.es/ecma262/#sec-reflect.construct
14
14
  // MS Edge supports only 2 arguments and argumentsList argument is optional
15
15
  // FF Nightly sets third argument as `new.target`, but does not create `this` from it
16
16
  var NEW_TARGET_BUG = fails(function () {
@@ -12,7 +12,7 @@ var ERROR_INSTEAD_OF_FALSE = fails(function () {
12
12
  });
13
13
 
14
14
  // `Reflect.defineProperty` method
15
- // https://tc39.github.io/ecma262/#sec-reflect.defineproperty
15
+ // https://tc39.es/ecma262/#sec-reflect.defineproperty
16
16
  $({ target: 'Reflect', stat: true, forced: ERROR_INSTEAD_OF_FALSE, sham: !DESCRIPTORS }, {
17
17
  defineProperty: function defineProperty(target, propertyKey, attributes) {
18
18
  anObject(target);
@@ -3,7 +3,7 @@ var anObject = require('../internals/an-object');
3
3
  var getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;
4
4
 
5
5
  // `Reflect.deleteProperty` method
6
- // https://tc39.github.io/ecma262/#sec-reflect.deleteproperty
6
+ // https://tc39.es/ecma262/#sec-reflect.deleteproperty
7
7
  $({ target: 'Reflect', stat: true }, {
8
8
  deleteProperty: function deleteProperty(target, propertyKey) {
9
9
  var descriptor = getOwnPropertyDescriptor(anObject(target), propertyKey);
@@ -4,7 +4,7 @@ var anObject = require('../internals/an-object');
4
4
  var getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');
5
5
 
6
6
  // `Reflect.getOwnPropertyDescriptor` method
7
- // https://tc39.github.io/ecma262/#sec-reflect.getownpropertydescriptor
7
+ // https://tc39.es/ecma262/#sec-reflect.getownpropertydescriptor
8
8
  $({ target: 'Reflect', stat: true, sham: !DESCRIPTORS }, {
9
9
  getOwnPropertyDescriptor: function getOwnPropertyDescriptor(target, propertyKey) {
10
10
  return getOwnPropertyDescriptorModule.f(anObject(target), propertyKey);
@@ -4,7 +4,7 @@ var objectGetPrototypeOf = require('../internals/object-get-prototype-of');
4
4
  var CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter');
5
5
 
6
6
  // `Reflect.getPrototypeOf` method
7
- // https://tc39.github.io/ecma262/#sec-reflect.getprototypeof
7
+ // https://tc39.es/ecma262/#sec-reflect.getprototypeof
8
8
  $({ target: 'Reflect', stat: true, sham: !CORRECT_PROTOTYPE_GETTER }, {
9
9
  getPrototypeOf: function getPrototypeOf(target) {
10
10
  return objectGetPrototypeOf(anObject(target));
@@ -6,7 +6,7 @@ var getOwnPropertyDescriptorModule = require('../internals/object-get-own-proper
6
6
  var getPrototypeOf = require('../internals/object-get-prototype-of');
7
7
 
8
8
  // `Reflect.get` method
9
- // https://tc39.github.io/ecma262/#sec-reflect.get
9
+ // https://tc39.es/ecma262/#sec-reflect.get
10
10
  function get(target, propertyKey /* , receiver */) {
11
11
  var receiver = arguments.length < 3 ? target : arguments[2];
12
12
  var descriptor, prototype;
@@ -1,7 +1,7 @@
1
1
  var $ = require('../internals/export');
2
2
 
3
3
  // `Reflect.has` method
4
- // https://tc39.github.io/ecma262/#sec-reflect.has
4
+ // https://tc39.es/ecma262/#sec-reflect.has
5
5
  $({ target: 'Reflect', stat: true }, {
6
6
  has: function has(target, propertyKey) {
7
7
  return propertyKey in target;
@@ -4,7 +4,7 @@ var anObject = require('../internals/an-object');
4
4
  var objectIsExtensible = Object.isExtensible;
5
5
 
6
6
  // `Reflect.isExtensible` method
7
- // https://tc39.github.io/ecma262/#sec-reflect.isextensible
7
+ // https://tc39.es/ecma262/#sec-reflect.isextensible
8
8
  $({ target: 'Reflect', stat: true }, {
9
9
  isExtensible: function isExtensible(target) {
10
10
  anObject(target);
@@ -2,7 +2,7 @@ var $ = require('../internals/export');
2
2
  var ownKeys = require('../internals/own-keys');
3
3
 
4
4
  // `Reflect.ownKeys` method
5
- // https://tc39.github.io/ecma262/#sec-reflect.ownkeys
5
+ // https://tc39.es/ecma262/#sec-reflect.ownkeys
6
6
  $({ target: 'Reflect', stat: true }, {
7
7
  ownKeys: ownKeys
8
8
  });
@@ -4,7 +4,7 @@ var anObject = require('../internals/an-object');
4
4
  var FREEZING = require('../internals/freezing');
5
5
 
6
6
  // `Reflect.preventExtensions` method
7
- // https://tc39.github.io/ecma262/#sec-reflect.preventextensions
7
+ // https://tc39.es/ecma262/#sec-reflect.preventextensions
8
8
  $({ target: 'Reflect', stat: true, sham: !FREEZING }, {
9
9
  preventExtensions: function preventExtensions(target) {
10
10
  anObject(target);
@@ -4,7 +4,7 @@ var aPossiblePrototype = require('../internals/a-possible-prototype');
4
4
  var objectSetPrototypeOf = require('../internals/object-set-prototype-of');
5
5
 
6
6
  // `Reflect.setPrototypeOf` method
7
- // https://tc39.github.io/ecma262/#sec-reflect.setprototypeof
7
+ // https://tc39.es/ecma262/#sec-reflect.setprototypeof
8
8
  if (objectSetPrototypeOf) $({ target: 'Reflect', stat: true }, {
9
9
  setPrototypeOf: function setPrototypeOf(target, proto) {
10
10
  anObject(target);
@@ -9,7 +9,7 @@ var getPrototypeOf = require('../internals/object-get-prototype-of');
9
9
  var createPropertyDescriptor = require('../internals/create-property-descriptor');
10
10
 
11
11
  // `Reflect.set` method
12
- // https://tc39.github.io/ecma262/#sec-reflect.set
12
+ // https://tc39.es/ecma262/#sec-reflect.set
13
13
  function set(target, propertyKey, V /* , receiver */) {
14
14
  var receiver = arguments.length < 4 ? target : arguments[3];
15
15
  var ownDescriptor = getOwnPropertyDescriptorModule.f(anObject(target), propertyKey);
@@ -31,7 +31,7 @@ var FORCED = DESCRIPTORS && isForced('RegExp', (!CORRECT_NEW || UNSUPPORTED_Y ||
31
31
  })));
32
32
 
33
33
  // `RegExp` constructor
34
- // https://tc39.github.io/ecma262/#sec-regexp-constructor
34
+ // https://tc39.es/ecma262/#sec-regexp-constructor
35
35
  if (FORCED) {
36
36
  var RegExpWrapper = function RegExp(pattern, flags) {
37
37
  var thisIsRegExp = this instanceof RegExpWrapper;
@@ -80,5 +80,5 @@ if (FORCED) {
80
80
  redefine(global, 'RegExp', RegExpWrapper);
81
81
  }
82
82
 
83
- // https://tc39.github.io/ecma262/#sec-get-regexp-@@species
83
+ // https://tc39.es/ecma262/#sec-get-regexp-@@species
84
84
  setSpecies('RegExp');
@@ -2,6 +2,8 @@
2
2
  var $ = require('../internals/export');
3
3
  var exec = require('../internals/regexp-exec');
4
4
 
5
+ // `RegExp.prototype.exec` method
6
+ // https://tc39.es/ecma262/#sec-regexp.prototype.exec
5
7
  $({ target: 'RegExp', proto: true, forced: /./.exec !== exec }, {
6
8
  exec: exec
7
9
  });
@@ -4,7 +4,7 @@ var regExpFlags = require('../internals/regexp-flags');
4
4
  var UNSUPPORTED_Y = require('../internals/regexp-sticky-helpers').UNSUPPORTED_Y;
5
5
 
6
6
  // `RegExp.prototype.flags` getter
7
- // https://tc39.github.io/ecma262/#sec-get-regexp.prototype.flags
7
+ // https://tc39.es/ecma262/#sec-get-regexp.prototype.flags
8
8
  if (DESCRIPTORS && (/./g.flags != 'g' || UNSUPPORTED_Y)) {
9
9
  objectDefinePropertyModule.f(RegExp.prototype, 'flags', {
10
10
  configurable: true,
@@ -5,6 +5,7 @@ var getInternalState = require('../internals/internal-state').get;
5
5
  var RegExpPrototype = RegExp.prototype;
6
6
 
7
7
  // `RegExp.prototype.sticky` getter
8
+ // https://tc39.es/ecma262/#sec-get-regexp.prototype.sticky
8
9
  if (DESCRIPTORS && UNSUPPORTED_Y) {
9
10
  defineProperty(RegExp.prototype, 'sticky', {
10
11
  configurable: true,
@@ -16,6 +16,8 @@ var DELEGATES_TO_EXEC = function () {
16
16
 
17
17
  var nativeTest = /./.test;
18
18
 
19
+ // `RegExp.prototype.test` method
20
+ // https://tc39.es/ecma262/#sec-regexp.prototype.test
19
21
  $({ target: 'RegExp', proto: true, forced: !DELEGATES_TO_EXEC }, {
20
22
  test: function (str) {
21
23
  if (typeof this.exec !== 'function') {
@@ -13,7 +13,7 @@ var NOT_GENERIC = fails(function () { return nativeToString.call({ source: 'a',
13
13
  var INCORRECT_NAME = nativeToString.name != TO_STRING;
14
14
 
15
15
  // `RegExp.prototype.toString` method
16
- // https://tc39.github.io/ecma262/#sec-regexp.prototype.tostring
16
+ // https://tc39.es/ecma262/#sec-regexp.prototype.tostring
17
17
  if (NOT_GENERIC || INCORRECT_NAME) {
18
18
  redefine(RegExp.prototype, TO_STRING, function toString() {
19
19
  var R = anObject(this);
package/modules/es.set.js CHANGED
@@ -3,7 +3,7 @@ var collection = require('../internals/collection');
3
3
  var collectionStrong = require('../internals/collection-strong');
4
4
 
5
5
  // `Set` constructor
6
- // https://tc39.github.io/ecma262/#sec-set-objects
6
+ // https://tc39.es/ecma262/#sec-set-objects
7
7
  module.exports = collection('Set', function (init) {
8
8
  return function Set() { return init(this, arguments.length ? arguments[0] : undefined); };
9
9
  }, collectionStrong);
@@ -4,7 +4,7 @@ var createHTML = require('../internals/create-html');
4
4
  var forcedStringHTMLMethod = require('../internals/string-html-forced');
5
5
 
6
6
  // `String.prototype.anchor` method
7
- // https://tc39.github.io/ecma262/#sec-string.prototype.anchor
7
+ // https://tc39.es/ecma262/#sec-string.prototype.anchor
8
8
  $({ target: 'String', proto: true, forced: forcedStringHTMLMethod('anchor') }, {
9
9
  anchor: function anchor(name) {
10
10
  return createHTML(this, 'a', 'name', name);
@@ -4,7 +4,7 @@ var createHTML = require('../internals/create-html');
4
4
  var forcedStringHTMLMethod = require('../internals/string-html-forced');
5
5
 
6
6
  // `String.prototype.big` method
7
- // https://tc39.github.io/ecma262/#sec-string.prototype.big
7
+ // https://tc39.es/ecma262/#sec-string.prototype.big
8
8
  $({ target: 'String', proto: true, forced: forcedStringHTMLMethod('big') }, {
9
9
  big: function big() {
10
10
  return createHTML(this, 'big', '', '');
@@ -4,7 +4,7 @@ var createHTML = require('../internals/create-html');
4
4
  var forcedStringHTMLMethod = require('../internals/string-html-forced');
5
5
 
6
6
  // `String.prototype.blink` method
7
- // https://tc39.github.io/ecma262/#sec-string.prototype.blink
7
+ // https://tc39.es/ecma262/#sec-string.prototype.blink
8
8
  $({ target: 'String', proto: true, forced: forcedStringHTMLMethod('blink') }, {
9
9
  blink: function blink() {
10
10
  return createHTML(this, 'blink', '', '');
@@ -4,7 +4,7 @@ var createHTML = require('../internals/create-html');
4
4
  var forcedStringHTMLMethod = require('../internals/string-html-forced');
5
5
 
6
6
  // `String.prototype.bold` method
7
- // https://tc39.github.io/ecma262/#sec-string.prototype.bold
7
+ // https://tc39.es/ecma262/#sec-string.prototype.bold
8
8
  $({ target: 'String', proto: true, forced: forcedStringHTMLMethod('bold') }, {
9
9
  bold: function bold() {
10
10
  return createHTML(this, 'b', '', '');
@@ -3,7 +3,7 @@ var $ = require('../internals/export');
3
3
  var codeAt = require('../internals/string-multibyte').codeAt;
4
4
 
5
5
  // `String.prototype.codePointAt` method
6
- // https://tc39.github.io/ecma262/#sec-string.prototype.codepointat
6
+ // https://tc39.es/ecma262/#sec-string.prototype.codepointat
7
7
  $({ target: 'String', proto: true }, {
8
8
  codePointAt: function codePointAt(pos) {
9
9
  return codeAt(this, pos);
@@ -18,7 +18,7 @@ var MDN_POLYFILL_BUG = !IS_PURE && !CORRECT_IS_REGEXP_LOGIC && !!function () {
18
18
  }();
19
19
 
20
20
  // `String.prototype.endsWith` method
21
- // https://tc39.github.io/ecma262/#sec-string.prototype.endswith
21
+ // https://tc39.es/ecma262/#sec-string.prototype.endswith
22
22
  $({ target: 'String', proto: true, forced: !MDN_POLYFILL_BUG && !CORRECT_IS_REGEXP_LOGIC }, {
23
23
  endsWith: function endsWith(searchString /* , endPosition = @length */) {
24
24
  var that = String(requireObjectCoercible(this));
@@ -4,7 +4,7 @@ var createHTML = require('../internals/create-html');
4
4
  var forcedStringHTMLMethod = require('../internals/string-html-forced');
5
5
 
6
6
  // `String.prototype.fixed` method
7
- // https://tc39.github.io/ecma262/#sec-string.prototype.fixed
7
+ // https://tc39.es/ecma262/#sec-string.prototype.fixed
8
8
  $({ target: 'String', proto: true, forced: forcedStringHTMLMethod('fixed') }, {
9
9
  fixed: function fixed() {
10
10
  return createHTML(this, 'tt', '', '');
@@ -4,7 +4,7 @@ var createHTML = require('../internals/create-html');
4
4
  var forcedStringHTMLMethod = require('../internals/string-html-forced');
5
5
 
6
6
  // `String.prototype.fontcolor` method
7
- // https://tc39.github.io/ecma262/#sec-string.prototype.fontcolor
7
+ // https://tc39.es/ecma262/#sec-string.prototype.fontcolor
8
8
  $({ target: 'String', proto: true, forced: forcedStringHTMLMethod('fontcolor') }, {
9
9
  fontcolor: function fontcolor(color) {
10
10
  return createHTML(this, 'font', 'color', color);
@@ -4,7 +4,7 @@ var createHTML = require('../internals/create-html');
4
4
  var forcedStringHTMLMethod = require('../internals/string-html-forced');
5
5
 
6
6
  // `String.prototype.fontsize` method
7
- // https://tc39.github.io/ecma262/#sec-string.prototype.fontsize
7
+ // https://tc39.es/ecma262/#sec-string.prototype.fontsize
8
8
  $({ target: 'String', proto: true, forced: forcedStringHTMLMethod('fontsize') }, {
9
9
  fontsize: function fontsize(size) {
10
10
  return createHTML(this, 'font', 'size', size);
@@ -8,7 +8,7 @@ var nativeFromCodePoint = String.fromCodePoint;
8
8
  var INCORRECT_LENGTH = !!nativeFromCodePoint && nativeFromCodePoint.length != 1;
9
9
 
10
10
  // `String.fromCodePoint` method
11
- // https://tc39.github.io/ecma262/#sec-string.fromcodepoint
11
+ // https://tc39.es/ecma262/#sec-string.fromcodepoint
12
12
  $({ target: 'String', stat: true, forced: INCORRECT_LENGTH }, {
13
13
  fromCodePoint: function fromCodePoint(x) { // eslint-disable-line no-unused-vars
14
14
  var elements = [];
@@ -5,7 +5,7 @@ var requireObjectCoercible = require('../internals/require-object-coercible');
5
5
  var correctIsRegExpLogic = require('../internals/correct-is-regexp-logic');
6
6
 
7
7
  // `String.prototype.includes` method
8
- // https://tc39.github.io/ecma262/#sec-string.prototype.includes
8
+ // https://tc39.es/ecma262/#sec-string.prototype.includes
9
9
  $({ target: 'String', proto: true, forced: !correctIsRegExpLogic('includes') }, {
10
10
  includes: function includes(searchString /* , position = 0 */) {
11
11
  return !!~String(requireObjectCoercible(this))
@@ -4,7 +4,7 @@ var createHTML = require('../internals/create-html');
4
4
  var forcedStringHTMLMethod = require('../internals/string-html-forced');
5
5
 
6
6
  // `String.prototype.italics` method
7
- // https://tc39.github.io/ecma262/#sec-string.prototype.italics
7
+ // https://tc39.es/ecma262/#sec-string.prototype.italics
8
8
  $({ target: 'String', proto: true, forced: forcedStringHTMLMethod('italics') }, {
9
9
  italics: function italics() {
10
10
  return createHTML(this, 'i', '', '');
@@ -8,7 +8,7 @@ var setInternalState = InternalStateModule.set;
8
8
  var getInternalState = InternalStateModule.getterFor(STRING_ITERATOR);
9
9
 
10
10
  // `String.prototype[@@iterator]` method
11
- // https://tc39.github.io/ecma262/#sec-string.prototype-@@iterator
11
+ // https://tc39.es/ecma262/#sec-string.prototype-@@iterator
12
12
  defineIterator(String, 'String', function (iterated) {
13
13
  setInternalState(this, {
14
14
  type: STRING_ITERATOR,
@@ -16,7 +16,7 @@ defineIterator(String, 'String', function (iterated) {
16
16
  index: 0
17
17
  });
18
18
  // `%StringIteratorPrototype%.next` method
19
- // https://tc39.github.io/ecma262/#sec-%stringiteratorprototype%.next
19
+ // https://tc39.es/ecma262/#sec-%stringiteratorprototype%.next
20
20
  }, function next() {
21
21
  var state = getInternalState(this);
22
22
  var string = state.string;
@@ -4,7 +4,7 @@ var createHTML = require('../internals/create-html');
4
4
  var forcedStringHTMLMethod = require('../internals/string-html-forced');
5
5
 
6
6
  // `String.prototype.link` method
7
- // https://tc39.github.io/ecma262/#sec-string.prototype.link
7
+ // https://tc39.es/ecma262/#sec-string.prototype.link
8
8
  $({ target: 'String', proto: true, forced: forcedStringHTMLMethod('link') }, {
9
9
  link: function link(url) {
10
10
  return createHTML(this, 'a', 'href', url);
@@ -82,7 +82,7 @@ var $matchAll = function (string) {
82
82
  };
83
83
 
84
84
  // `String.prototype.matchAll` method
85
- // https://github.com/tc39/proposal-string-matchall
85
+ // https://tc39.es/ecma262/#sec-string.prototype.matchall
86
86
  $({ target: 'String', proto: true, forced: WORKS_WITH_NON_GLOBAL_REGEX }, {
87
87
  matchAll: function matchAll(regexp) {
88
88
  var O = requireObjectCoercible(this);
@@ -10,14 +10,14 @@ var regExpExec = require('../internals/regexp-exec-abstract');
10
10
  fixRegExpWellKnownSymbolLogic('match', 1, function (MATCH, nativeMatch, maybeCallNative) {
11
11
  return [
12
12
  // `String.prototype.match` method
13
- // https://tc39.github.io/ecma262/#sec-string.prototype.match
13
+ // https://tc39.es/ecma262/#sec-string.prototype.match
14
14
  function match(regexp) {
15
15
  var O = requireObjectCoercible(this);
16
16
  var matcher = regexp == undefined ? undefined : regexp[MATCH];
17
17
  return matcher !== undefined ? matcher.call(regexp, O) : new RegExp(regexp)[MATCH](String(O));
18
18
  },
19
19
  // `RegExp.prototype[@@match]` method
20
- // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@match
20
+ // https://tc39.es/ecma262/#sec-regexp.prototype-@@match
21
21
  function (regexp) {
22
22
  var res = maybeCallNative(nativeMatch, regexp, this);
23
23
  if (res.done) return res.value;
@@ -4,7 +4,7 @@ var $padEnd = require('../internals/string-pad').end;
4
4
  var WEBKIT_BUG = require('../internals/string-pad-webkit-bug');
5
5
 
6
6
  // `String.prototype.padEnd` method
7
- // https://tc39.github.io/ecma262/#sec-string.prototype.padend
7
+ // https://tc39.es/ecma262/#sec-string.prototype.padend
8
8
  $({ target: 'String', proto: true, forced: WEBKIT_BUG }, {
9
9
  padEnd: function padEnd(maxLength /* , fillString = ' ' */) {
10
10
  return $padEnd(this, maxLength, arguments.length > 1 ? arguments[1] : undefined);
@@ -4,7 +4,7 @@ var $padStart = require('../internals/string-pad').start;
4
4
  var WEBKIT_BUG = require('../internals/string-pad-webkit-bug');
5
5
 
6
6
  // `String.prototype.padStart` method
7
- // https://tc39.github.io/ecma262/#sec-string.prototype.padstart
7
+ // https://tc39.es/ecma262/#sec-string.prototype.padstart
8
8
  $({ target: 'String', proto: true, forced: WEBKIT_BUG }, {
9
9
  padStart: function padStart(maxLength /* , fillString = ' ' */) {
10
10
  return $padStart(this, maxLength, arguments.length > 1 ? arguments[1] : undefined);
@@ -3,7 +3,7 @@ var toIndexedObject = require('../internals/to-indexed-object');
3
3
  var toLength = require('../internals/to-length');
4
4
 
5
5
  // `String.raw` method
6
- // https://tc39.github.io/ecma262/#sec-string.raw
6
+ // https://tc39.es/ecma262/#sec-string.raw
7
7
  $({ target: 'String', stat: true }, {
8
8
  raw: function raw(template) {
9
9
  var rawTemplate = toIndexedObject(template.raw);
@@ -2,7 +2,7 @@ var $ = require('../internals/export');
2
2
  var repeat = require('../internals/string-repeat');
3
3
 
4
4
  // `String.prototype.repeat` method
5
- // https://tc39.github.io/ecma262/#sec-string.prototype.repeat
5
+ // https://tc39.es/ecma262/#sec-string.prototype.repeat
6
6
  $({ target: 'String', proto: true }, {
7
7
  repeat: repeat
8
8
  });
@@ -3,18 +3,29 @@ var $ = require('../internals/export');
3
3
  var requireObjectCoercible = require('../internals/require-object-coercible');
4
4
  var isRegExp = require('../internals/is-regexp');
5
5
  var getRegExpFlags = require('../internals/regexp-flags');
6
+ var getSubstitution = require('../internals/get-substitution');
6
7
  var wellKnownSymbol = require('../internals/well-known-symbol');
7
8
  var IS_PURE = require('../internals/is-pure');
8
9
 
9
10
  var REPLACE = wellKnownSymbol('replace');
10
11
  var RegExpPrototype = RegExp.prototype;
12
+ var max = Math.max;
13
+
14
+ var stringIndexOf = function (string, searchValue, fromIndex) {
15
+ if (fromIndex > string.length) return -1;
16
+ if (searchValue === '') return fromIndex;
17
+ return string.indexOf(searchValue, fromIndex);
18
+ };
11
19
 
12
20
  // `String.prototype.replaceAll` method
13
- // https://github.com/tc39/proposal-string-replace-all
21
+ // https://tc39.es/ecma262/#sec-string.prototype.replaceall
14
22
  $({ target: 'String', proto: true }, {
15
23
  replaceAll: function replaceAll(searchValue, replaceValue) {
16
24
  var O = requireObjectCoercible(this);
17
- var IS_REG_EXP, flags, replacer, string, searchString, template, result, position, index;
25
+ var IS_REG_EXP, flags, replacer, string, searchString, functionalReplace, searchLength, advanceBy, replacement;
26
+ var position = 0;
27
+ var endOfLastMatch = 0;
28
+ var result = '';
18
29
  if (searchValue != null) {
19
30
  IS_REG_EXP = isRegExp(searchValue);
20
31
  if (IS_REG_EXP) {
@@ -33,17 +44,23 @@ $({ target: 'String', proto: true }, {
33
44
  }
34
45
  string = String(O);
35
46
  searchString = String(searchValue);
36
- if (searchString === '') return replaceAll.call(string, /(?:)/g, replaceValue);
37
- template = string.split(searchString);
38
- if (typeof replaceValue !== 'function') {
39
- return template.join(String(replaceValue));
47
+ functionalReplace = typeof replaceValue === 'function';
48
+ if (!functionalReplace) replaceValue = String(replaceValue);
49
+ searchLength = searchString.length;
50
+ advanceBy = max(1, searchLength);
51
+ position = stringIndexOf(string, searchString, 0);
52
+ while (position !== -1) {
53
+ if (functionalReplace) {
54
+ replacement = String(replaceValue(searchString, position, string));
55
+ } else {
56
+ replacement = getSubstitution(searchString, string, position, [], undefined, replaceValue);
57
+ }
58
+ result += string.slice(endOfLastMatch, position) + replacement;
59
+ endOfLastMatch = position + searchLength;
60
+ position = stringIndexOf(string, searchString, position + advanceBy);
40
61
  }
41
- result = template[0];
42
- position = result.length;
43
- for (index = 1; index < template.length; index++) {
44
- result += String(replaceValue(searchString, position, string));
45
- position += searchString.length + template[index].length;
46
- result += template[index];
62
+ if (endOfLastMatch < string.length) {
63
+ result += string.slice(endOfLastMatch);
47
64
  }
48
65
  return result;
49
66
  }