Socket
Socket
Sign inDemoInstall

node-html-parser

Package Overview
Dependencies
10
Maintainers
1
Versions
119
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 3.3.3 to 3.3.4

4

dist/esm/nodes/html.js

@@ -229,3 +229,3 @@ import he from 'he';

else {
let text = node.text;
let text = node.trimmedText;
if (currentBlock.prependWhitespace) {

@@ -367,3 +367,3 @@ text = ` ${text}`;

}
node.rawText = node.rawText.trim();
node.rawText = node.trimmedText;
}

@@ -370,0 +370,0 @@ else if (node.nodeType === NodeType.ELEMENT_NODE) {

@@ -18,2 +18,37 @@ import NodeType from './type';

/**
* Returns text with all whitespace trimmed except single leading/trailing non-breaking space
*/
get trimmedText() {
if (this._trimmedText !== undefined)
return this._trimmedText;
const text = this.rawText;
let i = 0;
let startPos;
let endPos;
while (i >= 0 && i < text.length) {
if (/\S/.test(text[i])) {
if (startPos === undefined) {
startPos = i;
i = text.length;
}
else {
endPos = i;
i = void 0;
}
}
if (startPos === undefined)
i++;
else
i--;
}
if (startPos === undefined)
startPos = 0;
if (endPos === undefined)
endPos = text.length - 1;
const hasLeadingSpace = startPos > 0 && /[^\S\r\n]/.test(text[startPos - 1]);
const hasTrailingSpace = endPos < (text.length - 1) && /[^\S\r\n]/.test(text[endPos + 1]);
this._trimmedText = (hasLeadingSpace ? ' ' : '') + text.slice(startPos, endPos + 1) + (hasTrailingSpace ? ' ' : '');
return this._trimmedText;
}
/**
* Get unescaped text value of current node and its children.

@@ -20,0 +55,0 @@ * @return {string} text content

@@ -75,2 +75,41 @@ var __extends = (this && this.__extends) || (function () {

}
Object.defineProperty(TextNode.prototype, "trimmedText", {
/**
* Returns text with all whitespace trimmed except single leading/trailing non-breaking space
*/
get: function () {
if (this._trimmedText !== undefined)
return this._trimmedText;
var text = this.rawText;
var i = 0;
var startPos;
var endPos;
while (i >= 0 && i < text.length) {
if (/\S/.test(text[i])) {
if (startPos === undefined) {
startPos = i;
i = text.length;
}
else {
endPos = i;
i = void 0;
}
}
if (startPos === undefined)
i++;
else
i--;
}
if (startPos === undefined)
startPos = 0;
if (endPos === undefined)
endPos = text.length - 1;
var hasLeadingSpace = startPos > 0 && /[^\S\r\n]/.test(text[startPos - 1]);
var hasTrailingSpace = endPos < (text.length - 1) && /[^\S\r\n]/.test(text[endPos + 1]);
this._trimmedText = (hasLeadingSpace ? ' ' : '') + text.slice(startPos, endPos + 1) + (hasTrailingSpace ? ' ' : '');
return this._trimmedText;
},
enumerable: false,
configurable: true
});
Object.defineProperty(TextNode.prototype, "text", {

@@ -477,3 +516,3 @@ /**

else {
var text = node.text;
var text = node.trimmedText;
if (currentBlock.prependWhitespace) {

@@ -633,3 +672,3 @@ text = " " + text;

}
node.rawText = node.rawText.trim();
node.rawText = node.trimmedText;
}

@@ -636,0 +675,0 @@ else if (node.nodeType === type_3.default.ELEMENT_NODE) {

@@ -302,3 +302,3 @@ "use strict";

else {
var text = node.text;
var text = node.trimmedText;
if (currentBlock.prependWhitespace) {

@@ -458,3 +458,3 @@ text = " " + text;

}
node.rawText = node.rawText.trim();
node.rawText = node.trimmedText;
}

@@ -461,0 +461,0 @@ else if (node.nodeType === type_1.default.ELEMENT_NODE) {

@@ -16,3 +16,8 @@ import NodeType from './type';

nodeType: NodeType;
private _trimmedText?;
/**
* Returns text with all whitespace trimmed except single leading/trailing non-breaking space
*/
get trimmedText(): string;
/**
* Get unescaped text value of current node and its children.

@@ -19,0 +24,0 @@ * @return {string} text content

@@ -39,2 +39,41 @@ "use strict";

}
Object.defineProperty(TextNode.prototype, "trimmedText", {
/**
* Returns text with all whitespace trimmed except single leading/trailing non-breaking space
*/
get: function () {
if (this._trimmedText !== undefined)
return this._trimmedText;
var text = this.rawText;
var i = 0;
var startPos;
var endPos;
while (i >= 0 && i < text.length) {
if (/\S/.test(text[i])) {
if (startPos === undefined) {
startPos = i;
i = text.length;
}
else {
endPos = i;
i = void 0;
}
}
if (startPos === undefined)
i++;
else
i--;
}
if (startPos === undefined)
startPos = 0;
if (endPos === undefined)
endPos = text.length - 1;
var hasLeadingSpace = startPos > 0 && /[^\S\r\n]/.test(text[startPos - 1]);
var hasTrailingSpace = endPos < (text.length - 1) && /[^\S\r\n]/.test(text[endPos + 1]);
this._trimmedText = (hasLeadingSpace ? ' ' : '') + text.slice(startPos, endPos + 1) + (hasTrailingSpace ? ' ' : '');
return this._trimmedText;
},
enumerable: false,
configurable: true
});
Object.defineProperty(TextNode.prototype, "text", {

@@ -41,0 +80,0 @@ /**

{
"name": "node-html-parser",
"version": "3.3.3",
"version": "3.3.4",
"description": "A very fast HTML parser, generating a simplified DOM, with basic element query support.",

@@ -5,0 +5,0 @@ "main": "dist/index.js",

SocketSocket SOC 2 Logo

Product

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

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc