Socket
Socket
Sign inDemoInstall

domhandler

Package Overview
Dependencies
1
Maintainers
1
Versions
33
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 4.0.0 to 4.1.0

readme.md

7

lib/index.d.ts

@@ -29,2 +29,8 @@ import { Node, Element, DataNode, NodeWithChildren, Document } from "./node";

normalizeWhitespace?: boolean;
/**
* Treat the markup as XML.
*
* @default false
*/
xmlMode?: boolean;
}

@@ -78,5 +84,4 @@ interface ParserInterface {

protected addNode(node: Node): void;
protected addDataNode(node: DataNode): void;
}
export default DomHandler;
//# sourceMappingURL=index.d.ts.map

14

lib/index.js

@@ -14,2 +14,3 @@ "use strict";

exports.DomHandler = void 0;
var domelementtype_1 = require("domelementtype");
var node_1 = require("./node");

@@ -90,3 +91,4 @@ __exportStar(require("./node"), exports);

DomHandler.prototype.onopentag = function (name, attribs) {
var element = new node_1.Element(name, attribs);
var type = this.options.xmlMode ? domelementtype_1.ElementType.Tag : undefined;
var element = new node_1.Element(name, attribs, undefined, type);
this.addNode(element);

@@ -98,3 +100,3 @@ this.tagStack.push(element);

var lastNode = this.lastNode;
if (lastNode && lastNode.type === "text" /* Text */) {
if (lastNode && lastNode.type === domelementtype_1.ElementType.Text) {
if (normalizeWhitespace) {

@@ -117,3 +119,3 @@ lastNode.data = (lastNode.data + data).replace(reWhitespace, " ");

DomHandler.prototype.oncomment = function (data) {
if (this.lastNode && this.lastNode.type === "comment" /* Comment */) {
if (this.lastNode && this.lastNode.type === domelementtype_1.ElementType.Comment) {
this.lastNode.data += data;

@@ -131,3 +133,3 @@ return;

var text = new node_1.Text("");
var node = new node_1.NodeWithChildren("cdata" /* CDATA */, [text]);
var node = new node_1.NodeWithChildren(domelementtype_1.ElementType.CDATA, [text]);
this.addNode(node);

@@ -169,6 +171,2 @@ text.parent = node;

};
DomHandler.prototype.addDataNode = function (node) {
this.addNode(node);
this.lastNode = node;
};
return DomHandler;

@@ -175,0 +173,0 @@ }());

@@ -98,3 +98,3 @@ import { ElementType } from "domelementtype";

[name: string]: string;
}, children?: Node[]);
}, children?: Node[], type?: ElementType.Tag | ElementType.Script | ElementType.Style);
get tagName(): string;

@@ -101,0 +101,0 @@ set tagName(name: string);

@@ -10,2 +10,4 @@ "use strict";

return function (d, b) {
if (typeof b !== "function" && b !== null)
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
extendStatics(d, b);

@@ -29,11 +31,12 @@ function __() { this.constructor = d; }

exports.cloneNode = exports.Element = exports.Document = exports.NodeWithChildren = exports.ProcessingInstruction = exports.Comment = exports.Text = exports.DataNode = exports.Node = void 0;
var domelementtype_1 = require("domelementtype");
var nodeTypes = new Map([
["tag" /* Tag */, 1],
["script" /* Script */, 1],
["style" /* Style */, 1],
["directive" /* Directive */, 1],
["text" /* Text */, 3],
["cdata" /* CDATA */, 4],
["comment" /* Comment */, 8],
["root" /* Root */, 9],
[domelementtype_1.ElementType.Tag, 1],
[domelementtype_1.ElementType.Script, 1],
[domelementtype_1.ElementType.Style, 1],
[domelementtype_1.ElementType.Directive, 1],
[domelementtype_1.ElementType.Text, 3],
[domelementtype_1.ElementType.CDATA, 4],
[domelementtype_1.ElementType.Comment, 8],
[domelementtype_1.ElementType.Root, 9],
]);

@@ -142,3 +145,3 @@ /**

function Text(data) {
return _super.call(this, "text" /* Text */, data) || this;
return _super.call(this, domelementtype_1.ElementType.Text, data) || this;
}

