UNPKG

1.08 kBJavaScriptView Raw
1'use strict';
2
3Object.defineProperty(exports, "__esModule", {
4 value: true
5});
6
7var _isObject2 = require('lodash/isObject');
8
9var _isObject3 = _interopRequireDefault(_isObject2);
10
11var _isFunction2 = require('lodash/isFunction');
12
13var _isFunction3 = _interopRequireDefault(_isFunction2);
14
15function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
16
17var ITERATOR_SYMBOL = typeof Symbol !== 'undefined' && (0, _isFunction3.default)(Symbol) && Symbol.iterator;
18var OLD_ITERATOR_SYMBOL = '@@iterator';
19
20/**
21 * @see https://github.com/lodash/lodash/issues/1668
22 * @see https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Iteration_protocols
23 */
24
25exports.default = function (maybeIterable) {
26 var iterator = void 0;
27
28 if (!(0, _isObject3.default)(maybeIterable)) {
29 return false;
30 }
31
32 if (ITERATOR_SYMBOL) {
33 iterator = maybeIterable[ITERATOR_SYMBOL];
34 } else {
35 iterator = maybeIterable[OLD_ITERATOR_SYMBOL];
36 }
37
38 return (0, _isFunction3.default)(iterator);
39};
40
41module.exports = exports['default'];
\No newline at end of file