Files
jsowell-charger-web/jsowell-ui/node_modules/posthtml-svg-mode/lib/renderer.js
Lemon f5e6e29f00 Merge branch 'dev-zza' into dev
# Conflicts:
#	jsowell-ui/.env.development
#	jsowell-ui/.env.staging
#	jsowell-ui/bin/build-sit.bat
#	jsowell-ui/bin/build.bat
#	jsowell-ui/src/api/adapayMember/adapayMember.js
#	jsowell-ui/src/api/pile/merchant.js
#	jsowell-ui/src/router/index.js
#	jsowell-ui/src/views/financial/financeDetail.vue
#	jsowell-ui/src/views/financial/merchant.vue
#	jsowell-ui/src/views/homeIndex/homeIndex.vue
#	jsowell-ui/src/views/login.vue
#	jsowell-ui/src/views/pile/basic/detail.vue
#	jsowell-ui/src/views/pile/station/components/SiteInfo.vue
#	jsowell-ui/src/views/pile/station/detail.vue
#	jsowell-ui/src/views/pile/station/orderReport.vue
2025-06-03 14:26:37 +08:00

50 lines
1.1 KiB
JavaScript

const merge = require('merge-options');
const renderer = require('posthtml-render');
const api = require('posthtml/lib/api');
const defaultOptions = {
closingSingleTag: 'slash',
singleTags: [
'circle',
'path',
'ellipse',
'line',
'path',
'polygon',
'polyline',
'rect',
'use',
'animateTransform',
'stop'
]
};
/**
* @param {PostHTMLTree} tree
* @param {Object|null} [options] {@see https://github.com/posthtml/posthtml-render#options}
*/
module.exports = function xmlRenderer(tree, options) {
const opts = merge(defaultOptions, options || {});
/**
* Workaround for https://github.com/fb55/htmlparser2/issues/187
* Also see https://github.com/fb55/htmlparser2/pull/129
*/
opts.singleTags = opts.singleTags.filter((tag) => {
let hasContent = false;
api.match.call(tree, { tag }, (node) => {
if (typeof node.content !== 'undefined' && !hasContent) {
hasContent = true;
}
return node;
});
return !hasContent;
});
return renderer(tree, opts);
};
module.exports.defaultOptions = defaultOptions;