core-js 3.19.2 → 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 +1 -1
- package/README.md +27 -17
- package/actual/README.md +1 -0
- package/actual/aggregate-error.js +3 -0
- package/actual/array/at.js +3 -0
- package/actual/array/concat.js +3 -0
- package/actual/array/copy-within.js +3 -0
- package/actual/array/entries.js +3 -0
- package/actual/array/every.js +3 -0
- package/actual/array/fill.js +3 -0
- package/actual/array/filter.js +3 -0
- package/actual/array/find-index.js +3 -0
- package/actual/array/find-last-index.js +4 -0
- package/actual/array/find-last.js +4 -0
- package/actual/array/find.js +3 -0
- package/actual/array/flat-map.js +3 -0
- package/actual/array/flat.js +3 -0
- package/actual/array/for-each.js +3 -0
- package/actual/array/from.js +3 -0
- package/actual/array/group-by-to-map.js +6 -0
- package/actual/array/group-by.js +4 -0
- package/actual/array/includes.js +3 -0
- package/actual/array/index-of.js +3 -0
- package/actual/array/index.js +9 -0
- package/actual/array/is-array.js +3 -0
- package/actual/array/iterator.js +3 -0
- package/actual/array/join.js +3 -0
- package/actual/array/keys.js +3 -0
- package/actual/array/last-index-of.js +3 -0
- package/actual/array/map.js +3 -0
- package/actual/array/of.js +3 -0
- package/actual/array/reduce-right.js +3 -0
- package/actual/array/reduce.js +3 -0
- package/actual/array/reverse.js +3 -0
- package/actual/array/slice.js +3 -0
- package/actual/array/some.js +3 -0
- package/actual/array/sort.js +3 -0
- package/actual/array/splice.js +3 -0
- package/actual/array/values.js +3 -0
- package/actual/array/virtual/at.js +3 -0
- package/actual/array/virtual/concat.js +3 -0
- package/actual/array/virtual/copy-within.js +3 -0
- package/actual/array/virtual/entries.js +3 -0
- package/actual/array/virtual/every.js +3 -0
- package/actual/array/virtual/fill.js +3 -0
- package/actual/array/virtual/filter.js +3 -0
- package/actual/array/virtual/find-index.js +3 -0
- package/actual/array/virtual/find-last-index.js +4 -0
- package/actual/array/virtual/find-last.js +4 -0
- package/actual/array/virtual/find.js +3 -0
- package/actual/array/virtual/flat-map.js +3 -0
- package/actual/array/virtual/flat.js +3 -0
- package/actual/array/virtual/for-each.js +3 -0
- package/actual/array/virtual/group-by-to-map.js +6 -0
- package/actual/array/virtual/group-by.js +4 -0
- package/actual/array/virtual/includes.js +3 -0
- package/actual/array/virtual/index-of.js +3 -0
- package/actual/array/virtual/index.js +9 -0
- package/actual/array/virtual/iterator.js +3 -0
- package/actual/array/virtual/join.js +3 -0
- package/actual/array/virtual/keys.js +3 -0
- package/actual/array/virtual/last-index-of.js +3 -0
- package/actual/array/virtual/map.js +3 -0
- package/actual/array/virtual/reduce-right.js +3 -0
- package/actual/array/virtual/reduce.js +3 -0
- package/actual/array/virtual/reverse.js +3 -0
- package/actual/array/virtual/slice.js +3 -0
- package/actual/array/virtual/some.js +3 -0
- package/actual/array/virtual/sort.js +3 -0
- package/actual/array/virtual/splice.js +3 -0
- package/actual/array/virtual/values.js +3 -0
- package/actual/array-buffer/constructor.js +3 -0
- package/actual/array-buffer/index.js +3 -0
- package/actual/array-buffer/is-view.js +3 -0
- package/actual/array-buffer/slice.js +3 -0
- package/actual/clear-immediate.js +3 -0
- package/actual/data-view/index.js +3 -0
- package/actual/date/get-year.js +3 -0
- package/actual/date/index.js +3 -0
- package/actual/date/now.js +3 -0
- package/actual/date/set-year.js +3 -0
- package/actual/date/to-gmt-string.js +3 -0
- package/actual/date/to-iso-string.js +3 -0
- package/actual/date/to-json.js +3 -0
- package/actual/date/to-primitive.js +3 -0
- package/actual/date/to-string.js +3 -0
- package/actual/dom-collections/for-each.js +3 -0
- package/actual/dom-collections/index.js +3 -0
- package/actual/dom-collections/iterator.js +3 -0
- package/actual/dom-exception/constructor.js +3 -0
- package/actual/dom-exception/index.js +3 -0
- package/actual/dom-exception/to-string-tag.js +3 -0
- package/actual/error/constructor.js +3 -0
- package/actual/error/index.js +3 -0
- package/actual/error/to-string.js +3 -0
- package/actual/escape.js +3 -0
- package/actual/function/bind.js +3 -0
- package/actual/function/has-instance.js +3 -0
- package/actual/function/index.js +3 -0
- package/actual/function/name.js +3 -0
- package/actual/function/virtual/bind.js +3 -0
- package/actual/function/virtual/index.js +3 -0
- package/actual/get-iterator-method.js +3 -0
- package/actual/get-iterator.js +3 -0
- package/actual/global-this.js +3 -0
- package/actual/index.js +4 -0
- package/actual/instance/at.js +3 -0
- package/actual/instance/bind.js +3 -0
- package/actual/instance/code-point-at.js +3 -0
- package/actual/instance/concat.js +3 -0
- package/actual/instance/copy-within.js +3 -0
- package/actual/instance/ends-with.js +3 -0
- package/actual/instance/entries.js +3 -0
- package/actual/instance/every.js +3 -0
- package/actual/instance/fill.js +3 -0
- package/actual/instance/filter.js +3 -0
- package/actual/instance/find-index.js +3 -0
- package/actual/instance/find-last-index.js +9 -0
- package/actual/instance/find-last.js +9 -0
- package/actual/instance/find.js +3 -0
- package/actual/instance/flags.js +3 -0
- package/actual/instance/flat-map.js +3 -0
- package/actual/instance/flat.js +3 -0
- package/actual/instance/for-each.js +3 -0
- package/actual/instance/group-by-to-map.js +9 -0
- package/actual/instance/group-by.js +9 -0
- package/actual/instance/includes.js +3 -0
- package/actual/instance/index-of.js +3 -0
- package/actual/instance/keys.js +3 -0
- package/actual/instance/last-index-of.js +3 -0
- package/actual/instance/map.js +3 -0
- package/actual/instance/match-all.js +3 -0
- package/actual/instance/pad-end.js +3 -0
- package/actual/instance/pad-start.js +3 -0
- package/actual/instance/reduce-right.js +3 -0
- package/actual/instance/reduce.js +3 -0
- package/actual/instance/repeat.js +3 -0
- package/actual/instance/replace-all.js +3 -0
- package/actual/instance/reverse.js +3 -0
- package/actual/instance/slice.js +3 -0
- package/actual/instance/some.js +3 -0
- package/actual/instance/sort.js +3 -0
- package/actual/instance/splice.js +3 -0
- package/actual/instance/starts-with.js +3 -0
- package/actual/instance/trim-end.js +3 -0
- package/actual/instance/trim-left.js +3 -0
- package/actual/instance/trim-right.js +3 -0
- package/actual/instance/trim-start.js +3 -0
- package/actual/instance/trim.js +3 -0
- package/actual/instance/values.js +3 -0
- package/actual/is-iterable.js +3 -0
- package/actual/json/index.js +3 -0
- package/actual/json/stringify.js +3 -0
- package/actual/json/to-string-tag.js +3 -0
- package/actual/map/index.js +3 -0
- package/actual/math/acosh.js +3 -0
- package/actual/math/asinh.js +3 -0
- package/actual/math/atanh.js +3 -0
- package/actual/math/cbrt.js +3 -0
- package/actual/math/clz32.js +3 -0
- package/actual/math/cosh.js +3 -0
- package/actual/math/expm1.js +3 -0
- package/actual/math/fround.js +3 -0
- package/actual/math/hypot.js +3 -0
- package/actual/math/imul.js +3 -0
- package/actual/math/index.js +3 -0
- package/actual/math/log10.js +3 -0
- package/actual/math/log1p.js +3 -0
- package/actual/math/log2.js +3 -0
- package/actual/math/sign.js +3 -0
- package/actual/math/sinh.js +3 -0
- package/actual/math/tanh.js +3 -0
- package/actual/math/to-string-tag.js +3 -0
- package/actual/math/trunc.js +3 -0
- package/actual/number/constructor.js +3 -0
- package/actual/number/epsilon.js +3 -0
- package/actual/number/index.js +3 -0
- package/actual/number/is-finite.js +3 -0
- package/actual/number/is-integer.js +3 -0
- package/actual/number/is-nan.js +3 -0
- package/actual/number/is-safe-integer.js +3 -0
- package/actual/number/max-safe-integer.js +3 -0
- package/actual/number/min-safe-integer.js +3 -0
- package/actual/number/parse-float.js +3 -0
- package/actual/number/parse-int.js +3 -0
- package/actual/number/to-exponential.js +3 -0
- package/actual/number/to-fixed.js +3 -0
- package/actual/number/to-precision.js +3 -0
- package/actual/number/virtual/index.js +3 -0
- package/actual/number/virtual/to-exponential.js +3 -0
- package/actual/number/virtual/to-fixed.js +3 -0
- package/actual/number/virtual/to-precision.js +3 -0
- package/actual/object/assign.js +3 -0
- package/actual/object/create.js +3 -0
- package/actual/object/define-getter.js +3 -0
- package/actual/object/define-properties.js +3 -0
- package/actual/object/define-property.js +3 -0
- package/actual/object/define-setter.js +3 -0
- package/actual/object/entries.js +3 -0
- package/actual/object/freeze.js +3 -0
- package/actual/object/from-entries.js +3 -0
- package/actual/object/get-own-property-descriptor.js +3 -0
- package/actual/object/get-own-property-descriptors.js +3 -0
- package/actual/object/get-own-property-names.js +3 -0
- package/actual/object/get-own-property-symbols.js +3 -0
- package/actual/object/get-prototype-of.js +3 -0
- package/actual/object/has-own.js +3 -0
- package/actual/object/index.js +3 -0
- package/actual/object/is-extensible.js +3 -0
- package/actual/object/is-frozen.js +3 -0
- package/actual/object/is-sealed.js +3 -0
- package/actual/object/is.js +3 -0
- package/actual/object/keys.js +3 -0
- package/actual/object/lookup-getter.js +3 -0
- package/actual/object/lookup-setter.js +3 -0
- package/actual/object/prevent-extensions.js +3 -0
- package/actual/object/seal.js +3 -0
- package/actual/object/set-prototype-of.js +3 -0
- package/actual/object/to-string.js +3 -0
- package/actual/object/values.js +3 -0
- package/actual/parse-float.js +3 -0
- package/actual/parse-int.js +3 -0
- package/actual/promise/all-settled.js +3 -0
- package/actual/promise/any.js +3 -0
- package/actual/promise/finally.js +3 -0
- package/actual/promise/index.js +3 -0
- package/actual/queue-microtask.js +3 -0
- package/actual/reflect/apply.js +3 -0
- package/actual/reflect/construct.js +3 -0
- package/actual/reflect/define-property.js +3 -0
- package/actual/reflect/delete-property.js +3 -0
- package/actual/reflect/get-own-property-descriptor.js +3 -0
- package/actual/reflect/get-prototype-of.js +3 -0
- package/actual/reflect/get.js +3 -0
- package/actual/reflect/has.js +3 -0
- package/actual/reflect/index.js +3 -0
- package/actual/reflect/is-extensible.js +3 -0
- package/actual/reflect/own-keys.js +3 -0
- package/actual/reflect/prevent-extensions.js +3 -0
- package/actual/reflect/set-prototype-of.js +3 -0
- package/actual/reflect/set.js +3 -0
- package/actual/reflect/to-string-tag.js +3 -0
- package/actual/regexp/constructor.js +3 -0
- package/actual/regexp/dot-all.js +3 -0
- package/actual/regexp/flags.js +3 -0
- package/actual/regexp/index.js +3 -0
- package/actual/regexp/match.js +3 -0
- package/actual/regexp/replace.js +3 -0
- package/actual/regexp/search.js +3 -0
- package/actual/regexp/split.js +3 -0
- package/actual/regexp/sticky.js +3 -0
- package/actual/regexp/test.js +3 -0
- package/actual/regexp/to-string.js +3 -0
- package/actual/set/index.js +3 -0
- package/actual/set-immediate.js +3 -0
- package/actual/set-interval.js +3 -0
- package/actual/set-timeout.js +3 -0
- package/actual/string/anchor.js +3 -0
- package/actual/string/at.js +3 -0
- package/actual/string/big.js +3 -0
- package/actual/string/blink.js +3 -0
- package/actual/string/bold.js +3 -0
- package/actual/string/code-point-at.js +3 -0
- package/actual/string/ends-with.js +3 -0
- package/actual/string/fixed.js +3 -0
- package/actual/string/fontcolor.js +3 -0
- package/actual/string/fontsize.js +3 -0
- package/actual/string/from-code-point.js +3 -0
- package/actual/string/includes.js +3 -0
- package/actual/string/index.js +3 -0
- package/actual/string/italics.js +3 -0
- package/actual/string/iterator.js +3 -0
- package/actual/string/link.js +3 -0
- package/actual/string/match-all.js +3 -0
- package/actual/string/match.js +3 -0
- package/actual/string/pad-end.js +3 -0
- package/actual/string/pad-start.js +3 -0
- package/actual/string/raw.js +3 -0
- package/actual/string/repeat.js +3 -0
- package/actual/string/replace-all.js +3 -0
- package/actual/string/replace.js +3 -0
- package/actual/string/search.js +3 -0
- package/actual/string/small.js +3 -0
- package/actual/string/split.js +3 -0
- package/actual/string/starts-with.js +3 -0
- package/actual/string/strike.js +3 -0
- package/actual/string/sub.js +3 -0
- package/actual/string/substr.js +3 -0
- package/actual/string/sup.js +3 -0
- package/actual/string/trim-end.js +3 -0
- package/actual/string/trim-left.js +3 -0
- package/actual/string/trim-right.js +3 -0
- package/actual/string/trim-start.js +3 -0
- package/actual/string/trim.js +3 -0
- package/actual/string/virtual/anchor.js +3 -0
- package/actual/string/virtual/at.js +3 -0
- package/actual/string/virtual/big.js +3 -0
- package/actual/string/virtual/blink.js +3 -0
- package/actual/string/virtual/bold.js +3 -0
- package/actual/string/virtual/code-point-at.js +3 -0
- package/actual/string/virtual/ends-with.js +3 -0
- package/actual/string/virtual/fixed.js +3 -0
- package/actual/string/virtual/fontcolor.js +3 -0
- package/actual/string/virtual/fontsize.js +3 -0
- package/actual/string/virtual/includes.js +3 -0
- package/actual/string/virtual/index.js +3 -0
- package/actual/string/virtual/italics.js +3 -0
- package/actual/string/virtual/iterator.js +3 -0
- package/actual/string/virtual/link.js +3 -0
- package/actual/string/virtual/match-all.js +3 -0
- package/actual/string/virtual/pad-end.js +3 -0
- package/actual/string/virtual/pad-start.js +3 -0
- package/actual/string/virtual/repeat.js +3 -0
- package/actual/string/virtual/replace-all.js +3 -0
- package/actual/string/virtual/small.js +3 -0
- package/actual/string/virtual/starts-with.js +3 -0
- package/actual/string/virtual/strike.js +3 -0
- package/actual/string/virtual/sub.js +3 -0
- package/actual/string/virtual/substr.js +3 -0
- package/actual/string/virtual/sup.js +3 -0
- package/actual/string/virtual/trim-end.js +3 -0
- package/actual/string/virtual/trim-left.js +3 -0
- package/actual/string/virtual/trim-right.js +3 -0
- package/actual/string/virtual/trim-start.js +3 -0
- package/actual/string/virtual/trim.js +3 -0
- package/actual/structured-clone.js +3 -0
- package/actual/symbol/async-iterator.js +3 -0
- package/actual/symbol/description.js +3 -0
- package/actual/symbol/for.js +3 -0
- package/actual/symbol/has-instance.js +3 -0
- package/actual/symbol/index.js +3 -0
- package/actual/symbol/is-concat-spreadable.js +3 -0
- package/actual/symbol/iterator.js +3 -0
- package/actual/symbol/key-for.js +3 -0
- package/actual/symbol/match-all.js +3 -0
- package/actual/symbol/match.js +3 -0
- package/actual/symbol/replace.js +3 -0
- package/actual/symbol/search.js +3 -0
- package/actual/symbol/species.js +3 -0
- package/actual/symbol/split.js +3 -0
- package/actual/symbol/to-primitive.js +3 -0
- package/actual/symbol/to-string-tag.js +3 -0
- package/actual/symbol/unscopables.js +3 -0
- package/actual/typed-array/at.js +3 -0
- package/actual/typed-array/copy-within.js +3 -0
- package/actual/typed-array/entries.js +3 -0
- package/actual/typed-array/every.js +3 -0
- package/actual/typed-array/fill.js +3 -0
- package/actual/typed-array/filter.js +3 -0
- package/actual/typed-array/find-index.js +3 -0
- package/actual/typed-array/find-last-index.js +1 -0
- package/actual/typed-array/find-last.js +1 -0
- package/actual/typed-array/find.js +3 -0
- package/actual/typed-array/float32-array.js +4 -0
- package/actual/typed-array/float64-array.js +4 -0
- package/actual/typed-array/for-each.js +3 -0
- package/actual/typed-array/from.js +3 -0
- package/actual/typed-array/includes.js +3 -0
- package/actual/typed-array/index-of.js +3 -0
- package/actual/typed-array/index.js +5 -0
- package/actual/typed-array/int16-array.js +4 -0
- package/actual/typed-array/int32-array.js +4 -0
- package/actual/typed-array/int8-array.js +4 -0
- package/actual/typed-array/iterator.js +3 -0
- package/actual/typed-array/join.js +3 -0
- package/actual/typed-array/keys.js +3 -0
- package/actual/typed-array/last-index-of.js +3 -0
- package/actual/typed-array/map.js +3 -0
- package/actual/typed-array/methods.js +5 -0
- package/actual/typed-array/of.js +3 -0
- package/actual/typed-array/reduce-right.js +3 -0
- package/actual/typed-array/reduce.js +3 -0
- package/actual/typed-array/reverse.js +3 -0
- package/actual/typed-array/set.js +3 -0
- package/actual/typed-array/slice.js +3 -0
- package/actual/typed-array/some.js +3 -0
- package/actual/typed-array/sort.js +3 -0
- package/actual/typed-array/subarray.js +3 -0
- package/actual/typed-array/to-locale-string.js +3 -0
- package/actual/typed-array/to-string.js +3 -0
- package/actual/typed-array/uint16-array.js +4 -0
- package/actual/typed-array/uint32-array.js +4 -0
- package/actual/typed-array/uint8-array.js +4 -0
- package/actual/typed-array/uint8-clamped-array.js +4 -0
- package/actual/typed-array/values.js +3 -0
- package/actual/unescape.js +3 -0
- package/actual/url/index.js +3 -0
- package/actual/url/to-json.js +3 -0
- package/actual/url-search-params/index.js +3 -0
- package/actual/weak-map/index.js +3 -0
- package/actual/weak-set/index.js +3 -0
- package/es/aggregate-error.js +2 -0
- package/es/array-buffer/constructor.js +1 -0
- package/es/data-view/index.js +2 -0
- package/es/error/constructor.js +4 -0
- package/es/error/index.js +5 -0
- package/es/error/to-string.js +4 -0
- package/es/index.js +4 -0
- package/es/number/index.js +1 -0
- package/es/number/to-exponential.js +4 -0
- package/es/number/virtual/index.js +1 -0
- package/es/number/virtual/to-exponential.js +4 -0
- package/es/typed-array/float32-array.js +2 -0
- package/es/typed-array/float64-array.js +2 -0
- package/es/typed-array/int16-array.js +2 -0
- package/es/typed-array/int32-array.js +2 -0
- package/es/typed-array/int8-array.js +2 -0
- package/es/typed-array/uint16-array.js +2 -0
- package/es/typed-array/uint32-array.js +2 -0
- package/es/typed-array/uint8-array.js +2 -0
- package/es/typed-array/uint8-clamped-array.js +2 -0
- package/features/aggregate-error.js +1 -1
- package/features/array/at.js +1 -1
- package/features/array/concat.js +1 -1
- package/features/array/copy-within.js +1 -1
- package/features/array/entries.js +1 -1
- package/features/array/every.js +1 -1
- package/features/array/fill.js +1 -1
- package/features/array/filter.js +1 -1
- package/features/array/find-index.js +1 -1
- package/features/array/find-last-index.js +2 -3
- package/features/array/find-last.js +2 -3
- package/features/array/find.js +1 -1
- package/features/array/flat-map.js +1 -1
- package/features/array/flat.js +1 -1
- package/features/array/for-each.js +1 -1
- package/features/array/from.js +1 -1
- package/features/array/group-by-to-map.js +3 -0
- package/features/array/group-by.js +2 -3
- package/features/array/includes.js +1 -1
- package/features/array/index-of.js +1 -1
- package/features/array/index.js +5 -5
- package/features/array/is-array.js +1 -1
- package/features/array/iterator.js +1 -1
- package/features/array/join.js +1 -1
- package/features/array/keys.js +1 -1
- package/features/array/last-index-of.js +1 -1
- package/features/array/map.js +1 -1
- package/features/array/of.js +1 -1
- package/features/array/reduce-right.js +1 -1
- package/features/array/reduce.js +1 -1
- package/features/array/reverse.js +1 -1
- package/features/array/slice.js +1 -1
- package/features/array/some.js +1 -1
- package/features/array/sort.js +1 -1
- package/features/array/splice.js +1 -1
- package/features/array/to-reversed.js +4 -0
- package/features/array/to-sorted.js +5 -0
- package/features/array/to-spliced.js +4 -0
- package/features/array/values.js +1 -1
- package/features/array/virtual/at.js +1 -1
- package/features/array/virtual/concat.js +1 -1
- package/features/array/virtual/copy-within.js +1 -1
- package/features/array/virtual/entries.js +1 -1
- package/features/array/virtual/every.js +1 -1
- package/features/array/virtual/fill.js +1 -1
- package/features/array/virtual/filter.js +1 -1
- package/features/array/virtual/find-index.js +1 -1
- package/features/array/virtual/find-last-index.js +2 -3
- package/features/array/virtual/find-last.js +2 -3
- package/features/array/virtual/find.js +1 -1
- package/features/array/virtual/flat-map.js +1 -1
- package/features/array/virtual/flat.js +1 -1
- package/features/array/virtual/for-each.js +1 -1
- package/features/array/virtual/group-by-to-map.js +3 -0
- package/features/array/virtual/group-by.js +2 -3
- package/features/array/virtual/includes.js +1 -1
- package/features/array/virtual/index-of.js +1 -1
- package/features/array/virtual/index.js +5 -5
- package/features/array/virtual/iterator.js +1 -1
- package/features/array/virtual/join.js +1 -1
- package/features/array/virtual/keys.js +1 -1
- package/features/array/virtual/last-index-of.js +1 -1
- package/features/array/virtual/map.js +1 -1
- package/features/array/virtual/reduce-right.js +1 -1
- package/features/array/virtual/reduce.js +1 -1
- package/features/array/virtual/reverse.js +1 -1
- package/features/array/virtual/slice.js +1 -1
- package/features/array/virtual/some.js +1 -1
- package/features/array/virtual/sort.js +1 -1
- package/features/array/virtual/splice.js +1 -1
- package/features/array/virtual/to-reversed.js +4 -0
- package/features/array/virtual/to-sorted.js +5 -0
- package/features/array/virtual/to-spliced.js +4 -0
- package/features/array/virtual/values.js +1 -1
- package/features/array/virtual/with.js +4 -0
- package/features/array/with.js +4 -0
- package/features/array-buffer/constructor.js +1 -1
- package/features/array-buffer/index.js +1 -1
- package/features/array-buffer/is-view.js +1 -1
- package/features/array-buffer/slice.js +1 -1
- package/features/clear-immediate.js +1 -1
- package/features/data-view/index.js +1 -1
- package/features/date/get-year.js +1 -1
- package/features/date/index.js +1 -1
- package/features/date/now.js +1 -1
- package/features/date/set-year.js +1 -1
- package/features/date/to-gmt-string.js +1 -1
- package/features/date/to-iso-string.js +1 -1
- package/features/date/to-json.js +1 -1
- package/features/date/to-primitive.js +1 -1
- package/features/date/to-string.js +1 -1
- package/features/dom-collections/for-each.js +1 -1
- package/features/dom-collections/index.js +1 -1
- package/features/dom-collections/iterator.js +1 -1
- package/features/dom-exception/constructor.js +3 -0
- package/features/dom-exception/index.js +3 -0
- package/features/dom-exception/to-string-tag.js +3 -0
- package/features/error/constructor.js +3 -0
- package/features/error/index.js +3 -0
- package/features/error/to-string.js +3 -0
- package/features/escape.js +1 -1
- package/features/function/bind.js +1 -1
- package/features/function/has-instance.js +1 -1
- package/features/function/index.js +4 -1
- package/features/function/is-callable.js +4 -0
- package/features/function/is-constructor.js +4 -0
- package/features/function/name.js +1 -1
- package/features/function/un-this.js +4 -0
- package/features/function/virtual/bind.js +1 -1
- package/features/function/virtual/index.js +2 -1
- package/features/function/virtual/un-this.js +4 -0
- package/features/get-iterator-method.js +1 -1
- package/features/get-iterator.js +1 -1
- package/features/global-this.js +1 -1
- package/features/index.js +22 -0
- package/features/instance/bind.js +1 -1
- package/features/instance/code-point-at.js +1 -1
- package/features/instance/concat.js +1 -1
- package/features/instance/copy-within.js +1 -1
- package/features/instance/ends-with.js +1 -1
- package/features/instance/entries.js +1 -1
- package/features/instance/every.js +1 -1
- package/features/instance/fill.js +1 -1
- package/features/instance/filter.js +1 -1
- package/features/instance/find-index.js +1 -1
- package/features/instance/find-last-index.js +2 -8
- package/features/instance/find-last.js +2 -8
- package/features/instance/find.js +1 -1
- package/features/instance/flags.js +1 -1
- package/features/instance/flat-map.js +1 -1
- package/features/instance/flat.js +1 -1
- package/features/instance/for-each.js +1 -1
- package/features/instance/group-by-to-map.js +3 -0
- package/features/instance/group-by.js +2 -8
- package/features/instance/includes.js +1 -1
- package/features/instance/index-of.js +1 -1
- package/features/instance/keys.js +1 -1
- package/features/instance/last-index-of.js +1 -1
- package/features/instance/map.js +1 -1
- package/features/instance/match-all.js +1 -1
- package/features/instance/pad-end.js +1 -1
- package/features/instance/pad-start.js +1 -1
- package/features/instance/reduce-right.js +1 -1
- package/features/instance/reduce.js +1 -1
- package/features/instance/repeat.js +1 -1
- package/features/instance/replace-all.js +1 -1
- package/features/instance/reverse.js +1 -1
- package/features/instance/slice.js +1 -1
- package/features/instance/some.js +1 -1
- package/features/instance/sort.js +1 -1
- package/features/instance/splice.js +1 -1
- package/features/instance/starts-with.js +1 -1
- package/features/instance/to-reversed.js +9 -0
- package/features/instance/to-sorted.js +9 -0
- package/features/instance/to-spliced.js +9 -0
- package/features/instance/trim-end.js +1 -1
- package/features/instance/trim-left.js +1 -1
- package/features/instance/trim-right.js +1 -1
- package/features/instance/trim-start.js +1 -1
- package/features/instance/trim.js +1 -1
- package/features/instance/un-this.js +9 -0
- package/features/instance/values.js +1 -1
- package/features/instance/with.js +9 -0
- package/features/is-iterable.js +1 -1
- package/features/iterator/index.js +2 -0
- package/features/iterator/to-async.js +8 -0
- package/features/json/index.js +1 -1
- package/features/json/stringify.js +1 -1
- package/features/json/to-string-tag.js +1 -1
- package/features/map/index.js +1 -1
- package/features/math/acosh.js +1 -1
- package/features/math/asinh.js +1 -1
- package/features/math/atanh.js +1 -1
- package/features/math/cbrt.js +1 -1
- package/features/math/clz32.js +1 -1
- package/features/math/cosh.js +1 -1
- package/features/math/expm1.js +1 -1
- package/features/math/fround.js +1 -1
- package/features/math/hypot.js +1 -1
- package/features/math/imul.js +1 -1
- package/features/math/index.js +1 -1
- package/features/math/log10.js +1 -1
- package/features/math/log1p.js +1 -1
- package/features/math/log2.js +1 -1
- package/features/math/sign.js +1 -1
- package/features/math/sinh.js +1 -1
- package/features/math/tanh.js +1 -1
- package/features/math/to-string-tag.js +1 -1
- package/features/math/trunc.js +1 -1
- package/features/number/constructor.js +1 -1
- package/features/number/epsilon.js +1 -1
- package/features/number/index.js +1 -1
- package/features/number/is-finite.js +1 -1
- package/features/number/is-integer.js +1 -1
- package/features/number/is-nan.js +1 -1
- package/features/number/is-safe-integer.js +1 -1
- package/features/number/max-safe-integer.js +1 -1
- package/features/number/min-safe-integer.js +1 -1
- package/features/number/parse-float.js +1 -1
- package/features/number/parse-int.js +1 -1
- package/features/number/to-exponential.js +3 -0
- package/features/number/to-fixed.js +1 -1
- package/features/number/to-precision.js +1 -1
- package/features/number/virtual/index.js +1 -1
- package/features/number/virtual/to-exponential.js +3 -0
- package/features/number/virtual/to-fixed.js +1 -1
- package/features/number/virtual/to-precision.js +1 -1
- package/features/object/assign.js +1 -1
- package/features/object/create.js +1 -1
- package/features/object/define-getter.js +1 -1
- package/features/object/define-properties.js +1 -1
- package/features/object/define-property.js +1 -1
- package/features/object/define-setter.js +1 -1
- package/features/object/entries.js +1 -1
- package/features/object/freeze.js +1 -1
- package/features/object/from-entries.js +1 -1
- package/features/object/get-own-property-descriptor.js +1 -1
- package/features/object/get-own-property-descriptors.js +1 -1
- package/features/object/get-own-property-names.js +1 -1
- package/features/object/get-own-property-symbols.js +1 -1
- package/features/object/get-prototype-of.js +1 -1
- package/features/object/has-own.js +1 -1
- package/features/object/index.js +1 -1
- package/features/object/is-extensible.js +1 -1
- package/features/object/is-frozen.js +1 -1
- package/features/object/is-sealed.js +1 -1
- package/features/object/is.js +1 -1
- package/features/object/keys.js +1 -1
- package/features/object/lookup-getter.js +1 -1
- package/features/object/lookup-setter.js +1 -1
- package/features/object/prevent-extensions.js +1 -1
- package/features/object/seal.js +1 -1
- package/features/object/set-prototype-of.js +1 -1
- package/features/object/to-string.js +1 -1
- package/features/object/values.js +1 -1
- package/features/parse-float.js +1 -1
- package/features/parse-int.js +1 -1
- package/features/promise/all-settled.js +1 -1
- package/features/promise/any.js +1 -1
- package/features/promise/finally.js +1 -1
- package/features/promise/index.js +1 -1
- package/features/queue-microtask.js +1 -1
- package/features/reflect/apply.js +1 -1
- package/features/reflect/construct.js +1 -1
- package/features/reflect/define-property.js +1 -1
- package/features/reflect/delete-property.js +1 -1
- package/features/reflect/get-own-property-descriptor.js +1 -1
- package/features/reflect/get-prototype-of.js +1 -1
- package/features/reflect/get.js +1 -1
- package/features/reflect/has.js +1 -1
- package/features/reflect/index.js +1 -1
- package/features/reflect/is-extensible.js +1 -1
- package/features/reflect/own-keys.js +1 -1
- package/features/reflect/prevent-extensions.js +1 -1
- package/features/reflect/set-prototype-of.js +1 -1
- package/features/reflect/set.js +1 -1
- package/features/regexp/constructor.js +1 -1
- package/features/regexp/dot-all.js +1 -1
- package/features/regexp/flags.js +1 -1
- package/features/regexp/index.js +1 -1
- package/features/regexp/match.js +1 -1
- package/features/regexp/replace.js +1 -1
- package/features/regexp/search.js +1 -1
- package/features/regexp/split.js +1 -1
- package/features/regexp/sticky.js +1 -1
- package/features/regexp/test.js +1 -1
- package/features/regexp/to-string.js +1 -1
- package/features/set/index.js +1 -1
- package/features/set-immediate.js +1 -1
- package/features/set-interval.js +1 -1
- package/features/set-timeout.js +1 -1
- package/features/string/anchor.js +1 -1
- package/features/string/at.js +1 -1
- package/features/string/big.js +1 -1
- package/features/string/blink.js +1 -1
- package/features/string/bold.js +1 -1
- package/features/string/code-point-at.js +1 -1
- package/features/string/cooked.js +4 -0
- package/features/string/ends-with.js +1 -1
- package/features/string/fixed.js +1 -1
- package/features/string/fontcolor.js +1 -1
- package/features/string/fontsize.js +1 -1
- package/features/string/from-code-point.js +1 -1
- package/features/string/includes.js +1 -1
- package/features/string/index.js +3 -3
- package/features/string/italics.js +1 -1
- package/features/string/iterator.js +1 -1
- package/features/string/link.js +1 -1
- package/features/string/match-all.js +1 -1
- package/features/string/match.js +1 -1
- package/features/string/pad-end.js +1 -1
- package/features/string/pad-start.js +1 -1
- package/features/string/raw.js +1 -1
- package/features/string/repeat.js +1 -1
- package/features/string/replace-all.js +1 -1
- package/features/string/replace.js +1 -1
- package/features/string/search.js +1 -1
- package/features/string/small.js +1 -1
- package/features/string/split.js +1 -1
- package/features/string/starts-with.js +1 -1
- package/features/string/strike.js +1 -1
- package/features/string/sub.js +1 -1
- package/features/string/substr.js +1 -1
- package/features/string/sup.js +1 -1
- package/features/string/trim-end.js +1 -1
- package/features/string/trim-left.js +1 -1
- package/features/string/trim-right.js +1 -1
- package/features/string/trim-start.js +1 -1
- package/features/string/trim.js +1 -1
- package/features/string/virtual/anchor.js +1 -1
- package/features/string/virtual/at.js +1 -1
- package/features/string/virtual/big.js +1 -1
- package/features/string/virtual/blink.js +1 -1
- package/features/string/virtual/bold.js +1 -1
- package/features/string/virtual/code-point-at.js +1 -1
- package/features/string/virtual/ends-with.js +1 -1
- package/features/string/virtual/fixed.js +1 -1
- package/features/string/virtual/fontcolor.js +1 -1
- package/features/string/virtual/fontsize.js +1 -1
- package/features/string/virtual/includes.js +1 -1
- package/features/string/virtual/index.js +1 -1
- package/features/string/virtual/italics.js +1 -1
- package/features/string/virtual/iterator.js +1 -1
- package/features/string/virtual/link.js +1 -1
- package/features/string/virtual/match-all.js +1 -1
- package/features/string/virtual/pad-end.js +1 -1
- package/features/string/virtual/pad-start.js +1 -1
- package/features/string/virtual/repeat.js +1 -1
- package/features/string/virtual/replace-all.js +1 -1
- package/features/string/virtual/small.js +1 -1
- package/features/string/virtual/starts-with.js +1 -1
- package/features/string/virtual/strike.js +1 -1
- package/features/string/virtual/sub.js +1 -1
- package/features/string/virtual/substr.js +1 -1
- package/features/string/virtual/sup.js +1 -1
- package/features/string/virtual/trim-end.js +1 -1
- package/features/string/virtual/trim-left.js +1 -1
- package/features/string/virtual/trim-right.js +1 -1
- package/features/string/virtual/trim-start.js +1 -1
- package/features/string/virtual/trim.js +1 -1
- package/features/structured-clone.js +3 -0
- package/features/symbol/async-iterator.js +1 -1
- package/features/symbol/for.js +1 -1
- package/features/symbol/has-instance.js +1 -1
- package/features/symbol/index.js +1 -1
- package/features/symbol/is-concat-spreadable.js +1 -1
- package/features/symbol/iterator.js +1 -1
- package/features/symbol/key-for.js +1 -1
- package/features/symbol/match-all.js +1 -1
- package/features/symbol/match.js +1 -1
- package/features/symbol/replace.js +1 -1
- package/features/symbol/search.js +1 -1
- package/features/symbol/species.js +1 -1
- package/features/symbol/split.js +1 -1
- package/features/symbol/to-primitive.js +1 -1
- package/features/symbol/to-string-tag.js +1 -1
- package/features/symbol/unscopables.js +1 -1
- package/features/typed-array/at.js +1 -1
- package/features/typed-array/copy-within.js +1 -1
- package/features/typed-array/entries.js +1 -1
- package/features/typed-array/every.js +1 -1
- package/features/typed-array/fill.js +1 -1
- package/features/typed-array/filter.js +1 -1
- package/features/typed-array/find-index.js +1 -1
- package/features/typed-array/find-last-index.js +3 -1
- package/features/typed-array/find-last.js +3 -1
- package/features/typed-array/find.js +1 -1
- package/features/typed-array/float32-array.js +1 -1
- package/features/typed-array/float64-array.js +1 -1
- package/features/typed-array/for-each.js +1 -1
- package/features/typed-array/from.js +1 -1
- package/features/typed-array/includes.js +1 -1
- package/features/typed-array/index-of.js +1 -1
- package/features/typed-array/index.js +5 -3
- package/features/typed-array/int16-array.js +1 -1
- package/features/typed-array/int32-array.js +1 -1
- package/features/typed-array/int8-array.js +1 -1
- package/features/typed-array/iterator.js +1 -1
- package/features/typed-array/join.js +1 -1
- package/features/typed-array/keys.js +1 -1
- package/features/typed-array/last-index-of.js +1 -1
- package/features/typed-array/map.js +1 -1
- package/features/typed-array/methods.js +5 -3
- package/features/typed-array/of.js +1 -1
- package/features/typed-array/reduce-right.js +1 -1
- package/features/typed-array/reduce.js +1 -1
- package/features/typed-array/reverse.js +1 -1
- package/features/typed-array/set.js +1 -1
- package/features/typed-array/slice.js +1 -1
- package/features/typed-array/some.js +1 -1
- package/features/typed-array/sort.js +1 -1
- package/features/typed-array/subarray.js +1 -1
- package/features/typed-array/to-locale-string.js +1 -1
- package/features/typed-array/to-reversed.js +1 -0
- package/features/typed-array/to-sorted.js +2 -0
- package/features/typed-array/to-spliced.js +1 -0
- package/features/typed-array/to-string.js +1 -1
- package/features/typed-array/uint16-array.js +1 -1
- package/features/typed-array/uint32-array.js +1 -1
- package/features/typed-array/uint8-array.js +1 -1
- package/features/typed-array/uint8-clamped-array.js +1 -1
- package/features/typed-array/values.js +1 -1
- package/features/typed-array/with.js +1 -0
- package/features/unescape.js +1 -1
- package/features/url/index.js +1 -1
- package/features/url/to-json.js +1 -1
- package/features/url-search-params/index.js +1 -1
- package/features/weak-map/index.js +1 -1
- package/features/weak-set/index.js +1 -1
- package/internals/array-buffer-view-core.js +11 -6
- package/internals/array-from-constructor-and-list.js +3 -1
- package/internals/array-group-by.js +1 -0
- package/internals/array-to-reversed.js +11 -0
- package/internals/array-to-spliced.js +35 -0
- package/internals/array-with.js +18 -0
- package/internals/async-from-sync-iterator.js +3 -1
- package/internals/async-iterator-create-proxy.js +3 -1
- package/internals/clear-error-stack.js +1 -8
- package/internals/copy-constructor-properties.js +4 -2
- package/internals/create-iterator-constructor.js +2 -2
- package/internals/dom-exception-constants.js +27 -0
- package/internals/error-to-string.js +30 -0
- package/internals/function-uncurry-this.js +2 -2
- package/internals/ie8-dom-define.js +1 -1
- package/internals/is-constructor.js +12 -3
- package/internals/iterator-create-proxy.js +3 -1
- package/internals/math-log10.js +7 -0
- package/internals/native-url.js +1 -0
- package/internals/numeric-range-iterator.js +1 -1
- package/internals/object-create.js +2 -2
- package/internals/object-define-properties.js +2 -1
- package/internals/object-define-property.js +22 -1
- package/internals/queue.js +23 -0
- package/internals/set-to-string-tag.js +4 -3
- package/internals/shared.js +2 -2
- package/internals/try-node-require.js +8 -0
- package/internals/v8-prototype-define-bug.js +12 -0
- package/internals/wrap-error-constructor-with-cause.js +60 -0
- package/modules/es.aggregate-error.cause.js +21 -0
- package/modules/es.aggregate-error.js +3 -3
- package/modules/es.array.iterator.js +9 -1
- package/modules/es.error.cause.js +56 -0
- package/modules/es.error.to-string.js +10 -0
- package/modules/es.math.log10.js +2 -6
- package/modules/es.number.to-exponential.js +100 -0
- package/modules/es.number.to-fixed.js +1 -0
- package/modules/es.object.define-properties.js +3 -2
- package/modules/es.object.define-property.js +4 -3
- package/modules/es.promise.finally.js +1 -0
- package/modules/es.promise.js +48 -44
- package/modules/es.string.at-alternative.js +1 -1
- package/modules/es.symbol.js +2 -0
- package/modules/es.typed-array.iterator.js +14 -7
- package/modules/es.typed-array.set.js +20 -5
- package/modules/es.weak-map.js +5 -5
- package/modules/esnext.array.group-by-to-map.js +38 -0
- package/modules/esnext.array.group-by.js +1 -2
- package/modules/esnext.array.to-reversed.js +18 -0
- package/modules/esnext.array.to-sorted.js +25 -0
- package/modules/esnext.array.to-spliced.js +20 -0
- package/modules/esnext.array.with.js +15 -0
- package/modules/esnext.function.is-callable.js +29 -0
- package/modules/esnext.function.is-constructor.js +8 -0
- package/modules/esnext.function.un-this.js +11 -0
- package/modules/esnext.iterator.to-async.js +10 -0
- package/modules/esnext.map.merge.js +1 -1
- package/modules/esnext.observable.js +69 -54
- package/modules/esnext.string.at.js +10 -3
- package/modules/esnext.string.cooked.js +30 -0
- package/modules/esnext.typed-array.from-async.js +1 -0
- package/modules/esnext.typed-array.group-by.js +1 -0
- package/modules/esnext.typed-array.to-reversed.js +13 -0
- package/modules/esnext.typed-array.to-sorted.js +19 -0
- package/modules/esnext.typed-array.to-spliced.js +15 -0
- package/modules/esnext.typed-array.with.js +13 -0
- package/modules/web.dom-exception.constructor.js +141 -0
- package/modules/web.dom-exception.stack.js +58 -0
- package/modules/web.dom-exception.to-string-tag.js +6 -0
- package/modules/web.structured-clone.js +461 -0
- package/modules/web.url-search-params.js +1 -1
- package/modules/web.url.js +1 -1
- package/package.json +2 -2
- package/postinstall.js +1 -1
- package/proposals/accessible-object-hasownproperty.js +0 -1
- package/proposals/array-flat-map.js +5 -0
- package/proposals/array-from-async.js +1 -0
- package/proposals/array-grouping.js +2 -0
- package/proposals/array-includes.js +3 -0
- package/proposals/array-is-template-object.js +1 -0
- package/proposals/array-last.js +1 -0
- package/proposals/async-iteration.js +2 -0
- package/proposals/change-array-by-copy.js +9 -0
- package/proposals/collection-methods.js +1 -0
- package/proposals/collection-of-from.js +1 -0
- package/proposals/efficient-64-bit-arithmetic.js +1 -0
- package/proposals/error-cause.js +3 -0
- package/proposals/function-is-callable-is-constructor.js +3 -0
- package/proposals/function-un-this.js +2 -0
- package/proposals/global-this.js +1 -0
- package/proposals/index.js +1 -0
- package/proposals/iterator-helpers.js +2 -0
- package/proposals/keys-composition.js +1 -0
- package/proposals/map-update-or-insert.js +1 -0
- package/proposals/map-upsert.js +1 -1
- package/proposals/math-extensions.js +1 -0
- package/proposals/math-signbit.js +1 -0
- package/proposals/number-from-string.js +1 -0
- package/proposals/object-from-entries.js +2 -0
- package/proposals/object-getownpropertydescriptors.js +2 -0
- package/proposals/object-iteration.js +1 -0
- package/proposals/object-values-entries.js +3 -0
- package/proposals/observable.js +1 -0
- package/proposals/promise-all-settled.js +1 -1
- package/proposals/promise-any.js +1 -0
- package/proposals/promise-finally.js +2 -0
- package/proposals/promise-try.js +1 -0
- package/proposals/reflect-metadata.js +1 -0
- package/proposals/regexp-dotall-flag.js +5 -0
- package/proposals/regexp-named-groups.js +4 -0
- package/proposals/relative-indexing-method.js +0 -1
- package/proposals/seeded-random.js +1 -0
- package/proposals/set-methods.js +1 -0
- package/proposals/string-at.js +1 -0
- package/proposals/string-code-points.js +1 -0
- package/proposals/string-cooked.js +2 -0
- package/proposals/string-left-right-trim.js +3 -0
- package/proposals/string-match-all.js +1 -1
- package/proposals/string-padding.js +3 -0
- package/proposals/string-replace-all.js +1 -0
- package/proposals/symbol-description.js +2 -0
- package/proposals/url.js +1 -0
- package/proposals/well-formed-stringify.js +2 -0
- package/stable/dom-exception/constructor.js +6 -0
- package/stable/dom-exception/index.js +7 -0
- package/stable/dom-exception/to-string-tag.js +3 -0
- package/stable/error/constructor.js +3 -0
- package/stable/error/index.js +3 -0
- package/stable/error/to-string.js +3 -0
- package/stable/index.js +8 -0
- package/stable/number/to-exponential.js +3 -0
- package/stable/number/virtual/to-exponential.js +3 -0
- package/stable/structured-clone.js +13 -0
- package/stable/symbol/description.js +3 -1
- package/stage/0.js +2 -0
- package/stage/1.js +1 -2
- package/stage/2.js +2 -0
- package/stage/3.js +1 -0
- package/stage/4.js +2 -0
- package/web/dom-exception.js +7 -0
- package/web/index.js +4 -0
- package/web/structured-clone.js +8 -0
|
@@ -12,7 +12,7 @@ var constructorRegExp = /^\s*(?:class|function)\b/;
|
|
|
12
12
|
var exec = uncurryThis(constructorRegExp.exec);
|
|
13
13
|
var INCORRECT_TO_STRING = !constructorRegExp.exec(noop);
|
|
14
14
|
|
|
15
|
-
var isConstructorModern = function (argument) {
|
|
15
|
+
var isConstructorModern = function isConstructor(argument) {
|
|
16
16
|
if (!isCallable(argument)) return false;
|
|
17
17
|
try {
|
|
18
18
|
construct(noop, empty, argument);
|
|
@@ -22,16 +22,25 @@ var isConstructorModern = function (argument) {
|
|
|
22
22
|
}
|
|
23
23
|
};
|
|
24
24
|
|
|
25
|
-
var isConstructorLegacy = function (argument) {
|
|
25
|
+
var isConstructorLegacy = function isConstructor(argument) {
|
|
26
26
|
if (!isCallable(argument)) return false;
|
|
27
27
|
switch (classof(argument)) {
|
|
28
28
|
case 'AsyncFunction':
|
|
29
29
|
case 'GeneratorFunction':
|
|
30
30
|
case 'AsyncGeneratorFunction': return false;
|
|
31
|
+
}
|
|
32
|
+
try {
|
|
31
33
|
// we can't check .prototype since constructors produced by .bind haven't it
|
|
32
|
-
|
|
34
|
+
// `Function#toString` throws on some built-it function in some legacy engines
|
|
35
|
+
// (for example, `DOMQuad` and similar in FF41-)
|
|
36
|
+
return INCORRECT_TO_STRING || !!exec(constructorRegExp, inspectSource(argument));
|
|
37
|
+
} catch (error) {
|
|
38
|
+
return true;
|
|
39
|
+
}
|
|
33
40
|
};
|
|
34
41
|
|
|
42
|
+
isConstructorLegacy.sham = true;
|
|
43
|
+
|
|
35
44
|
// `IsConstructor` abstract operation
|
|
36
45
|
// https://tc39.es/ecma262/#sec-isconstructor
|
|
37
46
|
module.exports = !construct || fails(function () {
|
|
@@ -10,13 +10,15 @@ var InternalStateModule = require('../internals/internal-state');
|
|
|
10
10
|
var getMethod = require('../internals/get-method');
|
|
11
11
|
var IteratorPrototype = require('../internals/iterators-core').IteratorPrototype;
|
|
12
12
|
|
|
13
|
+
var ITERATOR_PROXY = 'IteratorProxy';
|
|
13
14
|
var setInternalState = InternalStateModule.set;
|
|
14
|
-
var getInternalState = InternalStateModule.
|
|
15
|
+
var getInternalState = InternalStateModule.getterFor(ITERATOR_PROXY);
|
|
15
16
|
|
|
16
17
|
var TO_STRING_TAG = wellKnownSymbol('toStringTag');
|
|
17
18
|
|
|
18
19
|
module.exports = function (nextHandler, IS_ITERATOR) {
|
|
19
20
|
var IteratorProxy = function Iterator(state) {
|
|
21
|
+
state.type = ITERATOR_PROXY;
|
|
20
22
|
state.next = aCallable(state.iterator.next);
|
|
21
23
|
state.done = false;
|
|
22
24
|
state.ignoreArg = !IS_ITERATOR;
|
package/internals/native-url.js
CHANGED
|
@@ -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
|
|
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 :
|
|
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
|
-
|
|
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 ?
|
|
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);
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
var Queue = function () {
|
|
2
|
+
this.head = null;
|
|
3
|
+
this.tail = null;
|
|
4
|
+
};
|
|
5
|
+
|
|
6
|
+
Queue.prototype = {
|
|
7
|
+
add: function (item) {
|
|
8
|
+
var entry = { item: item, next: null };
|
|
9
|
+
if (this.head) this.tail.next = entry;
|
|
10
|
+
else this.head = entry;
|
|
11
|
+
this.tail = entry;
|
|
12
|
+
},
|
|
13
|
+
get: function () {
|
|
14
|
+
var entry = this.head;
|
|
15
|
+
if (entry) {
|
|
16
|
+
this.head = entry.next;
|
|
17
|
+
if (this.tail === entry) this.tail = null;
|
|
18
|
+
return entry.item;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
module.exports = Queue;
|
|
@@ -4,8 +4,9 @@ var wellKnownSymbol = require('../internals/well-known-symbol');
|
|
|
4
4
|
|
|
5
5
|
var TO_STRING_TAG = wellKnownSymbol('toStringTag');
|
|
6
6
|
|
|
7
|
-
module.exports = function (
|
|
8
|
-
if (
|
|
9
|
-
|
|
7
|
+
module.exports = function (target, TAG, STATIC) {
|
|
8
|
+
if (target && !STATIC) target = target.prototype;
|
|
9
|
+
if (target && !hasOwn(target, TO_STRING_TAG)) {
|
|
10
|
+
defineProperty(target, TO_STRING_TAG, { configurable: true, value: TAG });
|
|
10
11
|
}
|
|
11
12
|
};
|
package/internals/shared.js
CHANGED
|
@@ -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.
|
|
7
|
+
version: '3.20.2',
|
|
8
8
|
mode: IS_PURE ? 'pure' : 'global',
|
|
9
|
-
copyright: '©
|
|
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
|
+
});
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
var getBuiltIn = require('../internals/get-built-in');
|
|
3
|
+
var hasOwn = require('../internals/has-own-property');
|
|
4
|
+
var createNonEnumerableProperty = require('../internals/create-non-enumerable-property');
|
|
5
|
+
var isPrototypeOf = require('../internals/object-is-prototype-of');
|
|
6
|
+
var setPrototypeOf = require('../internals/object-set-prototype-of');
|
|
7
|
+
var copyConstructorProperties = require('../internals/copy-constructor-properties');
|
|
8
|
+
var inheritIfRequired = require('../internals/inherit-if-required');
|
|
9
|
+
var normalizeStringArgument = require('../internals/normalize-string-argument');
|
|
10
|
+
var installErrorCause = require('../internals/install-error-cause');
|
|
11
|
+
var clearErrorStack = require('../internals/clear-error-stack');
|
|
12
|
+
var ERROR_STACK_INSTALLABLE = require('../internals/error-stack-installable');
|
|
13
|
+
var IS_PURE = require('../internals/is-pure');
|
|
14
|
+
|
|
15
|
+
module.exports = function (FULL_NAME, wrapper, FORCED, IS_AGGREGATE_ERROR) {
|
|
16
|
+
var OPTIONS_POSITION = IS_AGGREGATE_ERROR ? 2 : 1;
|
|
17
|
+
var path = FULL_NAME.split('.');
|
|
18
|
+
var ERROR_NAME = path[path.length - 1];
|
|
19
|
+
var OriginalError = getBuiltIn.apply(null, path);
|
|
20
|
+
|
|
21
|
+
if (!OriginalError) return;
|
|
22
|
+
|
|
23
|
+
var OriginalErrorPrototype = OriginalError.prototype;
|
|
24
|
+
|
|
25
|
+
// V8 9.3- bug https://bugs.chromium.org/p/v8/issues/detail?id=12006
|
|
26
|
+
if (!IS_PURE && hasOwn(OriginalErrorPrototype, 'cause')) delete OriginalErrorPrototype.cause;
|
|
27
|
+
|
|
28
|
+
if (!FORCED) return OriginalError;
|
|
29
|
+
|
|
30
|
+
var BaseError = getBuiltIn('Error');
|
|
31
|
+
|
|
32
|
+
var WrappedError = wrapper(function (a, b) {
|
|
33
|
+
var message = normalizeStringArgument(IS_AGGREGATE_ERROR ? b : a, undefined);
|
|
34
|
+
var result = IS_AGGREGATE_ERROR ? new OriginalError(a) : new OriginalError();
|
|
35
|
+
if (message !== undefined) createNonEnumerableProperty(result, 'message', message);
|
|
36
|
+
if (ERROR_STACK_INSTALLABLE) createNonEnumerableProperty(result, 'stack', clearErrorStack(result.stack, 2));
|
|
37
|
+
if (this && isPrototypeOf(OriginalErrorPrototype, this)) inheritIfRequired(result, this, WrappedError);
|
|
38
|
+
if (arguments.length > OPTIONS_POSITION) installErrorCause(result, arguments[OPTIONS_POSITION]);
|
|
39
|
+
return result;
|
|
40
|
+
});
|
|
41
|
+
|
|
42
|
+
WrappedError.prototype = OriginalErrorPrototype;
|
|
43
|
+
|
|
44
|
+
if (ERROR_NAME !== 'Error') {
|
|
45
|
+
if (setPrototypeOf) setPrototypeOf(WrappedError, BaseError);
|
|
46
|
+
else copyConstructorProperties(WrappedError, BaseError, { name: true });
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
copyConstructorProperties(WrappedError, OriginalError);
|
|
50
|
+
|
|
51
|
+
if (!IS_PURE) try {
|
|
52
|
+
// Safari 13- bug: WebAssembly errors does not have a proper `.name`
|
|
53
|
+
if (OriginalErrorPrototype.name !== ERROR_NAME) {
|
|
54
|
+
createNonEnumerableProperty(OriginalErrorPrototype, 'name', ERROR_NAME);
|
|
55
|
+
}
|
|
56
|
+
OriginalErrorPrototype.constructor = WrappedError;
|
|
57
|
+
} catch (error) { /* empty */ }
|
|
58
|
+
|
|
59
|
+
return WrappedError;
|
|
60
|
+
};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
var $ = require('../internals/export');
|
|
2
|
+
var getBuiltIn = require('../internals/get-built-in');
|
|
3
|
+
var apply = require('../internals/function-apply');
|
|
4
|
+
var fails = require('../internals/fails');
|
|
5
|
+
var wrapErrorConstructorWithCause = require('../internals/wrap-error-constructor-with-cause');
|
|
6
|
+
|
|
7
|
+
var AGGREGATE_ERROR = 'AggregateError';
|
|
8
|
+
var $AggregateError = getBuiltIn(AGGREGATE_ERROR);
|
|
9
|
+
var FORCED = !fails(function () {
|
|
10
|
+
return $AggregateError([1]).errors[0] !== 1;
|
|
11
|
+
}) && fails(function () {
|
|
12
|
+
return $AggregateError([1], AGGREGATE_ERROR, { cause: 7 }).cause !== 7;
|
|
13
|
+
});
|
|
14
|
+
|
|
15
|
+
// https://github.com/tc39/proposal-error-cause
|
|
16
|
+
$({ global: true, forced: FORCED }, {
|
|
17
|
+
AggregateError: wrapErrorConstructorWithCause(AGGREGATE_ERROR, function (init) {
|
|
18
|
+
// eslint-disable-next-line no-unused-vars -- required for functions `.length`
|
|
19
|
+
return function AggregateError(errors, message) { return apply(init, this, arguments); };
|
|
20
|
+
}, FORCED, true)
|
|
21
|
+
});
|
|
@@ -24,12 +24,12 @@ var $AggregateError = function AggregateError(errors, message /* , options */) {
|
|
|
24
24
|
var isInstance = isPrototypeOf(AggregateErrorPrototype, this);
|
|
25
25
|
var that;
|
|
26
26
|
if (setPrototypeOf) {
|
|
27
|
-
that = setPrototypeOf(new Error(
|
|
27
|
+
that = setPrototypeOf(new Error(), isInstance ? getPrototypeOf(this) : AggregateErrorPrototype);
|
|
28
28
|
} else {
|
|
29
29
|
that = isInstance ? this : create(AggregateErrorPrototype);
|
|
30
30
|
createNonEnumerableProperty(that, TO_STRING_TAG, 'Error');
|
|
31
31
|
}
|
|
32
|
-
createNonEnumerableProperty(that, 'message', normalizeStringArgument(message
|
|
32
|
+
if (message !== undefined) createNonEnumerableProperty(that, 'message', normalizeStringArgument(message));
|
|
33
33
|
if (ERROR_STACK_INSTALLABLE) createNonEnumerableProperty(that, 'stack', clearErrorStack(that.stack, 1));
|
|
34
34
|
installErrorCause(that, options);
|
|
35
35
|
var errorsArray = [];
|
|
@@ -39,7 +39,7 @@ var $AggregateError = function AggregateError(errors, message /* , options */) {
|
|
|
39
39
|
};
|
|
40
40
|
|
|
41
41
|
if (setPrototypeOf) setPrototypeOf($AggregateError, Error);
|
|
42
|
-
else copyConstructorProperties($AggregateError, Error);
|
|
42
|
+
else copyConstructorProperties($AggregateError, Error, { name: true });
|
|
43
43
|
|
|
44
44
|
var AggregateErrorPrototype = $AggregateError.prototype = create(Error.prototype, {
|
|
45
45
|
constructor: createPropertyDescriptor(1, $AggregateError),
|
|
@@ -3,7 +3,10 @@ var toIndexedObject = require('../internals/to-indexed-object');
|
|
|
3
3
|
var addToUnscopables = require('../internals/add-to-unscopables');
|
|
4
4
|
var Iterators = require('../internals/iterators');
|
|
5
5
|
var InternalStateModule = require('../internals/internal-state');
|
|
6
|
+
var defineProperty = require('../internals/object-define-property').f;
|
|
6
7
|
var defineIterator = require('../internals/define-iterator');
|
|
8
|
+
var IS_PURE = require('../internals/is-pure');
|
|
9
|
+
var DESCRIPTORS = require('../internals/descriptors');
|
|
7
10
|
|
|
8
11
|
var ARRAY_ITERATOR = 'Array Iterator';
|
|
9
12
|
var setInternalState = InternalStateModule.set;
|
|
@@ -45,9 +48,14 @@ module.exports = defineIterator(Array, 'Array', function (iterated, kind) {
|
|
|
45
48
|
// argumentsList[@@iterator] is %ArrayProto_values%
|
|
46
49
|
// https://tc39.es/ecma262/#sec-createunmappedargumentsobject
|
|
47
50
|
// https://tc39.es/ecma262/#sec-createmappedargumentsobject
|
|
48
|
-
Iterators.Arguments = Iterators.Array;
|
|
51
|
+
var values = Iterators.Arguments = Iterators.Array;
|
|
49
52
|
|
|
50
53
|
// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables
|
|
51
54
|
addToUnscopables('keys');
|
|
52
55
|
addToUnscopables('values');
|
|
53
56
|
addToUnscopables('entries');
|
|
57
|
+
|
|
58
|
+
// V8 ~ Chrome 45- bug
|
|
59
|
+
if (!IS_PURE && DESCRIPTORS && values.name !== 'values') try {
|
|
60
|
+
defineProperty(values, 'name', { value: 'values' });
|
|
61
|
+
} catch (error) { /* empty */ }
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/* eslint-disable no-unused-vars -- required for functions `.length` */
|
|
2
|
+
var $ = require('../internals/export');
|
|
3
|
+
var global = require('../internals/global');
|
|
4
|
+
var apply = require('../internals/function-apply');
|
|
5
|
+
var wrapErrorConstructorWithCause = require('../internals/wrap-error-constructor-with-cause');
|
|
6
|
+
|
|
7
|
+
var WEB_ASSEMBLY = 'WebAssembly';
|
|
8
|
+
var WebAssembly = global[WEB_ASSEMBLY];
|
|
9
|
+
|
|
10
|
+
var FORCED = Error('e', { cause: 7 }).cause !== 7;
|
|
11
|
+
|
|
12
|
+
var exportGlobalErrorCauseWrapper = function (ERROR_NAME, wrapper) {
|
|
13
|
+
var O = {};
|
|
14
|
+
O[ERROR_NAME] = wrapErrorConstructorWithCause(ERROR_NAME, wrapper, FORCED);
|
|
15
|
+
$({ global: true, forced: FORCED }, O);
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
var exportWebAssemblyErrorCauseWrapper = function (ERROR_NAME, wrapper) {
|
|
19
|
+
if (WebAssembly && WebAssembly[ERROR_NAME]) {
|
|
20
|
+
var O = {};
|
|
21
|
+
O[ERROR_NAME] = wrapErrorConstructorWithCause(WEB_ASSEMBLY + '.' + ERROR_NAME, wrapper, FORCED);
|
|
22
|
+
$({ target: WEB_ASSEMBLY, stat: true, forced: FORCED }, O);
|
|
23
|
+
}
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
// https://github.com/tc39/proposal-error-cause
|
|
27
|
+
exportGlobalErrorCauseWrapper('Error', function (init) {
|
|
28
|
+
return function Error(message) { return apply(init, this, arguments); };
|
|
29
|
+
});
|
|
30
|
+
exportGlobalErrorCauseWrapper('EvalError', function (init) {
|
|
31
|
+
return function EvalError(message) { return apply(init, this, arguments); };
|
|
32
|
+
});
|
|
33
|
+
exportGlobalErrorCauseWrapper('RangeError', function (init) {
|
|
34
|
+
return function RangeError(message) { return apply(init, this, arguments); };
|
|
35
|
+
});
|
|
36
|
+
exportGlobalErrorCauseWrapper('ReferenceError', function (init) {
|
|
37
|
+
return function ReferenceError(message) { return apply(init, this, arguments); };
|
|
38
|
+
});
|
|
39
|
+
exportGlobalErrorCauseWrapper('SyntaxError', function (init) {
|
|
40
|
+
return function SyntaxError(message) { return apply(init, this, arguments); };
|
|
41
|
+
});
|
|
42
|
+
exportGlobalErrorCauseWrapper('TypeError', function (init) {
|
|
43
|
+
return function TypeError(message) { return apply(init, this, arguments); };
|
|
44
|
+
});
|
|
45
|
+
exportGlobalErrorCauseWrapper('URIError', function (init) {
|
|
46
|
+
return function URIError(message) { return apply(init, this, arguments); };
|
|
47
|
+
});
|
|
48
|
+
exportWebAssemblyErrorCauseWrapper('CompileError', function (init) {
|
|
49
|
+
return function CompileError(message) { return apply(init, this, arguments); };
|
|
50
|
+
});
|
|
51
|
+
exportWebAssemblyErrorCauseWrapper('LinkError', function (init) {
|
|
52
|
+
return function LinkError(message) { return apply(init, this, arguments); };
|
|
53
|
+
});
|
|
54
|
+
exportWebAssemblyErrorCauseWrapper('RuntimeError', function (init) {
|
|
55
|
+
return function RuntimeError(message) { return apply(init, this, arguments); };
|
|
56
|
+
});
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
var redefine = require('../internals/redefine');
|
|
2
|
+
var errorToString = require('../internals/error-to-string');
|
|
3
|
+
|
|
4
|
+
var ErrorPrototype = Error.prototype;
|
|
5
|
+
|
|
6
|
+
// `Error.prototype.toString` method fix
|
|
7
|
+
// https://tc39.es/ecma262/#sec-error.prototype.tostring
|
|
8
|
+
if (ErrorPrototype.toString !== errorToString) {
|
|
9
|
+
redefine(ErrorPrototype, 'toString', errorToString);
|
|
10
|
+
}
|
package/modules/es.math.log10.js
CHANGED
|
@@ -1,12 +1,8 @@
|
|
|
1
1
|
var $ = require('../internals/export');
|
|
2
|
-
|
|
3
|
-
var log = Math.log;
|
|
4
|
-
var LOG10E = Math.LOG10E;
|
|
2
|
+
var log10 = require('../internals/math-log10');
|
|
5
3
|
|
|
6
4
|
// `Math.log10` method
|
|
7
5
|
// https://tc39.es/ecma262/#sec-math.log10
|
|
8
6
|
$({ target: 'Math', stat: true }, {
|
|
9
|
-
log10:
|
|
10
|
-
return log(x) * LOG10E;
|
|
11
|
-
}
|
|
7
|
+
log10: log10
|
|
12
8
|
});
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
var $ = require('../internals/export');
|
|
3
|
+
var global = require('../internals/global');
|
|
4
|
+
var uncurryThis = require('../internals/function-uncurry-this');
|
|
5
|
+
var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');
|
|
6
|
+
var thisNumberValue = require('../internals/this-number-value');
|
|
7
|
+
var $repeat = require('../internals/string-repeat');
|
|
8
|
+
var log10 = require('../internals/math-log10');
|
|
9
|
+
var fails = require('../internals/fails');
|
|
10
|
+
|
|
11
|
+
var RangeError = global.RangeError;
|
|
12
|
+
var String = global.String;
|
|
13
|
+
var isFinite = global.isFinite;
|
|
14
|
+
var abs = Math.abs;
|
|
15
|
+
var floor = Math.floor;
|
|
16
|
+
var pow = Math.pow;
|
|
17
|
+
var round = Math.round;
|
|
18
|
+
var un$ToExponential = uncurryThis(1.0.toExponential);
|
|
19
|
+
var repeat = uncurryThis($repeat);
|
|
20
|
+
var stringSlice = uncurryThis(''.slice);
|
|
21
|
+
|
|
22
|
+
// Edge 17-
|
|
23
|
+
var ROUNDS_PROPERLY = un$ToExponential(-6.9e-11, 4) === '-6.9000e-11'
|
|
24
|
+
// IE11- && Edge 14-
|
|
25
|
+
&& un$ToExponential(1.255, 2) === '1.25e+0'
|
|
26
|
+
// FF86-, V8 ~ Chrome 49-50
|
|
27
|
+
&& un$ToExponential(12345, 3) === '1.235e+4'
|
|
28
|
+
// FF86-, V8 ~ Chrome 49-50
|
|
29
|
+
&& un$ToExponential(25, 0) === '3e+1';
|
|
30
|
+
|
|
31
|
+
// IE8-
|
|
32
|
+
var THROWS_ON_INFINITY_FRACTION = fails(function () {
|
|
33
|
+
un$ToExponential(1, Infinity);
|
|
34
|
+
}) && fails(function () {
|
|
35
|
+
un$ToExponential(1, -Infinity);
|
|
36
|
+
});
|
|
37
|
+
|
|
38
|
+
// Safari <11 && FF <50
|
|
39
|
+
var PROPER_NON_FINITE_THIS_CHECK = !fails(function () {
|
|
40
|
+
un$ToExponential(Infinity, Infinity);
|
|
41
|
+
}) && !fails(function () {
|
|
42
|
+
un$ToExponential(NaN, Infinity);
|
|
43
|
+
});
|
|
44
|
+
|
|
45
|
+
var FORCED = !ROUNDS_PROPERLY || !THROWS_ON_INFINITY_FRACTION || !PROPER_NON_FINITE_THIS_CHECK;
|
|
46
|
+
|
|
47
|
+
// `Number.prototype.toExponential` method
|
|
48
|
+
// https://tc39.es/ecma262/#sec-number.prototype.toexponential
|
|
49
|
+
$({ target: 'Number', proto: true, forced: FORCED }, {
|
|
50
|
+
toExponential: function toExponential(fractionDigits) {
|
|
51
|
+
var x = thisNumberValue(this);
|
|
52
|
+
if (fractionDigits === undefined) return un$ToExponential(x);
|
|
53
|
+
var f = toIntegerOrInfinity(fractionDigits);
|
|
54
|
+
if (!isFinite(x)) return String(x);
|
|
55
|
+
// TODO: ES2018 increased the maximum number of fraction digits to 100, need to improve the implementation
|
|
56
|
+
if (f < 0 || f > 20) throw RangeError('Incorrect fraction digits');
|
|
57
|
+
if (ROUNDS_PROPERLY) return un$ToExponential(x, f);
|
|
58
|
+
var s = '';
|
|
59
|
+
var m = '';
|
|
60
|
+
var e = 0;
|
|
61
|
+
var c = '';
|
|
62
|
+
var d = '';
|
|
63
|
+
if (x < 0) {
|
|
64
|
+
s = '-';
|
|
65
|
+
x = -x;
|
|
66
|
+
}
|
|
67
|
+
if (x === 0) {
|
|
68
|
+
e = 0;
|
|
69
|
+
m = repeat('0', f + 1);
|
|
70
|
+
} else {
|
|
71
|
+
// this block is based on https://gist.github.com/SheetJSDev/1100ad56b9f856c95299ed0e068eea08
|
|
72
|
+
// TODO: improve accuracy with big fraction digits
|
|
73
|
+
var l = log10(x);
|
|
74
|
+
e = floor(l);
|
|
75
|
+
var n = 0;
|
|
76
|
+
var w = pow(10, e - f);
|
|
77
|
+
n = round(x / w);
|
|
78
|
+
if (2 * x >= (2 * n + 1) * w) {
|
|
79
|
+
n += 1;
|
|
80
|
+
}
|
|
81
|
+
if (n >= pow(10, f + 1)) {
|
|
82
|
+
n /= 10;
|
|
83
|
+
e += 1;
|
|
84
|
+
}
|
|
85
|
+
m = String(n);
|
|
86
|
+
}
|
|
87
|
+
if (f !== 0) {
|
|
88
|
+
m = stringSlice(m, 0, 1) + '.' + stringSlice(m, 1);
|
|
89
|
+
}
|
|
90
|
+
if (e === 0) {
|
|
91
|
+
c = '+';
|
|
92
|
+
d = '0';
|
|
93
|
+
} else {
|
|
94
|
+
c = e > 0 ? '+' : '-';
|
|
95
|
+
d = String(abs(e));
|
|
96
|
+
}
|
|
97
|
+
m += 'e' + c + d;
|
|
98
|
+
return s + m;
|
|
99
|
+
}
|
|
100
|
+
});
|
|
@@ -83,6 +83,7 @@ $({ target: 'Number', proto: true, forced: FORCED }, {
|
|
|
83
83
|
var result = '0';
|
|
84
84
|
var e, z, j, k;
|
|
85
85
|
|
|
86
|
+
// TODO: ES2018 increased the maximum number of fraction digits to 100, need to improve the implementation
|
|
86
87
|
if (fractDigits < 0 || fractDigits > 20) throw RangeError('Incorrect fraction digits');
|
|
87
88
|
// eslint-disable-next-line no-self-compare -- NaN check
|
|
88
89
|
if (number != number) return 'NaN';
|
|
@@ -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
|
-
|
|
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
|
|
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
|
-
|
|
8
|
-
|
|
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
|
|