@@ -151,3 +154,3 @@ return Text;

function Comment(data) {
return _super.call(this, "comment" /* Comment */, data) || this;
return _super.call(this, domelementtype_1.ElementType.Comment, data) || this;
}

@@ -160,3 +163,3 @@ return Comment;

function ProcessingInstruction(name, data) {
var _this = _super.call(this, "directive" /* Directive */, data) || this;
var _this = _super.call(this, domelementtype_1.ElementType.Directive, data) || this;
_this.name = name;

@@ -216,3 +219,3 @@ return _this;

function Document(children) {
return _super.call(this, "root" /* Root */, children) || this;
return _super.call(this, domelementtype_1.ElementType.Root, children) || this;
}

@@ -229,12 +232,12 @@ return Document;

*/
function Element(name, attribs, children) {
function Element(name, attribs, children, type) {
if (children === void 0) { children = []; }
var _this = _super.call(this, name === "script"
? "script" /* Script */
if (type === void 0) { type = name === "script"
? domelementtype_1.ElementType.Script
: name === "style"
? "style" /* Style */
: "tag" /* Tag */, children) || this;
? domelementtype_1.ElementType.Style
: domelementtype_1.ElementType.Tag; }
var _this = _super.call(this, type, children) || this;
_this.name = name;
_this.attribs = attribs;
_this.attribs = attribs;
return _this;

@@ -282,6 +285,6 @@ }

switch (node.type) {
case "text" /* Text */:
case domelementtype_1.ElementType.Text:
result = new Text(node.data);
break;
case "directive" /* Directive */: {
case domelementtype_1.ElementType.Directive: {
var instr = node;

@@ -296,8 +299,8 @@ result = new ProcessingInstruction(instr.name, instr.data);

}
case "comment" /* Comment */:
case domelementtype_1.ElementType.Comment:
result = new Comment(node.data);
break;
case "tag" /* Tag */:
case "script" /* Script */:
case "style" /* Style */: {
case domelementtype_1.ElementType.Tag:
case domelementtype_1.ElementType.Script:
case domelementtype_1.ElementType.Style: {
var elem = node;

@@ -316,3 +319,3 @@ var children = recursive ? cloneChildren(elem.children) : [];

}
case "cdata" /* CDATA */: {
case domelementtype_1.ElementType.CDATA: {
var cdata = node;

@@ -325,3 +328,3 @@ var children = recursive ? cloneChildren(cdata.children) : [];

}
case "root" /* Root */: {
case domelementtype_1.ElementType.Root: {
var doc = node;

@@ -337,3 +340,3 @@ var children = recursive ? cloneChildren(doc.children) : [];

}
case "doctype" /* Doctype */: {
case domelementtype_1.ElementType.Doctype: {
// This type isn't used yet.

@@ -340,0 +343,0 @@ throw new Error("Not implemented yet: ElementType.Doctype case");

{
"name": "domhandler",
"version": "4.0.0",
"version": "4.1.0",
"description": "Handler for htmlparser2 that turns pages into a dom",

@@ -36,3 +36,3 @@ "author": "Felix Boehm <me@feedic.com>",

"dependencies": {
"domelementtype": "^2.1.0"
"domelementtype": "^2.2.0"
},

@@ -46,4 +46,4 @@ "devDependencies": {

"eslint": "^7.9.0",
"eslint-config-prettier": "^6.0.0",
"htmlparser2": "^5.0.0",
"eslint-config-prettier": "^8.1.0",
"htmlparser2": "^6.0.0",
"jest": "^26.0.1",

@@ -50,0 +50,0 @@ "prettier": "^2.0.5",

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc