all files / src/ dom-parser.js

60% Statements 9/15
33.33% Branches 2/6
0% Functions 0/2
57.14% Lines 8/14
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28                                       
'use strict'
 
var Parser = window.DOMParser
var parser = new Parser()
var htmlType = 'text/html'
var xhtmlType = 'application/xhtml+xml'
var isSupported = false
 
// Firefox/Opera/IE throw errors on unsupported types
try {
  // WebKit returns null on unsupported types
  Eif (parser.parseFromString('', htmlType)) isSupported = true
} catch (err) {}
 
module.exports = isSupported
  ? function parseHTML (markup, rootName) {
    return parser.parseFromString(markup, htmlType)
  }
  : function parseHTML (markup, rootName) {
    if (rootName !== 'HTML') {
      var doc = document.implementation.createHTMLDocument('')
      document.body.innerHTML = markup
      return doc
    } else {
      return parser.parseFromString(markup, xhtmlType)
    }
  }