Socket
Socket
Sign inDemoInstall

fast-xml-parser

Package Overview
Dependencies
Maintainers
1
Versions
136
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

fast-xml-parser - npm Package Compare versions

Comparing version 4.0.0-beta.7 to 4.0.0-beta.8

3

CHANGELOG.md
Note: If you find missing information about particular minor version, that version must have been changed without any functional change in this library.
** 4.0.0-beta.8 / 2021-12-13**
* call tagValueProcessor for stop nodes
** 4.0.0-beta.7 / 2021-12-09**

@@ -4,0 +7,0 @@ * fix Validator bug when an attribute has no value but '=' only

3

package.json
{
"name": "fast-xml-parser",
"version": "4.0.0-beta.7",
"version": "4.0.0-beta.8",
"description": "Validate XML, Parse XML, Build XML without C/C++ based libraries",

@@ -50,2 +50,3 @@ "main": "./src/fxp.js",

"babel-loader": "^8.2.2",
"cytorus": "^0.2.9",
"eslint": "^8.3.0",

@@ -52,0 +53,0 @@ "he": "^1.2.0",

@@ -75,4 +75,5 @@ 'use strict';

* @param {boolean} isLeafNode
* @param {boolean} escapeEntities
*/
function parseTextData(val, tagName, jPath, dontTrim, hasAttributes, isLeafNode) {
function parseTextData(val, tagName, jPath, dontTrim, hasAttributes, isLeafNode, escapeEntities) {
if (val !== undefined) {

@@ -83,3 +84,3 @@ if (this.options.trimValues && !dontTrim) {

if(val.length > 0){
val = this.replaceEntitiesValue(val);
if(!escapeEntities) val = this.replaceEntitiesValue(val);

@@ -198,10 +199,3 @@ const newval = this.options.tagValueProcessor(tagName, val, jPath, hasAttributes, isLeafNode);

if(currentNode){
textData = this.parseTextData(textData
, currentNode.tagname
, jPath
,false
, currentNode[":@"] ? Object.keys(currentNode[":@"]).length !== 0 : false
, Object.keys(currentNode.child).length === 0);
if(textData !== undefined && textData !== "") currentNode.add(this.options.textNodeName, textData);
textData = "";
textData = this.saveTextToParentTag(textData, currentNode, jPath);
}

@@ -272,10 +266,3 @@

//when nested tag is found
textData = this.parseTextData(textData
, currentNode.tagname
, jPath
, false
, currentNode[":@"] ? Object.keys(currentNode[":@"]).length !== 0 : false
, false);
if(textData !== undefined && textData !== "") currentNode.add(this.options.textNodeName, textData);
textData = "";
textData = this.saveTextToParentTag(textData, currentNode, jPath, false);
}

@@ -313,2 +300,6 @@ }

}
if(tagContent) {
tagContent = this.parseTextData(tagContent, tagName, jPath, true, attrExpPresent, true, true);
}
jPath = jPath.substr(0, jPath.lastIndexOf("."));

@@ -377,4 +368,6 @@ childNode.add(this.options.textNodeName, tagContent);

}
function saveTextToParentTag(textData, currentNode, jPath) {
function saveTextToParentTag(textData, currentNode, jPath, isLeafNode) {
if (textData) { //store previously collected data as textNode
if(isLeafNode === undefined) isLeafNode = Object.keys(currentNode.child).length === 0
textData = this.parseTextData(textData,

@@ -385,3 +378,3 @@ currentNode.tagname,

currentNode[":@"] ? Object.keys(currentNode[":@"]).length !== 0 : false,
Object.keys(currentNode.child).length === 0);
isLeafNode);

@@ -388,0 +381,0 @@ if (textData !== undefined && textData !== "")

SocketSocket SOC 2 Logo

Product

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

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc