Files
coopgo/node_modules/hast-util-to-html/lib/index.js
sgauthier 6e64e138e2
All checks were successful
Publish To Prod / deploy_and_publish (push) Successful in 35s
planning
2024-10-14 09:15:30 +02:00

57 lines
1.8 KiB
JavaScript

'use strict'
var html = require('property-information/html')
var svg = require('property-information/svg')
var voids = require('html-void-elements')
var omission = require('./omission')
var one = require('./one')
module.exports = toHtml
var deprecationWarningIssued
function toHtml(node, options) {
var settings = options || {}
var quote = settings.quote || '"'
var alternative = quote === '"' ? "'" : '"'
if (quote !== '"' && quote !== "'") {
throw new Error('Invalid quote `' + quote + '`, expected `\'` or `"`')
}
if ('allowDangerousHTML' in settings && !deprecationWarningIssued) {
deprecationWarningIssued = true
console.warn(
'Deprecation warning: `allowDangerousHTML` is a nonstandard option, use `allowDangerousHtml` instead'
)
}
return one(
{
valid: settings.allowParseErrors ? 0 : 1,
safe: settings.allowDangerousCharacters ? 0 : 1,
schema: settings.space === 'svg' ? svg : html,
omit: settings.omitOptionalTags && omission,
quote: quote,
alternative: alternative,
smart: settings.quoteSmart,
unquoted: settings.preferUnquoted,
tight: settings.tightAttributes,
upperDoctype: settings.upperDoctype,
tightDoctype: settings.tightDoctype,
bogusComments: settings.bogusComments,
tightLists: settings.tightCommaSeparatedLists,
tightClose: settings.tightSelfClosing,
collapseEmpty: settings.collapseEmptyAttributes,
dangerous: settings.allowDangerousHtml || settings.allowDangerousHTML,
voids: settings.voids || voids.concat(),
entities: settings.entities || {},
close: settings.closeSelfClosing,
closeEmpty: settings.closeEmptyElements
},
node && typeof node === 'object' && 'length' in node
? {type: 'root', children: node}
: node
)
}