Comparing version 1.1.1 to 1.1.2
@@ -104,2 +104,8 @@ #!/usr/bin/env node | ||
}) | ||
.option('matchobj', { | ||
alias: 'm', | ||
default: false, | ||
type: 'boolean', | ||
description: 'insure matching fields using first object of array/object' | ||
}) | ||
.option('verbose', { | ||
@@ -122,3 +128,3 @@ alias: 'v', | ||
var { idxname,numberedindex, fileout, debug, verbose } = argv; | ||
var { idxname,numberedindex, fileout, debug, verbose,matchobj } = argv; | ||
@@ -195,2 +201,51 @@ if (idxname != "null") numberedindex = true; | ||
function getPropFromVarious(data){ | ||
var once = false; | ||
var r = []; | ||
var c = 0; | ||
for (const [key, value] of Object.entries(data)) { | ||
//console.log(`${key}: ${value.oid}`); | ||
var max = 0; | ||
for (const [key2, value2] of Object.entries(value)) { | ||
r[key2] = "1"; | ||
max++; | ||
} | ||
if (c> 100) once = true; | ||
c++; | ||
if (!once) break; | ||
} | ||
// var p = []; | ||
// for (const [key, value] of Object.entries(r)) { | ||
// } | ||
return r; | ||
} | ||
function getEntriesAsHeaderCSV(rData) | ||
{ | ||
var h=""; var max = 0; | ||
for (const [key2, value2] of Object.entries(rData)) { | ||
max++; | ||
} | ||
var c=0; | ||
for (const [pk, pv] of Object.entries(rData)) { | ||
var _s = ""; | ||
if (c < max - 1) | ||
_s = ","; | ||
h += pk + _s; | ||
c++; | ||
} | ||
return h; | ||
} | ||
function createObjectFilled(rData,_defaultValue=null) | ||
{ | ||
var r= new Object(); | ||
for (const [key, value] of Object.entries(rData)) { | ||
r[key]= _defaultValue; | ||
} | ||
return r; | ||
} | ||
function getCSVLinesPTO(data) { | ||
@@ -200,3 +255,59 @@ var h=""; | ||
var once = false; | ||
var r =new Object(); | ||
r= getPropFromVarious(data); | ||
h= getEntriesAsHeaderCSV(r); | ||
//console.log(h) | ||
var o2 = new Object(); | ||
var cl = 0; | ||
o2= createObjectFilled(r); | ||
for (const [pk, pv] of Object.entries(o2)) { cl++; } | ||
//console.log(cl); | ||
//console.log(o2); | ||
//return; | ||
//return; | ||
for (const [key, value] of Object.entries(data)) { | ||
var _prestringIndex = key + ","; | ||
if (!numberedindex) _prestringIndex = ""; | ||
ls += _prestringIndex; | ||
var o = new Object(); | ||
o = createObjectFilled(r); | ||
var c = 0; | ||
var criss = ""; | ||
for (const [pk, pv] of Object.entries(o)) { | ||
if(value.hasOwnProperty(pk)) | ||
{ | ||
o[pk] = value[pk]; | ||
} | ||
//else console.log("null data for prop:" + pk); | ||
// criss += o[pk]+ "," | ||
var _s = "\n"; | ||
if (c < cl - 1) _s = ","; | ||
ls += o[pk] + _s; | ||
c++; | ||
} | ||
// console.log(criss); | ||
//ls += "\n"; | ||
//if (key>1) break; | ||
} | ||
// return; | ||
var _prestring = idxname + ","; | ||
if (!numberedindex) _prestring = ""; | ||
return _prestring+ h + "\n" + ls; | ||
} | ||
function getCSVLinesPTOv1(data) { | ||
var h=""; | ||
var ls=""; | ||
var once = false; | ||
for (const [key, value] of Object.entries(data)) { | ||
//console.log(`${key}: ${value.oid}`); | ||
@@ -203,0 +314,0 @@ var max = 0; |
{ | ||
"name": "json2bash", | ||
"version": "1.1.1", | ||
"version": "1.1.2", | ||
"description": "A CLI to export json object to bash env. Also json array to csv", | ||
@@ -5,0 +5,0 @@ "main": "json2bash.js", |
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
127802
37
3365