import { window, document } from 'ssr-window'; import Dom7 from './dom7-class'; function $(selector, context) { const arr = []; let i = 0; if (selector && !context) { if (selector instanceof Dom7) { return selector; } } if (selector) { // String if (typeof selector === 'string') { let els; let tempParent; const html = selector.trim(); if (html.indexOf('<') >= 0 && html.indexOf('>') >= 0) { let toCreate = 'div'; if (html.indexOf(':~]/)) { // Pure ID selector els = [document.getElementById(selector.trim().split('#')[1])]; } else { // Other selectors els = (context || document).querySelectorAll(selector.trim()); } for (i = 0; i < els.length; i += 1) { if (els[i]) arr.push(els[i]); } } } else if (selector.nodeType || selector === window || selector === document) { // Node/element arr.push(selector); } else if (selector.length > 0 && selector[0].nodeType) { // Array of elements or instance of Dom for (i = 0; i < selector.length; i += 1) { arr.push(selector[i]); } } } return new Dom7(arr); } $.fn = Dom7.prototype; $.Class = Dom7; $.Dom7 = Dom7; export default $;