1 | 'use strict';
|
2 |
|
3 | var fromParse5 = require('hast-util-from-parse5');
|
4 | var Parser5 = require('parse5/lib/parser');
|
5 | var xtend = require('xtend');
|
6 |
|
7 | module.exports = parse;
|
8 |
|
9 | function parse(options) {
|
10 | var settings = xtend(options, this.data('settings'));
|
11 | var position = typeof settings.position === 'boolean' ? settings.position : true;
|
12 | var parse5 = new Parser5({locationInfo: position});
|
13 |
|
14 | this.Parser = parser;
|
15 |
|
16 | function parser(doc, file) {
|
17 | var fn = settings.fragment ? 'parseFragment' : 'parse';
|
18 |
|
19 | return fromParse5(parse5[fn](String(file)), {
|
20 | file: file,
|
21 | verbose: settings.verbose
|
22 | });
|
23 | }
|
24 | }
|