UNPKG

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