UNPKG

react-raw-html

Version:

React components that output their children as raw HTML.

52 lines (32 loc) 1.6 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _multistream = require("multistream"); var _multistream2 = _interopRequireDefault(_multistream); var _react = require("react"); var _react2 = _interopRequireDefault(_react); var _flattenChildren = require("./flattenChildren"); var _flattenChildren2 = _interopRequireDefault(_flattenChildren); var _isReadableStream = require("./isReadableStream"); var _isReadableStream2 = _interopRequireDefault(_isReadableStream); var _rawHtmlFactory = require("./rawHtmlFactory"); var _rawHtmlFactory2 = _interopRequireDefault(_rawHtmlFactory); var _stringToStream = require("./stringToStream"); var _stringToStream2 = _interopRequireDefault(_stringToStream); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } // returns the children as either a readable stream or, if possible, just a simple string. var getChildrenAsStream = function getChildrenAsStream(children) { var childrenArray = (0, _flattenChildren2.default)(children); if (childrenArray.every(function (child) { return typeof child === "string"; })) { return childrenArray.join(""); } return (0, _multistream2.default)(childrenArray.map(function (child) { if ((0, _isReadableStream2.default)(child)) return child; if (typeof child === "string") return (0, _stringToStream2.default)(child); throw new Error("RawHtml can only have string or stream descendents when being run in node, but encountered " + child); })); }; exports.default = (0, _rawHtmlFactory2.default)(getChildrenAsStream);