20 lines
628 B
JavaScript
20 lines
628 B
JavaScript
const beautify = require('pretty')
|
|
|
|
const isHtmlString = received => received && typeof received === 'string' && received[0] === '<'
|
|
const isVueWrapper = received => (
|
|
received &&
|
|
typeof received === 'object' &&
|
|
typeof received.isVueInstance === 'function'
|
|
)
|
|
|
|
module.exports = {
|
|
test (received) {
|
|
return isHtmlString(received) || isVueWrapper(received)
|
|
},
|
|
print (received) {
|
|
const html = (isVueWrapper(received) ? received.html() : received) || ''
|
|
const removedServerRenderedText = html.replace(/ data-server-rendered="true"/, '')
|
|
return beautify(removedServerRenderedText, { indent_size: 2 })
|
|
}
|
|
}
|