UNPKG

react-nojsx

Version:
2 lines (1 loc) 1.94 kB
'use strict';Object.defineProperty(exports,'__esModule',{value:!0});var _extends2=require('babel-runtime/helpers/extends'),_extends3=_interopRequireDefault(_extends2),_typeof2=require('babel-runtime/helpers/typeof'),_typeof3=_interopRequireDefault(_typeof2),_classCallCheck2=require('babel-runtime/helpers/classCallCheck'),_classCallCheck3=_interopRequireDefault(_classCallCheck2),_createClass2=require('babel-runtime/helpers/createClass'),_createClass3=_interopRequireDefault(_createClass2),_react=require('react'),_react2=_interopRequireDefault(_react);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var NoJSX=function(){function NoJSX(a){(0,_classCallCheck3.default)(this,NoJSX),this.data=a,this.parentKey=a.parentKey||null,this.elementsLength=0}return(0,_createClass3.default)(NoJSX,[{key:'compile',value:function compile(){return this.createReactElement(this.data)}},{key:'createReactElement',value:function createReactElement(a){var _this=this;if(!a)return null;this.elementsLength++;var b='string'==typeof a?{children:a,type:'span'}:a,c=this.elementsLength;a.props&&a.props.key?c=a.props.key:this.parentKey&&(c=this.parentKey+'_'+this.elementsLength);var d=NoJSX.getNewProps(b,c),e=null;return Array.isArray(b.children)?e=1===b.children.length?this.createReactElement(b.children[0]):b.children.map(function(f){return _this.createReactElement(f)}):'object'==(0,_typeof3.default)(b.children)&&(e=this.createReactElement(b.children)),d.dangerouslySetInnerHTML?_react2.default.createElement(b.type,d):_react2.default.createElement(b.type,d,e)}}],[{key:'getNewProps',value:function getNewProps(a,b){var c=a.props&&a.props.dangerouslySetInnerHTML,d=a.props?(0,_extends3.default)({},a.props,{key:b}):{key:b};return a.escape||'string'!=typeof a.children||c?d:(0,_extends3.default)({},d,{dangerouslySetInnerHTML:{__html:a.children}})}}]),NoJSX}();exports.default=NoJSX;module.exports=exports['default'];