UNPKG

unleash-server

Version:

Unleash is an enterprise ready feature flag service. It provides different strategies for handling feature flags.

1 lines 1.59 kB
import{n as e,s as t}from"./jsx-runtime-ButemYzH.js";import{Ac as n,Al as r,Bl as i,Il as a,Ol as o,zl as s}from"./index-B0RbDPtk.js";var c=t(e()),l=new Date,u=i(l,`yyyy-MM`);s(l);var d=e=>i(e,`yyyy-MM`),f=e=>i(e,`yyyy-MM-dd`),p=e=>a(e,`yyyy-MM`,new Date),m=e=>a(e,`yyyy-MM-dd`,new Date),h=1e6,g=m(`2024-05-01`),_=[`/api/admin`,`/api/frontend`,`/api/client`],v=e=>{let{apiData:t,...n}=e;return{apiData:t.filter(e=>_.includes(e.apiPath)).map(e=>(e.dataPoints=e.dataPoints.filter(({period:e})=>new Date(e)>=g),e)),...n}},y=(e,t)=>e.reduce((e,n)=>e+(n.dataPoints.find(({period:e})=>e===t)?.trafficTypes.reduce((e,t)=>e+t.count,0)??0),0),b=e=>e.flatMap(e=>e.dataPoints.flatMap(e=>e.trafficTypes.map(e=>e.count))).reduce((e,t)=>e+t,0),x=e=>{let{grouping:t,apiData:n}=e;return t===`monthly`?y(n,i(new Date(e.dateRange.to),`yyyy-MM`)):b(n)},S=(e,t=5,n=h)=>Math.ceil(e/n)*t,C=(e,t,n=5,r=h)=>{if(e===0)return 0;let i=Math.floor((e-t)/r)*r;return i>0?S(i,n,r):0},w=({dayOfMonth:e,daysInMonth:t,trafficData:n})=>e<5?0:b(n.map(t=>({...t,dataPoints:t.dataPoints.filter(t=>Number(t.period.slice(-2))<e)})))/(e-1)*t,T=(e,t,n,r=5,i=h)=>e?C(w({dayOfMonth:n.getDate(),daysInMonth:s(n),trafficData:e}),t,r,i):0,E=(e,{from:t,to:n})=>{let{data:i,error:a,mutate:s}=r(o(`api/admin/metrics/traffic?grouping=${e}&from=${t}&to=${n}`),D);return(0,c.useMemo)(()=>({refetch:()=>s(),result:i?{state:`success`,data:v(i)}:a?{state:`error`,error:a}:{state:`loading`}}),[i,a,s])},D=e=>fetch(e).then(n(`Instance Metrics`)).then(e=>e.json());export{x as a,f as c,p as d,C as i,d as l,g as n,l as o,T as r,u as s,E as t,m as u};