isomorfeus-preact 10.7.1 → 10.7.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (51) hide show
  1. checksums.yaml +4 -4
  2. data/lib/lucid_prop_declaration/mixin.rb +3 -3
  3. data/lib/preact/version.rb +1 -1
  4. data/node_modules/.package-lock.json +6 -6
  5. data/node_modules/preact/README.md +39 -38
  6. data/node_modules/preact/compat/dist/compat.js +1 -1
  7. data/node_modules/preact/compat/dist/compat.js.map +1 -1
  8. data/node_modules/preact/compat/dist/compat.mjs +1 -1
  9. data/node_modules/preact/compat/dist/compat.module.js +1 -1
  10. data/node_modules/preact/compat/dist/compat.module.js.map +1 -1
  11. data/node_modules/preact/compat/dist/compat.umd.js +1 -1
  12. data/node_modules/preact/compat/dist/compat.umd.js.map +1 -1
  13. data/node_modules/preact/compat/src/index.d.ts +15 -1
  14. data/node_modules/preact/compat/src/portals.js +3 -1
  15. data/node_modules/preact/devtools/dist/devtools.js +1 -1
  16. data/node_modules/preact/devtools/dist/devtools.js.map +1 -1
  17. data/node_modules/preact/devtools/dist/devtools.mjs +1 -1
  18. data/node_modules/preact/devtools/dist/devtools.module.js +1 -1
  19. data/node_modules/preact/devtools/dist/devtools.module.js.map +1 -1
  20. data/node_modules/preact/devtools/dist/devtools.umd.js +1 -1
  21. data/node_modules/preact/devtools/dist/devtools.umd.js.map +1 -1
  22. data/node_modules/preact/devtools/src/devtools.js +1 -1
  23. data/node_modules/preact/package.json +7 -1
  24. data/node_modules/preact/src/index.d.ts +3 -0
  25. data/node_modules/preact/src/jsx.d.ts +6 -1
  26. data/node_modules/preact/test-utils/dist/testUtils.js +1 -1
  27. data/node_modules/preact/test-utils/dist/testUtils.js.map +1 -1
  28. data/node_modules/preact/test-utils/dist/testUtils.mjs +1 -1
  29. data/node_modules/preact/test-utils/dist/testUtils.module.js +1 -1
  30. data/node_modules/preact/test-utils/dist/testUtils.module.js.map +1 -1
  31. data/node_modules/preact/test-utils/dist/testUtils.umd.js +1 -1
  32. data/node_modules/preact/test-utils/dist/testUtils.umd.js.map +1 -1
  33. data/node_modules/preact/test-utils/src/index.js +2 -1
  34. data/node_modules/preact-render-to-string/dist/commonjs.js +1 -1
  35. data/node_modules/preact-render-to-string/dist/commonjs.js.map +1 -1
  36. data/node_modules/preact-render-to-string/dist/index.js.map +1 -1
  37. data/node_modules/preact-render-to-string/dist/index.mjs +1 -1
  38. data/node_modules/preact-render-to-string/dist/index.module.js +1 -1
  39. data/node_modules/preact-render-to-string/dist/index.module.js.map +1 -1
  40. data/node_modules/preact-render-to-string/dist/jsx-entry.js +1 -1
  41. data/node_modules/preact-render-to-string/dist/jsx-entry.js.map +1 -1
  42. data/node_modules/preact-render-to-string/dist/jsx.js.map +1 -1
  43. data/node_modules/preact-render-to-string/dist/jsx.mjs +1 -1
  44. data/node_modules/preact-render-to-string/dist/jsx.modern.js +1 -1
  45. data/node_modules/preact-render-to-string/dist/jsx.modern.js.map +1 -1
  46. data/node_modules/preact-render-to-string/dist/jsx.module.js +1 -1
  47. data/node_modules/preact-render-to-string/dist/jsx.module.js.map +1 -1
  48. data/node_modules/preact-render-to-string/package.json +1 -1
  49. data/node_modules/preact-render-to-string/src/index.js +23 -6
  50. data/package.json +2 -2
  51. metadata +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"jsx.modern.js","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\t// eslint-disable-next-line\n\tSymbol = function (s) {\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 IS_NON_DIMENSIONAL = /acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|^--/i;\n\nconst ENCODED_ENTITIES = /[&<>\"]/;\n\nexport function encodeEntities(input) {\n\tconst s = String(input);\n\tif (!ENCODED_ENTITIES.test(s)) {\n\t\treturn s;\n\t}\n\treturn s\n\t\t.replace(/&/g, '&amp;')\n\t\t.replace(/</g, '&lt;')\n\t\t.replace(/>/g, '&gt;')\n\t\t.replace(/\"/g, '&quot;');\n}\n\nexport let indent = (s, char) =>\n\tString(s).replace(/(\\n+)/g, '$1' + (char || '\\t'));\n\nexport let isLargeString = (s, length, ignoreLines) =>\n\tString(s).length > (length || 40) ||\n\t(!ignoreLines && String(s).indexOf('\\n') !== -1) ||\n\tString(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 && val !== '') {\n\t\t\tif (str) str += ' ';\n\t\t\t// str += jsToCss(prop);\n\t\t\tstr +=\n\t\t\t\tprop[0] == '-'\n\t\t\t\t\t? prop\n\t\t\t\t\t: JS_TO_CSS[prop] ||\n\t\t\t\t\t (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 * Get flattened children from the children prop\n * @param {Array} accumulator\n * @param {any} children A `props.children` opaque object.\n * @returns {Array} accumulator\n * @private\n */\nexport function getChildren(accumulator, children) {\n\tif (Array.isArray(children)) {\n\t\tchildren.reduce(getChildren, accumulator);\n\t} else if (children != null && children !== false) {\n\t\taccumulator.push(children);\n\t}\n\treturn accumulator;\n}\n","import {\n\tencodeEntities,\n\tindent,\n\tisLargeString,\n\tstyleObjToCss,\n\tassign,\n\tgetChildren\n} from './util';\nimport { options, Fragment } from 'preact';\n\n/** @typedef {import('preact').VNode} VNode */\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\nconst UNSAFE_NAME = /[\\s\\n\\\\/='\"\\0<>]/;\n\nconst noop = () => {};\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 *\t@param {RegExp|undefined} [options.voidElements] RegeEx that matches elements that are considered void (self-closing)\n */\nrenderToString.render = renderToString;\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\nconst EMPTY_ARR = [];\nfunction renderToString(vnode, context, opts) {\n\tcontext = context || {};\n\topts = opts || {};\n\n\t// Performance optimization: `renderToString` is synchronous and we\n\t// therefore don't execute any effects. To do that we pass an empty\n\t// array to `options._commit` (`__c`). But we can go one step further\n\t// and avoid a lot of dirty checks and allocations by setting\n\t// `options._skipEffects` (`__s`) too.\n\tconst previousSkipEffects = options.__s;\n\toptions.__s = true;\n\n\tconst res = _renderToString(vnode, context, opts);\n\n\t// options._commit, we don't schedule any effects in this library right now,\n\t// so we can pass an empty queue to this hook.\n\tif (options.__c) options.__c(vnode, EMPTY_ARR);\n\tEMPTY_ARR.length = 0;\n\toptions.__s = previousSkipEffects;\n\treturn res;\n}\n\n/** The default export is an alias of `render()`. */\nfunction _renderToString(vnode, context, opts, inner, isSvgMode, selectValue) {\n\tif (vnode == null || typeof vnode === 'boolean') {\n\t\treturn '';\n\t}\n\n\t// #text nodes\n\tif (typeof vnode !== 'object') {\n\t\treturn encodeEntities(vnode);\n\t}\n\n\tlet pretty = opts.pretty,\n\t\tindentChar = pretty && typeof pretty === 'string' ? pretty : '\\t';\n\n\tif (Array.isArray(vnode)) {\n\t\tlet rendered = '';\n\t\tfor (let i = 0; i < vnode.length; i++) {\n\t\t\tif (pretty && i > 0) rendered += '\\n';\n\t\t\trendered += _renderToString(\n\t\t\t\tvnode[i],\n\t\t\t\tcontext,\n\t\t\t\topts,\n\t\t\t\tinner,\n\t\t\t\tisSvgMode,\n\t\t\t\tselectValue\n\t\t\t);\n\t\t}\n\t\treturn rendered;\n\t}\n\n\tlet nodeName = vnode.type,\n\t\tprops = vnode.props,\n\t\tisComponent = false;\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} else if (nodeName === Fragment) {\n\t\t\tconst children = [];\n\t\t\tgetChildren(children, vnode.props.children);\n\t\t\treturn _renderToString(\n\t\t\t\tchildren,\n\t\t\t\tcontext,\n\t\t\t\topts,\n\t\t\t\topts.shallowHighOrder !== false,\n\t\t\t\tisSvgMode,\n\t\t\t\tselectValue\n\t\t\t);\n\t\t} else {\n\t\t\tlet rendered;\n\n\t\t\tlet c = (vnode.__c = {\n\t\t\t\t__v: vnode,\n\t\t\t\tcontext,\n\t\t\t\tprops: vnode.props,\n\t\t\t\t// silently drop state updates\n\t\t\t\tsetState: noop,\n\t\t\t\tforceUpdate: noop,\n\t\t\t\t// hooks\n\t\t\t\t__h: []\n\t\t\t});\n\n\t\t\t// options._diff\n\t\t\tif (options.__b) options.__b(vnode);\n\n\t\t\t// options._render\n\t\t\tif (options.__r) options.__r(vnode);\n\n\t\t\tif (\n\t\t\t\t!nodeName.prototype ||\n\t\t\t\ttypeof nodeName.prototype.render !== 'function'\n\t\t\t) {\n\t\t\t\t// Necessary for createContext api. Setting this property will pass\n\t\t\t\t// the context value as `this.context` just for this component.\n\t\t\t\tlet cxType = nodeName.contextType;\n\t\t\t\tlet provider = cxType && context[cxType.__c];\n\t\t\t\tlet cctx =\n\t\t\t\t\tcxType != null\n\t\t\t\t\t\t? provider\n\t\t\t\t\t\t\t? provider.props.value\n\t\t\t\t\t\t\t: cxType.__\n\t\t\t\t\t\t: context;\n\n\t\t\t\t// stateless functional components\n\t\t\t\trendered = nodeName.call(vnode.__c, props, cctx);\n\t\t\t} else {\n\t\t\t\t// class-based components\n\t\t\t\tlet cxType = nodeName.contextType;\n\t\t\t\tlet provider = cxType && context[cxType.__c];\n\t\t\t\tlet cctx =\n\t\t\t\t\tcxType != null\n\t\t\t\t\t\t? provider\n\t\t\t\t\t\t\t? provider.props.value\n\t\t\t\t\t\t\t: cxType.__\n\t\t\t\t\t\t: context;\n\n\t\t\t\t// c = new nodeName(props, context);\n\t\t\t\tc = vnode.__c = new nodeName(props, cctx);\n\t\t\t\tc.__v = vnode;\n\t\t\t\t// turn off stateful re-rendering:\n\t\t\t\tc._dirty = c.__d = true;\n\t\t\t\tc.props = props;\n\t\t\t\tif (c.state == null) c.state = {};\n\n\t\t\t\tif (c._nextState == null && c.__s == null) {\n\t\t\t\t\tc._nextState = c.__s = c.state;\n\t\t\t\t}\n\n\t\t\t\tc.context = cctx;\n\t\t\t\tif (nodeName.getDerivedStateFromProps)\n\t\t\t\t\tc.state = assign(\n\t\t\t\t\t\tassign({}, c.state),\n\t\t\t\t\t\tnodeName.getDerivedStateFromProps(c.props, c.state)\n\t\t\t\t\t);\n\t\t\t\telse if (c.componentWillMount) {\n\t\t\t\t\tc.componentWillMount();\n\n\t\t\t\t\t// If the user called setState in cWM we need to flush pending,\n\t\t\t\t\t// state updates. This is the same behaviour in React.\n\t\t\t\t\tc.state =\n\t\t\t\t\t\tc._nextState !== c.state\n\t\t\t\t\t\t\t? c._nextState\n\t\t\t\t\t\t\t: c.__s !== c.state\n\t\t\t\t\t\t\t? c.__s\n\t\t\t\t\t\t\t: c.state;\n\t\t\t\t}\n\n\t\t\t\trendered = c.render(c.props, c.state, c.context);\n\t\t\t}\n\n\t\t\tif (c.getChildContext) {\n\t\t\t\tcontext = assign(assign({}, context), c.getChildContext());\n\t\t\t}\n\n\t\t\tif (options.diffed) options.diffed(vnode);\n\t\t\treturn _renderToString(\n\t\t\t\trendered,\n\t\t\t\tcontext,\n\t\t\t\topts,\n\t\t\t\topts.shallowHighOrder !== false,\n\t\t\t\tisSvgMode,\n\t\t\t\tselectValue\n\t\t\t);\n\t\t}\n\t}\n\n\t// render JSX to HTML\n\tlet s = '<' + nodeName,\n\t\tpropChildren,\n\t\thtml;\n\n\tif (props) {\n\t\tlet attrs = Object.keys(props);\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 = props[name];\n\t\t\tif (name === 'children') {\n\t\t\t\tpropChildren = v;\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tif (UNSAFE_NAME.test(name)) continue;\n\n\t\t\tif (\n\t\t\t\t!(opts && opts.allAttributes) &&\n\t\t\t\t(name === 'key' ||\n\t\t\t\t\tname === 'ref' ||\n\t\t\t\t\tname === '__self' ||\n\t\t\t\t\tname === '__source')\n\t\t\t)\n\t\t\t\tcontinue;\n\n\t\t\tif (name === 'defaultValue') {\n\t\t\t\tname = 'value';\n\t\t\t} else if (name === 'className') {\n\t\t\t\tif (typeof props.class !== 'undefined') continue;\n\t\t\t\tname = 'class';\n\t\t\t} else 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 === 'htmlFor') {\n\t\t\t\tif (props.for) continue;\n\t\t\t\tname = 'for';\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\t// always use string values instead of booleans for aria attributes\n\t\t\t// also see https://github.com/preactjs/preact/pull/2347/files\n\t\t\tif (name[0] === 'a' && name['1'] === 'r' && typeof v === 'boolean') {\n\t\t\t\tv = String(v);\n\t\t\t}\n\n\t\t\tlet hooked =\n\t\t\t\topts.attributeHook &&\n\t\t\t\topts.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} else if (nodeName === 'textarea' && name === 'value') {\n\t\t\t\t// <textarea value=\"a&b\"> --> <textarea>a&amp;b</textarea>\n\t\t\t\tpropChildren = v;\n\t\t\t} else 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\n\t\t\t\tif (name === 'value') {\n\t\t\t\t\tif (nodeName === 'select') {\n\t\t\t\t\t\tselectValue = v;\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t} else if (\n\t\t\t\t\t\t// If we're looking at an <option> and it's the currently selected one\n\t\t\t\t\t\tnodeName === 'option' &&\n\t\t\t\t\t\tselectValue == v &&\n\t\t\t\t\t\t// and the <option> doesn't already have a selected attribute on it\n\t\t\t\t\t\ttypeof props.selected === 'undefined'\n\t\t\t\t\t) {\n\t\t\t\t\t\ts += ` selected`;\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 += '>';\n\n\tif (UNSAFE_NAME.test(nodeName))\n\t\tthrow new Error(`${nodeName} is not a valid HTML tag name in ${s}`);\n\n\tlet isVoid =\n\t\tVOID_ELEMENTS.test(nodeName) ||\n\t\t(opts.voidElements && opts.voidElements.test(nodeName));\n\tlet pieces = [];\n\n\tlet children;\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} else if (\n\t\tpropChildren != null &&\n\t\tgetChildren((children = []), propChildren).length\n\t) {\n\t\tlet hasLarge = pretty && ~s.indexOf('\\n');\n\t\tlet lastWasText = false;\n\n\t\tfor (let i = 0; i < children.length; i++) {\n\t\t\tlet child = children[i];\n\n\t\t\tif (child != null && child !== false) {\n\t\t\t\tlet childSvgMode =\n\t\t\t\t\t\tnodeName === 'svg'\n\t\t\t\t\t\t\t? true\n\t\t\t\t\t\t\t: nodeName === 'foreignObject'\n\t\t\t\t\t\t\t? false\n\t\t\t\t\t\t\t: isSvgMode,\n\t\t\t\t\tret = _renderToString(\n\t\t\t\t\t\tchild,\n\t\t\t\t\t\tcontext,\n\t\t\t\t\t\topts,\n\t\t\t\t\t\ttrue,\n\t\t\t\t\t\tchildSvgMode,\n\t\t\t\t\t\tselectValue\n\t\t\t\t\t);\n\n\t\t\t\tif (pretty && !hasLarge && isLargeString(ret)) hasLarge = true;\n\n\t\t\t\t// Skip if we received an empty string\n\t\t\t\tif (ret) {\n\t\t\t\t\tif (pretty) {\n\t\t\t\t\t\tlet isText = ret.length > 0 && ret[0] != '<';\n\n\t\t\t\t\t\t// We merge adjacent text nodes, otherwise each piece would be printed\n\t\t\t\t\t\t// on a new line.\n\t\t\t\t\t\tif (lastWasText && isText) {\n\t\t\t\t\t\t\tpieces[pieces.length - 1] += ret;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tpieces.push(ret);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tlastWasText = isText;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tpieces.push(ret);\n\t\t\t\t\t}\n\t\t\t\t}\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 || html) {\n\t\ts += pieces.join('');\n\t} else if (opts && opts.xml) {\n\t\treturn s.substring(0, s.length - 1) + ' />';\n\t}\n\n\tif (isVoid && !children && !html) {\n\t\ts = s.replace(/>$/, ' />');\n\t} else {\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 (\n\t\tcomponent.displayName ||\n\t\t(component !== Function && component.name) ||\n\t\tgetFallbackComponentName(component)\n\t);\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 as renderToStaticMarkup,\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 './index';\nimport { indent, encodeEntities, assign } from './util';\nimport prettyFormat from 'pretty-format';\n\n// we have to patch in Array support, Possible issue in npm.im/pretty-format\nlet preactPlugin = {\n\ttest(object) {\n\t\treturn (\n\t\t\tobject &&\n\t\t\ttypeof object === 'object' &&\n\t\t\t'type' in object &&\n\t\t\t'props' in object &&\n\t\t\t'key' in object\n\t\t);\n\t},\n\tprint(val, print, indent) {\n\t\treturn renderToString(val, preactPlugin.context, preactPlugin.opts, true);\n\t}\n};\n\nlet prettyFormatOpts = {\n\tplugins: [preactPlugin]\n};\n\nfunction attributeHook(name, value, context, opts, isComponent) {\n\tlet type = typeof value;\n\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 (\n\t\topts.skipFalseAttributes &&\n\t\t!isComponent &&\n\t\t(value === false ||\n\t\t\t((name === 'class' || name === 'style') && value === ''))\n\t)\n\t\treturn '';\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} else {\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\nlet defaultOpts = {\n\tattributeHook,\n\tjsx: true,\n\txml: false,\n\tfunctions: true,\n\tfunctionNames: true,\n\tskipFalseAttributes: true,\n\tpretty: ' '\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","c","s","for","IS_NON_DIMENSIONAL","ENCODED_ENTITIES","encodeEntities","input","String","test","replace","indent","char","isLargeString","length","ignoreLines","indexOf","JS_TO_CSS","styleObjToCss","str","prop","val","toLowerCase","undefined","assign","obj","props","i","getChildren","accumulator","children","Array","isArray","reduce","push","SHALLOW","shallow","UNNAMED","VOID_ELEMENTS","UNSAFE_NAME","noop","renderToString","render","EMPTY_ARR","vnode","context","opts","previousSkipEffects","options","__s","res","_renderToString","__c","inner","isSvgMode","selectValue","pretty","indentChar","rendered","nodeName","type","isComponent","renderRootComponent","Fragment","shallowHighOrder","__v","setState","forceUpdate","__h","__b","__r","prototype","cxType","contextType","provider","cctx","value","__","_dirty","__d","state","_nextState","getDerivedStateFromProps","componentWillMount","call","getChildContext","diffed","component","displayName","Function","name","toString","match","index","getFallbackComponentName","propChildren","html","attrs","Object","keys","sortAttributes","sort","v","allAttributes","class","hooked","attributeHook","__html","xml","selected","sub","Error","isVoid","voidElements","pieces","hasLarge","lastWasText","child","ret","isText","join","substring","shallowRender","ESCAPED_CHARACTERS","toISOString","Date","errorToString","regExpToString","RegExp","symbolToString","SYMBOL_REGEXP","NEWLINE_REGEXP","getSymbols","getOwnPropertySymbols","isToStringedArrayType","toStringed","printFunction","printSymbol","printError","printBasicValue","typeOf","printNumber","printString","min","constructor","printList","list","prevIndent","spacing","edgeSpacing","refs","maxDepth","currentDepth","plugins","body","innerIndent","print","printComplexValue","slice","hitMaxDepth","toJSON","printArguments","printArray","result","iterator","entries","current","next","done","printMap","printSet","symbols","filter","key","concat","printObject","printPlugin","plugin","p","indentation","DEFAULTS","Infinity","createIndent","preactPlugin","object","prettyFormatOpts","defaultOpts","functions","skipFalseAttributes","functionNames","forEach","hasOwnProperty","validateOptions","normalizeOptions","pluginsResult","prettyFormat","jsx","renderToJsxString"],"mappings":"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"}
