New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

json-summary

Package Overview
Dependencies
Maintainers
1
Versions
15
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

json-summary - npm Package Compare versions

Comparing version 0.2.2 to 0.2.3

26

dist/json-summary.esm.js

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

// https://andrewtburks.dev/json-summary v0.2.2 Copyright 2019 Andrew Burks
// https://andrewtburks.dev/json-summary v0.2.3 Copyright 2019 Andrew Burks
const summarizer = (function() {

@@ -388,9 +388,9 @@ let defaultOptions = {

let tags = {
type: `<span class="json-summary json-summary-type json-summary-type-${value}">&lt;${value}&gt;</span>`,
value: `<span class="json-summary json-summary-value json-summary-value-${type}">${value}</span>`,
range: `<span class="json-summary json-summary-range json-summary-range-${type}">[${value[0]}, ${value[1]}]</span>`,
name: `<span class="json-summary json-summary-name">${value}</span>`,
length: `<span class="json-summary json-summary-length">(${value})</span>`,
circular: `<span class="json-summary json-summary-circular">${value}</span>`,
layer: `<span class="json-summary json-summary-checkbox ${
type: () => `<span class="json-summary json-summary-type json-summary-type-${value}">&lt;${value}&gt;</span>`,
value: () => `<span class="json-summary json-summary-value json-summary-value-${type}">${value}</span>`,
range: () => `<span class="json-summary json-summary-range json-summary-range-${type}">[${value[0]}, ${value[1]}]</span>`,
name: () => `<span class="json-summary json-summary-name">${value}</span>`,
length: () => `<span class="json-summary json-summary-length">(${value})</span>`,
circular: () => `<span class="json-summary json-summary-circular">${value}</span>`,
layer: () => `<span class="json-summary json-summary-checkbox ${
options.startExpanded ? "checked" : ""

@@ -405,11 +405,11 @@ }">

</span><div class="json-summary json-summary-layer">${value}</div>`,
child: `<div class="json-summary json-summary-child">${value}</div>`,
keys: `<span class="json-summary json-summary-keys">${value}</span>`
child: () => `<div class="json-summary json-summary-child">${value}</div>`,
keys: () => `<span class="json-summary json-summary-keys">${value}</span>`
};
return tags[role];
return tags[role]();
}
function htmlPercentageBar(percentage) {
return `<div class="json-summary json-summary-bar"><div class="json-summary json-summary-percentage" style="width:${percentage}%;"></div></div>`
return `<div class="json-summary json-summary-bar" title="${percentage.toFixed(2)}%"><div class="json-summary json-summary-percentage" style="width:${percentage}%;"></div></div>`
}

@@ -416,0 +416,0 @@

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

// https://andrewtburks.dev/json-summary v0.2.2 Copyright 2019 Andrew Burks
// https://andrewtburks.dev/json-summary v0.2.3 Copyright 2019 Andrew Burks
(function (global, factory) {

@@ -394,9 +394,9 @@ typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :

let tags = {
type: `<span class="json-summary json-summary-type json-summary-type-${value}">&lt;${value}&gt;</span>`,
value: `<span class="json-summary json-summary-value json-summary-value-${type}">${value}</span>`,
range: `<span class="json-summary json-summary-range json-summary-range-${type}">[${value[0]}, ${value[1]}]</span>`,
name: `<span class="json-summary json-summary-name">${value}</span>`,
length: `<span class="json-summary json-summary-length">(${value})</span>`,
circular: `<span class="json-summary json-summary-circular">${value}</span>`,
layer: `<span class="json-summary json-summary-checkbox ${
type: () => `<span class="json-summary json-summary-type json-summary-type-${value}">&lt;${value}&gt;</span>`,
value: () => `<span class="json-summary json-summary-value json-summary-value-${type}">${value}</span>`,
range: () => `<span class="json-summary json-summary-range json-summary-range-${type}">[${value[0]}, ${value[1]}]</span>`,
name: () => `<span class="json-summary json-summary-name">${value}</span>`,
length: () => `<span class="json-summary json-summary-length">(${value})</span>`,
circular: () => `<span class="json-summary json-summary-circular">${value}</span>`,
layer: () => `<span class="json-summary json-summary-checkbox ${
options.startExpanded ? "checked" : ""

@@ -411,11 +411,11 @@ }">

</span><div class="json-summary json-summary-layer">${value}</div>`,
child: `<div class="json-summary json-summary-child">${value}</div>`,
keys: `<span class="json-summary json-summary-keys">${value}</span>`
child: () => `<div class="json-summary json-summary-child">${value}</div>`,
keys: () => `<span class="json-summary json-summary-keys">${value}</span>`
};
return tags[role];
return tags[role]();
}
function htmlPercentageBar(percentage) {
return `<div class="json-summary json-summary-bar"><div class="json-summary json-summary-percentage" style="width:${percentage}%;"></div></div>`
return `<div class="json-summary json-summary-bar" title="${percentage.toFixed(2)}%"><div class="json-summary json-summary-percentage" style="width:${percentage}%;"></div></div>`
}

@@ -422,0 +422,0 @@

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

// https://andrewtburks.dev/json-summary v0.2.2 Copyright 2019 Andrew Burks
!function(e,n){"object"==typeof exports&&"undefined"!=typeof module?module.exports=n():"function"==typeof define&&define.amd?define(n):(e=e||self).jsonSummary=n()}(this,function(){"use strict";return function(){let e={arraySampleCount:10,indentation:" ",indentCount:2,showExampleValue:!0,startExpanded:!1};return function({arraySampleCount:n=10,indentation:t=" ",indentCount:r=2,showExampleValue:a=!0,startExpanded:s=!1}=e){let o={arraySampleCount:n,indentation:t,indentCount:r,showExampleValue:a,startExpanded:s};function u(e){let n={Array:!0,Object:!0,boolean:!0,string:!0,number:!0},t=e.filter(e=>n[e.type]);if(t.length){let e=t[0].type;return function(e,n){return e=e.filter(e=>e.type===n),{string:function(e){let n=e.reduce((e,n)=>Math.min(e,n.range[0]),1/0),t=e.reduce((e,n)=>Math.max(e,n.range[1]),-1/0);return{type:"string",example:e[0].example,range:[n,t],count:e.reduce((e,n)=>e+n.count,0)}},number:function(e){let n=e.reduce((e,n)=>Math.min(e,n.range[0]),1/0),t=e.reduce((e,n)=>Math.max(e,n.range[1]),-1/0);return{type:"number",example:e[0].example,range:[n,t],count:e.reduce((e,n)=>e+n.count,0)}},boolean:function(e){return{type:"boolean",example:e[0].example,count:e.reduce((e,n)=>e+n.count,0)}},Object:function(e){let n={};for(let t of e)if(!t.circular)for(let e of t.keys)!n[e]&&(n[e]=[]),n[e].push(t.items[e]);let t={type:"Object",keys:[],items:{},count:e.length};for(let e of Object.keys(n))t.keys.push(e),t.items[e]=u(n[e]);return t},Array:function(e){let n=u(e.map(e=>e.items[0]).filter(e=>e));return{count:e.length,items:{0:n},length:n.count/e.length,type:"Array"}}}[n](e)}(t.filter(n=>n.type===e),e)}return{count:0}}function l(e,n,t){return{type:`<span class="json-summary json-summary-type json-summary-type-${e}">&lt;${e}&gt;</span>`,value:`<span class="json-summary json-summary-value json-summary-value-${t}">${e}</span>`,range:`<span class="json-summary json-summary-range json-summary-range-${t}">[${e[0]}, ${e[1]}]</span>`,name:`<span class="json-summary json-summary-name">${e}</span>`,length:`<span class="json-summary json-summary-length">(${e})</span>`,circular:`<span class="json-summary json-summary-circular">${e}</span>`,layer:`<span class="json-summary json-summary-checkbox ${o.startExpanded?"checked":""}">\n <input type="checkbox" ${o.startExpanded?"checked":""}>\n <span class="json-summary-checkboxmarker" onclick="(function(me){\n me.parentNode.classList.toggle('checked');\n })(this)"></span>\n </span><div class="json-summary json-summary-layer">${e}</div>`,child:`<div class="json-summary json-summary-child">${e}</div>`,keys:`<span class="json-summary json-summary-keys">${e}</span>`}[n]}return{summarize:function(e){let t=function e(t){let r={Array:t=>{let r={count:1,type:"Array",length:t.length};if(t.length)if(n>0){let a=Math.min(n,t.length),s={};for(;a>0;){let e=Math.floor(Math.random()*t.length);s.hasOwnProperty(e)||(s[e]=t[e],a--)}let o=[];for(let[n,t]of Object.entries(s))o.push(e(t));let l=u(o);r.items={0:l}}else r.items={0:e(t[0])};else r.items={0:void 0};return r},Object:n=>{let t={count:1,type:"Object",keys:Object.keys(n),items:{}};for(let r of t.keys)t.items[r]=e(n[r]);return t},Other:e=>{let n;return"string"==typeof e?n=[e.length,e.length]:"number"==typeof e&&(n=[e,e]),{type:typeof e,example:e,count:1,range:n}}},a="Other";return t instanceof Array?a="Array":t instanceof Object&&(a="Object"),t&&t["*snippets_mark*"]?{type:a,circular:!0}:("Other"!==a&&(Object.defineProperty(t,"*snippets_mark*",{enumerable:!1,writable:!0,configurable:!0}),t["*snippets_mark*"]=!0),r[a](t))}(e);return function e(n){if(n&&n["*snippets_mark*"])if(delete n["*snippets_mark*"],n instanceof Array&&n.length)e(n[0]);else if(n instanceof Object)for(let t of Object.keys(n))e(n[t])}(e),t},printSummary:function(e){return function e(n,t,r){let a="";if(n.circular)a+=l("(circular reference)","circular");else if("Object"===n.type){a+="{";let r=n.keys.map(e=>`'${e}'`).join(", ");a+=l(r,"keys");let s=n.keys.map(r=>e(n.items[r],t+1,n.count));if(s.length){let e="\n";for(let r=0;r<n.keys.length;r++)e+=o.indentation.repeat((t+1)*o.indentCount),e+=l(n.keys[r],"name")+": ",n.count>1&&(e+=`<div class="json-summary json-summary-bar"><div class="json-summary json-summary-percentage" style="width:${n.items[n.keys[r]].count/n.count*100}%;"></div></div>`),e+=s[r],r<n.keys.length-1&&(e+=","),e+="\n";e+=o.indentation.repeat(t*o.indentCount),a+=l(e,"child")}a=l(a+="}","layer")}else if("Array"===n.type){if(a+=l(n.count>1?"μ = "+n.length.toFixed(1):n.length,"length")+" [",n.length){let r="Object"===n.items[0].type||"Array"===n.items[0].type;r&&(a+="\n"+o.indentation.repeat((t+1)*o.indentCount)),a+=e(n.items[0],t+1,n.count),r&&(a+="\n"+o.indentation.repeat(t*o.indentCount))}a+="]"}else null==n.example||null==n.example?a+=l("?","type"):a+=l(n.type,"type"),o.showExampleValue&&(a+=l(n.example,"value",n.type),n.count>1&&n.range&&(a+=l(n.range,"range",n.type)));return a}(e,0)}}}}()});
// https://andrewtburks.dev/json-summary v0.2.3 Copyright 2019 Andrew Burks
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e=e||self).jsonSummary=t()}(this,function(){"use strict";return function(){let e={arraySampleCount:10,indentation:" ",indentCount:2,showExampleValue:!0,startExpanded:!1};return function({arraySampleCount:t=10,indentation:n=" ",indentCount:r=2,showExampleValue:a=!0,startExpanded:s=!1}=e){let o={arraySampleCount:t,indentation:n,indentCount:r,showExampleValue:a,startExpanded:s};function u(e){let t={Array:!0,Object:!0,boolean:!0,string:!0,number:!0},n=e.filter(e=>t[e.type]);if(n.length){let e=n[0].type;return function(e,t){return e=e.filter(e=>e.type===t),{string:function(e){let t=e.reduce((e,t)=>Math.min(e,t.range[0]),1/0),n=e.reduce((e,t)=>Math.max(e,t.range[1]),-1/0);return{type:"string",example:e[0].example,range:[t,n],count:e.reduce((e,t)=>e+t.count,0)}},number:function(e){let t=e.reduce((e,t)=>Math.min(e,t.range[0]),1/0),n=e.reduce((e,t)=>Math.max(e,t.range[1]),-1/0);return{type:"number",example:e[0].example,range:[t,n],count:e.reduce((e,t)=>e+t.count,0)}},boolean:function(e){return{type:"boolean",example:e[0].example,count:e.reduce((e,t)=>e+t.count,0)}},Object:function(e){let t={};for(let n of e)if(!n.circular)for(let e of n.keys)!t[e]&&(t[e]=[]),t[e].push(n.items[e]);let n={type:"Object",keys:[],items:{},count:e.length};for(let e of Object.keys(t))n.keys.push(e),n.items[e]=u(t[e]);return n},Array:function(e){let t=u(e.map(e=>e.items[0]).filter(e=>e));return{count:e.length,items:{0:t},length:t.count/e.length,type:"Array"}}}[t](e)}(n.filter(t=>t.type===e),e)}return{count:0}}function l(e,t,n){return{type:()=>`<span class="json-summary json-summary-type json-summary-type-${e}">&lt;${e}&gt;</span>`,value:()=>`<span class="json-summary json-summary-value json-summary-value-${n}">${e}</span>`,range:()=>`<span class="json-summary json-summary-range json-summary-range-${n}">[${e[0]}, ${e[1]}]</span>`,name:()=>`<span class="json-summary json-summary-name">${e}</span>`,length:()=>`<span class="json-summary json-summary-length">(${e})</span>`,circular:()=>`<span class="json-summary json-summary-circular">${e}</span>`,layer:()=>`<span class="json-summary json-summary-checkbox ${o.startExpanded?"checked":""}">\n <input type="checkbox" ${o.startExpanded?"checked":""}>\n <span class="json-summary-checkboxmarker" onclick="(function(me){\n me.parentNode.classList.toggle('checked');\n })(this)"></span>\n </span><div class="json-summary json-summary-layer">${e}</div>`,child:()=>`<div class="json-summary json-summary-child">${e}</div>`,keys:()=>`<span class="json-summary json-summary-keys">${e}</span>`}[t]()}return{summarize:function(e){let n=function e(n){let r={Array:n=>{let r={count:1,type:"Array",length:n.length};if(n.length)if(t>0){let a=Math.min(t,n.length),s={};for(;a>0;){let e=Math.floor(Math.random()*n.length);s.hasOwnProperty(e)||(s[e]=n[e],a--)}let o=[];for(let[t,n]of Object.entries(s))o.push(e(n));let l=u(o);r.items={0:l}}else r.items={0:e(n[0])};else r.items={0:void 0};return r},Object:t=>{let n={count:1,type:"Object",keys:Object.keys(t),items:{}};for(let r of n.keys)n.items[r]=e(t[r]);return n},Other:e=>{let t;return"string"==typeof e?t=[e.length,e.length]:"number"==typeof e&&(t=[e,e]),{type:typeof e,example:e,count:1,range:t}}},a="Other";return n instanceof Array?a="Array":n instanceof Object&&(a="Object"),n&&n["*snippets_mark*"]?{type:a,circular:!0}:("Other"!==a&&(Object.defineProperty(n,"*snippets_mark*",{enumerable:!1,writable:!0,configurable:!0}),n["*snippets_mark*"]=!0),r[a](n))}(e);return function e(t){if(t&&t["*snippets_mark*"])if(delete t["*snippets_mark*"],t instanceof Array&&t.length)e(t[0]);else if(t instanceof Object)for(let n of Object.keys(t))e(t[n])}(e),n},printSummary:function(e){return function e(t,n,r){let a="";if(t.circular)a+=l("(circular reference)","circular");else if("Object"===t.type){a+="{";let r=t.keys.map(e=>`'${e}'`).join(", ");a+=l(r,"keys");let u=t.keys.map(r=>e(t.items[r],n+1,t.count));if(u.length){let e="\n";for(let r=0;r<t.keys.length;r++)e+=o.indentation.repeat((n+1)*o.indentCount),e+=l(t.keys[r],"name")+": ",t.count>1&&(e+=`<div class="json-summary json-summary-bar" title="${(s=t.items[t.keys[r]].count/t.count*100).toFixed(2)}%"><div class="json-summary json-summary-percentage" style="width:${s}%;"></div></div>`),e+=u[r],r<t.keys.length-1&&(e+=","),e+="\n";e+=o.indentation.repeat(n*o.indentCount),a+=l(e,"child")}a=l(a+="}","layer")}else if("Array"===t.type){if(a+=l(t.count>1?"μ = "+t.length.toFixed(1):t.length,"length")+" [",t.length){let r="Object"===t.items[0].type||"Array"===t.items[0].type;r&&(a+="\n"+o.indentation.repeat((n+1)*o.indentCount)),a+=e(t.items[0],n+1,t.count),r&&(a+="\n"+o.indentation.repeat(n*o.indentCount))}a+="]"}else null==t.example||null==t.example?a+=l("?","type"):a+=l(t.type,"type"),o.showExampleValue&&(a+=l(t.example,"value",t.type),t.count>1&&t.range&&(a+=l(t.range,"range",t.type)));var s;return a}(e,0)}}}}()});

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

