| 'use strict'; | 
| var classof = require('../internals/classof'); | 
| var hasOwn = require('../internals/has-own-property'); | 
| var isNullOrUndefined = require('../internals/is-null-or-undefined'); | 
| var wellKnownSymbol = require('../internals/well-known-symbol'); | 
| var Iterators = require('../internals/iterators'); | 
|   | 
| var ITERATOR = wellKnownSymbol('iterator'); | 
| var $Object = Object; | 
|   | 
| module.exports = function (it) { | 
|   if (isNullOrUndefined(it)) return false; | 
|   var O = $Object(it); | 
|   return O[ITERATOR] !== undefined | 
|     || '@@iterator' in O | 
|     || hasOwn(Iterators, classof(O)); | 
| }; |