UNPKG

q247-models-core

Version:

Models for effort/calories in q247 plugin

2 lines (1 loc) 757 B
const parseGitDiff=t=>{const i={},s=t.split("\n");let e=null,n=[],r=[],f=[],l=!1;for(let t=0;t<s.length;t++){const o=s[t];if(o.startsWith("diff --git")){l=!1,n=[],r=[],f=[];const t=o.match(/^diff --git a\/(.+?) b\/(.+)$/);t&&(e=t[1],i[e]={original:"",resulting:"",changed:[]});continue}if(o.startsWith("@@"))l=!0;else if(l&&e)if(o.startsWith("-")){const t=o.slice(1);n.push(t),f.push({type:"removed",line:t})}else if(o.startsWith("+")){const t=o.slice(1);r.push(t),f.push({type:"added",line:t})}else if(o.startsWith(" ")){const t=o.slice(1);n.push(t),r.push(t)}}return e&&(i[e].original=n.join("\n"),i[e].resulting=r.join("\n"),i[e].changed=f),i},fmwFactor=(t,i=377,s=610,e=100)=>{if(t<i)return t;return s-(s-i)/(1+(t-i)/e)};export{fmwFactor,parseGitDiff};