1
+ {"version":3,"file":"jsx.modern.js","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\t// eslint-disable-next-line\n\tSymbol = function (s) {\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 IS_NON_DIMENSIONAL = /acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|^--/i;\n\nconst ENCODED_ENTITIES = /[&<>\"]/;\n\nexport function encodeEntities(input) {\n\tconst s = String(input);\n\tif (!ENCODED_ENTITIES.test(s)) {\n\t\treturn s;\n\t}\n\treturn s\n\t\t.replace(/&/g, '&amp;')\n\t\t.replace(/</g, '&lt;')\n\t\t.replace(/>/g, '&gt;')\n\t\t.replace(/\"/g, '&quot;');\n}\n\nexport let indent = (s, char) =>\n\tString(s).replace(/(\\n+)/g, '$1' + (char || '\\t'));\n\nexport let isLargeString = (s, length, ignoreLines) =>\n\tString(s).length > (length || 40) ||\n\t(!ignoreLines && String(s).indexOf('\\n') !== -1) ||\n\tString(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 && val !== '') {\n\t\t\tif (str) str += ' ';\n\t\t\t// str += jsToCss(prop);\n\t\t\tstr +=\n\t\t\t\tprop[0] == '-'\n\t\t\t\t\t? prop\n\t\t\t\t\t: JS_TO_CSS[prop] ||\n\t\t\t\t\t (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 * Get flattened children from the children prop\n * @param {Array} accumulator\n * @param {any} children A `props.children` opaque object.\n * @returns {Array} accumulator\n * @private\n */\nexport function getChildren(accumulator, children) {\n\tif (Array.isArray(children)) {\n\t\tchildren.reduce(getChildren, accumulator);\n\t} else if (children != null && children !== false) {\n\t\taccumulator.push(children);\n\t}\n\treturn accumulator;\n}\n","import {\n\tencodeEntities,\n\tindent,\n\tisLargeString,\n\tstyleObjToCss,\n\tassign,\n\tgetChildren\n} from './util';\nimport { options, Fragment } from 'preact';\n\n/** @typedef {import('preact').VNode} VNode */\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\nconst UNSAFE_NAME = /[\\s\\n\\\\/='\"\\0<>]/;\n\nfunction markAsDirty() {\n\tthis.__d = true;\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 *\t@param {RegExp|undefined} [options.voidElements] RegeEx that matches elements that are considered void (self-closing)\n */\nrenderToString.render = renderToString;\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\nconst EMPTY_ARR = [];\nfunction renderToString(vnode, context, opts) {\n\tcontext = context || {};\n\topts = opts || {};\n\n\t// Performance optimization: `renderToString` is synchronous and we\n\t// therefore don't execute any effects. To do that we pass an empty\n\t// array to `options._commit` (`__c`). But we can go one step further\n\t// and avoid a lot of dirty checks and allocations by setting\n\t// `options._skipEffects` (`__s`) too.\n\tconst previousSkipEffects = options.__s;\n\toptions.__s = true;\n\n\tconst res = _renderToString(vnode, context, opts);\n\n\t// options._commit, we don't schedule any effects in this library right now,\n\t// so we can pass an empty queue to this hook.\n\tif (options.__c) options.__c(vnode, EMPTY_ARR);\n\tEMPTY_ARR.length = 0;\n\toptions.__s = previousSkipEffects;\n\treturn res;\n}\n\n/** The default export is an alias of `render()`. */\nfunction _renderToString(vnode, context, opts, inner, isSvgMode, selectValue) {\n\tif (vnode == null || typeof vnode === 'boolean') {\n\t\treturn '';\n\t}\n\n\t// #text nodes\n\tif (typeof vnode !== 'object') {\n\t\treturn encodeEntities(vnode);\n\t}\n\n\tlet pretty = opts.pretty,\n\t\tindentChar = pretty && typeof pretty === 'string' ? pretty : '\\t';\n\n\tif (Array.isArray(vnode)) {\n\t\tlet rendered = '';\n\t\tfor (let i = 0; i < vnode.length; i++) {\n\t\t\tif (pretty && i > 0) rendered += '\\n';\n\t\t\trendered += _renderToString(\n\t\t\t\tvnode[i],\n\t\t\t\tcontext,\n\t\t\t\topts,\n\t\t\t\tinner,\n\t\t\t\tisSvgMode,\n\t\t\t\tselectValue\n\t\t\t);\n\t\t}\n\t\treturn rendered;\n\t}\n\n\tlet nodeName = vnode.type,\n\t\tprops = vnode.props,\n\t\tisComponent = false;\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} else if (nodeName === Fragment) {\n\t\t\tconst children = [];\n\t\t\tgetChildren(children, vnode.props.children);\n\t\t\treturn _renderToString(\n\t\t\t\tchildren,\n\t\t\t\tcontext,\n\t\t\t\topts,\n\t\t\t\topts.shallowHighOrder !== false,\n\t\t\t\tisSvgMode,\n\t\t\t\tselectValue\n\t\t\t);\n\t\t} else {\n\t\t\tlet rendered;\n\n\t\t\tlet c = (vnode.__c = {\n\t\t\t\t__v: vnode,\n\t\t\t\tcontext,\n\t\t\t\tprops: vnode.props,\n\t\t\t\t// silently drop state updates\n\t\t\t\tsetState: markAsDirty,\n\t\t\t\tforceUpdate: markAsDirty,\n\t\t\t\t__d: true,\n\t\t\t\t// hooks\n\t\t\t\t__h: []\n\t\t\t});\n\n\t\t\t// options._diff\n\t\t\tif (options.__b) options.__b(vnode);\n\n\t\t\t// options._render\n\t\t\tlet renderHook = options.__r;\n\n\t\t\tif (\n\t\t\t\t!nodeName.prototype ||\n\t\t\t\ttypeof nodeName.prototype.render !== 'function'\n\t\t\t) {\n\t\t\t\t// Necessary for createContext api. Setting this property will pass\n\t\t\t\t// the context value as `this.context` just for this component.\n\t\t\t\tlet cxType = nodeName.contextType;\n\t\t\t\tlet provider = cxType && context[cxType.__c];\n\t\t\t\tlet cctx =\n\t\t\t\t\tcxType != null\n\t\t\t\t\t\t? provider\n\t\t\t\t\t\t\t? provider.props.value\n\t\t\t\t\t\t\t: cxType.__\n\t\t\t\t\t\t: context;\n\n\t\t\t\t// If a hook invokes setState() to invalidate the component during rendering,\n\t\t\t\t// re-render it up to 25 times to allow \"settling\" of memoized states.\n\t\t\t\t// Note:\n\t\t\t\t// This will need to be updated for Preact 11 to use internal.flags rather than component._dirty:\n\t\t\t\t// https://github.com/preactjs/preact/blob/d4ca6fdb19bc715e49fd144e69f7296b2f4daa40/src/diff/component.js#L35-L44\n\t\t\t\tlet count = 0;\n\t\t\t\twhile (c.__d && count++ < 25) {\n\t\t\t\t\tc.__d = false;\n\n\t\t\t\t\tif (renderHook) renderHook(vnode);\n\n\t\t\t\t\t// stateless functional components\n\t\t\t\t\trendered = nodeName.call(vnode.__c, props, cctx);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// class-based components\n\t\t\t\tlet cxType = nodeName.contextType;\n\t\t\t\tlet provider = cxType && context[cxType.__c];\n\t\t\t\tlet cctx =\n\t\t\t\t\tcxType != null\n\t\t\t\t\t\t? provider\n\t\t\t\t\t\t\t? provider.props.value\n\t\t\t\t\t\t\t: cxType.__\n\t\t\t\t\t\t: context;\n\n\t\t\t\t// c = new nodeName(props, context);\n\t\t\t\tc = vnode.__c = new nodeName(props, cctx);\n\t\t\t\tc.__v = vnode;\n\t\t\t\t// turn off stateful re-rendering:\n\t\t\t\tc._dirty = c.__d = true;\n\t\t\t\tc.props = props;\n\t\t\t\tif (c.state == null) c.state = {};\n\n\t\t\t\tif (c._nextState == null && c.__s == null) {\n\t\t\t\t\tc._nextState = c.__s = c.state;\n\t\t\t\t}\n\n\t\t\t\tc.context = cctx;\n\t\t\t\tif (nodeName.getDerivedStateFromProps)\n\t\t\t\t\tc.state = assign(\n\t\t\t\t\t\tassign({}, c.state),\n\t\t\t\t\t\tnodeName.getDerivedStateFromProps(c.props, c.state)\n\t\t\t\t\t);\n\t\t\t\telse if (c.componentWillMount) {\n\t\t\t\t\tc.componentWillMount();\n\n\t\t\t\t\t// If the user called setState in cWM we need to flush pending,\n\t\t\t\t\t// state updates. This is the same behaviour in React.\n\t\t\t\t\tc.state =\n\t\t\t\t\t\tc._nextState !== c.state\n\t\t\t\t\t\t\t? c._nextState\n\t\t\t\t\t\t\t: c.__s !== c.state\n\t\t\t\t\t\t\t? c.__s\n\t\t\t\t\t\t\t: c.state;\n\t\t\t\t}\n\n\t\t\t\tif (renderHook) renderHook(vnode);\n\n\t\t\t\trendered = c.render(c.props, c.state, c.context);\n\t\t\t}\n\n\t\t\tif (c.getChildContext) {\n\t\t\t\tcontext = assign(assign({}, context), c.getChildContext());\n\t\t\t}\n\n\t\t\tif (options.diffed) options.diffed(vnode);\n\t\t\treturn _renderToString(\n\t\t\t\trendered,\n\t\t\t\tcontext,\n\t\t\t\topts,\n\t\t\t\topts.shallowHighOrder !== false,\n\t\t\t\tisSvgMode,\n\t\t\t\tselectValue\n\t\t\t);\n\t\t}\n\t}\n\n\t// render JSX to HTML\n\tlet s = '<' + nodeName,\n\t\tpropChildren,\n\t\thtml;\n\n\tif (props) {\n\t\tlet attrs = Object.keys(props);\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 = props[name];\n\t\t\tif (name === 'children') {\n\t\t\t\tpropChildren = v;\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tif (UNSAFE_NAME.test(name)) continue;\n\n\t\t\tif (\n\t\t\t\t!(opts && opts.allAttributes) &&\n\t\t\t\t(name === 'key' ||\n\t\t\t\t\tname === 'ref' ||\n\t\t\t\t\tname === '__self' ||\n\t\t\t\t\tname === '__source')\n\t\t\t)\n\t\t\t\tcontinue;\n\n\t\t\tif (name === 'defaultValue') {\n\t\t\t\tname = 'value';\n\t\t\t} else if (name === 'className') {\n\t\t\t\tif (typeof props.class !== 'undefined') continue;\n\t\t\t\tname = 'class';\n\t\t\t} else 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 === 'htmlFor') {\n\t\t\t\tif (props.for) continue;\n\t\t\t\tname = 'for';\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\t// always use string values instead of booleans for aria attributes\n\t\t\t// also see https://github.com/preactjs/preact/pull/2347/files\n\t\t\tif (name[0] === 'a' && name['1'] === 'r' && typeof v === 'boolean') {\n\t\t\t\tv = String(v);\n\t\t\t}\n\n\t\t\tlet hooked =\n\t\t\t\topts.attributeHook &&\n\t\t\t\topts.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} else if (nodeName === 'textarea' && name === 'value') {\n\t\t\t\t// <textarea value=\"a&b\"> --> <textarea>a&amp;b</textarea>\n\t\t\t\tpropChildren = v;\n\t\t\t} else 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\n\t\t\t\tif (name === 'value') {\n\t\t\t\t\tif (nodeName === 'select') {\n\t\t\t\t\t\tselectValue = v;\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t} else if (\n\t\t\t\t\t\t// If we're looking at an <option> and it's the currently selected one\n\t\t\t\t\t\tnodeName === 'option' &&\n\t\t\t\t\t\tselectValue == v &&\n\t\t\t\t\t\t// and the <option> doesn't already have a selected attribute on it\n\t\t\t\t\t\ttypeof props.selected === 'undefined'\n\t\t\t\t\t) {\n\t\t\t\t\t\ts += ` selected`;\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 += '>';\n\n\tif (UNSAFE_NAME.test(nodeName))\n\t\tthrow new Error(`${nodeName} is not a valid HTML tag name in ${s}`);\n\n\tlet isVoid =\n\t\tVOID_ELEMENTS.test(nodeName) ||\n\t\t(opts.voidElements && opts.voidElements.test(nodeName));\n\tlet pieces = [];\n\n\tlet children;\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} else if (\n\t\tpropChildren != null &&\n\t\tgetChildren((children = []), propChildren).length\n\t) {\n\t\tlet hasLarge = pretty && ~s.indexOf('\\n');\n\t\tlet lastWasText = false;\n\n\t\tfor (let i = 0; i < children.length; i++) {\n\t\t\tlet child = children[i];\n\n\t\t\tif (child != null && child !== false) {\n\t\t\t\tlet childSvgMode =\n\t\t\t\t\t\tnodeName === 'svg'\n\t\t\t\t\t\t\t? true\n\t\t\t\t\t\t\t: nodeName === 'foreignObject'\n\t\t\t\t\t\t\t? false\n\t\t\t\t\t\t\t: isSvgMode,\n\t\t\t\t\tret = _renderToString(\n\t\t\t\t\t\tchild,\n\t\t\t\t\t\tcontext,\n\t\t\t\t\t\topts,\n\t\t\t\t\t\ttrue,\n\t\t\t\t\t\tchildSvgMode,\n\t\t\t\t\t\tselectValue\n\t\t\t\t\t);\n\n\t\t\t\tif (pretty && !hasLarge && isLargeString(ret)) hasLarge = true;\n\n\t\t\t\t// Skip if we received an empty string\n\t\t\t\tif (ret) {\n\t\t\t\t\tif (pretty) {\n\t\t\t\t\t\tlet isText = ret.length > 0 && ret[0] != '<';\n\n\t\t\t\t\t\t// We merge adjacent text nodes, otherwise each piece would be printed\n\t\t\t\t\t\t// on a new line.\n\t\t\t\t\t\tif (lastWasText && isText) {\n\t\t\t\t\t\t\tpieces[pieces.length - 1] += ret;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tpieces.push(ret);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tlastWasText = isText;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tpieces.push(ret);\n\t\t\t\t\t}\n\t\t\t\t}\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 || html) {\n\t\ts += pieces.join('');\n\t} else if (opts && opts.xml) {\n\t\treturn s.substring(0, s.length - 1) + ' />';\n\t}\n\n\tif (isVoid && !children && !html) {\n\t\ts = s.replace(/>$/, ' />');\n\t} else {\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 (\n\t\tcomponent.displayName ||\n\t\t(component !== Function && component.name) ||\n\t\tgetFallbackComponentName(component)\n\t);\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 as renderToStaticMarkup,\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 './index';\nimport { indent, encodeEntities, assign } from './util';\nimport prettyFormat from 'pretty-format';\n\n// we have to patch in Array support, Possible issue in npm.im/pretty-format\nlet preactPlugin = {\n\ttest(object) {\n\t\treturn (\n\t\t\tobject &&\n\t\t\ttypeof object === 'object' &&\n\t\t\t'type' in object &&\n\t\t\t'props' in object &&\n\t\t\t'key' in object\n\t\t);\n\t},\n\tprint(val, print, indent) {\n\t\treturn renderToString(val, preactPlugin.context, preactPlugin.opts, true);\n\t}\n};\n\nlet prettyFormatOpts = {\n\tplugins: [preactPlugin]\n};\n\nfunction attributeHook(name, value, context, opts, isComponent) {\n\tlet type = typeof value;\n\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 (\n\t\topts.skipFalseAttributes &&\n\t\t!isComponent &&\n\t\t(value === false ||\n\t\t\t((name === 'class' || name === 'style') && value === ''))\n\t)\n\t\treturn '';\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} else {\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\nlet defaultOpts = {\n\tattributeHook,\n\tjsx: true,\n\txml: false,\n\tfunctions: true,\n\tfunctionNames: true,\n\tskipFalseAttributes: true,\n\tpretty: ' '\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","c","s","for","IS_NON_DIMENSIONAL","ENCODED_ENTITIES","encodeEntities","input","String","test","replace","indent","char","isLargeString","length","ignoreLines","indexOf","JS_TO_CSS","styleObjToCss","str","prop","val","toLowerCase","undefined","assign","obj","props","i","getChildren","accumulator","children","Array","isArray","reduce","push","SHALLOW","shallow","UNNAMED","VOID_ELEMENTS","UNSAFE_NAME","markAsDirty","this","__d","renderToString","render","EMPTY_ARR","vnode","context","opts","previousSkipEffects","options","__s","res","_renderToString","__c","inner","isSvgMode","selectValue","pretty","indentChar","rendered","nodeName","type","isComponent","renderRootComponent","Fragment","shallowHighOrder","__v","setState","forceUpdate","__h","__b","renderHook","__r","prototype","cxType","contextType","provider","cctx","value","__","_dirty","state","_nextState","getDerivedStateFromProps","componentWillMount","count","call","getChildContext","diffed","component","displayName","Function","name","toString","match","index","getFallbackComponentName","propChildren","html","attrs","Object","keys","sortAttributes","sort","v","allAttributes","class","hooked","attributeHook","__html","xml","selected","sub","Error","isVoid","voidElements","pieces","hasLarge","lastWasText","child","ret","isText","join","substring","shallowRender","ESCAPED_CHARACTERS","toISOString","Date","errorToString","regExpToString","RegExp","symbolToString","SYMBOL_REGEXP","NEWLINE_REGEXP","getSymbols","getOwnPropertySymbols","isToStringedArrayType","toStringed","printFunction","printSymbol","printError","printBasicValue","typeOf","printNumber","printString","min","constructor","printList","list","prevIndent","spacing","edgeSpacing","refs","maxDepth","currentDepth","plugins","body","innerIndent","print","printComplexValue","slice","hitMaxDepth","toJSON","printArguments","printArray","result","iterator","entries","current","next","done","printMap","printSet","symbols","filter","key","concat","printObject","printPlugin","plugin","p","indentation","DEFAULTS","Infinity","createIndent","preactPlugin","object","prettyFormatOpts","defaultOpts","functions","skipFalseAttributes","functionNames","forEach","hasOwnProperty","validateOptions","normalizeOptions","pluginsResult","prettyFormat","jsx","renderToJsxString"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{options as t,Fragment as e}from"preact";if("function"!=typeof Symbol){var n=0;Symbol=function(t){return"@@"+t+ ++n},Symbol.for=function(t){return"@@"+t}}var r=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|^--/i,o=/[&<>"]/;function i(t){var e=String(t);return o.test(e)?e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;"):e}var a=function(t,e){return String(t).replace(/(\n+)/g,"$1"+(e||"\t"))},c=function(t,e,n){return String(t).length>(e||40)||!n&&-1!==String(t).indexOf("\n")||-1!==String(t).indexOf("<")},u={};function l(t){var e="";for(var n in t){var o=t[n];null!=o&&""!==o&&(e&&(e+=" "),e+="-"==n[0]?n:u[n]||(u[n]=n.replace(/([A-Z])/g,"-$1").toLowerCase()),e+=": ",e+=o,"number"==typeof o&&!1===r.test(n)&&(e+="px"),e+=";")}return e||void 0}function f(t,e){for(var n in e)t[n]=e[n];return t}function s(t,e){return Array.isArray(e)?e.reduce(s,t):null!=e&&!1!==e&&t.push(e),t}var p={shallow:!0},y=[],g=/^(area|base|br|col|embed|hr|img|input|link|meta|param|source|track|wbr)$/,b=/[\s\n\\/='"\0<>]/,d=function(){};v.render=v;var m=[];function v(e,n,r){n=n||{},r=r||{};var o=t.__s;t.__s=!0;var i=_(e,n,r);return t.__c&&t.__c(e,m),m.length=0,t.__s=o,i}function _(n,r,o,u,p,m){if(null==n||"boolean"==typeof n)return"";if("object"!=typeof n)return i(n);var v=o.pretty,h=v&&"string"==typeof v?v:"\t";if(Array.isArray(n)){for(var x="",j=0;j<n.length;j++)v&&j>0&&(x+="\n"),x+=_(n[j],r,o,u,p,m);return x}var S,A=n.type,O=n.props,w=!1;if("function"==typeof A){if(w=!0,!o.shallow||!u&&!1!==o.renderRootComponent){if(A===e){var k=[];return s(k,n.props.children),_(k,r,o,!1!==o.shallowHighOrder,p,m)}var F,E=n.__c={__v:n,context:r,props:n.props,setState:d,forceUpdate:d,__h:[]};if(t.__b&&t.__b(n),t.__r&&t.__r(n),A.prototype&&"function"==typeof A.prototype.render){var C=A.contextType,M=C&&r[C.__c],N=null!=C?M?M.props.value:C.__:r;(E=n.__c=new A(O,N)).__v=n,E._dirty=E.__d=!0,E.props=O,null==E.state&&(E.state={}),null==E._nextState&&null==E.__s&&(E._nextState=E.__s=E.state),E.context=N,A.getDerivedStateFromProps?E.state=f(f({},E.state),A.getDerivedStateFromProps(E.props,E.state)):E.componentWillMount&&(E.componentWillMount(),E.state=E._nextState!==E.state?E._nextState:E.__s!==E.state?E.__s:E.state),F=E.render(E.props,E.state,E.context)}else{var D=A.contextType,H=D&&r[D.__c];F=A.call(n.__c,O,null!=D?H?H.props.value:D.__:r)}return E.getChildContext&&(r=f(f({},r),E.getChildContext())),t.diffed&&t.diffed(n),_(F,r,o,!1!==o.shallowHighOrder,p,m)}A=(S=A).displayName||S!==Function&&S.name||function(t){var e=(Function.prototype.toString.call(t).match(/^\s*function\s+([^( ]+)/)||"")[1];if(!e){for(var n=-1,r=y.length;r--;)if(y[r]===t){n=r;break}n<0&&(n=y.push(t)-1),e="UnnamedComponent"+n}return e}(S)}var I,$,U="<"+A;if(O){var W=Object.keys(O);o&&!0===o.sortAttributes&&W.sort();for(var L=0;L<W.length;L++){var P=W[L],T=O[P];if("children"!==P){if(!b.test(P)&&(o&&o.allAttributes||"key"!==P&&"ref"!==P&&"__self"!==P&&"__source"!==P)){if("defaultValue"===P)P="value";else if("className"===P){if(void 0!==O.class)continue;P="class"}else p&&P.match(/^xlink:?./)&&(P=P.toLowerCase().replace(/^xlink:?/,"xlink:"));if("htmlFor"===P){if(O.for)continue;P="for"}"style"===P&&T&&"object"==typeof T&&(T=l(T)),"a"===P[0]&&"r"===P[1]&&"boolean"==typeof T&&(T=String(T));var R=o.attributeHook&&o.attributeHook(P,T,r,o,w);if(R||""===R)U+=R;else if("dangerouslySetInnerHTML"===P)$=T&&T.__html;else if("textarea"===A&&"value"===P)I=T;else if((T||0===T||""===T)&&"function"!=typeof T){if(!(!0!==T&&""!==T||(T=P,o&&o.xml))){U+=" "+P;continue}if("value"===P){if("select"===A){m=T;continue}"option"===A&&m==T&&void 0===O.selected&&(U+=" selected")}U+=" "+P+'="'+i(T)+'"'}}}else I=T}}if(v){var J=U.replace(/\n\s*/," ");J===U||~J.indexOf("\n")?v&&~U.indexOf("\n")&&(U+="\n"):U=J}if(U+=">",b.test(A))throw new Error(A+" is not a valid HTML tag name in "+U);var V,q=g.test(A)||o.voidElements&&o.voidElements.test(A),z=[];if($)v&&c($)&&($="\n"+h+a($,h)),U+=$;else if(null!=I&&s(V=[],I).length){for(var B=v&&~U.indexOf("\n"),G=!1,Z=0;Z<V.length;Z++){var K=V[Z];if(null!=K&&!1!==K){var Q=_(K,r,o,!0,"svg"===A||"foreignObject"!==A&&p,m);if(v&&!B&&c(Q)&&(B=!0),Q)if(v){var X=Q.length>0&&"<"!=Q[0];G&&X?z[z.length-1]+=Q:z.push(Q),G=X}else z.push(Q)}}if(v&&B)for(var Y=z.length;Y--;)z[Y]="\n"+h+a(z[Y],h)}if(z.length||$)U+=z.join("");else if(o&&o.xml)return U.substring(0,U.length-1)+" />";return!q||V||$?(v&&~U.indexOf("\n")&&(U+="\n"),U+="</"+A+">"):U=U.replace(/>$/," />"),U}v.shallowRender=function(t,e){return v(t,e,p)};const h=/(\\|\"|\')/g,x=Object.prototype.toString,j=Date.prototype.toISOString,S=Error.prototype.toString,A=RegExp.prototype.toString,O=Symbol.prototype.toString,w=/^Symbol\((.*)\)(.*)$/,k=/\n/gi,F=Object.getOwnPropertySymbols||(t=>[]);function E(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 C(t){return""===t.name?"[Function anonymous]":"[Function "+t.name+"]"}function M(t){return O.call(t).replace(w,"Symbol($1)")}function N(t){return"["+S.call(t)+"]"}function D(t){if(!0===t||!1===t)return""+t;if(void 0===t)return"undefined";if(null===t)return"null";const e=typeof t;if("number"===e)return function(t){return t!=+t?"NaN":0===t&&1/t<0?"-0":""+t}(t);if("string"===e)return'"'+function(t){return t.replace(h,"\\$1")}(t)+'"';if("function"===e)return C(t);if("symbol"===e)return M(t);const n=x.call(t);return"[object WeakMap]"===n?"WeakMap {}":"[object WeakSet]"===n?"WeakSet {}":"[object Function]"===n||"[object GeneratorFunction]"===n?C(t,min):"[object Symbol]"===n?M(t):"[object Date]"===n?j.call(t):"[object Error]"===n?N(t):"[object RegExp]"===n?A.call(t):"[object Arguments]"===n&&0===t.length?"Arguments []":E(n)&&0===t.length?t.constructor.name+" []":t instanceof Error&&N(t)}function H(t,e,n,r,o,i,a,c,u,l){let f="";if(t.length){f+=o;const s=n+e;for(let n=0;n<t.length;n++)f+=s+U(t[n],e,s,r,o,i,a,c,u,l),n<t.length-1&&(f+=","+r);f+=o+n}return"["+f+"]"}function I(t,e,n,r,o,i,a,c,u,l){if((i=i.slice()).indexOf(t)>-1)return"[Circular]";i.push(t);const f=++c>a;if(!f&&t.toJSON&&"function"==typeof t.toJSON)return U(t.toJSON(),e,n,r,o,i,a,c,u,l);const s=x.call(t);return"[object Arguments]"===s?f?"[Arguments]":function(t,e,n,r,o,i,a,c,u,l){return(l?"":"Arguments ")+H(t,e,n,r,o,i,a,c,u,l)}(t,e,n,r,o,i,a,c,u,l):E(s)?f?"[Array]":function(t,e,n,r,o,i,a,c,u,l){return(l?"":t.constructor.name+" ")+H(t,e,n,r,o,i,a,c,u,l)}(t,e,n,r,o,i,a,c,u,l):"[object Map]"===s?f?"[Map]":function(t,e,n,r,o,i,a,c,u,l){let f="Map {";const s=t.entries();let p=s.next();if(!p.done){f+=o;const t=n+e;for(;!p.done;)f+=t+U(p.value[0],e,t,r,o,i,a,c,u,l)+" => "+U(p.value[1],e,t,r,o,i,a,c,u,l),p=s.next(),p.done||(f+=","+r);f+=o+n}return f+"}"}(t,e,n,r,o,i,a,c,u,l):"[object Set]"===s?f?"[Set]":function(t,e,n,r,o,i,a,c,u,l){let f="Set {";const s=t.entries();let p=s.next();if(!p.done){f+=o;const t=n+e;for(;!p.done;)f+=t+U(p.value[1],e,t,r,o,i,a,c,u,l),p=s.next(),p.done||(f+=","+r);f+=o+n}return f+"}"}(t,e,n,r,o,i,a,c,u,l):"object"==typeof t?f?"[Object]":function(t,e,n,r,o,i,a,c,u,l){let f=(l?"":t.constructor?t.constructor.name+" ":"Object ")+"{",s=Object.keys(t).sort();const p=F(t);if(p.length&&(s=s.filter(t=>!("symbol"==typeof t||"[object Symbol]"===x.call(t))).concat(p)),s.length){f+=o;const p=n+e;for(let n=0;n<s.length;n++){const y=s[n];f+=p+U(y,e,p,r,o,i,a,c,u,l)+": "+U(t[y],e,p,r,o,i,a,c,u,l),n<s.length-1&&(f+=","+r)}f+=o+n}return f+"}"}(t,e,n,r,o,i,a,c,u,l):void 0}function $(t,e,n,r,o,i,a,c,u,l){let f,s=!1;for(let e=0;e<u.length;e++)if(f=u[e],f.test(t)){s=!0;break}return!!s&&f.print(t,function(t){return U(t,e,n,r,o,i,a,c,u,l)},function(t){const r=n+e;return r+t.replace(k,"\n"+r)},{edgeSpacing:o,spacing:r})}function U(t,e,n,r,o,i,a,c,u,l){return D(t)||$(t,e,n,r,o,i,a,c,u,l)||I(t,e,n,r,o,i,a,c,u,l)}const W={indent:2,min:!1,maxDepth:Infinity,plugins:[]};function L(t){return new Array(t+1).join(" ")}var P={test:function(t){return t&&"object"==typeof t&&"type"in t&&"props"in t&&"key"in t},print:function(t,e,n){return v(t,P.context,P.opts)}},T={plugins:[P]},R={attributeHook:function(t,e,n,r,o){var c=typeof e;if("dangerouslySetInnerHTML"===t)return!1;if(null==e||"function"===c&&!r.functions)return"";if(r.skipFalseAttributes&&!o&&(!1===e||("class"===t||"style"===t)&&""===e))return"";var u="string"==typeof r.pretty?r.pretty:"\t";return"string"!==c?("function"!==c||r.functionNames?(P.context=n,P.opts=r,~(e=function(t,e){let n,r;e?(function(t){if(Object.keys(t).forEach(t=>{if(!W.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")}(e),e=function(t){const e={};return Object.keys(W).forEach(n=>e[n]=t.hasOwnProperty(n)?t[n]:W[n]),e.min&&(e.indent=0),e}(e)):e=W;const o=e.min?" ":"\n",i=e.min?"":"\n";if(e&&e.plugins.length){n=L(e.indent),r=[];var a=$(t,n,"",o,i,r,e.maxDepth,0,e.plugins,e.min);if(a)return a}return D(t)||(n||(n=L(e.indent)),r||(r=[]),I(t,n,"",o,i,r,e.maxDepth,0,e.plugins,e.min))}(e,T)).indexOf("\n")&&(e=a("\n"+e,u)+"\n")):e="Function",a("\n"+t+"={"+e+"}",u)):"\n"+u+t+'="'+i(e)+'"'},jsx:!0,xml:!1,functions:!0,functionNames:!0,skipFalseAttributes:!0,pretty:" "};function J(t,e,n,r){return v(t,e,n=f(f({},R),n||{}))}export default J;export{J as render};
1
+ import{options as t,Fragment as e}from"preact";if("function"!=typeof Symbol){var n=0;Symbol=function(t){return"@@"+t+ ++n},Symbol.for=function(t){return"@@"+t}}var r=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|^--/i,o=/[&<>"]/;function i(t){var e=String(t);return o.test(e)?e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;"):e}var a=function(t,e){return String(t).replace(/(\n+)/g,"$1"+(e||"\t"))},c=function(t,e,n){return String(t).length>(e||40)||!n&&-1!==String(t).indexOf("\n")||-1!==String(t).indexOf("<")},u={};function l(t){var e="";for(var n in t){var o=t[n];null!=o&&""!==o&&(e&&(e+=" "),e+="-"==n[0]?n:u[n]||(u[n]=n.replace(/([A-Z])/g,"-$1").toLowerCase()),e+=": ",e+=o,"number"==typeof o&&!1===r.test(n)&&(e+="px"),e+=";")}return e||void 0}function f(t,e){for(var n in e)t[n]=e[n];return t}function s(t,e){return Array.isArray(e)?e.reduce(s,t):null!=e&&!1!==e&&t.push(e),t}var p={shallow:!0},y=[],g=/^(area|base|br|col|embed|hr|img|input|link|meta|param|source|track|wbr)$/,d=/[\s\n\\/='"\0<>]/;function b(){this.__d=!0}_.render=_;var m=[];function _(e,n,r){n=n||{},r=r||{};var o=t.__s;t.__s=!0;var i=v(e,n,r);return t.__c&&t.__c(e,m),m.length=0,t.__s=o,i}function v(n,r,o,u,p,m){if(null==n||"boolean"==typeof n)return"";if("object"!=typeof n)return i(n);var _=o.pretty,h=_&&"string"==typeof _?_:"\t";if(Array.isArray(n)){for(var x="",j=0;j<n.length;j++)_&&j>0&&(x+="\n"),x+=v(n[j],r,o,u,p,m);return x}var S,A=n.type,O=n.props,w=!1;if("function"==typeof A){if(w=!0,!o.shallow||!u&&!1!==o.renderRootComponent){if(A===e){var k=[];return s(k,n.props.children),v(k,r,o,!1!==o.shallowHighOrder,p,m)}var F,E=n.__c={__v:n,context:r,props:n.props,setState:b,forceUpdate:b,__d:!0,__h:[]};t.__b&&t.__b(n);var C=t.__r;if(A.prototype&&"function"==typeof A.prototype.render){var M=A.contextType,N=M&&r[M.__c],D=null!=M?N?N.props.value:M.__:r;(E=n.__c=new A(O,D)).__v=n,E._dirty=E.__d=!0,E.props=O,null==E.state&&(E.state={}),null==E._nextState&&null==E.__s&&(E._nextState=E.__s=E.state),E.context=D,A.getDerivedStateFromProps?E.state=f(f({},E.state),A.getDerivedStateFromProps(E.props,E.state)):E.componentWillMount&&(E.componentWillMount(),E.state=E._nextState!==E.state?E._nextState:E.__s!==E.state?E.__s:E.state),C&&C(n),F=E.render(E.props,E.state,E.context)}else for(var H=A.contextType,I=H&&r[H.__c],$=null!=H?I?I.props.value:H.__:r,U=0;E.__d&&U++<25;)E.__d=!1,C&&C(n),F=A.call(n.__c,O,$);return E.getChildContext&&(r=f(f({},r),E.getChildContext())),t.diffed&&t.diffed(n),v(F,r,o,!1!==o.shallowHighOrder,p,m)}A=(S=A).displayName||S!==Function&&S.name||function(t){var e=(Function.prototype.toString.call(t).match(/^\s*function\s+([^( ]+)/)||"")[1];if(!e){for(var n=-1,r=y.length;r--;)if(y[r]===t){n=r;break}n<0&&(n=y.push(t)-1),e="UnnamedComponent"+n}return e}(S)}var W,L,P="<"+A;if(O){var T=Object.keys(O);o&&!0===o.sortAttributes&&T.sort();for(var R=0;R<T.length;R++){var J=T[R],V=O[J];if("children"!==J){if(!d.test(J)&&(o&&o.allAttributes||"key"!==J&&"ref"!==J&&"__self"!==J&&"__source"!==J)){if("defaultValue"===J)J="value";else if("className"===J){if(void 0!==O.class)continue;J="class"}else p&&J.match(/^xlink:?./)&&(J=J.toLowerCase().replace(/^xlink:?/,"xlink:"));if("htmlFor"===J){if(O.for)continue;J="for"}"style"===J&&V&&"object"==typeof V&&(V=l(V)),"a"===J[0]&&"r"===J[1]&&"boolean"==typeof V&&(V=String(V));var q=o.attributeHook&&o.attributeHook(J,V,r,o,w);if(q||""===q)P+=q;else if("dangerouslySetInnerHTML"===J)L=V&&V.__html;else if("textarea"===A&&"value"===J)W=V;else if((V||0===V||""===V)&&"function"!=typeof V){if(!(!0!==V&&""!==V||(V=J,o&&o.xml))){P+=" "+J;continue}if("value"===J){if("select"===A){m=V;continue}"option"===A&&m==V&&void 0===O.selected&&(P+=" selected")}P+=" "+J+'="'+i(V)+'"'}}}else W=V}}if(_){var z=P.replace(/\n\s*/," ");z===P||~z.indexOf("\n")?_&&~P.indexOf("\n")&&(P+="\n"):P=z}if(P+=">",d.test(A))throw new Error(A+" is not a valid HTML tag name in "+P);var B,G=g.test(A)||o.voidElements&&o.voidElements.test(A),Z=[];if(L)_&&c(L)&&(L="\n"+h+a(L,h)),P+=L;else if(null!=W&&s(B=[],W).length){for(var K=_&&~P.indexOf("\n"),Q=!1,X=0;X<B.length;X++){var Y=B[X];if(null!=Y&&!1!==Y){var tt=v(Y,r,o,!0,"svg"===A||"foreignObject"!==A&&p,m);if(_&&!K&&c(tt)&&(K=!0),tt)if(_){var et=tt.length>0&&"<"!=tt[0];Q&&et?Z[Z.length-1]+=tt:Z.push(tt),Q=et}else Z.push(tt)}}if(_&&K)for(var nt=Z.length;nt--;)Z[nt]="\n"+h+a(Z[nt],h)}if(Z.length||L)P+=Z.join("");else if(o&&o.xml)return P.substring(0,P.length-1)+" />";return!G||B||L?(_&&~P.indexOf("\n")&&(P+="\n"),P+="</"+A+">"):P=P.replace(/>$/," />"),P}_.shallowRender=function(t,e){return _(t,e,p)};const h=/(\\|\"|\')/g,x=Object.prototype.toString,j=Date.prototype.toISOString,S=Error.prototype.toString,A=RegExp.prototype.toString,O=Symbol.prototype.toString,w=/^Symbol\((.*)\)(.*)$/,k=/\n/gi,F=Object.getOwnPropertySymbols||(t=>[]);function E(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 C(t){return""===t.name?"[Function anonymous]":"[Function "+t.name+"]"}function M(t){return O.call(t).replace(w,"Symbol($1)")}function N(t){return"["+S.call(t)+"]"}function D(t){if(!0===t||!1===t)return""+t;if(void 0===t)return"undefined";if(null===t)return"null";const e=typeof t;if("number"===e)return function(t){return t!=+t?"NaN":0===t&&1/t<0?"-0":""+t}(t);if("string"===e)return'"'+function(t){return t.replace(h,"\\$1")}(t)+'"';if("function"===e)return C(t);if("symbol"===e)return M(t);const n=x.call(t);return"[object WeakMap]"===n?"WeakMap {}":"[object WeakSet]"===n?"WeakSet {}":"[object Function]"===n||"[object GeneratorFunction]"===n?C(t,min):"[object Symbol]"===n?M(t):"[object Date]"===n?j.call(t):"[object Error]"===n?N(t):"[object RegExp]"===n?A.call(t):"[object Arguments]"===n&&0===t.length?"Arguments []":E(n)&&0===t.length?t.constructor.name+" []":t instanceof Error&&N(t)}function H(t,e,n,r,o,i,a,c,u,l){let f="";if(t.length){f+=o;const s=n+e;for(let n=0;n<t.length;n++)f+=s+U(t[n],e,s,r,o,i,a,c,u,l),n<t.length-1&&(f+=","+r);f+=o+n}return"["+f+"]"}function I(t,e,n,r,o,i,a,c,u,l){if((i=i.slice()).indexOf(t)>-1)return"[Circular]";i.push(t);const f=++c>a;if(!f&&t.toJSON&&"function"==typeof t.toJSON)return U(t.toJSON(),e,n,r,o,i,a,c,u,l);const s=x.call(t);return"[object Arguments]"===s?f?"[Arguments]":function(t,e,n,r,o,i,a,c,u,l){return(l?"":"Arguments ")+H(t,e,n,r,o,i,a,c,u,l)}(t,e,n,r,o,i,a,c,u,l):E(s)?f?"[Array]":function(t,e,n,r,o,i,a,c,u,l){return(l?"":t.constructor.name+" ")+H(t,e,n,r,o,i,a,c,u,l)}(t,e,n,r,o,i,a,c,u,l):"[object Map]"===s?f?"[Map]":function(t,e,n,r,o,i,a,c,u,l){let f="Map {";const s=t.entries();let p=s.next();if(!p.done){f+=o;const t=n+e;for(;!p.done;)f+=t+U(p.value[0],e,t,r,o,i,a,c,u,l)+" => "+U(p.value[1],e,t,r,o,i,a,c,u,l),p=s.next(),p.done||(f+=","+r);f+=o+n}return f+"}"}(t,e,n,r,o,i,a,c,u,l):"[object Set]"===s?f?"[Set]":function(t,e,n,r,o,i,a,c,u,l){let f="Set {";const s=t.entries();let p=s.next();if(!p.done){f+=o;const t=n+e;for(;!p.done;)f+=t+U(p.value[1],e,t,r,o,i,a,c,u,l),p=s.next(),p.done||(f+=","+r);f+=o+n}return f+"}"}(t,e,n,r,o,i,a,c,u,l):"object"==typeof t?f?"[Object]":function(t,e,n,r,o,i,a,c,u,l){let f=(l?"":t.constructor?t.constructor.name+" ":"Object ")+"{",s=Object.keys(t).sort();const p=F(t);if(p.length&&(s=s.filter(t=>!("symbol"==typeof t||"[object Symbol]"===x.call(t))).concat(p)),s.length){f+=o;const p=n+e;for(let n=0;n<s.length;n++){const y=s[n];f+=p+U(y,e,p,r,o,i,a,c,u,l)+": "+U(t[y],e,p,r,o,i,a,c,u,l),n<s.length-1&&(f+=","+r)}f+=o+n}return f+"}"}(t,e,n,r,o,i,a,c,u,l):void 0}function $(t,e,n,r,o,i,a,c,u,l){let f,s=!1;for(let e=0;e<u.length;e++)if(f=u[e],f.test(t)){s=!0;break}return!!s&&f.print(t,function(t){return U(t,e,n,r,o,i,a,c,u,l)},function(t){const r=n+e;return r+t.replace(k,"\n"+r)},{edgeSpacing:o,spacing:r})}function U(t,e,n,r,o,i,a,c,u,l){return D(t)||$(t,e,n,r,o,i,a,c,u,l)||I(t,e,n,r,o,i,a,c,u,l)}const W={indent:2,min:!1,maxDepth:Infinity,plugins:[]};function L(t){return new Array(t+1).join(" ")}var P={test:function(t){return t&&"object"==typeof t&&"type"in t&&"props"in t&&"key"in t},print:function(t,e,n){return _(t,P.context,P.opts)}},T={plugins:[P]},R={attributeHook:function(t,e,n,r,o){var c=typeof e;if("dangerouslySetInnerHTML"===t)return!1;if(null==e||"function"===c&&!r.functions)return"";if(r.skipFalseAttributes&&!o&&(!1===e||("class"===t||"style"===t)&&""===e))return"";var u="string"==typeof r.pretty?r.pretty:"\t";return"string"!==c?("function"!==c||r.functionNames?(P.context=n,P.opts=r,~(e=function(t,e){let n,r;e?(function(t){if(Object.keys(t).forEach(t=>{if(!W.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")}(e),e=function(t){const e={};return Object.keys(W).forEach(n=>e[n]=t.hasOwnProperty(n)?t[n]:W[n]),e.min&&(e.indent=0),e}(e)):e=W;const o=e.min?" ":"\n",i=e.min?"":"\n";if(e&&e.plugins.length){n=L(e.indent),r=[];var a=$(t,n,"",o,i,r,e.maxDepth,0,e.plugins,e.min);if(a)return a}return D(t)||(n||(n=L(e.indent)),r||(r=[]),I(t,n,"",o,i,r,e.maxDepth,0,e.plugins,e.min))}(e,T)).indexOf("\n")&&(e=a("\n"+e,u)+"\n")):e="Function",a("\n"+t+"={"+e+"}",u)):"\n"+u+t+'="'+i(e)+'"'},jsx:!0,xml:!1,functions:!0,functionNames:!0,skipFalseAttributes:!0,pretty:" "};function J(t,e,n,r){return _(t,e,n=f(f({},R),n||{}))}export default J;export{J as render};
2
2
  //# sourceMappingURL=jsx.module.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"jsx.module.js","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\t// eslint-disable-next-line\n\tSymbol = function (s) {\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 IS_NON_DIMENSIONAL = /acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|^--/i;\n\nconst ENCODED_ENTITIES = /[&<>\"]/;\n\nexport function encodeEntities(input) {\n\tconst s = String(input);\n\tif (!ENCODED_ENTITIES.test(s)) {\n\t\treturn s;\n\t}\n\treturn s\n\t\t.replace(/&/g, '&amp;')\n\t\t.replace(/</g, '&lt;')\n\t\t.replace(/>/g, '&gt;')\n\t\t.replace(/\"/g, '&quot;');\n}\n\nexport let indent = (s, char) =>\n\tString(s).replace(/(\\n+)/g, '$1' + (char || '\\t'));\n\nexport let isLargeString = (s, length, ignoreLines) =>\n\tString(s).length > (length || 40) ||\n\t(!ignoreLines && String(s).indexOf('\\n') !== -1) ||\n\tString(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 && val !== '') {\n\t\t\tif (str) str += ' ';\n\t\t\t// str += jsToCss(prop);\n\t\t\tstr +=\n\t\t\t\tprop[0] == '-'\n\t\t\t\t\t? prop\n\t\t\t\t\t: JS_TO_CSS[prop] ||\n\t\t\t\t\t (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 * Get flattened children from the children prop\n * @param {Array} accumulator\n * @param {any} children A `props.children` opaque object.\n * @returns {Array} accumulator\n * @private\n */\nexport function getChildren(accumulator, children) {\n\tif (Array.isArray(children)) {\n\t\tchildren.reduce(getChildren, accumulator);\n\t} else if (children != null && children !== false) {\n\t\taccumulator.push(children);\n\t}\n\treturn accumulator;\n}\n","import {\n\tencodeEntities,\n\tindent,\n\tisLargeString,\n\tstyleObjToCss,\n\tassign,\n\tgetChildren\n} from './util';\nimport { options, Fragment } from 'preact';\n\n/** @typedef {import('preact').VNode} VNode */\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\nconst UNSAFE_NAME = /[\\s\\n\\\\/='\"\\0<>]/;\n\nconst noop = () => {};\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 *\t@param {RegExp|undefined} [options.voidElements] RegeEx that matches elements that are considered void (self-closing)\n */\nrenderToString.render = renderToString;\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\nconst EMPTY_ARR = [];\nfunction renderToString(vnode, context, opts) {\n\tcontext = context || {};\n\topts = opts || {};\n\n\t// Performance optimization: `renderToString` is synchronous and we\n\t// therefore don't execute any effects. To do that we pass an empty\n\t// array to `options._commit` (`__c`). But we can go one step further\n\t// and avoid a lot of dirty checks and allocations by setting\n\t// `options._skipEffects` (`__s`) too.\n\tconst previousSkipEffects = options.__s;\n\toptions.__s = true;\n\n\tconst res = _renderToString(vnode, context, opts);\n\n\t// options._commit, we don't schedule any effects in this library right now,\n\t// so we can pass an empty queue to this hook.\n\tif (options.__c) options.__c(vnode, EMPTY_ARR);\n\tEMPTY_ARR.length = 0;\n\toptions.__s = previousSkipEffects;\n\treturn res;\n}\n\n/** The default export is an alias of `render()`. */\nfunction _renderToString(vnode, context, opts, inner, isSvgMode, selectValue) {\n\tif (vnode == null || typeof vnode === 'boolean') {\n\t\treturn '';\n\t}\n\n\t// #text nodes\n\tif (typeof vnode !== 'object') {\n\t\treturn encodeEntities(vnode);\n\t}\n\n\tlet pretty = opts.pretty,\n\t\tindentChar = pretty && typeof pretty === 'string' ? pretty : '\\t';\n\n\tif (Array.isArray(vnode)) {\n\t\tlet rendered = '';\n\t\tfor (let i = 0; i < vnode.length; i++) {\n\t\t\tif (pretty && i > 0) rendered += '\\n';\n\t\t\trendered += _renderToString(\n\t\t\t\tvnode[i],\n\t\t\t\tcontext,\n\t\t\t\topts,\n\t\t\t\tinner,\n\t\t\t\tisSvgMode,\n\t\t\t\tselectValue\n\t\t\t);\n\t\t}\n\t\treturn rendered;\n\t}\n\n\tlet nodeName = vnode.type,\n\t\tprops = vnode.props,\n\t\tisComponent = false;\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} else if (nodeName === Fragment) {\n\t\t\tconst children = [];\n\t\t\tgetChildren(children, vnode.props.children);\n\t\t\treturn _renderToString(\n\t\t\t\tchildren,\n\t\t\t\tcontext,\n\t\t\t\topts,\n\t\t\t\topts.shallowHighOrder !== false,\n\t\t\t\tisSvgMode,\n\t\t\t\tselectValue\n\t\t\t);\n\t\t} else {\n\t\t\tlet rendered;\n\n\t\t\tlet c = (vnode.__c = {\n\t\t\t\t__v: vnode,\n\t\t\t\tcontext,\n\t\t\t\tprops: vnode.props,\n\t\t\t\t// silently drop state updates\n\t\t\t\tsetState: noop,\n\t\t\t\tforceUpdate: noop,\n\t\t\t\t// hooks\n\t\t\t\t__h: []\n\t\t\t});\n\n\t\t\t// options._diff\n\t\t\tif (options.__b) options.__b(vnode);\n\n\t\t\t// options._render\n\t\t\tif (options.__r) options.__r(vnode);\n\n\t\t\tif (\n\t\t\t\t!nodeName.prototype ||\n\t\t\t\ttypeof nodeName.prototype.render !== 'function'\n\t\t\t) {\n\t\t\t\t// Necessary for createContext api. Setting this property will pass\n\t\t\t\t// the context value as `this.context` just for this component.\n\t\t\t\tlet cxType = nodeName.contextType;\n\t\t\t\tlet provider = cxType && context[cxType.__c];\n\t\t\t\tlet cctx =\n\t\t\t\t\tcxType != null\n\t\t\t\t\t\t? provider\n\t\t\t\t\t\t\t? provider.props.value\n\t\t\t\t\t\t\t: cxType.__\n\t\t\t\t\t\t: context;\n\n\t\t\t\t// stateless functional components\n\t\t\t\trendered = nodeName.call(vnode.__c, props, cctx);\n\t\t\t} else {\n\t\t\t\t// class-based components\n\t\t\t\tlet cxType = nodeName.contextType;\n\t\t\t\tlet provider = cxType && context[cxType.__c];\n\t\t\t\tlet cctx =\n\t\t\t\t\tcxType != null\n\t\t\t\t\t\t? provider\n\t\t\t\t\t\t\t? provider.props.value\n\t\t\t\t\t\t\t: cxType.__\n\t\t\t\t\t\t: context;\n\n\t\t\t\t// c = new nodeName(props, context);\n\t\t\t\tc = vnode.__c = new nodeName(props, cctx);\n\t\t\t\tc.__v = vnode;\n\t\t\t\t// turn off stateful re-rendering:\n\t\t\t\tc._dirty = c.__d = true;\n\t\t\t\tc.props = props;\n\t\t\t\tif (c.state == null) c.state = {};\n\n\t\t\t\tif (c._nextState == null && c.__s == null) {\n\t\t\t\t\tc._nextState = c.__s = c.state;\n\t\t\t\t}\n\n\t\t\t\tc.context = cctx;\n\t\t\t\tif (nodeName.getDerivedStateFromProps)\n\t\t\t\t\tc.state = assign(\n\t\t\t\t\t\tassign({}, c.state),\n\t\t\t\t\t\tnodeName.getDerivedStateFromProps(c.props, c.state)\n\t\t\t\t\t);\n\t\t\t\telse if (c.componentWillMount) {\n\t\t\t\t\tc.componentWillMount();\n\n\t\t\t\t\t// If the user called setState in cWM we need to flush pending,\n\t\t\t\t\t// state updates. This is the same behaviour in React.\n\t\t\t\t\tc.state =\n\t\t\t\t\t\tc._nextState !== c.state\n\t\t\t\t\t\t\t? c._nextState\n\t\t\t\t\t\t\t: c.__s !== c.state\n\t\t\t\t\t\t\t? c.__s\n\t\t\t\t\t\t\t: c.state;\n\t\t\t\t}\n\n\t\t\t\trendered = c.render(c.props, c.state, c.context);\n\t\t\t}\n\n\t\t\tif (c.getChildContext) {\n\t\t\t\tcontext = assign(assign({}, context), c.getChildContext());\n\t\t\t}\n\n\t\t\tif (options.diffed) options.diffed(vnode);\n\t\t\treturn _renderToString(\n\t\t\t\trendered,\n\t\t\t\tcontext,\n\t\t\t\topts,\n\t\t\t\topts.shallowHighOrder !== false,\n\t\t\t\tisSvgMode,\n\t\t\t\tselectValue\n\t\t\t);\n\t\t}\n\t}\n\n\t// render JSX to HTML\n\tlet s = '<' + nodeName,\n\t\tpropChildren,\n\t\thtml;\n\n\tif (props) {\n\t\tlet attrs = Object.keys(props);\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 = props[name];\n\t\t\tif (name === 'children') {\n\t\t\t\tpropChildren = v;\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tif (UNSAFE_NAME.test(name)) continue;\n\n\t\t\tif (\n\t\t\t\t!(opts && opts.allAttributes) &&\n\t\t\t\t(name === 'key' ||\n\t\t\t\t\tname === 'ref' ||\n\t\t\t\t\tname === '__self' ||\n\t\t\t\t\tname === '__source')\n\t\t\t)\n\t\t\t\tcontinue;\n\n\t\t\tif (name === 'defaultValue') {\n\t\t\t\tname = 'value';\n\t\t\t} else if (name === 'className') {\n\t\t\t\tif (typeof props.class !== 'undefined') continue;\n\t\t\t\tname = 'class';\n\t\t\t} else 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 === 'htmlFor') {\n\t\t\t\tif (props.for) continue;\n\t\t\t\tname = 'for';\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\t// always use string values instead of booleans for aria attributes\n\t\t\t// also see https://github.com/preactjs/preact/pull/2347/files\n\t\t\tif (name[0] === 'a' && name['1'] === 'r' && typeof v === 'boolean') {\n\t\t\t\tv = String(v);\n\t\t\t}\n\n\t\t\tlet hooked =\n\t\t\t\topts.attributeHook &&\n\t\t\t\topts.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} else if (nodeName === 'textarea' && name === 'value') {\n\t\t\t\t// <textarea value=\"a&b\"> --> <textarea>a&amp;b</textarea>\n\t\t\t\tpropChildren = v;\n\t\t\t} else 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\n\t\t\t\tif (name === 'value') {\n\t\t\t\t\tif (nodeName === 'select') {\n\t\t\t\t\t\tselectValue = v;\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t} else if (\n\t\t\t\t\t\t// If we're looking at an <option> and it's the currently selected one\n\t\t\t\t\t\tnodeName === 'option' &&\n\t\t\t\t\t\tselectValue == v &&\n\t\t\t\t\t\t// and the <option> doesn't already have a selected attribute on it\n\t\t\t\t\t\ttypeof props.selected === 'undefined'\n\t\t\t\t\t) {\n\t\t\t\t\t\ts += ` selected`;\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 += '>';\n\n\tif (UNSAFE_NAME.test(nodeName))\n\t\tthrow new Error(`${nodeName} is not a valid HTML tag name in ${s}`);\n\n\tlet isVoid =\n\t\tVOID_ELEMENTS.test(nodeName) ||\n\t\t(opts.voidElements && opts.voidElements.test(nodeName));\n\tlet pieces = [];\n\n\tlet children;\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} else if (\n\t\tpropChildren != null &&\n\t\tgetChildren((children = []), propChildren).length\n\t) {\n\t\tlet hasLarge = pretty && ~s.indexOf('\\n');\n\t\tlet lastWasText = false;\n\n\t\tfor (let i = 0; i < children.length; i++) {\n\t\t\tlet child = children[i];\n\n\t\t\tif (child != null && child !== false) {\n\t\t\t\tlet childSvgMode =\n\t\t\t\t\t\tnodeName === 'svg'\n\t\t\t\t\t\t\t? true\n\t\t\t\t\t\t\t: nodeName === 'foreignObject'\n\t\t\t\t\t\t\t? false\n\t\t\t\t\t\t\t: isSvgMode,\n\t\t\t\t\tret = _renderToString(\n\t\t\t\t\t\tchild,\n\t\t\t\t\t\tcontext,\n\t\t\t\t\t\topts,\n\t\t\t\t\t\ttrue,\n\t\t\t\t\t\tchildSvgMode,\n\t\t\t\t\t\tselectValue\n\t\t\t\t\t);\n\n\t\t\t\tif (pretty && !hasLarge && isLargeString(ret)) hasLarge = true;\n\n\t\t\t\t// Skip if we received an empty string\n\t\t\t\tif (ret) {\n\t\t\t\t\tif (pretty) {\n\t\t\t\t\t\tlet isText = ret.length > 0 && ret[0] != '<';\n\n\t\t\t\t\t\t// We merge adjacent text nodes, otherwise each piece would be printed\n\t\t\t\t\t\t// on a new line.\n\t\t\t\t\t\tif (lastWasText && isText) {\n\t\t\t\t\t\t\tpieces[pieces.length - 1] += ret;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tpieces.push(ret);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tlastWasText = isText;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tpieces.push(ret);\n\t\t\t\t\t}\n\t\t\t\t}\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 || html) {\n\t\ts += pieces.join('');\n\t} else if (opts && opts.xml) {\n\t\treturn s.substring(0, s.length - 1) + ' />';\n\t}\n\n\tif (isVoid && !children && !html) {\n\t\ts = s.replace(/>$/, ' />');\n\t} else {\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 (\n\t\tcomponent.displayName ||\n\t\t(component !== Function && component.name) ||\n\t\tgetFallbackComponentName(component)\n\t);\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 as renderToStaticMarkup,\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 './index';\nimport { indent, encodeEntities, assign } from './util';\nimport prettyFormat from 'pretty-format';\n\n// we have to patch in Array support, Possible issue in npm.im/pretty-format\nlet preactPlugin = {\n\ttest(object) {\n\t\treturn (\n\t\t\tobject &&\n\t\t\ttypeof object === 'object' &&\n\t\t\t'type' in object &&\n\t\t\t'props' in object &&\n\t\t\t'key' in object\n\t\t);\n\t},\n\tprint(val, print, indent) {\n\t\treturn renderToString(val, preactPlugin.context, preactPlugin.opts, true);\n\t}\n};\n\nlet prettyFormatOpts = {\n\tplugins: [preactPlugin]\n};\n\nfunction attributeHook(name, value, context, opts, isComponent) {\n\tlet type = typeof value;\n\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 (\n\t\topts.skipFalseAttributes &&\n\t\t!isComponent &&\n\t\t(value === false ||\n\t\t\t((name === 'class' || name === 'style') && value === ''))\n\t)\n\t\treturn '';\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} else {\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\nlet defaultOpts = {\n\tattributeHook,\n\tjsx: true,\n\txml: false,\n\tfunctions: true,\n\tfunctionNames: true,\n\tskipFalseAttributes: true,\n\tpretty: ' '\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","c","s","IS_NON_DIMENSIONAL","ENCODED_ENTITIES","encodeEntities","input","String","test","replace","indent","char","isLargeString","length","ignoreLines","indexOf","JS_TO_CSS","styleObjToCss","str","prop","val","toLowerCase","undefined","assign","obj","props","i","getChildren","accumulator","children","Array","isArray","reduce","push","SHALLOW","shallow","UNNAMED","VOID_ELEMENTS","UNSAFE_NAME","noop","renderToString","render","EMPTY_ARR","vnode","context","opts","previousSkipEffects","options","__s","res","_renderToString","__c","inner","isSvgMode","selectValue","pretty","indentChar","rendered","component","nodeName","type","isComponent","renderRootComponent","Fragment","shallowHighOrder","__v","setState","forceUpdate","__h","__b","__r","prototype","cxType","contextType","provider","cctx","value","__","_dirty","__d","state","_nextState","getDerivedStateFromProps","componentWillMount","call","getChildContext","diffed","displayName","Function","name","toString","match","index","getFallbackComponentName","propChildren","html","attrs","Object","keys","sortAttributes","sort","v","allAttributes","hooked","attributeHook","__html","xml","selected","sub","Error","isVoid","voidElements","pieces","hasLarge","lastWasText","child","ret","isText","join","substring","shallowRender","ESCAPED_CHARACTERS","toISOString","Date","errorToString","regExpToString","RegExp","symbolToString","SYMBOL_REGEXP","NEWLINE_REGEXP","getSymbols","getOwnPropertySymbols","isToStringedArrayType","toStringed","printFunction","printSymbol","printError","printBasicValue","typeOf","printNumber","printString","min","constructor","printList","list","prevIndent","spacing","edgeSpacing","refs","maxDepth","currentDepth","plugins","body","innerIndent","print","printComplexValue","slice","hitMaxDepth","toJSON","printArguments","printArray","result","iterator","entries","current","next","done","printMap","printSet","symbols","filter","key","concat","printObject","printPlugin","plugin","p","indentation","DEFAULTS","Infinity","createIndent","preactPlugin","object","prettyFormatOpts","defaultOpts","functions","skipFalseAttributes","functionNames","forEach","hasOwnProperty","validateOptions","normalizeOptions","pluginsResult","prettyFormat","jsx","renderToJsxString"],"mappings":"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"}
1
+ {"version":3,"file":"jsx.module.js","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\t// eslint-disable-next-line\n\tSymbol = function (s) {\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 IS_NON_DIMENSIONAL = /acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|^--/i;\n\nconst ENCODED_ENTITIES = /[&<>\"]/;\n\nexport function encodeEntities(input) {\n\tconst s = String(input);\n\tif (!ENCODED_ENTITIES.test(s)) {\n\t\treturn s;\n\t}\n\treturn s\n\t\t.replace(/&/g, '&amp;')\n\t\t.replace(/</g, '&lt;')\n\t\t.replace(/>/g, '&gt;')\n\t\t.replace(/\"/g, '&quot;');\n}\n\nexport let indent = (s, char) =>\n\tString(s).replace(/(\\n+)/g, '$1' + (char || '\\t'));\n\nexport let isLargeString = (s, length, ignoreLines) =>\n\tString(s).length > (length || 40) ||\n\t(!ignoreLines && String(s).indexOf('\\n') !== -1) ||\n\tString(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 && val !== '') {\n\t\t\tif (str) str += ' ';\n\t\t\t// str += jsToCss(prop);\n\t\t\tstr +=\n\t\t\t\tprop[0] == '-'\n\t\t\t\t\t? prop\n\t\t\t\t\t: JS_TO_CSS[prop] ||\n\t\t\t\t\t (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 * Get flattened children from the children prop\n * @param {Array} accumulator\n * @param {any} children A `props.children` opaque object.\n * @returns {Array} accumulator\n * @private\n */\nexport function getChildren(accumulator, children) {\n\tif (Array.isArray(children)) {\n\t\tchildren.reduce(getChildren, accumulator);\n\t} else if (children != null && children !== false) {\n\t\taccumulator.push(children);\n\t}\n\treturn accumulator;\n}\n","import {\n\tencodeEntities,\n\tindent,\n\tisLargeString,\n\tstyleObjToCss,\n\tassign,\n\tgetChildren\n} from './util';\nimport { options, Fragment } from 'preact';\n\n/** @typedef {import('preact').VNode} VNode */\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\nconst UNSAFE_NAME = /[\\s\\n\\\\/='\"\\0<>]/;\n\nfunction markAsDirty() {\n\tthis.__d = true;\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 *\t@param {RegExp|undefined} [options.voidElements] RegeEx that matches elements that are considered void (self-closing)\n */\nrenderToString.render = renderToString;\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\nconst EMPTY_ARR = [];\nfunction renderToString(vnode, context, opts) {\n\tcontext = context || {};\n\topts = opts || {};\n\n\t// Performance optimization: `renderToString` is synchronous and we\n\t// therefore don't execute any effects. To do that we pass an empty\n\t// array to `options._commit` (`__c`). But we can go one step further\n\t// and avoid a lot of dirty checks and allocations by setting\n\t// `options._skipEffects` (`__s`) too.\n\tconst previousSkipEffects = options.__s;\n\toptions.__s = true;\n\n\tconst res = _renderToString(vnode, context, opts);\n\n\t// options._commit, we don't schedule any effects in this library right now,\n\t// so we can pass an empty queue to this hook.\n\tif (options.__c) options.__c(vnode, EMPTY_ARR);\n\tEMPTY_ARR.length = 0;\n\toptions.__s = previousSkipEffects;\n\treturn res;\n}\n\n/** The default export is an alias of `render()`. */\nfunction _renderToString(vnode, context, opts, inner, isSvgMode, selectValue) {\n\tif (vnode == null || typeof vnode === 'boolean') {\n\t\treturn '';\n\t}\n\n\t// #text nodes\n\tif (typeof vnode !== 'object') {\n\t\treturn encodeEntities(vnode);\n\t}\n\n\tlet pretty = opts.pretty,\n\t\tindentChar = pretty && typeof pretty === 'string' ? pretty : '\\t';\n\n\tif (Array.isArray(vnode)) {\n\t\tlet rendered = '';\n\t\tfor (let i = 0; i < vnode.length; i++) {\n\t\t\tif (pretty && i > 0) rendered += '\\n';\n\t\t\trendered += _renderToString(\n\t\t\t\tvnode[i],\n\t\t\t\tcontext,\n\t\t\t\topts,\n\t\t\t\tinner,\n\t\t\t\tisSvgMode,\n\t\t\t\tselectValue\n\t\t\t);\n\t\t}\n\t\treturn rendered;\n\t}\n\n\tlet nodeName = vnode.type,\n\t\tprops = vnode.props,\n\t\tisComponent = false;\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} else if (nodeName === Fragment) {\n\t\t\tconst children = [];\n\t\t\tgetChildren(children, vnode.props.children);\n\t\t\treturn _renderToString(\n\t\t\t\tchildren,\n\t\t\t\tcontext,\n\t\t\t\topts,\n\t\t\t\topts.shallowHighOrder !== false,\n\t\t\t\tisSvgMode,\n\t\t\t\tselectValue\n\t\t\t);\n\t\t} else {\n\t\t\tlet rendered;\n\n\t\t\tlet c = (vnode.__c = {\n\t\t\t\t__v: vnode,\n\t\t\t\tcontext,\n\t\t\t\tprops: vnode.props,\n\t\t\t\t// silently drop state updates\n\t\t\t\tsetState: markAsDirty,\n\t\t\t\tforceUpdate: markAsDirty,\n\t\t\t\t__d: true,\n\t\t\t\t// hooks\n\t\t\t\t__h: []\n\t\t\t});\n\n\t\t\t// options._diff\n\t\t\tif (options.__b) options.__b(vnode);\n\n\t\t\t// options._render\n\t\t\tlet renderHook = options.__r;\n\n\t\t\tif (\n\t\t\t\t!nodeName.prototype ||\n\t\t\t\ttypeof nodeName.prototype.render !== 'function'\n\t\t\t) {\n\t\t\t\t// Necessary for createContext api. Setting this property will pass\n\t\t\t\t// the context value as `this.context` just for this component.\n\t\t\t\tlet cxType = nodeName.contextType;\n\t\t\t\tlet provider = cxType && context[cxType.__c];\n\t\t\t\tlet cctx =\n\t\t\t\t\tcxType != null\n\t\t\t\t\t\t? provider\n\t\t\t\t\t\t\t? provider.props.value\n\t\t\t\t\t\t\t: cxType.__\n\t\t\t\t\t\t: context;\n\n\t\t\t\t// If a hook invokes setState() to invalidate the component during rendering,\n\t\t\t\t// re-render it up to 25 times to allow \"settling\" of memoized states.\n\t\t\t\t// Note:\n\t\t\t\t// This will need to be updated for Preact 11 to use internal.flags rather than component._dirty:\n\t\t\t\t// https://github.com/preactjs/preact/blob/d4ca6fdb19bc715e49fd144e69f7296b2f4daa40/src/diff/component.js#L35-L44\n\t\t\t\tlet count = 0;\n\t\t\t\twhile (c.__d && count++ < 25) {\n\t\t\t\t\tc.__d = false;\n\n\t\t\t\t\tif (renderHook) renderHook(vnode);\n\n\t\t\t\t\t// stateless functional components\n\t\t\t\t\trendered = nodeName.call(vnode.__c, props, cctx);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// class-based components\n\t\t\t\tlet cxType = nodeName.contextType;\n\t\t\t\tlet provider = cxType && context[cxType.__c];\n\t\t\t\tlet cctx =\n\t\t\t\t\tcxType != null\n\t\t\t\t\t\t? provider\n\t\t\t\t\t\t\t? provider.props.value\n\t\t\t\t\t\t\t: cxType.__\n\t\t\t\t\t\t: context;\n\n\t\t\t\t// c = new nodeName(props, context);\n\t\t\t\tc = vnode.__c = new nodeName(props, cctx);\n\t\t\t\tc.__v = vnode;\n\t\t\t\t// turn off stateful re-rendering:\n\t\t\t\tc._dirty = c.__d = true;\n\t\t\t\tc.props = props;\n\t\t\t\tif (c.state == null) c.state = {};\n\n\t\t\t\tif (c._nextState == null && c.__s == null) {\n\t\t\t\t\tc._nextState = c.__s = c.state;\n\t\t\t\t}\n\n\t\t\t\tc.context = cctx;\n\t\t\t\tif (nodeName.getDerivedStateFromProps)\n\t\t\t\t\tc.state = assign(\n\t\t\t\t\t\tassign({}, c.state),\n\t\t\t\t\t\tnodeName.getDerivedStateFromProps(c.props, c.state)\n\t\t\t\t\t);\n\t\t\t\telse if (c.componentWillMount) {\n\t\t\t\t\tc.componentWillMount();\n\n\t\t\t\t\t// If the user called setState in cWM we need to flush pending,\n\t\t\t\t\t// state updates. This is the same behaviour in React.\n\t\t\t\t\tc.state =\n\t\t\t\t\t\tc._nextState !== c.state\n\t\t\t\t\t\t\t? c._nextState\n\t\t\t\t\t\t\t: c.__s !== c.state\n\t\t\t\t\t\t\t? c.__s\n\t\t\t\t\t\t\t: c.state;\n\t\t\t\t}\n\n\t\t\t\tif (renderHook) renderHook(vnode);\n\n\t\t\t\trendered = c.render(c.props, c.state, c.context);\n\t\t\t}\n\n\t\t\tif (c.getChildContext) {\n\t\t\t\tcontext = assign(assign({}, context), c.getChildContext());\n\t\t\t}\n\n\t\t\tif (options.diffed) options.diffed(vnode);\n\t\t\treturn _renderToString(\n\t\t\t\trendered,\n\t\t\t\tcontext,\n\t\t\t\topts,\n\t\t\t\topts.shallowHighOrder !== false,\n\t\t\t\tisSvgMode,\n\t\t\t\tselectValue\n\t\t\t);\n\t\t}\n\t}\n\n\t// render JSX to HTML\n\tlet s = '<' + nodeName,\n\t\tpropChildren,\n\t\thtml;\n\n\tif (props) {\n\t\tlet attrs = Object.keys(props);\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 = props[name];\n\t\t\tif (name === 'children') {\n\t\t\t\tpropChildren = v;\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tif (UNSAFE_NAME.test(name)) continue;\n\n\t\t\tif (\n\t\t\t\t!(opts && opts.allAttributes) &&\n\t\t\t\t(name === 'key' ||\n\t\t\t\t\tname === 'ref' ||\n\t\t\t\t\tname === '__self' ||\n\t\t\t\t\tname === '__source')\n\t\t\t)\n\t\t\t\tcontinue;\n\n\t\t\tif (name === 'defaultValue') {\n\t\t\t\tname = 'value';\n\t\t\t} else if (name === 'className') {\n\t\t\t\tif (typeof props.class !== 'undefined') continue;\n\t\t\t\tname = 'class';\n\t\t\t} else 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 === 'htmlFor') {\n\t\t\t\tif (props.for) continue;\n\t\t\t\tname = 'for';\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\t// always use string values instead of booleans for aria attributes\n\t\t\t// also see https://github.com/preactjs/preact/pull/2347/files\n\t\t\tif (name[0] === 'a' && name['1'] === 'r' && typeof v === 'boolean') {\n\t\t\t\tv = String(v);\n\t\t\t}\n\n\t\t\tlet hooked =\n\t\t\t\topts.attributeHook &&\n\t\t\t\topts.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} else if (nodeName === 'textarea' && name === 'value') {\n\t\t\t\t// <textarea value=\"a&b\"> --> <textarea>a&amp;b</textarea>\n\t\t\t\tpropChildren = v;\n\t\t\t} else 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\n\t\t\t\tif (name === 'value') {\n\t\t\t\t\tif (nodeName === 'select') {\n\t\t\t\t\t\tselectValue = v;\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t} else if (\n\t\t\t\t\t\t// If we're looking at an <option> and it's the currently selected one\n\t\t\t\t\t\tnodeName === 'option' &&\n\t\t\t\t\t\tselectValue == v &&\n\t\t\t\t\t\t// and the <option> doesn't already have a selected attribute on it\n\t\t\t\t\t\ttypeof props.selected === 'undefined'\n\t\t\t\t\t) {\n\t\t\t\t\t\ts += ` selected`;\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 += '>';\n\n\tif (UNSAFE_NAME.test(nodeName))\n\t\tthrow new Error(`${nodeName} is not a valid HTML tag name in ${s}`);\n\n\tlet isVoid =\n\t\tVOID_ELEMENTS.test(nodeName) ||\n\t\t(opts.voidElements && opts.voidElements.test(nodeName));\n\tlet pieces = [];\n\n\tlet children;\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} else if (\n\t\tpropChildren != null &&\n\t\tgetChildren((children = []), propChildren).length\n\t) {\n\t\tlet hasLarge = pretty && ~s.indexOf('\\n');\n\t\tlet lastWasText = false;\n\n\t\tfor (let i = 0; i < children.length; i++) {\n\t\t\tlet child = children[i];\n\n\t\t\tif (child != null && child !== false) {\n\t\t\t\tlet childSvgMode =\n\t\t\t\t\t\tnodeName === 'svg'\n\t\t\t\t\t\t\t? true\n\t\t\t\t\t\t\t: nodeName === 'foreignObject'\n\t\t\t\t\t\t\t? false\n\t\t\t\t\t\t\t: isSvgMode,\n\t\t\t\t\tret = _renderToString(\n\t\t\t\t\t\tchild,\n\t\t\t\t\t\tcontext,\n\t\t\t\t\t\topts,\n\t\t\t\t\t\ttrue,\n\t\t\t\t\t\tchildSvgMode,\n\t\t\t\t\t\tselectValue\n\t\t\t\t\t);\n\n\t\t\t\tif (pretty && !hasLarge && isLargeString(ret)) hasLarge = true;\n\n\t\t\t\t// Skip if we received an empty string\n\t\t\t\tif (ret) {\n\t\t\t\t\tif (pretty) {\n\t\t\t\t\t\tlet isText = ret.length > 0 && ret[0] != '<';\n\n\t\t\t\t\t\t// We merge adjacent text nodes, otherwise each piece would be printed\n\t\t\t\t\t\t// on a new line.\n\t\t\t\t\t\tif (lastWasText && isText) {\n\t\t\t\t\t\t\tpieces[pieces.length - 1] += ret;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tpieces.push(ret);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tlastWasText = isText;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tpieces.push(ret);\n\t\t\t\t\t}\n\t\t\t\t}\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 || html) {\n\t\ts += pieces.join('');\n\t} else if (opts && opts.xml) {\n\t\treturn s.substring(0, s.length - 1) + ' />';\n\t}\n\n\tif (isVoid && !children && !html) {\n\t\ts = s.replace(/>$/, ' />');\n\t} else {\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 (\n\t\tcomponent.displayName ||\n\t\t(component !== Function && component.name) ||\n\t\tgetFallbackComponentName(component)\n\t);\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 as renderToStaticMarkup,\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 './index';\nimport { indent, encodeEntities, assign } from './util';\nimport prettyFormat from 'pretty-format';\n\n// we have to patch in Array support, Possible issue in npm.im/pretty-format\nlet preactPlugin = {\n\ttest(object) {\n\t\treturn (\n\t\t\tobject &&\n\t\t\ttypeof object === 'object' &&\n\t\t\t'type' in object &&\n\t\t\t'props' in object &&\n\t\t\t'key' in object\n\t\t);\n\t},\n\tprint(val, print, indent) {\n\t\treturn renderToString(val, preactPlugin.context, preactPlugin.opts, true);\n\t}\n};\n\nlet prettyFormatOpts = {\n\tplugins: [preactPlugin]\n};\n\nfunction attributeHook(name, value, context, opts, isComponent) {\n\tlet type = typeof value;\n\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 (\n\t\topts.skipFalseAttributes &&\n\t\t!isComponent &&\n\t\t(value === false ||\n\t\t\t((name === 'class' || name === 'style') && value === ''))\n\t)\n\t\treturn '';\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} else {\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\nlet defaultOpts = {\n\tattributeHook,\n\tjsx: true,\n\txml: false,\n\tfunctions: true,\n\tfunctionNames: true,\n\tskipFalseAttributes: true,\n\tpretty: ' '\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","c","s","IS_NON_DIMENSIONAL","ENCODED_ENTITIES","encodeEntities","input","String","test","replace","indent","char","isLargeString","length","ignoreLines","indexOf","JS_TO_CSS","styleObjToCss","str","prop","val","toLowerCase","undefined","assign","obj","props","i","getChildren","accumulator","children","Array","isArray","reduce","push","SHALLOW","shallow","UNNAMED","VOID_ELEMENTS","UNSAFE_NAME","markAsDirty","this","__d","renderToString","render","EMPTY_ARR","vnode","context","opts","previousSkipEffects","options","__s","res","_renderToString","__c","inner","isSvgMode","selectValue","pretty","indentChar","rendered","component","nodeName","type","isComponent","renderRootComponent","Fragment","shallowHighOrder","__v","setState","forceUpdate","__h","__b","renderHook","__r","prototype","cxType","contextType","provider","cctx","value","__","_dirty","state","_nextState","getDerivedStateFromProps","componentWillMount","count","call","getChildContext","diffed","displayName","Function","name","toString","match","index","getFallbackComponentName","propChildren","html","attrs","Object","keys","sortAttributes","sort","v","allAttributes","hooked","attributeHook","__html","xml","selected","sub","Error","isVoid","voidElements","pieces","hasLarge","lastWasText","child","ret","isText","join","substring","shallowRender","ESCAPED_CHARACTERS","toISOString","Date","errorToString","regExpToString","RegExp","symbolToString","SYMBOL_REGEXP","NEWLINE_REGEXP","getSymbols","getOwnPropertySymbols","isToStringedArrayType","toStringed","printFunction","printSymbol","printError","printBasicValue","typeOf","printNumber","printString","min","constructor","printList","list","prevIndent","spacing","edgeSpacing","refs","maxDepth","currentDepth","plugins","body","innerIndent","print","printComplexValue","slice","hitMaxDepth","toJSON","printArguments","printArray","result","iterator","entries","current","next","done","printMap","printSet","symbols","filter","key","concat","printObject","printPlugin","plugin","p","indentation","DEFAULTS","Infinity","createIndent","preactPlugin","object","prettyFormatOpts","defaultOpts","functions","skipFalseAttributes","functionNames","forEach","hasOwnProperty","validateOptions","normalizeOptions","pluginsResult","prettyFormat","jsx","renderToJsxString"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "preact-render-to-string",
3
3
  "amdName": "preactRenderToString",
4
- "version": "5.1.21",
4
+ "version": "5.2.0",
5
5
  "description": "Render JSX to an HTML string, with support for Preact components.",
6
6
  "main": "dist/index.js",
7
7
  "umd:main": "dist/index.js",