UNPKG

redom-jsx

Version:

Tiny turboboosted JavaScript library for creating user interfaces. 100 % test coverage!

37 lines (28 loc) 863 B
import { createElement } from './create-element.js'; import { parseArgumentsInternal, getEl } from './util.js'; import { setChildren } from './setchildren.js'; export function Fragment (attr, ...children) { const fragment = document.createDocumentFragment(); setChildren(fragment, children); this.el = fragment; return this.el; } export function html (query, ...args) { let element; const type = typeof query; if (type === 'string') { element = createElement(query); } else if (type === 'function') { const Query = query; element = new Query(...args); } else { throw new Error('At least one argument required'); } parseArgumentsInternal(getEl(element), args, true); return element; } export const el = html; export const h = html; html.extend = function extendHtml (...args) { return html.bind(this, ...args); };