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 })
|
||
|
}
|
||
|
}
|