diff --git a/packages/core-js/internals/async-iterator-create-proxy.js b/packages/core-js/internals/async-iterator-create-proxy.js index 7edc0d3b5f55..9e8c973af8d9 100644 --- a/packages/core-js/internals/async-iterator-create-proxy.js +++ b/packages/core-js/internals/async-iterator-create-proxy.js @@ -26,19 +26,15 @@ module.exports = function (nextHandler, IS_ITERATOR) { } else state = record; state.type = ASYNC_ITERATOR_PROXY; state.done = false; - state.ignoreArgument = !IS_ITERATOR; setInternalState(this, state); }; AsyncIteratorProxy.prototype = defineBuiltIns(create(AsyncIteratorPrototype), { - next: function next(arg) { + next: function next() { var that = this; - var hasArgument = !!arguments.length; return new Promise(function (resolve) { var state = getInternalState(that); - var args = hasArgument ? [state.ignoreArgument ? undefined : arg] : IS_ITERATOR ? [] : [undefined]; - state.ignoreArgument = false; - resolve(state.done ? { done: true, value: undefined } : anObject(call(nextHandler, state, Promise, args))); + resolve(state.done ? { done: true, value: undefined } : anObject(call(nextHandler, state, Promise))); }); }, 'return': function (value) { diff --git a/packages/core-js/internals/async-iterator-indexed.js b/packages/core-js/internals/async-iterator-indexed.js index 95285de13fba..948f00cda049 100644 --- a/packages/core-js/internals/async-iterator-indexed.js +++ b/packages/core-js/internals/async-iterator-indexed.js @@ -1,15 +1,15 @@ 'use strict'; // https://github.com/tc39/proposal-iterator-helpers -var apply = require('../internals/function-apply'); +var call = require('../internals/function-call'); var anObject = require('../internals/an-object'); var getIteratorDirect = require('../internals/get-iterator-direct'); var createAsyncIteratorProxy = require('../internals/async-iterator-create-proxy'); -var AsyncIteratorProxy = createAsyncIteratorProxy(function (Promise, args) { +var AsyncIteratorProxy = createAsyncIteratorProxy(function (Promise) { var state = this; var iterator = state.iterator; - return Promise.resolve(anObject(apply(state.next, iterator, args))).then(function (step) { + return Promise.resolve(anObject(call(state.next, iterator))).then(function (step) { if (anObject(step).done) { state.done = true; return { done: true, value: undefined }; diff --git a/packages/core-js/internals/iterator-create-proxy.js b/packages/core-js/internals/iterator-create-proxy.js index e5137ba45d2f..38458b7555e2 100644 --- a/packages/core-js/internals/iterator-create-proxy.js +++ b/packages/core-js/internals/iterator-create-proxy.js @@ -23,16 +23,13 @@ module.exports = function (nextHandler, IS_ITERATOR) { } else state = record; state.type = ITERATOR_PROXY; state.done = false; - state.ignoreArg = !IS_ITERATOR; setInternalState(this, state); }; IteratorProxy.prototype = defineBuiltIns(create(IteratorPrototype), { - next: function next(arg) { + next: function next() { var state = getInternalState(this); - var args = arguments.length ? [state.ignoreArg ? undefined : arg] : IS_ITERATOR ? [] : [undefined]; - state.ignoreArg = false; - var result = state.done ? undefined : call(nextHandler, state, args); + var result = state.done ? undefined : call(nextHandler, state); return { done: state.done, value: result }; }, 'return': function (value) { diff --git a/packages/core-js/internals/iterator-indexed.js b/packages/core-js/internals/iterator-indexed.js index b03bed38ae75..1a64ec7c486c 100644 --- a/packages/core-js/internals/iterator-indexed.js +++ b/packages/core-js/internals/iterator-indexed.js @@ -1,12 +1,12 @@ 'use strict'; // https://github.com/tc39/proposal-iterator-helpers -var apply = require('../internals/function-apply'); +var call = require('../internals/function-call'); var anObject = require('../internals/an-object'); var getIteratorDirect = require('../internals/get-iterator-direct'); var createIteratorProxy = require('../internals/iterator-create-proxy'); -var IteratorProxy = createIteratorProxy(function (args) { - var result = anObject(apply(this.next, this.iterator, args)); +var IteratorProxy = createIteratorProxy(function () { + var result = anObject(call(this.next, this.iterator)); var done = this.done = !!result.done; if (!done) return [this.index++, result.value]; }); diff --git a/packages/core-js/modules/esnext.async-iterator.drop.js b/packages/core-js/modules/esnext.async-iterator.drop.js index 4e396937549a..3839e7958e3d 100644 --- a/packages/core-js/modules/esnext.async-iterator.drop.js +++ b/packages/core-js/modules/esnext.async-iterator.drop.js @@ -1,21 +1,21 @@ 'use strict'; // https://github.com/tc39/proposal-iterator-helpers var $ = require('../internals/export'); -var apply = require('../internals/function-apply'); +var call = require('../internals/function-call'); var anObject = require('../internals/an-object'); var getIteratorDirect = require('../internals/get-iterator-direct'); var notANaN = require('../internals/not-a-nan'); var toPositiveInteger = require('../internals/to-positive-integer'); var createAsyncIteratorProxy = require('../internals/async-iterator-create-proxy'); -var AsyncIteratorProxy = createAsyncIteratorProxy(function (Promise, args) { +var AsyncIteratorProxy = createAsyncIteratorProxy(function (Promise) { var state = this; return new Promise(function (resolve, reject) { var loop = function () { try { Promise.resolve( - anObject(apply(state.next, state.iterator, state.remaining ? [] : args)) + anObject(call(state.next, state.iterator)) ).then(function (step) { try { if (anObject(step).done) { diff --git a/packages/core-js/modules/esnext.async-iterator.filter.js b/packages/core-js/modules/esnext.async-iterator.filter.js index e9a250090a3c..94f83bb38900 100644 --- a/packages/core-js/modules/esnext.async-iterator.filter.js +++ b/packages/core-js/modules/esnext.async-iterator.filter.js @@ -1,20 +1,20 @@ 'use strict'; // https://github.com/tc39/proposal-iterator-helpers var $ = require('../internals/export'); -var apply = require('../internals/function-apply'); +var call = require('../internals/function-call'); var aCallable = require('../internals/a-callable'); var anObject = require('../internals/an-object'); var getIteratorDirect = require('../internals/get-iterator-direct'); var createAsyncIteratorProxy = require('../internals/async-iterator-create-proxy'); -var AsyncIteratorProxy = createAsyncIteratorProxy(function (Promise, args) { +var AsyncIteratorProxy = createAsyncIteratorProxy(function (Promise) { var state = this; var filterer = state.filterer; return new Promise(function (resolve, reject) { var loop = function () { try { - Promise.resolve(anObject(apply(state.next, state.iterator, args))).then(function (step) { + Promise.resolve(anObject(call(state.next, state.iterator))).then(function (step) { try { if (anObject(step).done) { state.done = true; diff --git a/packages/core-js/modules/esnext.async-iterator.from.js b/packages/core-js/modules/esnext.async-iterator.from.js index c3e63e6e154c..0870fed2db72 100644 --- a/packages/core-js/modules/esnext.async-iterator.from.js +++ b/packages/core-js/modules/esnext.async-iterator.from.js @@ -1,6 +1,6 @@ // https://github.com/tc39/proposal-iterator-helpers var $ = require('../internals/export'); -var apply = require('../internals/function-apply'); +var call = require('../internals/function-call'); var anObject = require('../internals/an-object'); var toObject = require('../internals/to-object'); var isPrototypeOf = require('../internals/object-is-prototype-of'); @@ -16,8 +16,8 @@ var AsyncFromSyncIterator = require('../internals/async-from-sync-iterator'); var ASYNC_ITERATOR = wellKnownSymbol('asyncIterator'); -var AsyncIteratorProxy = createAsyncIteratorProxy(function (Promise, args) { - return anObject(apply(this.next, this.iterator, args)); +var AsyncIteratorProxy = createAsyncIteratorProxy(function () { + return anObject(call(this.next, this.iterator)); }, true); $({ target: 'AsyncIterator', stat: true, forced: true }, { diff --git a/packages/core-js/modules/esnext.async-iterator.map.js b/packages/core-js/modules/esnext.async-iterator.map.js index b4cfb85475b1..fdcd7d790b27 100644 --- a/packages/core-js/modules/esnext.async-iterator.map.js +++ b/packages/core-js/modules/esnext.async-iterator.map.js @@ -1,17 +1,17 @@ 'use strict'; // https://github.com/tc39/proposal-iterator-helpers var $ = require('../internals/export'); -var apply = require('../internals/function-apply'); +var call = require('../internals/function-call'); var aCallable = require('../internals/a-callable'); var anObject = require('../internals/an-object'); var getIteratorDirect = require('../internals/get-iterator-direct'); var createAsyncIteratorProxy = require('../internals/async-iterator-create-proxy'); -var AsyncIteratorProxy = createAsyncIteratorProxy(function (Promise, args) { +var AsyncIteratorProxy = createAsyncIteratorProxy(function (Promise) { var state = this; var mapper = state.mapper; - return Promise.resolve(anObject(apply(state.next, state.iterator, args))).then(function (step) { + return Promise.resolve(anObject(call(state.next, state.iterator))).then(function (step) { if (anObject(step).done) { state.done = true; return { done: true, value: undefined }; diff --git a/packages/core-js/modules/esnext.async-iterator.take.js b/packages/core-js/modules/esnext.async-iterator.take.js index 1649e96f2907..bb9d9bb6ccf7 100644 --- a/packages/core-js/modules/esnext.async-iterator.take.js +++ b/packages/core-js/modules/esnext.async-iterator.take.js @@ -1,14 +1,13 @@ 'use strict'; // https://github.com/tc39/proposal-iterator-helpers var $ = require('../internals/export'); -var apply = require('../internals/function-apply'); var call = require('../internals/function-call'); var getIteratorDirect = require('../internals/get-iterator-direct'); var notANaN = require('../internals/not-a-nan'); var toPositiveInteger = require('../internals/to-positive-integer'); var createAsyncIteratorProxy = require('../internals/async-iterator-create-proxy'); -var AsyncIteratorProxy = createAsyncIteratorProxy(function (Promise, args) { +var AsyncIteratorProxy = createAsyncIteratorProxy(function (Promise) { var iterator = this.iterator; var returnMethod, result; if (!this.remaining--) { @@ -16,12 +15,12 @@ var AsyncIteratorProxy = createAsyncIteratorProxy(function (Promise, args) { this.done = true; returnMethod = iterator['return']; if (returnMethod !== undefined) { - return Promise.resolve(call(returnMethod, iterator)).then(function () { + return Promise.resolve(call(returnMethod, iterator, undefined)).then(function () { return result; }); } return result; - } return apply(this.next, iterator, args); + } return call(this.next, iterator); }); $({ target: 'AsyncIterator', proto: true, real: true, forced: true }, { diff --git a/packages/core-js/modules/esnext.iterator.drop.js b/packages/core-js/modules/esnext.iterator.drop.js index b24e17ed7ac5..8737e8137404 100644 --- a/packages/core-js/modules/esnext.iterator.drop.js +++ b/packages/core-js/modules/esnext.iterator.drop.js @@ -1,7 +1,6 @@ 'use strict'; // https://github.com/tc39/proposal-iterator-helpers var $ = require('../internals/export'); -var apply = require('../internals/function-apply'); var call = require('../internals/function-call'); var anObject = require('../internals/an-object'); var getIteratorDirect = require('../internals/get-iterator-direct'); @@ -9,7 +8,7 @@ var notANaN = require('../internals/not-a-nan'); var toPositiveInteger = require('../internals/to-positive-integer'); var createIteratorProxy = require('../internals/iterator-create-proxy'); -var IteratorProxy = createIteratorProxy(function (args) { +var IteratorProxy = createIteratorProxy(function () { var iterator = this.iterator; var next = this.next; var result, done; @@ -19,7 +18,7 @@ var IteratorProxy = createIteratorProxy(function (args) { done = this.done = !!result.done; if (done) return; } - result = anObject(apply(next, iterator, args)); + result = anObject(call(next, iterator)); done = this.done = !!result.done; if (!done) return result.value; }); diff --git a/packages/core-js/modules/esnext.iterator.filter.js b/packages/core-js/modules/esnext.iterator.filter.js index b56aa2de15b2..d3205885065f 100644 --- a/packages/core-js/modules/esnext.iterator.filter.js +++ b/packages/core-js/modules/esnext.iterator.filter.js @@ -1,20 +1,20 @@ 'use strict'; // https://github.com/tc39/proposal-iterator-helpers var $ = require('../internals/export'); -var apply = require('../internals/function-apply'); +var call = require('../internals/function-call'); var aCallable = require('../internals/a-callable'); var anObject = require('../internals/an-object'); var getIteratorDirect = require('../internals/get-iterator-direct'); var createIteratorProxy = require('../internals/iterator-create-proxy'); var callWithSafeIterationClosing = require('../internals/call-with-safe-iteration-closing'); -var IteratorProxy = createIteratorProxy(function (args) { +var IteratorProxy = createIteratorProxy(function () { var iterator = this.iterator; var filterer = this.filterer; var next = this.next; var result, done, value; while (true) { - result = anObject(apply(next, iterator, args)); + result = anObject(call(next, iterator)); done = this.done = !!result.done; if (done) return; value = result.value; diff --git a/packages/core-js/modules/esnext.iterator.from.js b/packages/core-js/modules/esnext.iterator.from.js index dd09294701f0..610f8f7abe4f 100644 --- a/packages/core-js/modules/esnext.iterator.from.js +++ b/packages/core-js/modules/esnext.iterator.from.js @@ -1,6 +1,6 @@ // https://github.com/tc39/proposal-iterator-helpers var $ = require('../internals/export'); -var apply = require('../internals/function-apply'); +var call = require('../internals/function-call'); var anObject = require('../internals/an-object'); var toObject = require('../internals/to-object'); var isPrototypeOf = require('../internals/object-is-prototype-of'); @@ -10,8 +10,8 @@ var getIterator = require('../internals/get-iterator'); var getIteratorDirect = require('../internals/get-iterator-direct'); var getIteratorMethod = require('../internals/get-iterator-method'); -var IteratorProxy = createIteratorProxy(function (args) { - var result = anObject(apply(this.next, this.iterator, args)); +var IteratorProxy = createIteratorProxy(function () { + var result = anObject(call(this.next, this.iterator)); var done = this.done = !!result.done; if (!done) return result.value; }, true); diff --git a/packages/core-js/modules/esnext.iterator.map.js b/packages/core-js/modules/esnext.iterator.map.js index 1d3a49f969a6..c1b4b1963ab2 100644 --- a/packages/core-js/modules/esnext.iterator.map.js +++ b/packages/core-js/modules/esnext.iterator.map.js @@ -1,16 +1,16 @@ 'use strict'; // https://github.com/tc39/proposal-iterator-helpers var $ = require('../internals/export'); -var apply = require('../internals/function-apply'); +var call = require('../internals/function-call'); var aCallable = require('../internals/a-callable'); var anObject = require('../internals/an-object'); var getIteratorDirect = require('../internals/get-iterator-direct'); var createIteratorProxy = require('../internals/iterator-create-proxy'); var callWithSafeIterationClosing = require('../internals/call-with-safe-iteration-closing'); -var IteratorProxy = createIteratorProxy(function (args) { +var IteratorProxy = createIteratorProxy(function () { var iterator = this.iterator; - var result = anObject(apply(this.next, iterator, args)); + var result = anObject(call(this.next, iterator)); var done = this.done = !!result.done; if (!done) return callWithSafeIterationClosing(iterator, this.mapper, result.value); }); diff --git a/packages/core-js/modules/esnext.iterator.take.js b/packages/core-js/modules/esnext.iterator.take.js index 15001836a020..05c5e46b51de 100644 --- a/packages/core-js/modules/esnext.iterator.take.js +++ b/packages/core-js/modules/esnext.iterator.take.js @@ -1,7 +1,7 @@ 'use strict'; // https://github.com/tc39/proposal-iterator-helpers var $ = require('../internals/export'); -var apply = require('../internals/function-apply'); +var call = require('../internals/function-call'); var anObject = require('../internals/an-object'); var getIteratorDirect = require('../internals/get-iterator-direct'); var notANaN = require('../internals/not-a-nan'); @@ -9,13 +9,13 @@ var toPositiveInteger = require('../internals/to-positive-integer'); var createIteratorProxy = require('../internals/iterator-create-proxy'); var iteratorClose = require('../internals/iterator-close'); -var IteratorProxy = createIteratorProxy(function (args) { +var IteratorProxy = createIteratorProxy(function () { var iterator = this.iterator; if (!this.remaining--) { this.done = true; return iteratorClose(iterator, 'normal', undefined); } - var result = anObject(apply(this.next, iterator, args)); + var result = anObject(call(this.next, iterator)); var done = this.done = !!result.done; if (!done) return result.value; });