core-js 3.18.3 → 3.19.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/es/date/to-primitive.js +2 -3
- package/es/date/to-string.js +2 -4
- package/es/instance/at.js +6 -5
- package/es/instance/bind.js +3 -2
- package/es/instance/code-point-at.js +4 -3
- package/es/instance/concat.js +3 -2
- package/es/instance/copy-within.js +3 -2
- package/es/instance/ends-with.js +4 -3
- package/es/instance/entries.js +3 -2
- package/es/instance/every.js +3 -2
- package/es/instance/fill.js +3 -2
- package/es/instance/filter.js +3 -2
- package/es/instance/find-index.js +3 -2
- package/es/instance/find.js +3 -2
- package/es/instance/flags.js +2 -1
- package/es/instance/flat-map.js +3 -2
- package/es/instance/flat.js +3 -2
- package/es/instance/for-each.js +3 -2
- package/es/instance/includes.js +6 -5
- package/es/instance/index-of.js +3 -2
- package/es/instance/keys.js +3 -2
- package/es/instance/last-index-of.js +3 -2
- package/es/instance/map.js +3 -2
- package/es/instance/match-all.js +4 -3
- package/es/instance/pad-end.js +4 -3
- package/es/instance/pad-start.js +4 -3
- package/es/instance/reduce-right.js +3 -2
- package/es/instance/reduce.js +3 -2
- package/es/instance/repeat.js +4 -3
- package/es/instance/replace-all.js +4 -3
- package/es/instance/reverse.js +3 -2
- package/es/instance/slice.js +3 -2
- package/es/instance/some.js +3 -2
- package/es/instance/sort.js +3 -2
- package/es/instance/splice.js +3 -2
- package/es/instance/starts-with.js +4 -3
- package/es/instance/trim-end.js +4 -3
- package/es/instance/trim-left.js +4 -3
- package/es/instance/trim-right.js +4 -3
- package/es/instance/trim-start.js +4 -3
- package/es/instance/trim.js +4 -3
- package/es/instance/values.js +3 -2
- package/es/json/stringify.js +4 -3
- package/es/promise/all-settled.js +2 -1
- package/es/promise/any.js +2 -1
- package/es/regexp/flags.js +3 -4
- package/es/regexp/match.js +2 -1
- package/es/regexp/replace.js +2 -1
- package/es/regexp/search.js +2 -1
- package/es/regexp/split.js +2 -1
- package/es/regexp/test.js +2 -3
- package/es/regexp/to-string.js +2 -3
- package/es/string/iterator.js +2 -5
- package/features/instance/at.js +6 -5
- package/features/instance/code-points.js +4 -3
- package/features/instance/filter-out.js +3 -2
- package/features/instance/filter-reject.js +3 -2
- package/features/instance/find-last-index.js +3 -2
- package/features/instance/find-last.js +3 -2
- package/features/instance/group-by.js +3 -2
- package/features/instance/unique-by.js +3 -2
- package/features/map/from.js +3 -2
- package/features/map/group-by.js +2 -1
- package/features/map/key-by.js +2 -1
- package/features/map/of.js +3 -2
- package/features/promise/try.js +2 -1
- package/features/set/from.js +3 -2
- package/features/set/of.js +3 -2
- package/features/weak-map/from.js +3 -2
- package/features/weak-map/of.js +3 -2
- package/features/weak-set/from.js +3 -2
- package/features/weak-set/of.js +3 -2
- package/internals/a-callable.js +3 -0
- package/internals/a-constructor.js +3 -0
- package/internals/a-possible-prototype.js +5 -1
- package/internals/an-instance.js +8 -3
- package/internals/an-object.js +4 -0
- package/internals/array-buffer-native.js +1 -1
- package/internals/array-buffer-non-extensible.js +10 -0
- package/internals/array-buffer-view-core.js +3 -2
- package/internals/array-buffer.js +29 -16
- package/internals/array-from-async.js +1 -1
- package/internals/array-from.js +6 -2
- package/internals/array-group-by.js +6 -3
- package/internals/array-iteration-from-last.js +1 -1
- package/internals/array-iteration.js +5 -4
- package/internals/array-last-index-of.js +2 -1
- package/internals/array-reduce.js +3 -0
- package/internals/array-slice-simple.js +17 -0
- package/internals/array-slice.js +3 -0
- package/internals/array-sort.js +10 -11
- package/internals/array-species-constructor.js +2 -0
- package/internals/array-unique-by.js +13 -9
- package/internals/async-from-sync-iterator.js +7 -4
- package/internals/async-iterator-create-proxy.js +7 -4
- package/internals/async-iterator-iteration.js +5 -2
- package/internals/classof-raw.js +5 -2
- package/internals/classof.js +3 -0
- package/internals/clear-error-stack.js +20 -0
- package/internals/collection-add-all.js +3 -2
- package/internals/collection-delete-all.js +3 -2
- package/internals/collection-from.js +7 -4
- package/internals/collection-of.js +3 -4
- package/internals/collection-strong.js +11 -9
- package/internals/collection-weak.js +10 -6
- package/internals/collection.js +8 -7
- package/internals/composite-key.js +9 -2
- package/internals/create-html.js +3 -1
- package/internals/create-iterator-constructor.js +2 -2
- package/internals/date-to-iso-string.js +23 -13
- package/internals/date-to-primitive.js +3 -0
- package/internals/define-iterator.js +2 -1
- package/internals/engine-v8-version.js +10 -4
- package/internals/entry-unbind.js +3 -5
- package/internals/error-stack-installable.js +10 -0
- package/internals/export.js +1 -1
- package/internals/fix-regexp-well-known-symbol-logic.js +5 -3
- package/internals/flatten-into-array.js +4 -1
- package/internals/function-apply.js +9 -0
- package/internals/function-bind-context.js +5 -17
- package/internals/function-bind.js +15 -9
- package/internals/function-call.js +5 -0
- package/internals/function-uncurry-this.js +12 -0
- package/internals/get-async-iterator.js +2 -1
- package/internals/get-iterator.js +7 -2
- package/internals/get-map-iterator.js +3 -1
- package/internals/get-set-iterator.js +3 -1
- package/internals/get-substitution.js +10 -7
- package/internals/has-own-property.js +3 -2
- package/internals/host-report-errors.js +1 -1
- package/internals/ieee754.js +24 -6
- package/internals/indexed-object.js +5 -2
- package/internals/inspect-source.js +3 -2
- package/internals/internal-metadata.js +4 -7
- package/internals/internal-state.js +9 -7
- package/internals/is-callable.js +1 -1
- package/internals/is-constructor.js +6 -4
- package/internals/is-iterable.js +4 -2
- package/internals/is-object.js +1 -1
- package/internals/is-symbol.js +6 -2
- package/internals/iterate.js +14 -6
- package/internals/iterator-close.js +2 -1
- package/internals/iterator-create-proxy.js +7 -4
- package/internals/map-emplace.js +8 -3
- package/internals/map-upsert.js +12 -4
- package/internals/math-scale.js +9 -12
- package/internals/microtask.js +6 -4
- package/internals/normalize-string-argument.js +5 -0
- package/internals/not-a-regexp.js +3 -0
- package/internals/number-parse-float.js +8 -6
- package/internals/number-parse-int.js +3 -1
- package/internals/numeric-range-iterator.js +4 -0
- package/internals/object-assign.js +5 -2
- package/internals/object-define-properties.js +3 -1
- package/internals/object-define-property.js +2 -0
- package/internals/object-get-own-property-descriptor.js +2 -1
- package/internals/object-get-own-property-names-external.js +4 -4
- package/internals/object-get-prototype-of.js +2 -1
- package/internals/object-is-extensible.js +16 -0
- package/internals/object-is-prototype-of.js +3 -0
- package/internals/object-keys-internal.js +5 -2
- package/internals/object-set-prototype-of.js +4 -3
- package/internals/object-to-array.js +7 -3
- package/internals/ordinary-to-primitive.js +7 -3
- package/internals/own-keys.js +4 -1
- package/internals/reflect-metadata.js +9 -3
- package/internals/regexp-exec-abstract.js +6 -2
- package/internals/regexp-exec.js +20 -16
- package/internals/regexp-sticky-helpers.js +14 -2
- package/internals/require-object-coercible.js +4 -0
- package/internals/set-global.js +4 -2
- package/internals/shared.js +1 -1
- package/internals/string-multibyte.js +13 -4
- package/internals/string-pad.js +6 -3
- package/internals/string-punycode-to-ascii.js +34 -20
- package/internals/string-repeat.js +3 -0
- package/internals/string-trim.js +4 -2
- package/internals/task.js +11 -11
- package/internals/this-number-value.js +2 -4
- package/internals/to-index.js +3 -0
- package/internals/to-object.js +3 -0
- package/internals/to-offset.js +3 -0
- package/internals/to-positive-integer.js +3 -0
- package/internals/to-primitive.js +4 -1
- package/internals/to-property-key.js +1 -1
- package/internals/to-string.js +3 -0
- package/internals/try-to-string.js +4 -0
- package/internals/typed-array-constructor.js +10 -6
- package/internals/typed-array-from.js +4 -3
- package/internals/uid.js +4 -1
- package/internals/well-known-symbol.js +5 -1
- package/modules/es.aggregate-error.js +20 -8
- package/modules/es.array-buffer.slice.js +8 -4
- package/modules/es.array.concat.js +2 -0
- package/modules/es.array.index-of.js +7 -5
- package/modules/es.array.join.js +3 -2
- package/modules/es.array.of.js +3 -1
- package/modules/es.array.reduce.js +2 -1
- package/modules/es.array.reverse.js +3 -2
- package/modules/es.array.slice.js +4 -2
- package/modules/es.array.sort.js +7 -4
- package/modules/es.array.splice.js +2 -0
- package/modules/es.date.get-year.js +3 -2
- package/modules/es.date.now.js +6 -1
- package/modules/es.date.set-year.js +6 -4
- package/modules/es.date.to-primitive.js +2 -1
- package/modules/es.date.to-string.js +5 -4
- package/modules/es.escape.js +12 -5
- package/modules/es.function.has-instance.js +3 -2
- package/modules/es.function.name.js +5 -3
- package/modules/es.json.stringify.js +18 -7
- package/modules/es.map.js +1 -1
- package/modules/es.number.constructor.js +12 -7
- package/modules/es.number.to-fixed.js +19 -13
- package/modules/es.number.to-precision.js +6 -5
- package/modules/es.object.is-extensible.js +4 -10
- package/modules/es.object.is-frozen.js +6 -2
- package/modules/es.object.is-sealed.js +6 -2
- package/modules/es.promise.all-settled.js +2 -2
- package/modules/es.promise.any.js +5 -4
- package/modules/es.promise.js +23 -19
- package/modules/es.reflect.apply.js +4 -10
- package/modules/es.reflect.construct.js +10 -5
- package/modules/es.reflect.get.js +2 -1
- package/modules/es.reflect.is-extensible.js +2 -4
- package/modules/es.reflect.set.js +2 -1
- package/modules/es.regexp.constructor.js +26 -16
- package/modules/es.regexp.dot-all.js +5 -1
- package/modules/es.regexp.flags.js +4 -2
- package/modules/es.regexp.sticky.js +7 -3
- package/modules/es.regexp.test.js +7 -3
- package/modules/es.regexp.to-string.js +8 -5
- package/modules/es.set.js +1 -1
- package/modules/es.string.at-alternative.js +4 -1
- package/modules/es.string.ends-with.js +6 -4
- package/modules/es.string.from-code-point.js +7 -4
- package/modules/es.string.includes.js +8 -2
- package/modules/es.string.match-all.js +25 -19
- package/modules/es.string.match.js +2 -1
- package/modules/es.string.raw.js +6 -6
- package/modules/es.string.replace-all.js +19 -13
- package/modules/es.string.replace.js +19 -12
- package/modules/es.string.search.js +2 -1
- package/modules/es.string.split.js +23 -16
- package/modules/es.string.starts-with.js +6 -4
- package/modules/es.string.substr.js +3 -2
- package/modules/es.symbol.description.js +20 -12
- package/modules/es.symbol.js +34 -21
- package/modules/es.typed-array.copy-within.js +4 -2
- package/modules/es.typed-array.fill.js +9 -2
- package/modules/es.typed-array.iterator.js +7 -6
- package/modules/es.typed-array.join.js +3 -3
- package/modules/es.typed-array.last-index-of.js +3 -2
- package/modules/es.typed-array.reduce-right.js +2 -1
- package/modules/es.typed-array.reduce.js +2 -1
- package/modules/es.typed-array.set.js +2 -0
- package/modules/es.typed-array.slice.js +2 -2
- package/modules/es.typed-array.sort.js +13 -28
- package/modules/es.typed-array.to-locale-string.js +7 -2
- package/modules/es.typed-array.to-string.js +3 -2
- package/modules/es.unescape.js +14 -9
- package/modules/es.weak-map.js +15 -15
- package/modules/esnext.array.is-template-object.js +1 -1
- package/modules/esnext.async-iterator.as-indexed-pairs.js +2 -1
- package/modules/esnext.async-iterator.constructor.js +1 -1
- package/modules/esnext.async-iterator.drop.js +2 -1
- package/modules/esnext.async-iterator.filter.js +2 -1
- package/modules/esnext.async-iterator.flat-map.js +3 -2
- package/modules/esnext.async-iterator.from.js +4 -4
- package/modules/esnext.async-iterator.map.js +2 -1
- package/modules/esnext.async-iterator.reduce.js +4 -1
- package/modules/esnext.async-iterator.take.js +4 -2
- package/modules/esnext.composite-key.js +5 -1
- package/modules/esnext.composite-symbol.js +3 -2
- package/modules/esnext.iterator.as-indexed-pairs.js +2 -1
- package/modules/esnext.iterator.constructor.js +1 -1
- package/modules/esnext.iterator.drop.js +4 -2
- package/modules/esnext.iterator.filter.js +2 -1
- package/modules/esnext.iterator.flat-map.js +7 -3
- package/modules/esnext.iterator.from.js +4 -4
- package/modules/esnext.iterator.map.js +2 -1
- package/modules/esnext.iterator.reduce.js +3 -0
- package/modules/esnext.iterator.take.js +2 -1
- package/modules/esnext.map.delete-all.js +2 -4
- package/modules/esnext.map.emplace.js +2 -2
- package/modules/esnext.map.every.js +1 -1
- package/modules/esnext.map.filter.js +5 -4
- package/modules/esnext.map.find-key.js +1 -1
- package/modules/esnext.map.find.js +1 -1
- package/modules/esnext.map.group-by.js +6 -2
- package/modules/esnext.map.includes.js +1 -1
- package/modules/esnext.map.key-by.js +2 -1
- package/modules/esnext.map.map-keys.js +5 -4
- package/modules/esnext.map.map-values.js +5 -4
- package/modules/esnext.map.reduce.js +3 -0
- package/modules/esnext.map.some.js +1 -1
- package/modules/esnext.map.update-or-insert.js +2 -2
- package/modules/esnext.map.update.js +11 -4
- package/modules/esnext.map.upsert.js +2 -2
- package/modules/esnext.math.seeded-prng.js +3 -1
- package/modules/esnext.number.from-string.js +12 -3
- package/modules/esnext.observable.js +82 -62
- package/modules/esnext.reflect.get-metadata-keys.js +5 -10
- package/modules/esnext.set.add-all.js +2 -4
- package/modules/esnext.set.delete-all.js +2 -4
- package/modules/esnext.set.difference.js +3 -2
- package/modules/esnext.set.every.js +1 -1
- package/modules/esnext.set.filter.js +4 -3
- package/modules/esnext.set.find.js +1 -1
- package/modules/esnext.set.intersection.js +3 -2
- package/modules/esnext.set.is-disjoint-from.js +3 -2
- package/modules/esnext.set.is-subset-of.js +3 -2
- package/modules/esnext.set.is-superset-of.js +3 -2
- package/modules/esnext.set.join.js +9 -4
- package/modules/esnext.set.map.js +5 -4
- package/modules/esnext.set.reduce.js +3 -0
- package/modules/esnext.set.some.js +1 -1
- package/modules/esnext.set.symmetric-difference.js +3 -2
- package/modules/esnext.typed-array.from-async.js +0 -1
- package/modules/esnext.typed-array.unique-by.js +4 -2
- package/modules/esnext.weak-map.delete-all.js +2 -4
- package/modules/esnext.weak-map.emplace.js +2 -2
- package/modules/esnext.weak-map.upsert.js +2 -2
- package/modules/esnext.weak-set.add-all.js +2 -4
- package/modules/esnext.weak-set.delete-all.js +2 -4
- package/modules/web.timers.js +5 -4
- package/modules/web.url-search-params.js +123 -105
- package/modules/web.url.js +661 -625
- package/modules/web.url.to-json.js +2 -1
- package/package.json +2 -2
- package/stable/instance/entries.js +6 -4
- package/stable/instance/for-each.js +6 -4
- package/stable/instance/keys.js +6 -4
- package/stable/instance/values.js +6 -4
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
// TODO: remove from `core-js@4`
|
|
3
3
|
var $ = require('../internals/export');
|
|
4
4
|
var IS_PURE = require('../internals/is-pure');
|
|
5
|
-
var
|
|
5
|
+
var upsert = require('../internals/map-upsert');
|
|
6
6
|
|
|
7
7
|
// `Map.prototype.upsert` method (replaced by `Map.prototype.emplace`)
|
|
8
8
|
// https://github.com/thumbsupep/proposal-upsert
|
|
9
9
|
$({ target: 'Map', proto: true, real: true, forced: IS_PURE }, {
|
|
10
|
-
upsert:
|
|
10
|
+
upsert: upsert
|
|
11
11
|
});
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
var $ = require('../internals/export');
|
|
2
|
+
var global = require('../internals/global');
|
|
2
3
|
var anObject = require('../internals/an-object');
|
|
3
4
|
var numberIsFinite = require('../internals/number-is-finite');
|
|
4
5
|
var createIteratorConstructor = require('../internals/create-iterator-constructor');
|
|
@@ -6,9 +7,10 @@ var InternalStateModule = require('../internals/internal-state');
|
|
|
6
7
|
|
|
7
8
|
var SEEDED_RANDOM = 'Seeded Random';
|
|
8
9
|
var SEEDED_RANDOM_GENERATOR = SEEDED_RANDOM + ' Generator';
|
|
10
|
+
var SEED_TYPE_ERROR = 'Math.seededPRNG() argument should have a "seed" field with a finite value.';
|
|
9
11
|
var setInternalState = InternalStateModule.set;
|
|
10
12
|
var getInternalState = InternalStateModule.getterFor(SEEDED_RANDOM_GENERATOR);
|
|
11
|
-
var
|
|
13
|
+
var TypeError = global.TypeError;
|
|
12
14
|
|
|
13
15
|
var $SeededRandomGenerator = createIteratorConstructor(function SeededRandomGenerator(seed) {
|
|
14
16
|
setInternalState(this, {
|
|
@@ -1,11 +1,20 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
var $ = require('../internals/export');
|
|
3
|
+
var global = require('../internals/global');
|
|
4
|
+
var uncurryThis = require('../internals/function-uncurry-this');
|
|
3
5
|
var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');
|
|
4
6
|
var parseInt = require('../internals/number-parse-int');
|
|
5
7
|
|
|
6
8
|
var INVALID_NUMBER_REPRESENTATION = 'Invalid number representation';
|
|
7
9
|
var INVALID_RADIX = 'Invalid radix';
|
|
10
|
+
var RangeError = global.RangeError;
|
|
11
|
+
var SyntaxError = global.SyntaxError;
|
|
12
|
+
var TypeError = global.TypeError;
|
|
8
13
|
var valid = /^[\da-z]+$/;
|
|
14
|
+
var charAt = uncurryThis(''.charAt);
|
|
15
|
+
var exec = uncurryThis(valid.exec);
|
|
16
|
+
var numberToString = uncurryThis(1.0.toString);
|
|
17
|
+
var stringSlice = uncurryThis(''.slice);
|
|
9
18
|
|
|
10
19
|
// `Number.fromString` method
|
|
11
20
|
// https://github.com/tc39/proposal-number-fromstring
|
|
@@ -15,14 +24,14 @@ $({ target: 'Number', stat: true }, {
|
|
|
15
24
|
var R, mathNum;
|
|
16
25
|
if (typeof string != 'string') throw TypeError(INVALID_NUMBER_REPRESENTATION);
|
|
17
26
|
if (!string.length) throw SyntaxError(INVALID_NUMBER_REPRESENTATION);
|
|
18
|
-
if (
|
|
27
|
+
if (charAt(string, 0) == '-') {
|
|
19
28
|
sign = -1;
|
|
20
|
-
string = string
|
|
29
|
+
string = stringSlice(string, 1);
|
|
21
30
|
if (!string.length) throw SyntaxError(INVALID_NUMBER_REPRESENTATION);
|
|
22
31
|
}
|
|
23
32
|
R = radix === undefined ? 10 : toIntegerOrInfinity(radix);
|
|
24
33
|
if (R < 2 || R > 36) throw RangeError(INVALID_RADIX);
|
|
25
|
-
if (!valid
|
|
34
|
+
if (!exec(valid, string) || numberToString(mathNum = parseInt(string, R), R) !== string) {
|
|
26
35
|
throw SyntaxError(INVALID_NUMBER_REPRESENTATION);
|
|
27
36
|
}
|
|
28
37
|
return sign * mathNum;
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
// https://github.com/tc39/proposal-observable
|
|
3
3
|
var $ = require('../internals/export');
|
|
4
|
+
var global = require('../internals/global');
|
|
5
|
+
var call = require('../internals/function-call');
|
|
4
6
|
var DESCRIPTORS = require('../internals/descriptors');
|
|
5
7
|
var setSpecies = require('../internals/set-species');
|
|
6
8
|
var aCallable = require('../internals/a-callable');
|
|
@@ -19,50 +21,60 @@ var hostReportErrors = require('../internals/host-report-errors');
|
|
|
19
21
|
var wellKnownSymbol = require('../internals/well-known-symbol');
|
|
20
22
|
var InternalStateModule = require('../internals/internal-state');
|
|
21
23
|
|
|
22
|
-
var OBSERVABLE = wellKnownSymbol('observable');
|
|
23
|
-
var
|
|
24
|
+
var $$OBSERVABLE = wellKnownSymbol('observable');
|
|
25
|
+
var OBSERVABLE = 'Observable';
|
|
26
|
+
var SUBSCRIPTION = 'Subscription';
|
|
27
|
+
var SUBSCRIPTION_OBSERVER = 'SubscriptionObserver';
|
|
28
|
+
var getterFor = InternalStateModule.getterFor;
|
|
24
29
|
var setInternalState = InternalStateModule.set;
|
|
30
|
+
var getObservableInternalState = getterFor(OBSERVABLE);
|
|
31
|
+
var getSubscriptionInternalState = getterFor(SUBSCRIPTION);
|
|
32
|
+
var getSubscriptionObserverInternalState = getterFor(SUBSCRIPTION_OBSERVER);
|
|
33
|
+
var Array = global.Array;
|
|
34
|
+
|
|
35
|
+
var SubscriptionState = function (observer) {
|
|
36
|
+
this.observer = anObject(observer);
|
|
37
|
+
this.cleanup = undefined;
|
|
38
|
+
this.subscriptionObserver = undefined;
|
|
39
|
+
};
|
|
25
40
|
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
cleanup
|
|
32
|
-
|
|
33
|
-
|
|
41
|
+
SubscriptionState.prototype = {
|
|
42
|
+
type: SUBSCRIPTION,
|
|
43
|
+
clean: function () {
|
|
44
|
+
var cleanup = this.cleanup;
|
|
45
|
+
if (cleanup) {
|
|
46
|
+
this.cleanup = undefined;
|
|
47
|
+
try {
|
|
48
|
+
cleanup();
|
|
49
|
+
} catch (error) {
|
|
50
|
+
hostReportErrors(error);
|
|
51
|
+
}
|
|
34
52
|
}
|
|
53
|
+
},
|
|
54
|
+
close: function () {
|
|
55
|
+
if (!DESCRIPTORS) {
|
|
56
|
+
var subscription = this.facade;
|
|
57
|
+
var subscriptionObserver = this.subscriptionObserver;
|
|
58
|
+
subscription.closed = true;
|
|
59
|
+
if (subscriptionObserver) subscriptionObserver.closed = true;
|
|
60
|
+
} this.observer = undefined;
|
|
61
|
+
},
|
|
62
|
+
isClosed: function () {
|
|
63
|
+
return this.observer === undefined;
|
|
35
64
|
}
|
|
36
65
|
};
|
|
37
66
|
|
|
38
|
-
var subscriptionClosed = function (subscriptionState) {
|
|
39
|
-
return subscriptionState.observer === undefined;
|
|
40
|
-
};
|
|
41
|
-
|
|
42
|
-
var close = function (subscriptionState) {
|
|
43
|
-
var subscription = subscriptionState.facade;
|
|
44
|
-
if (!DESCRIPTORS) {
|
|
45
|
-
subscription.closed = true;
|
|
46
|
-
var subscriptionObserver = subscriptionState.subscriptionObserver;
|
|
47
|
-
if (subscriptionObserver) subscriptionObserver.closed = true;
|
|
48
|
-
} subscriptionState.observer = undefined;
|
|
49
|
-
};
|
|
50
|
-
|
|
51
67
|
var Subscription = function (observer, subscriber) {
|
|
52
|
-
var subscriptionState = setInternalState(this,
|
|
53
|
-
cleanup: undefined,
|
|
54
|
-
observer: anObject(observer),
|
|
55
|
-
subscriptionObserver: undefined
|
|
56
|
-
});
|
|
68
|
+
var subscriptionState = setInternalState(this, new SubscriptionState(observer));
|
|
57
69
|
var start;
|
|
58
70
|
if (!DESCRIPTORS) this.closed = false;
|
|
59
71
|
try {
|
|
60
|
-
if (start = getMethod(observer, 'start'))
|
|
72
|
+
if (start = getMethod(observer, 'start')) call(start, observer, this);
|
|
61
73
|
} catch (error) {
|
|
62
74
|
hostReportErrors(error);
|
|
63
75
|
}
|
|
64
|
-
if (
|
|
65
|
-
var subscriptionObserver = subscriptionState.subscriptionObserver = new SubscriptionObserver(
|
|
76
|
+
if (subscriptionState.isClosed()) return;
|
|
77
|
+
var subscriptionObserver = subscriptionState.subscriptionObserver = new SubscriptionObserver(subscriptionState);
|
|
66
78
|
try {
|
|
67
79
|
var cleanup = subscriber(subscriptionObserver);
|
|
68
80
|
var subscription = cleanup;
|
|
@@ -72,15 +84,15 @@ var Subscription = function (observer, subscriber) {
|
|
|
72
84
|
} catch (error) {
|
|
73
85
|
subscriptionObserver.error(error);
|
|
74
86
|
return;
|
|
75
|
-
} if (
|
|
87
|
+
} if (subscriptionState.isClosed()) subscriptionState.clean();
|
|
76
88
|
};
|
|
77
89
|
|
|
78
90
|
Subscription.prototype = redefineAll({}, {
|
|
79
91
|
unsubscribe: function unsubscribe() {
|
|
80
|
-
var subscriptionState =
|
|
81
|
-
if (!
|
|
82
|
-
close(
|
|
83
|
-
|
|
92
|
+
var subscriptionState = getSubscriptionInternalState(this);
|
|
93
|
+
if (!subscriptionState.isClosed()) {
|
|
94
|
+
subscriptionState.close();
|
|
95
|
+
subscriptionState.clean();
|
|
84
96
|
}
|
|
85
97
|
}
|
|
86
98
|
});
|
|
@@ -88,53 +100,56 @@ Subscription.prototype = redefineAll({}, {
|
|
|
88
100
|
if (DESCRIPTORS) defineProperty(Subscription.prototype, 'closed', {
|
|
89
101
|
configurable: true,
|
|
90
102
|
get: function () {
|
|
91
|
-
return
|
|
103
|
+
return getSubscriptionInternalState(this).isClosed();
|
|
92
104
|
}
|
|
93
105
|
});
|
|
94
106
|
|
|
95
|
-
var SubscriptionObserver = function (
|
|
96
|
-
setInternalState(this, {
|
|
107
|
+
var SubscriptionObserver = function (subscriptionState) {
|
|
108
|
+
setInternalState(this, {
|
|
109
|
+
type: SUBSCRIPTION_OBSERVER,
|
|
110
|
+
subscriptionState: subscriptionState
|
|
111
|
+
});
|
|
97
112
|
if (!DESCRIPTORS) this.closed = false;
|
|
98
113
|
};
|
|
99
114
|
|
|
100
115
|
SubscriptionObserver.prototype = redefineAll({}, {
|
|
101
116
|
next: function next(value) {
|
|
102
|
-
var subscriptionState =
|
|
103
|
-
if (!
|
|
117
|
+
var subscriptionState = getSubscriptionObserverInternalState(this).subscriptionState;
|
|
118
|
+
if (!subscriptionState.isClosed()) {
|
|
104
119
|
var observer = subscriptionState.observer;
|
|
105
120
|
try {
|
|
106
121
|
var nextMethod = getMethod(observer, 'next');
|
|
107
|
-
if (nextMethod)
|
|
122
|
+
if (nextMethod) call(nextMethod, observer, value);
|
|
108
123
|
} catch (error) {
|
|
109
124
|
hostReportErrors(error);
|
|
110
125
|
}
|
|
111
126
|
}
|
|
112
127
|
},
|
|
113
128
|
error: function error(value) {
|
|
114
|
-
var subscriptionState =
|
|
115
|
-
if (!
|
|
129
|
+
var subscriptionState = getSubscriptionObserverInternalState(this).subscriptionState;
|
|
130
|
+
if (!subscriptionState.isClosed()) {
|
|
116
131
|
var observer = subscriptionState.observer;
|
|
117
|
-
close(
|
|
132
|
+
subscriptionState.close();
|
|
118
133
|
try {
|
|
119
134
|
var errorMethod = getMethod(observer, 'error');
|
|
120
|
-
if (errorMethod)
|
|
135
|
+
if (errorMethod) call(errorMethod, observer, value);
|
|
121
136
|
else hostReportErrors(value);
|
|
122
137
|
} catch (err) {
|
|
123
138
|
hostReportErrors(err);
|
|
124
|
-
}
|
|
139
|
+
} subscriptionState.clean();
|
|
125
140
|
}
|
|
126
141
|
},
|
|
127
142
|
complete: function complete() {
|
|
128
|
-
var subscriptionState =
|
|
129
|
-
if (!
|
|
143
|
+
var subscriptionState = getSubscriptionObserverInternalState(this).subscriptionState;
|
|
144
|
+
if (!subscriptionState.isClosed()) {
|
|
130
145
|
var observer = subscriptionState.observer;
|
|
131
|
-
close(
|
|
146
|
+
subscriptionState.close();
|
|
132
147
|
try {
|
|
133
148
|
var completeMethod = getMethod(observer, 'complete');
|
|
134
|
-
if (completeMethod)
|
|
149
|
+
if (completeMethod) call(completeMethod, observer);
|
|
135
150
|
} catch (error) {
|
|
136
151
|
hostReportErrors(error);
|
|
137
|
-
}
|
|
152
|
+
} subscriptionState.clean();
|
|
138
153
|
}
|
|
139
154
|
}
|
|
140
155
|
});
|
|
@@ -142,32 +157,37 @@ SubscriptionObserver.prototype = redefineAll({}, {
|
|
|
142
157
|
if (DESCRIPTORS) defineProperty(SubscriptionObserver.prototype, 'closed', {
|
|
143
158
|
configurable: true,
|
|
144
159
|
get: function () {
|
|
145
|
-
return
|
|
160
|
+
return getSubscriptionObserverInternalState(this).subscriptionState.isClosed();
|
|
146
161
|
}
|
|
147
162
|
});
|
|
148
163
|
|
|
149
164
|
var $Observable = function Observable(subscriber) {
|
|
150
|
-
anInstance(this,
|
|
151
|
-
setInternalState(this, {
|
|
165
|
+
anInstance(this, ObservablePrototype);
|
|
166
|
+
setInternalState(this, {
|
|
167
|
+
type: OBSERVABLE,
|
|
168
|
+
subscriber: aCallable(subscriber)
|
|
169
|
+
});
|
|
152
170
|
};
|
|
153
171
|
|
|
154
|
-
|
|
172
|
+
var ObservablePrototype = $Observable.prototype;
|
|
173
|
+
|
|
174
|
+
redefineAll(ObservablePrototype, {
|
|
155
175
|
subscribe: function subscribe(observer) {
|
|
156
176
|
var length = arguments.length;
|
|
157
177
|
return new Subscription(isCallable(observer) ? {
|
|
158
178
|
next: observer,
|
|
159
179
|
error: length > 1 ? arguments[1] : undefined,
|
|
160
180
|
complete: length > 2 ? arguments[2] : undefined
|
|
161
|
-
} : isObject(observer) ? observer : {},
|
|
181
|
+
} : isObject(observer) ? observer : {}, getObservableInternalState(this).subscriber);
|
|
162
182
|
}
|
|
163
183
|
});
|
|
164
184
|
|
|
165
185
|
redefineAll($Observable, {
|
|
166
186
|
from: function from(x) {
|
|
167
187
|
var C = isConstructor(this) ? this : $Observable;
|
|
168
|
-
var observableMethod = getMethod(anObject(x), OBSERVABLE);
|
|
188
|
+
var observableMethod = getMethod(anObject(x), $$OBSERVABLE);
|
|
169
189
|
if (observableMethod) {
|
|
170
|
-
var observable = anObject(
|
|
190
|
+
var observable = anObject(call(observableMethod, x));
|
|
171
191
|
return observable.constructor === C ? observable : new C(function (observer) {
|
|
172
192
|
return observable.subscribe(observer);
|
|
173
193
|
});
|
|
@@ -184,7 +204,7 @@ redefineAll($Observable, {
|
|
|
184
204
|
of: function of() {
|
|
185
205
|
var C = isConstructor(this) ? this : $Observable;
|
|
186
206
|
var length = arguments.length;
|
|
187
|
-
var items =
|
|
207
|
+
var items = Array(length);
|
|
188
208
|
var index = 0;
|
|
189
209
|
while (index < length) items[index] = arguments[index++];
|
|
190
210
|
return new C(function (observer) {
|
|
@@ -196,10 +216,10 @@ redefineAll($Observable, {
|
|
|
196
216
|
}
|
|
197
217
|
});
|
|
198
218
|
|
|
199
|
-
redefine(
|
|
219
|
+
redefine(ObservablePrototype, $$OBSERVABLE, function () { return this; });
|
|
200
220
|
|
|
201
221
|
$({ global: true }, {
|
|
202
222
|
Observable: $Observable
|
|
203
223
|
});
|
|
204
224
|
|
|
205
|
-
setSpecies(
|
|
225
|
+
setSpecies(OBSERVABLE);
|
|
@@ -1,26 +1,21 @@
|
|
|
1
1
|
var $ = require('../internals/export');
|
|
2
|
-
|
|
3
|
-
var Set = require('../modules/es.set');
|
|
2
|
+
var uncurryThis = require('../internals/function-uncurry-this');
|
|
4
3
|
var ReflectMetadataModule = require('../internals/reflect-metadata');
|
|
5
4
|
var anObject = require('../internals/an-object');
|
|
6
5
|
var getPrototypeOf = require('../internals/object-get-prototype-of');
|
|
7
|
-
var
|
|
6
|
+
var $arrayUniqueBy = require('../internals/array-unique-by');
|
|
8
7
|
|
|
8
|
+
var arrayUniqueBy = uncurryThis($arrayUniqueBy);
|
|
9
|
+
var concat = uncurryThis([].concat);
|
|
9
10
|
var ordinaryOwnMetadataKeys = ReflectMetadataModule.keys;
|
|
10
11
|
var toMetadataKey = ReflectMetadataModule.toKey;
|
|
11
12
|
|
|
12
|
-
var from = function (iter) {
|
|
13
|
-
var result = [];
|
|
14
|
-
iterate(iter, result.push, { that: result });
|
|
15
|
-
return result;
|
|
16
|
-
};
|
|
17
|
-
|
|
18
13
|
var ordinaryMetadataKeys = function (O, P) {
|
|
19
14
|
var oKeys = ordinaryOwnMetadataKeys(O, P);
|
|
20
15
|
var parent = getPrototypeOf(O);
|
|
21
16
|
if (parent === null) return oKeys;
|
|
22
17
|
var pKeys = ordinaryMetadataKeys(parent, P);
|
|
23
|
-
return pKeys.length ? oKeys.length ?
|
|
18
|
+
return pKeys.length ? oKeys.length ? arrayUniqueBy(concat(oKeys, pKeys)) : pKeys : oKeys;
|
|
24
19
|
};
|
|
25
20
|
|
|
26
21
|
// `Reflect.getMetadataKeys` method
|
|
@@ -1,12 +1,10 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
var $ = require('../internals/export');
|
|
3
3
|
var IS_PURE = require('../internals/is-pure');
|
|
4
|
-
var
|
|
4
|
+
var addAll = require('../internals/collection-add-all');
|
|
5
5
|
|
|
6
6
|
// `Set.prototype.addAll` method
|
|
7
7
|
// https://github.com/tc39/proposal-collection-methods
|
|
8
8
|
$({ target: 'Set', proto: true, real: true, forced: IS_PURE }, {
|
|
9
|
-
addAll:
|
|
10
|
-
return collectionAddAll.apply(this, arguments);
|
|
11
|
-
}
|
|
9
|
+
addAll: addAll
|
|
12
10
|
});
|
|
@@ -1,12 +1,10 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
var $ = require('../internals/export');
|
|
3
3
|
var IS_PURE = require('../internals/is-pure');
|
|
4
|
-
var
|
|
4
|
+
var deleteAll = require('../internals/collection-delete-all');
|
|
5
5
|
|
|
6
6
|
// `Set.prototype.deleteAll` method
|
|
7
7
|
// https://github.com/tc39/proposal-collection-methods
|
|
8
8
|
$({ target: 'Set', proto: true, real: true, forced: IS_PURE }, {
|
|
9
|
-
deleteAll:
|
|
10
|
-
return collectionDeleteAll.apply(this, arguments);
|
|
11
|
-
}
|
|
9
|
+
deleteAll: deleteAll
|
|
12
10
|
});
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
'use strict';
|
|
2
|
-
var $ = require('../internals/export');
|
|
3
2
|
var IS_PURE = require('../internals/is-pure');
|
|
3
|
+
var $ = require('../internals/export');
|
|
4
4
|
var getBuiltIn = require('../internals/get-built-in');
|
|
5
|
+
var call = require('../internals/function-call');
|
|
5
6
|
var aCallable = require('../internals/a-callable');
|
|
6
7
|
var anObject = require('../internals/an-object');
|
|
7
8
|
var speciesConstructor = require('../internals/species-constructor');
|
|
@@ -15,7 +16,7 @@ $({ target: 'Set', proto: true, real: true, forced: IS_PURE }, {
|
|
|
15
16
|
var newSet = new (speciesConstructor(set, getBuiltIn('Set')))(set);
|
|
16
17
|
var remover = aCallable(newSet['delete']);
|
|
17
18
|
iterate(iterable, function (value) {
|
|
18
|
-
|
|
19
|
+
call(remover, newSet, value);
|
|
19
20
|
});
|
|
20
21
|
return newSet;
|
|
21
22
|
}
|
|
@@ -12,7 +12,7 @@ $({ target: 'Set', proto: true, real: true, forced: IS_PURE }, {
|
|
|
12
12
|
every: function every(callbackfn /* , thisArg */) {
|
|
13
13
|
var set = anObject(this);
|
|
14
14
|
var iterator = getSetIterator(set);
|
|
15
|
-
var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined
|
|
15
|
+
var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined);
|
|
16
16
|
return !iterate(iterator, function (value, stop) {
|
|
17
17
|
if (!boundFunction(value, value, set)) return stop();
|
|
18
18
|
}, { IS_ITERATOR: true, INTERRUPTED: true }).stopped;
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
'use strict';
|
|
2
|
-
var $ = require('../internals/export');
|
|
3
2
|
var IS_PURE = require('../internals/is-pure');
|
|
3
|
+
var $ = require('../internals/export');
|
|
4
4
|
var getBuiltIn = require('../internals/get-built-in');
|
|
5
|
+
var call = require('../internals/function-call');
|
|
5
6
|
var aCallable = require('../internals/a-callable');
|
|
6
7
|
var anObject = require('../internals/an-object');
|
|
7
8
|
var bind = require('../internals/function-bind-context');
|
|
@@ -15,11 +16,11 @@ $({ target: 'Set', proto: true, real: true, forced: IS_PURE }, {
|
|
|
15
16
|
filter: function filter(callbackfn /* , thisArg */) {
|
|
16
17
|
var set = anObject(this);
|
|
17
18
|
var iterator = getSetIterator(set);
|
|
18
|
-
var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined
|
|
19
|
+
var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined);
|
|
19
20
|
var newSet = new (speciesConstructor(set, getBuiltIn('Set')))();
|
|
20
21
|
var adder = aCallable(newSet.add);
|
|
21
22
|
iterate(iterator, function (value) {
|
|
22
|
-
if (boundFunction(value, value, set))
|
|
23
|
+
if (boundFunction(value, value, set)) call(adder, newSet, value);
|
|
23
24
|
}, { IS_ITERATOR: true });
|
|
24
25
|
return newSet;
|
|
25
26
|
}
|
|
@@ -12,7 +12,7 @@ $({ target: 'Set', proto: true, real: true, forced: IS_PURE }, {
|
|
|
12
12
|
find: function find(callbackfn /* , thisArg */) {
|
|
13
13
|
var set = anObject(this);
|
|
14
14
|
var iterator = getSetIterator(set);
|
|
15
|
-
var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined
|
|
15
|
+
var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined);
|
|
16
16
|
return iterate(iterator, function (value, stop) {
|
|
17
17
|
if (boundFunction(value, value, set)) return stop(value);
|
|
18
18
|
}, { IS_ITERATOR: true, INTERRUPTED: true }).result;
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
'use strict';
|
|
2
|
-
var $ = require('../internals/export');
|
|
3
2
|
var IS_PURE = require('../internals/is-pure');
|
|
3
|
+
var $ = require('../internals/export');
|
|
4
4
|
var getBuiltIn = require('../internals/get-built-in');
|
|
5
|
+
var call = require('../internals/function-call');
|
|
5
6
|
var aCallable = require('../internals/a-callable');
|
|
6
7
|
var anObject = require('../internals/an-object');
|
|
7
8
|
var speciesConstructor = require('../internals/species-constructor');
|
|
@@ -16,7 +17,7 @@ $({ target: 'Set', proto: true, real: true, forced: IS_PURE }, {
|
|
|
16
17
|
var hasCheck = aCallable(set.has);
|
|
17
18
|
var adder = aCallable(newSet.add);
|
|
18
19
|
iterate(iterable, function (value) {
|
|
19
|
-
if (
|
|
20
|
+
if (call(hasCheck, set, value)) call(adder, newSet, value);
|
|
20
21
|
});
|
|
21
22
|
return newSet;
|
|
22
23
|
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
|
-
var $ = require('../internals/export');
|
|
3
2
|
var IS_PURE = require('../internals/is-pure');
|
|
3
|
+
var $ = require('../internals/export');
|
|
4
|
+
var call = require('../internals/function-call');
|
|
4
5
|
var aCallable = require('../internals/a-callable');
|
|
5
6
|
var anObject = require('../internals/an-object');
|
|
6
7
|
var iterate = require('../internals/iterate');
|
|
@@ -12,7 +13,7 @@ $({ target: 'Set', proto: true, real: true, forced: IS_PURE }, {
|
|
|
12
13
|
var set = anObject(this);
|
|
13
14
|
var hasCheck = aCallable(set.has);
|
|
14
15
|
return !iterate(iterable, function (value, stop) {
|
|
15
|
-
if (
|
|
16
|
+
if (call(hasCheck, set, value) === true) return stop();
|
|
16
17
|
}, { INTERRUPTED: true }).stopped;
|
|
17
18
|
}
|
|
18
19
|
});
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
'use strict';
|
|
2
|
-
var $ = require('../internals/export');
|
|
3
2
|
var IS_PURE = require('../internals/is-pure');
|
|
3
|
+
var $ = require('../internals/export');
|
|
4
4
|
var getBuiltIn = require('../internals/get-built-in');
|
|
5
|
+
var call = require('../internals/function-call');
|
|
5
6
|
var aCallable = require('../internals/a-callable');
|
|
6
7
|
var isCallable = require('../internals/is-callable');
|
|
7
8
|
var anObject = require('../internals/an-object');
|
|
@@ -20,7 +21,7 @@ $({ target: 'Set', proto: true, real: true, forced: IS_PURE }, {
|
|
|
20
21
|
hasCheck = aCallable(otherSet.has);
|
|
21
22
|
}
|
|
22
23
|
return !iterate(iterator, function (value, stop) {
|
|
23
|
-
if (
|
|
24
|
+
if (call(hasCheck, otherSet, value) === false) return stop();
|
|
24
25
|
}, { IS_ITERATOR: true, INTERRUPTED: true }).stopped;
|
|
25
26
|
}
|
|
26
27
|
});
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
|
-
var $ = require('../internals/export');
|
|
3
2
|
var IS_PURE = require('../internals/is-pure');
|
|
3
|
+
var $ = require('../internals/export');
|
|
4
|
+
var call = require('../internals/function-call');
|
|
4
5
|
var aCallable = require('../internals/a-callable');
|
|
5
6
|
var anObject = require('../internals/an-object');
|
|
6
7
|
var iterate = require('../internals/iterate');
|
|
@@ -12,7 +13,7 @@ $({ target: 'Set', proto: true, real: true, forced: IS_PURE }, {
|
|
|
12
13
|
var set = anObject(this);
|
|
13
14
|
var hasCheck = aCallable(set.has);
|
|
14
15
|
return !iterate(iterable, function (value, stop) {
|
|
15
|
-
if (
|
|
16
|
+
if (call(hasCheck, set, value) === false) return stop();
|
|
16
17
|
}, { INTERRUPTED: true }).stopped;
|
|
17
18
|
}
|
|
18
19
|
});
|
|
@@ -1,19 +1,24 @@
|
|
|
1
1
|
'use strict';
|
|
2
|
-
var $ = require('../internals/export');
|
|
3
2
|
var IS_PURE = require('../internals/is-pure');
|
|
3
|
+
var $ = require('../internals/export');
|
|
4
|
+
var uncurryThis = require('../internals/function-uncurry-this');
|
|
4
5
|
var anObject = require('../internals/an-object');
|
|
6
|
+
var toString = require('../internals/to-string');
|
|
5
7
|
var getSetIterator = require('../internals/get-set-iterator');
|
|
6
8
|
var iterate = require('../internals/iterate');
|
|
7
9
|
|
|
10
|
+
var arrayJoin = uncurryThis([].join);
|
|
11
|
+
var push = [].push;
|
|
12
|
+
|
|
8
13
|
// `Set.prototype.join` method
|
|
9
14
|
// https://github.com/tc39/proposal-collection-methods
|
|
10
15
|
$({ target: 'Set', proto: true, real: true, forced: IS_PURE }, {
|
|
11
16
|
join: function join(separator) {
|
|
12
17
|
var set = anObject(this);
|
|
13
18
|
var iterator = getSetIterator(set);
|
|
14
|
-
var sep = separator === undefined ? ',' :
|
|
19
|
+
var sep = separator === undefined ? ',' : toString(separator);
|
|
15
20
|
var result = [];
|
|
16
|
-
iterate(iterator,
|
|
17
|
-
return result
|
|
21
|
+
iterate(iterator, push, { that: result, IS_ITERATOR: true });
|
|
22
|
+
return arrayJoin(result, sep);
|
|
18
23
|
}
|
|
19
24
|
});
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
'use strict';
|
|
2
|
-
var $ = require('../internals/export');
|
|
3
2
|
var IS_PURE = require('../internals/is-pure');
|
|
3
|
+
var $ = require('../internals/export');
|
|
4
4
|
var getBuiltIn = require('../internals/get-built-in');
|
|
5
|
+
var bind = require('../internals/function-bind-context');
|
|
6
|
+
var call = require('../internals/function-call');
|
|
5
7
|
var aCallable = require('../internals/a-callable');
|
|
6
8
|
var anObject = require('../internals/an-object');
|
|
7
|
-
var bind = require('../internals/function-bind-context');
|
|
8
9
|
var speciesConstructor = require('../internals/species-constructor');
|
|
9
10
|
var getSetIterator = require('../internals/get-set-iterator');
|
|
10
11
|
var iterate = require('../internals/iterate');
|
|
@@ -15,11 +16,11 @@ $({ target: 'Set', proto: true, real: true, forced: IS_PURE }, {
|
|
|
15
16
|
map: function map(callbackfn /* , thisArg */) {
|
|
16
17
|
var set = anObject(this);
|
|
17
18
|
var iterator = getSetIterator(set);
|
|
18
|
-
var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined
|
|
19
|
+
var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined);
|
|
19
20
|
var newSet = new (speciesConstructor(set, getBuiltIn('Set')))();
|
|
20
21
|
var adder = aCallable(newSet.add);
|
|
21
22
|
iterate(iterator, function (value) {
|
|
22
|
-
|
|
23
|
+
call(adder, newSet, boundFunction(value, value, set));
|
|
23
24
|
}, { IS_ITERATOR: true });
|
|
24
25
|
return newSet;
|
|
25
26
|
}
|
|
@@ -1,11 +1,14 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
var $ = require('../internals/export');
|
|
3
|
+
var global = require('../internals/global');
|
|
3
4
|
var IS_PURE = require('../internals/is-pure');
|
|
4
5
|
var aCallable = require('../internals/a-callable');
|
|
5
6
|
var anObject = require('../internals/an-object');
|
|
6
7
|
var getSetIterator = require('../internals/get-set-iterator');
|
|
7
8
|
var iterate = require('../internals/iterate');
|
|
8
9
|
|
|
10
|
+
var TypeError = global.TypeError;
|
|
11
|
+
|
|
9
12
|
// `Set.prototype.reduce` method
|
|
10
13
|
// https://github.com/tc39/proposal-collection-methods
|
|
11
14
|
$({ target: 'Set', proto: true, real: true, forced: IS_PURE }, {
|
|
@@ -12,7 +12,7 @@ $({ target: 'Set', proto: true, real: true, forced: IS_PURE }, {
|
|
|
12
12
|
some: function some(callbackfn /* , thisArg */) {
|
|
13
13
|
var set = anObject(this);
|
|
14
14
|
var iterator = getSetIterator(set);
|
|
15
|
-
var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined
|
|
15
|
+
var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined);
|
|
16
16
|
return iterate(iterator, function (value, stop) {
|
|
17
17
|
if (boundFunction(value, value, set)) return stop();
|
|
18
18
|
}, { IS_ITERATOR: true, INTERRUPTED: true }).stopped;
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
'use strict';
|
|
2
|
-
var $ = require('../internals/export');
|
|
3
2
|
var IS_PURE = require('../internals/is-pure');
|
|
3
|
+
var $ = require('../internals/export');
|
|
4
4
|
var getBuiltIn = require('../internals/get-built-in');
|
|
5
|
+
var call = require('../internals/function-call');
|
|
5
6
|
var aCallable = require('../internals/a-callable');
|
|
6
7
|
var anObject = require('../internals/an-object');
|
|
7
8
|
var speciesConstructor = require('../internals/species-constructor');
|
|
@@ -16,7 +17,7 @@ $({ target: 'Set', proto: true, real: true, forced: IS_PURE }, {
|
|
|
16
17
|
var remover = aCallable(newSet['delete']);
|
|
17
18
|
var adder = aCallable(newSet.add);
|
|
18
19
|
iterate(iterable, function (value) {
|
|
19
|
-
|
|
20
|
+
call(remover, newSet, value) || call(adder, newSet, value);
|
|
20
21
|
});
|
|
21
22
|
return newSet;
|
|
22
23
|
}
|
|
@@ -11,7 +11,6 @@ var exportTypedArrayStaticMethod = ArrayBufferViewCore.exportTypedArrayStaticMet
|
|
|
11
11
|
|
|
12
12
|
// `%TypedArray%.fromAsync` method
|
|
13
13
|
// https://github.com/tc39/proposal-array-from-async
|
|
14
|
-
// eslint-disable-next-line -- required for .length
|
|
15
14
|
exportTypedArrayStaticMethod('fromAsync', function fromAsync(asyncItems /* , mapfn = undefined, thisArg = undefined */) {
|
|
16
15
|
var C = this;
|
|
17
16
|
var argumentsLength = arguments.length;
|