aboutsummaryrefslogtreecommitdiff
path: root/node_modules/es6-iterator/is-iterable.js
blob: cda7dfeb3801ed0b0b492475dd480775e4fe937a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
"use strict";

var isArguments = require("es5-ext/function/is-arguments")
  , isValue     = require("es5-ext/object/is-value")
  , isString    = require("es5-ext/string/is-string");

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

module.exports = function (value) {
	if (!isValue(value)) return false;
	if (isArray(value)) return true;
	if (isString(value)) return true;
	if (isArguments(value)) return true;
	return typeof value[iteratorSymbol] === "function";
};