You're Invited:Meet the Socket Team at BlackHat and DEF CON in Las Vegas, Aug 4-6.RSVP
Socket
Book a DemoInstallSign in
Socket

vue-json-pretty

Package Overview
Dependencies
Maintainers
1
Versions
58
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

vue-json-pretty - npm Package Compare versions

Comparing version

to
2.1.1

2

lib/vue-json-pretty.js

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

!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("vue")):"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.VueJsonPretty=t(require("vue")):e.VueJsonPretty=t(e.Vue)}(this,(function(e){return function(){"use strict";var t={789:function(t){t.exports=e}},n={};function r(e){var o=n[e];if(void 0!==o)return o.exports;var a=n[e]={exports:{}};return t[e](a,a.exports,r),a.exports}r.d=function(e,t){for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var o={};return function(){r.r(o),r.d(o,{default:function(){return O}});var e=r(789);function t(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function n(e,n){if(e){if("string"==typeof e)return t(e,n);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?t(e,n):void 0}}function a(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,a=[],l=!0,c=!1;try{for(n=n.call(e);!(l=(r=n.next()).done)&&(a.push(r.value),!t||a.length!==t);l=!0);}catch(e){c=!0,o=e}finally{try{l||null==n.return||n.return()}finally{if(c)throw o}}return a}}(e,t)||n(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function l(e){return function(e){if(Array.isArray(e))return t(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||n(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function c(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var i=(0,e.defineComponent)({props:{data:{required:!0,type:String},onClick:Function},render:function(){var t=this.data,n=this.onClick;return(0,e.createVNode)("span",{class:"vjs-tree__brackets",onClick:n},[t])}}),u=(0,e.defineComponent)({emits:["change","update:modelValue"],props:{checked:{type:Boolean,default:!1},isMultiple:Boolean,onChange:Function},setup:function(t,n){var r=n.emit;return{uiType:(0,e.computed)((function(){return t.isMultiple?"checkbox":"radio"})),model:(0,e.computed)({get:function(){return t.checked},set:function(e){return r("update:modelValue",e)}})}},render:function(){var t=this.uiType,n=this.model,r=this.$emit;return(0,e.createVNode)("label",{class:["vjs-check-controller",n?"is-checked":""],onClick:function(e){return e.stopPropagation()}},[(0,e.createVNode)("span",{class:"vjs-check-controller__inner is-".concat(t)},null),(0,e.createVNode)("input",{checked:n,class:"vjs-check-controller__original is-".concat(t),type:t,onChange:function(){return r("change",n)}},null)])}});function s(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function d(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?s(Object(n),!0).forEach((function(t){c(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):s(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function p(e){return Object.prototype.toString.call(e).slice(8,-1).toLowerCase()}function h(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"root",n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,r=arguments.length>3?arguments[3]:void 0,o=r||{},l=o.key,i=o.index,u=o.type,s=void 0===u?"content":u,f=o.showComma,y=void 0!==f&&f,v=o.length,m=void 0===v?1:v,b=p(e);if("array"===b){var g=e.map((function(e,r,o){return h(e,"".concat(t,"[").concat(r,"]"),n+1,{index:r,showComma:r!==o.length-1,length:m,type:s})})).reduce((function(e,t){return e.concat(t)}),[]);return[h("[",t,n,{showComma:!1,key:l,length:e.length,type:"arrayStart"})[0]].concat(g,h("]",t,n,{showComma:y,length:e.length,type:"arrayEnd"})[0])}if("object"===b){var k=Object.keys(e),O=k.map((function(r,o,a){return h(e[r],r.includes(".")?"".concat(t,'["').concat(r,'"]'):"".concat(t,".").concat(r),n+1,{key:r,showComma:o!==a.length-1,length:m,type:s})})).reduce((function(e,t){return e.concat(t)}),[]);return[h("{",t,n,{showComma:!1,key:l,index:i,length:k.length,type:"objectStart"})[0]].concat(O,h("}",t,n,{showComma:y,length:k.length,type:"objectEnd"})[0])}var j=Object.entries({content:e,level:n,key:l,index:i,path:t,showComma:y,length:m,type:s}).reduce((function(e,t){var n=a(t,2),r=n[0],o=n[1];return void 0!==o?d(d({},e),{},c({},r,o)):e}),{});return[j]}function f(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function y(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?f(Object(n),!0).forEach((function(t){c(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):f(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var v={showLength:{type:Boolean,default:!1},showDoubleQuotes:{type:Boolean,default:!0},customValueFormatter:Function,selectableType:String,showSelectController:{type:Boolean,default:!1},showLine:{type:Boolean,default:!0},selectOnClickNode:{type:Boolean,default:!0},collapsedOnClickBrackets:{type:Boolean,default:!0},pathSelectable:{type:Function,default:function(){return!0}},highlightSelectedNode:{type:Boolean,default:!0}},m=(0,e.defineComponent)({name:"TreeNode",props:y(y({},v),{},{node:{type:Object,required:!0},collapsed:Boolean,checked:Boolean,onTreeNodeClick:{type:Function},onBracketsClick:{type:Function},onSelectedChange:{type:Function}}),setup:function(t,n){var r=n.emit,o=(0,e.computed)((function(){return p(t.node.content)})),a=(0,e.computed)((function(){return"vjs-value vjs-value__".concat(o.value)})),l=(0,e.computed)((function(){return t.showDoubleQuotes?'"'.concat(t.node.key,'"'):t.node.key})),c=(0,e.computed)((function(){return"multiple"===t.selectableType})),i=(0,e.computed)((function(){return"single"===t.selectableType})),u=(0,e.computed)((function(){return t.pathSelectable(t.node.path,t.node.content)&&(c.value||i.value)})),s=function(e){var t=e+"";return"string"===o.value&&(t='"'.concat(t,'"')),t},d=t.customValueFormatter?function(e){var n;return null===(n=t.customValueFormatter)||void 0===n?void 0:n.call(t,e,t.node.key,t.node.path,s(e))}:null;return{state:(0,e.reactive)({valueClass:a,prettyKey:l,isMultiple:c,selectable:u}),defaultFormatter:s,customFormatter:d,onBracketsClickHandler:function(){t.collapsedOnClickBrackets&&r("brackets-click",!t.collapsed,t.node.path)},onCheckedChange:function(){r("selected-change",t.node)},onNodeClick:function(){r("tree-node-click",t.node),u.value&&t.selectOnClickNode&&r("selected-change",t.node)}}},render:function(){var t=this.state,n=this.node,r=this.showSelectController,o=this.highlightSelectedNode,a=this.checked,l=this.showLength,c=this.collapsed,s=this.showLine,d=this.defaultFormatter,p=this.customFormatter,h=this.onNodeClick,f=this.onCheckedChange,y=this.onBracketsClickHandler;return(0,e.createVNode)("div",{class:{"vjs-tree__node":!0,"has-selector":r,"is-highlight":o&&a},onClick:h},[r&&t.selectable&&"objectEnd"!==n.type&&"arrayEnd"!==n.type&&(0,e.createVNode)(u,{isMultiple:t.isMultiple,checked:a,onChange:f},null),Array.from(Array(n.level)).map((function(t,n){return(0,e.createVNode)("div",{key:n,class:{"vjs-tree__indent":!0,"has-line":s}},null)})),n.key&&(0,e.createVNode)("span",{class:"vjs-key"},["".concat(t.prettyKey,": ")]),(0,e.createVNode)("span",null,["content"!==n.type?(0,e.createVNode)(i,{data:n.content,onClick:y},null):p?(0,e.createVNode)("span",{class:t.valueClass,innerHTML:p(n.content)},null):(0,e.createVNode)("span",{class:t.valueClass},[d(n.content)]),n.showComma&&(0,e.createVNode)("span",null,[","]),l&&c&&(0,e.createVNode)("span",{class:"vjs-comment"},[(0,e.createTextVNode)(" // "),n.length,(0,e.createTextVNode)(" items ")])])])}});function b(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function g(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?b(Object(n),!0).forEach((function(t){c(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):b(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var k=(0,e.defineComponent)({name:"Tree",props:g(g({},v),{},{data:{type:Object,default:null},deep:{type:Number,default:1/0},deepCollapseChildren:{type:Boolean,default:!1},collapsePath:{type:RegExp,default:null},path:{type:String,default:"root"},virtual:{type:Boolean,default:!1},virtualLines:{type:Number,default:10},itemHeight:{type:Number,default:20},modelValue:{type:[String,Array],default:function(){return""}}}),emits:["click","change","update:modelValue"],setup:function(t,n){var r=n.emit,o=(0,e.ref)(),i=(0,e.reactive)({translateY:0,visibleData:null,hiddenPaths:h(t.data,t.path).reduce((function(e,n){var r=t.deepCollapseChildren?n.level>=t.deep:n.level===t.deep,o=r||t.collapsePath&&t.collapsePath.test(n.path);return"objectStart"!==n.type&&"arrayStart"!==n.type||!r&&!o?e:g(g({},e),{},c({},n.path,1))}),{})}),u=(0,e.computed)((function(){var e=null;return h(t.data,t.path).reduce((function(t,n,r){var o=g(g({},n),{},{id:r}),a=i.hiddenPaths[o.path];if(e&&e.path===o.path){var l="objectStart"===e.type,c=g(g(g({},e),o),{},{content:l?"{...}":"[...]",type:l?"objectCollapsed":"arrayCollapsed"});return e=null,t.concat(c)}return a&&!e?(e=o,t):e?t:t.concat(o)}),[])})),s=(0,e.computed)((function(){var e=t.modelValue;return e&&"multiple"===t.selectableType&&Array.isArray(e)?e:[e]})),d=(0,e.computed)((function(){return!t.selectableType||t.selectOnClickNode||t.showSelectController?"":"When selectableType is not null, selectOnClickNode and showSelectController cannot be false at the same time, because this will cause the selection to fail."})),p=function(e){if(t.virtual){var n=o.value,r=t.virtualLines,a=n&&n.scrollTop||0,l=Math.floor(a/t.itemHeight),c=l<0?0:l+r>e.length?e.length-r:l;c<0&&(c=0);var u=c+r;i.translateY=c*t.itemHeight,i.visibleData=e.filter((function(e,t){return t>=c&&t<u}))}else i.visibleData=e};return(0,e.watchEffect)((function(){d.value&&function(e){throw new Error("[VueJSONPretty] ".concat(e))}(d.value)})),(0,e.watchEffect)((function(){u.value&&p(u.value)})),{tree:o,state:i,flatData:u,selectedPaths:s,onTreeScroll:function(){p(u.value)},onSelectedChange:function(e){var n=e.path,o=t.selectableType;if("multiple"===o){var c=s.value.findIndex((function(e){return e===n})),i=l(s.value);-1!==c?i.splice(c,1):i.push(n),r("update:modelValue",i),r("change",i,l(s.value))}else if("single"===o&&s.value[0]!==n){var u=a(s.value,1)[0],d=n;r("update:modelValue",d),r("change",d,u)}},onTreeNodeClick:function(e){var t=e.content,n=e.path;r("click",n,t)},onBracketsClick:function(e,t){if(e)i.hiddenPaths=g(g({},i.hiddenPaths),{},c({},t,1));else{var n=g({},i.hiddenPaths);delete n[t],i.hiddenPaths=n}}}},render:function(){var t=this.virtual,n=this.itemHeight,r=this.customValueFormatter,o=this.showDoubleQuotes,a=this.showLength,l=this.showLine,c=this.showSelectController,i=this.selectOnClickNode,u=this.pathSelectable,s=this.highlightSelectedNode,d=this.collapsedOnClickBrackets,p=this.state,h=this.flatData,f=this.selectedPaths,y=this.selectableType,v=this.onTreeNodeClick,b=this.onBracketsClick,g=this.onSelectedChange,k=this.onTreeScroll,O=p.visibleData&&p.visibleData.map((function(t){return(0,e.createVNode)(m,{key:t.id,node:t,collapsed:!!p.hiddenPaths[t.path],"custom-value-formatter":r,"show-double-quotes":o,"show-length":a,"collapsed-on-click-brackets":d,checked:f.includes(t.path),"selectable-type":y,"show-line":l,"show-select-controller":c,"select-on-click-node":i,"path-selectable":u,"highlight-selected-node":s,onTreeNodeClick:v,onBracketsClick:b,onSelectedChange:g},null)}));return(0,e.createVNode)("div",{ref:"tree",class:{"vjs-tree":!0,"is-virtual":t},onScroll:k},[t?(0,e.createVNode)("div",{style:{height:"".concat(h.length*n,"px")}},[(0,e.createVNode)("div",{style:{transform:"translateY(".concat(p.translateY,"px)")}},[O])]):O])}}),O=(0,e.defineComponent)(k)}(),o}()}));
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("vue")):"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.VueJsonPretty=t(require("vue")):e.VueJsonPretty=t(e.Vue)}(this,(function(e){return function(){"use strict";var t={789:function(t){t.exports=e}},n={};function r(e){var o=n[e];if(void 0!==o)return o.exports;var a=n[e]={exports:{}};return t[e](a,a.exports,r),a.exports}r.d=function(e,t){for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var o={};return function(){function e(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function t(t,n){if(t){if("string"==typeof t)return e(t,n);var r=Object.prototype.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?e(t,n):void 0}}function n(e,n){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,a=[],l=!0,c=!1;try{for(n=n.call(e);!(l=(r=n.next()).done)&&(a.push(r.value),!t||a.length!==t);l=!0);}catch(e){c=!0,o=e}finally{try{l||null==n.return||n.return()}finally{if(c)throw o}}return a}}(e,n)||t(e,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function a(n){return function(t){if(Array.isArray(t))return e(t)}(n)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(n)||t(n)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function l(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}r.r(o),r.d(o,{default:function(){return k}});var c=r(789),i=(0,c.defineComponent)({props:{data:{required:!0,type:String},onClick:Function},render:function(){var e=this.data,t=this.onClick;return(0,c.createVNode)("span",{class:"vjs-tree__brackets",onClick:t},[e])}}),u=(0,c.defineComponent)({emits:["change","update:modelValue"],props:{checked:{type:Boolean,default:!1},isMultiple:Boolean,onChange:Function},setup:function(e,t){var n=t.emit;return{uiType:(0,c.computed)((function(){return e.isMultiple?"checkbox":"radio"})),model:(0,c.computed)({get:function(){return e.checked},set:function(e){return n("update:modelValue",e)}})}},render:function(){var e=this.uiType,t=this.model,n=this.$emit;return(0,c.createVNode)("label",{class:["vjs-check-controller",t?"is-checked":""],onClick:function(e){return e.stopPropagation()}},[(0,c.createVNode)("span",{class:"vjs-check-controller__inner is-".concat(e)},null),(0,c.createVNode)("input",{checked:t,class:"vjs-check-controller__original is-".concat(e),type:e,onChange:function(){return n("change",t)}},null)])}});function s(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function d(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?s(Object(n),!0).forEach((function(t){l(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):s(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function p(e){return Object.prototype.toString.call(e).slice(8,-1).toLowerCase()}function h(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"root",r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,o=arguments.length>3?arguments[3]:void 0,a=o||{},c=a.key,i=a.index,u=a.type,s=void 0===u?"content":u,f=a.showComma,y=void 0!==f&&f,v=a.length,m=void 0===v?1:v,b=p(e);if("array"===b){var g=e.map((function(e,n,o){return h(e,"".concat(t,"[").concat(n,"]"),r+1,{index:n,showComma:n!==o.length-1,length:m,type:s})})).reduce((function(e,t){return e.concat(t)}),[]);return[h("[",t,r,{showComma:!1,key:c,length:e.length,type:"arrayStart"})[0]].concat(g,h("]",t,r,{showComma:y,length:e.length,type:"arrayEnd"})[0])}if("object"===b){var k=Object.keys(e),O=k.map((function(n,o,a){return h(e[n],n.includes(".")?"".concat(t,'["').concat(n,'"]'):"".concat(t,".").concat(n),r+1,{key:n,showComma:o!==a.length-1,length:m,type:s})})).reduce((function(e,t){return e.concat(t)}),[]);return[h("{",t,r,{showComma:!1,key:c,index:i,length:k.length,type:"objectStart"})[0]].concat(O,h("}",t,r,{showComma:y,length:k.length,type:"objectEnd"})[0])}var j=Object.entries({content:e,level:r,key:c,index:i,path:t,showComma:y,length:m,type:s}).reduce((function(e,t){var r=n(t,2),o=r[0],a=r[1];return void 0!==a?d(d({},e),{},l({},o,a)):e}),{});return[j]}function f(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function y(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?f(Object(n),!0).forEach((function(t){l(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):f(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var v={showLength:{type:Boolean,default:!1},showDoubleQuotes:{type:Boolean,default:!0},customValueFormatter:Function,selectableType:String,showSelectController:{type:Boolean,default:!1},showLine:{type:Boolean,default:!0},selectOnClickNode:{type:Boolean,default:!0},collapsedOnClickBrackets:{type:Boolean,default:!0},pathSelectable:{type:Function,default:function(){return!0}},highlightSelectedNode:{type:Boolean,default:!0}},m=(0,c.defineComponent)({name:"TreeNode",props:y(y({},v),{},{node:{type:Object,required:!0},collapsed:Boolean,checked:Boolean,onTreeNodeClick:{type:Function},onBracketsClick:{type:Function},onSelectedChange:{type:Function}}),setup:function(e,t){var n=t.emit,r=(0,c.computed)((function(){return p(e.node.content)})),o=(0,c.computed)((function(){return"vjs-value vjs-value__".concat(r.value)})),a=(0,c.computed)((function(){return e.showDoubleQuotes?'"'.concat(e.node.key,'"'):e.node.key})),l=(0,c.computed)((function(){return"multiple"===e.selectableType})),i=(0,c.computed)((function(){return"single"===e.selectableType})),u=(0,c.computed)((function(){return e.pathSelectable(e.node.path,e.node.content)&&(l.value||i.value)})),s=function(e){var t=e+"";return"string"===r.value&&(t='"'.concat(t,'"')),t},d=e.customValueFormatter?function(t){var n;return null===(n=e.customValueFormatter)||void 0===n?void 0:n.call(e,t,e.node.key,e.node.path,s(t))}:null;return{state:(0,c.reactive)({valueClass:o,prettyKey:a,isMultiple:l,selectable:u}),defaultFormatter:s,customFormatter:d,onBracketsClickHandler:function(){e.collapsedOnClickBrackets&&n("brackets-click",!e.collapsed,e.node.path)},onCheckedChange:function(){n("selected-change",e.node)},onNodeClick:function(){n("tree-node-click",e.node),u.value&&e.selectOnClickNode&&n("selected-change",e.node)}}},render:function(){var e=this.state,t=this.node,n=this.showSelectController,r=this.highlightSelectedNode,o=this.checked,a=this.showLength,l=this.collapsed,s=this.showLine,d=this.defaultFormatter,p=this.customFormatter,h=this.onNodeClick,f=this.onCheckedChange,y=this.onBracketsClickHandler;return(0,c.createVNode)("div",{class:{"vjs-tree__node":!0,"has-selector":n,"is-highlight":r&&o},onClick:h},[n&&e.selectable&&"objectEnd"!==t.type&&"arrayEnd"!==t.type&&(0,c.createVNode)(u,{isMultiple:e.isMultiple,checked:o,onChange:f},null),Array.from(Array(t.level)).map((function(e,t){return(0,c.createVNode)("div",{key:t,class:{"vjs-tree__indent":!0,"has-line":s}},null)})),t.key&&(0,c.createVNode)("span",{class:"vjs-key"},["".concat(e.prettyKey,": ")]),(0,c.createVNode)("span",null,["content"!==t.type?(0,c.createVNode)(i,{data:t.content,onClick:y},null):p?(0,c.createVNode)("span",{class:e.valueClass,innerHTML:p(t.content)},null):(0,c.createVNode)("span",{class:e.valueClass},[d(t.content)]),t.showComma&&(0,c.createVNode)("span",null,[","]),a&&l&&(0,c.createVNode)("span",{class:"vjs-comment"},[(0,c.createTextVNode)(" // "),t.length,(0,c.createTextVNode)(" items ")])])])}});function b(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function g(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?b(Object(n),!0).forEach((function(t){l(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):b(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var k=(0,c.defineComponent)({name:"Tree",props:g(g({},v),{},{data:{type:Object,default:null},deep:{type:Number,default:1/0},deepCollapseChildren:{type:Boolean,default:!1},collapsePath:{type:RegExp,default:null},path:{type:String,default:"root"},virtual:{type:Boolean,default:!1},virtualLines:{type:Number,default:10},itemHeight:{type:Number,default:20},modelValue:{type:[String,Array],default:function(){return""}}}),emits:["click","change","update:modelValue"],setup:function(e,t){var r=t.emit,o=(0,c.ref)(),i=(0,c.reactive)({translateY:0,visibleData:null,hiddenPaths:h(e.data,e.path).reduce((function(t,n){var r=e.deepCollapseChildren?n.level>=e.deep:n.level===e.deep,o=r||e.collapsePath&&e.collapsePath.test(n.path);return"objectStart"!==n.type&&"arrayStart"!==n.type||!r&&!o?t:g(g({},t),{},l({},n.path,1))}),{})}),u=(0,c.computed)((function(){var t=null;return h(e.data,e.path).reduce((function(e,n,r){var o=g(g({},n),{},{id:r}),a=i.hiddenPaths[o.path];if(t&&t.path===o.path){var l="objectStart"===t.type,c=g(g(g({},t),o),{},{content:l?"{...}":"[...]",type:l?"objectCollapsed":"arrayCollapsed"});return t=null,e.concat(c)}return a&&!t?(t=o,e):t?e:e.concat(o)}),[])})),s=(0,c.computed)((function(){var t=e.modelValue;return t&&"multiple"===e.selectableType&&Array.isArray(t)?t:[t]})),d=(0,c.computed)((function(){return!e.selectableType||e.selectOnClickNode||e.showSelectController?"":"When selectableType is not null, selectOnClickNode and showSelectController cannot be false at the same time, because this will cause the selection to fail."})),p=function(t){if(e.virtual){var n=o.value,r=e.virtualLines,a=n&&n.scrollTop||0,l=Math.floor(a/e.itemHeight),c=l<0?0:l+r>t.length?t.length-r:l;c<0&&(c=0);var u=c+r;i.translateY=c*e.itemHeight,i.visibleData=t.filter((function(e,t){return t>=c&&t<u}))}else i.visibleData=t};return(0,c.watchEffect)((function(){d.value&&function(e){throw new Error("[VueJSONPretty] ".concat(e))}(d.value)})),(0,c.watchEffect)((function(){u.value&&p(u.value)})),{tree:o,state:i,flatData:u,selectedPaths:s,onTreeScroll:function(){p(u.value)},onSelectedChange:function(t){var o=t.path,l=e.selectableType;if("multiple"===l){var c=s.value.findIndex((function(e){return e===o})),i=a(s.value);-1!==c?i.splice(c,1):i.push(o),r("update:modelValue",i),r("change",i,a(s.value))}else if("single"===l&&s.value[0]!==o){var u=n(s.value,1)[0],d=o;r("update:modelValue",d),r("change",d,u)}},onTreeNodeClick:function(e){var t=e.content,n=e.path;r("click",n,t)},onBracketsClick:function(e,t){if(e)i.hiddenPaths=g(g({},i.hiddenPaths),{},l({},t,1));else{var n=g({},i.hiddenPaths);delete n[t],i.hiddenPaths=n}}}},render:function(){var e=this.virtual,t=this.itemHeight,n=this.customValueFormatter,r=this.showDoubleQuotes,o=this.showLength,a=this.showLine,l=this.showSelectController,i=this.selectOnClickNode,u=this.pathSelectable,s=this.highlightSelectedNode,d=this.collapsedOnClickBrackets,p=this.state,h=this.flatData,f=this.selectedPaths,y=this.selectableType,v=this.onTreeNodeClick,b=this.onBracketsClick,g=this.onSelectedChange,k=this.onTreeScroll,O=p.visibleData&&p.visibleData.map((function(e){return(0,c.createVNode)(m,{key:e.id,node:e,collapsed:!!p.hiddenPaths[e.path],"custom-value-formatter":n,"show-double-quotes":r,"show-length":o,"collapsed-on-click-brackets":d,checked:f.includes(e.path),"selectable-type":y,"show-line":a,"show-select-controller":l,"select-on-click-node":i,"path-selectable":u,"highlight-selected-node":s,onTreeNodeClick:v,onBracketsClick:b,onSelectedChange:g},null)}));return(0,c.createVNode)("div",{ref:"tree",class:{"vjs-tree":!0,"is-virtual":e},onScroll:k},[e?(0,c.createVNode)("div",{style:{height:"".concat(h.length*t,"px")}},[(0,c.createVNode)("div",{style:{transform:"translateY(".concat(p.translateY,"px)")}},[O])]):O])}})}(),o}()}));
{
"name": "vue-json-pretty",
"version": "2.1.0",
"version": "2.1.1",
"description": "A JSON tree view component that is easy to use and also supports data selection.",

@@ -11,3 +11,3 @@ "author": "leezng <im.leezng@gmail.com>",

"build:example": "cross-env EXAMPLE_ENV=true node build/build.js",
"build:dts": "tsc --p tsconfig.dts.json",
"build:dts": "tsc --p tsconfig.dts.json && tsc-alias -p ./tsconfig.dts.json",
"test": "cypress open",

@@ -72,2 +72,3 @@ "lint": "eslint --ext .ts,.tsx,.vue src example"

"shelljs": "^0.8.4",
"tsc-alias": "^1.6.9",
"typescript": "^4.3.4",

@@ -74,0 +75,0 @@ "url-loader": "^4.1.0",

import { PropType } from 'vue';
import { NodeDataType } from 'src/components/TreeNode';
import { JSONDataType } from 'src/utils';
import { NodeDataType } from '../../components/TreeNode';
import { JSONDataType } from '../../utils';
import './styles.less';

@@ -5,0 +5,0 @@ declare type FlatDataType = NodeDataType[];

import { PropType } from 'vue';
import { JSONFlattenReturnType } from 'src/utils';
import { JSONFlattenReturnType } from '../../utils';
import './styles.less';

@@ -4,0 +4,0 @@ export interface NodeDataType extends JSONFlattenReturnType {

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

declare const _default: import("vue").DefineComponent<Readonly<import("vue").ExtractPropTypes<{
import { Plugin } from 'vue';
declare const _default: {
new (...args: any[]): {
$: import("vue").ComponentInternalInstance;
$data: {};
$props: Partial<{
data: import("./utils").JSONDataType;
path: string;
showLength: boolean;
showDoubleQuotes: boolean;
showSelectController: boolean;
showLine: boolean;
selectOnClickNode: boolean;
collapsedOnClickBrackets: boolean;
pathSelectable: (path: string, content: string) => boolean;
highlightSelectedNode: boolean;
deep: number;
deepCollapseChildren: boolean;
collapsePath: RegExp;
virtual: boolean;
virtualLines: number;
itemHeight: number;
modelValue: string | string[];
}> & Omit<Readonly<import("vue").ExtractPropTypes<{
data: {
type: import("vue").PropType<import("./utils").JSONDataType>;
default: null;
};
deep: {
type: NumberConstructor;
default: number;
};
deepCollapseChildren: {
type: BooleanConstructor;
default: boolean;
};
collapsePath: {
type: RegExpConstructor;
default: null;
};
path: {
type: StringConstructor;
default: string;
};
virtual: {
type: BooleanConstructor;
default: boolean;
};
virtualLines: {
type: NumberConstructor;
default: number;
};
itemHeight: {
type: NumberConstructor;
default: number;
};
modelValue: {
type: import("vue").PropType<string | string[]>;
default: () => string;
};
showLength: {
type: BooleanConstructor;
default: boolean;
};
showDoubleQuotes: {
type: BooleanConstructor;
default: boolean;
};
customValueFormatter: import("vue").PropType<(data: string, key: string | undefined, path: string, defaultFormatResult: string) => unknown>;
selectableType: import("vue").PropType<"" | "multiple" | "single">;
showSelectController: {
type: BooleanConstructor;
default: boolean;
};
showLine: {
type: BooleanConstructor;
default: boolean;
};
selectOnClickNode: {
type: BooleanConstructor;
default: boolean;
};
collapsedOnClickBrackets: {
type: BooleanConstructor;
default: boolean;
};
pathSelectable: {
type: import("vue").PropType<(path: string, content: string) => boolean>;
default: () => boolean;
};
highlightSelectedNode: {
type: BooleanConstructor;
default: boolean;
};
}>> & {
onClick?: ((...args: any[]) => any) | undefined;
onChange?: ((...args: any[]) => any) | undefined;
"onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
} & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, "data" | "path" | "showLength" | "showDoubleQuotes" | "showSelectController" | "showLine" | "selectOnClickNode" | "collapsedOnClickBrackets" | "pathSelectable" | "highlightSelectedNode" | "deep" | "deepCollapseChildren" | "collapsePath" | "virtual" | "virtualLines" | "itemHeight" | "modelValue">;
$attrs: {
[x: string]: unknown;
};
$refs: {
[x: string]: unknown;
};
$slots: Readonly<{
[name: string]: import("vue").Slot | undefined;
}>;
$root: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}>> | null;
$parent: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}>> | null;
$emit: (event: "change" | "update:modelValue" | "click", ...args: any[]) => void;
$el: any;
$options: import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
data: {
type: import("vue").PropType<import("./utils").JSONDataType>;
default: null;
};
deep: {
type: NumberConstructor;
default: number;
};
deepCollapseChildren: {
type: BooleanConstructor;
default: boolean;
};
collapsePath: {
type: RegExpConstructor;
default: null;
};
path: {
type: StringConstructor;
default: string;
};
virtual: {
type: BooleanConstructor;
default: boolean;
};
virtualLines: {
type: NumberConstructor;
default: number;
};
itemHeight: {
type: NumberConstructor;
default: number;
};
modelValue: {
type: import("vue").PropType<string | string[]>;
default: () => string;
};
showLength: {
type: BooleanConstructor;
default: boolean;
};
showDoubleQuotes: {
type: BooleanConstructor;
default: boolean;
};
customValueFormatter: import("vue").PropType<(data: string, key: string | undefined, path: string, defaultFormatResult: string) => unknown>;
selectableType: import("vue").PropType<"" | "multiple" | "single">;
showSelectController: {
type: BooleanConstructor;
default: boolean;
};
showLine: {
type: BooleanConstructor;
default: boolean;
};
selectOnClickNode: {
type: BooleanConstructor;
default: boolean;
};
collapsedOnClickBrackets: {
type: BooleanConstructor;
default: boolean;
};
pathSelectable: {
type: import("vue").PropType<(path: string, content: string) => boolean>;
default: () => boolean;
};
highlightSelectedNode: {
type: BooleanConstructor;
default: boolean;
};
}>> & {
onClick?: ((...args: any[]) => any) | undefined;
onChange?: ((...args: any[]) => any) | undefined;
"onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
}, {
tree: import("vue").Ref<HTMLElement | undefined>;
state: {
translateY: number;
visibleData: {
id: number;
content: string;
level: number;
path: string;
key?: string | undefined;
index?: number | undefined;
showComma: boolean;
length: number;
type: "content" | "objectStart" | "objectEnd" | "objectCollapsed" | "arrayStart" | "arrayEnd" | "arrayCollapsed";
}[] | null;
hiddenPaths: {
[x: string]: 1;
};
};
flatData: import("vue").ComputedRef<import("./components/TreeNode").NodeDataType[]>;
selectedPaths: import("vue").ComputedRef<(string | string[])[]>;
onTreeScroll: () => void;
onSelectedChange: ({ path }: import("./components/TreeNode").NodeDataType) => void;
onTreeNodeClick: ({ content, path }: import("./components/TreeNode").NodeDataType) => void;
onBracketsClick: (collapsed: boolean, path: string) => void;
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("change" | "update:modelValue" | "click")[], string, {
data: import("./utils").JSONDataType;
path: string;
showLength: boolean;
showDoubleQuotes: boolean;
showSelectController: boolean;
showLine: boolean;
selectOnClickNode: boolean;
collapsedOnClickBrackets: boolean;
pathSelectable: (path: string, content: string) => boolean;
highlightSelectedNode: boolean;
deep: number;
deepCollapseChildren: boolean;
collapsePath: RegExp;
virtual: boolean;
virtualLines: number;
itemHeight: number;
modelValue: string | string[];
}> & {
beforeCreate?: ((() => void) | (() => void)[]) | undefined;
created?: ((() => void) | (() => void)[]) | undefined;
beforeMount?: ((() => void) | (() => void)[]) | undefined;
mounted?: ((() => void) | (() => void)[]) | undefined;
beforeUpdate?: ((() => void) | (() => void)[]) | undefined;
updated?: ((() => void) | (() => void)[]) | undefined;
activated?: ((() => void) | (() => void)[]) | undefined;
deactivated?: ((() => void) | (() => void)[]) | undefined;
beforeDestroy?: ((() => void) | (() => void)[]) | undefined;
beforeUnmount?: ((() => void) | (() => void)[]) | undefined;
destroyed?: ((() => void) | (() => void)[]) | undefined;
unmounted?: ((() => void) | (() => void)[]) | undefined;
renderTracked?: (((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[]) | undefined;
renderTriggered?: (((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[]) | undefined;
errorCaptured?: (((err: unknown, instance: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}>> | null, info: string) => boolean | void) | ((err: unknown, instance: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}>> | null, info: string) => boolean | void)[]) | undefined;
};
$forceUpdate: () => void;
$nextTick: typeof import("vue").nextTick;
$watch(source: string | Function, cb: Function, options?: import("vue").WatchOptions<boolean> | undefined): import("vue").WatchStopHandle;
} & Readonly<import("vue").ExtractPropTypes<{
data: {
type: import("vue").PropType<import("./utils").JSONDataType>;
default: null;
};
deep: {
type: NumberConstructor;
default: number;
};
deepCollapseChildren: {
type: BooleanConstructor;
default: boolean;
};
collapsePath: {
type: RegExpConstructor;
default: null;
};
path: {
type: StringConstructor;
default: string;
};
virtual: {
type: BooleanConstructor;
default: boolean;
};
virtualLines: {
type: NumberConstructor;
default: number;
};
itemHeight: {
type: NumberConstructor;
default: number;
};
modelValue: {
type: import("vue").PropType<string | string[]>;
default: () => string;
};
showLength: {
type: BooleanConstructor;
default: boolean;
};
showDoubleQuotes: {
type: BooleanConstructor;
default: boolean;
};
customValueFormatter: import("vue").PropType<(data: string, key: string | undefined, path: string, defaultFormatResult: string) => unknown>;
selectableType: import("vue").PropType<"" | "multiple" | "single">;
showSelectController: {
type: BooleanConstructor;
default: boolean;
};
showLine: {
type: BooleanConstructor;
default: boolean;
};
selectOnClickNode: {
type: BooleanConstructor;
default: boolean;
};
collapsedOnClickBrackets: {
type: BooleanConstructor;
default: boolean;
};
pathSelectable: {
type: import("vue").PropType<(path: string, content: string) => boolean>;
default: () => boolean;
};
highlightSelectedNode: {
type: BooleanConstructor;
default: boolean;
};
}>> & {
onClick?: ((...args: any[]) => any) | undefined;
onChange?: ((...args: any[]) => any) | undefined;
"onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
} & import("vue").ShallowUnwrapRef<{
tree: import("vue").Ref<HTMLElement | undefined>;
state: {
translateY: number;
visibleData: {
id: number;
content: string;
level: number;
path: string;
key?: string | undefined;
index?: number | undefined;
showComma: boolean;
length: number;
type: "content" | "objectStart" | "objectEnd" | "objectCollapsed" | "arrayStart" | "arrayEnd" | "arrayCollapsed";
}[] | null;
hiddenPaths: {
[x: string]: 1;
};
};
flatData: import("vue").ComputedRef<import("./components/TreeNode").NodeDataType[]>;
selectedPaths: import("vue").ComputedRef<(string | string[])[]>;
onTreeScroll: () => void;
onSelectedChange: ({ path }: import("./components/TreeNode").NodeDataType) => void;
onTreeNodeClick: ({ content, path }: import("./components/TreeNode").NodeDataType) => void;
onBracketsClick: (collapsed: boolean, path: string) => void;
}> & {} & {} & import("vue").ComponentCustomProperties;
__isFragment?: undefined;
__isTeleport?: undefined;
__isSuspense?: undefined;
} & import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
data: {

@@ -101,82 +455,21 @@ type: import("vue").PropType<import("./utils").JSONDataType>;

onBracketsClick: (collapsed: boolean, path: string) => void;
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("change" | "update:modelValue" | "click")[], "change" | "update:modelValue" | "click", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<Readonly<import("vue").ExtractPropTypes<{
data: {
type: import("vue").PropType<import("./utils").JSONDataType>;
default: null;
};
deep: {
type: NumberConstructor;
default: number;
};
deepCollapseChildren: {
type: BooleanConstructor;
default: boolean;
};
collapsePath: {
type: RegExpConstructor;
default: null;
};
path: {
type: StringConstructor;
default: string;
};
virtual: {
type: BooleanConstructor;
default: boolean;
};
virtualLines: {
type: NumberConstructor;
default: number;
};
itemHeight: {
type: NumberConstructor;
default: number;
};
modelValue: {
type: import("vue").PropType<string | string[]>;
default: () => string;
};
showLength: {
type: BooleanConstructor;
default: boolean;
};
showDoubleQuotes: {
type: BooleanConstructor;
default: boolean;
};
customValueFormatter: import("vue").PropType<(data: string, key: string | undefined, path: string, defaultFormatResult: string) => unknown>;
selectableType: import("vue").PropType<"" | "multiple" | "single">;
showSelectController: {
type: BooleanConstructor;
default: boolean;
};
showLine: {
type: BooleanConstructor;
default: boolean;
};
selectOnClickNode: {
type: BooleanConstructor;
default: boolean;
};
collapsedOnClickBrackets: {
type: BooleanConstructor;
default: boolean;
};
pathSelectable: {
type: import("vue").PropType<(path: string, content: string) => boolean>;
default: () => boolean;
};
highlightSelectedNode: {
type: BooleanConstructor;
default: boolean;
};
}>> & {
onClick?: ((...args: any[]) => any) | undefined;
onChange?: ((...args: any[]) => any) | undefined;
"onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
}> & {
onClick?: ((...args: any[]) => any) | undefined;
onChange?: ((...args: any[]) => any) | undefined;
"onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
}, {}>;
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("change" | "update:modelValue" | "click")[], "change" | "update:modelValue" | "click", {
data: import("./utils").JSONDataType;
path: string;
showLength: boolean;
showDoubleQuotes: boolean;
showSelectController: boolean;
showLine: boolean;
selectOnClickNode: boolean;
collapsedOnClickBrackets: boolean;
pathSelectable: (path: string, content: string) => boolean;
highlightSelectedNode: boolean;
deep: number;
deepCollapseChildren: boolean;
collapsePath: RegExp;
virtual: boolean;
virtualLines: number;
itemHeight: number;
modelValue: string | string[];
}> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & Plugin;
export default _default;