'use strict'; var htmljs = require('htmljs-parser'); class HtmlJsParser { parse(src, handlers) { var parser = htmljs.createParser({ ontext(event) { handlers.handleCharacters(event.text); }, oncontentplaceholder(event) { // placeholder within content handlers.handleBodyTextPlaceholder(event.expression, event.escape); }, onnestedcontentplaceholder(event) { // placeholder within string that is within content placeholder }, onattributeplaceholder(event) { // placeholder within attribute }, oncdata(event) { handlers.handleCharacters(event.text); }, onopentag(event) { handlers.handleStartElement(event); }, onclosetag(event) { var tagName = event.tagName; handlers.handleEndElement(tagName); }, ondtd(event) { // DTD (e.g. ) handlers.handleText(event.dtd); }, ondeclaration(event) { // Declaration (e.g. ) handlers.handleText(event.declaration); }, oncomment(event) { // Text within XML comment handlers.handleComment(event.text); }, onerror(event) { // Error } }); parser.parse(src); } } module.exports = HtmlJsParser;