Blame view

node_modules/es6-iterator/is-iterable.js 507 Bytes
aaac7fed   liuqimichale   add
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";
  };