UNPKG

preact-render-to-string

Version:

Render JSX to an HTML string, with support for Preact components.

3 lines (2 loc) 10.7 kB
var t;t=function(t){if("function"!=typeof Symbol){var n=0;Symbol=function(t){return"@@"+t+ ++n},Symbol.for=function(t){return"@@"+t}}var e,r,o,i=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|^--/i,u=/[&<>"]/g,a={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;"},l=function(t){return a[t]||t},c=(e=function(t){return"string"!=typeof t&&(t=String(t)),t.replace(u,l)},r=new Map,function(t){var n=r.get(t);return n||(n=e(t),r.set(t,n)),n}),f=function(t,n){return String(t).replace(/(\n+)/g,"$1"+(n||"\t"))},s=function(t,n,e){return String(t).length>(n||40)||!e&&-1!==String(t).indexOf("\n")||-1!==String(t).indexOf("<")},p={};function d(t){var n="";for(var e in t){var r=t[e];null!=r&&(n&&(n+=" "),n+="-"==e[0]?e:p[e]||(p[e]=e.replace(/([A-Z])/g,"-$1").toLowerCase()),n+=": ",n+=r,"number"==typeof r&&!1===i.test(e)&&(n+="px"),n+=";")}return n||void 0}function y(t,n){for(var e in n)t[e]=n[e];return t}function _(t,n){return Array.isArray(n)?n.reduce(_,t):null!=n&&!1!==n&&t.push(n),t}function v(t,n,e,r,i){var u={type:t,props:n,key:e,ref:r,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,__h:null,constructor:void 0,__v:null==i?++o.__v:i};return null!=o.vnode&&o.vnode(u),u}function g(t){return t.children}o={__e:function(t,n){for(var e,r,o,i=n.__h;n=n.__;)if((e=n.__c)&&!e.__)try{if((r=e.constructor)&&null!=r.getDerivedStateFromError&&(e.setState(r.getDerivedStateFromError(t)),o=e.__d),null!=e.componentDidCatch&&(e.componentDidCatch(t),o=e.__d),o)return n.__h=i,e.__E=e}catch(n){t=n}throw t},__v:0},"function"==typeof Promise?Promise.prototype.then.bind(Promise.resolve()):setTimeout;var m={shallow:!0},b=[],h=/^(area|base|br|col|embed|hr|img|input|link|meta|param|source|track|wbr)$/,S=/[\s\n\\/='"\0<>]/,x=function(){};A.render=A;var j=[];function A(t,n,e){var r=O(t,n,e);return o.__c&&o.__c(t,j),r}function O(t,n,e,r,i,u){if(null==t||"boolean"==typeof t)return"";Array.isArray(t)&&(t=function(t,n,e){var r,o,i,u=arguments,a={};for(i in n)"key"==i?r=n[i]:"ref"==i?o=n[i]:a[i]=n[i];if(arguments.length>3)for(e=[e],i=3;i<arguments.length;i++)e.push(u[i]);if(null!=e&&(a.children=e),"function"==typeof t&&null!=t.defaultProps)for(i in t.defaultProps)void 0===a[i]&&(a[i]=t.defaultProps[i]);return v(t,a,r,o,null)}(g,null,t));var a=t.type,l=t.props,p=!1;n=n||{};var m,j=(e=e||{}).pretty,A=j&&"string"==typeof j?j:"\t";if("object"!=typeof t&&!a)return c(t);if("function"==typeof a){if(p=!0,!e.shallow||!r&&!1!==e.renderRootComponent){if(a===g){var k="",w=[];_(w,t.props.children);for(var F=0;F<w.length;F++)k+=(F>0&&j?"\n":"")+O(w[F],n,e,!1!==e.shallowHighOrder,i,u);return k}var E,C=t.__c={__v:t,context:n,props:t.props,setState:x,forceUpdate:x,__h:[]};if(o.__b&&o.__b(t),o.__r&&o.__r(t),a.prototype&&"function"==typeof a.prototype.render){var D=a.contextType,M=D&&n[D.__c],P=null!=D?M?M.props.value:D.__:n;(C=t.__c=new a(l,P)).__v=t,C._dirty=C.__d=!0,C.props=l,null==C.state&&(C.state={}),null==C._nextState&&null==C.__s&&(C._nextState=C.__s=C.state),C.context=P,a.getDerivedStateFromProps?C.state=y(y({},C.state),a.getDerivedStateFromProps(C.props,C.state)):C.componentWillMount&&(C.componentWillMount(),C.state=C._nextState!==C.state?C._nextState:C.__s!==C.state?C.__s:C.state),E=C.render(C.props,C.state,C.context)}else{var N=a.contextType,H=N&&n[N.__c];E=a.call(t.__c,l,null!=N?H?H.props.value:N.__:n)}return C.getChildContext&&(n=y(y({},n),C.getChildContext())),o.diffed&&o.diffed(t),O(E,n,e,!1!==e.shallowHighOrder,i,u)}a=(m=a).displayName||m!==Function&&m.name||function(t){var n=(Function.prototype.toString.call(t).match(/^\s*function\s+([^( ]+)/)||"")[1];if(!n){for(var e=-1,r=b.length;r--;)if(b[r]===t){e=r;break}e<0&&(e=b.push(t)-1),n="UnnamedComponent"+e}return n}(m)}var I,$,T="";if(l){var U=Object.keys(l);e&&!0===e.sortAttributes&&U.sort();for(var W=0;W<U.length;W++){var L=U[W],R=l[L];if("children"!==L){if(!L.match(/[\s\n\\/='"\0<>]/)&&(e&&e.allAttributes||"key"!==L&&"ref"!==L&&"__self"!==L&&"__source"!==L&&"defaultValue"!==L)){if("className"===L){if(l.class)continue;L="class"}else i&&L.match(/^xlink:?./)&&(L=L.toLowerCase().replace(/^xlink:?/,"xlink:"));if("htmlFor"===L){if(l.for)continue;L="for"}"style"===L&&R&&"object"==typeof R&&(R=d(R)),"a"===L[0]&&"r"===L[1]&&"boolean"==typeof R&&(R=String(R));var J=e.attributeHook&&e.attributeHook(L,R,n,e,p);if(J||""===J)T+=J;else if("dangerouslySetInnerHTML"===L)$=R&&R.__html;else if("textarea"===a&&"value"===L)I=R;else if((R||0===R||""===R)&&"function"!=typeof R){if(!(!0!==R&&""!==R||(R=L,e&&e.xml))){T+=" "+L;continue}if("value"===L){if("select"===a){u=R;continue}"option"===a&&u==R&&(T+=" selected")}T+=" "+L+'="'+c(R)+'"'}}}else I=R}}if(j){var V=T.replace(/^\n\s*/," ");V===T||~V.indexOf("\n")?j&&~T.indexOf("\n")&&(T+="\n"):T=V}if(T="<"+a+T+">",S.test(String(a)))throw new Error(a+" is not a valid HTML tag name in "+T);var q,z=h.test(String(a))||e.voidElements&&e.voidElements.test(String(a)),B=[];if($)j&&s($)&&($="\n"+A+f($,A)),T+=$;else if(null!=I&&_(q=[],I).length){for(var G=j&&~T.indexOf("\n"),Z=!1,K=0;K<q.length;K++){var Q=q[K];if(null!=Q&&!1!==Q){var X=O(Q,n,e,!0,"svg"===a||"foreignObject"!==a&&i,u);if(j&&!G&&s(X)&&(G=!0),X)if(j){var Y=X.length>0&&"<"!=X[0];Z&&Y?B[B.length-1]+=X:B.push(X),Z=Y}else B.push(X)}}if(j&&G)for(var tt=B.length;tt--;)B[tt]="\n"+A+f(B[tt],A)}if(B.length||$)T+=B.join("");else if(e&&e.xml)return T.substring(0,T.length-1)+" />";return!z||q||$?(j&&~T.indexOf("\n")&&(T+="\n"),T+="</"+a+">"):T=T.replace(/>$/," />"),T}A.shallowRender=function(t,n){return A(t,n,m)};var k=/(\\|\"|\')/g,w=Object.prototype.toString,F=Date.prototype.toISOString,E=Error.prototype.toString,C=RegExp.prototype.toString,D=Symbol.prototype.toString,M=/^Symbol\((.*)\)(.*)$/,P=/\n/gi,N=Object.getOwnPropertySymbols||function(t){return[]};function H(t){return"[object Array]"===t||"[object ArrayBuffer]"===t||"[object DataView]"===t||"[object Float32Array]"===t||"[object Float64Array]"===t||"[object Int8Array]"===t||"[object Int16Array]"===t||"[object Int32Array]"===t||"[object Uint8Array]"===t||"[object Uint8ClampedArray]"===t||"[object Uint16Array]"===t||"[object Uint32Array]"===t}function I(t){return""===t.name?"[Function anonymous]":"[Function "+t.name+"]"}function $(t){return D.call(t).replace(M,"Symbol($1)")}function T(t){return"["+E.call(t)+"]"}function U(t){if(!0===t||!1===t)return""+t;if(void 0===t)return"undefined";if(null===t)return"null";var n=typeof t;if("number"===n)return function(t){return t!=+t?"NaN":0===t&&1/t<0?"-0":""+t}(t);if("string"===n)return'"'+function(t){return t.replace(k,"\\$1")}(t)+'"';if("function"===n)return I(t);if("symbol"===n)return $(t);var e=w.call(t);return"[object WeakMap]"===e?"WeakMap {}":"[object WeakSet]"===e?"WeakSet {}":"[object Function]"===e||"[object GeneratorFunction]"===e?I(t,min):"[object Symbol]"===e?$(t):"[object Date]"===e?F.call(t):"[object Error]"===e?T(t):"[object RegExp]"===e?C.call(t):"[object Arguments]"===e&&0===t.length?"Arguments []":H(e)&&0===t.length?t.constructor.name+" []":t instanceof Error&&T(t)}function W(t,n,e,r,o,i,u,a,l,c){var f="";if(t.length){f+=o;for(var s=e+n,p=0;p<t.length;p++)f+=s+J(t[p],n,s,r,o,i,u,a,l,c),p<t.length-1&&(f+=","+r);f+=o+e}return"["+f+"]"}function L(t,n,e,r,o,i,u,a,l,c){if((i=i.slice()).indexOf(t)>-1)return"[Circular]";i.push(t);var f=++a>u;if(!f&&t.toJSON&&"function"==typeof t.toJSON)return J(t.toJSON(),n,e,r,o,i,u,a,l,c);var s=w.call(t);return"[object Arguments]"===s?f?"[Arguments]":function(t,n,e,r,o,i,u,a,l,c){return(c?"":"Arguments ")+W(t,n,e,r,o,i,u,a,l,c)}(t,n,e,r,o,i,u,a,l,c):H(s)?f?"[Array]":function(t,n,e,r,o,i,u,a,l,c){return(c?"":t.constructor.name+" ")+W(t,n,e,r,o,i,u,a,l,c)}(t,n,e,r,o,i,u,a,l,c):"[object Map]"===s?f?"[Map]":function(t,n,e,r,o,i,u,a,l,c){var f="Map {",s=t.entries(),p=s.next();if(!p.done){f+=o;for(var d=e+n;!p.done;)f+=d+J(p.value[0],n,d,r,o,i,u,a,l,c)+" => "+J(p.value[1],n,d,r,o,i,u,a,l,c),(p=s.next()).done||(f+=","+r);f+=o+e}return f+"}"}(t,n,e,r,o,i,u,a,l,c):"[object Set]"===s?f?"[Set]":function(t,n,e,r,o,i,u,a,l,c){var f="Set {",s=t.entries(),p=s.next();if(!p.done){f+=o;for(var d=e+n;!p.done;)f+=d+J(p.value[1],n,d,r,o,i,u,a,l,c),(p=s.next()).done||(f+=","+r);f+=o+e}return f+"}"}(t,n,e,r,o,i,u,a,l,c):"object"==typeof t?f?"[Object]":function(t,n,e,r,o,i,u,a,l,c){var f=(c?"":t.constructor?t.constructor.name+" ":"Object ")+"{",s=Object.keys(t).sort(),p=N(t);if(p.length&&(s=s.filter(function(t){return!("symbol"==typeof t||"[object Symbol]"===w.call(t))}).concat(p)),s.length){f+=o;for(var d=e+n,y=0;y<s.length;y++){var _=s[y];f+=d+J(_,n,d,r,o,i,u,a,l,c)+": "+J(t[_],n,d,r,o,i,u,a,l,c),y<s.length-1&&(f+=","+r)}f+=o+e}return f+"}"}(t,n,e,r,o,i,u,a,l,c):void 0}function R(t,n,e,r,o,i,u,a,l,c){for(var f,s=!1,p=0;p<l.length;p++)if((f=l[p]).test(t)){s=!0;break}return!!s&&f.print(t,function(t){return J(t,n,e,r,o,i,u,a,l,c)},function(t){var r=e+n;return r+t.replace(P,"\n"+r)},{edgeSpacing:o,spacing:r})}function J(t,n,e,r,o,i,u,a,l,c){return U(t)||R(t,n,e,r,o,i,u,a,l,c)||L(t,n,e,r,o,i,u,a,l,c)}var V={indent:2,min:!1,maxDepth:Infinity,plugins:[]};function q(t){return new Array(t+1).join(" ")}var z={test:function(t){return t&&"object"==typeof t&&"type"in t&&"props"in t&&"key"in t},print:function(t,n,e){return A(t,z.context,z.opts)}},B={plugins:[z]},G={attributeHook:function(t,n,e,r,o){var i=typeof n;if("dangerouslySetInnerHTML"===t)return!1;if(null==n||"function"===i&&!r.functions)return"";if(r.skipFalseAttributes&&!o&&(!1===n||("class"===t||"style"===t)&&""===n))return"";var u="string"==typeof r.pretty?r.pretty:"\t";return"string"!==i?("function"!==i||r.functionNames?(z.context=e,z.opts=r,~(n=function(t,n){var e,r;n?(function(t){if(Object.keys(t).forEach(function(t){if(!V.hasOwnProperty(t))throw new Error("prettyFormat: Invalid option: "+t)}),t.min&&void 0!==t.indent&&0!==t.indent)throw new Error("prettyFormat: Cannot run with min option and indent")}(n),n=function(t){var n={};return Object.keys(V).forEach(function(e){return n[e]=t.hasOwnProperty(e)?t[e]:V[e]}),n.min&&(n.indent=0),n}(n)):n=V;var o=n.min?" ":"\n",i=n.min?"":"\n";if(n&&n.plugins.length){var u=R(t,e=q(n.indent),"",o,i,r=[],n.maxDepth,0,n.plugins,n.min);if(u)return u}return U(t)||(e||(e=q(n.indent)),r||(r=[]),L(t,e,"",o,i,r,n.maxDepth,0,n.plugins,n.min))}(n,B)).indexOf("\n")&&(n=f("\n"+n,u)+"\n")):n="Function",f("\n"+t+"={"+n+"}",u)):"\n"+u+t+'="'+c(n)+'"'},jsx:!0,xml:!1,functions:!0,functionNames:!0,skipFalseAttributes:!0,pretty:" "};function Z(t,n,e,r){return A(t,n,e=y(y({},G),e||{}))}t.default=Z,t.render=Z},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t(self.preactRenderToString={}); //# sourceMappingURL=jsx.js.map