// https://andrewtburks.dev/json-summary v0.2.2 Copyright 2019 Andrew Burks
// https://andrewtburks.dev/json-summary v0.2.3 Copyright 2019 Andrew Burks
(function (global, factory) {

@@ -394,9 +394,9 @@ typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :

let tags = {
type: `<span class="json-summary json-summary-type json-summary-type-${value}">&lt;${value}&gt;</span>`,
value: `<span class="json-summary json-summary-value json-summary-value-${type}">${value}</span>`,
range: `<span class="json-summary json-summary-range json-summary-range-${type}">[${value[0]}, ${value[1]}]</span>`,
name: `<span class="json-summary json-summary-name">${value}</span>`,
length: `<span class="json-summary json-summary-length">(${value})</span>`,
circular: `<span class="json-summary json-summary-circular">${value}</span>`,
layer: `<span class="json-summary json-summary-checkbox ${
type: () => `<span class="json-summary json-summary-type json-summary-type-${value}">&lt;${value}&gt;</span>`,
value: () => `<span class="json-summary json-summary-value json-summary-value-${type}">${value}</span>`,
range: () => `<span class="json-summary json-summary-range json-summary-range-${type}">[${value[0]}, ${value[1]}]</span>`,
name: () => `<span class="json-summary json-summary-name">${value}</span>`,
length: () => `<span class="json-summary json-summary-length">(${value})</span>`,
circular: () => `<span class="json-summary json-summary-circular">${value}</span>`,
layer: () => `<span class="json-summary json-summary-checkbox ${
options.startExpanded ? "checked" : ""

@@ -411,11 +411,11 @@ }">

</span><div class="json-summary json-summary-layer">${value}</div>`,
child: `<div class="json-summary json-summary-child">${value}</div>`,
keys: `<span class="json-summary json-summary-keys">${value}</span>`
child: () => `<div class="json-summary json-summary-child">${value}</div>`,
keys: () => `<span class="json-summary json-summary-keys">${value}</span>`
};
return tags[role];
return tags[role]();
}
function htmlPercentageBar(percentage) {
return `<div class="json-summary json-summary-bar"><div class="json-summary json-summary-percentage" style="width:${percentage}%;"></div></div>`
return `<div class="json-summary json-summary-bar" title="${percentage.toFixed(2)}%"><div class="json-summary json-summary-percentage" style="width:${percentage}%;"></div></div>`
}

@@ -422,0 +422,0 @@

@@ -93,3 +93,3 @@ let ex1 = {

try {
let sum = new jsonSummary({arraySampleCount: 50, startExpanded: true});
let sum = new jsonSummary({arraySampleCount: 50, startExpanded: false});
let data = JSON.parse(evt.target.result);

@@ -112,2 +112,11 @@ console.log(data);

}
};
};
// bind interaction with data blocks
let dataBlocks = document.getElementsByClassName("data");
for (let i = 0; i < dataBlocks.length; i++) {
dataBlocks[i].onclick = function() {
this.classList.toggle("open")
};
}

@@ -387,9 +387,9 @@ const summarizer = (function() {

let tags = {
type: `<span class="json-summary json-summary-type json-summary-type-${value}">&lt;${value}&gt;</span>`,
value: `<span class="json-summary json-summary-value json-summary-value-${type}">${value}</span>`,
range: `<span class="json-summary json-summary-range json-summary-range-${type}">[${value[0]}, ${value[1]}]</span>`,
name: `<span class="json-summary json-summary-name">${value}</span>`,
length: `<span class="json-summary json-summary-length">(${value})</span>`,
circular: `<span class="json-summary json-summary-circular">${value}</span>`,
layer: `<span class="json-summary json-summary-checkbox ${
type: () => `<span class="json-summary json-summary-type json-summary-type-${value}">&lt;${value}&gt;</span>`,
value: () => `<span class="json-summary json-summary-value json-summary-value-${type}">${value}</span>`,
range: () => `<span class="json-summary json-summary-range json-summary-range-${type}">[${value[0]}, ${value[1]}]</span>`,
name: () => `<span class="json-summary json-summary-name">${value}</span>`,
length: () => `<span class="json-summary json-summary-length">(${value})</span>`,
circular: () => `<span class="json-summary json-summary-circular">${value}</span>`,
layer: () => `<span class="json-summary json-summary-checkbox ${
options.startExpanded ? "checked" : ""

@@ -404,11 +404,11 @@ }">

</span><div class="json-summary json-summary-layer">${value}</div>`,
child: `<div class="json-summary json-summary-child">${value}</div>`,
keys: `<span class="json-summary json-summary-keys">${value}</span>`
child: () => `<div class="json-summary json-summary-child">${value}</div>`,
keys: () => `<span class="json-summary json-summary-keys">${value}</span>`
};
return tags[role];
return tags[role]();
}
function htmlPercentageBar(percentage) {
return `<div class="json-summary json-summary-bar"><div class="json-summary json-summary-percentage" style="width:${percentage}%;"></div></div>`
return `<div class="json-summary json-summary-bar" title="${percentage.toFixed(2)}%"><div class="json-summary json-summary-percentage" style="width:${percentage}%;"></div></div>`
}

@@ -415,0 +415,0 @@

{
"name": "json-summary",
"version": "0.2.2",
"version": "0.2.3",
"description": "A simple JSON summarizer to extract the structure from a JSON object",

@@ -5,0 +5,0 @@ "keywords": [

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

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