/** * @typedef {import('hast').Comment} Comment * @typedef {import('hast').Parents} Parents * * @typedef {import('../index.js').State} State */ import {stringifyEntities} from 'stringify-entities' const htmlCommentRegex = /^>|^->||--!>|'] const commentEntitySubset = ['<', '>'] /** * Serialize a comment. * * @param {Comment} node * Node to handle. * @param {number | undefined} _1 * Index of `node` in `parent. * @param {Parents | undefined} _2 * Parent of `node`. * @param {State} state * Info passed around about the current state. * @returns {string} * Serialized node. */ export function comment(node, _1, _2, state) { // See: return state.settings.bogusComments ? '' : '' /** * @param {string} $0 */ function encode($0) { return stringifyEntities( $0, Object.assign({}, state.settings.characterReferences, { subset: commentEntitySubset }) ) } }