fast-xml-parser
Advanced tools
Comparing version 4.0.0-beta.7 to 4.0.0-beta.8
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 |
{ | ||
"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 !== "") |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
90728
14
1766