react-pizza
Version:
The utility for create (p)react component habitat.
38 lines (33 loc) • 944 B
JavaScript
/**
* @file querySelectorAll
* @author imcuttle <moyuyc95@gmail.com>
* @date 2018/11/7
*
*/
var toArray = require('./toArray');
function assetSelector(selector) {
if (Array.isArray(selector)) {
selector.forEach(function (selector, i) {
try {
assetSelector(selector);
} catch (e) {
throw new Error('Error occurs in selector[' + i + ']: ' + e.message);
}
});
}
if (!(selector instanceof NodeList) && !(selector instanceof HTMLElement) && typeof selector !== 'string') {
throw new Error('Expect instance of NodeList, HTMLElement or string, but ' + selector);
}
}
function querySelectorAll(selector) {
assetSelector(selector);
if (typeof selector === 'string') {
selector = document.querySelectorAll(selector);
}
if (selector instanceof NodeList) {
selector = [].slice.apply(selector);
}
return toArray(selector);
}
module.exports = querySelectorAll;
;