| 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 | | 'use strict'; |  | var call = require('../internals/function-call'); |  | var getBuiltIn = require('../internals/get-built-in'); |  | var getMethod = require('../internals/get-method'); |  |   |  | module.exports = function (iterator, method, argument, reject) { |  |   try { |  |     var returnMethod = getMethod(iterator, 'return'); |  |     if (returnMethod) { |  |       return getBuiltIn('Promise').resolve(call(returnMethod, iterator)).then(function () { |  |         method(argument); |  |       }, function (error) { |  |         reject(error); |  |       }); |  |     } |  |   } catch (error2) { |  |     return reject(error2); |  |   } method(argument); |  | }; | 
 |