Sha256: 12ece7a0eda342a7277727b007a7953ca7904ec40dce97a5c9c865515ae723b5

Contents?: true

Size: 1.91 KB

Versions: 20

Compression:

Stored size: 1.91 KB

Contents

"use strict";
const nodeTypes = require("../node-type");
const { domSymbolTree } = require("../helpers/internal-constants");
// Serialization only requires a subset of the tree adapter interface.

// Tree traversing
exports.getFirstChild = node => node.firstChild;

exports.getChildNodes = node => node.childNodesForSerializing || domSymbolTree.childrenToArray(node);

exports.getParentNode = node => node.parentNode;

exports.getAttrList = element => {
  const attributeList = [...element._attributeList];

  if (element._isValue && attributeList.every(attr => attr.name !== "is")) {
    attributeList.unshift({
      name: "is",
      namespace: null,
      prefix: null,
      value: element._isValue
    });
  }

  return attributeList;
};

// Node data
exports.getTagName = element => element._qualifiedName; // https://github.com/inikulin/parse5/issues/231

exports.getNamespaceURI = element => element.namespaceURI;

exports.getTextNodeContent = exports.getCommentNodeContent = node => node.data;

exports.getDocumentTypeNodeName = node => node.name;

exports.getDocumentTypeNodePublicId = node => node.publicId;

exports.getDocumentTypeNodeSystemId = node => node.systemId;

exports.getTemplateContent = templateElement => templateElement._templateContents;

exports.getDocumentMode = document => document._mode;

// Node types
exports.isTextNode = node => node.nodeType === nodeTypes.TEXT_NODE;

exports.isCommentNode = node => node.nodeType === nodeTypes.COMMENT_NODE;

exports.isDocumentTypeNode = node => node.nodeType === nodeTypes.DOCUMENT_TYPE_NODE;

exports.isElementNode = node => node.nodeType === nodeTypes.ELEMENT_NODE;

// Source code location
exports.setNodeSourceCodeLocation = (node, location) => {
  node.sourceCodeLocation = location;
};

exports.getNodeSourceCodeLocation = node => node.sourceCodeLocation;

exports.updateNodeSourceCodeLocation = (node, endLocation) => {
  Object.assign(node.sourceCodeLocation, endLocation);
};

Version data entries

20 entries across 20 versions & 1 rubygems

Version Path
appmap-0.72.2 ./node_modules/jsdom/lib/jsdom/living/domparsing/parse5-adapter-serialization.js
appmap-0.72.1 ./node_modules/jsdom/lib/jsdom/living/domparsing/parse5-adapter-serialization.js
appmap-0.72.0 ./node_modules/jsdom/lib/jsdom/living/domparsing/parse5-adapter-serialization.js
appmap-0.71.0 ./node_modules/jsdom/lib/jsdom/living/domparsing/parse5-adapter-serialization.js
appmap-0.70.2 ./node_modules/jsdom/lib/jsdom/living/domparsing/parse5-adapter-serialization.js
appmap-0.70.1 ./node_modules/jsdom/lib/jsdom/living/domparsing/parse5-adapter-serialization.js
appmap-0.70.0 ./node_modules/jsdom/lib/jsdom/living/domparsing/parse5-adapter-serialization.js
appmap-0.69.0 ./node_modules/jsdom/lib/jsdom/living/domparsing/parse5-adapter-serialization.js
appmap-0.68.2 ./node_modules/jsdom/lib/jsdom/living/domparsing/parse5-adapter-serialization.js
appmap-0.68.1 ./node_modules/jsdom/lib/jsdom/living/domparsing/parse5-adapter-serialization.js
appmap-0.68.0 ./node_modules/jsdom/lib/jsdom/living/domparsing/parse5-adapter-serialization.js
appmap-0.67.1 ./node_modules/jsdom/lib/jsdom/living/domparsing/parse5-adapter-serialization.js
appmap-0.67.0 ./node_modules/jsdom/lib/jsdom/living/domparsing/parse5-adapter-serialization.js
appmap-0.66.2 ./node_modules/jsdom/lib/jsdom/living/domparsing/parse5-adapter-serialization.js
appmap-0.66.1 ./node_modules/jsdom/lib/jsdom/living/domparsing/parse5-adapter-serialization.js
appmap-0.66.0 ./node_modules/jsdom/lib/jsdom/living/domparsing/parse5-adapter-serialization.js
appmap-0.65.1 ./node_modules/jsdom/lib/jsdom/living/domparsing/parse5-adapter-serialization.js
appmap-0.65.0 ./node_modules/jsdom/lib/jsdom/living/domparsing/parse5-adapter-serialization.js
appmap-0.64.0 ./node_modules/jsdom/lib/jsdom/living/domparsing/parse5-adapter-serialization.js
appmap-0.63.0 ./node_modules/jsdom/lib/jsdom/living/domparsing/parse5-adapter-serialization.js