inferno-create-element
Version:
Provides methods to create Inferno VNodes
2 lines (1 loc) • 1.39 kB
JavaScript
!function(e,n){"object"===typeof exports&&"undefined"!==typeof module?n(exports,require("inferno")):"function"===typeof define&&define.amd?define(["exports","inferno"],n):n((e="undefined"!==typeof globalThis?globalThis:e||self).Inferno=e.Inferno||{},e.Inferno)}(this,(function(e,n){"use strict";function o(e){return void 0===e||null===e}function t(e){return void 0===e}e.createElement=function(e,i){var r,l,f,a=null,s=null,d=null,c=arguments.length<=2?0:arguments.length-2;if(1===c)r=arguments.length<=2?void 0:arguments[2];else if(c>1){r=[];for(var u=0;u<c;u++)r.push(u+2<2||arguments.length<=u+2?void 0:arguments[u+2])}if("string"!==typeof e){if(l=2,t(r)||(i||(i={}),i.children=r),!o(i))for(var p in f={},i)if("key"===p)s=i.key;else if("ref"===p)a=i.ref;else switch(p){case"onComponentDidAppear":case"onComponentDidMount":case"onComponentDidUpdate":case"onComponentShouldUpdate":case"onComponentWillDisappear":case"onComponentWillMount":case"onComponentWillUnmount":case"onComponentWillUpdate":a||(a={}),a[p]=i[p];break;default:f[p]=i[p]}return n.createComponentVNode(l,e,f,s,a)}if(l=n.getFlagsForElementVnode(e),!o(i))for(var m in f={},i)"className"===m||"class"===m?d=i[m]:"key"===m?s=i.key:"children"===m&&t(r)?r=i.children:"ref"===m?a=i.ref:("contenteditable"===m&&(l|=4096),f[m]=i[m]);if(8192&l)return n.createFragment(1===c?[r]:r,0,s);return n.createVNode(l,e,d,r,0,f,s,a)}}));