patternplate-client
Version:
Universal javascript client application for patternplate
52 lines (36 loc) • 3.19 kB
JavaScript
Object.defineProperty(exports, "__esModule", {
value: true
});
var _classnames = require('classnames');
var _classnames2 = _interopRequireDefault(_classnames);
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _highlight = require('./highlight');
var _highlight2 = _interopRequireDefault(_highlight);
var _toElements = require('./to-elements');
var _toElements2 = _interopRequireDefault(_toElements);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
exports.default = Code;
function Code(props) {
var className = (0, _classnames2.default)('code hljs', 'hljs-' + props.language);
var source = highlightCode(props.language, props.children);
return _react2.default.createElement(
'code',
{ className: className },
source
);
}
function highlightCode(language) {
var source = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
if (!language) {
return source;
}
if (!source) {
return source;
}
var hast = (0, _highlight2.default)(language, source);
return (0, _toElements2.default)(hast);
}
module.exports = exports['default'];
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NvdXJjZS9hcHBsaWNhdGlvbi9jb21wb25lbnRzL2NvbW1vbi9jb2RlL2luZGV4LmpzIl0sIm5hbWVzIjpbIkNvZGUiLCJwcm9wcyIsImNsYXNzTmFtZSIsImxhbmd1YWdlIiwic291cmNlIiwiaGlnaGxpZ2h0Q29kZSIsImNoaWxkcmVuIiwiaGFzdCJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUE7Ozs7QUFDQTs7OztBQUVBOzs7O0FBQ0E7Ozs7OztrQkFFZUEsSTs7O0FBRWYsU0FBU0EsSUFBVCxDQUFjQyxLQUFkLEVBQXFCO0FBQ3BCLEtBQU1DLFlBQVksMEJBQUssV0FBTCxZQUEwQkQsTUFBTUUsUUFBaEMsQ0FBbEI7QUFDQSxLQUFNQyxTQUFTQyxjQUFjSixNQUFNRSxRQUFwQixFQUE4QkYsTUFBTUssUUFBcEMsQ0FBZjs7QUFFQSxRQUNDO0FBQUE7QUFBQSxJQUFNLFdBQVdKLFNBQWpCO0FBQ0VFO0FBREYsRUFERDtBQUtBOztBQU9ELFNBQVNDLGFBQVQsQ0FBdUJGLFFBQXZCLEVBQThDO0FBQUEsS0FBYkMsTUFBYSx1RUFBSixFQUFJOztBQUM3QyxLQUFJLENBQUNELFFBQUwsRUFBZTtBQUNkLFNBQU9DLE1BQVA7QUFDQTtBQUNELEtBQUksQ0FBQ0EsTUFBTCxFQUFhO0FBQ1osU0FBT0EsTUFBUDtBQUNBO0FBQ0QsS0FBTUcsT0FBTyx5QkFBVUosUUFBVixFQUFvQkMsTUFBcEIsQ0FBYjtBQUNBLFFBQU8sMEJBQVdHLElBQVgsQ0FBUDtBQUNBIiwiZmlsZSI6ImluZGV4LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGpvaW4gZnJvbSAnY2xhc3NuYW1lcyc7XG5pbXBvcnQgUmVhY3QsIHtQcm9wVHlwZXMgYXMgdH0gZnJvbSAncmVhY3QnO1xuXG5pbXBvcnQgaGlnaGxpZ2h0IGZyb20gJy4vaGlnaGxpZ2h0JztcbmltcG9ydCB0b0VsZW1lbnRzIGZyb20gJy4vdG8tZWxlbWVudHMnO1xuXG5leHBvcnQgZGVmYXVsdCBDb2RlO1xuXG5mdW5jdGlvbiBDb2RlKHByb3BzKSB7XG5cdGNvbnN0IGNsYXNzTmFtZSA9IGpvaW4oJ2NvZGUgaGxqcycsIGBobGpzLSR7cHJvcHMubGFuZ3VhZ2V9YCk7XG5cdGNvbnN0IHNvdXJjZSA9IGhpZ2hsaWdodENvZGUocHJvcHMubGFuZ3VhZ2UsIHByb3BzLmNoaWxkcmVuKTtcblxuXHRyZXR1cm4gKFxuXHRcdDxjb2RlIGNsYXNzTmFtZT17Y2xhc3NOYW1lfT5cblx0XHRcdHtzb3VyY2V9XG5cdFx0PC9jb2RlPlxuXHQpO1xufVxuXG5Db2RlLnByb3BUeXBlcyA9IHtcblx0bGFuZ3VhZ2U6IHQuc3RyaW5nLmlzUmVxdWlyZWQsXG5cdGNoaWxkcmVuOiB0LnN0cmluZy5pc1JlcXVpcmVkXG59O1xuXG5mdW5jdGlvbiBoaWdobGlnaHRDb2RlKGxhbmd1YWdlLCBzb3VyY2UgPSAnJykge1xuXHRpZiAoIWxhbmd1YWdlKSB7XG5cdFx0cmV0dXJuIHNvdXJjZTtcblx0fVxuXHRpZiAoIXNvdXJjZSkge1xuXHRcdHJldHVybiBzb3VyY2U7XG5cdH1cblx0Y29uc3QgaGFzdCA9IGhpZ2hsaWdodChsYW5ndWFnZSwgc291cmNlKTtcblx0cmV0dXJuIHRvRWxlbWVudHMoaGFzdCk7XG59XG4iXX0=
;