|
'use strict'; |
|
|
|
Object.defineProperty(exports, '__esModule', { |
|
value: true |
|
}); |
|
exports.printText = |
|
exports.printProps = |
|
exports.printElementAsLeaf = |
|
exports.printElement = |
|
exports.printComment = |
|
exports.printChildren = |
|
void 0; |
|
var _escapeHTML = _interopRequireDefault(require('./escapeHTML')); |
|
function _interopRequireDefault(obj) { |
|
return obj && obj.__esModule ? obj : {default: obj}; |
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const printProps = (keys, props, config, indentation, depth, refs, printer) => { |
|
const indentationNext = indentation + config.indent; |
|
const colors = config.colors; |
|
return keys |
|
.map(key => { |
|
const value = props[key]; |
|
let printed = printer(value, config, indentationNext, depth, refs); |
|
if (typeof value !== 'string') { |
|
if (printed.indexOf('\n') !== -1) { |
|
printed = |
|
config.spacingOuter + |
|
indentationNext + |
|
printed + |
|
config.spacingOuter + |
|
indentation; |
|
} |
|
printed = `{${printed}}`; |
|
} |
|
return `${ |
|
config.spacingInner + |
|
indentation + |
|
colors.prop.open + |
|
key + |
|
colors.prop.close |
|
}=${colors.value.open}${printed}${colors.value.close}`; |
|
}) |
|
.join(''); |
|
}; |
|
|
|
|
|
exports.printProps = printProps; |
|
const printChildren = (children, config, indentation, depth, refs, printer) => |
|
children |
|
.map( |
|
child => |
|
config.spacingOuter + |
|
indentation + |
|
(typeof child === 'string' |
|
? printText(child, config) |
|
: printer(child, config, indentation, depth, refs)) |
|
) |
|
.join(''); |
|
exports.printChildren = printChildren; |
|
const printText = (text, config) => { |
|
const contentColor = config.colors.content; |
|
return ( |
|
contentColor.open + (0, _escapeHTML.default)(text) + contentColor.close |
|
); |
|
}; |
|
exports.printText = printText; |
|
const printComment = (comment, config) => { |
|
const commentColor = config.colors.comment; |
|
return `${commentColor.open}<!--${(0, _escapeHTML.default)(comment)}-->${ |
|
commentColor.close |
|
}`; |
|
}; |
|
|
|
|
|
|
|
|
|
|
|
exports.printComment = printComment; |
|
const printElement = ( |
|
type, |
|
printedProps, |
|
printedChildren, |
|
config, |
|
indentation |
|
) => { |
|
const tagColor = config.colors.tag; |
|
return `${tagColor.open}<${type}${ |
|
printedProps && |
|
tagColor.close + |
|
printedProps + |
|
config.spacingOuter + |
|
indentation + |
|
tagColor.open |
|
}${ |
|
printedChildren |
|
? `>${tagColor.close}${printedChildren}${config.spacingOuter}${indentation}${tagColor.open}</${type}` |
|
: `${printedProps && !config.min ? '' : ' '}/` |
|
}>${tagColor.close}`; |
|
}; |
|
exports.printElement = printElement; |
|
const printElementAsLeaf = (type, config) => { |
|
const tagColor = config.colors.tag; |
|
return `${tagColor.open}<${type}${tagColor.close} …${tagColor.open} />${tagColor.close}`; |
|
}; |
|
exports.printElementAsLeaf = printElementAsLeaf; |
|
|