parser.js 468 字节
Newer Older
fxy060608's avatar
fxy060608 已提交
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
const {
  Parser,
  DomHandler
} = require('stricter-htmlparser2')


module.exports = function parse(sourceCode) {
  const handler = new DomHandler()
  new Parser(handler, {
    xmlMode: false,
    lowerCaseAttributeNames: false,
    recognizeSelfClosing: true,
    lowerCaseTags: false
  }).end(sourceCode)
  return {
    type: 'tag',
    name: 'root',
    attribs: {},
    children: Array.isArray(handler.dom) ? handler.dom : [handler.dom]
  }
}