diff options
Diffstat (limited to 'src/node_modules/es-abstract/2019/IteratorNext.js')
-rw-r--r-- | src/node_modules/es-abstract/2019/IteratorNext.js | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/node_modules/es-abstract/2019/IteratorNext.js b/src/node_modules/es-abstract/2019/IteratorNext.js new file mode 100644 index 0000000..7e59915 --- /dev/null +++ b/src/node_modules/es-abstract/2019/IteratorNext.js @@ -0,0 +1,18 @@ +'use strict'; + +var GetIntrinsic = require('../GetIntrinsic'); + +var $TypeError = GetIntrinsic('%TypeError%'); + +var Invoke = require('./Invoke'); +var Type = require('./Type'); + +// https://ecma-international.org/ecma-262/6.0/#sec-iteratornext + +module.exports = function IteratorNext(iterator, value) { + var result = Invoke(iterator, 'next', arguments.length < 2 ? [] : [value]); + if (Type(result) !== 'Object') { + throw new $TypeError('iterator next must return an object'); + } + return result; +}; |