is-implemented.js 481 Bytes
"use strict";

var iteratorSymbol = require("es6-symbol").iterator;

module.exports = function () {
	var arr = ["foo", 1], iterator, result;
	if (typeof arr[iteratorSymbol] !== "function") return false;
	iterator = arr[iteratorSymbol]();
	if (!iterator) return false;
	if (typeof iterator.next !== "function") return false;
	result = iterator.next();
	if (!result) return false;
	if (result.value !== "foo") return false;
	if (result.done !== false) return false;
	return true;
};