mirror of
https://github.com/Doodle3D/Doodle3D-API
synced 2024-12-23 14:13:47 +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;
|