preact-render-to-string
Advanced tools
Comparing version 1.3.0 to 1.4.0
@@ -1,2 +0,2 @@ | ||
(function(global,factory){if(typeof define === 'function' && define.amd){define(['exports'],factory);}else if(typeof exports !== 'undefined'){factory(exports);}else {var mod={exports:{}};factory(mod.exports);global.index = mod.exports;}})(this,function(exports){'use strict';exports.__esModule = true;var _extends=Object.assign || function(target){for(var i=1;i < arguments.length;i++) {var source=arguments[i];for(var key in source) {if(Object.prototype.hasOwnProperty.call(source,key)){target[key] = source[key];}}}return target;};exports.render = render;exports.shallowRender = shallowRender;var NO_RENDER={render:false};var ESC={'<':'<','>':'>','"':'"','&':'&'};var EMPTY={};var HOP=Object.prototype.hasOwnProperty;var escape=function escape(s){return String(s).replace(/[<>"&]/,function(a){return ESC[a] || a;});};function render(vnode,opts){return internalRender(vnode,opts || EMPTY,true);}function shallowRender(vnode,opts){return internalRender(vnode,_extends({shallow:true},opts || EMPTY),true);}exports['default'] = render;function internalRender(_x,_x2,_x3){var _again=true;_function: while(_again) {var vnode=_x,opts=_x2,root=_x3;_again = false;var _ref=vnode || EMPTY;var nodeName=_ref.nodeName;var attributes=_ref.attributes;var children=_ref.children;if(!nodeName){return escape(vnode);}if(typeof nodeName === 'function'){if(opts.shallow === true && !root){nodeName = getComponentName(nodeName);}else {var props=_extends({children:children},attributes),rendered=undefined;if(typeof nodeName.prototype.render !== 'function'){rendered = nodeName(props);}else {var c=new nodeName();c.setProps(props,NO_RENDER);rendered = c.render(c.props = props,c.state);}_x = rendered;_x2 = opts;_x3 = false;_again = true;_ref = nodeName = attributes = children = props = rendered = c = undefined;continue _function;}}var s='<' + nodeName;for(var _name in attributes) {if(HOP.call(attributes,_name)){var v=attributes[_name];if(_name === 'className'){if(attributes['class'])continue;_name = 'class';}if(v !== null && v !== undefined){s += ' ' + _name + '="' + escape(v) + '"';}}}s += '>';if(children && children.length){s += children.map(function(child){return internalRender(child,opts,false);}).join('');}s += '</' + nodeName + '>';return s;}}function getComponentName(component){return component.displayName || component.name || component.prototype.displayName || component.prototype.name || (Function.prototype.toString.call(component).match(/\s([^\(]+)/) || EMPTY)[1] || 'Component';}}); | ||
(function(global,factory){if(typeof define === 'function' && define.amd){define(['exports'],factory);}else if(typeof exports !== 'undefined'){factory(exports);}else {var mod={exports:{}};factory(mod.exports);global.index = mod.exports;}})(this,function(exports){'use strict';exports.__esModule = true;var _extends=Object.assign || function(target){for(var i=1;i < arguments.length;i++) {var source=arguments[i];for(var key in source) {if(Object.prototype.hasOwnProperty.call(source,key)){target[key] = source[key];}}}return target;};exports.render = render;exports.shallowRender = shallowRender;var NO_RENDER={render:false};var ESC={'<':'<','>':'>','"':'"','&':'&'};var EMPTY={};var HOP=Object.prototype.hasOwnProperty;var escape=function escape(s){return String(s).replace(/[<>"&]/,function(a){return ESC[a] || a;});};function render(vnode,opts){return internalRender(vnode,opts || EMPTY,true);}function shallowRender(vnode,opts){return internalRender(vnode,_extends({shallow:true},opts || EMPTY),true);}exports['default'] = render;function internalRender(_x,_x2,_x3){var _again=true;_function: while(_again) {var vnode=_x,opts=_x2,root=_x3;_again = false;var _ref=vnode || EMPTY;var nodeName=_ref.nodeName;var attributes=_ref.attributes;var children=_ref.children;if(!nodeName){return escape(vnode);}if(typeof nodeName === 'function'){if(opts.shallow === true && !root){nodeName = getComponentName(nodeName);}else {var props=_extends({children:children},attributes),rendered=undefined;if(typeof nodeName.prototype.render !== 'function'){rendered = nodeName(props);}else {var c=new nodeName(props);c.setProps(props,NO_RENDER);rendered = c.render(c.props = props,c.state);}_x = rendered;_x2 = opts;_x3 = false;_again = true;_ref = nodeName = attributes = children = props = rendered = c = undefined;continue _function;}}var s='<' + nodeName;for(var _name in attributes) {if(HOP.call(attributes,_name)){var v=attributes[_name];if(_name === 'className'){if(attributes['class'])continue;_name = 'class';}if(v !== null && v !== undefined){s += ' ' + _name + '="' + escape(v) + '"';}}}s += '>';if(children && children.length){s += children.map(function(child){return internalRender(child,opts,false);}).join('');}s += '</' + nodeName + '>';return s;}}function getComponentName(component){return component.displayName || component.name || component.prototype.displayName || component.prototype.name || (Function.prototype.toString.call(component).match(/\s([^\(]+)/) || EMPTY)[1] || 'Component';}}); | ||
//# sourceMappingURL=index.js.map |
{ | ||
"name": "preact-render-to-string", | ||
"version": "1.3.0", | ||
"version": "1.4.0", | ||
"description": "Render JSX to an HTML string, with support for Preact components.", | ||
@@ -5,0 +5,0 @@ "main": "dist/index.js", |
@@ -55,3 +55,3 @@ const NO_RENDER = { render: false }; | ||
// class-based components | ||
let c = new nodeName(); | ||
let c = new nodeName(props); | ||
c.setProps(props, NO_RENDER); | ||
@@ -58,0 +58,0 @@ rendered = c.render(c.props = props, c.state); |
@@ -93,6 +93,13 @@ import { default as defaultRender, render, shallowRender } from '../src'; | ||
const PROPS = { | ||
foo: 'test', | ||
children: ['content'] | ||
}; | ||
expect(rendered) | ||
.to.equal(`<div foo="test">content</div>`); | ||
expect(Test).to.have.been.calledOnce; | ||
expect(Test) | ||
.to.have.been.calledOnce | ||
.and.calledWith(match(PROPS)); | ||
@@ -102,6 +109,3 @@ expect(Test.prototype.render) | ||
.and.calledWithExactly( | ||
match({ | ||
foo: 'test', | ||
children: ['content'] | ||
}), | ||
match(PROPS), | ||
match({}) // empty state | ||
@@ -108,0 +112,0 @@ ); |
Sorry, the diff of this file is not supported yet
19467
242