1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[673],{11180:()=>{},13650:()=>{},16869:()=>{},22344:()=>{},24930:()=>{},26994:()=>{},33147:(e,t,a)=>{"use strict";a.d(t,{A:()=>l});var r=a(4930);a(65162);let l=e=>{let{domain:t="fe-tool.com",path:a}=e,l="/index.js".split("pages").pop().replace(".js","").substring(1),n=null==a?l:a,o=`https://${t}`;return n&&(o+=`/${n}`),(0,r.jsx)("link",{rel:"canonical",href:o})}},35694:()=>{},37636:()=>{},39738:()=>{},43523:(e,t,a)=>{"use strict";a.d(t,{I:()=>b,bx:()=>x.A,Gr:()=>C,NC:()=>P,sT:()=>h});var r=a(4930);a(35694),a(65162),a(18938),a(48058);var l=a(47805),n=a(76314),o=a(26980),i=a(24641);let s={feApiUrl:"https://api.fe-tool.com"},c="u"<typeof location?s:location.hostname.startsWith("local")?{feApiUrl:"http://local.api.fe-tool.com:9000"}:s;a(32371);a(89750),a(37204),a(25357);let{confirm:d}=n.A;a(24930);var p=a(33695);let{Link:u}=p.A;a(63538),a(86660);let h=e=>{let{title:t,subTitle:a}=e;return(0,r.jsxs)("div",{className:"component-page-title",children:[(0,r.jsx)("h1",{className:"title",children:t}),!!a&&(0,r.jsx)("h2",{className:"sub-title",children:a})]})};a(97847),a(22344),(0,a(1241).A)({scriptUrl:"//at.alicdn.com/t/c/font_3724429_daror0dl324.js"}),a(11180);var m=a(4577),f=a.n(m);let{Link:y}=p.A;a(61018);let{Link:g}=p.A;a(15565),a(33202);let{Title:j,Paragraph:w,Text:S,Link:A}=p.A;a(64258);let b=e=>{let{className:t,style:a}=e;return(0,r.jsx)("div",{style:a,className:f()("component-breathe",t)})};var x=a(33147);a(99330);let{Link:k}=p.A;a(94408);let{Link:N}=p.A,C=e=>{let{href:t,children:a,noFollow:l=!1,...n}=e,o={};return(l&&(o.rel="nofollow"),t)?(0,r.jsx)("a",{...n,...o,href:t,target:"_blank",children:a}):(0,r.jsx)("span",{...n,children:a})};a(70834);var v=a(32139);a(87124),a(37211),a(86066);let{Title:O,Paragraph:J,Text:I,Link:E}=p.A,{TextArea:T}=v.A;a(80820),a(67197),a(39738),a(8991),a(63405),a(67872),a(91909),a(94635),a(46597),a(21089);let{Title:L,Paragraph:$,Text:F,Link:H}=p.A;a(13650);var D=a(78529);let P=e=>{let{fileName:t,desc:a,imgWidth:n="100%"}=e;return(0,r.jsxs)(D.A,{className:"component-img-desc",children:[(0,r.jsx)("img",{style:{width:n},alt:a,src:l.A.getPublicPath(`/img/${t}`)}),!!a&&(0,r.jsx)("p",{className:"desc",children:a})]})};a(20552),a(71468),a(3814),a(50185),a(26994);let{Title:R}=p.A;a(66388),a(72930),a(16869)},47805:(e,t,a)=>{"use strict";let r;a.d(t,{A:()=>y});var l,n=a(87349),o=a(61018),i=a.n(o),s=a(32399),c=a(33202),d=a.n(c),p=((l={})[l.EqualLoan=0]="EqualLoan",l[l.EqualPrincipal=1]="EqualPrincipal",l),u=a(89750),h=a(2617);try{r={"zh-CN":new Intl.NumberFormat("zh-CN",{style:"currency",currency:"CNY"}),"en-US":new Intl.NumberFormat("en-US",{style:"currency",currency:"USD"})}}catch(e){console.warn("Intl.NumberFormat error",e)}let m="x-fe-csrf",f={thisYear:()=>new Date().getFullYear(),isGrayHit:e=>{let t="userGray";return localStorage.getItem(t)||localStorage.setItem(t,`${Math.random()}`),parseFloat(localStorage.getItem(t))<e},isAdmin:()=>{try{return"u">typeof localStorage&&"yes"===localStorage.getItem("isAdmin")}catch(e){return!1}},isMacOS:()=>/mac os x/i.test(navigator.userAgent),isLocal:()=>window.location.hostname.startsWith("local."),getApiCsrfHeader:(e=Date.now(),t=Math.floor(1e4*Math.random()))=>{let a=0;for(let r of`1o9d2jF1${e}${t}`)a=(a+t+r.charCodeAt(0))*13%1e13;let r=a.toString();return{[m]:`${e}|${t}|${r}`}},checkApiAuthHeader:e=>{let t=e?.[m]||"",[a,r]=t.split("|"),l=parseInt(a),n=parseInt(r),o=Date.now(),i=o-l;if(i>12e4)throw`checkApiAuthHeader time fail. timeDiff=${i} > maxDiffTime=120000. now=${o} timeInt=${l} `;if(f.getApiCsrfHeader(l,n)?.[m]!==t)throw"checkApiAuthHeader token fail"},sleep:e=>new Promise(t=>setTimeout(t,e)),renderThousandCount:(e,t=1)=>d().isNil(e)?"-":`${f.formatNumberThousandSeparator(parseFloat((e/1e3).toFixed(t)))}k`,formatNumberThousandSeparator:(e,t="en-US")=>d().isNil(e)?"-":e.toLocaleString(t),getCurrentLocale:()=>u.Ay.getInitOptions()?.currentLocale||h.h["en-US"],safeJsonParse:(e,t)=>{try{if(!e)return t;return JSON.parse(e)}catch(e){return t}},formatDateFromNow:e=>d().isNil(e)?"-":i()(e).fromNow(),formatDateSimple:e=>d().isNil(e)?"-":i()(e).format("ll"),formatDateLong:e=>d().isNil(e)?"-":i()(e).format("LL"),formatYearMonthLong:e=>d().isNil(e)?"-":i()(e).format("YYYY/MM"),safeParseJSON:(e,t={})=>{try{if("object"==typeof e)return e;return JSON.parse(e)}catch(e){return console.warn("safeParseJSON error",e),t}},urlJoin:s.A,queryStringify:(e={})=>(0,n.stringify)(e),parseSearchQuery:()=>{let e="";return"u">typeof location&&(e=location.search),(0,n.parse)(e)},parseHashQuery:()=>{let e="";return"u">typeof location&&(e=location.hash),(0,n.parse)(e)},removeHashKeys:(e=[])=>{let t=f.parseHashQuery();for(let a of e)delete t[a];let a=(0,n.stringify)(t);location.hash=`#${a}`},removeAllHash:()=>{history?.pushState("",document.title,`${location.pathname}${location.search}`)},setQueryObject:(e,t={})=>{e.query=t,e.push(e,void 0,{shallow:!0})},clearQueryObject:e=>{e.query={},e.pathname=e.pathname.toLowerCase(),e.push(e.pathname,e.pathname,{shallow:!0})},selectFilterByChildren:(e,t)=>t.children.toLowerCase().includes(e.toLowerCase()),toFixedFloat:(e,t)=>
1parseFloat(e.toFixed(t)),getArrayRange:e=>{let t=[];for(let a=0;a<e;a++)t.push(a);return t},formatCurrency:(e,t="zh-CN")=>null==e?"":r?.[t]?.format(e)||e,getRandomKey:(e=8)=>d().shuffle("1234567890qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM").join("").substring(0,e),calculateEqualPrincipalPayment:e=>{let{loanAmount:t,periodNum:a,yearRate:r}=e,l=r/12,n=t/a,o=[];for(let e=0;e<a;e++){let a,r=e+1,i=0===e?{num:r,leftCapital:t,payInterest:0,payAmount:0,payCapital:0}:o[e-1],s=i.leftCapital*l,c=s+n;a={num:r,leftCapital:i.leftCapital-n,payInterest:s,payAmount:c,payCapital:n},o[e]=a}o[o.length-1].leftCapital=0;let i=o.map(e=>e.payInterest).reduce((e,t)=>e+t,0),s=o.map(e=>e.payAmount).reduce((e,t)=>e+t,0),c=o?.[0].payAmount;return{loanType:p.EqualPrincipal,firstMonthPay:c,loanAmount:t,interestAmount:i,payAmount:s,payDetailList:o}},calculateEqualLoanPayment:e=>{let{loanAmount:t,periodNum:a,yearRate:r}=e,l=r/12,n=Math.pow(1+l,a),o=l*n*t/(n-1),i=[];for(let e=0;e<a;e++){let a,r=e+1,n=0===e?{num:r,leftCapital:t,payInterest:0,payAmount:0,payCapital:0}:i[e-1],s=n.leftCapital*l,c=o-s,d=s+c;a={num:r,leftCapital:n.leftCapital-c,payInterest:s,payAmount:d,payCapital:c},i[e]=a}i[i.length-1].leftCapital=0;let s=i.map(e=>e.payInterest).reduce((e,t)=>e+t,0);return{loanType:p.EqualLoan,firstMonthPay:o,loanAmount:t,interestAmount:s,payAmount:o*a,payDetailList:i}},sortObjectByKey:e=>{let t={},a=Object.keys(e).sort();for(let r=0;r<a.length;r++){let l=a[r],n=e[l];"object"!=typeof n||Array.isArray(n)?Array.isArray(n)?t[l]=n.map(e=>"object"==typeof e?f.sortObjectByKey(e):e):t[l]=n:t[l]=f.sortObjectByKey(n)}return t},waitUntil:async(e,t=200)=>{for(;!await e();)await f.sleep(t)},getPublicPath:e=>`https://public-fe.oss-accelerate.aliyuncs.com${e}`,getTagColor:e=>{let t=["magenta","red","volcano","orange","gold","lime","green","cyan","blue","geekblue","purple"],a=t.length;return t[e%a]},removeCodeBlockMarker:(e="")=>{if(!((e=e.trim()).startsWith("```")&&e.endsWith("```")))return e;{let t=e.split("\n");return t.shift(),t.pop(),t.join("\n")}},isFromChina:()=>{try{if("u"<typeof navigator)return!1;return navigator?.languages?.includes?.("zh-CN")||Intl?.DateTimeFormat?.().resolvedOptions?.().timeZone==="Asia/Shanghai"}catch(e){return!1}},getMonacoEditorPath:()=>{let e="0.46.0";return f.isFromChina()?`https://g.alicdn.com/code/lib/monaco-editor/${e}/min/vs`:`https://cdn.jsdelivr.net/npm/monaco-editor@${e}/min/vs`}},y=f},48058:()=>{},63538:()=>{},64258:()=>{},66388:()=>{},67197:(e,t,a)=>{"use strict";a.d(t,{C:()=>n});var r=a(80191),l=a.n(r);window.CryptoJS&&(l()(window.CryptoJS.SHA1,10),l()(window.CryptoJS.SHA224,10),l()(window.CryptoJS.SHA256,10),l()(window.CryptoJS.SHA384,10),l()(window.CryptoJS.SHA512,10),l()(window.CryptoJS.SHA3,10),l()(window.CryptoJS.MD5,10),l()(window.CryptoJS.HmacMD5,10),l()(window.CryptoJS.RIPEMD160,10));let n={wordWrap:"on",wrappingIndent:"same",minimap:{enabled:!1},lineNumbersMinChars:1,fontSize:14,scrollbar:{verticalScrollbarSize:8,alwaysConsumeMouseWheel:!1},showFoldingControls:"always",scrollBeyondLastLine:!1,renderLineHighlight:"none",quickSuggestions:!1}},70834:()=>{},72930:()=>{},80820:()=>{},86066:()=>{},86660:()=>{},87673:(e,t,a)=>{"use strict";a.d(t,{Ay:()=>N,RO:()=>k});var r=a(4930);a(99519);var l=a(65162),n=a(81326),o=a(6185),i=a(69798),s=a(43523),c=a(64361),d=a(50096),p=a(83634),u=a(37204),h=a(54990),m=a(93741),f=a(91207),y=a(2059),g=a(85975),j=a(87124),w=a(33202),S=a.n(w);let{Header:A,Content:b,Footer:x}=n.A,k="https://github.com/awesome-json/json-editor",N=e=>{let[t,a]=(0,l.useState)(),w=(0,j.useRouter)(),b=[{label:"JSON5 Editor(Formatter)",key:"json-editor",pathname:"/",icon:(0,r.jsx)(c.A,{})},{label:"JSON Compare",key:"jsoncompare",pathname:"/jsoncompare",icon:(0,r.jsx)(d.A,{})},{label:"JSON to TypeScript",key:"json-to-typescript",pathname:"/json-to-typescript",icon:(0,r.jsx)(p.A,{})},{label:"JSON to Java",key:"json-to-java",pathname:"/json-to-java",icon:(0,r.jsx)(p.A,{})},{label:"Github",key:"more",icon:(0,r.jsx)(u.A,{}),isExternal:!0,children:[{label:(0,r.jsx)(s.Gr,{href:k,children:"Github"}),key:"github",icon:(0,r.jsx)(u.A,{}),isExternal:!0},{label:(0,r.jsx)(s.Gr,{href:"https://www.producthunt.com/posts/json-to-typescript-generator",children:"Product Hunt"}),key:"product-hunt",icon:(0,r.jsx)(h.A,{}),isExternal:!0},{label:(0,r.jsx)(s.Gr,{href:`https://twitter.com/intent/tweet?url=${encodeURIComponent("u">typeof location&&location.href)}&text=${encodeURIComponent("Awesome JSON Editor / JSON Diff / JSON to TypeScript Generator")}`,children:"Share on Twitter"}),key:"twitter",icon:(0,r.jsx)(m.A,{}),isExternal:!0},{label:(0,r.jsx)(s.Gr,{href:`https://www.facebook.com/sharer.php?u=${encodeURIComponent("u">typeof location&&location.href)}`,children:"Share on Facebook"}),key:"facebook",icon:(0,r.jsx)(f.A,{}),isExternal:!0},{label:(0,r.jsx)(s.Gr,{href:"/what-is-json",children:"What's JSON"}),key:"what-is-json",icon:(0,r.jsx)(y.A,{})},{label:(0,r.jsx)(s.Gr,{href:"/json-vs-json5",children:"What's JSON5"}),key:"json-vs-json5",icon:(0,r.jsx)(p.A,{})},{label:(0,r.jsx)(o.A,{title:(0,r.jsx)(r.Fragment,{children:"Format JSON data via Alfred (productivity application for macOS)."}),placement:"bottomLeft",children:(0,r.jsx)("a",{className:"link-icon",href:"https://github.com/awesome-json/json-editor/tree/main#3-integration-with-alfred",target:"_blank",children:"Alfred"})}),key:"alfred",icon:(0,r.jsx)(g.A,{}),isExternal:!0}]}];return l.useEffect(()=>{let{pathname:e}=w;if(e.includes("json-editor"))a("json-editor");else{let t=S().find(b,{pathname:e});t&&a(t.key)}},[w.pathname]),(0,r.jsx)("div",{className:"json-toolbar",children:(0,r.jsx)(n.A,{className:"layout",children:(0,r.jsxs)(A,{style:{display:"flex",alignItems:"center"},children:[(0,r.jsx)(o.A,{title:(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(s.Gr,{href:k,children:"JSON5"})," - JSON for Humans"]}),placement:"bottomRight",children:(0,r.jsx)("a",{href:"/json-vs-json5",children:(0,r.jsx)("img",{fetchpriority:"high",className:"json-logo",src:"/img/json-logo.jpg"})})}),(0,r.jsx)(i.A,{theme:"dark",mode:"horizontal",defaultSelectedKeys:["json-to-typescript"],onClick:e=>{let{key:t}=e,r=S().find(b,{key:t});r&&!r.isExternal&&(a(t),w.push(r.pathname))},selectedKeys:[t],items:b})]})})})}},94408:(e,t,a)=>{"use strict";a.d(t,{A:()=>y});var r=a(4930),l=a(65162),n=a(26980),o=a(3247),i=a(3352),s=a(1832),c=a(79097),d=a(22745),p=a(33202),u=a.n(p);a(37636);var h=a(47805);let m="DraggableTabNode",f=({index:e,children:t,moveNode:a})=>{let n=(0,l.useRef)(null),[{isOver:o},c]=(0,i.H)({accept:m,collect:t=>{let{index:a}=t.getItem()||{};return a===e?{}:{isOver:t.isOver()}},drop:t=>{a(t.index,e)}}),[,d]=(0,s.i)({type:m,item:{index:e},collect:e=>({isDragging:e.isDragging()})});c(d(n));let p={};return o&&(p.transition="all 1s"),(0,r.jsx)("div",{ref:n,style:p,children:t})},y=l.forwardRef((e,t)=>
1{let{notification:a}=n.A.useApp();l.useImperativeHandle(t,()=>({mergeActiveTabData:e=>{let t=u().find(v,{key:N});t?.data&&Object.assign(t.data,e),window.localStorage?.setItem(i,JSON.stringify(v))}}));let{tabItemsStorageKey:i,activeTabKeyStorageKey:s,firstTabItemData:p,newTabItemData:m,onActiveTabKeyChange:y,...g}=e,[j,w]=(0,l.useState)([]),[S,A]=(0,l.useState)(),[b,x]=(0,l.useState)(),k=(0,l.useRef)(null),[N,C]=l.useState(),[v,O]=l.useState([]),J=(e,t)=>{let a=0,{data:r,label:l}=e||{};if(!l){for(let e=0;;e++)if(!u().some(t||v,{label:`New Tab ${e}`})){a=e,l=`New Tab ${a}`;break}}return{label:l,key:`^^${a}-${h.A.getRandomKey()}`,data:r}},I=(e,t)=>{let a=J(e,t),r=[...t||v,a];O(r),C(a.key),localStorage?.setItem(i,JSON.stringify(r)),localStorage?.setItem(s,a.key)};l.useEffect(()=>{N&&window.localStorage?.setItem(s,N)},[N]),l.useEffect(()=>{let e=u().find(v,{key:N});y(N,e)},[N]);let E=({order:e,dragKey:t,hoverKey:a})=>{C(t),v.sort((t,a)=>u().indexOf(e,t.key)-u().indexOf(e,a.key)),window.localStorage?.setItem(i,JSON.str
1ingify(v))},T=e=>{window.localStorage?.setItem(i,JSON.stringify(e))};l.useEffect(()=>{(async()=>{let e=localStorage?.getItem(s),t=localStorage?.getItem(i),{inputText:r,label:l}=h.A.parseHashQuery(),n=[];if(t)try{n=JSON.parse(t)}catch(e){}if(!n?.length){let t=J({key:null,data:p,label:"example tab"});n=[t],e=t.key}O(n),C(e),(r||l)&&(I({key:null,label:l,data:{inputText:r}},n),a.success({message:"New JSON data shown in new tab."}),h.A.removeAllHash())})()},[]);let L=(e,t)=>{let a=j.slice();v.forEach(e=>{e.key&&-1===a.indexOf(e.key)&&a.push(e.key)});let r=a.indexOf(e),l=a.indexOf(t);a.splice(r,1),a.splice(l,0,e),w(a),E?.({order:a,dragKey:e,hoverKey:t})},$=[...v].sort((e,t)=>{let a=j.indexOf(e.key),r=j.indexOf(t.key);return -1!==a&&-1!==r?a-r:-1!==a?-1:-1!==r?1:v.indexOf(e)-v.indexOf(t)}),F=e=>{let t=e?.target?.innerText?.trim();""===t&&(t="(empty-title)"),u().find($,{key:S}).label=t,x(null),A(null),T?.($)},H=$.map(e=>({...e,label:e.key===S?(0,r.jsx)("div",{ref:k,className:"tab-editable-label",contentEditable:"true",suppressContentEditableWarning:!0,onKeyDown:e=>{if("Space"===e.code){e.preventDefault();var t=window.getSelection().getRangeAt(0),a=document.createTextNode("\xa0");t.insertNode(a),t.setStartAfter(a),t.setEndAfter(a)}else"Enter"===e.code&&F(e)},onBlur:F,children:b}):e.label}));return l.useEffect(()=>{k?.current&&(k?.current?.focus(),requestAnimationFrame(()=>{var e=document.createRange();e.selectNodeContents(k?.current);var t=window.getSelection();t.removeAllRanges(),t.addRange(e)}))},[S]),(0,r.jsx)(c.Q,{backend:d.t2,children:(0,r.jsx)(o.A,{className:"component-draggable-tabs",renderTabBar:(e,t)=>(0,r.jsx)(t,{...e,children:e=>(0,r.jsx)(f,{index:e.key,moveNode:L,children:e},e.key)}),onDoubleClick:e=>{let t="^^"+e.target.id.split("^^").pop(),a=u().find(v,{key:t});a&&(x(a?.label),A(t))},items:H,onChange:C,activeKey:N,onEdit:(e,t)=>{"add"===t?I({data:m}):(e=>{if(1===v.length)return a.warning({message:"The final tab cannot be closed"});let t=v.findIndex(t=>t.key===e),r=v.filter(t=>t.key!==e);if(r.length&&e===N){let{key:e}=r[t===r.length?t-1:t];C(e)}O(r),window.localStorage?.setItem(i,JSON.stringify(r))})(e)},...g})})})},99330:()=>{},99519:()=>{}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.