preact-render-to-string 3.7.1 → 3.8.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/jsx.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":null,"sources":["../src/polyfills.js","../src/util.js","../src/index.js","../node_modules/pretty-format/printString.js","../node_modules/pretty-format/index.js","../src/jsx.js"],"sourcesContent":["if (typeof Symbol!=='function') {\n\tlet c = 0;\n\tSymbol = function(s) {\t\t// eslint-disable-line\n\t\treturn `@@${s}${++c}`;\n\t};\n\tSymbol.for = s => `@@${s}`;\n}\n","// DOM properties that should NOT have \"px\" added when numeric\nexport const NON_DIMENSION_PROPS = {\n\tboxFlex:1, boxFlexGroup:1, columnCount:1, fillOpacity:1, flex:1, flexGrow:1,\n\tflexPositive:1, flexShrink:1, flexNegative:1, fontWeight:1, lineClamp:1, lineHeight:1,\n\topacity:1, order:1, orphans:1, strokeOpacity:1, widows:1, zIndex:1, zoom:1\n};\n\nconst ESC = {\n\t'<': '&lt;',\n\t'>': '&gt;',\n\t'\"': '&quot;',\n\t'&': '&amp;'\n};\n\nexport const objectKeys = Object.keys || (obj => {\n\tlet keys = [];\n\tfor (let i in obj) if (obj.hasOwnProperty(i)) keys.push(i);\n\treturn keys;\n});\n\nexport let encodeEntities = s => String(s).replace(/[<>\"&]/g, escapeChar);\n\nlet escapeChar = a => ESC[a] || a;\n\nexport let falsey = v => v==null || v===false;\n\nexport let memoize = (fn, mem={}) => v => mem[v] || (mem[v] = fn(v));\n\nexport let indent = (s, char) => String(s).replace(/(\\n+)/g, '$1' + (char || '\\t'));\n\nexport let isLargeString = (s, length, ignoreLines) => (String(s).length>(length || 40) || (!ignoreLines && String(s).indexOf('\\n')!==-1) || String(s).indexOf('<')!==-1);\n\n// Convert an Object style to a CSSText string\nexport function styleObjToCss(s) {\n\tlet str = '';\n\tfor (let prop in s) {\n\t\tlet val = s[prop];\n\t\tif (val!=null) {\n\t\t\tif (str) str += ' ';\n\t\t\tstr += jsToCss(prop);\n\t\t\tstr += ': ';\n\t\t\tstr += val;\n\t\t\tif (typeof val==='number' && !NON_DIMENSION_PROPS[prop]) {\n\t\t\t\tstr += 'px';\n\t\t\t}\n\t\t\tstr += ';';\n\t\t}\n\t}\n\treturn str || undefined;\n}\n\n\n// See https://github.com/developit/preact/blob/master/src/util.js#L61\nexport function hashToClassName(c) {\n\tlet str = '';\n\tfor (let prop in c) {\n\t\tif (c[prop]) {\n\t\t\tif (str) str += ' ';\n\t\t\tstr += prop;\n\t\t}\n\t}\n\treturn str;\n}\n\n// Convert a JavaScript camel-case CSS property name to a CSS property name\nexport let jsToCss = memoize( s => s.replace(/([A-Z])/g,'-$1').toLowerCase() );\n\nexport function assign(obj, props) {\n\tfor (let i in props) obj[i] = props[i];\n\treturn obj;\n}\n\nexport function getNodeProps(vnode) {\n\tlet defaultProps = vnode.nodeName.defaultProps,\n\t\tprops = assign({}, defaultProps || vnode.attributes);\n\tif (defaultProps) assign(props, vnode.attributes);\n\tif (vnode.children) props.children = vnode.children;\n\treturn props;\n}\n","import { objectKeys, encodeEntities, falsey, memoize, indent, isLargeString, styleObjToCss, hashToClassName, assign, getNodeProps } from './util';\n\nconst SHALLOW = { shallow: true };\n\n// components without names, kept as a hash for later comparison to return consistent UnnamedComponentXX names.\nconst UNNAMED = [];\n\nconst EMPTY = {};\n\nconst VOID_ELEMENTS = [\n\t'area',\n\t'base',\n\t'br',\n\t'col',\n\t'embed',\n\t'hr',\n\t'img',\n\t'input',\n\t'link',\n\t'meta',\n\t'param',\n\t'source',\n\t'track',\n\t'wbr'\n];\n\n\n/** Render Preact JSX + Components to an HTML string.\n *\t@name render\n *\t@function\n *\t@param {VNode} vnode\tJSX VNode to render.\n *\t@param {Object} [context={}]\tOptionally pass an initial context object through the render path.\n *\t@param {Object} [options={}]\tRendering options\n *\t@param {Boolean} [options.shallow=false]\tIf `true`, renders nested Components as HTML elements (`<Foo a=\"b\" />`).\n *\t@param {Boolean} [options.xml=false]\t\tIf `true`, uses self-closing tags for elements without children.\n *\t@param {Boolean} [options.pretty=false]\t\tIf `true`, adds whitespace for readability\n */\nrenderToString.render = renderToString;\n\n\n/** Only render elements, leaving Components inline as `<ComponentName ... />`.\n *\tThis method is just a convenience alias for `render(vnode, context, { shallow:true })`\n *\t@name shallow\n *\t@function\n *\t@param {VNode} vnode\tJSX VNode to render.\n *\t@param {Object} [context={}]\tOptionally pass an initial context object through the render path.\n */\nlet shallowRender = (vnode, context) => renderToString(vnode, context, SHALLOW);\n\n\n/** The default export is an alias of `render()`. */\nexport default function renderToString(vnode, context, opts, inner, isSvgMode) {\n\tlet { nodeName, attributes, children } = vnode || EMPTY,\n\t\tisComponent = false;\n\tcontext = context || {};\n\topts = opts || {};\n\n\tlet pretty = opts.pretty,\n\t\tindentChar = typeof pretty==='string' ? pretty : '\\t';\n\n\tif (vnode==null || typeof vnode==='boolean') {\n\t\treturn '';\n\t}\n\n\t// #text nodes\n\tif (typeof vnode!=='object' && !nodeName) {\n\t\treturn encodeEntities(vnode);\n\t}\n\n\t// components\n\tif (typeof nodeName==='function') {\n\t\tisComponent = true;\n\t\tif (opts.shallow && (inner || opts.renderRootComponent===false)) {\n\t\t\tnodeName = getComponentName(nodeName);\n\t\t}\n\t\telse {\n\t\t\tlet props = getNodeProps(vnode),\n\t\t\t\trendered;\n\n\t\t\tif (!nodeName.prototype || typeof nodeName.prototype.render!=='function') {\n\t\t\t\t// stateless functional components\n\t\t\t\trendered = nodeName(props, context);\n\t\t\t}\n\t\t\telse {\n\t\t\t\t// class-based components\n\t\t\t\tlet c = new nodeName(props, context);\n\t\t\t\t// turn off stateful re-rendering:\n\t\t\t\tc._disable = c.__x = true;\n\t\t\t\tc.props = props;\n\t\t\t\tc.context = context;\n\t\t\t\tif (c.componentWillMount) c.componentWillMount();\n\t\t\t\trendered = c.render(c.props, c.state, c.context);\n\n\t\t\t\tif (c.getChildContext) {\n\t\t\t\t\tcontext = assign(assign({}, context), c.getChildContext());\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn renderToString(rendered, context, opts, opts.shallowHighOrder!==false);\n\t\t}\n\t}\n\n\t// render JSX to HTML\n\tlet s = '', html;\n\n\tif (attributes) {\n\t\tlet attrs = objectKeys(attributes);\n\n\t\t// allow sorting lexicographically for more determinism (useful for tests, such as via preact-jsx-chai)\n\t\tif (opts && opts.sortAttributes===true) attrs.sort();\n\n\t\tfor (let i=0; i<attrs.length; i++) {\n\t\t\tlet name = attrs[i],\n\t\t\t\tv = attributes[name];\n\t\t\tif (name==='children') continue;\n\n\t\t\tif (name.match(/[\\s\\n\\/='\"\\0<>]/)) continue;\n\n\t\t\tif (!(opts && opts.allAttributes) && (name==='key' || name==='ref')) continue;\n\n\t\t\tif (name==='className') {\n\t\t\t\tif (attributes['class']) continue;\n\t\t\t\tname = 'class';\n\t\t\t}\n\t\t\telse if (isSvgMode && name.match(/^xlink\\:?(.+)/)) {\n\t\t\t\tname = name.toLowerCase().replace(/^xlink\\:?(.+)/, 'xlink:$1');\n\t\t\t}\n\n\t\t\tif (name==='class' && v && typeof v==='object') {\n\t\t\t\tv = hashToClassName(v);\n\t\t\t}\n\t\t\telse if (name==='style' && v && typeof v==='object') {\n\t\t\t\tv = styleObjToCss(v);\n\t\t\t}\n\n\t\t\tlet hooked = opts.attributeHook && opts.attributeHook(name, v, context, opts, isComponent);\n\t\t\tif (hooked || hooked==='') {\n\t\t\t\ts += hooked;\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tif (name==='dangerouslySetInnerHTML') {\n\t\t\t\thtml = v && v.__html;\n\t\t\t}\n\t\t\telse if ((v || v===0 || v==='') && typeof v!=='function') {\n\t\t\t\tif (v===true || v==='') {\n\t\t\t\t\tv = name;\n\t\t\t\t\t// in non-xml mode, allow boolean attributes\n\t\t\t\t\tif (!opts || !opts.xml) {\n\t\t\t\t\t\ts += ' ' + name;\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\ts += ` ${name}=\"${encodeEntities(v)}\"`;\n\t\t\t}\n\t\t}\n\t}\n\n\t// account for >1 multiline attribute\n\tlet sub = s.replace(/^\\n\\s*/, ' ');\n\tif (sub!==s && !~sub.indexOf('\\n')) s = sub;\n\telse if (pretty && ~s.indexOf('\\n')) s += '\\n';\n\n\ts = `<${nodeName}${s}>`;\n\n\tif (VOID_ELEMENTS.indexOf(nodeName)>-1) {\n\t\ts = s.replace(/>$/, ' />');\n\t}\n\n\tif (html) {\n\t\t// if multiline, indent.\n\t\tif (pretty && isLargeString(html)) {\n\t\t\thtml = '\\n' + indentChar + indent(html, indentChar);\n\t\t}\n\t\ts += html;\n\t}\n\telse {\n\t\tlet len = children && children.length,\n\t\t\tpieces = [],\n\t\t\thasLarge = ~s.indexOf('\\n');\n\t\tfor (let i=0; i<len; i++) {\n\t\t\tlet child = children[i];\n\t\t\tif (!falsey(child)) {\n\t\t\t\tlet childSvgMode = nodeName==='svg' ? true : nodeName==='foreignObject' ? false : isSvgMode,\n\t\t\t\t\tret = renderToString(child, context, opts, true, childSvgMode);\n\t\t\t\tif (!hasLarge && pretty && isLargeString(ret)) hasLarge = true;\n\t\t\t\tif (ret) pieces.push(ret);\n\t\t\t}\n\t\t}\n\t\tif (pretty && hasLarge) {\n\t\t\tfor (let i=pieces.length; i--; ) {\n\t\t\t\tpieces[i] = '\\n' + indentChar + indent(pieces[i], indentChar);\n\t\t\t}\n\t\t}\n\t\tif (pieces.length) {\n\t\t\ts += pieces.join('');\n\t\t}\n\t\telse if (opts && opts.xml) {\n\t\t\treturn s.substring(0, s.length-1) + ' />';\n\t\t}\n\t}\n\n\tif (VOID_ELEMENTS.indexOf(nodeName)===-1) {\n\t\tif (pretty && ~s.indexOf('\\n')) s += '\\n';\n\t\ts += `</${nodeName}>`;\n\t}\n\n\treturn s;\n}\n\nfunction getComponentName(component) {\n\treturn component.displayName || component!==Function && component.name || getFallbackComponentName(component);\n}\n\nfunction getFallbackComponentName(component) {\n\tlet str = Function.prototype.toString.call(component),\n\t\tname = (str.match(/^\\s*function\\s+([^\\( ]+)/) || EMPTY)[1];\n\tif (!name) {\n\t\t// search for an existing indexed name for the given component:\n\t\tlet index = -1;\n\t\tfor (let i=UNNAMED.length; i--; ) {\n\t\t\tif (UNNAMED[i]===component) {\n\t\t\t\tindex = i;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\t// not found, create a new indexed name:\n\t\tif (index<0) {\n\t\t\tindex = UNNAMED.push(component) - 1;\n\t\t}\n\t\tname = `UnnamedComponent${index}`;\n\t}\n\treturn name;\n}\nrenderToString.shallowRender = shallowRender;\n\n\nexport {\n\trenderToString as render,\n\trenderToString,\n\tshallowRender\n};\n","'use strict';\n\nconst ESCAPED_CHARACTERS = /(\\\\|\\\"|\\')/g;\n\nmodule.exports = function printString(val) {\n return val.replace(ESCAPED_CHARACTERS, '\\\\$1');\n}\n","'use strict';\n\nconst printString = require('./printString');\n\nconst toString = Object.prototype.toString;\nconst toISOString = Date.prototype.toISOString;\nconst errorToString = Error.prototype.toString;\nconst regExpToString = RegExp.prototype.toString;\nconst symbolToString = Symbol.prototype.toString;\n\nconst SYMBOL_REGEXP = /^Symbol\\((.*)\\)(.*)$/;\nconst NEWLINE_REGEXP = /\\n/ig;\n\nconst getSymbols = Object.getOwnPropertySymbols || (obj => []);\n\nfunction isToStringedArrayType(toStringed) {\n return (\n toStringed === '[object Array]' ||\n toStringed === '[object ArrayBuffer]' ||\n toStringed === '[object DataView]' ||\n toStringed === '[object Float32Array]' ||\n toStringed === '[object Float64Array]' ||\n toStringed === '[object Int8Array]' ||\n toStringed === '[object Int16Array]' ||\n toStringed === '[object Int32Array]' ||\n toStringed === '[object Uint8Array]' ||\n toStringed === '[object Uint8ClampedArray]' ||\n toStringed === '[object Uint16Array]' ||\n toStringed === '[object Uint32Array]'\n );\n}\n\nfunction printNumber(val) {\n if (val != +val) return 'NaN';\n const isNegativeZero = val === 0 && (1 / val) < 0;\n return isNegativeZero ? '-0' : '' + val;\n}\n\nfunction printFunction(val) {\n if (val.name === '') {\n return '[Function anonymous]'\n } else {\n return '[Function ' + val.name + ']';\n }\n}\n\nfunction printSymbol(val) {\n return symbolToString.call(val).replace(SYMBOL_REGEXP, 'Symbol($1)');\n}\n\nfunction printError(val) {\n return '[' + errorToString.call(val) + ']';\n}\n\nfunction printBasicValue(val) {\n if (val === true || val === false) return '' + val;\n if (val === undefined) return 'undefined';\n if (val === null) return 'null';\n\n const typeOf = typeof val;\n\n if (typeOf === 'number') return printNumber(val);\n if (typeOf === 'string') return '\"' + printString(val) + '\"';\n if (typeOf === 'function') return printFunction(val);\n if (typeOf === 'symbol') return printSymbol(val);\n\n const toStringed = toString.call(val);\n\n if (toStringed === '[object WeakMap]') return 'WeakMap {}';\n if (toStringed === '[object WeakSet]') return 'WeakSet {}';\n if (toStringed === '[object Function]' || toStringed === '[object GeneratorFunction]') return printFunction(val, min);\n if (toStringed === '[object Symbol]') return printSymbol(val);\n if (toStringed === '[object Date]') return toISOString.call(val);\n if (toStringed === '[object Error]') return printError(val);\n if (toStringed === '[object RegExp]') return regExpToString.call(val);\n if (toStringed === '[object Arguments]' && val.length === 0) return 'Arguments []';\n if (isToStringedArrayType(toStringed) && val.length === 0) return val.constructor.name + ' []';\n\n if (val instanceof Error) return printError(val);\n\n return false;\n}\n\nfunction printList(list, indent, prevIndent, spacing, edgeSpacing, refs, maxDepth, currentDepth, plugins, min) {\n let body = '';\n\n if (list.length) {\n body += edgeSpacing;\n\n const innerIndent = prevIndent + indent;\n\n for (let i = 0; i < list.length; i++) {\n body += innerIndent + print(list[i], indent, innerIndent, spacing, edgeSpacing, refs, maxDepth, currentDepth, plugins, min);\n\n if (i < list.length - 1) {\n body += ',' + spacing;\n }\n }\n\n body += edgeSpacing + prevIndent;\n }\n\n return '[' + body + ']';\n}\n\nfunction printArguments(val, indent, prevIndent, spacing, edgeSpacing, refs, maxDepth, currentDepth, plugins, min) {\n return (min ? '' : 'Arguments ') + printList(val, indent, prevIndent, spacing, edgeSpacing, refs, maxDepth, currentDepth, plugins, min);\n}\n\nfunction printArray(val, indent, prevIndent, spacing, edgeSpacing, refs, maxDepth, currentDepth, plugins, min) {\n return (min ? '' : val.constructor.name + ' ') + printList(val, indent, prevIndent, spacing, edgeSpacing, refs, maxDepth, currentDepth, plugins, min);\n}\n\nfunction printMap(val, indent, prevIndent, spacing, edgeSpacing, refs, maxDepth, currentDepth, plugins, min) {\n let result = 'Map {';\n const iterator = val.entries();\n let current = iterator.next();\n\n if (!current.done) {\n result += edgeSpacing;\n\n const innerIndent = prevIndent + indent;\n\n while (!current.done) {\n const key = print(current.value[0], indent, innerIndent, spacing, edgeSpacing, refs, maxDepth, currentDepth, plugins, min);\n const value = print(current.value[1], indent, innerIndent, spacing, edgeSpacing, refs, maxDepth, currentDepth, plugins, min);\n\n result += innerIndent + key + ' => ' + value;\n\n current = iterator.next();\n\n if (!current.done) {\n result += ',' + spacing;\n }\n }\n\n result += edgeSpacing + prevIndent;\n }\n\n return result + '}';\n}\n\nfunction printObject(val, indent, prevIndent, spacing, edgeSpacing, refs, maxDepth, currentDepth, plugins, min) {\n const constructor = min ? '' : (val.constructor ? val.constructor.name + ' ' : 'Object ');\n let result = constructor + '{';\n let keys = Object.keys(val).sort();\n const symbols = getSymbols(val);\n\n if (symbols.length) {\n keys = keys\n .filter(key => !(typeof key === 'symbol' || toString.call(key) === '[object Symbol]'))\n .concat(symbols);\n }\n\n if (keys.length) {\n result += edgeSpacing;\n\n const innerIndent = prevIndent + indent;\n\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n const name = print(key, indent, innerIndent, spacing, edgeSpacing, refs, maxDepth, currentDepth, plugins, min);\n const value = print(val[key], indent, innerIndent, spacing, edgeSpacing, refs, maxDepth, currentDepth, plugins, min);\n\n result += innerIndent + name + ': ' + value;\n\n if (i < keys.length - 1) {\n result += ',' + spacing;\n }\n }\n\n result += edgeSpacing + prevIndent;\n }\n\n return result + '}';\n}\n\nfunction printSet(val, indent, prevIndent, spacing, edgeSpacing, refs, maxDepth, currentDepth, plugins, min) {\n let result = 'Set {';\n const iterator = val.entries();\n let current = iterator.next();\n\n if (!current.done) {\n result += edgeSpacing;\n\n const innerIndent = prevIndent + indent;\n\n while (!current.done) {\n result += innerIndent + print(current.value[1], indent, innerIndent, spacing, edgeSpacing, refs, maxDepth, currentDepth, plugins, min);\n\n current = iterator.next();\n\n if (!current.done) {\n result += ',' + spacing;\n }\n }\n\n result += edgeSpacing + prevIndent;\n }\n\n return result + '}';\n}\n\nfunction printComplexValue(val, indent, prevIndent, spacing, edgeSpacing, refs, maxDepth, currentDepth, plugins, min) {\n refs = refs.slice();\n if (refs.indexOf(val) > -1) {\n return '[Circular]';\n } else {\n refs.push(val);\n }\n\n currentDepth++;\n\n const hitMaxDepth = currentDepth > maxDepth;\n\n if (!hitMaxDepth && val.toJSON && typeof val.toJSON === 'function') {\n return print(val.toJSON(), indent, prevIndent, spacing, edgeSpacing, refs, maxDepth, currentDepth, plugins, min);\n }\n\n const toStringed = toString.call(val);\n if (toStringed === '[object Arguments]') {\n return hitMaxDepth ? '[Arguments]' : printArguments(val, indent, prevIndent, spacing, edgeSpacing, refs, maxDepth, currentDepth, plugins, min);\n } else if (isToStringedArrayType(toStringed)) {\n return hitMaxDepth ? '[Array]' : printArray(val, indent, prevIndent, spacing, edgeSpacing, refs, maxDepth, currentDepth, plugins, min);\n } else if (toStringed === '[object Map]') {\n return hitMaxDepth ? '[Map]' : printMap(val, indent, prevIndent, spacing, edgeSpacing, refs, maxDepth, currentDepth, plugins, min);\n } else if (toStringed === '[object Set]') {\n return hitMaxDepth ? '[Set]' : printSet(val, indent, prevIndent, spacing, edgeSpacing, refs, maxDepth, currentDepth, plugins, min);\n } else if (typeof val === 'object') {\n return hitMaxDepth ? '[Object]' : printObject(val, indent, prevIndent, spacing, edgeSpacing, refs, maxDepth, currentDepth, plugins, min);\n }\n}\n\nfunction printPlugin(val, indent, prevIndent, spacing, edgeSpacing, refs, maxDepth, currentDepth, plugins, min) {\n let match = false;\n let plugin;\n\n for (let p = 0; p < plugins.length; p++) {\n plugin = plugins[p];\n\n if (plugin.test(val)) {\n match = true;\n break;\n }\n }\n\n if (!match) {\n return false;\n }\n\n function boundPrint(val) {\n return print(val, indent, prevIndent, spacing, edgeSpacing, refs, maxDepth, currentDepth, plugins, min);\n }\n\n function boundIndent(str) {\n const indentation = prevIndent + indent;\n return indentation + str.replace(NEWLINE_REGEXP, '\\n' + indentation);\n }\n\n return plugin.print(val, boundPrint, boundIndent, {\n edgeSpacing: edgeSpacing,\n spacing: spacing\n });\n}\n\nfunction print(val, indent, prevIndent, spacing, edgeSpacing, refs, maxDepth, currentDepth, plugins, min) {\n const basic = printBasicValue(val);\n if (basic) return basic;\n\n const plugin = printPlugin(val, indent, prevIndent, spacing, edgeSpacing, refs, maxDepth, currentDepth, plugins, min);\n if (plugin) return plugin;\n\n return printComplexValue(val, indent, prevIndent, spacing, edgeSpacing, refs, maxDepth, currentDepth, plugins, min);\n}\n\nconst DEFAULTS = {\n indent: 2,\n min: false,\n maxDepth: Infinity,\n plugins: []\n};\n\nfunction validateOptions(opts) {\n Object.keys(opts).forEach(key => {\n if (!DEFAULTS.hasOwnProperty(key)) {\n throw new Error('prettyFormat: Invalid option: ' + key);\n }\n });\n\n if (opts.min && opts.indent !== undefined && opts.indent !== 0) {\n throw new Error('prettyFormat: Cannot run with min option and indent');\n }\n}\n\nfunction normalizeOptions(opts) {\n const result = {};\n\n Object.keys(DEFAULTS).forEach(key =>\n result[key] = opts.hasOwnProperty(key) ? opts[key] : DEFAULTS[key]\n );\n\n if (result.min) {\n result.indent = 0;\n }\n\n return result;\n}\n\nfunction createIndent(indent) {\n return new Array(indent + 1).join(' ');\n}\n\nfunction prettyFormat(val, opts) {\n if (!opts) {\n opts = DEFAULTS;\n } else {\n validateOptions(opts)\n opts = normalizeOptions(opts);\n }\n\n let indent;\n let refs;\n const prevIndent = '';\n const currentDepth = 0;\n const spacing = opts.min ? ' ' : '\\n';\n const edgeSpacing = opts.min ? '' : '\\n';\n\n if (opts && opts.plugins.length) {\n indent = createIndent(opts.indent);\n refs = [];\n var pluginsResult = printPlugin(val, indent, prevIndent, spacing, edgeSpacing, refs, opts.maxDepth, currentDepth, opts.plugins, opts.min);\n if (pluginsResult) return pluginsResult;\n }\n\n var basicResult = printBasicValue(val);\n if (basicResult) return basicResult;\n\n if (!indent) indent = createIndent(opts.indent);\n if (!refs) refs = [];\n return printComplexValue(val, indent, prevIndent, spacing, edgeSpacing, refs, opts.maxDepth, currentDepth, opts.plugins, opts.min);\n}\n\nmodule.exports = prettyFormat;\n","import './polyfills';\nimport renderToString from '.';\nimport { indent, encodeEntities, assign } from './util';\nimport prettyFormat from 'pretty-format';\n\n\n// we have to patch in Array support, Possible issue in npm.im/pretty-format\nlet preactPlugin = {\n\ttest(object) {\n\t\treturn object && typeof object==='object' && 'nodeName' in object && 'attributes' in object && 'children' in object && !('nodeType' in object);\n\t},\n\tprint(val, print, indent) {\n\t\treturn renderToString(val, preactPlugin.context, preactPlugin.opts, true);\n\t}\n};\n\n\nlet prettyFormatOpts = {\n\tplugins: [preactPlugin]\n};\n\n\nfunction attributeHook(name, value, context, opts, isComponent) {\n\tlet type = typeof value;\n\t\n\t// Use render-to-string's built-in handling for these properties\n\tif (name==='dangerouslySetInnerHTML') return false;\n\n\t// always skip null & undefined values, skip false DOM attributes, skip functions if told to\n\tif (value==null || (type==='function' && !opts.functions)) return '';\n\n\tif (opts.skipFalseAttributes && !isComponent && (value===false || ((name==='class' || name==='style') && value===''))) return '';\n\n\tlet indentChar = typeof opts.pretty==='string' ? opts.pretty : '\\t';\n\tif (type!=='string') {\n\t\tif (type==='function' && !opts.functionNames) {\n\t\t\tvalue = 'Function';\n\t\t}\n\t\telse {\n\t\t\tpreactPlugin.context = context;\n\t\t\tpreactPlugin.opts = opts;\n\t\t\tvalue = prettyFormat(value, prettyFormatOpts);\n\t\t\tif (~value.indexOf('\\n')) {\n\t\t\t\tvalue = `${indent('\\n'+value, indentChar)}\\n`;\n\t\t\t}\n\t\t}\n\t\treturn indent(`\\n${name}={${value}}`, indentChar);\n\t}\n\treturn `\\n${indentChar}${name}=\"${encodeEntities(value)}\"`;\n}\n\n\nlet defaultOpts = {\n\tattributeHook,\n\tjsx: true,\n\txml: false,\n\tfunctions: true,\n\tfunctionNames: true,\n\tskipFalseAttributes: true,\n\tpretty: ' '\n};\n\n\nexport default function renderToJsxString(vnode, context, opts, inner) {\n\topts = assign(assign({}, defaultOpts), opts || {});\n\treturn renderToString(vnode, context, opts, inner);\n}\n"],"names":["Symbol","c","s","for","NON_DIMENSION_PROPS","boxFlexGroup","columnCount","fillOpacity","flex","flexGrow","flexShrink","flexNegative","fontWeight","lineClamp","lineHeight","order","orphans","strokeOpacity","widows","zIndex","zoom","ESC","objectKeys","Object","keys","i","obj","hasOwnProperty","push","encodeEntities","String","replace","escapeChar","a","falsey","v","memoize","fn","mem","indent","char","isLargeString","length","ignoreLines","indexOf","styleObjToCss","str","prop","val","jsToCss","undefined","hashToClassName","toLowerCase","assign","props","getNodeProps","vnode","defaultProps","nodeName","attributes","children","SHALLOW","shallow","UNNAMED","EMPTY","VOID_ELEMENTS","renderToString","render","shallowRender","context","opts","inner","isSvgMode","isComponent","pretty","indentChar","renderRootComponent","getComponentName","rendered","prototype","_disable","__x","componentWillMount","state","getChildContext","shallowHighOrder","html","attrs","sortAttributes","sort","name","match","allAttributes","hooked","attributeHook","__html","xml","sub","len","pieces","hasLarge","child","childSvgMode","ret","join","substring","component","displayName","Function","getFallbackComponentName","toString","call","index","ESCAPED_CHARACTERS","exports","printString","commonjsHelpers","toISOString","Date","errorToString","Error","regExpToString","RegExp","symbolToString","SYMBOL_REGEXP","NEWLINE_REGEXP","getSymbols","getOwnPropertySymbols","isToStringedArrayType","toStringed","printNumber","isNegativeZero","printFunction","printSymbol","printError","printBasicValue","typeOf","min","constructor","printList","list","prevIndent","spacing","edgeSpacing","refs","maxDepth","currentDepth","plugins","body","innerIndent","print","printArguments","printArray","printMap","result","iterator","entries","current","next","done","key","value","printObject","symbols","filter","concat","printSet","printComplexValue","slice","hitMaxDepth","toJSON","printPlugin","plugin","p","test","boundPrint","boundIndent","indentation","basic","DEFAULTS","Infinity","validateOptions","forEach","normalizeOptions","createIndent","Array","prettyFormat","pluginsResult","basicResult","preactPlugin","object","prettyFormatOpts","type","functions","skipFalseAttributes","functionNames","defaultOpts","renderToJsxString"],"mappings":"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"}
1
+ {"version":3,"file":"jsx.js","sources":["jsx.js"],"sourcesContent":["if(\"function\"!=typeof Symbol){var t=0;Symbol=function(n){return\"@@\"+n+ ++t},Symbol.for=function(t){return\"@@\"+t}}var n=/acit|ex(?:s|g|n|p|$)|rph|ows|mnc|ntw|ine[ch]|zoo|^ord/i,e=Object.keys||function(t){var n=[];for(var e in t)t.hasOwnProperty(e)&&n.push(e);return n},r=function(t){return String(t).replace(/&/g,\"&amp;\").replace(/</g,\"&lt;\").replace(/>/g,\"&gt;\").replace(/\"/g,\"&quot;\")},o=function(t,n){return String(t).replace(/(\\n+)/g,\"$1\"+(n||\"\\t\"))},i=function(t,n,e){return String(t).length>(n||40)||!e&&-1!==String(t).indexOf(\"\\n\")||-1!==String(t).indexOf(\"<\")},c={};function u(t){var e=\"\";for(var r in t){var o=t[r];null!=o&&(e&&(e+=\" \"),e+=c[r]||(c[r]=r.replace(/([A-Z])/g,\"-$1\").toLowerCase()),e+=\": \",e+=o,\"number\"==typeof o&&!1===n.test(r)&&(e+=\"px\"),e+=\";\")}return e||void 0}function a(t,n){for(var e in n)t[e]=n[e];return t}var l={shallow:!0},f=[],s=/^(area|base|br|col|embed|hr|img|input|link|meta|param|source|track|wbr)$/;p.render=p;function p(t,n,c,l,y){if(null==t||\"boolean\"==typeof t)return\"\";var b=t.nodeName,g=t.attributes,m=!1;n=n||{};var d,h=(c=c||{}).pretty,v=\"string\"==typeof h?h:\"\\t\";if(\"object\"!=typeof t&&!b)return r(t);if(\"function\"==typeof b){if(m=!0,!c.shallow||!l&&!1!==c.renderRootComponent){var j,x=function(t){var n=a({},t.attributes);n.children=t.children;var e=t.nodeName.defaultProps;if(void 0!==e)for(var r in e)void 0===n[r]&&(n[r]=e[r]);return n}(t);if(b.prototype&&\"function\"==typeof b.prototype.render){var S=new b(x,n);S._disable=S.__x=!0,S.props=x,S.context=n,S.componentWillMount&&S.componentWillMount(),j=S.render(S.props,S.state,S.context),S.getChildContext&&(n=a(a({},n),S.getChildContext()))}else j=b(x,n);return p(j,n,c,!1!==c.shallowHighOrder)}b=(d=b).displayName||d!==Function&&d.name||function(t){var n=(Function.prototype.toString.call(t).match(/^\\s*function\\s+([^( ]+)/)||\"\")[1];if(!n){for(var e=-1,r=f.length;r--;)if(f[r]===t){e=r;break}e<0&&(e=f.push(t)-1),n=\"UnnamedComponent\"+e}return n}(d)}var O,A=\"\";if(g){var w=e(g);c&&!0===c.sortAttributes&&w.sort();for(var k=0;k<w.length;k++){var F=w[k],N=g[F];if(\"children\"!==F&&(!F.match(/[\\s\\n\\\\/='\"\\0<>]/)&&(c&&c.allAttributes||\"key\"!==F&&\"ref\"!==F))){if(\"className\"===F){if(g.class)continue;F=\"class\"}else y&&F.match(/^xlink:?./)&&(F=F.toLowerCase().replace(/^xlink:?/,\"xlink:\"));\"style\"===F&&N&&\"object\"==typeof N&&(N=u(N));var C=c.attributeHook&&c.attributeHook(F,N,n,c,m);if(C||\"\"===C)A+=C;else if(\"dangerouslySetInnerHTML\"===F)O=N&&N.__html;else if((N||0===N||\"\"===N)&&\"function\"!=typeof N){if(!(!0!==N&&\"\"!==N||(N=F,c&&c.xml))){A+=\" \"+F;continue}A+=\" \"+F+'=\"'+r(N)+'\"'}}}}var E=A.replace(/^\\n\\s*/,\" \");if(E===A||~E.indexOf(\"\\n\")?h&&~A.indexOf(\"\\n\")&&(A+=\"\\n\"):A=E,A=\"<\"+b+A+\">\",String(b).match(/[\\s\\n\\\\/='\"\\0<>]/))throw A;var M=String(b).match(s);M&&(A=A.replace(/>$/,\" />\"));var I=[];if(O)h&&i(O)&&(O=\"\\n\"+v+o(O,v)),A+=O;else if(t.children){for(var $=~A.indexOf(\"\\n\"),D=0;D<t.children.length;D++){var H=t.children[D];if(null!=H&&!1!==H){var W=p(H,n,c,!0,\"svg\"===b||\"foreignObject\"!==b&&y);!$&&h&&i(W)&&($=!0),W&&I.push(W)}}if(h&&$)for(var P=I.length;P--;)I[P]=\"\\n\"+v+o(I[P],v)}if(I.length)A+=I.join(\"\");else if(c&&c.xml)return A.substring(0,A.length-1)+\" />\";return M||(h&&~A.indexOf(\"\\n\")&&(A+=\"\\n\"),A+=\"</\"+b+\">\"),A}p.shallowRender=function(t,n){return p(t,n,l)};const y=/(\\\\|\\\"|\\')/g;var b=function(t){return t.replace(y,\"\\\\$1\")};const g=Object.prototype.toString,m=Date.prototype.toISOString,d=Error.prototype.toString,h=RegExp.prototype.toString,v=Symbol.prototype.toString,j=/^Symbol\\((.*)\\)(.*)$/,x=/\\n/gi,S=Object.getOwnPropertySymbols||(t=>[]);function O(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 A(t){return\"\"===t.name?\"[Function anonymous]\":\"[Function \"+t.name+\"]\"}function w(t){return v.call(t).replace(j,\"Symbol($1)\")}function k(t){return\"[\"+d.call(t)+\"]\"}function F(t){if(!0===t||!1===t)return\"\"+t;if(void 0===t)return\"undefined\";if(null===t)return\"null\";const 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'\"'+b(t)+'\"';if(\"function\"===n)return A(t);if(\"symbol\"===n)return w(t);const e=g.call(t);return\"[object WeakMap]\"===e?\"WeakMap {}\":\"[object WeakSet]\"===e?\"WeakSet {}\":\"[object Function]\"===e||\"[object GeneratorFunction]\"===e?A(t,min):\"[object Symbol]\"===e?w(t):\"[object Date]\"===e?m.call(t):\"[object Error]\"===e?k(t):\"[object RegExp]\"===e?h.call(t):\"[object Arguments]\"===e&&0===t.length?\"Arguments []\":O(e)&&0===t.length?t.constructor.name+\" []\":t instanceof Error&&k(t)}function N(t,n,e,r,o,i,c,u,a,l){let f=\"\";if(t.length){f+=o;const s=e+n;for(let e=0;e<t.length;e++)f+=s+M(t[e],n,s,r,o,i,c,u,a,l),e<t.length-1&&(f+=\",\"+r);f+=o+e}return\"[\"+f+\"]\"}function C(t,n,e,r,o,i,c,u,a,l){if((i=i.slice()).indexOf(t)>-1)return\"[Circular]\";i.push(t);const f=++u>c;if(!f&&t.toJSON&&\"function\"==typeof t.toJSON)return M(t.toJSON(),n,e,r,o,i,c,u,a,l);const s=g.call(t);return\"[object Arguments]\"===s?f?\"[Arguments]\":function(t,n,e,r,o,i,c,u,a,l){return(l?\"\":\"Arguments \")+N(t,n,e,r,o,i,c,u,a,l)}(t,n,e,r,o,i,c,u,a,l):O(s)?f?\"[Array]\":function(t,n,e,r,o,i,c,u,a,l){return(l?\"\":t.constructor.name+\" \")+N(t,n,e,r,o,i,c,u,a,l)}(t,n,e,r,o,i,c,u,a,l):\"[object Map]\"===s?f?\"[Map]\":function(t,n,e,r,o,i,c,u,a,l){let f=\"Map {\";const s=t.entries();let p=s.next();if(!p.done){f+=o;const t=e+n;for(;!p.done;)f+=t+M(p.value[0],n,t,r,o,i,c,u,a,l)+\" => \"+M(p.value[1],n,t,r,o,i,c,u,a,l),(p=s.next()).done||(f+=\",\"+r);f+=o+e}return f+\"}\"}(t,n,e,r,o,i,c,u,a,l):\"[object Set]\"===s?f?\"[Set]\":function(t,n,e,r,o,i,c,u,a,l){let f=\"Set {\";const s=t.entries();let p=s.next();if(!p.done){f+=o;const t=e+n;for(;!p.done;)f+=t+M(p.value[1],n,t,r,o,i,c,u,a,l),(p=s.next()).done||(f+=\",\"+r);f+=o+e}return f+\"}\"}(t,n,e,r,o,i,c,u,a,l):\"object\"==typeof t?f?\"[Object]\":function(t,n,e,r,o,i,c,u,a,l){let f=(l?\"\":t.constructor?t.constructor.name+\" \":\"Object \")+\"{\",s=Object.keys(t).sort();const p=S(t);if(p.length&&(s=s.filter(t=>!(\"symbol\"==typeof t||\"[object Symbol]\"===g.call(t))).concat(p)),s.length){f+=o;const p=e+n;for(let e=0;e<s.length;e++){const y=s[e];f+=p+M(y,n,p,r,o,i,c,u,a,l)+\": \"+M(t[y],n,p,r,o,i,c,u,a,l),e<s.length-1&&(f+=\",\"+r)}f+=o+e}return f+\"}\"}(t,n,e,r,o,i,c,u,a,l):void 0}function E(t,n,e,r,o,i,c,u,a,l){let f,s=!1;for(let n=0;n<a.length;n++)if((f=a[n]).test(t)){s=!0;break}if(!s)return!1;return f.print(t,function(t){return M(t,n,e,r,o,i,c,u,a,l)},function(t){const r=e+n;return r+t.replace(x,\"\\n\"+r)},{edgeSpacing:o,spacing:r})}function M(t,n,e,r,o,i,c,u,a,l){const f=F(t);if(f)return f;const s=E(t,n,e,r,o,i,c,u,a,l);return s||C(t,n,e,r,o,i,c,u,a,l)}const I={indent:2,min:!1,maxDepth:Infinity,plugins:[]};function $(t){return new Array(t+1).join(\" \")}var D=function(t,n){let e,r;n?(function(t){if(Object.keys(t).forEach(t=>{if(!I.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){const n={};return Object.keys(I).forEach(e=>n[e]=t.hasOwnProperty(e)?t[e]:I[e]),n.min&&(n.indent=0),n}(n)):n=I;const o=n.min?\" \":\"\\n\",i=n.min?\"\":\"\\n\";if(n&&n.plugins.length){var c=E(t,e=$(n.indent),\"\",o,i,r=[],n.maxDepth,0,n.plugins,n.min);if(c)return c}var u=F(t);return u||(e||(e=$(n.indent)),r||(r=[]),C(t,e,\"\",o,i,r,n.maxDepth,0,n.plugins,n.min))},H={test:function(t){return t&&\"object\"==typeof t&&\"nodeName\"in t&&\"attributes\"in t&&\"children\"in t&&!(\"nodeType\"in t)},print:function(t,n,e){return p(t,H.context,H.opts,!0)}},W={plugins:[H]};var P={attributeHook:function(t,n,e,i,c){var u=typeof n;if(\"dangerouslySetInnerHTML\"===t)return!1;if(null==n||\"function\"===u&&!i.functions)return\"\";if(i.skipFalseAttributes&&!c&&(!1===n||(\"class\"===t||\"style\"===t)&&\"\"===n))return\"\";var a=\"string\"==typeof i.pretty?i.pretty:\"\\t\";return\"string\"!==u?(\"function\"!==u||i.functionNames?(H.context=e,H.opts=i,~(n=D(n,W)).indexOf(\"\\n\")&&(n=o(\"\\n\"+n,a)+\"\\n\")):n=\"Function\",o(\"\\n\"+t+\"={\"+n+\"}\",a)):\"\\n\"+a+t+'=\"'+r(n)+'\"'},jsx:!0,xml:!1,functions:!0,functionNames:!0,skipFalseAttributes:!0,pretty:\" \"};module.exports=function(t,n,e,r){return p(t,n,e=a(a({},P),e||{}),r)};\n//# sourceMappingURL=jsx.js.map\n"],"names":["Symbol","t","n","for","e","Object","keys","hasOwnProperty","push","r","String","replace","o","i","length","indexOf","c","u","toLowerCase","test","a","l","shallow","f","s","p","y","b","nodeName","g","attributes","m","d","h","pretty","v","renderRootComponent","j","x","children","defaultProps","prototype","render","S","_disable","__x","props","context","componentWillMount","state","getChildContext","shallowHighOrder","displayName","Function","name","toString","call","match","O","A","w","sortAttributes","sort","k","F","N","allAttributes","class","C","attributeHook","__html","xml","E","M","I","$","D","H","W","P","join","substring","shallowRender","const","Date","toISOString","Error","RegExp","getOwnPropertySymbols","min","constructor","let","slice","toJSON","entries","next","done","value","filter","concat","print","edgeSpacing","spacing","indent","maxDepth","Infinity","plugins","Array","opts","functions","skipFalseAttributes","functionNames","forEach","jsx","module","exports"],"mappings":"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"}
package/dist/jsx.mjs ADDED
@@ -0,0 +1,2 @@
1
+ import t from"pretty-format";if("function"!=typeof Symbol){var n=0;try{Symbol=function(t){return"@@"+t+ ++n},Symbol.for=function(t){return"@@"+t}}catch(t){}}var e=/acit|ex(?:s|g|n|p|$)|rph|ows|mnc|ntw|ine[ch]|zoo|^ord/i,r=function(t){return String(t).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")},o=function(t,n){return String(t).replace(/(\n+)/g,"$1"+(n||"\t"))},i=function(t,n,e){return String(t).length>(n||40)||!e&&-1!==String(t).indexOf("\n")||-1!==String(t).indexOf("<")},a={};function f(t){var n="";for(var r in t){var o=t[r];null!=o&&(n&&(n+=" "),n+=a[r]||(a[r]=r.replace(/([A-Z])/g,"-$1").toLowerCase()),n+=": ",n+=o,"number"==typeof o&&!1===e.test(r)&&(n+="px"),n+=";")}return n||void 0}function l(t,n){for(var e in n)t[e]=n[e];return t}var u={shallow:!0},c=[],s=/^(area|base|br|col|embed|hr|img|input|link|meta|param|source|track|wbr)$/;p.render=p;function p(t,n,e,a,u){if(null==t||"boolean"==typeof t)return"";var d=t.nodeName,g=t.attributes,v=!1;n=n||{};var m,h=(e=e||{}).pretty,y=h&&"string"==typeof h?h:"\t";if("object"!=typeof t&&!d)return r(t);if("function"==typeof d){if(v=!0,!e.shallow||!a&&!1!==e.renderRootComponent){var b,x=function(t){var n=l({},t.attributes);n.children=t.children;var e=t.nodeName.defaultProps;if(void 0!==e)for(var r in e)void 0===n[r]&&(n[r]=e[r]);return n}(t);if(d.prototype&&"function"==typeof d.prototype.render){var k=new d(x,n);k._disable=k.__x=!0,k.props=x,k.context=n,k.componentWillMount&&k.componentWillMount(),b=k.render(k.props,k.state,k.context),k.getChildContext&&(n=l(l({},n),k.getChildContext()))}else b=d(x,n);return p(b,n,e,!1!==e.shallowHighOrder)}d=(m=d).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=c.length;r--;)if(c[r]===t){e=r;break}e<0&&(e=c.push(t)-1),n="UnnamedComponent"+e}return n}(m)}var S,w="";if(g){var O=Object.keys(g);e&&!0===e.sortAttributes&&O.sort();for(var C=0;C<O.length;C++){var j=O[C],N=g[j];if("children"!==j&&(!j.match(/[\s\n\\/='"\0<>]/)&&(e&&e.allAttributes||"key"!==j&&"ref"!==j))){if("className"===j){if(g.class)continue;j="class"}else u&&j.match(/^xlink:?./)&&(j=j.toLowerCase().replace(/^xlink:?/,"xlink:"));"style"===j&&N&&"object"==typeof N&&(N=f(N));var H=e.attributeHook&&e.attributeHook(j,N,n,e,v);if(H||""===H)w+=H;else if("dangerouslySetInnerHTML"===j)S=N&&N.__html;else if((N||0===N||""===N)&&"function"!=typeof N){if(!(!0!==N&&""!==N||(N=j,e&&e.xml))){w+=" "+j;continue}w+=" "+j+'="'+r(N)+'"'}}}}if(h){var A=w.replace(/^\n\s*/," ");A===w||~A.indexOf("\n")?h&&~w.indexOf("\n")&&(w+="\n"):w=A}if(w="<"+d+w+">",String(d).match(/[\s\n\\/='"\0<>]/))throw w;var F=String(d).match(s);F&&(w=w.replace(/>$/," />"));var $=[];if(S)h&&i(S)&&(S="\n"+y+o(S,y)),w+=S;else if(t.children){for(var _=h&&~w.indexOf("\n"),L=0;L<t.children.length;L++){var M=t.children[L];if(null!=M&&!1!==M){var T=p(M,n,e,!0,"svg"===d||"foreignObject"!==d&&u);h&&!_&&i(T)&&(_=!0),T&&$.push(T)}}if(h&&_)for(var I=$.length;I--;)$[I]="\n"+y+o($[I],y)}if($.length)w+=$.join("");else if(e&&e.xml)return w.substring(0,w.length-1)+" />";return F||(h&&~w.indexOf("\n")&&(w+="\n"),w+="</"+d+">"),w}p.shallowRender=function(t,n){return p(t,n,u)};var d={test:function(t){return t&&"object"==typeof t&&"nodeName"in t&&"attributes"in t&&"children"in t&&!("nodeType"in t)},print:function(t,n,e){return p(t,d.context,d.opts,!0)}},g={plugins:[d]};var v={attributeHook:function(n,e,i,a,f){var l=typeof e;if("dangerouslySetInnerHTML"===n)return!1;if(null==e||"function"===l&&!a.functions)return"";if(a.skipFalseAttributes&&!f&&(!1===e||("class"===n||"style"===n)&&""===e))return"";var u="string"==typeof a.pretty?a.pretty:"\t";return"string"!==l?("function"!==l||a.functionNames?(d.context=i,d.opts=a,~(e=t(e,g)).indexOf("\n")&&(e=o("\n"+e,u)+"\n")):e="Function",o("\n"+n+"={"+e+"}",u)):"\n"+u+n+'="'+r(e)+'"'},jsx:!0,xml:!1,functions:!0,functionNames:!0,skipFalseAttributes:!0,pretty:" "};function m(t,n,e,r){return p(t,n,e=l(l({},v),e||{}),r)}export default m;export{m as render};
2
+ //# sourceMappingURL=jsx.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jsx.mjs","sources":["../src/polyfills.js","../src/util.js","../src/index.js","../src/jsx.js"],"sourcesContent":["if (typeof Symbol!=='function') {\n\tlet c = 0;\n\ttry {\n\t\tSymbol = function(s) {\t\t// eslint-disable-line\n\t\t\treturn `@@${s}${++c}`;\n\t\t};\n\t\tSymbol.for = s => `@@${s}`;\n\t}\n\tcatch (e) {}\n}\n","// DOM properties that should NOT have \"px\" added when numeric\nexport const IS_NON_DIMENSIONAL = /acit|ex(?:s|g|n|p|$)|rph|ows|mnc|ntw|ine[ch]|zoo|^ord/i;\n\nexport let encodeEntities = s => String(s)\n\t.replace(/&/g, '&amp;')\n\t.replace(/</g, '&lt;')\n\t.replace(/>/g, '&gt;')\n\t.replace(/\"/g, '&quot;');\n\nexport let indent = (s, char) => String(s).replace(/(\\n+)/g, '$1' + (char || '\\t'));\n\nexport let isLargeString = (s, length, ignoreLines) => (String(s).length>(length || 40) || (!ignoreLines && String(s).indexOf('\\n')!==-1) || String(s).indexOf('<')!==-1);\n\nconst JS_TO_CSS = {};\n\n// Convert an Object style to a CSSText string\nexport function styleObjToCss(s) {\n\tlet str = '';\n\tfor (let prop in s) {\n\t\tlet val = s[prop];\n\t\tif (val!=null) {\n\t\t\tif (str) str += ' ';\n\t\t\t// str += jsToCss(prop);\n\t\t\tstr += JS_TO_CSS[prop] || (JS_TO_CSS[prop] = prop.replace(/([A-Z])/g,'-$1').toLowerCase());\n\t\t\tstr += ': ';\n\t\t\tstr += val;\n\t\t\tif (typeof val==='number' && IS_NON_DIMENSIONAL.test(prop)===false) {\n\t\t\t\tstr += 'px';\n\t\t\t}\n\t\t\tstr += ';';\n\t\t}\n\t}\n\treturn str || undefined;\n}\n\n/**\n * Copy all properties from `props` onto `obj`.\n * @param {object} obj Object onto which properties should be copied.\n * @param {object} props Object from which to copy properties.\n * @returns {object}\n * @private\n */\nexport function assign(obj, props) {\n\tfor (let i in props) obj[i] = props[i];\n\treturn obj;\n}\n\n/**\n * Reconstruct Component-style `props` from a VNode.\n * Ensures default/fallback values from `defaultProps`:\n * Own-properties of `defaultProps` not present in `vnode.attributes` are added.\n * @param {import('preact').VNode} vnode The VNode to get props for\n * @returns {object} The props to use for this VNode\n */\nexport function getNodeProps(vnode) {\n\tlet props = assign({}, vnode.attributes);\n\tprops.children = vnode.children;\n\n\tlet defaultProps = vnode.nodeName.defaultProps;\n\tif (defaultProps!==undefined) {\n\t\tfor (let i in defaultProps) {\n\t\t\tif (props[i]===undefined) {\n\t\t\t\tprops[i] = defaultProps[i];\n\t\t\t}\n\t\t}\n\t}\n\n\treturn props;\n}\n","import { encodeEntities, indent, isLargeString, styleObjToCss, assign, getNodeProps } from './util';\nimport { ENABLE_PRETTY } from '../env';\n\nconst SHALLOW = { shallow: true };\n\n// components without names, kept as a hash for later comparison to return consistent UnnamedComponentXX names.\nconst UNNAMED = [];\n\nconst VOID_ELEMENTS = /^(area|base|br|col|embed|hr|img|input|link|meta|param|source|track|wbr)$/;\n\n\n/** Render Preact JSX + Components to an HTML string.\n *\t@name render\n *\t@function\n *\t@param {VNode} vnode\tJSX VNode to render.\n *\t@param {Object} [context={}]\tOptionally pass an initial context object through the render path.\n *\t@param {Object} [options={}]\tRendering options\n *\t@param {Boolean} [options.shallow=false]\tIf `true`, renders nested Components as HTML elements (`<Foo a=\"b\" />`).\n *\t@param {Boolean} [options.xml=false]\t\tIf `true`, uses self-closing tags for elements without children.\n *\t@param {Boolean} [options.pretty=false]\t\tIf `true`, adds whitespace for readability\n */\nrenderToString.render = renderToString;\n\n\n/** Only render elements, leaving Components inline as `<ComponentName ... />`.\n *\tThis method is just a convenience alias for `render(vnode, context, { shallow:true })`\n *\t@name shallow\n *\t@function\n *\t@param {VNode} vnode\tJSX VNode to render.\n *\t@param {Object} [context={}]\tOptionally pass an initial context object through the render path.\n */\nlet shallowRender = (vnode, context) => renderToString(vnode, context, SHALLOW);\n\n\n/** The default export is an alias of `render()`. */\nfunction renderToString(vnode, context, opts, inner, isSvgMode) {\n\tif (vnode==null || typeof vnode==='boolean') {\n\t\treturn '';\n\t}\n\n\tlet nodeName = vnode.nodeName,\n\t\tattributes = vnode.attributes,\n\t\tisComponent = false;\n\tcontext = context || {};\n\topts = opts || {};\n\n\tlet pretty = ENABLE_PRETTY && opts.pretty,\n\t\tindentChar = pretty && typeof pretty==='string' ? pretty : '\\t';\n\n\t// #text nodes\n\tif (typeof vnode!=='object' && !nodeName) {\n\t\treturn encodeEntities(vnode);\n\t}\n\n\t// components\n\tif (typeof nodeName==='function') {\n\t\tisComponent = true;\n\t\tif (opts.shallow && (inner || opts.renderRootComponent===false)) {\n\t\t\tnodeName = getComponentName(nodeName);\n\t\t}\n\t\telse {\n\t\t\tlet props = getNodeProps(vnode),\n\t\t\t\trendered;\n\n\t\t\tif (!nodeName.prototype || typeof nodeName.prototype.render!=='function') {\n\t\t\t\t// stateless functional components\n\t\t\t\trendered = nodeName(props, context);\n\t\t\t}\n\t\t\telse {\n\t\t\t\t// class-based components\n\t\t\t\tlet c = new nodeName(props, context);\n\t\t\t\t// turn off stateful re-rendering:\n\t\t\t\tc._disable = c.__x = true;\n\t\t\t\tc.props = props;\n\t\t\t\tc.context = context;\n\t\t\t\tif (c.componentWillMount) c.componentWillMount();\n\t\t\t\trendered = c.render(c.props, c.state, c.context);\n\n\t\t\t\tif (c.getChildContext) {\n\t\t\t\t\tcontext = assign(assign({}, context), c.getChildContext());\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn renderToString(rendered, context, opts, opts.shallowHighOrder!==false);\n\t\t}\n\t}\n\n\t// render JSX to HTML\n\tlet s = '', html;\n\n\tif (attributes) {\n\t\tlet attrs = Object.keys(attributes);\n\n\t\t// allow sorting lexicographically for more determinism (useful for tests, such as via preact-jsx-chai)\n\t\tif (opts && opts.sortAttributes===true) attrs.sort();\n\n\t\tfor (let i=0; i<attrs.length; i++) {\n\t\t\tlet name = attrs[i],\n\t\t\t\tv = attributes[name];\n\t\t\tif (name==='children') continue;\n\n\t\t\tif (name.match(/[\\s\\n\\\\/='\"\\0<>]/)) continue;\n\n\t\t\tif (!(opts && opts.allAttributes) && (name==='key' || name==='ref')) continue;\n\n\t\t\tif (name==='className') {\n\t\t\t\tif (attributes.class) continue;\n\t\t\t\tname = 'class';\n\t\t\t}\n\t\t\telse if (isSvgMode && name.match(/^xlink:?./)) {\n\t\t\t\tname = name.toLowerCase().replace(/^xlink:?/, 'xlink:');\n\t\t\t}\n\n\t\t\tif (name==='style' && v && typeof v==='object') {\n\t\t\t\tv = styleObjToCss(v);\n\t\t\t}\n\n\t\t\tlet hooked = opts.attributeHook && opts.attributeHook(name, v, context, opts, isComponent);\n\t\t\tif (hooked || hooked==='') {\n\t\t\t\ts += hooked;\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tif (name==='dangerouslySetInnerHTML') {\n\t\t\t\thtml = v && v.__html;\n\t\t\t}\n\t\t\telse if ((v || v===0 || v==='') && typeof v!=='function') {\n\t\t\t\tif (v===true || v==='') {\n\t\t\t\t\tv = name;\n\t\t\t\t\t// in non-xml mode, allow boolean attributes\n\t\t\t\t\tif (!opts || !opts.xml) {\n\t\t\t\t\t\ts += ' ' + name;\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\ts += ` ${name}=\"${encodeEntities(v)}\"`;\n\t\t\t}\n\t\t}\n\t}\n\n\t// account for >1 multiline attribute\n\tif (pretty) {\n\t\tlet sub = s.replace(/^\\n\\s*/, ' ');\n\t\tif (sub!==s && !~sub.indexOf('\\n')) s = sub;\n\t\telse if (pretty && ~s.indexOf('\\n')) s += '\\n';\n\t}\n\n\ts = `<${nodeName}${s}>`;\n\tif (String(nodeName).match(/[\\s\\n\\\\/='\"\\0<>]/)) throw s;\n\n\tlet isVoid = String(nodeName).match(VOID_ELEMENTS);\n\tif (isVoid) s = s.replace(/>$/, ' />');\n\n\tlet pieces = [];\n\tif (html) {\n\t\t// if multiline, indent.\n\t\tif (pretty && isLargeString(html)) {\n\t\t\thtml = '\\n' + indentChar + indent(html, indentChar);\n\t\t}\n\t\ts += html;\n\t}\n\telse if (vnode.children) {\n\t\tlet hasLarge = pretty && ~s.indexOf('\\n');\n\t\tfor (let i=0; i<vnode.children.length; i++) {\n\t\t\tlet child = vnode.children[i];\n\t\t\tif (child!=null && child!==false) {\n\t\t\t\tlet childSvgMode = nodeName==='svg' ? true : nodeName==='foreignObject' ? false : isSvgMode,\n\t\t\t\t\tret = renderToString(child, context, opts, true, childSvgMode);\n\t\t\t\tif (pretty && !hasLarge && isLargeString(ret)) hasLarge = true;\n\t\t\t\tif (ret) pieces.push(ret);\n\t\t\t}\n\t\t}\n\t\tif (pretty && hasLarge) {\n\t\t\tfor (let i=pieces.length; i--; ) {\n\t\t\t\tpieces[i] = '\\n' + indentChar + indent(pieces[i], indentChar);\n\t\t\t}\n\t\t}\n\t}\n\n\tif (pieces.length) {\n\t\ts += pieces.join('');\n\t}\n\telse if (opts && opts.xml) {\n\t\treturn s.substring(0, s.length-1) + ' />';\n\t}\n\n\tif (!isVoid) {\n\t\tif (pretty && ~s.indexOf('\\n')) s += '\\n';\n\t\ts += `</${nodeName}>`;\n\t}\n\n\treturn s;\n}\n\nfunction getComponentName(component) {\n\treturn component.displayName || component!==Function && component.name || getFallbackComponentName(component);\n}\n\nfunction getFallbackComponentName(component) {\n\tlet str = Function.prototype.toString.call(component),\n\t\tname = (str.match(/^\\s*function\\s+([^( ]+)/) || '')[1];\n\tif (!name) {\n\t\t// search for an existing indexed name for the given component:\n\t\tlet index = -1;\n\t\tfor (let i=UNNAMED.length; i--; ) {\n\t\t\tif (UNNAMED[i]===component) {\n\t\t\t\tindex = i;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\t// not found, create a new indexed name:\n\t\tif (index<0) {\n\t\t\tindex = UNNAMED.push(component) - 1;\n\t\t}\n\t\tname = `UnnamedComponent${index}`;\n\t}\n\treturn name;\n}\nrenderToString.shallowRender = shallowRender;\n\nexport default renderToString;\n\nexport {\n\trenderToString as render,\n\trenderToString,\n\tshallowRender\n};\n","import './polyfills';\nimport renderToString from './index';\nimport { indent, encodeEntities, assign } from './util';\nimport prettyFormat from 'pretty-format';\n\n\n// we have to patch in Array support, Possible issue in npm.im/pretty-format\nlet preactPlugin = {\n\ttest(object) {\n\t\treturn object && typeof object==='object' && 'nodeName' in object && 'attributes' in object && 'children' in object && !('nodeType' in object);\n\t},\n\tprint(val, print, indent) {\n\t\treturn renderToString(val, preactPlugin.context, preactPlugin.opts, true);\n\t}\n};\n\n\nlet prettyFormatOpts = {\n\tplugins: [preactPlugin]\n};\n\n\nfunction attributeHook(name, value, context, opts, isComponent) {\n\tlet type = typeof value;\n\t\n\t// Use render-to-string's built-in handling for these properties\n\tif (name==='dangerouslySetInnerHTML') return false;\n\n\t// always skip null & undefined values, skip false DOM attributes, skip functions if told to\n\tif (value==null || (type==='function' && !opts.functions)) return '';\n\n\tif (opts.skipFalseAttributes && !isComponent && (value===false || ((name==='class' || name==='style') && value===''))) return '';\n\n\tlet indentChar = typeof opts.pretty==='string' ? opts.pretty : '\\t';\n\tif (type!=='string') {\n\t\tif (type==='function' && !opts.functionNames) {\n\t\t\tvalue = 'Function';\n\t\t}\n\t\telse {\n\t\t\tpreactPlugin.context = context;\n\t\t\tpreactPlugin.opts = opts;\n\t\t\tvalue = prettyFormat(value, prettyFormatOpts);\n\t\t\tif (~value.indexOf('\\n')) {\n\t\t\t\tvalue = `${indent('\\n'+value, indentChar)}\\n`;\n\t\t\t}\n\t\t}\n\t\treturn indent(`\\n${name}={${value}}`, indentChar);\n\t}\n\treturn `\\n${indentChar}${name}=\"${encodeEntities(value)}\"`;\n}\n\n\nlet defaultOpts = {\n\tattributeHook,\n\tjsx: true,\n\txml: false,\n\tfunctions: true,\n\tfunctionNames: true,\n\tskipFalseAttributes: true,\n\tpretty: ' '\n};\n\n\nfunction renderToJsxString(vnode, context, opts, inner) {\n\topts = assign(assign({}, defaultOpts), opts || {});\n\treturn renderToString(vnode, context, opts, inner);\n}\n\nexport default renderToJsxString;\nexport { renderToJsxString as render };\n"],"names":["Symbol","let","c","s","for","e","const","IS_NON_DIMENSIONAL","encodeEntities","String","replace","indent","char","isLargeString","length","ignoreLines","indexOf","JS_TO_CSS","styleObjToCss","str","prop","val","toLowerCase","test","undefined","assign","obj","props","i","SHALLOW","shallow","UNNAMED","VOID_ELEMENTS","renderToString","render","vnode","context","opts","inner","isSvgMode","nodeName","attributes","isComponent","component","pretty","indentChar","renderRootComponent","rendered","children","defaultProps","getNodeProps","prototype","_disable","__x","componentWillMount","state","getChildContext","shallowHighOrder","displayName","Function","name","toString","call","match","index","push","getFallbackComponentName","html","attrs","Object","keys","sortAttributes","sort","v","allAttributes","class","hooked","attributeHook","__html","xml","sub","isVoid","pieces","hasLarge","child","ret","join","substring","shallowRender","preactPlugin","object","print","prettyFormatOpts","plugins","defaultOpts","value","type","functions","skipFalseAttributes","functionNames","prettyFormat","jsx","renderToJsxString"],"mappings":"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"}
package/package.json CHANGED
@@ -1,15 +1,17 @@
1
1
  {
2
2
  "name": "preact-render-to-string",
3
3
  "amdName": "preactRenderToString",
4
- "version": "3.7.1",
4
+ "version": "3.8.2",
5
5
  "description": "Render JSX to an HTML string, with support for Preact components.",
6
6
  "main": "dist/index.js",
7
- "jsnext:main": "src/index.js",
7
+ "umd:main": "dist/index.js",
8
+ "module": "dist/index.mjs",
9
+ "jsnext:main": "dist/index.mjs",
8
10
  "scripts": {
9
11
  "build": "npm run -s transpile && npm run -s transpile:jsx && npm run -s copy-typescript-definition",
12
+ "transpile": "microbundle src/index.js -f es,umd --target web --external none",
13
+ "transpile:jsx": "microbundle src/jsx.js -o dist/jsx.js --target web --external none && microbundle dist/jsx.js -o dist/jsx.js -f cjs",
10
14
  "copy-typescript-definition": "copyfiles -f src/index.d.ts dist",
11
- "transpile": "rollup -c rollup.config.js -m ${npm_package_main}.map -f umd -n $npm_package_amdName $npm_package_jsnext_main -o $npm_package_main",
12
- "transpile:jsx": "ENTRY=jsx rollup -c rollup.config.js -m dist/jsx.js.map -f umd -n $npm_package_amdName src/jsx.js -o dist/jsx.js",
13
15
  "test": "eslint src test && mocha --compilers js:babel-register test/**/*.js",
14
16
  "prepublish": "npm run build",
15
17
  "release": "npm run build && git commit -am $npm_package_version && git tag $npm_package_version && git push && git push --tags && npm publish"
@@ -20,39 +22,57 @@
20
22
  "universal",
21
23
  "isomorphic"
22
24
  ],
25
+ "files": [
26
+ "src",
27
+ "dist",
28
+ "jsx.js",
29
+ "typings.json"
30
+ ],
31
+ "eslintConfig": {
32
+ "extends": "developit",
33
+ "rules": {
34
+ "react/prefer-stateless-function": 0,
35
+ "react/jsx-no-bind": 0,
36
+ "react/no-danger": 0,
37
+ "jest/valid-expect": 0,
38
+ "new-cap": 0
39
+ }
40
+ },
41
+ "babel": {
42
+ "presets": [
43
+ "env"
44
+ ],
45
+ "plugins": [
46
+ [
47
+ "transform-react-jsx",
48
+ {
49
+ "pragma": "h"
50
+ }
51
+ ],
52
+ "transform-object-rest-spread"
53
+ ]
54
+ },
23
55
  "author": "Jason Miller <jason@developit.ca>",
24
56
  "license": "MIT",
25
57
  "typings": "src/index.d.ts",
26
- "repository": {
27
- "type": "git",
28
- "url": "https://github.com/developit/preact-render-to-string.git"
29
- },
30
- "bugs": {
31
- "url": "https://github.com/developit/preact-render-to-string/issues"
32
- },
58
+ "repository": "developit/preact-render-to-string",
59
+ "bugs": "https://github.com/developit/preact-render-to-string/issues",
33
60
  "homepage": "https://github.com/developit/preact-render-to-string",
34
61
  "peerDependencies": {
35
62
  "preact": "*"
36
63
  },
37
64
  "devDependencies": {
38
- "babel-cli": "^6.11.4",
39
- "babel-core": "^6.11.4",
40
- "babel-eslint": "^6.1.2",
41
- "babel-plugin-transform-class-properties": "^6.10.2",
42
- "babel-plugin-transform-react-jsx": "^6.8.0",
43
- "babel-preset-es2015": "^6.9.0",
44
- "babel-preset-stage-0": "^6.5.0",
45
- "babel-register": "^6.9.0",
65
+ "babel-plugin-transform-object-rest-spread": "^6.26.0",
66
+ "babel-plugin-transform-react-jsx": "^6.24.1",
67
+ "babel-preset-env": "^1.7.0",
68
+ "babel-register": "^6.26.0",
46
69
  "chai": "^3.5.0",
47
70
  "copyfiles": "^1.2.0",
48
- "eslint": "^3.2.2",
49
- "mocha": "^3.0.0",
71
+ "eslint": "^4.19.1",
72
+ "eslint-config-developit": "^1.1.1",
73
+ "microbundle": "^0.6.0",
74
+ "mocha": "^5.2.0",
50
75
  "preact": "^8.1.0",
51
- "rollup": "^0.34.3",
52
- "rollup-plugin-babel": "^2.6.1",
53
- "rollup-plugin-commonjs": "^3.3.1",
54
- "rollup-plugin-memory": "^1.0.0",
55
- "rollup-plugin-node-resolve": "^2.0.0",
56
76
  "sinon": "^1.17.5",
57
77
  "sinon-chai": "^2.8.0"
58
78
  },
package/src/index.js CHANGED
@@ -1,28 +1,11 @@
1
- import { objectKeys, encodeEntities, falsey, memoize, indent, isLargeString, styleObjToCss, hashToClassName, assign, getNodeProps } from './util';
1
+ import { objectKeys, encodeEntities, indent, isLargeString, styleObjToCss, assign, getNodeProps } from './util';
2
2
 
3
3
  const SHALLOW = { shallow: true };
4
4
 
5
5
  // components without names, kept as a hash for later comparison to return consistent UnnamedComponentXX names.
6
6
  const UNNAMED = [];
7
7
 
8
- const EMPTY = {};
9
-
10
- const VOID_ELEMENTS = [
11
- 'area',
12
- 'base',
13
- 'br',
14
- 'col',
15
- 'embed',
16
- 'hr',
17
- 'img',
18
- 'input',
19
- 'link',
20
- 'meta',
21
- 'param',
22
- 'source',
23
- 'track',
24
- 'wbr'
25
- ];
8
+ const VOID_ELEMENTS = /^(area|base|br|col|embed|hr|img|input|link|meta|param|source|track|wbr)$/;
26
9
 
27
10
 
28
11
  /** Render Preact JSX + Components to an HTML string.
@@ -49,8 +32,13 @@ let shallowRender = (vnode, context) => renderToString(vnode, context, SHALLOW);
49
32
 
50
33
 
51
34
  /** The default export is an alias of `render()`. */
52
- export default function renderToString(vnode, context, opts, inner, isSvgMode) {
53
- let { nodeName, attributes, children } = vnode || EMPTY,
35
+ function renderToString(vnode, context, opts, inner, isSvgMode) {
36
+ if (vnode==null || typeof vnode==='boolean') {
37
+ return '';
38
+ }
39
+
40
+ let nodeName = vnode.nodeName,
41
+ attributes = vnode.attributes,
54
42
  isComponent = false;
55
43
  context = context || {};
56
44
  opts = opts || {};
@@ -58,10 +46,6 @@ export default function renderToString(vnode, context, opts, inner, isSvgMode) {
58
46
  let pretty = opts.pretty,
59
47
  indentChar = typeof pretty==='string' ? pretty : '\t';
60
48
 
61
- if (vnode==null || typeof vnode==='boolean') {
62
- return '';
63
- }
64
-
65
49
  // #text nodes
66
50
  if (typeof vnode!=='object' && !nodeName) {
67
51
  return encodeEntities(vnode);
@@ -114,22 +98,19 @@ export default function renderToString(vnode, context, opts, inner, isSvgMode) {
114
98
  v = attributes[name];
115
99
  if (name==='children') continue;
116
100
 
117
- if (name.match(/[\s\n\/='"\0<>]/)) continue;
101
+ if (name.match(/[\s\n\\/='"\0<>]/)) continue;
118
102
 
119
103
  if (!(opts && opts.allAttributes) && (name==='key' || name==='ref')) continue;
120
104
 
121
105
  if (name==='className') {
122
- if (attributes['class']) continue;
106
+ if (attributes.class) continue;
123
107
  name = 'class';
124
108
  }
125
- else if (isSvgMode && name.match(/^xlink\:?(.+)/)) {
126
- name = name.toLowerCase().replace(/^xlink\:?(.+)/, 'xlink:$1');
109
+ else if (isSvgMode && name.match(/^xlink:?./)) {
110
+ name = name.toLowerCase().replace(/^xlink:?/, 'xlink:');
127
111
  }
128
112
 
129
- if (name==='class' && v && typeof v==='object') {
130
- v = hashToClassName(v);
131
- }
132
- else if (name==='style' && v && typeof v==='object') {
113
+ if (name==='style' && v && typeof v==='object') {
133
114
  v = styleObjToCss(v);
134
115
  }
135
116
 
@@ -162,11 +143,12 @@ export default function renderToString(vnode, context, opts, inner, isSvgMode) {
162
143
  else if (pretty && ~s.indexOf('\n')) s += '\n';
163
144
 
164
145
  s = `<${nodeName}${s}>`;
146
+ if (String(nodeName).match(/[\s\n\\/='"\0<>]/)) throw s;
165
147
 
166
- if (VOID_ELEMENTS.indexOf(nodeName)>-1) {
167
- s = s.replace(/>$/, ' />');
168
- }
148
+ let isVoid = String(nodeName).match(VOID_ELEMENTS);
149
+ if (isVoid) s = s.replace(/>$/, ' />');
169
150
 
151
+ let pieces = [];
170
152
  if (html) {
171
153
  // if multiline, indent.
172
154
  if (pretty && isLargeString(html)) {
@@ -174,13 +156,11 @@ export default function renderToString(vnode, context, opts, inner, isSvgMode) {
174
156
  }
175
157
  s += html;
176
158
  }
177
- else {
178
- let len = children && children.length,
179
- pieces = [],
180
- hasLarge = ~s.indexOf('\n');
181
- for (let i=0; i<len; i++) {
182
- let child = children[i];
183
- if (!falsey(child)) {
159
+ else if (vnode.children) {
160
+ let hasLarge = ~s.indexOf('\n');
161
+ for (let i=0; i<vnode.children.length; i++) {
162
+ let child = vnode.children[i];
163
+ if (child!=null && child!==false) {
184
164
  let childSvgMode = nodeName==='svg' ? true : nodeName==='foreignObject' ? false : isSvgMode,
185
165
  ret = renderToString(child, context, opts, true, childSvgMode);
186
166
  if (!hasLarge && pretty && isLargeString(ret)) hasLarge = true;
@@ -192,15 +172,16 @@ export default function renderToString(vnode, context, opts, inner, isSvgMode) {
192
172
  pieces[i] = '\n' + indentChar + indent(pieces[i], indentChar);
193
173
  }
194
174
  }
195
- if (pieces.length) {
196
- s += pieces.join('');
197
- }
198
- else if (opts && opts.xml) {
199
- return s.substring(0, s.length-1) + ' />';
200
- }
201
175
  }
202
176
 
203
- if (VOID_ELEMENTS.indexOf(nodeName)===-1) {
177
+ if (pieces.length) {
178
+ s += pieces.join('');
179
+ }
180
+ else if (opts && opts.xml) {
181
+ return s.substring(0, s.length-1) + ' />';
182
+ }
183
+
184
+ if (!isVoid) {
204
185
  if (pretty && ~s.indexOf('\n')) s += '\n';
205
186
  s += `</${nodeName}>`;
206
187
  }
@@ -214,7 +195,7 @@ function getComponentName(component) {
214
195
 
215
196
  function getFallbackComponentName(component) {
216
197
  let str = Function.prototype.toString.call(component),
217
- name = (str.match(/^\s*function\s+([^\( ]+)/) || EMPTY)[1];
198
+ name = (str.match(/^\s*function\s+([^( ]+)/) || '')[1];
218
199
  if (!name) {
219
200
  // search for an existing indexed name for the given component:
220
201
  let index = -1;
@@ -234,6 +215,7 @@ function getFallbackComponentName(component) {
234
215
  }
235
216
  renderToString.shallowRender = shallowRender;
236
217
 
218
+ export default renderToString;
237
219
 
238
220
  export {
239
221
  renderToString as render,
package/src/jsx.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import './polyfills';
2
- import renderToString from '.';
2
+ import renderToString from './index';
3
3
  import { indent, encodeEntities, assign } from './util';
4
4
  import prettyFormat from 'pretty-format';
5
5
 
package/src/util.js CHANGED
@@ -1,16 +1,5 @@
1
1
  // DOM properties that should NOT have "px" added when numeric
2
- export const NON_DIMENSION_PROPS = {
3
- boxFlex:1, boxFlexGroup:1, columnCount:1, fillOpacity:1, flex:1, flexGrow:1,
4
- flexPositive:1, flexShrink:1, flexNegative:1, fontWeight:1, lineClamp:1, lineHeight:1,
5
- opacity:1, order:1, orphans:1, strokeOpacity:1, widows:1, zIndex:1, zoom:1
6
- };
7
-
8
- const ESC = {
9
- '<': '&lt;',
10
- '>': '&gt;',
11
- '"': '&quot;',
12
- '&': '&amp;'
13
- };
2
+ export const IS_NON_DIMENSIONAL = /acit|ex(?:s|g|n|p|$)|rph|ows|mnc|ntw|ine[ch]|zoo|^ord/i;
14
3
 
15
4
  export const objectKeys = Object.keys || (obj => {
16
5
  let keys = [];
@@ -18,18 +7,18 @@ export const objectKeys = Object.keys || (obj => {
18
7
  return keys;
19
8
  });
20
9
 
21
- export let encodeEntities = s => String(s).replace(/[<>"&]/g, escapeChar);
22
-
23
- let escapeChar = a => ESC[a] || a;
24
-
25
- export let falsey = v => v==null || v===false;
26
-
27
- export let memoize = (fn, mem={}) => v => mem[v] || (mem[v] = fn(v));
10
+ export let encodeEntities = s => String(s)
11
+ .replace(/&/g, '&amp;')
12
+ .replace(/</g, '&lt;')
13
+ .replace(/>/g, '&gt;')
14
+ .replace(/"/g, '&quot;');
28
15
 
29
16
  export let indent = (s, char) => String(s).replace(/(\n+)/g, '$1' + (char || '\t'));
30
17
 
31
18
  export let isLargeString = (s, length, ignoreLines) => (String(s).length>(length || 40) || (!ignoreLines && String(s).indexOf('\n')!==-1) || String(s).indexOf('<')!==-1);
32
19
 
20
+ const JS_TO_CSS = {};
21
+
33
22
  // Convert an Object style to a CSSText string
34
23
  export function styleObjToCss(s) {
35
24
  let str = '';
@@ -37,10 +26,11 @@ export function styleObjToCss(s) {
37
26
  let val = s[prop];
38
27
  if (val!=null) {
39
28
  if (str) str += ' ';
40
- str += jsToCss(prop);
29
+ // str += jsToCss(prop);
30
+ str += JS_TO_CSS[prop] || (JS_TO_CSS[prop] = prop.replace(/([A-Z])/g,'-$1').toLowerCase());
41
31
  str += ': ';
42
32
  str += val;
43
- if (typeof val==='number' && !NON_DIMENSION_PROPS[prop]) {
33
+ if (typeof val==='number' && IS_NON_DIMENSIONAL.test(prop)===false) {
44
34
  str += 'px';
45
35
  }
46
36
  str += ';';
@@ -49,31 +39,37 @@ export function styleObjToCss(s) {
49
39
  return str || undefined;
50
40
  }
51
41
 
52
-
53
- // See https://github.com/developit/preact/blob/master/src/util.js#L61
54
- export function hashToClassName(c) {
55
- let str = '';
56
- for (let prop in c) {
57
- if (c[prop]) {
58
- if (str) str += ' ';
59
- str += prop;
60
- }
61
- }
62
- return str;
63
- }
64
-
65
- // Convert a JavaScript camel-case CSS property name to a CSS property name
66
- export let jsToCss = memoize( s => s.replace(/([A-Z])/g,'-$1').toLowerCase() );
67
-
42
+ /**
43
+ * Copy all properties from `props` onto `obj`.
44
+ * @param {object} obj Object onto which properties should be copied.
45
+ * @param {object} props Object from which to copy properties.
46
+ * @returns {object}
47
+ * @private
48
+ */
68
49
  export function assign(obj, props) {
69
50
  for (let i in props) obj[i] = props[i];
70
51
  return obj;
71
52
  }
72
53
 
54
+ /**
55
+ * Reconstruct Component-style `props` from a VNode.
56
+ * Ensures default/fallback values from `defaultProps`:
57
+ * Own-properties of `defaultProps` not present in `vnode.attributes` are added.
58
+ * @param {import('preact').VNode} vnode The VNode to get props for
59
+ * @returns {object} The props to use for this VNode
60
+ */
73
61
  export function getNodeProps(vnode) {
74
- let defaultProps = vnode.nodeName.defaultProps,
75
- props = assign({}, defaultProps || vnode.attributes);
76
- if (defaultProps) assign(props, vnode.attributes);
77
- if (vnode.children) props.children = vnode.children;
62
+ let props = assign({}, vnode.attributes);
63
+ props.children = vnode.children;
64
+
65
+ let defaultProps = vnode.nodeName.defaultProps;
66
+ if (defaultProps!==undefined) {
67
+ for (let i in defaultProps) {
68
+ if (props[i]===undefined) {
69
+ props[i] = defaultProps[i];
70
+ }
71
+ }
72
+ }
73
+
78
74
  return props;
79
75
  }
package/.babelrc DELETED
@@ -1,10 +0,0 @@
1
- {
2
- "presets": [
3
- ["es2015", { "loose": true }],
4
- "stage-0"
5
- ],
6
- "plugins": [
7
- "transform-class-properties",
8
- ["transform-react-jsx", {"pragma":"h"}]
9
- ]
10
- }