UNPKG

basic-pragma

Version:

Configurable JSX pragma using a basic vdom

28 lines (27 loc) 845 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Fragment = exports.createElement = void 0; const arrays_1 = require("./utils/arrays"); const processChildren = (children) => ((0, arrays_1.getLength)(children) > 1 ? children : (0, arrays_1.getLength)(children) === 1 ? children[0] : (0, arrays_1.getLength)(children) === 0 ? undefined : children); const createElement = (type, props, ...children // deno-lint-ignore no-explicit-any ) => { const normalizedProps = { ...(props ?? {}), children: processChildren(children), }; const vnode = { type, props: normalizedProps, }; return vnode; }; exports.createElement = createElement; const Fragment = ({ children }) => children ?? null; exports.Fragment = Fragment;