/* */ 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;