diff options
Diffstat (limited to 'thirdparty/preact/src/h.js')
-rw-r--r-- | thirdparty/preact/src/h.js | 50 |
1 files changed, 0 insertions, 50 deletions
diff --git a/thirdparty/preact/src/h.js b/thirdparty/preact/src/h.js deleted file mode 100644 index c137bec84..000000000 --- a/thirdparty/preact/src/h.js +++ /dev/null @@ -1,50 +0,0 @@ -import { VNode } from './vnode'; -import options from './options'; - - -const stack = []; - - -/** JSX/hyperscript reviver -* Benchmarks: https://esbench.com/bench/57ee8f8e330ab09900a1a1a0 - * @see http://jasonformat.com/wtf-is-jsx - * @public - * @example - * /** @jsx h *\/ - * import { render, h } from 'preact'; - * render(<span>foo</span>, document.body); - */ -export function h(nodeName, attributes) { - let children = [], - lastSimple, child, simple, i; - for (i=arguments.length; i-- > 2; ) { - stack.push(arguments[i]); - } - if (attributes && attributes.children) { - if (!stack.length) stack.push(attributes.children); - delete attributes.children; - } - while (stack.length) { - if ((child = stack.pop()) instanceof Array) { - for (i=child.length; i--; ) stack.push(child[i]); - } - else if (child!=null && child!==false) { - if (typeof child=='number' || child===true) child = String(child); - simple = typeof child=='string'; - if (simple && lastSimple) { - children[children.length-1] += child; - } - else { - children.push(child); - lastSimple = simple; - } - } - } - - let p = new VNode(nodeName, attributes || undefined, children); - - // if a "vnode hook" is defined, pass every created VNode to it - if (options.vnode) options.vnode(p); - - return p; -} |