UNPKG

jsdom-se

Version:

jsdom fork for silent errors - A JavaScript implementation of the DOM and HTML standards

66 lines (50 loc) 1.53 kB
"use strict"; // Tree traversing exports.getFirstChild = function (node) { return node.childNodes[0]; }; exports.getChildNodes = function (node) { // parse5 treats template elements specially, assuming you return an array whose single item is the document fragment return node._templateContents ? [node._templateContents] : node.childNodes; }; exports.getParentNode = function (node) { return node.parentNode; }; exports.getAttrList = function (node) { return node.attributes; }; // Node data exports.getTagName = function (element) { return element.tagName.toLowerCase(); }; exports.getNamespaceURI = function (element) { return element.namespaceURI || "http://www.w3.org/1999/xhtml"; }; exports.getTextNodeContent = function (textNode) { return textNode.nodeValue; }; exports.getCommentNodeContent = function (commentNode) { return commentNode.nodeValue; }; exports.getDocumentTypeNodeName = function (doctypeNode) { return doctypeNode.name; }; exports.getDocumentTypeNodePublicId = function (doctypeNode) { return doctypeNode.publicId || null; }; exports.getDocumentTypeNodeSystemId = function (doctypeNode) { return doctypeNode.systemId || null; }; // Node types exports.isTextNode = function (node) { return node.nodeName === "#text"; }; exports.isCommentNode = function (node) { return node.nodeName === "#comment"; }; exports.isDocumentTypeNode = function (node) { return node.nodeType === 10; }; exports.isElementNode = function (node) { return Boolean(node.tagName); };