New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details
Socket
Book a DemoSign in
Socket

xml2node

Package Overview
Dependencies
Maintainers
1
Versions
5
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

xml2node - npm Package Compare versions

Comparing version
1.0.2
to
1.0.3
+72
-13
dist/Xml2Node.js

@@ -16,7 +16,12 @@ (function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.Xml2Node = f()}})(function(){var define,module,exports;return (function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c="function"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error("Cannot find module '"+i+"'");throw a.code="MODULE_NOT_FOUND",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u="function"==typeof require&&require,i=0;i<t.length;i++)o(t[i]);return o}return r})()({1:[function(require,module,exports){

function Xml2Node() {
this.parser = new DOMParser();
function Xml2Node(domParser) {
this.parser = null;
if (domParser) {
this.parser = domParser;
} else {
this.parser = new DOMParser();
}
}
/**

@@ -33,4 +38,15 @@ * Parse specified XML text

var model = {};
me._parseInternally(doc.children[0], model, {stack: [], index: []});
var firstElement;
for (var i = 0; i < doc.childNodes.length; i++) {
var tagName = doc.childNodes[i].nodeName;
if (tagName && tagName != "#text" && tagName != "#comment") {
firstElement = doc.childNodes[i];
break;
}
}
me._parseInternally(firstElement, model, {stack: [], index: []});
return {

@@ -66,3 +82,4 @@ children: model

//-if text node is not empty
parentElementModel.value = element.textContent;
parentElementModel.value = me.removeUnnecessaryTail(element.textContent);
}

@@ -84,13 +101,32 @@

var elementHasValueOrChildren = false;
var elementHasValueOrChildren = (element.children.length > 0);
for (var nodeIdx = 0; nodeIdx < element.childNodes.length; nodeIdx++) {
if (element.childNodes[nodeIdx].nodeName == "#text") {
var blankReplacedElementContent = element.textContent.replace(/ /g, '').replace(/\r?\n/g, '').replace(/\n/g, '').replace(/\t/g, '');
if (blankReplacedElementContent.length == 0) {
} else {
//-if text node is not empty
elementHasValueOrChildren = true;
}
}
else if (element.childNodes[nodeIdx].nodeName == "#comment") {
} else {
elementHasValueOrChildren = true;
}
}
if (elementHasValueOrChildren) {
elementModel.children = {};
} else {
if (element.textContent && element.textContent.length > 0) {
elementModel.value = element.textContent;
return;
}
}
// else {
// if (element.textContent && element.textContent.length > 0) {
// elementModel.value = element.textContent;
// return;
// }
// }

@@ -132,3 +168,26 @@

};
/**
* Remove unncessary space or newline chars
* @param text
* @returns {string}
*/
Xml2Node.prototype.removeUnnecessaryTail = function (text) {
var textLen = text.length;
var tailIndex = textLen;
for (var charIdx = textLen - 1; charIdx >= 0; charIdx--) {
var charAtIdx = text.charAt(charIdx);
if (charAtIdx == ' ' || charAtIdx == '\n' || charAtIdx == '\r') {
//- if space or new line
} else {
//- if concrete char
tailIndex = charIdx;
break;
}
}
var resultText = text.substr(0, tailIndex + 1);
return resultText;
};
Xml2Node.prototype.generateExampleSourceCode = function (xmlText) {

@@ -206,3 +265,3 @@ var me = this;

if (printWithValue) {
attrStr += " // -> " + childNode.attr(childNodeAttrName);
attrStr += " // -> " + '"'+childNode.attr(childNodeAttrName)+'"';
}

@@ -221,3 +280,3 @@

if (printWithValue) {
valueStr += " // ->" + childNode.value();
valueStr += " // -> " + '"'+childNode.value()+'"';
}

@@ -224,0 +283,0 @@

+6
-2
{
"name": "xml2node",
"version": "1.0.2",
"version": "1.0.3",
"description": "Simple and easy XML parser",

@@ -11,3 +11,5 @@ "main": "index.js",

"build": "browserify index.js --standalone Xml2Node -o dist/Xml2Node.js",
"watch:example-js": "watchify index.js --standalone Xml2Node -o example/Xml2Node.js -v"
"watch:example-js": "watchify index.js --standalone Xml2Node -o example/Xml2Node.js -v",
"test":"mocha"
},

@@ -25,2 +27,4 @@ "repository": {

"devDependencies": {
"xmldom":"^0.1.27",
"mocha": "^5.2.0",
"browserify": "^14.5.0",

@@ -27,0 +31,0 @@ "http-server": "^0.10.0",

@@ -7,7 +7,12 @@ var XmlNode = require("./XmlNode.js");

function Xml2Node() {
this.parser = new DOMParser();
function Xml2Node(domParser) {
this.parser = null;
if (domParser) {
this.parser = domParser;
} else {
this.parser = new DOMParser();
}
}
/**

@@ -24,4 +29,15 @@ * Parse specified XML text

var model = {};
me._parseInternally(doc.children[0], model, {stack: [], index: []});
var firstElement;
for (var i = 0; i < doc.childNodes.length; i++) {
var tagName = doc.childNodes[i].nodeName;
if (tagName && tagName != "#text" && tagName != "#comment") {
firstElement = doc.childNodes[i];
break;
}
}
me._parseInternally(firstElement, model, {stack: [], index: []});
return {

@@ -57,3 +73,4 @@ children: model

//-if text node is not empty
parentElementModel.value = element.textContent;
parentElementModel.value = me.removeUnnecessaryTail(element.textContent);
}

@@ -75,13 +92,32 @@

var elementHasValueOrChildren = false;
var elementHasValueOrChildren = (element.children.length > 0);
for (var nodeIdx = 0; nodeIdx < element.childNodes.length; nodeIdx++) {
if (element.childNodes[nodeIdx].nodeName == "#text") {
var blankReplacedElementContent = element.textContent.replace(/ /g, '').replace(/\r?\n/g, '').replace(/\n/g, '').replace(/\t/g, '');
if (blankReplacedElementContent.length == 0) {
} else {
//-if text node is not empty
elementHasValueOrChildren = true;
}
}
else if (element.childNodes[nodeIdx].nodeName == "#comment") {
} else {
elementHasValueOrChildren = true;
}
}
if (elementHasValueOrChildren) {
elementModel.children = {};
} else {
if (element.textContent && element.textContent.length > 0) {
elementModel.value = element.textContent;
return;
}
}
// else {
// if (element.textContent && element.textContent.length > 0) {
// elementModel.value = element.textContent;
// return;
// }
// }

@@ -123,3 +159,26 @@

};
/**
* Remove unncessary space or newline chars
* @param text
* @returns {string}
*/
Xml2Node.prototype.removeUnnecessaryTail = function (text) {
var textLen = text.length;
var tailIndex = textLen;
for (var charIdx = textLen - 1; charIdx >= 0; charIdx--) {
var charAtIdx = text.charAt(charIdx);
if (charAtIdx == ' ' || charAtIdx == '\n' || charAtIdx == '\r') {
//- if space or new line
} else {
//- if concrete char
tailIndex = charIdx;
break;
}
}
var resultText = text.substr(0, tailIndex + 1);
return resultText;
};
Xml2Node.prototype.generateExampleSourceCode = function (xmlText) {

@@ -197,3 +256,3 @@ var me = this;

if (printWithValue) {
attrStr += " // -> " + childNode.attr(childNodeAttrName);
attrStr += " // -> " + '"'+childNode.attr(childNodeAttrName)+'"';
}

@@ -212,3 +271,3 @@

if (printWithValue) {
valueStr += " // ->" + childNode.value();
valueStr += " // -> " + '"'+childNode.value()+'"';
}

@@ -215,0 +274,0 @@