'use strict';
var Parser = require('../tree_construction/parser'),
ParsingUnit = require('./parsing_unit');
//API exports.parseDocument = function (html, treeAdapter) {
//NOTE: this should be reentrant, so we create new parser here var parser = new Parser(treeAdapter), parsingUnit = new ParsingUnit(parser); //NOTE: override parser loop method parser._runParsingLoop = function () { parsingUnit.parsingLoopLock = true; while (!parsingUnit.suspended && !this.stopped) this._iterateParsingLoop(); parsingUnit.parsingLoopLock = false; if (this.stopped) parsingUnit.callback(this.document); }; //NOTE: wait while parserController will be adopted by calling code, then //start parsing process.nextTick(function () { parser.parse(html); }); return parsingUnit;
};
exports.parseInnerHtml = function (innerHtml, contextElement, treeAdapter) {
//NOTE: this should be reentrant, so we create new parser here var parser = new Parser(treeAdapter); return parser.parseFragment(innerHtml, contextElement);
};