decca
Version:
Render interfaces using pure functions and virtual DOM, kinda
32 lines (31 loc) • 885 B
JavaScript
/**
* @module decca/element
*/
;
/**
* Returns a vnode (*Element*) to be consumed by [render()](#render).
* This is compatible with JSX.
*
* @param {string} tag Tag name (eg, `'div'`)
* @param {object} props Properties
* @param {...(Element | string)=} children Children
* @return {Element} An element
*/
function element(tag, props) {
var children = [];
for (var _i = 2; _i < arguments.length; _i++) {
children[_i - 2] = arguments[_i];
}
return { tag: tag, props: props, children: children };
}
exports.__esModule = true;
exports["default"] = element;
/**
* A vnode (*Element*) to be consumed by [render()](#render).
* This is generated via [element()](#element).
*
* @typedef Element
* @property {string} tag Tag name (eg, `'div'`)
* @property {object} props Properties
* @property {Array<Element | string>} children Children
*/