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