UNPKG

json-treeify

Version:

json-treeify: Get tree string(├└│─) via json, support browser|node, browser none dependencies!

6 lines 8.79 kB
/*! * Froguard(figure_wf@163.com) * https://github.com/Froguard/json-toy * license MIT */ !function(r,n){"object"==typeof exports&&"object"==typeof module?module.exports=n():"function"==typeof define&&define.amd?define([],n):"object"==typeof exports?exports.jsonToy=n():r.jsonToy=n()}(this,function(){return function(r){var n={};function t(e){if(n[e])return n[e].exports;var i=n[e]={i:e,l:!1,exports:{}};return r[e].call(i.exports,i,i.exports,t),i.l=!0,i.exports}return t.m=r,t.c=n,t.d=function(r,n,e){t.o(r,n)||Object.defineProperty(r,n,{enumerable:!0,get:e})},t.r=function(r){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(r,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(r,"__esModule",{value:!0})},t.t=function(r,n){if(1&n&&(r=t(r)),8&n)return r;if(4&n&&"object"==typeof r&&r&&r.__esModule)return r;var e=Object.create(null);if(t.r(e),Object.defineProperty(e,"default",{enumerable:!0,value:r}),2&n&&"string"!=typeof r)for(var i in r)t.d(e,i,function(n){return r[n]}.bind(null,i));return e},t.n=function(r){var n=r&&r.__esModule?function(){return r.default}:function(){return r};return t.d(n,"a",n),n},t.o=function(r,n){return Object.prototype.hasOwnProperty.call(r,n)},t.p="",t(t.s=2)}([function(r,n,t){"use strict";var e=t(1),i=e.getTypeOf,o=e.isObject,u=e.isFunction,s=e.isString,a=e.isSpreadable,c=e.isNill;r.exports=function(r,n,t,e){if(!o(r))throw new TypeError("The first param should be an Object instance!");e=void 0===e||e;var f=[],p=[],l=[],y=u(n);t=(s(t)?t:"")||"ROOT";try{!function r(n,t,o,s){if(!c(n)){if(e){var g=f.indexOf(n);~g?(f.splice(g+1),p.splice(g+1)):(f.push(n),p.push(t))}var v=Object.keys(n),b=v.length-1;v.forEach(function(c,g){var v=0===g,d=g===b,O=t+"."+c;l.push(""+O);var h=o+1,m=n[c],j=!1;if(e){var S=f.indexOf(m);~S?(j=!0,m="[Circular->"+p[S]+"]"):(j=!1,m=n[c])}var x=a(m)&&!u(m);y&&s.call(n,c,m,""+O,i(m),x,h,j,v,d),x&&r(m,O,h,s)})}}(r,t,1,n)}catch(n){try{JSON.stringify(r)}catch(r){throw r}throw n}return l}},function(r,n,t){"use strict";function e(r){return Object.prototype.toString.call(r)}function i(r){if(null==r)return void 0===r?"undefined":"null";var n=e(r).slice(8,-1).toLowerCase(),t=typeof r;return"arguments"===n||"object"!==t&&"function"!==t||(n=r.constructor&&r.constructor.name?r.constructor.name.toLowerCase():n),n}function o(r){return r=("string"==typeof r||r instanceof String?r:"").toLowerCase(),function(n){return r===i(n)}}var u={};["arguments","array","date","error","syntaxError","typeError","rangeError","regExp","symbol","set","weakSet","map","weakMap"].forEach(function(r){u["is"+r[0].toUpperCase()+r.substr(1)]=o(r)});var s=u.isArguments,a=u.isSymbol,c=u.isSet,f=u.isWeakSet,p=u.isMap,l=u.isWeakMap;function y(r){return u.isArray(r)||void 0!==Array.isArray&&Array.isArray(r)}function g(r){return("object"==typeof r||r instanceof Object)&&null!==r}function v(r){return"function"==typeof r||r instanceof Function}function b(r){return null===r}function d(r){return null==r}function O(r){return"string"==typeof r||r instanceof String}function h(r,n){return(n=void 0===n||!!n)&&r!=r&&console.warn("obj is NaN. Using 'isRealNumber(obj)' instead of 'isNumber(obj)'\nOr using 'isNumber(obj,false)' to stop warning out\n"),"number"==typeof r||r instanceof Number}function m(r){return r!=r}function j(r){return!g(r)&&!v(r)}g.isEmpty=function(r,n){if(!g(r)&&!y(r))return!1;for(var t in n=n||!1,r){if(!n)return!1;if(r.hasOwnProperty(t))return!1}return!0},g.isEmptyOwn=function(r){return g.isEmpty(r,!0)},g.isFlat=function(r){return!!b(r)||!!g(r)&&(null===Object.getPrototypeOf(r)||null===Object.getPrototypeOf(Object.getPrototypeOf(r)))},h.decimal=function(r){return!m(r)&&h(r)&&r%1!=0},h.integer=function(r){return!m(r)&&h(r)&&r%1==0},h.odd=function(r){return!m(r)&&h(r)&&r%2!=0},h.even=function(r){return!m(r)&&h(r)&&r%2==0},r.exports={typeStr:e,getTypeOf:i,isTypeOf:o,isInstanceOf:function r(n,t){var e,i,o=n instanceof t;return o||null==n||(e=n.constructor&&n.constructor.name===t.name,i=n.constructor&&String(n.constructor)==String(t),o=(o=e&&i)||r(Object.getPrototypeOf(n),t)),o},isArguments:s,isSymbol:a,isSet:c,isWeakSet:f,isMap:p,isWeakMap:l,isArray:y,isDate:function(r){return r instanceof Date||u.isDate(r)},isRegExp:function(r){return r instanceof RegExp||u.isRegExp(r)},isError:function(r){return u.isError(r)||r instanceof Error},isSyntaxError:function(r){return u.isSyntaxError(r)||r instanceof SyntaxError},isTypeError:function(r){return u.isTypeError(r)||r instanceof TypeError},isRangeError:function(r){return u.isRangeError(r)||r instanceof RangeError},isObject:g,isFunction:v,isNull:b,isUndefined:function(r){return void 0===r},isNill:d,isNullOrUndefined:d,isUndefinedOrNull:d,isBoolean:function(r){return!0===r||!1===r||r instanceof Boolean},isString:O,isChar:function(r){return O(r)&&1===r.length},isNumber:h,isNaN:m,isRealNumber:function(r){return!m(r)&&h(r)},isPrimitive:j,isSpreadable:function(r){if(y(r))return!!r.length;if(g(r)||v(r))for(var n in r)if(r.hasOwnProperty(n))return!0;return!1},isJSON:function(r){return function r(n,t){return(t||(t=[])).push(n),j(n)||y(n)&&n.every(function(n){return r(n,t)})||g.isFlat(n)&&Object.keys(n).every(function(e){var i=Object.getOwnPropertyDescriptor(n,e);return(!g(i.value)||!~t.indexOf(i.value))&&!("get"in i)&&!("set"in i)&&r(i.value,t)})}(r)}}},function(r,n,t){"use strict";var e=t(0),i=t(3),o=t(4),u=t(5);r.exports={getValByKeyPath:o,travelJson:e,treeify:u,treeString:u,checkCircular:i}},function(r,n,t){"use strict";var e=t(0);r.exports=function(r){var n=!1,t=[];return e(r,function(r,e,i,o,u,s,a){a&&(n=!0,t.push({keyPath:i,circularTo:e.slice(11,-1),key:r,value:e}))},"ROOT",!0),{isCircular:n,circularProps:t}}},function(r,n,t){"use strict";var e=t(1),i=e.isObject,o=e.isString,u=e.isNill;r.exports=function(r,n,t){if(!i(r)||!o(n))throw new TypeError("Error type-in,check plz! (jsonObj,stringKeyPath)");t=!!u(t)||!!t;var e=r;return n.split(".").forEach(function(r){if(u(e))return e;r=(r=r.replace(/&bull;/g,".")).replace(/&amp;/g,"&"),e=t?e.hasOwnProperty(r)?e[r]:void 0:e[r]}),e}},function(r,n,t){"use strict";var e=t(1),i=e.isString,o=e.isNill,u=e.isNaN,s=e.isObject,a=e.isSpreadable,c=t(0),f=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,p={"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"};function l(r){return f.lastIndex=0,f.test(r)?'"'+r.replace(f,function(r){var n=p[r];return"string"==typeof n?n:"\\u"+("0000"+r.charCodeAt(0).toString(16)).slice(-4)})+'"':'"'+r+'"'}var y={I:"│",T:"├",L:"└",_:"─",SPLIT:":",1:" ",2:" ",3:" ",4:" ",5:" ",6:" ",7:" ",8:" ",9:" ",10:" "};var g,v,b,d=(g=[y.T,y.L,"ROOT"],v=g.join("|"),b=new RegExp("^("+v+")+"),function(r){return i(r)&&!!r.match(b)}),O=new RegExp("^("+[y.I,y.T,y._,y.L].join("|")+")");function h(r,n,t){var e,i=!1;for(e=n+1;e<t.length;e++){var o=t[e][r];if(void 0===o)break;if(d(""+o)){i=!0;break}}return{wPos:r,hPos:e,isLast:!i}}function m(r,n){var t="";for(r=r.charAt(0),n=(n=parseInt(n)||0)>0?n:0;n--;)t+=r;return t}r.exports=function(r,n){var t=function(r){void 0===r&&(r={});var n=r||{},t=n.jsonName,e=n.space,s=n.vSpace,a=n.needValueOut,c=n.msReturnChar;return t=(i(t)?t:0)||"ROOT","\t"!==e?(e=parseInt(e),e=(e=u(e)?3:e)<=0?1:e>8?8:e):e=1,s=parseInt(s),{jsonName:t,space:e,vSpace:s=(s=u(s)?e>5?2:1:s)<0?0:s>2?2:s,needValueOut:a=!!o(a)||!!a,msReturnChar:c}}(n),e=t.jsonName,f=t.space,p=t.vSpace,g=t.needValueOut,v=t.msReturnChar;if(o(r))return e+"'s content is "+String(r);if(s.isEmptyOwn(r))return e+"'s content is empty!";if(!a(r))return e+"'s content is "+(i(r)?l(r):String(r));for(var b=y.I+y[f],j=y.T+m(y._,parseInt((f-1)/2))+" ",S=y.SPLIT+" ",x=Math.floor(e.length/2)%10,E=y.T+" ",w=y.I+m(" ",x-1),T=[[E+e,void 0]],N=0;N<p;N++)T.push([w,b]);return c(r,function(r,n,t,e,o,u){var s,a,c,f=u;o?s=void 0:g?(s="string"===e?l(s=(c=i(a=n)&&a.match(O))&&c.length?"'"+c[1]+"'"+a.substr(1):a):"array"===e?"[]":"object"===e?"{}":"function"===e?"[function code]":String(n),s=S+s):s="";var y,v=[];for(y=1;y<f;y++)v.push(1===y?w:b);v.push(j+l(r).slice(1,-1)),v.push(s),T.push(v);for(var d=0;d<p;d++)T.push(v.map(function(r,n){var t=0===n,e=n===v.length-1&&void 0===r;return n<v.length-1||e?t?w:b:void 0}))},"obj"),function(r){var n,t=new RegExp("^"+y.T,"g"),e=new RegExp("^"+y.I,"g"),i=r.length;for(n=0;n<i;n++)for(var o=r[n],u=0;u<o.length;u++){var s=o[u];if(d(s)){var a=h(u,n,r);if(a.isLast){r[n][u]=s.replace(t,y.L);for(var c=n+1;c<a.hPos;c++)r[c]&&r[c][u]&&r[c][u].match(e)&&(r[c][u]=r[c][u].replace(e," "))}}}var f=new RegExp(y._,"gi"),p=new RegExp(y.T+"|"+y.L,"g");r[0][0]=r[0][0].replace(f," ").replace(p,"")}(T),T.map(function(r){return r.join("").replace(/(\s|\u00A0)+$/,"")}).join(v?"\r\n":"\n")}}])});