@matthewp/linkedom
Version:
A triple-linked lists based DOM implementation
24 lines (19 loc) • 619 B
JavaScript
;
const {COMMENT_NODE} = require('../shared/constants.js');
const {VALUE} = require('../shared/symbols.js');
const {escape} = require('../shared/text-escaper.js');
const {CharacterData} = require('./character-data.js');
/**
* @implements globalThis.Comment
*/
class Comment extends CharacterData {
constructor(ownerDocument, data = '') {
super(ownerDocument, '#comment', COMMENT_NODE, data);
}
cloneNode() {
const {ownerDocument, [VALUE]: data} = this;
return new Comment(ownerDocument, data);
}
toString() { return `<!--${escape(this[VALUE])}-->`; }
}
exports.Comment = Comment