Socket
Socket
Sign inDemoInstall

traverse

Package Overview
Dependencies
0
Maintainers
1
Versions
38
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 0.6.2 to 0.6.3

45

index.js

@@ -97,3 +97,3 @@ var traverse = module.exports = function (obj) {

forEach(Object_keys(src), function (key) {
forEach(objectKeys(src), function (key) {
dst[key] = clone(src[key]);

@@ -164,20 +164,27 @@ });

if (typeof node === 'object' && node !== null) {
state.keys = Object_keys(node);
state.isLeaf = state.keys.length == 0;
for (var i = 0; i < parents.length; i++) {
if (parents[i].node_ === node_) {
state.circular = parents[i];
break;
function updateState() {
if (typeof state.node === 'object' && state.node !== null) {
if (!state.keys || state.node_ !== state.node) {
state.keys = objectKeys(state.node)
}
state.isLeaf = state.keys.length == 0;
for (var i = 0; i < parents.length; i++) {
if (parents[i].node_ === node_) {
state.circular = parents[i];
break;
}
}
}
else {
state.isLeaf = true;
state.keys = null;
}
state.notLeaf = !state.isLeaf;
state.notRoot = !state.isRoot;
}
else {
state.isLeaf = true;
}
state.notLeaf = !state.isLeaf;
state.notRoot = !state.isRoot;
updateState();

@@ -196,2 +203,4 @@ // use return values to update if defined

updateState();
forEach(state.keys, function (key, i) {

@@ -265,3 +274,3 @@ path.push(key);

forEach(Object_keys(src), function (key) {
forEach(objectKeys(src), function (key) {
dst[key] = src[key];

@@ -274,3 +283,3 @@ });

var Object_keys = Object.keys || function keys (obj) {
var objectKeys = Object.keys || function keys (obj) {
var res = [];

@@ -300,3 +309,3 @@ for (var key in obj) res.push(key)

forEach(Object_keys(Traverse.prototype), function (key) {
forEach(objectKeys(Traverse.prototype), function (key) {
traverse[key] = function (obj) {

@@ -303,0 +312,0 @@ var args = [].slice.call(arguments, 1);

2

package.json
{
"name" : "traverse",
"version" : "0.6.2",
"version" : "0.6.3",
"description" : "traverse and transform objects by visiting every node on a recursive walk",

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

@@ -274,1 +274,28 @@ var test = require('tap').test;

});
test('objectToString', function (t) {
var obj = { a : 1, b : 2, c : [ 3, 4 ] };
var res = traverse(obj).forEach(function (x) {
if (typeof x === 'object' && !this.isRoot) {
this.update(JSON.stringify(x));
}
});
t.same(obj, res);
t.same(obj, { a : 1, b : 2, c : "[3,4]" });
t.end();
});
test('stringToObject', function (t) {
var obj = { a : 1, b : 2, c : "[3,4]" };
var res = traverse(obj).forEach(function (x) {
if (typeof x === 'string') {
this.update(JSON.parse(x));
}
else if (typeof x === 'number' && x % 2 === 0) {
this.update(x * 10);
}
});
t.deepEqual(obj, res);
t.deepEqual(obj, { a : 1, b : 20, c : [ 3, 40 ] });
t.end();
});

@@ -1,2 +0,2 @@

var traverse = require('traverse');
var traverse = require('./');
var test = require('testling');

@@ -3,0 +3,0 @@

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