core-js 3.1.2 → 3.1.3
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/README.md +2 -2
- package/es/array/concat.js +2 -1
- package/es/array/copy-within.js +2 -1
- package/es/array/entries.js +2 -1
- package/es/array/every.js +2 -1
- package/es/array/fill.js +2 -1
- package/es/array/filter.js +2 -1
- package/es/array/find-index.js +2 -1
- package/es/array/find.js +2 -1
- package/es/array/flat-map.js +2 -1
- package/es/array/flat.js +2 -1
- package/es/array/for-each.js +2 -1
- package/es/array/from.js +2 -1
- package/es/array/includes.js +2 -1
- package/es/array/index-of.js +2 -1
- package/es/array/index.js +2 -1
- package/es/array/is-array.js +2 -1
- package/es/array/iterator.js +2 -1
- package/es/array/join.js +2 -1
- package/es/array/keys.js +2 -1
- package/es/array/last-index-of.js +2 -1
- package/es/array/map.js +2 -1
- package/es/array/of.js +2 -1
- package/es/array/reduce-right.js +2 -1
- package/es/array/reduce.js +2 -1
- package/es/array/reverse.js +2 -1
- package/es/array/slice.js +2 -1
- package/es/array/some.js +2 -1
- package/es/array/sort.js +2 -1
- package/es/array/splice.js +2 -1
- package/es/array/values.js +2 -1
- package/es/array/virtual/concat.js +2 -1
- package/es/array/virtual/copy-within.js +2 -1
- package/es/array/virtual/entries.js +2 -1
- package/es/array/virtual/every.js +2 -1
- package/es/array/virtual/fill.js +2 -1
- package/es/array/virtual/filter.js +2 -1
- package/es/array/virtual/find-index.js +2 -1
- package/es/array/virtual/find.js +2 -1
- package/es/array/virtual/flat-map.js +2 -1
- package/es/array/virtual/flat.js +2 -1
- package/es/array/virtual/for-each.js +2 -1
- package/es/array/virtual/includes.js +2 -1
- package/es/array/virtual/index-of.js +2 -1
- package/es/array/virtual/index.js +2 -1
- package/es/array/virtual/iterator.js +2 -1
- package/es/array/virtual/join.js +2 -1
- package/es/array/virtual/keys.js +2 -1
- package/es/array/virtual/last-index-of.js +2 -1
- package/es/array/virtual/map.js +2 -1
- package/es/array/virtual/reduce-right.js +2 -1
- package/es/array/virtual/reduce.js +2 -1
- package/es/array/virtual/reverse.js +2 -1
- package/es/array/virtual/slice.js +2 -1
- package/es/array/virtual/some.js +2 -1
- package/es/array/virtual/sort.js +2 -1
- package/es/array/virtual/splice.js +2 -1
- package/es/array/virtual/values.js +2 -1
- package/es/array-buffer/constructor.js +2 -1
- package/es/array-buffer/index.js +2 -1
- package/es/array-buffer/is-view.js +2 -1
- package/es/data-view/index.js +2 -1
- package/es/date/index.js +2 -1
- package/es/date/now.js +2 -1
- package/es/date/to-iso-string.js +2 -1
- package/es/date/to-json.js +2 -1
- package/es/function/bind.js +2 -1
- package/es/function/has-instance.js +2 -1
- package/es/function/index.js +2 -1
- package/es/function/virtual/bind.js +2 -1
- package/es/function/virtual/index.js +2 -1
- package/es/instance/bind.js +1 -0
- package/es/instance/code-point-at.js +1 -0
- package/es/instance/concat.js +1 -0
- package/es/instance/copy-within.js +1 -0
- package/es/instance/ends-with.js +1 -0
- package/es/instance/entries.js +1 -0
- package/es/instance/every.js +1 -0
- package/es/instance/fill.js +1 -0
- package/es/instance/filter.js +1 -0
- package/es/instance/find-index.js +1 -0
- package/es/instance/find.js +1 -0
- package/es/instance/flags.js +1 -0
- package/es/instance/flat-map.js +1 -0
- package/es/instance/flat.js +1 -0
- package/es/instance/for-each.js +1 -0
- package/es/instance/includes.js +1 -0
- package/es/instance/index-of.js +1 -0
- package/es/instance/keys.js +1 -0
- package/es/instance/last-index-of.js +1 -0
- package/es/instance/map.js +1 -0
- package/es/instance/match-all.js +1 -0
- package/es/instance/pad-end.js +1 -0
- package/es/instance/pad-start.js +1 -0
- package/es/instance/reduce-right.js +1 -0
- package/es/instance/reduce.js +1 -0
- package/es/instance/repeat.js +1 -0
- package/es/instance/reverse.js +1 -0
- package/es/instance/slice.js +1 -0
- package/es/instance/some.js +1 -0
- package/es/instance/sort.js +1 -0
- package/es/instance/splice.js +1 -0
- package/es/instance/starts-with.js +1 -0
- package/es/instance/trim-end.js +1 -0
- package/es/instance/trim-left.js +1 -0
- package/es/instance/trim-right.js +1 -0
- package/es/instance/trim-start.js +1 -0
- package/es/instance/trim.js +1 -0
- package/es/instance/values.js +1 -0
- package/es/json/index.js +0 -1
- package/es/map/index.js +2 -1
- package/es/math/acosh.js +2 -1
- package/es/math/asinh.js +2 -1
- package/es/math/atanh.js +2 -1
- package/es/math/cbrt.js +2 -1
- package/es/math/clz32.js +2 -1
- package/es/math/cosh.js +2 -1
- package/es/math/expm1.js +2 -1
- package/es/math/fround.js +2 -1
- package/es/math/hypot.js +2 -1
- package/es/math/imul.js +2 -1
- package/es/math/index.js +2 -1
- package/es/math/log10.js +2 -1
- package/es/math/log1p.js +2 -1
- package/es/math/log2.js +2 -1
- package/es/math/sign.js +2 -1
- package/es/math/sinh.js +2 -1
- package/es/math/tanh.js +2 -1
- package/es/math/trunc.js +2 -1
- package/es/number/index.js +2 -1
- package/es/number/is-finite.js +2 -1
- package/es/number/is-integer.js +2 -1
- package/es/number/is-nan.js +2 -1
- package/es/number/is-safe-integer.js +2 -1
- package/es/number/parse-float.js +2 -1
- package/es/number/parse-int.js +2 -1
- package/es/number/to-fixed.js +2 -1
- package/es/number/to-precision.js +2 -1
- package/es/number/virtual/index.js +2 -1
- package/es/number/virtual/to-fixed.js +2 -1
- package/es/number/virtual/to-precision.js +2 -1
- package/es/object/assign.js +2 -1
- package/es/object/create.js +3 -1
- package/es/object/define-getter.js +2 -1
- package/es/object/define-properties.js +3 -1
- package/es/object/define-property.js +3 -1
- package/es/object/define-setter.js +2 -1
- package/es/object/entries.js +2 -1
- package/es/object/freeze.js +2 -1
- package/es/object/from-entries.js +2 -1
- package/es/object/get-own-property-descriptor.js +3 -1
- package/es/object/get-own-property-descriptors.js +2 -1
- package/es/object/get-own-property-names.js +3 -1
- package/es/object/get-own-property-symbols.js +2 -1
- package/es/object/get-prototype-of.js +2 -1
- package/es/object/index.js +2 -1
- package/es/object/is-extensible.js +2 -1
- package/es/object/is-frozen.js +2 -1
- package/es/object/is-sealed.js +2 -1
- package/es/object/is.js +2 -1
- package/es/object/keys.js +2 -1
- package/es/object/lookup-getter.js +2 -1
- package/es/object/lookup-setter.js +2 -1
- package/es/object/prevent-extensions.js +2 -1
- package/es/object/seal.js +2 -1
- package/es/object/set-prototype-of.js +2 -1
- package/es/object/values.js +2 -1
- package/es/parse-float.js +2 -1
- package/es/parse-int.js +2 -1
- package/es/promise/finally.js +2 -1
- package/es/promise/index.js +2 -1
- package/es/reflect/apply.js +2 -1
- package/es/reflect/construct.js +2 -1
- package/es/reflect/define-property.js +2 -1
- package/es/reflect/delete-property.js +2 -1
- package/es/reflect/get-own-property-descriptor.js +2 -1
- package/es/reflect/get-prototype-of.js +2 -1
- package/es/reflect/get.js +2 -1
- package/es/reflect/has.js +2 -1
- package/es/reflect/index.js +2 -1
- package/es/reflect/is-extensible.js +2 -1
- package/es/reflect/own-keys.js +2 -1
- package/es/reflect/prevent-extensions.js +2 -1
- package/es/reflect/set-prototype-of.js +2 -1
- package/es/reflect/set.js +2 -1
- package/es/regexp/match.js +3 -1
- package/es/regexp/replace.js +3 -1
- package/es/regexp/search.js +3 -1
- package/es/regexp/split.js +3 -1
- package/es/set/index.js +2 -1
- package/es/string/anchor.js +2 -1
- package/es/string/big.js +2 -1
- package/es/string/blink.js +2 -1
- package/es/string/bold.js +2 -1
- package/es/string/code-point-at.js +2 -1
- package/es/string/ends-with.js +2 -1
- package/es/string/fixed.js +2 -1
- package/es/string/fontcolor.js +2 -1
- package/es/string/fontsize.js +2 -1
- package/es/string/from-code-point.js +2 -1
- package/es/string/includes.js +2 -1
- package/es/string/index.js +2 -1
- package/es/string/italics.js +2 -1
- package/es/string/iterator.js +3 -1
- package/es/string/link.js +2 -1
- package/es/string/match-all.js +2 -1
- package/es/string/match.js +2 -1
- package/es/string/pad-end.js +2 -1
- package/es/string/pad-start.js +2 -1
- package/es/string/raw.js +2 -1
- package/es/string/repeat.js +2 -1
- package/es/string/replace.js +2 -1
- package/es/string/search.js +2 -1
- package/es/string/small.js +2 -1
- package/es/string/split.js +2 -1
- package/es/string/starts-with.js +2 -1
- package/es/string/strike.js +2 -1
- package/es/string/sub.js +2 -1
- package/es/string/sup.js +2 -1
- package/es/string/trim-end.js +2 -1
- package/es/string/trim-left.js +2 -1
- package/es/string/trim-right.js +2 -1
- package/es/string/trim-start.js +2 -1
- package/es/string/trim.js +2 -1
- package/es/string/virtual/anchor.js +2 -1
- package/es/string/virtual/big.js +2 -1
- package/es/string/virtual/blink.js +2 -1
- package/es/string/virtual/bold.js +2 -1
- package/es/string/virtual/code-point-at.js +2 -1
- package/es/string/virtual/ends-with.js +2 -1
- package/es/string/virtual/fixed.js +2 -1
- package/es/string/virtual/fontcolor.js +2 -1
- package/es/string/virtual/fontsize.js +2 -1
- package/es/string/virtual/includes.js +2 -1
- package/es/string/virtual/index.js +2 -1
- package/es/string/virtual/italics.js +2 -1
- package/es/string/virtual/iterator.js +2 -1
- package/es/string/virtual/link.js +2 -1
- package/es/string/virtual/match-all.js +2 -1
- package/es/string/virtual/pad-end.js +2 -1
- package/es/string/virtual/pad-start.js +2 -1
- package/es/string/virtual/repeat.js +2 -1
- package/es/string/virtual/small.js +2 -1
- package/es/string/virtual/starts-with.js +2 -1
- package/es/string/virtual/strike.js +2 -1
- package/es/string/virtual/sub.js +2 -1
- package/es/string/virtual/sup.js +2 -1
- package/es/string/virtual/trim-end.js +2 -1
- package/es/string/virtual/trim-left.js +2 -1
- package/es/string/virtual/trim-right.js +2 -1
- package/es/string/virtual/trim-start.js +2 -1
- package/es/string/virtual/trim.js +2 -1
- package/es/symbol/async-iterator.js +2 -1
- package/es/symbol/for.js +2 -1
- package/es/symbol/has-instance.js +2 -1
- package/es/symbol/index.js +2 -1
- package/es/symbol/is-concat-spreadable.js +2 -1
- package/es/symbol/iterator.js +2 -1
- package/es/symbol/key-for.js +2 -1
- package/es/symbol/match-all.js +2 -1
- package/es/symbol/match.js +2 -1
- package/es/symbol/replace.js +2 -1
- package/es/symbol/search.js +2 -1
- package/es/symbol/species.js +3 -1
- package/es/symbol/split.js +2 -1
- package/es/symbol/to-primitive.js +2 -1
- package/es/symbol/to-string-tag.js +2 -1
- package/es/symbol/unscopables.js +2 -1
- package/es/typed-array/float32-array.js +2 -1
- package/es/typed-array/float64-array.js +2 -1
- package/es/typed-array/int16-array.js +2 -1
- package/es/typed-array/int32-array.js +2 -1
- package/es/typed-array/int8-array.js +2 -1
- package/es/typed-array/uint16-array.js +2 -1
- package/es/typed-array/uint32-array.js +2 -1
- package/es/typed-array/uint8-array.js +2 -1
- package/es/typed-array/uint8-clamped-array.js +2 -1
- package/es/weak-map/index.js +2 -1
- package/es/weak-set/index.js +2 -1
- package/features/aggregate-error.js +2 -1
- package/features/composite-key.js +2 -1
- package/features/composite-symbol.js +2 -1
- package/features/dom-collections/for-each.js +1 -3
- package/features/dom-collections/index.js +1 -11
- package/features/dom-collections/iterator.js +1 -3
- package/features/global-this.js +1 -1
- package/features/instance/at.js +1 -0
- package/features/instance/code-points.js +1 -0
- package/features/instance/replace-all.js +1 -0
- package/features/map/delete-all.js +2 -1
- package/features/map/every.js +2 -1
- package/features/map/filter.js +2 -1
- package/features/map/find-key.js +2 -1
- package/features/map/find.js +2 -1
- package/features/map/from.js +3 -1
- package/features/map/group-by.js +3 -1
- package/features/map/includes.js +2 -1
- package/features/map/key-by.js +3 -1
- package/features/map/key-of.js +2 -1
- package/features/map/map-keys.js +2 -1
- package/features/map/map-values.js +2 -1
- package/features/map/merge.js +2 -1
- package/features/map/of.js +3 -1
- package/features/map/reduce.js +2 -1
- package/features/map/some.js +2 -1
- package/features/map/update.js +2 -1
- package/features/math/clamp.js +2 -1
- package/features/math/degrees.js +2 -1
- package/features/math/fscale.js +2 -1
- package/features/math/iaddh.js +2 -1
- package/features/math/imulh.js +2 -1
- package/features/math/isubh.js +2 -1
- package/features/math/radians.js +2 -1
- package/features/math/scale.js +2 -1
- package/features/math/seeded-prng.js +2 -1
- package/features/math/signbit.js +2 -1
- package/features/math/umulh.js +2 -1
- package/features/number/from-string.js +2 -1
- package/features/observable/index.js +2 -1
- package/features/promise/all-settled.js +3 -1
- package/features/promise/any.js +3 -1
- package/features/promise/try.js +3 -1
- package/features/reflect/define-metadata.js +2 -1
- package/features/reflect/delete-metadata.js +4 -1
- package/features/reflect/get-metadata-keys.js +2 -1
- package/features/reflect/get-metadata.js +2 -1
- package/features/reflect/get-own-metadata-keys.js +2 -1
- package/features/reflect/get-own-metadata.js +2 -1
- package/features/reflect/has-metadata.js +2 -1
- package/features/reflect/has-own-metadata.js +2 -1
- package/features/reflect/metadata.js +2 -1
- package/features/set/add-all.js +2 -1
- package/features/set/delete-all.js +2 -1
- package/features/set/difference.js +2 -1
- package/features/set/every.js +2 -1
- package/features/set/filter.js +2 -1
- package/features/set/find.js +2 -1
- package/features/set/from.js +3 -1
- package/features/set/intersection.js +2 -1
- package/features/set/is-disjoint-from.js +2 -1
- package/features/set/is-subset-of.js +2 -1
- package/features/set/is-superset-of.js +2 -1
- package/features/set/join.js +2 -1
- package/features/set/map.js +2 -1
- package/features/set/of.js +3 -1
- package/features/set/reduce.js +2 -1
- package/features/set/some.js +2 -1
- package/features/set/symmetric-difference.js +2 -1
- package/features/set/union.js +2 -1
- package/features/string/at.js +2 -1
- package/features/string/replace-all.js +2 -1
- package/features/string/virtual/at.js +2 -1
- package/features/string/virtual/replace-all.js +2 -1
- package/features/symbol/dispose.js +2 -1
- package/features/symbol/observable.js +2 -1
- package/features/symbol/pattern-match.js +2 -1
- package/features/symbol/replace-all.js +2 -1
- package/features/url/index.js +1 -5
- package/features/url/to-json.js +1 -1
- package/features/url-search-params/index.js +1 -3
- package/features/weak-map/delete-all.js +2 -1
- package/features/weak-map/from.js +3 -1
- package/features/weak-map/of.js +3 -1
- package/features/weak-set/add-all.js +2 -1
- package/features/weak-set/delete-all.js +2 -1
- package/features/weak-set/from.js +3 -1
- package/features/weak-set/of.js +3 -1
- package/internals/add-to-unscopables.js +3 -1
- package/internals/array-buffer-view-core.js +4 -2
- package/internals/array-buffer.js +1 -0
- package/internals/array-for-each.js +5 -4
- package/internals/array-last-index-of.js +3 -2
- package/internals/array-method-has-species-support.js +3 -1
- package/internals/array-species-create.js +3 -1
- package/internals/check-correctness-of-iteration.js +3 -1
- package/internals/classof.js +3 -1
- package/internals/collection-strong.js +1 -0
- package/internals/collection-weak.js +1 -0
- package/internals/collection.js +2 -2
- package/internals/correct-is-regexp-logic.js +3 -1
- package/internals/correct-prototype-getter.js +3 -1
- package/internals/create-html.js +1 -0
- package/internals/date-to-iso-string.js +1 -0
- package/internals/define-iterator.js +5 -3
- package/internals/descriptors.js +3 -1
- package/internals/document-create-element.js +3 -1
- package/internals/entry-unbind.js +1 -0
- package/internals/forced-string-trim-method.js +1 -0
- package/internals/freezing.js +3 -1
- package/internals/function-bind.js +1 -0
- package/internals/function-to-string.js +3 -1
- package/internals/get-iterator-method.js +3 -1
- package/internals/html.js +3 -1
- package/internals/indexed-object.js +1 -0
- package/internals/internal-metadata.js +4 -2
- package/internals/internal-state.js +3 -1
- package/internals/is-array-iterator-method.js +4 -2
- package/internals/is-forced.js +1 -0
- package/internals/is-integer.js +1 -0
- package/internals/is-iterable.js +3 -1
- package/internals/is-regexp.js +3 -1
- package/internals/iterate.js +1 -0
- package/internals/iterators-core.js +3 -1
- package/internals/math-fround.js +1 -0
- package/internals/microtask.js +1 -0
- package/internals/native-url.js +4 -2
- package/internals/native-weak-map.js +3 -1
- package/internals/new-promise-capability.js +1 -1
- package/internals/number-is-finite.js +3 -1
- package/internals/object-assign.js +2 -1
- package/internals/object-create.js +4 -2
- package/internals/object-define-property.js +1 -0
- package/internals/object-get-own-property-descriptor.js +1 -0
- package/internals/object-get-own-property-names-external.js +2 -1
- package/internals/object-get-own-property-names.js +3 -1
- package/internals/object-get-prototype-of.js +4 -2
- package/internals/object-keys-internal.js +3 -1
- package/internals/object-keys.js +1 -1
- package/internals/object-property-is-enumerable.js +3 -3
- package/internals/object-set-prototype-of.js +2 -2
- package/internals/object-to-string.js +3 -1
- package/internals/own-keys.js +3 -1
- package/internals/parse-float.js +3 -1
- package/internals/parse-int.js +3 -1
- package/internals/redefine.js +1 -0
- package/internals/reflect-metadata.js +4 -2
- package/internals/regexp-exec.js +0 -1
- package/internals/set-species.js +3 -1
- package/internals/set-to-string-tag.js +3 -1
- package/internals/shared-key.js +4 -2
- package/internals/shared.js +2 -1
- package/internals/species-constructor.js +3 -1
- package/internals/string-at.js +1 -0
- package/internals/string-trim.js +3 -1
- package/internals/task.js +1 -0
- package/internals/to-absolute-index.js +1 -0
- package/internals/to-length.js +1 -0
- package/internals/to-primitive.js +2 -1
- package/internals/typed-array-constructor.js +95 -92
- package/internals/typed-arrays-constructors-requires-wrappers.js +1 -0
- package/internals/user-agent.js +1 -0
- package/internals/well-known-symbol.js +5 -2
- package/modules/es.array-buffer.constructor.js +9 -4
- package/modules/es.array-buffer.is-view.js +3 -1
- package/modules/es.array-buffer.slice.js +5 -2
- package/modules/es.array.concat.js +9 -4
- package/modules/es.array.copy-within.js +7 -3
- package/modules/es.array.every.js +6 -3
- package/modules/es.array.fill.js +6 -2
- package/modules/es.array.filter.js +6 -3
- package/modules/es.array.find-index.js +7 -3
- package/modules/es.array.find.js +7 -3
- package/modules/es.array.flat-map.js +2 -1
- package/modules/es.array.flat.js +2 -1
- package/modules/es.array.for-each.js +4 -1
- package/modules/es.array.from.js +7 -3
- package/modules/es.array.includes.js +7 -3
- package/modules/es.array.index-of.js +7 -3
- package/modules/es.array.is-array.js +4 -1
- package/modules/es.array.iterator.js +1 -0
- package/modules/es.array.join.js +7 -3
- package/modules/es.array.last-index-of.js +4 -3
- package/modules/es.array.map.js +6 -3
- package/modules/es.array.of.js +4 -2
- package/modules/es.array.reduce-right.js +6 -5
- package/modules/es.array.reduce.js +4 -2
- package/modules/es.array.reverse.js +3 -1
- package/modules/es.array.slice.js +7 -3
- package/modules/es.array.some.js +6 -3
- package/modules/es.array.sort.js +5 -2
- package/modules/es.array.species.js +3 -1
- package/modules/es.array.splice.js +5 -2
- package/modules/es.array.unscopables.flat-map.js +3 -1
- package/modules/es.array.unscopables.flat.js +3 -1
- package/modules/es.data-view.js +4 -2
- package/modules/es.date.now.js +3 -1
- package/modules/es.date.to-iso-string.js +2 -1
- package/modules/es.date.to-json.js +4 -2
- package/modules/es.date.to-primitive.js +3 -1
- package/modules/es.date.to-string.js +3 -1
- package/modules/es.function.bind.js +5 -2
- package/modules/es.function.has-instance.js +3 -1
- package/modules/es.function.name.js +1 -0
- package/modules/es.json.to-string-tag.js +4 -1
- package/modules/es.map.js +5 -2
- package/modules/es.math.acosh.js +3 -1
- package/modules/es.math.asinh.js +3 -1
- package/modules/es.math.atanh.js +3 -1
- package/modules/es.math.cbrt.js +3 -1
- package/modules/es.math.clz32.js +3 -1
- package/modules/es.math.cosh.js +3 -1
- package/modules/es.math.expm1.js +3 -4
- package/modules/es.math.fround.js +4 -1
- package/modules/es.math.hypot.js +3 -1
- package/modules/es.math.imul.js +5 -2
- package/modules/es.math.log10.js +3 -1
- package/modules/es.math.log1p.js +4 -1
- package/modules/es.math.log2.js +3 -1
- package/modules/es.math.sign.js +6 -1
- package/modules/es.math.sinh.js +5 -2
- package/modules/es.math.tanh.js +3 -1
- package/modules/es.math.to-string-tag.js +3 -1
- package/modules/es.math.trunc.js +3 -1
- package/modules/es.number.constructor.js +7 -3
- package/modules/es.number.epsilon.js +5 -1
- package/modules/es.number.is-finite.js +4 -3
- package/modules/es.number.is-integer.js +5 -2
- package/modules/es.number.is-nan.js +3 -1
- package/modules/es.number.is-safe-integer.js +3 -1
- package/modules/es.number.max-safe-integer.js +5 -1
- package/modules/es.number.min-safe-integer.js +5 -1
- package/modules/es.number.parse-float.js +2 -1
- package/modules/es.number.parse-int.js +2 -1
- package/modules/es.number.to-fixed.js +10 -5
- package/modules/es.number.to-precision.js +8 -4
- package/modules/es.object.assign.js +4 -1
- package/modules/es.object.create.js +7 -3
- package/modules/es.object.define-getter.js +5 -3
- package/modules/es.object.define-properties.js +4 -2
- package/modules/es.object.define-property.js +4 -2
- package/modules/es.object.define-setter.js +5 -3
- package/modules/es.object.entries.js +2 -1
- package/modules/es.object.freeze.js +6 -3
- package/modules/es.object.from-entries.js +2 -1
- package/modules/es.object.get-own-property-descriptor.js +5 -2
- package/modules/es.object.get-own-property-descriptors.js +2 -1
- package/modules/es.object.get-own-property-names.js +5 -2
- package/modules/es.object.get-prototype-of.js +4 -4
- package/modules/es.object.is-extensible.js +5 -2
- package/modules/es.object.is-frozen.js +5 -2
- package/modules/es.object.is-sealed.js +5 -2
- package/modules/es.object.is.js +6 -1
- package/modules/es.object.keys.js +5 -2
- package/modules/es.object.lookup-getter.js +5 -3
- package/modules/es.object.lookup-setter.js +5 -3
- package/modules/es.object.prevent-extensions.js +6 -3
- package/modules/es.object.seal.js +6 -3
- package/modules/es.object.set-prototype-of.js +5 -2
- package/modules/es.object.to-string.js +3 -1
- package/modules/es.object.values.js +2 -1
- package/modules/es.parse-float.js +2 -1
- package/modules/es.parse-int.js +2 -1
- package/modules/es.promise.finally.js +2 -1
- package/modules/es.promise.js +20 -12
- package/modules/es.reflect.apply.js +7 -3
- package/modules/es.reflect.construct.js +5 -2
- package/modules/es.reflect.define-property.js +4 -2
- package/modules/es.reflect.delete-property.js +2 -1
- package/modules/es.reflect.get-own-property-descriptor.js +2 -1
- package/modules/es.reflect.get-prototype-of.js +2 -1
- package/modules/es.reflect.get.js +4 -1
- package/modules/es.reflect.has.js +3 -1
- package/modules/es.reflect.is-extensible.js +3 -1
- package/modules/es.reflect.own-keys.js +6 -1
- package/modules/es.reflect.prevent-extensions.js +2 -1
- package/modules/es.reflect.set-prototype-of.js +2 -1
- package/modules/es.reflect.set.js +4 -1
- package/modules/es.regexp.constructor.js +5 -2
- package/modules/es.regexp.exec.js +4 -4
- package/modules/es.regexp.flags.js +7 -3
- package/modules/es.regexp.to-string.js +3 -1
- package/modules/es.set.js +5 -2
- package/modules/es.string.anchor.js +3 -2
- package/modules/es.string.big.js +3 -2
- package/modules/es.string.blink.js +3 -2
- package/modules/es.string.bold.js +3 -2
- package/modules/es.string.code-point-at.js +2 -1
- package/modules/es.string.ends-with.js +4 -3
- package/modules/es.string.fixed.js +3 -2
- package/modules/es.string.fontcolor.js +3 -2
- package/modules/es.string.fontsize.js +3 -2
- package/modules/es.string.from-code-point.js +3 -1
- package/modules/es.string.includes.js +4 -5
- package/modules/es.string.italics.js +3 -2
- package/modules/es.string.iterator.js +1 -0
- package/modules/es.string.link.js +3 -2
- package/modules/es.string.match-all.js +6 -3
- package/modules/es.string.match.js +32 -36
- package/modules/es.string.pad-end.js +2 -1
- package/modules/es.string.pad-start.js +2 -1
- package/modules/es.string.raw.js +2 -1
- package/modules/es.string.repeat.js +5 -2
- package/modules/es.string.replace.js +95 -98
- package/modules/es.string.search.js +25 -29
- package/modules/es.string.small.js +3 -2
- package/modules/es.string.split.js +107 -111
- package/modules/es.string.starts-with.js +4 -2
- package/modules/es.string.strike.js +3 -2
- package/modules/es.string.sub.js +3 -2
- package/modules/es.string.sup.js +3 -2
- package/modules/es.string.trim-end.js +5 -2
- package/modules/es.string.trim-start.js +5 -2
- package/modules/es.string.trim.js +5 -2
- package/modules/es.symbol.async-iterator.js +3 -1
- package/modules/es.symbol.description.js +7 -2
- package/modules/es.symbol.has-instance.js +3 -1
- package/modules/es.symbol.is-concat-spreadable.js +3 -1
- package/modules/es.symbol.iterator.js +3 -1
- package/modules/es.symbol.js +16 -12
- package/modules/es.symbol.match-all.js +3 -1
- package/modules/es.symbol.match.js +3 -1
- package/modules/es.symbol.replace.js +3 -1
- package/modules/es.symbol.search.js +3 -1
- package/modules/es.symbol.species.js +3 -1
- package/modules/es.symbol.split.js +3 -1
- package/modules/es.symbol.to-primitive.js +3 -1
- package/modules/es.symbol.to-string-tag.js +3 -1
- package/modules/es.symbol.unscopables.js +3 -1
- package/modules/es.typed-array.copy-within.js +1 -0
- package/modules/es.typed-array.every.js +3 -1
- package/modules/es.typed-array.fill.js +2 -1
- package/modules/es.typed-array.filter.js +3 -1
- package/modules/es.typed-array.find-index.js +3 -1
- package/modules/es.typed-array.find.js +3 -1
- package/modules/es.typed-array.float32-array.js +3 -1
- package/modules/es.typed-array.float64-array.js +3 -1
- package/modules/es.typed-array.for-each.js +3 -1
- package/modules/es.typed-array.includes.js +3 -1
- package/modules/es.typed-array.index-of.js +3 -1
- package/modules/es.typed-array.int16-array.js +3 -1
- package/modules/es.typed-array.int32-array.js +3 -1
- package/modules/es.typed-array.int8-array.js +3 -1
- package/modules/es.typed-array.iterator.js +5 -2
- package/modules/es.typed-array.join.js +1 -0
- package/modules/es.typed-array.last-index-of.js +1 -0
- package/modules/es.typed-array.map.js +3 -1
- package/modules/es.typed-array.of.js +1 -0
- package/modules/es.typed-array.reduce-right.js +3 -3
- package/modules/es.typed-array.reduce.js +3 -3
- package/modules/es.typed-array.reverse.js +1 -0
- package/modules/es.typed-array.set.js +3 -1
- package/modules/es.typed-array.slice.js +3 -1
- package/modules/es.typed-array.some.js +3 -1
- package/modules/es.typed-array.sort.js +1 -0
- package/modules/es.typed-array.subarray.js +1 -0
- package/modules/es.typed-array.to-locale-string.js +3 -1
- package/modules/es.typed-array.to-string.js +6 -3
- package/modules/es.typed-array.uint16-array.js +3 -1
- package/modules/es.typed-array.uint32-array.js +3 -1
- package/modules/es.typed-array.uint8-array.js +3 -1
- package/modules/es.typed-array.uint8-clamped-array.js +3 -1
- package/modules/es.weak-map.js +5 -3
- package/modules/es.weak-set.js +5 -2
- package/modules/esnext.aggregate-error.js +5 -3
- package/modules/esnext.array.last-index.js +2 -1
- package/modules/esnext.array.last-item.js +2 -1
- package/modules/esnext.composite-key.js +2 -1
- package/modules/esnext.composite-symbol.js +2 -1
- package/modules/esnext.global-this.js +4 -1
- package/modules/esnext.map.delete-all.js +3 -3
- package/modules/esnext.map.every.js +3 -1
- package/modules/esnext.map.filter.js +3 -1
- package/modules/esnext.map.find-key.js +3 -1
- package/modules/esnext.map.find.js +3 -1
- package/modules/esnext.map.from.js +5 -2
- package/modules/esnext.map.group-by.js +2 -1
- package/modules/esnext.map.includes.js +3 -1
- package/modules/esnext.map.key-by.js +2 -1
- package/modules/esnext.map.key-of.js +3 -1
- package/modules/esnext.map.map-keys.js +3 -1
- package/modules/esnext.map.map-values.js +3 -1
- package/modules/esnext.map.merge.js +3 -1
- package/modules/esnext.map.of.js +5 -2
- package/modules/esnext.map.reduce.js +3 -1
- package/modules/esnext.map.some.js +3 -1
- package/modules/esnext.map.update.js +3 -1
- package/modules/esnext.math.clamp.js +3 -1
- package/modules/esnext.math.deg-per-rad.js +5 -1
- package/modules/esnext.math.degrees.js +5 -3
- package/modules/esnext.math.fscale.js +3 -1
- package/modules/esnext.math.iaddh.js +3 -1
- package/modules/esnext.math.imulh.js +3 -1
- package/modules/esnext.math.isubh.js +3 -1
- package/modules/esnext.math.rad-per-deg.js +5 -1
- package/modules/esnext.math.radians.js +3 -1
- package/modules/esnext.math.scale.js +6 -1
- package/modules/esnext.math.seeded-prng.js +4 -2
- package/modules/esnext.math.signbit.js +8 -4
- package/modules/esnext.math.umulh.js +3 -1
- package/modules/esnext.number.from-string.js +3 -1
- package/modules/esnext.observable.js +10 -4
- package/modules/esnext.promise.all-settled.js +4 -3
- package/modules/esnext.promise.any.js +5 -3
- package/modules/esnext.promise.try.js +4 -3
- package/modules/esnext.reflect.define-metadata.js +3 -1
- package/modules/esnext.reflect.delete-metadata.js +3 -1
- package/modules/esnext.reflect.get-metadata-keys.js +3 -1
- package/modules/esnext.reflect.get-metadata.js +3 -1
- package/modules/esnext.reflect.get-own-metadata-keys.js +3 -1
- package/modules/esnext.reflect.get-own-metadata.js +3 -1
- package/modules/esnext.reflect.has-metadata.js +3 -1
- package/modules/esnext.reflect.has-own-metadata.js +3 -1
- package/modules/esnext.reflect.metadata.js +3 -1
- package/modules/esnext.set.add-all.js +3 -1
- package/modules/esnext.set.delete-all.js +3 -1
- package/modules/esnext.set.difference.js +3 -1
- package/modules/esnext.set.every.js +3 -1
- package/modules/esnext.set.filter.js +3 -1
- package/modules/esnext.set.find.js +3 -1
- package/modules/esnext.set.from.js +5 -2
- package/modules/esnext.set.intersection.js +3 -1
- package/modules/esnext.set.is-disjoint-from.js +4 -1
- package/modules/esnext.set.is-subset-of.js +4 -1
- package/modules/esnext.set.is-superset-of.js +4 -1
- package/modules/esnext.set.join.js +3 -1
- package/modules/esnext.set.map.js +3 -1
- package/modules/esnext.set.of.js +5 -2
- package/modules/esnext.set.reduce.js +3 -1
- package/modules/esnext.set.some.js +3 -1
- package/modules/esnext.set.symmetric-difference.js +3 -1
- package/modules/esnext.set.union.js +3 -1
- package/modules/esnext.string.at.js +2 -1
- package/modules/esnext.string.code-points.js +3 -1
- package/modules/esnext.string.replace-all.js +5 -2
- package/modules/esnext.symbol.dispose.js +3 -1
- package/modules/esnext.symbol.observable.js +4 -1
- package/modules/esnext.symbol.pattern-match.js +3 -1
- package/modules/esnext.symbol.replace-all.js +3 -1
- package/modules/esnext.weak-map.delete-all.js +3 -3
- package/modules/esnext.weak-map.from.js +5 -2
- package/modules/esnext.weak-map.of.js +5 -2
- package/modules/esnext.weak-set.add-all.js +3 -2
- package/modules/esnext.weak-set.delete-all.js +3 -2
- package/modules/esnext.weak-set.from.js +5 -2
- package/modules/esnext.weak-set.of.js +5 -2
- package/modules/web.dom-collections.for-each.js +1 -1
- package/modules/web.dom-collections.iterator.js +2 -1
- package/modules/web.immediate.js +1 -0
- package/modules/web.queue-microtask.js +9 -5
- package/modules/web.timers.js +3 -2
- package/modules/web.url-search-params.js +14 -6
- package/modules/web.url.js +8 -4
- package/modules/web.url.to-json.js +3 -1
- package/package.json +2 -2
- package/scripts/postinstall.js +19 -8
- package/stable/dom-collections/index.js +2 -1
- package/stable/dom-collections/iterator.js +2 -1
- package/web/queue-microtask.js +2 -1
- package/web/url-search-params.js +2 -1
- package/web/url.js +2 -1
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
'use strict';
|
|
2
|
+
var $ = require('../internals/export');
|
|
2
3
|
var validateArguments = require('../internals/validate-string-method-arguments');
|
|
3
|
-
var
|
|
4
|
-
|
|
5
|
-
var CORRECT_IS_REGEXP_LOGIC = require('../internals/correct-is-regexp-logic')(INCLUDES);
|
|
4
|
+
var correctIsRegExpLogic = require('../internals/correct-is-regexp-logic');
|
|
6
5
|
|
|
7
6
|
// `String.prototype.includes` method
|
|
8
7
|
// https://tc39.github.io/ecma262/#sec-string.prototype.includes
|
|
9
|
-
|
|
8
|
+
$({ target: 'String', proto: true, forced: !correctIsRegExpLogic('includes') }, {
|
|
10
9
|
includes: function includes(searchString /* , position = 0 */) {
|
|
11
|
-
return !!~validateArguments(this, searchString,
|
|
10
|
+
return !!~validateArguments(this, searchString, 'includes')
|
|
12
11
|
.indexOf(searchString, arguments.length > 1 ? arguments[1] : undefined);
|
|
13
12
|
}
|
|
14
13
|
});
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
'use strict';
|
|
2
|
+
var $ = require('../internals/export');
|
|
2
3
|
var createHTML = require('../internals/create-html');
|
|
3
|
-
var
|
|
4
|
+
var forcedStringHTMLMethod = require('../internals/forced-string-html-method');
|
|
4
5
|
|
|
5
6
|
// `String.prototype.italics` method
|
|
6
7
|
// https://tc39.github.io/ecma262/#sec-string.prototype.italics
|
|
7
|
-
|
|
8
|
+
$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('italics') }, {
|
|
8
9
|
italics: function italics() {
|
|
9
10
|
return createHTML(this, 'i', '', '');
|
|
10
11
|
}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
var codePointAt = require('../internals/string-at');
|
|
3
3
|
var InternalStateModule = require('../internals/internal-state');
|
|
4
4
|
var defineIterator = require('../internals/define-iterator');
|
|
5
|
+
|
|
5
6
|
var STRING_ITERATOR = 'String Iterator';
|
|
6
7
|
var setInternalState = InternalStateModule.set;
|
|
7
8
|
var getInternalState = InternalStateModule.getterFor(STRING_ITERATOR);
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
'use strict';
|
|
2
|
+
var $ = require('../internals/export');
|
|
2
3
|
var createHTML = require('../internals/create-html');
|
|
3
|
-
var
|
|
4
|
+
var forcedStringHTMLMethod = require('../internals/forced-string-html-method');
|
|
4
5
|
|
|
5
6
|
// `String.prototype.link` method
|
|
6
7
|
// https://tc39.github.io/ecma262/#sec-string.prototype.link
|
|
7
|
-
|
|
8
|
+
$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('link') }, {
|
|
8
9
|
link: function link(url) {
|
|
9
10
|
return createHTML(this, 'a', 'href', url);
|
|
10
11
|
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
'use strict';
|
|
2
|
+
var $ = require('../internals/export');
|
|
2
3
|
var createIteratorConstructor = require('../internals/create-iterator-constructor');
|
|
3
4
|
var requireObjectCoercible = require('../internals/require-object-coercible');
|
|
4
5
|
var toLength = require('../internals/to-length');
|
|
@@ -7,13 +8,15 @@ var anObject = require('../internals/an-object');
|
|
|
7
8
|
var classof = require('../internals/classof');
|
|
8
9
|
var getFlags = require('../internals/regexp-flags');
|
|
9
10
|
var hide = require('../internals/hide');
|
|
11
|
+
var wellKnownSymbol = require('../internals/well-known-symbol');
|
|
10
12
|
var speciesConstructor = require('../internals/species-constructor');
|
|
11
13
|
var advanceStringIndex = require('../internals/advance-string-index');
|
|
12
|
-
var
|
|
14
|
+
var InternalStateModule = require('../internals/internal-state');
|
|
13
15
|
var IS_PURE = require('../internals/is-pure');
|
|
16
|
+
|
|
17
|
+
var MATCH_ALL = wellKnownSymbol('matchAll');
|
|
14
18
|
var REGEXP_STRING = 'RegExp String';
|
|
15
19
|
var REGEXP_STRING_ITERATOR = REGEXP_STRING + ' Iterator';
|
|
16
|
-
var InternalStateModule = require('../internals/internal-state');
|
|
17
20
|
var setInternalState = InternalStateModule.set;
|
|
18
21
|
var getInternalState = InternalStateModule.getterFor(REGEXP_STRING_ITERATOR);
|
|
19
22
|
var RegExpPrototype = RegExp.prototype;
|
|
@@ -73,7 +76,7 @@ var $matchAll = function (string) {
|
|
|
73
76
|
|
|
74
77
|
// `String.prototype.matchAll` method
|
|
75
78
|
// https://github.com/tc39/proposal-string-matchall
|
|
76
|
-
|
|
79
|
+
$({ target: 'String', proto: true }, {
|
|
77
80
|
matchAll: function matchAll(regexp) {
|
|
78
81
|
var O = requireObjectCoercible(this);
|
|
79
82
|
var S, matcher, rx;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
'use strict';
|
|
2
|
-
|
|
2
|
+
var fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');
|
|
3
3
|
var anObject = require('../internals/an-object');
|
|
4
4
|
var toLength = require('../internals/to-length');
|
|
5
5
|
var requireObjectCoercible = require('../internals/require-object-coercible');
|
|
@@ -7,42 +7,38 @@ var advanceStringIndex = require('../internals/advance-string-index');
|
|
|
7
7
|
var regExpExec = require('../internals/regexp-exec-abstract');
|
|
8
8
|
|
|
9
9
|
// @@match logic
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
function (regexp) {
|
|
25
|
-
var res = maybeCallNative(nativeMatch, regexp, this);
|
|
26
|
-
if (res.done) return res.value;
|
|
10
|
+
fixRegExpWellKnownSymbolLogic('match', 1, function (MATCH, nativeMatch, maybeCallNative) {
|
|
11
|
+
return [
|
|
12
|
+
// `String.prototype.match` method
|
|
13
|
+
// https://tc39.github.io/ecma262/#sec-string.prototype.match
|
|
14
|
+
function match(regexp) {
|
|
15
|
+
var O = requireObjectCoercible(this);
|
|
16
|
+
var matcher = regexp == undefined ? undefined : regexp[MATCH];
|
|
17
|
+
return matcher !== undefined ? matcher.call(regexp, O) : new RegExp(regexp)[MATCH](String(O));
|
|
18
|
+
},
|
|
19
|
+
// `RegExp.prototype[@@match]` method
|
|
20
|
+
// https://tc39.github.io/ecma262/#sec-regexp.prototype-@@match
|
|
21
|
+
function (regexp) {
|
|
22
|
+
var res = maybeCallNative(nativeMatch, regexp, this);
|
|
23
|
+
if (res.done) return res.value;
|
|
27
24
|
|
|
28
|
-
|
|
29
|
-
|
|
25
|
+
var rx = anObject(regexp);
|
|
26
|
+
var S = String(this);
|
|
30
27
|
|
|
31
|
-
|
|
28
|
+
if (!rx.global) return regExpExec(rx, S);
|
|
32
29
|
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
}
|
|
44
|
-
return n === 0 ? null : A;
|
|
30
|
+
var fullUnicode = rx.unicode;
|
|
31
|
+
rx.lastIndex = 0;
|
|
32
|
+
var A = [];
|
|
33
|
+
var n = 0;
|
|
34
|
+
var result;
|
|
35
|
+
while ((result = regExpExec(rx, S)) !== null) {
|
|
36
|
+
var matchStr = String(result[0]);
|
|
37
|
+
A[n] = matchStr;
|
|
38
|
+
if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);
|
|
39
|
+
n++;
|
|
45
40
|
}
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
41
|
+
return n === 0 ? null : A;
|
|
42
|
+
}
|
|
43
|
+
];
|
|
44
|
+
});
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
'use strict';
|
|
2
|
+
var $ = require('../internals/export');
|
|
2
3
|
var internalStringPad = require('../internals/string-pad');
|
|
3
4
|
var WEBKIT_BUG = require('../internals/webkit-string-pad-bug');
|
|
4
5
|
|
|
5
6
|
// `String.prototype.padEnd` method
|
|
6
7
|
// https://tc39.github.io/ecma262/#sec-string.prototype.padend
|
|
7
|
-
|
|
8
|
+
$({ target: 'String', proto: true, forced: WEBKIT_BUG }, {
|
|
8
9
|
padEnd: function padEnd(maxLength /* , fillString = ' ' */) {
|
|
9
10
|
return internalStringPad(this, maxLength, arguments.length > 1 ? arguments[1] : undefined, false);
|
|
10
11
|
}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
'use strict';
|
|
2
|
+
var $ = require('../internals/export');
|
|
2
3
|
var internalStringPad = require('../internals/string-pad');
|
|
3
4
|
var WEBKIT_BUG = require('../internals/webkit-string-pad-bug');
|
|
4
5
|
|
|
5
6
|
// `String.prototype.padStart` method
|
|
6
7
|
// https://tc39.github.io/ecma262/#sec-string.prototype.padstart
|
|
7
|
-
|
|
8
|
+
$({ target: 'String', proto: true, forced: WEBKIT_BUG }, {
|
|
8
9
|
padStart: function padStart(maxLength /* , fillString = ' ' */) {
|
|
9
10
|
return internalStringPad(this, maxLength, arguments.length > 1 ? arguments[1] : undefined, true);
|
|
10
11
|
}
|
package/modules/es.string.raw.js
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
|
+
var $ = require('../internals/export');
|
|
1
2
|
var toIndexedObject = require('../internals/to-indexed-object');
|
|
2
3
|
var toLength = require('../internals/to-length');
|
|
3
4
|
|
|
4
5
|
// `String.raw` method
|
|
5
6
|
// https://tc39.github.io/ecma262/#sec-string.raw
|
|
6
|
-
|
|
7
|
+
$({ target: 'String', stat: true }, {
|
|
7
8
|
raw: function raw(template) {
|
|
8
9
|
var rawTemplate = toIndexedObject(template.raw);
|
|
9
10
|
var literalSegments = toLength(rawTemplate.length);
|
|
@@ -1,5 +1,8 @@
|
|
|
1
|
+
var $ = require('../internals/export');
|
|
2
|
+
var repeat = require('../internals/string-repeat');
|
|
3
|
+
|
|
1
4
|
// `String.prototype.repeat` method
|
|
2
5
|
// https://tc39.github.io/ecma262/#sec-string.prototype.repeat
|
|
3
|
-
|
|
4
|
-
repeat:
|
|
6
|
+
$({ target: 'String', proto: true }, {
|
|
7
|
+
repeat: repeat
|
|
5
8
|
});
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
'use strict';
|
|
2
|
-
|
|
2
|
+
var fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');
|
|
3
3
|
var anObject = require('../internals/an-object');
|
|
4
4
|
var toObject = require('../internals/to-object');
|
|
5
5
|
var toLength = require('../internals/to-length');
|
|
@@ -7,6 +7,7 @@ var toInteger = require('../internals/to-integer');
|
|
|
7
7
|
var requireObjectCoercible = require('../internals/require-object-coercible');
|
|
8
8
|
var advanceStringIndex = require('../internals/advance-string-index');
|
|
9
9
|
var regExpExec = require('../internals/regexp-exec-abstract');
|
|
10
|
+
|
|
10
11
|
var max = Math.max;
|
|
11
12
|
var min = Math.min;
|
|
12
13
|
var floor = Math.floor;
|
|
@@ -18,112 +19,108 @@ var maybeToString = function (it) {
|
|
|
18
19
|
};
|
|
19
20
|
|
|
20
21
|
// @@replace logic
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
function (regexp, replaceValue) {
|
|
38
|
-
var res = maybeCallNative(nativeReplace, regexp, this, replaceValue);
|
|
39
|
-
if (res.done) return res.value;
|
|
22
|
+
fixRegExpWellKnownSymbolLogic('replace', 2, function (REPLACE, nativeReplace, maybeCallNative) {
|
|
23
|
+
return [
|
|
24
|
+
// `String.prototype.replace` method
|
|
25
|
+
// https://tc39.github.io/ecma262/#sec-string.prototype.replace
|
|
26
|
+
function replace(searchValue, replaceValue) {
|
|
27
|
+
var O = requireObjectCoercible(this);
|
|
28
|
+
var replacer = searchValue == undefined ? undefined : searchValue[REPLACE];
|
|
29
|
+
return replacer !== undefined
|
|
30
|
+
? replacer.call(searchValue, O, replaceValue)
|
|
31
|
+
: nativeReplace.call(String(O), searchValue, replaceValue);
|
|
32
|
+
},
|
|
33
|
+
// `RegExp.prototype[@@replace]` method
|
|
34
|
+
// https://tc39.github.io/ecma262/#sec-regexp.prototype-@@replace
|
|
35
|
+
function (regexp, replaceValue) {
|
|
36
|
+
var res = maybeCallNative(nativeReplace, regexp, this, replaceValue);
|
|
37
|
+
if (res.done) return res.value;
|
|
40
38
|
|
|
41
|
-
|
|
42
|
-
|
|
39
|
+
var rx = anObject(regexp);
|
|
40
|
+
var S = String(this);
|
|
43
41
|
|
|
44
|
-
|
|
45
|
-
|
|
42
|
+
var functionalReplace = typeof replaceValue === 'function';
|
|
43
|
+
if (!functionalReplace) replaceValue = String(replaceValue);
|
|
46
44
|
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
45
|
+
var global = rx.global;
|
|
46
|
+
if (global) {
|
|
47
|
+
var fullUnicode = rx.unicode;
|
|
48
|
+
rx.lastIndex = 0;
|
|
49
|
+
}
|
|
50
|
+
var results = [];
|
|
51
|
+
while (true) {
|
|
52
|
+
var result = regExpExec(rx, S);
|
|
53
|
+
if (result === null) break;
|
|
56
54
|
|
|
57
|
-
|
|
58
|
-
|
|
55
|
+
results.push(result);
|
|
56
|
+
if (!global) break;
|
|
59
57
|
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
58
|
+
var matchStr = String(result[0]);
|
|
59
|
+
if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);
|
|
60
|
+
}
|
|
63
61
|
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
62
|
+
var accumulatedResult = '';
|
|
63
|
+
var nextSourcePosition = 0;
|
|
64
|
+
for (var i = 0; i < results.length; i++) {
|
|
65
|
+
result = results[i];
|
|
68
66
|
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
}
|
|
67
|
+
var matched = String(result[0]);
|
|
68
|
+
var position = max(min(toInteger(result.index), S.length), 0);
|
|
69
|
+
var captures = [];
|
|
70
|
+
// NOTE: This is equivalent to
|
|
71
|
+
// captures = result.slice(1).map(maybeToString)
|
|
72
|
+
// but for some reason `nativeSlice.call(result, 1, result.length)` (called in
|
|
73
|
+
// the slice polyfill when slicing native arrays) "doesn't work" in safari 9 and
|
|
74
|
+
// causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it.
|
|
75
|
+
for (var j = 1; j < result.length; j++) captures.push(maybeToString(result[j]));
|
|
76
|
+
var namedCaptures = result.groups;
|
|
77
|
+
if (functionalReplace) {
|
|
78
|
+
var replacerArgs = [matched].concat(captures, position, S);
|
|
79
|
+
if (namedCaptures !== undefined) replacerArgs.push(namedCaptures);
|
|
80
|
+
var replacement = String(replaceValue.apply(undefined, replacerArgs));
|
|
81
|
+
} else {
|
|
82
|
+
replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue);
|
|
83
|
+
}
|
|
84
|
+
if (position >= nextSourcePosition) {
|
|
85
|
+
accumulatedResult += S.slice(nextSourcePosition, position) + replacement;
|
|
86
|
+
nextSourcePosition = position + matched.length;
|
|
90
87
|
}
|
|
91
|
-
return accumulatedResult + S.slice(nextSourcePosition);
|
|
92
88
|
}
|
|
93
|
-
|
|
89
|
+
return accumulatedResult + S.slice(nextSourcePosition);
|
|
90
|
+
}
|
|
91
|
+
];
|
|
94
92
|
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
}
|
|
104
|
-
return nativeReplace.call(replacement, symbols, function (match, ch) {
|
|
105
|
-
var capture;
|
|
106
|
-
switch (ch.charAt(0)) {
|
|
107
|
-
case '$': return '$';
|
|
108
|
-
case '&': return matched;
|
|
109
|
-
case '`': return str.slice(0, position);
|
|
110
|
-
case "'": return str.slice(tailPos);
|
|
111
|
-
case '<':
|
|
112
|
-
capture = namedCaptures[ch.slice(1, -1)];
|
|
113
|
-
break;
|
|
114
|
-
default: // \d\d?
|
|
115
|
-
var n = +ch;
|
|
116
|
-
if (n === 0) return match;
|
|
117
|
-
if (n > m) {
|
|
118
|
-
var f = floor(n / 10);
|
|
119
|
-
if (f === 0) return match;
|
|
120
|
-
if (f <= m) return captures[f - 1] === undefined ? ch.charAt(1) : captures[f - 1] + ch.charAt(1);
|
|
121
|
-
return match;
|
|
122
|
-
}
|
|
123
|
-
capture = captures[n - 1];
|
|
124
|
-
}
|
|
125
|
-
return capture === undefined ? '' : capture;
|
|
126
|
-
});
|
|
93
|
+
// https://tc39.github.io/ecma262/#sec-getsubstitution
|
|
94
|
+
function getSubstitution(matched, str, position, captures, namedCaptures, replacement) {
|
|
95
|
+
var tailPos = position + matched.length;
|
|
96
|
+
var m = captures.length;
|
|
97
|
+
var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED;
|
|
98
|
+
if (namedCaptures !== undefined) {
|
|
99
|
+
namedCaptures = toObject(namedCaptures);
|
|
100
|
+
symbols = SUBSTITUTION_SYMBOLS;
|
|
127
101
|
}
|
|
102
|
+
return nativeReplace.call(replacement, symbols, function (match, ch) {
|
|
103
|
+
var capture;
|
|
104
|
+
switch (ch.charAt(0)) {
|
|
105
|
+
case '$': return '$';
|
|
106
|
+
case '&': return matched;
|
|
107
|
+
case '`': return str.slice(0, position);
|
|
108
|
+
case "'": return str.slice(tailPos);
|
|
109
|
+
case '<':
|
|
110
|
+
capture = namedCaptures[ch.slice(1, -1)];
|
|
111
|
+
break;
|
|
112
|
+
default: // \d\d?
|
|
113
|
+
var n = +ch;
|
|
114
|
+
if (n === 0) return match;
|
|
115
|
+
if (n > m) {
|
|
116
|
+
var f = floor(n / 10);
|
|
117
|
+
if (f === 0) return match;
|
|
118
|
+
if (f <= m) return captures[f - 1] === undefined ? ch.charAt(1) : captures[f - 1] + ch.charAt(1);
|
|
119
|
+
return match;
|
|
120
|
+
}
|
|
121
|
+
capture = captures[n - 1];
|
|
122
|
+
}
|
|
123
|
+
return capture === undefined ? '' : capture;
|
|
124
|
+
});
|
|
128
125
|
}
|
|
129
|
-
);
|
|
126
|
+
});
|
|
@@ -1,38 +1,34 @@
|
|
|
1
1
|
'use strict';
|
|
2
|
-
|
|
2
|
+
var fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');
|
|
3
3
|
var anObject = require('../internals/an-object');
|
|
4
4
|
var requireObjectCoercible = require('../internals/require-object-coercible');
|
|
5
5
|
var sameValue = require('../internals/same-value');
|
|
6
6
|
var regExpExec = require('../internals/regexp-exec-abstract');
|
|
7
7
|
|
|
8
8
|
// @@search logic
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
function (regexp) {
|
|
24
|
-
var res = maybeCallNative(nativeSearch, regexp, this);
|
|
25
|
-
if (res.done) return res.value;
|
|
9
|
+
fixRegExpWellKnownSymbolLogic('search', 1, function (SEARCH, nativeSearch, maybeCallNative) {
|
|
10
|
+
return [
|
|
11
|
+
// `String.prototype.search` method
|
|
12
|
+
// https://tc39.github.io/ecma262/#sec-string.prototype.search
|
|
13
|
+
function search(regexp) {
|
|
14
|
+
var O = requireObjectCoercible(this);
|
|
15
|
+
var searcher = regexp == undefined ? undefined : regexp[SEARCH];
|
|
16
|
+
return searcher !== undefined ? searcher.call(regexp, O) : new RegExp(regexp)[SEARCH](String(O));
|
|
17
|
+
},
|
|
18
|
+
// `RegExp.prototype[@@search]` method
|
|
19
|
+
// https://tc39.github.io/ecma262/#sec-regexp.prototype-@@search
|
|
20
|
+
function (regexp) {
|
|
21
|
+
var res = maybeCallNative(nativeSearch, regexp, this);
|
|
22
|
+
if (res.done) return res.value;
|
|
26
23
|
|
|
27
|
-
|
|
28
|
-
|
|
24
|
+
var rx = anObject(regexp);
|
|
25
|
+
var S = String(this);
|
|
29
26
|
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
);
|
|
27
|
+
var previousLastIndex = rx.lastIndex;
|
|
28
|
+
if (!sameValue(previousLastIndex, 0)) rx.lastIndex = 0;
|
|
29
|
+
var result = regExpExec(rx, S);
|
|
30
|
+
if (!sameValue(rx.lastIndex, previousLastIndex)) rx.lastIndex = previousLastIndex;
|
|
31
|
+
return result === null ? -1 : result.index;
|
|
32
|
+
}
|
|
33
|
+
];
|
|
34
|
+
});
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
'use strict';
|
|
2
|
+
var $ = require('../internals/export');
|
|
2
3
|
var createHTML = require('../internals/create-html');
|
|
3
|
-
var
|
|
4
|
+
var forcedStringHTMLMethod = require('../internals/forced-string-html-method');
|
|
4
5
|
|
|
5
6
|
// `String.prototype.small` method
|
|
6
7
|
// https://tc39.github.io/ecma262/#sec-string.prototype.small
|
|
7
|
-
|
|
8
|
+
$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('small') }, {
|
|
8
9
|
small: function small() {
|
|
9
10
|
return createHTML(this, 'small', '', '');
|
|
10
11
|
}
|