mirror of
https://github.com/Doodle3D/Doodle3D-API
synced 2024-12-23 22:13:48 +01:00
18 lines
401 B
JavaScript
18 lines
401 B
JavaScript
|
/* */
|
||
|
var assertObject = require("./$.assert").obj;
|
||
|
function close(iterator) {
|
||
|
var ret = iterator['return'];
|
||
|
if (ret !== undefined)
|
||
|
assertObject(ret.call(iterator));
|
||
|
}
|
||
|
function call(iterator, fn, value, entries) {
|
||
|
try {
|
||
|
return entries ? fn(assertObject(value)[0], value[1]) : fn(value);
|
||
|
} catch (e) {
|
||
|
close(iterator);
|
||
|
throw e;
|
||
|
}
|
||
|
}
|
||
|
call.close = close;
|
||
|
module.exports = call;
|