lone-format 0.1.0 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1,8 @@
1
- (function(B,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],e):(B=typeof globalThis<"u"?globalThis:B||self,e(B.LoneFormat={},B.Vue))})(this,function(B,e){"use strict";const P={class:"json-node"},K={key:0,class:"json-node__container"},L={class:"json-node__line"},M={key:2,class:"json-node__colon"},q=["title"],z={key:3,class:"json-node__collapsed"},W={key:4,class:"json-node__comma"},G={key:0,class:"json-node__children"},H={class:"json-node__line"},Q={class:"json-node__bracket"},R={key:0,class:"json-node__comma"},X={key:1,class:"json-node__primitive"},Y={key:2,class:"json-node__colon"},Z=["title"],ee={key:5,class:"json-node__comma"},te=e.defineComponent({name:"JsonNode",__name:"JsonNode",props:{value:{},keyName:{},level:{},path:{default:""},expanded:{},isLast:{type:Boolean,default:!1}},emits:["update:value","toggle-expand","copy","update:key"],setup(E,{emit:_}){e.useCssVars(t=>({"623b775d":t.level}));const s=E,g=_,p=e.ref(!1),f=e.ref(!1),i=e.ref(""),d=e.ref(""),m=t=>{if(!/^-?\d+(\.\d+)?$/.test(t))return!1;const n=Number(t);return!Number.isSafeInteger(n)||t.length>15},k=e.computed(()=>s.value!==null&&typeof s.value=="object"),v=e.computed(()=>Array.isArray(s.value)),N=e.computed(()=>s.path?s.path:s.keyName?s.keyName:"root"),h=e.computed(()=>s.expanded.has(N.value)),b=e.computed(()=>s.keyName),A=e.computed(()=>v.value?"[":"{"),C=e.computed(()=>v.value?"]":"}"),J=e.computed(()=>{if(!s.value)return"";const n=Object.keys(s.value).length;return v.value?n>0?` ${n} items `:" ":n>0?` ${n} keys `:" "}),O=e.computed(()=>{const t=typeof s.value;return s.value===null?"json-node__value--null":t==="boolean"?"json-node__value--boolean":t==="number"?"json-node__value--number":t==="string"?m(s.value)?"json-node__value--number":"json-node__value--string":""}),$=e.computed(()=>f.value?d.value:s.value===null?"null":typeof s.value=="boolean"||typeof s.value=="number"?String(s.value):typeof s.value=="string"?m(s.value)?s.value:`"${s.value}"`:String(s.value)),w=e.computed(()=>"Click to edit, double-click to copy"),T=t=>s.level===0?t:N.value?`${N.value}.${t}`:t,j=t=>{const n=Object.keys(s.value);return n.indexOf(t)===n.length-1},S=()=>{g("toggle-expand",N.value)},x=()=>{s.level!==0&&(p.value=!0,i.value=s.keyName,e.nextTick(()=>{const t=document.querySelectorAll(".json-node__key-input"),n=t[t.length-1];n&&(n.focus(),n.select())}))},I=()=>{k.value||(f.value=!0,typeof s.value=="string"&&m(s.value)||typeof s.value=="string"?d.value=s.value:d.value=String(s.value),e.nextTick(()=>{const t=document.querySelectorAll(".json-node__value-input"),n=t[t.length-1];n&&(n.focus(),n.select())}))},o=()=>{if(s.level===0||!p.value)return;const t=i.value.trim();if(!t){r();return}if(t===s.keyName){p.value=!1;return}p.value=!1,g("update:key",N.value,t)},l=()=>{try{let t;const n=d.value.trim();if(n==="null")t=null;else if(n==="true"||n==="false")t=n==="true";else if(!isNaN(Number(n))&&n!==""){const u=Number(n);!Number.isSafeInteger(u)||n.length>15?t=n:t=u}else t=d.value;g("update:value",N.value,t),f.value=!1}catch(t){console.error("Failed to parse value:",t),f.value=!1}},r=()=>{p.value=!1,i.value=s.keyName},a=()=>{f.value=!1,typeof s.value=="string"&&m(s.value)||typeof s.value=="string"?d.value=s.value:d.value=String(s.value)};return(t,n)=>{const u=e.resolveComponent("JsonNode",!0);return e.openBlock(),e.createElementBlock("div",P,[k.value?(e.openBlock(),e.createElementBlock("div",K,[e.createElementVNode("div",L,[t.keyName&&!p.value?(e.openBlock(),e.createElementBlock("span",{key:0,class:"json-node__key",onClick:x,title:"Click to edit key"},' "'+e.toDisplayString(b.value)+'" ',1)):e.createCommentVNode("",!0),t.keyName&&p.value?e.withDirectives((e.openBlock(),e.createElementBlock("input",{key:1,"onUpdate:modelValue":n[0]||(n[0]=c=>i.value=c),onKeyup:[e.withKeys(o,["enter"]),e.withKeys(r,["escape"])],onBlur:o,class:"json-node__key-input"},null,544)),[[e.vModelText,i.value]]):e.createCommentVNode("",!0),t.keyName?(e.openBlock(),e.createElementBlock("span",M,": ")):e.createCommentVNode("",!0),e.createElementVNode("span",{class:"json-node__bracket json-node__bracket--clickable",onClick:S,title:h.value?"Click to collapse":"Click to expand"},e.toDisplayString(A.value),9,q),h.value?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("span",z,[e.createTextVNode(e.toDisplayString(J.value)+" ",1),e.createElementVNode("span",{class:"json-node__bracket json-node__bracket--clickable",onClick:S},e.toDisplayString(C.value),1)])),!h.value&&!t.isLast?(e.openBlock(),e.createElementBlock("span",W,",")):e.createCommentVNode("",!0)]),h.value?(e.openBlock(),e.createElementBlock("div",G,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.value,(c,y)=>(e.openBlock(),e.createElementBlock("div",{key:y,class:"json-node__child"},[e.createVNode(u,{value:c,"key-name":v.value?"":String(y),level:t.level+1,path:T(String(y)),expanded:t.expanded,"onUpdate:value":n[1]||(n[1]=(V,D)=>t.$emit("update:value",V,D)),onToggleExpand:n[2]||(n[2]=V=>t.$emit("toggle-expand",V)),onCopy:n[3]||(n[3]=V=>t.$emit("copy",V)),"onUpdate:key":n[4]||(n[4]=(V,D)=>t.$emit("update:key",V,D)),"is-last":j(String(y))},null,8,["value","key-name","level","path","expanded","is-last"])]))),128)),e.createElementVNode("div",H,[e.createElementVNode("span",Q,e.toDisplayString(C.value),1),t.isLast?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("span",R,","))])])):e.createCommentVNode("",!0)])):(e.openBlock(),e.createElementBlock("div",X,[t.keyName&&!p.value?(e.openBlock(),e.createElementBlock("span",{key:0,class:"json-node__key",onClick:x,title:"Click to edit key"},' "'+e.toDisplayString(b.value)+'" ',1)):e.createCommentVNode("",!0),t.keyName&&p.value?e.withDirectives((e.openBlock(),e.createElementBlock("input",{key:1,"onUpdate:modelValue":n[5]||(n[5]=c=>i.value=c),onKeyup:[e.withKeys(o,["enter"]),e.withKeys(r,["escape"])],onBlur:o,class:"json-node__key-input"},null,544)),[[e.vModelText,i.value]]):e.createCommentVNode("",!0),t.keyName?(e.openBlock(),e.createElementBlock("span",Y,": ")):e.createCommentVNode("",!0),f.value?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("span",{key:3,class:e.normalizeClass(["json-node__value",O.value]),onClick:I,onDblclick:n[6]||(n[6]=c=>t.$emit("copy",t.value)),title:w.value},e.toDisplayString($.value),43,Z)),f.value?e.withDirectives((e.openBlock(),e.createElementBlock("input",{key:4,"onUpdate:modelValue":n[7]||(n[7]=c=>d.value=c),onKeyup:[e.withKeys(l,["enter"]),e.withKeys(a,["escape"])],onBlur:l,class:"json-node__value-input"},null,544)),[[e.vModelText,d.value]]):e.createCommentVNode("",!0),t.isLast?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("span",ee,","))]))])}}}),F=(E,_)=>{const s=E.__vccOpts||E;for(const[g,p]of _)s[g]=p;return s},ne=F(te,[["__scopeId","data-v-ac834fbd"]]),oe={class:"json-format"},le={key:0,class:"json-format__toolbar"},se={class:"json-format__actions"},ae=["disabled"],re=["disabled"],ce=["disabled"],ie={class:"json-format__info"},de={key:0,class:"json-format__status json-format__status--success"},ue={key:1,class:"json-format__status json-format__status--error"},pe={class:"json-format__content"},me={key:0,class:"json-format__error"},fe={key:1,class:"json-format__viewer"},ye=require("json-bigint"),U=F(e.defineComponent({name:"JsonFormat",__name:"index",props:{modelValue:{default:""},readonly:{type:Boolean,default:!1},maxDepth:{default:10},showToolbar:{type:Boolean,default:!0}},emits:["update:modelValue","copy-success","copy-error","expand-all","collapse-all"],setup(E,{expose:_,emit:s}){const g=ye({storeAsString:!0,useNativeBigInt:!1}),p=E,f=s,i=e.ref(null),d=e.ref(""),m=e.ref(new Set),k=e.computed(()=>d.value===""),v=o=>{if(!o.trim()){i.value=null,d.value="";return}try{i.value=g.parse(o),d.value="",e.nextTick(()=>{i.value!==null&&m.value.add("root")})}catch(l){d.value=l instanceof Error?l.message:"Unknown parsing error",i.value=null}};e.watch(()=>p.modelValue,o=>{v(o)},{immediate:!0});const N=(o,l)=>{if(!p.readonly)try{const r=h(i.value,o,l),a=g.stringify(r,null,2);f("update:modelValue",a)}catch(r){console.error("Failed to update JSON:",r)}},h=(o,l,r)=>{if(!l||l==="root")return r;const a=l.split("."),t=j(o,a.slice(0,-1));let n=t;for(let c=0;c<a.length-1;c++){const y=a[c];y!=="root"&&(Array.isArray(n)?n=n[parseInt(y)]:n=n[y])}const u=a[a.length-1];return u==="root"?r:(Array.isArray(n)?n[parseInt(u)]=r:n[u]=r,t)},b=o=>{m.value.has(o)?m.value.delete(o):m.value.add(o)},A=()=>{const o=new Set,l=(r,a="")=>{r!==null&&typeof r=="object"&&(o.add(a||"root"),Array.isArray(r)?r.forEach((t,n)=>{const u=a?`${a}.${n}`:`${n}`;l(t,u)}):Object.keys(r).forEach(t=>{const n=a?`${a}.${t}`:t;l(r[t],n)}))};l(i.value),m.value=o,f("expand-all")},C=()=>{m.value=new Set(["root"]),f("collapse-all")},J=async()=>{if(k.value)try{const l=JSON.stringify(i.value,null,2).replace(/"(\d{16,})"/g,"$1");await navigator.clipboard.writeText(l),f("copy-success",l)}catch(o){console.error("Failed to copy JSON:",o),f("copy-error",o instanceof Error?o:new Error("Failed to copy JSON"))}},O=o=>{if(!/^-?\d+(\.\d+)?$/.test(o))return!1;const l=Number(o);return!Number.isSafeInteger(l)||o.length>15},$=async o=>{try{let l;typeof o=="string"&&O(o)?l=o:typeof o=="string"?l=`"${o}"`:l=JSON.stringify(o),await navigator.clipboard.writeText(l)}catch(l){console.error("Failed to copy value:",l)}},w=(o,l)=>{if(!p.readonly)try{const r=T(i.value,o,l),a=g.stringify(r,null,2);f("update:modelValue",a),I(o,l)}catch(r){console.error("Failed to rename key:",r)}},T=(o,l,r)=>{if(!l||l==="root")return o;const a=l.split("."),t=j(o,a.slice(0,-1));if(a.length===1){const c=a[0];return t&&typeof t=="object"&&!Array.isArray(t)?S(t,c,r):t}let n=t;for(let c=0;c<a.length-1;c++){const y=a[c];Array.isArray(n)?n=n[parseInt(y)]:n=n[y]}const u=a[a.length-1];if(!Array.isArray(n)&&n&&typeof n=="object"){const c=S(n,u,r),y=a.slice(0,-1);y.length>0&&x(t,y,c)}return t},j=(o,l)=>{if(l.length===0)return o;if(Array.isArray(o)){const r=[...o],a=l[0],t=parseInt(a);return l.length===1||(r[t]=j(o[t],l.slice(1))),r}else if(o&&typeof o=="object"){const r={...o},a=l[0];return l.length===1||(r[a]=j(o[a],l.slice(1))),r}return o},S=(o,l,r)=>{if(!o||typeof o!="object"||Array.isArray(o))return o;const a=Object.keys(o),t={};for(const n of a)n===l?t[r]=o[n]:t[n]=o[n];return t},x=(o,l,r)=>{let a=o;for(let n=0;n<l.length-1;n++){const u=l[n];Array.isArray(a)?a=a[parseInt(u)]:a=a[u]}const t=l[l.length-1];Array.isArray(a)?a[parseInt(t)]=r:a[t]=r},I=(o,l)=>{const r=new Set;m.value.forEach(a=>{if(a===o){const t=o.split(".");t[t.length-1]=l,r.add(t.join("."))}else if(a.startsWith(o+".")){const t=o.split(".");t[t.length-1]=l;const n=t.join("."),u=a.substring(o.length);r.add(n+u)}else r.add(a)}),m.value=r};return _({copyJson:J,expandAll:A,collapseAll:C,toggleExpand:b,updateValue:N,updateKey:w,isValidJson:()=>k.value,getParsedJson:()=>i.value,getExpandedNodes:()=>m.value,getParseError:()=>d.value,parseJson:o=>v(o),copyValue:o=>$(o)}),(o,l)=>(e.openBlock(),e.createElementBlock("div",oe,[o.showToolbar?(e.openBlock(),e.createElementBlock("div",le,[e.createElementVNode("div",se,[e.createElementVNode("button",{class:"json-format__btn json-format__btn--primary",onClick:J,disabled:!k.value,title:"Copy JSON"}," 📋 Copy ",8,ae),e.createElementVNode("button",{class:"json-format__btn json-format__btn--secondary",onClick:A,disabled:!k.value,title:"Expand All"}," ⬇️ Expand All ",8,re),e.createElementVNode("button",{class:"json-format__btn json-format__btn--secondary",onClick:C,disabled:!k.value,title:"Collapse All"}," ➡️ Collapse All ",8,ce)]),e.createElementVNode("div",ie,[k.value?(e.openBlock(),e.createElementBlock("span",de," ✅ Valid JSON ")):(e.openBlock(),e.createElementBlock("span",ue," ❌ Invalid JSON "))])])):e.createCommentVNode("",!0),e.createElementVNode("div",pe,[k.value?(e.openBlock(),e.createElementBlock("div",fe,[e.createVNode(ne,{value:i.value,"key-name":"",level:0,expanded:m.value,"is-last":!0,"onUpdate:value":N,onToggleExpand:b,onCopy:$,"onUpdate:key":w},null,8,["value","expanded"])])):(e.openBlock(),e.createElementBlock("div",me,[l[0]||(l[0]=e.createElementVNode("h4",null,"JSON Parse Error:",-1)),e.createElementVNode("pre",null,e.toDisplayString(d.value),1)]))])]))}}),[["__scopeId","data-v-c044be43"]]),ke=[U],_e={install:E=>{ke.forEach(_=>{const s=_.name||_.__name||"UnknownComponent";E.component(s,_)})}};B.JsonFormat=U,B.default=_e,Object.defineProperties(B,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
1
+ (function(fe,p){typeof exports=="object"&&typeof module<"u"?p(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],p):(fe=typeof globalThis<"u"?globalThis:fe||self,p(fe.LoneFormat={},fe.Vue))})(this,function(fe,p){"use strict";function Ie(z){return z&&z.__esModule&&Object.prototype.hasOwnProperty.call(z,"default")?z.default:z}var de={exports:{}},ye={exports:{}},ge={exports:{}},Te=ge.exports,Ae;function Oe(){return Ae||(Ae=1,function(z){(function(Z){var E,te=/^-?(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?$/i,O=Math.ceil,j=Math.floor,V="[BigNumber Error] ",_=V+"Number primitive has more than 15 significant digits: ",D=1e14,w=14,F=9007199254740991,v=[1,10,100,1e3,1e4,1e5,1e6,1e7,1e8,1e9,1e10,1e11,1e12,1e13],T=1e7,P=1e9;function H(S){var B,L,g,u=y.prototype={constructor:y,toString:null,valueOf:null},N=new y(1),k=20,d=4,m=-7,M=21,q=-1e7,X=1e7,re=!1,ae=1,ue=0,ke={prefix:"",groupSize:3,secondaryGroupSize:0,groupSeparator:",",decimalSeparator:".",fractionGroupSize:0,fractionGroupSeparator:" ",suffix:""},pe="0123456789abcdefghijklmnopqrstuvwxyz",Ne=!0;function y(e,t){var n,a,o,s,f,r,i,c,l=this;if(!(l instanceof y))return new y(e,t);if(t==null){if(e&&e._isBigNumber===!0){l.s=e.s,!e.c||e.e>X?l.c=l.e=null:e.e<q?l.c=[l.e=0]:(l.e=e.e,l.c=e.c.slice());return}if((r=typeof e=="number")&&e*0==0){if(l.s=1/e<0?(e=-e,-1):1,e===~~e){for(s=0,f=e;f>=10;f/=10,s++);s>X?l.c=l.e=null:(l.e=s,l.c=[e]);return}c=String(e)}else{if(!te.test(c=String(e)))return g(l,c,r);l.s=c.charCodeAt(0)==45?(c=c.slice(1),-1):1}(s=c.indexOf("."))>-1&&(c=c.replace(".","")),(f=c.search(/e/i))>0?(s<0&&(s=f),s+=+c.slice(f+1),c=c.substring(0,f)):s<0&&(s=c.length)}else{if(x(t,2,pe.length,"Base"),t==10&&Ne)return l=new y(e),ie(l,k+l.e+1,d);if(c=String(e),r=typeof e=="number"){if(e*0!=0)return g(l,c,r,t);if(l.s=1/e<0?(c=c.slice(1),-1):1,y.DEBUG&&c.replace(/^0\.0*|\./,"").length>15)throw Error(_+e)}else l.s=c.charCodeAt(0)===45?(c=c.slice(1),-1):1;for(n=pe.slice(0,t),s=f=0,i=c.length;f<i;f++)if(n.indexOf(a=c.charAt(f))<0){if(a=="."){if(f>s){s=i;continue}}else if(!o&&(c==c.toUpperCase()&&(c=c.toLowerCase())||c==c.toLowerCase()&&(c=c.toUpperCase()))){o=!0,f=-1,s=0;continue}return g(l,String(e),r,t)}r=!1,c=L(c,t,10,l.s),(s=c.indexOf("."))>-1?c=c.replace(".",""):s=c.length}for(f=0;c.charCodeAt(f)===48;f++);for(i=c.length;c.charCodeAt(--i)===48;);if(c=c.slice(f,++i)){if(i-=f,r&&y.DEBUG&&i>15&&(e>F||e!==j(e)))throw Error(_+l.s*e);if((s=s-f-1)>X)l.c=l.e=null;else if(s<q)l.c=[l.e=0];else{if(l.e=s,l.c=[],f=(s+1)%w,s<0&&(f+=w),f<i){for(f&&l.c.push(+c.slice(0,f)),i-=w;f<i;)l.c.push(+c.slice(f,f+=w));f=w-(c=c.slice(f)).length}else f-=i;for(;f--;c+="0");l.c.push(+c)}}else l.c=[l.e=0]}y.clone=H,y.ROUND_UP=0,y.ROUND_DOWN=1,y.ROUND_CEIL=2,y.ROUND_FLOOR=3,y.ROUND_HALF_UP=4,y.ROUND_HALF_DOWN=5,y.ROUND_HALF_EVEN=6,y.ROUND_HALF_CEIL=7,y.ROUND_HALF_FLOOR=8,y.EUCLID=9,y.config=y.set=function(e){var t,n;if(e!=null)if(typeof e=="object"){if(e.hasOwnProperty(t="DECIMAL_PLACES")&&(n=e[t],x(n,0,P,t),k=n),e.hasOwnProperty(t="ROUNDING_MODE")&&(n=e[t],x(n,0,8,t),d=n),e.hasOwnProperty(t="EXPONENTIAL_AT")&&(n=e[t],n&&n.pop?(x(n[0],-P,0,t),x(n[1],0,P,t),m=n[0],M=n[1]):(x(n,-P,P,t),m=-(M=n<0?-n:n))),e.hasOwnProperty(t="RANGE"))if(n=e[t],n&&n.pop)x(n[0],-P,-1,t),x(n[1],1,P,t),q=n[0],X=n[1];else if(x(n,-P,P,t),n)q=-(X=n<0?-n:n);else throw Error(V+t+" cannot be zero: "+n);if(e.hasOwnProperty(t="CRYPTO"))if(n=e[t],n===!!n)if(n)if(typeof crypto<"u"&&crypto&&(crypto.getRandomValues||crypto.randomBytes))re=n;else throw re=!n,Error(V+"crypto unavailable");else re=n;else throw Error(V+t+" not true or false: "+n);if(e.hasOwnProperty(t="MODULO_MODE")&&(n=e[t],x(n,0,9,t),ae=n),e.hasOwnProperty(t="POW_PRECISION")&&(n=e[t],x(n,0,P,t),ue=n),e.hasOwnProperty(t="FORMAT"))if(n=e[t],typeof n=="object")ke=n;else throw Error(V+t+" not an object: "+n);if(e.hasOwnProperty(t="ALPHABET"))if(n=e[t],typeof n=="string"&&!/^.?$|[+\-.\s]|(.).*\1/.test(n))Ne=n.slice(0,10)=="0123456789",pe=n;else throw Error(V+t+" invalid: "+n)}else throw Error(V+"Object expected: "+e);return{DECIMAL_PLACES:k,ROUNDING_MODE:d,EXPONENTIAL_AT:[m,M],RANGE:[q,X],CRYPTO:re,MODULO_MODE:ae,POW_PRECISION:ue,FORMAT:ke,ALPHABET:pe}},y.isBigNumber=function(e){if(!e||e._isBigNumber!==!0)return!1;if(!y.DEBUG)return!0;var t,n,a=e.c,o=e.e,s=e.s;e:if({}.toString.call(a)=="[object Array]"){if((s===1||s===-1)&&o>=-P&&o<=P&&o===j(o)){if(a[0]===0){if(o===0&&a.length===1)return!0;break e}if(t=(o+1)%w,t<1&&(t+=w),String(a[0]).length==t){for(t=0;t<a.length;t++)if(n=a[t],n<0||n>=D||n!==j(n))break e;if(n!==0)return!0}}}else if(a===null&&o===null&&(s===null||s===1||s===-1))return!0;throw Error(V+"Invalid BigNumber: "+e)},y.maximum=y.max=function(){return be(arguments,-1)},y.minimum=y.min=function(){return be(arguments,1)},y.random=function(){var e=9007199254740992,t=Math.random()*e&2097151?function(){return j(Math.random()*e)}:function(){return(Math.random()*1073741824|0)*8388608+(Math.random()*8388608|0)};return function(n){var a,o,s,f,r,i=0,c=[],l=new y(N);if(n==null?n=k:x(n,0,P),f=O(n/w),re)if(crypto.getRandomValues){for(a=crypto.getRandomValues(new Uint32Array(f*=2));i<f;)r=a[i]*131072+(a[i+1]>>>11),r>=9e15?(o=crypto.getRandomValues(new Uint32Array(2)),a[i]=o[0],a[i+1]=o[1]):(c.push(r%1e14),i+=2);i=f/2}else if(crypto.randomBytes){for(a=crypto.randomBytes(f*=7);i<f;)r=(a[i]&31)*281474976710656+a[i+1]*1099511627776+a[i+2]*4294967296+a[i+3]*16777216+(a[i+4]<<16)+(a[i+5]<<8)+a[i+6],r>=9e15?crypto.randomBytes(7).copy(a,i):(c.push(r%1e14),i+=7);i=f/7}else throw re=!1,Error(V+"crypto unavailable");if(!re)for(;i<f;)r=t(),r<9e15&&(c[i++]=r%1e14);for(f=c[--i],n%=w,f&&n&&(r=v[w-n],c[i]=j(f/r)*r);c[i]===0;c.pop(),i--);if(i<0)c=[s=0];else{for(s=-1;c[0]===0;c.splice(0,1),s-=w);for(i=1,r=c[0];r>=10;r/=10,i++);i<w&&(s-=w-i)}return l.e=s,l.c=c,l}}(),y.sum=function(){for(var e=1,t=arguments,n=new y(t[0]);e<t.length;)n=n.plus(t[e++]);return n},L=function(){var e="0123456789";function t(n,a,o,s){for(var f,r=[0],i,c=0,l=n.length;c<l;){for(i=r.length;i--;r[i]*=a);for(r[0]+=s.indexOf(n.charAt(c++)),f=0;f<r.length;f++)r[f]>o-1&&(r[f+1]==null&&(r[f+1]=0),r[f+1]+=r[f]/o|0,r[f]%=o)}return r.reverse()}return function(n,a,o,s,f){var r,i,c,l,h,A,C,J,Y=n.indexOf("."),ee=k,$=d;for(Y>=0&&(l=ue,ue=0,n=n.replace(".",""),J=new y(a),A=J.pow(n.length-Y),ue=l,J.c=t(U(R(A.c),A.e,"0"),10,o,e),J.e=J.c.length),C=t(n,a,o,f?(r=pe,e):(r=e,pe)),c=l=C.length;C[--l]==0;C.pop());if(!C[0])return r.charAt(0);if(Y<0?--c:(A.c=C,A.e=c,A.s=s,A=B(A,J,ee,$,o),C=A.c,h=A.r,c=A.e),i=c+ee+1,Y=C[i],l=o/2,h=h||i<0||C[i+1]!=null,h=$<4?(Y!=null||h)&&($==0||$==(A.s<0?3:2)):Y>l||Y==l&&($==4||h||$==6&&C[i-1]&1||$==(A.s<0?8:7)),i<1||!C[0])n=h?U(r.charAt(1),-ee,r.charAt(0)):r.charAt(0);else{if(C.length=i,h)for(--o;++C[--i]>o;)C[i]=0,i||(++c,C=[1].concat(C));for(l=C.length;!C[--l];);for(Y=0,n="";Y<=l;n+=r.charAt(C[Y++]));n=U(n,c,r.charAt(0))}return n}}(),B=function(){function e(a,o,s){var f,r,i,c,l=0,h=a.length,A=o%T,C=o/T|0;for(a=a.slice();h--;)i=a[h]%T,c=a[h]/T|0,f=C*i+c*A,r=A*i+f%T*T+l,l=(r/s|0)+(f/T|0)+C*c,a[h]=r%s;return l&&(a=[l].concat(a)),a}function t(a,o,s,f){var r,i;if(s!=f)i=s>f?1:-1;else for(r=i=0;r<s;r++)if(a[r]!=o[r]){i=a[r]>o[r]?1:-1;break}return i}function n(a,o,s,f){for(var r=0;s--;)a[s]-=r,r=a[s]<o[s]?1:0,a[s]=r*f+a[s]-o[s];for(;!a[0]&&a.length>1;a.splice(0,1));}return function(a,o,s,f,r){var i,c,l,h,A,C,J,Y,ee,$,G,ne,me,ve,Be,le,he,se=a.s==o.s?1:-1,oe=a.c,Q=o.c;if(!oe||!oe[0]||!Q||!Q[0])return new y(!a.s||!o.s||(oe?Q&&oe[0]==Q[0]:!Q)?NaN:oe&&oe[0]==0||!Q?se*0:se/0);for(Y=new y(se),ee=Y.c=[],c=a.e-o.e,se=s+c+1,r||(r=D,c=K(a.e/w)-K(o.e/w),se=se/w|0),l=0;Q[l]==(oe[l]||0);l++);if(Q[l]>(oe[l]||0)&&c--,se<0)ee.push(1),h=!0;else{for(ve=oe.length,le=Q.length,l=0,se+=2,A=j(r/(Q[0]+1)),A>1&&(Q=e(Q,A,r),oe=e(oe,A,r),le=Q.length,ve=oe.length),me=le,$=oe.slice(0,le),G=$.length;G<le;$[G++]=0);he=Q.slice(),he=[0].concat(he),Be=Q[0],Q[1]>=r/2&&Be++;do{if(A=0,i=t(Q,$,le,G),i<0){if(ne=$[0],le!=G&&(ne=ne*r+($[1]||0)),A=j(ne/Be),A>1)for(A>=r&&(A=r-1),C=e(Q,A,r),J=C.length,G=$.length;t(C,$,J,G)==1;)A--,n(C,le<J?he:Q,J,r),J=C.length,i=1;else A==0&&(i=A=1),C=Q.slice(),J=C.length;if(J<G&&(C=[0].concat(C)),n($,C,G,r),G=$.length,i==-1)for(;t(Q,$,le,G)<1;)A++,n($,le<G?he:Q,G,r),G=$.length}else i===0&&(A++,$=[0]);ee[l++]=A,$[0]?$[G++]=oe[me]||0:($=[oe[me]],G=1)}while((me++<ve||$[0]!=null)&&se--);h=$[0]!=null,ee[0]||ee.splice(0,1)}if(r==D){for(l=1,se=ee[0];se>=10;se/=10,l++);ie(Y,s+(Y.e=l+c*w-1)+1,f,h)}else Y.e=c,Y.r=+h;return Y}}();function we(e,t,n,a){var o,s,f,r,i;if(n==null?n=d:x(n,0,8),!e.c)return e.toString();if(o=e.c[0],f=e.e,t==null)i=R(e.c),i=a==1||a==2&&(f<=m||f>=M)?I(i,f):U(i,f,"0");else if(e=ie(new y(e),t,n),s=e.e,i=R(e.c),r=i.length,a==1||a==2&&(t<=s||s<=m)){for(;r<t;i+="0",r++);i=I(i,s)}else if(t-=f+(a===2&&s>f),i=U(i,s,"0"),s+1>r){if(--t>0)for(i+=".";t--;i+="0");}else if(t+=s-r,t>0)for(s+1==r&&(i+=".");t--;i+="0");return e.s<0&&o?"-"+i:i}function be(e,t){for(var n,a,o=1,s=new y(e[0]);o<e.length;o++)a=new y(e[o]),(!a.s||(n=W(s,a))===t||n===0&&s.s===t)&&(s=a);return s}function Ee(e,t,n){for(var a=1,o=t.length;!t[--o];t.pop());for(o=t[0];o>=10;o/=10,a++);return(n=a+n*w-1)>X?e.c=e.e=null:n<q?e.c=[e.e=0]:(e.e=n,e.c=t),e}g=function(){var e=/^(-?)0([xbo])(?=\w[\w.]*$)/i,t=/^([^.]+)\.$/,n=/^\.([^.]+)$/,a=/^-?(Infinity|NaN)$/,o=/^\s*\+(?=[\w.])|^\s+|\s+$/g;return function(s,f,r,i){var c,l=r?f:f.replace(o,"");if(a.test(l))s.s=isNaN(l)?null:l<0?-1:1;else{if(!r&&(l=l.replace(e,function(h,A,C){return c=(C=C.toLowerCase())=="x"?16:C=="b"?2:8,!i||i==c?A:h}),i&&(c=i,l=l.replace(t,"$1").replace(n,"0.$1")),f!=l))return new y(l,c);if(y.DEBUG)throw Error(V+"Not a"+(i?" base "+i:"")+" number: "+f);s.s=null}s.c=s.e=null}}();function ie(e,t,n,a){var o,s,f,r,i,c,l,h=e.c,A=v;if(h){e:{for(o=1,r=h[0];r>=10;r/=10,o++);if(s=t-o,s<0)s+=w,f=t,i=h[c=0],l=j(i/A[o-f-1]%10);else if(c=O((s+1)/w),c>=h.length)if(a){for(;h.length<=c;h.push(0));i=l=0,o=1,s%=w,f=s-w+1}else break e;else{for(i=r=h[c],o=1;r>=10;r/=10,o++);s%=w,f=s-w+o,l=f<0?0:j(i/A[o-f-1]%10)}if(a=a||t<0||h[c+1]!=null||(f<0?i:i%A[o-f-1]),a=n<4?(l||a)&&(n==0||n==(e.s<0?3:2)):l>5||l==5&&(n==4||a||n==6&&(s>0?f>0?i/A[o-f]:0:h[c-1])%10&1||n==(e.s<0?8:7)),t<1||!h[0])return h.length=0,a?(t-=e.e+1,h[0]=A[(w-t%w)%w],e.e=-t||0):h[0]=e.e=0,e;if(s==0?(h.length=c,r=1,c--):(h.length=c+1,r=A[w-s],h[c]=f>0?j(i/A[o-f]%A[f])*r:0),a)for(;;)if(c==0){for(s=1,f=h[0];f>=10;f/=10,s++);for(f=h[0]+=r,r=1;f>=10;f/=10,r++);s!=r&&(e.e++,h[0]==D&&(h[0]=1));break}else{if(h[c]+=r,h[c]!=D)break;h[c--]=0,r=1}for(s=h.length;h[--s]===0;h.pop());}e.e>X?e.c=e.e=null:e.e<q&&(e.c=[e.e=0])}return e}function ce(e){var t,n=e.e;return n===null?e.toString():(t=R(e.c),t=n<=m||n>=M?I(t,n):U(t,n,"0"),e.s<0?"-"+t:t)}return u.absoluteValue=u.abs=function(){var e=new y(this);return e.s<0&&(e.s=1),e},u.comparedTo=function(e,t){return W(this,new y(e,t))},u.decimalPlaces=u.dp=function(e,t){var n,a,o,s=this;if(e!=null)return x(e,0,P),t==null?t=d:x(t,0,8),ie(new y(s),e+s.e+1,t);if(!(n=s.c))return null;if(a=((o=n.length-1)-K(this.e/w))*w,o=n[o])for(;o%10==0;o/=10,a--);return a<0&&(a=0),a},u.dividedBy=u.div=function(e,t){return B(this,new y(e,t),k,d)},u.dividedToIntegerBy=u.idiv=function(e,t){return B(this,new y(e,t),0,1)},u.exponentiatedBy=u.pow=function(e,t){var n,a,o,s,f,r,i,c,l,h=this;if(e=new y(e),e.c&&!e.isInteger())throw Error(V+"Exponent not an integer: "+ce(e));if(t!=null&&(t=new y(t)),r=e.e>14,!h.c||!h.c[0]||h.c[0]==1&&!h.e&&h.c.length==1||!e.c||!e.c[0])return l=new y(Math.pow(+ce(h),r?e.s*(2-b(e)):+ce(e))),t?l.mod(t):l;if(i=e.s<0,t){if(t.c?!t.c[0]:!t.s)return new y(NaN);a=!i&&h.isInteger()&&t.isInteger(),a&&(h=h.mod(t))}else{if(e.e>9&&(h.e>0||h.e<-1||(h.e==0?h.c[0]>1||r&&h.c[1]>=24e7:h.c[0]<8e13||r&&h.c[0]<=9999975e7)))return s=h.s<0&&b(e)?-0:0,h.e>-1&&(s=1/s),new y(i?1/s:s);ue&&(s=O(ue/w+2))}for(r?(n=new y(.5),i&&(e.s=1),c=b(e)):(o=Math.abs(+ce(e)),c=o%2),l=new y(N);;){if(c){if(l=l.times(h),!l.c)break;s?l.c.length>s&&(l.c.length=s):a&&(l=l.mod(t))}if(o){if(o=j(o/2),o===0)break;c=o%2}else if(e=e.times(n),ie(e,e.e+1,1),e.e>14)c=b(e);else{if(o=+ce(e),o===0)break;c=o%2}h=h.times(h),s?h.c&&h.c.length>s&&(h.c.length=s):a&&(h=h.mod(t))}return a?l:(i&&(l=N.div(l)),t?l.mod(t):s?ie(l,ue,d,f):l)},u.integerValue=function(e){var t=new y(this);return e==null?e=d:x(e,0,8),ie(t,t.e+1,e)},u.isEqualTo=u.eq=function(e,t){return W(this,new y(e,t))===0},u.isFinite=function(){return!!this.c},u.isGreaterThan=u.gt=function(e,t){return W(this,new y(e,t))>0},u.isGreaterThanOrEqualTo=u.gte=function(e,t){return(t=W(this,new y(e,t)))===1||t===0},u.isInteger=function(){return!!this.c&&K(this.e/w)>this.c.length-2},u.isLessThan=u.lt=function(e,t){return W(this,new y(e,t))<0},u.isLessThanOrEqualTo=u.lte=function(e,t){return(t=W(this,new y(e,t)))===-1||t===0},u.isNaN=function(){return!this.s},u.isNegative=function(){return this.s<0},u.isPositive=function(){return this.s>0},u.isZero=function(){return!!this.c&&this.c[0]==0},u.minus=function(e,t){var n,a,o,s,f=this,r=f.s;if(e=new y(e,t),t=e.s,!r||!t)return new y(NaN);if(r!=t)return e.s=-t,f.plus(e);var i=f.e/w,c=e.e/w,l=f.c,h=e.c;if(!i||!c){if(!l||!h)return l?(e.s=-t,e):new y(h?f:NaN);if(!l[0]||!h[0])return h[0]?(e.s=-t,e):new y(l[0]?f:d==3?-0:0)}if(i=K(i),c=K(c),l=l.slice(),r=i-c){for((s=r<0)?(r=-r,o=l):(c=i,o=h),o.reverse(),t=r;t--;o.push(0));o.reverse()}else for(a=(s=(r=l.length)<(t=h.length))?r:t,r=t=0;t<a;t++)if(l[t]!=h[t]){s=l[t]<h[t];break}if(s&&(o=l,l=h,h=o,e.s=-e.s),t=(a=h.length)-(n=l.length),t>0)for(;t--;l[n++]=0);for(t=D-1;a>r;){if(l[--a]<h[a]){for(n=a;n&&!l[--n];l[n]=t);--l[n],l[a]+=D}l[a]-=h[a]}for(;l[0]==0;l.splice(0,1),--c);return l[0]?Ee(e,l,c):(e.s=d==3?-1:1,e.c=[e.e=0],e)},u.modulo=u.mod=function(e,t){var n,a,o=this;return e=new y(e,t),!o.c||!e.s||e.c&&!e.c[0]?new y(NaN):!e.c||o.c&&!o.c[0]?new y(o):(ae==9?(a=e.s,e.s=1,n=B(o,e,0,3),e.s=a,n.s*=a):n=B(o,e,0,ae),e=o.minus(n.times(e)),!e.c[0]&&ae==1&&(e.s=o.s),e)},u.multipliedBy=u.times=function(e,t){var n,a,o,s,f,r,i,c,l,h,A,C,J,Y,ee,$=this,G=$.c,ne=(e=new y(e,t)).c;if(!G||!ne||!G[0]||!ne[0])return!$.s||!e.s||G&&!G[0]&&!ne||ne&&!ne[0]&&!G?e.c=e.e=e.s=null:(e.s*=$.s,!G||!ne?e.c=e.e=null:(e.c=[0],e.e=0)),e;for(a=K($.e/w)+K(e.e/w),e.s*=$.s,i=G.length,h=ne.length,i<h&&(J=G,G=ne,ne=J,o=i,i=h,h=o),o=i+h,J=[];o--;J.push(0));for(Y=D,ee=T,o=h;--o>=0;){for(n=0,A=ne[o]%ee,C=ne[o]/ee|0,f=i,s=o+f;s>o;)c=G[--f]%ee,l=G[f]/ee|0,r=C*c+l*A,c=A*c+r%ee*ee+J[s]+n,n=(c/Y|0)+(r/ee|0)+C*l,J[s--]=c%Y;J[s]=n}return n?++a:J.splice(0,1),Ee(e,J,a)},u.negated=function(){var e=new y(this);return e.s=-e.s||null,e},u.plus=function(e,t){var n,a=this,o=a.s;if(e=new y(e,t),t=e.s,!o||!t)return new y(NaN);if(o!=t)return e.s=-t,a.minus(e);var s=a.e/w,f=e.e/w,r=a.c,i=e.c;if(!s||!f){if(!r||!i)return new y(o/0);if(!r[0]||!i[0])return i[0]?e:new y(r[0]?a:o*0)}if(s=K(s),f=K(f),r=r.slice(),o=s-f){for(o>0?(f=s,n=i):(o=-o,n=r),n.reverse();o--;n.push(0));n.reverse()}for(o=r.length,t=i.length,o-t<0&&(n=i,i=r,r=n,t=o),o=0;t;)o=(r[--t]=r[t]+i[t]+o)/D|0,r[t]=D===r[t]?0:r[t]%D;return o&&(r=[o].concat(r),++f),Ee(e,r,f)},u.precision=u.sd=function(e,t){var n,a,o,s=this;if(e!=null&&e!==!!e)return x(e,1,P),t==null?t=d:x(t,0,8),ie(new y(s),e,t);if(!(n=s.c))return null;if(o=n.length-1,a=o*w+1,o=n[o]){for(;o%10==0;o/=10,a--);for(o=n[0];o>=10;o/=10,a++);}return e&&s.e+1>a&&(a=s.e+1),a},u.shiftedBy=function(e){return x(e,-F,F),this.times("1e"+e)},u.squareRoot=u.sqrt=function(){var e,t,n,a,o,s=this,f=s.c,r=s.s,i=s.e,c=k+4,l=new y("0.5");if(r!==1||!f||!f[0])return new y(!r||r<0&&(!f||f[0])?NaN:f?s:1/0);if(r=Math.sqrt(+ce(s)),r==0||r==1/0?(t=R(f),(t.length+i)%2==0&&(t+="0"),r=Math.sqrt(+t),i=K((i+1)/2)-(i<0||i%2),r==1/0?t="5e"+i:(t=r.toExponential(),t=t.slice(0,t.indexOf("e")+1)+i),n=new y(t)):n=new y(r+""),n.c[0]){for(i=n.e,r=i+c,r<3&&(r=0);;)if(o=n,n=l.times(o.plus(B(s,o,c,1))),R(o.c).slice(0,r)===(t=R(n.c)).slice(0,r))if(n.e<i&&--r,t=t.slice(r-3,r+1),t=="9999"||!a&&t=="4999"){if(!a&&(ie(o,o.e+k+2,0),o.times(o).eq(s))){n=o;break}c+=4,r+=4,a=1}else{(!+t||!+t.slice(1)&&t.charAt(0)=="5")&&(ie(n,n.e+k+2,1),e=!n.times(n).eq(s));break}}return ie(n,n.e+k+1,d,e)},u.toExponential=function(e,t){return e!=null&&(x(e,0,P),e++),we(this,e,t,1)},u.toFixed=function(e,t){return e!=null&&(x(e,0,P),e=e+this.e+1),we(this,e,t)},u.toFormat=function(e,t,n){var a,o=this;if(n==null)e!=null&&t&&typeof t=="object"?(n=t,t=null):e&&typeof e=="object"?(n=e,e=t=null):n=ke;else if(typeof n!="object")throw Error(V+"Argument not an object: "+n);if(a=o.toFixed(e,t),o.c){var s,f=a.split("."),r=+n.groupSize,i=+n.secondaryGroupSize,c=n.groupSeparator||"",l=f[0],h=f[1],A=o.s<0,C=A?l.slice(1):l,J=C.length;if(i&&(s=r,r=i,i=s,J-=s),r>0&&J>0){for(s=J%r||r,l=C.substr(0,s);s<J;s+=r)l+=c+C.substr(s,r);i>0&&(l+=c+C.slice(s)),A&&(l="-"+l)}a=h?l+(n.decimalSeparator||"")+((i=+n.fractionGroupSize)?h.replace(new RegExp("\\d{"+i+"}\\B","g"),"$&"+(n.fractionGroupSeparator||"")):h):l}return(n.prefix||"")+a+(n.suffix||"")},u.toFraction=function(e){var t,n,a,o,s,f,r,i,c,l,h,A,C=this,J=C.c;if(e!=null&&(r=new y(e),!r.isInteger()&&(r.c||r.s!==1)||r.lt(N)))throw Error(V+"Argument "+(r.isInteger()?"out of range: ":"not an integer: ")+ce(r));if(!J)return new y(C);for(t=new y(N),c=n=new y(N),a=i=new y(N),A=R(J),s=t.e=A.length-C.e-1,t.c[0]=v[(f=s%w)<0?w+f:f],e=!e||r.comparedTo(t)>0?s>0?t:c:r,f=X,X=1/0,r=new y(A),i.c[0]=0;l=B(r,t,0,1),o=n.plus(l.times(a)),o.comparedTo(e)!=1;)n=a,a=o,c=i.plus(l.times(o=c)),i=o,t=r.minus(l.times(o=t)),r=o;return o=B(e.minus(n),a,0,1),i=i.plus(o.times(c)),n=n.plus(o.times(a)),i.s=c.s=C.s,s=s*2,h=B(c,a,s,d).minus(C).abs().comparedTo(B(i,n,s,d).minus(C).abs())<1?[c,a]:[i,n],X=f,h},u.toNumber=function(){return+ce(this)},u.toPrecision=function(e,t){return e!=null&&x(e,1,P),we(this,e,t,2)},u.toString=function(e){var t,n=this,a=n.s,o=n.e;return o===null?a?(t="Infinity",a<0&&(t="-"+t)):t="NaN":(e==null?t=o<=m||o>=M?I(R(n.c),o):U(R(n.c),o,"0"):e===10&&Ne?(n=ie(new y(n),k+o+1,d),t=U(R(n.c),n.e,"0")):(x(e,2,pe.length,"Base"),t=L(U(R(n.c),o,"0"),10,e,a,!0)),a<0&&n.c[0]&&(t="-"+t)),t},u.valueOf=u.toJSON=function(){return ce(this)},u._isBigNumber=!0,S!=null&&y.set(S),y}function K(S){var B=S|0;return S>0||S===B?B:B-1}function R(S){for(var B,L,g=1,u=S.length,N=S[0]+"";g<u;){for(B=S[g++]+"",L=w-B.length;L--;B="0"+B);N+=B}for(u=N.length;N.charCodeAt(--u)===48;);return N.slice(0,u+1||1)}function W(S,B){var L,g,u=S.c,N=B.c,k=S.s,d=B.s,m=S.e,M=B.e;if(!k||!d)return null;if(L=u&&!u[0],g=N&&!N[0],L||g)return L?g?0:-d:k;if(k!=d)return k;if(L=k<0,g=m==M,!u||!N)return g?0:!u^L?1:-1;if(!g)return m>M^L?1:-1;for(d=(m=u.length)<(M=N.length)?m:M,k=0;k<d;k++)if(u[k]!=N[k])return u[k]>N[k]^L?1:-1;return m==M?0:m>M^L?1:-1}function x(S,B,L,g){if(S<B||S>L||S!==j(S))throw Error(V+(g||"Argument")+(typeof S=="number"?S<B||S>L?" out of range: ":" not an integer: ":" not a primitive number: ")+String(S))}function b(S){var B=S.c.length-1;return K(S.e/w)==B&&S.c[B]%2!=0}function I(S,B){return(S.length>1?S.charAt(0)+"."+S.slice(1):S)+(B<0?"e":"e+")+B}function U(S,B,L){var g,u;if(B<0){for(u=L+".";++B;u+=L);S=u+S}else if(g=S.length,++B>g){for(u=L,B-=g;--B;u+=L);S+=u}else B<g&&(S=S.slice(0,B)+"."+S.slice(B));return S}E=H(),E.default=E.BigNumber=E,z.exports?z.exports=E:(Z||(Z=typeof self<"u"&&self?self:window),Z.BigNumber=E)})(Te)}(ge)),ge.exports}var xe;function Pe(){return xe||(xe=1,function(z){var Z=Oe(),E=z.exports;(function(){var te=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,O,j,V={"\b":"\\b"," ":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"},_;function D(F){return te.lastIndex=0,te.test(F)?'"'+F.replace(te,function(v){var T=V[v];return typeof T=="string"?T:"\\u"+("0000"+v.charCodeAt(0).toString(16)).slice(-4)})+'"':'"'+F+'"'}function w(F,v){var T,P,H,K,R=O,W,x=v[F],b=x!=null&&(x instanceof Z||Z.isBigNumber(x));switch(x&&typeof x=="object"&&typeof x.toJSON=="function"&&(x=x.toJSON(F)),typeof _=="function"&&(x=_.call(v,F,x)),typeof x){case"string":return b?x:D(x);case"number":return isFinite(x)?String(x):"null";case"boolean":case"null":case"bigint":return String(x);case"object":if(!x)return"null";if(O+=j,W=[],Object.prototype.toString.apply(x)==="[object Array]"){for(K=x.length,T=0;T<K;T+=1)W[T]=w(T,x)||"null";return H=W.length===0?"[]":O?`[
2
+ `+O+W.join(`,
3
+ `+O)+`
4
+ `+R+"]":"["+W.join(",")+"]",O=R,H}if(_&&typeof _=="object")for(K=_.length,T=0;T<K;T+=1)typeof _[T]=="string"&&(P=_[T],H=w(P,x),H&&W.push(D(P)+(O?": ":":")+H));else Object.keys(x).forEach(function(I){var U=w(I,x);U&&W.push(D(I)+(O?": ":":")+U)});return H=W.length===0?"{}":O?`{
5
+ `+O+W.join(`,
6
+ `+O)+`
7
+ `+R+"}":"{"+W.join(",")+"}",O=R,H}}typeof E.stringify!="function"&&(E.stringify=function(F,v,T){var P;if(O="",j="",typeof T=="number")for(P=0;P<T;P+=1)j+=" ";else typeof T=="string"&&(j=T);if(_=v,v&&typeof v!="function"&&(typeof v!="object"||typeof v.length!="number"))throw new Error("JSON.stringify");return w("",{"":F})})})()}(ye)),ye.exports}var _e,Se;function De(){if(Se)return _e;Se=1;var z=null;const Z=/(?:_|\\u005[Ff])(?:_|\\u005[Ff])(?:p|\\u0070)(?:r|\\u0072)(?:o|\\u006[Ff])(?:t|\\u0074)(?:o|\\u006[Ff])(?:_|\\u005[Ff])(?:_|\\u005[Ff])/,E=/(?:c|\\u0063)(?:o|\\u006[Ff])(?:n|\\u006[Ee])(?:s|\\u0073)(?:t|\\u0074)(?:r|\\u0072)(?:u|\\u0075)(?:c|\\u0063)(?:t|\\u0074)(?:o|\\u006[Ff])(?:r|\\u0072)/;var te=function(O){var j={strict:!1,storeAsString:!1,alwaysParseAsBig:!1,useNativeBigInt:!1,protoAction:"error",constructorAction:"error"};if(O!=null){if(O.strict===!0&&(j.strict=!0),O.storeAsString===!0&&(j.storeAsString=!0),j.alwaysParseAsBig=O.alwaysParseAsBig===!0?O.alwaysParseAsBig:!1,j.useNativeBigInt=O.useNativeBigInt===!0?O.useNativeBigInt:!1,typeof O.constructorAction<"u")if(O.constructorAction==="error"||O.constructorAction==="ignore"||O.constructorAction==="preserve")j.constructorAction=O.constructorAction;else throw new Error(`Incorrect value for constructorAction option, must be "error", "ignore" or undefined but passed ${O.constructorAction}`);if(typeof O.protoAction<"u")if(O.protoAction==="error"||O.protoAction==="ignore"||O.protoAction==="preserve")j.protoAction=O.protoAction;else throw new Error(`Incorrect value for protoAction option, must be "error", "ignore" or undefined but passed ${O.protoAction}`)}var V,_,D={'"':'"',"\\":"\\","/":"/",b:"\b",f:"\f",n:`
8
+ `,r:"\r",t:" "},w,F=function(b){throw{name:"SyntaxError",message:b,at:V,text:w}},v=function(b){return b&&b!==_&&F("Expected '"+b+"' instead of '"+_+"'"),_=w.charAt(V),V+=1,_},T=function(){var b,I="";for(_==="-"&&(I="-",v("-"));_>="0"&&_<="9";)I+=_,v();if(_===".")for(I+=".";v()&&_>="0"&&_<="9";)I+=_;if(_==="e"||_==="E")for(I+=_,v(),(_==="-"||_==="+")&&(I+=_,v());_>="0"&&_<="9";)I+=_,v();if(b=+I,!isFinite(b))F("Bad number");else return z==null&&(z=Oe()),I.length>15?j.storeAsString?I:j.useNativeBigInt?BigInt(I):new z(I):j.alwaysParseAsBig?j.useNativeBigInt?BigInt(b):new z(b):b},P=function(){var b,I,U="",S;if(_==='"')for(var B=V;v();){if(_==='"')return V-1>B&&(U+=w.substring(B,V-1)),v(),U;if(_==="\\"){if(V-1>B&&(U+=w.substring(B,V-1)),v(),_==="u"){for(S=0,I=0;I<4&&(b=parseInt(v(),16),!!isFinite(b));I+=1)S=S*16+b;U+=String.fromCharCode(S)}else if(typeof D[_]=="string")U+=D[_];else break;B=V}}F("Bad string")},H=function(){for(;_&&_<=" ";)v()},K=function(){switch(_){case"t":return v("t"),v("r"),v("u"),v("e"),!0;case"f":return v("f"),v("a"),v("l"),v("s"),v("e"),!1;case"n":return v("n"),v("u"),v("l"),v("l"),null}F("Unexpected '"+_+"'")},R,W=function(){var b=[];if(_==="["){if(v("["),H(),_==="]")return v("]"),b;for(;_;){if(b.push(R()),H(),_==="]")return v("]"),b;v(","),H()}}F("Bad array")},x=function(){var b,I=Object.create(null);if(_==="{"){if(v("{"),H(),_==="}")return v("}"),I;for(;_;){if(b=P(),H(),v(":"),j.strict===!0&&Object.hasOwnProperty.call(I,b)&&F('Duplicate key "'+b+'"'),Z.test(b)===!0?j.protoAction==="error"?F("Object contains forbidden prototype property"):j.protoAction==="ignore"?R():I[b]=R():E.test(b)===!0?j.constructorAction==="error"?F("Object contains forbidden constructor property"):j.constructorAction==="ignore"?R():I[b]=R():I[b]=R(),H(),_==="}")return v("}"),I;v(","),H()}}F("Bad object")};return R=function(){switch(H(),_){case"{":return x();case"[":return W();case'"':return P();case"-":return T();default:return _>="0"&&_<="9"?T():K()}},function(b,I){var U;return w=b+"",V=0,_=" ",U=R(),H(),_&&F("Syntax error"),typeof I=="function"?function S(B,L){var g,u=B[L];return u&&typeof u=="object"&&Object.keys(u).forEach(function(N){g=S(u,N),g!==void 0?u[N]=g:delete u[N]}),I.call(B,L,u)}({"":U},""):U}};return _e=te,_e}var Ce;function $e(){if(Ce)return de.exports;Ce=1;var z=Pe().stringify,Z=De();return de.exports=function(E){return{parse:Z(E),stringify:z}},de.exports.parse=Z(),de.exports.stringify=z,de.exports}var Fe=$e();const Je=Ie(Fe),Re={class:"json-node"},Me={key:0,class:"json-node__container"},Le={class:"json-node__line"},Ue={key:2,class:"json-node__colon"},qe=["title"],Ge={key:3,class:"json-node__collapsed"},ze={key:4,class:"json-node__comma"},He={key:0,class:"json-node__children"},Xe={class:"json-node__line"},Ke={class:"json-node__bracket"},We={key:0,class:"json-node__comma"},Ye={key:1,class:"json-node__primitive"},Qe={key:2,class:"json-node__colon"},Ze=["title"],et={key:5,class:"json-node__comma"},tt=p.defineComponent({name:"JsonNode",__name:"JsonNode",props:{value:{},keyName:{},level:{},path:{default:""},expanded:{},isLast:{type:Boolean,default:!1}},emits:["update:value","toggle-expand","copy","update:key"],setup(z,{emit:Z}){p.useCssVars(d=>({"623b775d":d.level}));const E=z,te=Z,O=p.ref(!1),j=p.ref(!1),V=p.ref(""),_=p.ref(""),D=d=>{if(!/^-?\d+(\.\d+)?$/.test(d))return!1;const m=Number(d);return!Number.isSafeInteger(m)||d.length>15},w=p.computed(()=>E.value!==null&&typeof E.value=="object"),F=p.computed(()=>Array.isArray(E.value)),v=p.computed(()=>E.path?E.path:E.keyName?E.keyName:"root"),T=p.computed(()=>E.expanded.has(v.value)),P=p.computed(()=>E.keyName),H=p.computed(()=>F.value?"[":"{"),K=p.computed(()=>F.value?"]":"}"),R=p.computed(()=>{if(!E.value)return"";const m=Object.keys(E.value).length;return F.value?m>0?` ${m} items `:" ":m>0?` ${m} keys `:" "}),W=p.computed(()=>{const d=typeof E.value;return E.value===null?"json-node__value--null":d==="boolean"?"json-node__value--boolean":d==="number"?"json-node__value--number":d==="string"?D(E.value)?"json-node__value--number":"json-node__value--string":""}),x=p.computed(()=>j.value?_.value:E.value===null?"null":typeof E.value=="boolean"||typeof E.value=="number"?String(E.value):typeof E.value=="string"?D(E.value)?E.value:`"${E.value}"`:String(E.value)),b=p.computed(()=>"Click to edit, double-click to copy"),I=d=>E.level===0?d:v.value?`${v.value}.${d}`:d,U=d=>{const m=Object.keys(E.value);return m.indexOf(d)===m.length-1},S=()=>{te("toggle-expand",v.value)},B=()=>{E.level!==0&&(O.value=!0,V.value=E.keyName,p.nextTick(()=>{const d=document.querySelectorAll(".json-node__key-input"),m=d[d.length-1];m&&(m.focus(),m.select())}))},L=()=>{w.value||(j.value=!0,typeof E.value=="string"&&D(E.value)||typeof E.value=="string"?_.value=E.value:_.value=String(E.value),p.nextTick(()=>{const d=document.querySelectorAll(".json-node__value-input"),m=d[d.length-1];m&&(m.focus(),m.select())}))},g=()=>{if(E.level===0||!O.value)return;const d=V.value.trim();if(!d){N();return}if(d===E.keyName){O.value=!1;return}O.value=!1,te("update:key",v.value,d)},u=()=>{try{let d;const m=_.value.trim();if(m==="null")d=null;else if(m==="true"||m==="false")d=m==="true";else if(!isNaN(Number(m))&&m!==""){const M=Number(m);!Number.isSafeInteger(M)||m.length>15?d=m:d=M}else d=_.value;te("update:value",v.value,d),j.value=!1}catch(d){console.error("Failed to parse value:",d),j.value=!1}},N=()=>{O.value=!1,V.value=E.keyName},k=()=>{j.value=!1,typeof E.value=="string"&&D(E.value)||typeof E.value=="string"?_.value=E.value:_.value=String(E.value)};return(d,m)=>{const M=p.resolveComponent("JsonNode",!0);return p.openBlock(),p.createElementBlock("div",Re,[w.value?(p.openBlock(),p.createElementBlock("div",Me,[p.createElementVNode("div",Le,[d.keyName&&!O.value?(p.openBlock(),p.createElementBlock("span",{key:0,class:"json-node__key",onClick:B,title:"Click to edit key"},' "'+p.toDisplayString(P.value)+'" ',1)):p.createCommentVNode("",!0),d.keyName&&O.value?p.withDirectives((p.openBlock(),p.createElementBlock("input",{key:1,"onUpdate:modelValue":m[0]||(m[0]=q=>V.value=q),onKeyup:[p.withKeys(g,["enter"]),p.withKeys(N,["escape"])],onBlur:g,class:"json-node__key-input"},null,544)),[[p.vModelText,V.value]]):p.createCommentVNode("",!0),d.keyName?(p.openBlock(),p.createElementBlock("span",Ue,": ")):p.createCommentVNode("",!0),p.createElementVNode("span",{class:"json-node__bracket json-node__bracket--clickable",onClick:S,title:T.value?"Click to collapse":"Click to expand"},p.toDisplayString(H.value),9,qe),T.value?p.createCommentVNode("",!0):(p.openBlock(),p.createElementBlock("span",Ge,[p.createTextVNode(p.toDisplayString(R.value)+" ",1),p.createElementVNode("span",{class:"json-node__bracket json-node__bracket--clickable",onClick:S},p.toDisplayString(K.value),1)])),!T.value&&!d.isLast?(p.openBlock(),p.createElementBlock("span",ze,",")):p.createCommentVNode("",!0)]),T.value?(p.openBlock(),p.createElementBlock("div",He,[(p.openBlock(!0),p.createElementBlock(p.Fragment,null,p.renderList(d.value,(q,X)=>(p.openBlock(),p.createElementBlock("div",{key:X,class:"json-node__child"},[p.createVNode(M,{value:q,"key-name":F.value?"":String(X),level:d.level+1,path:I(String(X)),expanded:d.expanded,"onUpdate:value":m[1]||(m[1]=(re,ae)=>d.$emit("update:value",re,ae)),onToggleExpand:m[2]||(m[2]=re=>d.$emit("toggle-expand",re)),onCopy:m[3]||(m[3]=re=>d.$emit("copy",re)),"onUpdate:key":m[4]||(m[4]=(re,ae)=>d.$emit("update:key",re,ae)),"is-last":U(String(X))},null,8,["value","key-name","level","path","expanded","is-last"])]))),128)),p.createElementVNode("div",Xe,[p.createElementVNode("span",Ke,p.toDisplayString(K.value),1),d.isLast?p.createCommentVNode("",!0):(p.openBlock(),p.createElementBlock("span",We,","))])])):p.createCommentVNode("",!0)])):(p.openBlock(),p.createElementBlock("div",Ye,[d.keyName&&!O.value?(p.openBlock(),p.createElementBlock("span",{key:0,class:"json-node__key",onClick:B,title:"Click to edit key"},' "'+p.toDisplayString(P.value)+'" ',1)):p.createCommentVNode("",!0),d.keyName&&O.value?p.withDirectives((p.openBlock(),p.createElementBlock("input",{key:1,"onUpdate:modelValue":m[5]||(m[5]=q=>V.value=q),onKeyup:[p.withKeys(g,["enter"]),p.withKeys(N,["escape"])],onBlur:g,class:"json-node__key-input"},null,544)),[[p.vModelText,V.value]]):p.createCommentVNode("",!0),d.keyName?(p.openBlock(),p.createElementBlock("span",Qe,": ")):p.createCommentVNode("",!0),j.value?p.createCommentVNode("",!0):(p.openBlock(),p.createElementBlock("span",{key:3,class:p.normalizeClass(["json-node__value",W.value]),onClick:L,onDblclick:m[6]||(m[6]=q=>d.$emit("copy",d.value)),title:b.value},p.toDisplayString(x.value),43,Ze)),j.value?p.withDirectives((p.openBlock(),p.createElementBlock("input",{key:4,"onUpdate:modelValue":m[7]||(m[7]=q=>_.value=q),onKeyup:[p.withKeys(u,["enter"]),p.withKeys(k,["escape"])],onBlur:u,class:"json-node__value-input"},null,544)),[[p.vModelText,_.value]]):p.createCommentVNode("",!0),d.isLast?p.createCommentVNode("",!0):(p.openBlock(),p.createElementBlock("span",et,","))]))])}}}),je=(z,Z)=>{const E=z.__vccOpts||z;for(const[te,O]of Z)E[te]=O;return E},nt=je(tt,[["__scopeId","data-v-ac834fbd"]]),rt={class:"json-format"},ot={key:0,class:"json-format__toolbar"},it={class:"json-format__actions"},st=["disabled"],lt=["disabled"],at=["disabled"],ct={class:"json-format__info"},ft={key:0,class:"json-format__status json-format__status--success"},ut={key:1,class:"json-format__status json-format__status--error"},pt={class:"json-format__content"},dt={key:0,class:"json-format__error"},ht={key:1,class:"json-format__viewer"},Ve=je(p.defineComponent({name:"JsonFormat",__name:"index",props:{modelValue:{default:""},readonly:{type:Boolean,default:!1},maxDepth:{default:10},showToolbar:{type:Boolean,default:!0}},emits:["update:modelValue","copy-success","copy-error","expand-all","collapse-all"],setup(z,{expose:Z,emit:E}){const te=Je({storeAsString:!0,useNativeBigInt:!1}),O=z,j=E,V=p.ref(null),_=p.ref(""),D=p.ref(new Set),w=p.computed(()=>_.value===""),F=g=>{if(!g.trim()){V.value=null,_.value="";return}try{V.value=te.parse(g),_.value="",p.nextTick(()=>{V.value!==null&&H()})}catch(u){_.value=u instanceof Error?u.message:"Unknown parsing error",V.value=null}};p.watch(()=>O.modelValue,g=>{F(g)},{immediate:!0});const v=(g,u)=>{if(!O.readonly)try{const N=T(V.value,g,u),k=te.stringify(N,null,2);j("update:modelValue",k)}catch(N){console.error("Failed to update JSON:",N)}},T=(g,u,N)=>{if(!u||u==="root")return N;const k=u.split("."),d=U(g,k.slice(0,-1));let m=d;for(let q=0;q<k.length-1;q++){const X=k[q];X!=="root"&&(Array.isArray(m)?m=m[parseInt(X)]:m=m[X])}const M=k[k.length-1];return M==="root"?N:(Array.isArray(m)?m[parseInt(M)]=N:m[M]=N,d)},P=g=>{D.value.has(g)?D.value.delete(g):D.value.add(g)},H=()=>{const g=new Set,u=(N,k="")=>{N!==null&&typeof N=="object"&&(g.add(k||"root"),Array.isArray(N)?N.forEach((d,m)=>{const M=k?`${k}.${m}`:`${m}`;u(d,M)}):Object.keys(N).forEach(d=>{const m=k?`${k}.${d}`:d;u(N[d],m)}))};u(V.value),D.value=g,j("expand-all")},K=()=>{D.value=new Set(["root"]),j("collapse-all")},R=async()=>{if(w.value)try{const u=JSON.stringify(V.value,null,2).replace(/"(\d{16,})"/g,"$1");await navigator.clipboard.writeText(u),j("copy-success",u)}catch(g){console.error("Failed to copy JSON:",g),j("copy-error",g instanceof Error?g:new Error("Failed to copy JSON"))}},W=g=>{if(!/^-?\d+(\.\d+)?$/.test(g))return!1;const u=Number(g);return!Number.isSafeInteger(u)||g.length>15},x=async g=>{try{let u;typeof g=="string"&&W(g)?u=g:typeof g=="string"?u=`"${g}"`:u=JSON.stringify(g),await navigator.clipboard.writeText(u)}catch(u){console.error("Failed to copy value:",u)}},b=(g,u)=>{if(!O.readonly)try{const N=I(V.value,g,u),k=te.stringify(N,null,2);j("update:modelValue",k),L(g,u)}catch(N){console.error("Failed to rename key:",N)}},I=(g,u,N)=>{if(!u||u==="root")return g;const k=u.split("."),d=U(g,k.slice(0,-1));if(k.length===1){const q=k[0];return d&&typeof d=="object"&&!Array.isArray(d)?S(d,q,N):d}let m=d;for(let q=0;q<k.length-1;q++){const X=k[q];Array.isArray(m)?m=m[parseInt(X)]:m=m[X]}const M=k[k.length-1];if(!Array.isArray(m)&&m&&typeof m=="object"){const q=S(m,M,N),X=k.slice(0,-1);X.length>0&&B(d,X,q)}return d},U=(g,u)=>{if(u.length===0)return g;if(Array.isArray(g)){const N=[...g],k=u[0],d=parseInt(k);return u.length===1||(N[d]=U(g[d],u.slice(1))),N}else if(g&&typeof g=="object"){const N={...g},k=u[0];return u.length===1||(N[k]=U(g[k],u.slice(1))),N}return g},S=(g,u,N)=>{if(!g||typeof g!="object"||Array.isArray(g))return g;const k=Object.keys(g),d={};for(const m of k)m===u?d[N]=g[m]:d[m]=g[m];return d},B=(g,u,N)=>{let k=g;for(let m=0;m<u.length-1;m++){const M=u[m];Array.isArray(k)?k=k[parseInt(M)]:k=k[M]}const d=u[u.length-1];Array.isArray(k)?k[parseInt(d)]=N:k[d]=N},L=(g,u)=>{const N=new Set;D.value.forEach(k=>{if(k===g){const d=g.split(".");d[d.length-1]=u,N.add(d.join("."))}else if(k.startsWith(g+".")){const d=g.split(".");d[d.length-1]=u;const m=d.join("."),M=k.substring(g.length);N.add(m+M)}else N.add(k)}),D.value=N};return Z({copyJson:R,expandAll:H,collapseAll:K,toggleExpand:P,updateValue:v,updateKey:b,isValidJson:()=>w.value,getParsedJson:()=>V.value,getExpandedNodes:()=>D.value,getParseError:()=>_.value,parseJson:g=>F(g),copyValue:g=>x(g)}),(g,u)=>(p.openBlock(),p.createElementBlock("div",rt,[g.showToolbar?(p.openBlock(),p.createElementBlock("div",ot,[p.createElementVNode("div",it,[p.createElementVNode("button",{class:"json-format__btn json-format__btn--primary",onClick:R,disabled:!w.value,title:"Copy JSON"}," 📋 Copy ",8,st),p.createElementVNode("button",{class:"json-format__btn json-format__btn--secondary",onClick:H,disabled:!w.value,title:"Expand All"}," ⬇️ Expand All ",8,lt),p.createElementVNode("button",{class:"json-format__btn json-format__btn--secondary",onClick:K,disabled:!w.value,title:"Collapse All"}," ➡️ Collapse All ",8,at)]),p.createElementVNode("div",ct,[w.value?(p.openBlock(),p.createElementBlock("span",ft," ✅ Valid JSON ")):(p.openBlock(),p.createElementBlock("span",ut," ❌ Invalid JSON "))])])):p.createCommentVNode("",!0),p.createElementVNode("div",pt,[w.value?(p.openBlock(),p.createElementBlock("div",ht,[p.createVNode(nt,{value:V.value,"key-name":"",level:0,expanded:D.value,"is-last":!0,"onUpdate:value":v,onToggleExpand:P,onCopy:x,"onUpdate:key":b},null,8,["value","expanded"])])):(p.openBlock(),p.createElementBlock("div",dt,[u[0]||(u[0]=p.createElementVNode("h4",null,"JSON Parse Error:",-1)),p.createElementVNode("pre",null,p.toDisplayString(_.value),1)]))])]))}}),[["__scopeId","data-v-ad2f6a66"]]),gt=[Ve],mt={install:z=>{gt.forEach(Z=>{const E=Z.name||Z.__name||"UnknownComponent";z.component(E,Z)})}};fe.JsonFormat=Ve,fe.default=mt,Object.defineProperties(fe,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lone-format",
3
- "version": "0.1.0",
3
+ "version": "0.1.2",
4
4
  "type": "module",
5
5
  "description": "A Vue 3 component library for formatting with tree-shaking support",
6
6
  "main": "./dist/lone-format.umd.cjs",
@@ -15,7 +15,8 @@
15
15
  "./json-format": {
16
16
  "types": "./dist/components/JsonFormat/index.d.ts",
17
17
  "import": "./dist/components/JsonFormat/index.js"
18
- }
18
+ },
19
+ "./lone-format.css": "./dist/lone-format.css"
19
20
  },
20
21
  "files": [
21
22
  "dist"