mirror of
https://github.com/CorentinTh/it-tools.git
synced 2025-05-05 13:57:10 -04:00
5 lines
6.2 KiB
JavaScript
5 lines
6.2 KiB
JavaScript
import{_ as K}from"./chunk-baf8ab22.js";import{d as C,j as v,D as h,E as f,a7 as E,aB as I,ah as O,F as U,U as z,m as t,q as n,aC as P,l as _,z as x,n as q,K as A,g as T,c as F,S as W,k as G,L as H}from"./chunk-449c23a2.js";import{a as N,_ as J,b as Q}from"./chunk-a740628f.js";import{_ as X}from"./chunk-6deddc2e.js";import{_ as Y}from"./chunk-aa4619b6.js";import{I as R}from"../entries/src_pages_Home.page.16dc467b.js";import{u as Z}from"./chunk-767079b6.js";import{_ as tt}from"./chunk-78769b89.js";import{_ as et}from"./chunk-b6d0d6dd.js";import{_ as nt}from"./chunk-4515d3e7.js";import"./chunk-9a43cce8.js";import"./chunk-340feaf0.js";import"./chunk-66ac4853.js";import"./chunk-2749dac9.js";import"./chunk-015e5c20.js";import"./chunk-416dc92c.js";import"./chunk-567e13ca.js";import"./chunk-26a03a7a.js";import"./chunk-f823181b.js";import"./chunk-9519e52e.js";import"./chunk-f94e2689.js";import"./chunk-1d5b5526.js";import"./chunk-fc34c9a6.js";import"./chunk-af6e0163.js";import"./chunk-b0332f36.js";import"./chunk-f206ee20.js";import"./chunk-05af1949.js";import"./chunk-cf010ec4.js";import"./chunk-ee54c1e8.js";import"./chunk-fd51fbd2.js";import"./chunk-6d336811.js";const ot={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 24 24"},at=f("g",{fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},[f("path",{d:"M12 5v14"}),f("path",{d:"M5 12h14"})],-1),st=[at],L=C({name:"Plus",render:function(s,l){return v(),h("svg",ot,st)}}),lt={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 24 24"},rt=E('<g fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M4 7h16"></path><path d="M10 11v6"></path><path d="M14 11v6"></path><path d="M5 7l1 12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2l1-12"></path><path d="M9 7V4a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v3"></path></g>',1),it=[rt],D=C({name:"Trash",render:function(s,l){return v(),h("svg",lt,it)}});function V({data:o}){return o.length===0?0:N.sum(o)/o.length}function ut({data:o}){const s=V({data:o}),l=o.map(r=>(r-s)**2);return V({data:l})}function ct({data:o,headerMap:s={}}){if(!Array.isArray(o)||o.length===0)return"";const l=Object.keys(o[0]),r=o.map(u=>Object.values(u)),i=`| ${l.map(u=>s[u]??u).join(" | ")} |`,w=`| ${l.map(()=>"---").join(" | ")} |`,k=r.map(u=>`| ${u.join(" | ")} |`).join(`
|
|
`);return`${i}
|
|
${w}
|
|
${k}`}const pt=C({__name:"dynamic-values",props:{values:{}},emits:["update:values"],setup(o,{emit:s}){const l=o,r=I(),i=O(l,"values",s);async function w(){i.value.push(null),await q(),r.value.at(-1)?.focus()}function k(u){if(u===i.value.length-1){w();return}r.value.at(u+1)?.focus()}return(u,B)=>{const a=R,e=A,c=J;return v(),h("div",null,[(v(!0),h(U,null,z(n(i),($,p)=>(v(),h("div",{key:p,"mb-2":"",flex:"","flex-nowrap":"","gap-2":""},[t(n(Y),{ref_for:!0,ref:n(r).set,value:n(i)[p],"onUpdate:value":g=>n(i)[p]=g,"show-button":!1,placeholder:"Set your measure...",autofocus:"",onKeydown:P(g=>k(p),["enter"])},null,8,["value","onUpdate:value","onKeydown"]),t(c,{tooltip:"Delete this value"},{default:_(()=>[t(e,{circle:"",variant:"text",onClick:g=>n(i).splice(p,1)},{default:_(()=>[t(a,{component:n(D),depth:"3",size:"18"},null,8,["component"])]),_:2},1032,["onClick"])]),_:2},1024)]))),128)),t(e,{onClick:w},{default:_(()=>[t(a,{component:n(L),depth:"3","mr-2":"",size:"18"},null,8,["component"]),x(" Add a measure ")]),_:1})])}}}),mt={"mb-5":"",flex:"","flex-1":"","flex-nowrap":"","justify-center":"","gap-12px":""},_t={flex:"","justify-center":""},dt={style:{flex:"0 0 100%"}},ft={style:{"max-width":"600px",margin:"0 auto"}},vt={"mx-auto":"","max-w-sm":"",flex:"","justify-center":"","gap-3":""},ht={"mt-5":"",flex:"","justify-center":"","gap-3":""},Jt=C({__name:"benchmark-builder",setup(o){const s=T("benchmark-builder:suites",[{title:"Suite 1",data:[5,10]},{title:"Suite 2",data:[8,12]}]),l=T("benchmark-builder:unit",""),r=a=>Math.round(a*1e3)/1e3,i=F(()=>s.value.map(({data:a,title:e})=>{const c=a.filter(N.isNumber);return{title:e,size:c.length,mean:V({data:c}),variance:ut({data:c})}}).sort((a,e)=>a.mean-e.mean).map(({mean:a,variance:e,size:c,title:$},p,g)=>{const b=l.value.trim(),d=g[0].mean,M=a-d,j=d===0?"∞":r(a/d),m=p!==0&&d!==a?` (+${r(M)}${b} ; x${j})`:"";return{position:p+1,title:$,mean:`${r(a)}${b}${m}`,variance:`${r(e)}${b}${b?"²":""}`,size:c}})),{copy:w}=Z({createToast:!1}),k={position:"Position",title:"Suite",size:"Samples",mean:"Mean",variance:"Variance"};function u(){w(ct({data:i.value,headerMap:k}))}function B(){const a=i.value.flatMap(({title:e,...c})=>[` - ${e}`,...Object.entries(c).map(([$,p])=>` - ${k[$]??$}: ${p}`)]).join(`
|
|
`);w(a)}return(a,e)=>{const c=X,$=et,p=nt,g=Q,b=R,d=A,M=tt,j=K;return v(),h(U,null,[t(M,{style:{flex:"1"},"x-scrollable":""},{default:_(()=>[f("div",mt,[(v(!0),h(U,null,z(n(s),(m,S)=>(v(),h("div",{key:S},[t(g,{style:{width:"294px"}},{default:_(()=>[t(c,{value:m.title,"onUpdate:value":y=>m.title=y,"label-position":"left",label:"Suite name",placeholder:"Suite name...",clearable:""},null,8,["value","onUpdate:value"]),t($),t(p,{label:"Suite values","show-feedback":!1},{default:_(()=>[t(pt,{values:m.data,"onUpdate:values":y=>m.data=y},null,8,["values","onUpdate:values"])]),_:2},1024)]),_:2},1024),f("div",_t,[n(s).length>1?(v(),G(d,{key:0,variant:"text",onClick:y=>n(s).splice(S,1)},{default:_(()=>[t(b,{component:n(D),depth:"3","mr-2":"",size:"18"},null,8,["component"]),x(" Delete suite ")]),_:2},1032,["onClick"])):H("",!0),t(d,{variant:"text",onClick:y=>n(s).splice(S+1,0,{data:[0],title:`Suite ${n(s).length+1}`})},{default:_(()=>[t(b,{component:n(L),depth:"3","mr-2":"",size:"18"},null,8,["component"]),x(" Add suite ")]),_:2},1032,["onClick"])])]))),128))])]),_:1}),f("div",dt,[f("div",ft,[f("div",vt,[t(c,{value:n(l),"onUpdate:value":e[0]||(e[0]=m=>W(l)?l.value=m:null),placeholder:"Unit (eg: ms)",label:"Unit","label-position":"left","mb-4":""},null,8,["value"]),t(d,{onClick:e[1]||(e[1]=m=>s.value=[{title:"Suite 1",data:[]},{title:"Suite 2",data:[]}])},{default:_(()=>[x(" Reset suites ")]),_:1})]),t(j,{data:n(i),headers:k},null,8,["data"]),f("div",ht,[t(d,{onClick:e[2]||(e[2]=m=>u())},{default:_(()=>[x(" Copy as markdown table ")]),_:1}),t(d,{onClick:e[3]||(e[3]=m=>B())},{default:_(()=>[x(" Copy as bullet list ")]),_:1})])])])],64)}}});export{Jt as default};
|