@epam/statgpt-sdmx-toolkit 0.1.0-rc.2 → 0.1.0-rc.4

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,5 +1,5 @@
1
+ import { RequestOptions } from '../../../shared-toolkit/src/index';
1
2
  import { SdmxApiConfig } from './sdmx-config';
2
- import { RequestOptions } from '../../../shared-toolkit/src/models/request-options';
3
3
  export declare class SdmxApiClient {
4
4
  readonly config: SdmxApiConfig;
5
5
  constructor(config: SdmxApiConfig);
@@ -1,2 +1,3 @@
1
1
  export * from './dataset-data-url';
2
+ export * from './frequency-dimension';
2
3
  export * from './filter-operators';
package/index.cjs CHANGED
@@ -1 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const v=e=>{if(e!=null){const t=e.split("=");return t.length===1?e:t[1]}},R=e=>{var r;if(e==null)return{};const t=v(e),n={agency:"",id:"",version:""};return t&&(t.includes(":")&&(n.agency=t.split(":")[0],n.id=t.split(":")[1].split("(")[0]),t.includes("(")&&t.includes(")")&&(n.version=(r=t.split("(")[1])==null?void 0:r.split(")")[0])),n},Ae=e=>{const[t,n]=e.split(")."),{agency:r,id:s,version:o}=R(t+")");return{childId:n,agency:r,id:s,version:o}},gt=(e,t,n)=>{const r=t===""?"":`(${t})`;return`${n}:${e}${r}`};var I=(e=>(e.DESCENDANTS="descendants",e.NONE="none",e.ALL="all",e))(I||{}),z=(e=>(e.EXACT="exact",e.AVAILABLE="available",e))(z||{});const ft=(e="",t="",n="")=>`sdmx/3.0/availability/dataflow/${e}/${t}/${n}`;class Et{constructor(t){this.client=t}async getConstraints(t,n){const{agency:r,id:s,version:o}=R(t),i={filters:n||[],mode:z.AVAILABLE,references:I.NONE},c=ft(r,s,o);return await this.client.postRequest(c,{body:i})}}var m=(e=>(e.CSV="csv",e.JSON="json",e.XML="xml",e))(m||{}),ye=(e=>(e.ID="id",e.NAME="name",e.ID_NAME="both",e))(ye||{}),he=(e=>(e.FULL_DATASET="full",e.DATA_IN_TABLE="query",e))(he||{});const De=(e,t)=>{switch(e){case m.CSV:return P("application/vnd.sdmx.data+csv;version=2.0.0",t);case m.XML:return P("application/vnd.sdmx.data+xml;version=3.0.0",t);case m.JSON:return P(`application/${e}`,t);default:return P("application/vnd.sdmx.data+csv;version=2.0.0",t)}},P=(e,t)=>`${e}; labels=${t}`;var H=(e=>(e.REFERENCE_PARTIAL="referencepartial",e.FULL="full",e))(H||{});const At="all",Te="sdmx/3.0/data/dataflow",Se="&",se=":",yt="=",Re="+",ht=",",pe="*",V=(e,t,n)=>{const{filterKey:r,timeFilter:s}=n,{agency:o,id:i,version:c}=R(e),a=[s||"",t].filter(l=>!!l).join(Se);return`${`${Te}/${o}/${i}/${c}`}/${r||pe}?${a}`},Dt=(e="",t="",n="",r=I.DESCENDANTS)=>`sdmx/3.0/structure/dataflow/${e}/${t}/${n}?references=${r}&detail=${H.REFERENCE_PARTIAL}`;class Tt{constructor(t){this.client=t}async getDataSet(t,n){const{agency:r,id:s,version:o}=R(t);return await this.client.getRequest(Dt(r,s,o,n))}async getDatasetData(t,n){const r=new URLSearchParams({includeHistory:"false",limit:"10000",attributes:At,dimensionAtObservation:"TIME_PERIOD"}).toString(),s=V(t,r,n);return await this.client.getRequest(s)}async downloadDataSet(t,n,r,s,o,i,c=!1){const a=new URLSearchParams({format:n,compress:"false",attributes:c?"all":"none"}).toString(),u=V(t,a,o);return this.client.streamRequest(u,{method:"GET",headers:{Accept:De(n,s),"Accept-language":r}},i)}}const oe=async(e,t,n)=>await fetch(e,{method:n.method||"GET",headers:t,body:n.body?JSON.stringify(n.body):void 0}),St="application/json",Rt="Content-Type",k="Api-Key",pt="X-CONVERSATION-ID",ie=(e,t,n)=>{const r={[Rt]:(t==null?void 0:t.contentType)||St};return t!=null&&t.jwt&&(r.Authorization=`Bearer ${t.jwt}`),t!=null&&t.chatReference&&(r[pt]=t.chatReference),{...r,...n}},mt=e=>{const t={...e};return t[k]&&(t[k]=t[k].substring(0,8)+"...[REDACTED]"),t.Authorization&&(t.Authorization="Bearer [REDACTED]"),t},vt=(e,t)=>e.error||e.message||`${t.status} ${t.statusText}`;class Pt{constructor(t){this.config=t,console.info("SdmxApiClient initialized",{apiUrl:t.apiUrl||"NOT SET"})}async getRequest(t,n){return this.request(t,{...n,method:"GET"})}async postRequest(t,n){return this.request(t,{...n,method:"POST"})}async streamRequest(t,n,r){const s=`${this.config.apiUrl}/${t}`,o={...ie(void 0,{jwt:this.config.jwt}),...n.headers};this.config.apiKey!=null&&(o["Ocp-Apim-Subscription-Key"]=this.config.apiKey);const i=new ReadableStream({async start(a){var u;try{const l=await oe(s,o,n);if(!l.ok){const g=await l.text();throw console.error(`Fetch failed! Status: ${l.status}, Body: ${g}`),new Error(`Fetch failed with status ${l.status}`)}const f=(u=l.body)==null?void 0:u.getReader();if(!f)throw new Error("Failed to create stream reader");const E=new Uint8Array([239,187,191]);a.enqueue(E);const d=async()=>{const{done:g,value:y}=await f.read();g?a.close():(a.enqueue(y),await d())};d()}catch(l){a.error(l)}}}),c=new Headers({"Content-Disposition":`attachment; filename=${encodeURIComponent(r)}`});return new Response(i,{headers:c})}async request(t,n){const r=Date.now(),s=t.includes("availability")&&this.config.constrainsApiUrl?`${this.config.constrainsApiUrl}/${t}`:`${this.config.apiUrl}/${t}`,o={...ie(void 0,{jwt:this.config.jwt}),...n.headers};this.config.apiKey!=null&&(o["Ocp-Apim-Subscription-Key"]=this.config.apiKey),this.addInfoRequestLog("API Request",s,n,o);try{const i=await oe(s,o,n),c=Date.now()-r;let a;const u=await i.text();try{a=u?JSON.parse(u):{}}catch{if(this.addErrorRequestParsing(s,n,i,c,u),!i.ok)throw new Error(`API request failed: ${i.status} ${i.statusText} - ${u.substring(0,100)}`);a={data:u}}if(!i.ok){this.addErrorRequestLog(s,n,i,c,a);const l=vt(a,i);throw new Error(`API request failed: ${l}`)}return a}catch(i){const c=Date.now()-r;throw console.error("API Request Exception",{method:n.method,url:s,duration:`${c}ms`,error:i instanceof Error?i.message:String(i)}),i}}addInfoRequestLog(t,n,r,s){const o={method:r.method||"GET",url:n,headers:mt(s)};r.body&&(o.body=r.body),console.info(t,o)}addErrorRequestLog(t,n,r,s,o){console.error("API Request Failed",{method:n.method,url:t,status:r.status,statusText:r.statusText,duration:`${s}ms`,response:o})}addErrorRequestParsing(t,n,r,s,o){console.error("API Response Parse Error",{method:n.method,url:t,status:r.status,statusText:r.statusText,duration:`${s}ms`,responseText:o.substring(0,200),error:"Response is not valid JSON"})}}var me=(e=>(e.CONDITIONAL="Conditional",e.MANDATORY="Mandatory",e))(me||{}),N=(e=>(e.DIMENSION="Dimension",e.MEASURE_DIMENSION="MeasureDimension",e.TIME_DIMENSION="TimeDimension",e))(N||{}),ve=(e=>(e.UNBOUNDED="unbounded",e))(ve||{});const Pe=(e,t)=>{var c,a,u,l,f;const n=(a=(c=e==null?void 0:e.data)==null?void 0:c.dataSets)==null?void 0:a[0],r=(l=(u=e==null?void 0:e.data)==null?void 0:u.structures)==null?void 0:l[0],s=((f=r==null?void 0:r.attributes)==null?void 0:f.dimensionGroup)||[],o=n==null?void 0:n.dimensionGroupAttributes,i={};for(const E of s){const d=E.relationship.dimensions,{codedSeriesKey:g,decodedSeriesKey:y}=J(e,t,d);i[E.id]={values:(o==null?void 0:o[g])||[],decodedSeriesKey:y,codedSeriesKey:g}}return i},J=(e,t,n)=>{var c,a;const r=(a=(c=e==null?void 0:e.data)==null?void 0:c.structures)==null?void 0:a[0],s=[...(r==null?void 0:r.dimensions.series)||[],...(r==null?void 0:r.dimensions.observation)||[]],o=new Array(s==null?void 0:s.length),i=new Array(s==null?void 0:s.length);return n==null||n.forEach(u=>{const l=(s==null?void 0:s.findIndex(d=>d.id===u))||0,f=t[l],E=s[l].values.findIndex(d=>d.id===f||d.value===f)||0;o[l]=E>=0?E:f,i[l]=f}),{codedSeriesKey:o.join(":"),decodedSeriesKey:i.join(":")}},wt=(e,t,n)=>{var f,E,d,g,y;const r=(E=(f=e==null?void 0:e.data)==null?void 0:f.dataSets)==null?void 0:E[0],s=(g=(d=e==null?void 0:e.data)==null?void 0:d.structures)==null?void 0:g[0],o=(((y=s==null?void 0:s.attributes)==null?void 0:y.dimensionGroup)||[]).filter(A=>{var h;return((h=A.relationship.dimensions)==null?void 0:h.length)===1&&A.relationship.dimensions.includes(t||"")}),i=r==null?void 0:r.dimensionGroupAttributes,c=[...(s==null?void 0:s.dimensions.series)||[],...(s==null?void 0:s.dimensions.observation)||[]],a=c==null?void 0:c.findIndex(A=>A.id===t),u=new Array(c==null?void 0:c.length);u[a]=n||"";const l={};for(const A of o){const h=A.relationship.dimensions,{codedSeriesKey:D,decodedSeriesKey:p}=J(e,u,h);l[A.id]={values:(i==null?void 0:i[D])||[],decodedSeriesKey:p,codedSeriesKey:D}}return l},we=(e,t)=>{var r;if(t==null)return;const n=(r=e.values)==null?void 0:r[t];return n??(t instanceof Array?{values:t}:{value:t.toString()})},_e="Observation",_t=e=>{var u,l,f,E,d,g;const t=(u=e==null?void 0:e.data)==null?void 0:u.dataSets,n=(f=(l=e==null?void 0:e.data)==null?void 0:l.structures)==null?void 0:f[0];if(!t||!n)return[];const r=n.attributes,s=n.dimensions,o=(r==null?void 0:r.dimensionGroup)||[],i=t[0].series||t[0].observations,c=(E=s.series)!=null&&E.length?s.series:s.observation,a=[];for(const y in i){const A=[],{name:h,parsedTimeSeriesValue:D}=$e(y,c),p=i[y],ot=p.attributes||[];if(Object.keys(p).length===0){a.push({name:h,parsedTimeSeriesValue:D,values:A,attributes:[],dataSetAttrs:[]});continue}A.push(...It(p,n));const it=_((r==null?void 0:r.series)||[],S=>ot[S]),ct=Nt(((d=n.attributes)==null?void 0:d.dataSet)||[],((g=t[0].attributes)==null?void 0:g.filter(S=>S!=null))||[]),at=Pe(e,D),ut=o.map((S,lt)=>{const re=at[S.id],dt=we(S,re.values[lt]);return{attribute:S,dimensionGroupValue:dt,dimensionGroupData:re}});a.push({name:h,parsedTimeSeriesValue:D,values:A,attributes:it,dataSetAttrs:ct,dimensionGroupAttributes:ut})}return a},$e=(e,t)=>{const n=e.split(new RegExp("(?<!\\|):(?!\\||$)")),r=[];for(let s=0;s<n.length;s++){const o=t==null?void 0:t[s],i=Number(n[s]);if(i<0||o==null)continue;const c=o.values[i];if(c==null){r.push(n[s].replace("|:",":"));continue}r.push((c==null?void 0:c.id)||(c==null?void 0:c.value)||"")}return{name:Ie(r),parsedTimeSeriesValue:r}},_=(e,t)=>{const n=[];for(let r=0;r<e.length;r++){const s=e[r],o=t(r),i=o!=null&&s.values!=null?$t(o,s):void 0;n.push({name:s.id,value:i})}return n},$t=(e,t)=>{const n=t.values[e];return n==null?typeof e=="object"?e:e.toString():(n==null?void 0:n.id)||(n==null?void 0:n.value)||(n==null?void 0:n.ids)||(n==null?void 0:n.values)},Ie=e=>e.map(t=>t?Ne(t):"").join("."),Ne=e=>e.replace(/\./g,"|.").replace(/:/g,"|:"),It=(e,t)=>{var i,c,a,u,l;const n=(c=(i=t.measures)==null?void 0:i.observation)==null?void 0:c.length;if(e.observations==null)return[{values:ce(e,t.measures),obsAttributes:_(((a=t.attributes)==null?void 0:a.observation)||[],f=>e[f+n]),dimensionAtObservation:_e}];const r=e.observations,s=(u=t.dimensions.observation)==null?void 0:u[0],o=[];for(const f in r){const E=s==null?void 0:s.values[f];o.push({dimensionAtObservation:(E==null?void 0:E.value)||(E==null?void 0:E.id),values:ce(r[f],t.measures),obsAttributes:_(((l=t.attributes)==null?void 0:l.observation)||[],d=>r[f][d+n])})}return o},ce=(e,t)=>{var n;return((n=t==null?void 0:t.observation)==null?void 0:n.map((r,s)=>({name:r.id,value:e[s]})))||[]},Nt=(e,t)=>e.reduce((n,r,s)=>{const o=t[s];return Ot(n,r,o,""),n},[]),Ot=(e,t,n,r)=>{var o,i,c;const s=n!=null?((o=t==null?void 0:t.values)==null?void 0:o.length)>0?((i=t.values[n])==null?void 0:i.id)||((c=t.values[n])==null?void 0:c.value):String(n):r;e.push({name:t.id,value:s||""})},Oe=/^[0-9][0-9][0-9][0-9]-Q[1-4]$/,Le=/^[0-9][0-9][0-9][0-9]-W[0-9][0-9]?$/,be=/^[0-9][0-9][0-9][0-9]-S[1-2]$/,Ue=/^[0-9][0-9][0-9][0-9]$/,We=/^[0-9][0-9][0-9][0-9]-(0[1-9]|1[0-2])-[0-9][0-9]$/,Ce=/^[0-9][0-9][0-9][0-9]-M(0[1-9]|(1[0-2]))$/,O=e=>Ue.exec(e),L=e=>!!O(e),xe=e=>be.exec(e),b=e=>!!xe(e),U=e=>Ce.exec(e),W=e=>!!U(e),C=e=>Oe.exec(e),x=e=>!!C(e),Be=e=>We.exec(e),Me=e=>!!Be(e),qe=e=>Le.exec(e),B=e=>!!qe(e),X=1440*60*1e3,Z=7*X;function ee(e){const t=`${e}-01-01`,n=new Date(t);if(n.getDay()!==4){const s=1+(4-n.getDay()+7)%7;n.setMonth(0,s)}return n}function Lt(e){const t=new Date(e),r=-((t.getDay()+6)%7)+3;return t.setDate(t.getDate()+r),new Date(t.valueOf())}function bt(e,t="W"){const n=`${e}-12-31`,r=F(new Date(n),t);if(r.weekYear===e)return r.weekNumber;const s=`${e}-12-24`;return F(new Date(s),t).weekNumber}function Ye(e,t,n="W"){return`${e}-${n}${t<10?"0"+t:t}`}function F(e,t="W"){const n=Lt(e),r=n.getFullYear(),s=ee(r),o=1+Math.ceil((n.getTime()-s.getTime())/Z);return{code:Ye(r,o,t),weekNumber:o,weekYear:r}}function Qe(e){const[t,n]=e.split("-W"),s=ee(+t).getTime()+(+n-1)*Z-3*X;return new Date(s)}function ke(e){const[t,n]=e.split("-W"),s=ee(+t).getTime()+(+n-1)*Z+3*X;return new Date(s)}function te(e){return L(e)?Ut(e):b(e)?Ct(e):x(e)?Bt(e):W(e)?qt(e):B(e)?Qe(e):Qt(e)}function ne(e){return L(e)?Wt(e):b(e)?xt(e):x(e)?Mt(e):W(e)?Yt(e):B(e)?ke(e):kt(e)}function Ut(e){const t=O(e);if(t)return new Date(Number(t[0]),0,1)}function Wt(e){const t=O(e);if(t)return new Date(Number(t[0])+1,0,1)}function Ct(e){const[t,n]=e.split("-S");switch(+n){case 1:return new Date(+t,0,1);case 2:return new Date(+t,6,1)}}function xt(e){const[t,n]=e.split("-S");switch(+n){case 1:return new Date(+t,6,1);case 2:return new Date(+t+1,0,1)}}function Bt(e){const t=C(e);if(!t)return;const[n,r]=t[0].split("-Q");switch(+r){case 1:return new Date(+n,0,1);case 2:return new Date(+n,3,1);case 3:return new Date(+n,6,1);case 4:return new Date(+n,9,1)}}function Mt(e){const t=C(e);if(!t)return;const[n,r]=t[0].split("-Q");switch(+r){case 1:return new Date(+n,3,1);case 2:return new Date(+n,6,1);case 3:return new Date(+n,9,1);case 4:return new Date(+n+1,0,1)}}function qt(e){const t=U(e);if(!t)return;const[n,r]=t[0].split("-M");return new Date(+n,+r-1,1)}function Yt(e){const t=U(e);if(!t)return;const[n,r]=t[0].split("-M");return new Date(+n,+r,1)}const Qt=e=>new Date(`${e}T00:00:00`),kt=e=>{const t=new Date(`${e}T23:59:00`);return t.setMinutes(t.getMinutes()+1),t},Vt=1,Ft=(e,t,n,r=!0,s="Q")=>{const o=[],i=t&&t>3?en(t,r):1,c=n?Math.floor((n-1)/3):4;for(let a=i;a<=c;a++)o.push(`${e}-${s}${a}`);return o},Gt=(e,t,n,r="S")=>{const s=[];return(t||1)<7&&(n||12)>6&&s.push(`${e}-${r}1`),n==null&&s.push(`${e}-${r}2`),s},Kt=e=>Math.ceil(e/3),Ve=(e,t,n="M")=>`${e}-${n}${t.toString().padStart(2,"0")}`,jt=(e,t,n="M")=>{const r=[];for(let s=t;s<=12;s++)r.push(Ve(e,s,n));return r},zt=(e,t,n,r="M")=>{const s=[];for(let o=t;o<n;o++)s.push(Ve(e,o,r));return s},Ht=(e,t,n,r="M")=>{const s=t||1,o=n==null,i=n||12;return o?jt(e,s,r):zt(e,s,i,r)},Jt=(e,t,n="M")=>{switch(t){case 0:return[`${e}-${n}01`,`${e}-${n}02`,`${e}-${n}03`];case 1:return[`${e}-${n}04`,`${e}-${n}05`,`${e}-${n}06`];case 2:return[`${e}-${n}07`,`${e}-${n}08`,`${e}-${n}09`];case 3:return[`${e}-${n}10`,`${e}-${n}11`,`${e}-${n}12`];default:return[]}},Xt=(e,t)=>{const n=G(t,!0),r=G(e),s=n.getFullYear(),o=r.getFullYear(),i=n.getTime()<=r.getTime()?o+Vt-s:0;return Array.from({length:i},(a,u)=>s+u)},G=(e,t=!1)=>{const n=Zt(e,t);return n?(n.getTimezoneOffset()>0&&n.setMinutes(n.getMinutes()+n.getTimezoneOffset()),n):new Date},Zt=(e,t=!1)=>{const n=Number(e);return e.toString().length!==13?t?te(e):ne(e):isNaN(n)?new Date(`${e}T00:00:00.000Z`):new Date(n)},en=(e,t)=>t?Math.floor((e+1)/3):Math.ceil((e+1)/3),tn=(e,t)=>{const n=ue(e)-ue(t);if(n===0&&e!==t){const r=ae(e),s=ae(t);return r-s}return n},ae=e=>L(e)?6:b(e)?5:x(e)?4:W(e)?3:B(e)?2:Me(e)?1:0,ue=(e,t=!1)=>{const n=t?te(e):ne(e);return(n==null?void 0:n.getTime())||0};var M=(e=>(e.LAST_UPDATE_AT="lastUpdatedAt",e.SERIES_COUNT="series_count",e))(M||{}),Fe=(e=>(e.C="c",e))(Fe||{}),T=(e=>(e.EQUALS="eq",e.NOT_EQUALS="ne",e.LESS="lt",e.LESS_OR_EQUAL="le",e.GREATER="gt",e.GREATER_OR_EQUAL="ge",e.CONTAINS="co",e.NOT_CONTAINS="nc",e.STARTS="sw",e.ENDS="ew",e))(T||{}),Ge=(e=>(e.BOOLEAN="Boolean",e.DATE_TIME="DateTime",e.DECIMAL="Decimal",e.INTEGER="Integer",e.OBSERVATION_TIME_PERIOD="ObservationalTimePeriod",e.STRING="String",e.TIME="Time",e.TIME_RANGE="TimeRange",e.URI="URI",e))(Ge||{});function nn(e){var t,n;return(n=(t=e==null?void 0:e.annotations)==null?void 0:t.find(r=>{if(r.id===M.LAST_UPDATE_AT)return r}))==null?void 0:n.value}const q=(e,t)=>(e==null?void 0:e.names)&&(e==null?void 0:e.names[t])||(e==null?void 0:e.name),Ke=(e,t,n)=>{if(!(!e||t!=null&&t.has(e==null?void 0:e.id))&&(t==null||t.set(e==null?void 0:e.id,e),e!=null&&e.parent)){const r=n==null?void 0:n.get(e==null?void 0:e.parent);Ke(r,t,n)}},je=(e,t)=>{const n=new Map,r=new Map(e==null?void 0:e.map(s=>[s.id,s]));return t==null||t.forEach(s=>{Ke(s,n,r)}),Array.from(n==null?void 0:n.values())},ze="time_period_end",He="time_period_start",rn="TIME_PERIOD",sn=e=>{const t=e==null?void 0:e.find(o=>o.id===He),n=e==null?void 0:e.find(o=>o.id===ze),r=n!=null&&n.title?new Date(n==null?void 0:n.title):null;return{startPeriod:t!=null&&t.title?new Date(t==null?void 0:t.title):null,endPeriod:r}},on=(e,t)=>e.id.localeCompare(t.id),cn=(e,t)=>e.memberValue.localeCompare(t.memberValue),an=(e,t)=>{const n=new Array(e.length),r=e.map((i,c)=>[i,c]);r.sort((i,c)=>on(i[0],c[0]));const s=[...t];s.sort(cn);let o=0;for(const i of r){const c=i[0];for(;o<s.length&&s[o].memberValue.localeCompare(c.id)<0;)o+=1;o<s.length&&s[o].memberValue===c.id&&(n[i[1]]=i[0])}return n.filter(i=>i!=null)},un=e=>!!(e!=null&&e.some(t=>t.parent)),ln=(e,t,n,r,s=[])=>{var i,c;let o=e||[];if(dn(n||[],t||"")){const a=(i=(n||[])[0].cubeRegions)==null?void 0:i.find(({isIncluded:u})=>u);if(a){const u=(c=a.memberSelection)==null?void 0:c.find(({componentId:l})=>l===t);u?o=o.length===0?(u.selectionValues||[]).map(({memberValue:l})=>({id:l,name:l})):an(o,u.selectionValues):o=[]}}else s.length!==0&&(o=o.filter(({id:a})=>s.includes(a)));return un(e)&&(o=je(e,o)),o==null?void 0:o.map(a=>({...a,name:r?q(a,r):a==null?void 0:a.name}))},dn=(e,t)=>e!=null&&e.length>0&&t!=null,gn=/^[v^~<>=]*?(\d+)(?:\.([x*]|\d+)(?:\.([x*]|\d+)(?:\.([x*]|\d+))?(?:-([\da-z\-]+(?:\.[\da-z\-]+)*))?(?:\+[\da-z\-]+(?:\.[\da-z\-]+)*)?)?)?$/i,le=e=>{if(typeof e!="string")throw new TypeError("Invalid argument expected string");const t=e.match(gn);if(!t)throw new Error(`Invalid argument not valid semver ('${e}' received)`);return t.shift(),t},de=e=>e==="*"||e==="x"||e==="X",ge=e=>{const t=parseInt(e,10);return isNaN(t)?e:t},fn=(e,t)=>typeof e!=typeof t?[String(e),String(t)]:[e,t],En=(e,t)=>{if(de(e)||de(t))return 0;const[n,r]=fn(ge(e),ge(t));return n>r?1:n<r?-1:0},fe=(e,t)=>{for(let n=0;n<Math.max(e.length,t.length);n++){const r=En(e[n]||"0",t[n]||"0");if(r!==0)return r}return 0},An=(e,t)=>{const n=le(e),r=le(t),s=n.pop(),o=r.pop(),i=fe(n,r);return i!==0?i:s&&o?fe(s.split("."),o.split(".")):s||o?s?-1:1:0},yn=(e,t,n)=>{hn(n);const r=An(e,t);return Je[n].includes(r)},Je={">":[1],">=":[0,1],"=":[0],"<=":[-1,0],"<":[-1],"!=":[-1,1]},Ee=Object.keys(Je),hn=e=>{if(Ee.indexOf(e)===-1)throw new Error(`Invalid operator, expected one of ${Ee.join("|")}`)},$="+",Y=(e,t)=>{const{agency:n,id:r,version:s}=R(e),o=t.filter(a=>{var u;return a.agencyID===n&&a.id===r&&!((u=a==null?void 0:a.version)!=null&&u.includes($))});if(o.length===1)return o[0];if(!(s!=null&&s.includes($)))return o.find(a=>a.version===s);const i=o.map(a=>a.version),c=Xe(s,i);return o.find(a=>a.version===c[0])},Xe=(e,t)=>{const n=Dn(e,t);return n.length>0?[n[0]]:[]},Dn=(e,t)=>{const n=[];return t.forEach(r=>{et(e,r)&&n.push(r)}),n},Ze=e=>{const t=e.trim().replace(/\d+\+/,"*"),[n]=t.split("*");return new RegExp(`^${n}`)},et=(e,t)=>{const n=e.trim().replace(/\+/,"");return Ze(e).test(t)&&yn(t,n,">=")},Q=(e,t)=>{const{concept:n}=tt(e,t);return n},tt=(e,t)=>{if(e==null)return{concept:void 0,scheme:void 0};const{childId:n,agency:r,id:s,version:o}=Ae(e);if(o!=null&&o.includes($)){const i=Y(e,t);return{concept:K((i==null?void 0:i.concepts)||[],n),scheme:i}}for(const i of t)if(Tn(i,s,r,o))return{concept:K((i==null?void 0:i.concepts)||[],n),scheme:i};return{concept:void 0,scheme:void 0}},K=(e,t)=>e==null?void 0:e.find(n=>n.id===t),Tn=(e,t,n,r)=>e.id===t&&e.agencyID===n&&e.version===r,Sn=(e=[],t=[],n)=>{var a,u;const r=(n==null?void 0:n.conceptIdentity)||"",s=Q(r,t),o=v((a=n==null?void 0:n.localRepresentation)==null?void 0:a.enumeration),i=v((u=s==null?void 0:s.coreRepresentation)==null?void 0:u.enumeration),c=o||i;if(c!=null)return Y(c,e)},Rn=(e,t,n,r)=>{var o,i;const s=(o=t==null?void 0:t.find(c=>(c==null?void 0:c.id)===(e==null?void 0:e.id)))==null?void 0:o.values;return((i=n==null?void 0:n.filter(c=>s==null?void 0:s.some(a=>a.id===c.id)))==null?void 0:i.map(c=>({...c,name:r?q(c,r):c==null?void 0:c.name})))||[]},nt=(e,t)=>{var s,o,i;const n=(s=t==null?void 0:t.dataStructureComponents)==null?void 0:s.attributeList,r=(o=e==null?void 0:e.metadataStructureComponents)==null?void 0:o.metadataAttributeList;return(i=n==null?void 0:n.metadataAttributeUsages)==null?void 0:i.map(c=>{var u;const a=(u=r==null?void 0:r.metadataAttributes)==null?void 0:u.find(l=>(l==null?void 0:l.id)===(c==null?void 0:c.metadataAttributeReference));return{...a,attributeRelationship:c.attributeRelationship,isMandatory:Number(a==null?void 0:a.minOccurs)>0}})},pn=(e=[],t,n)=>{const r=v(t==null?void 0:t.conceptIdentity)||"",s=Q(r,e);return n?q(s,n):(s==null?void 0:s.name)??(s==null?void 0:s.id)??(t==null?void 0:t.id)};function j(e){var t,n,r;return(r=(n=(t=e==null?void 0:e.dataStructures)==null?void 0:t[0])==null?void 0:n.dataStructureComponents)==null?void 0:r.dimensionList}function mn(e){var t,n,r,s;return((s=(r=(n=(t=e==null?void 0:e.data)==null?void 0:t.structures)==null?void 0:n[0])==null?void 0:r.dimensions)==null?void 0:s.series)||[]}function vn(e){var t,n,r,s,o;return((o=(s=(r=(n=(t=e==null?void 0:e.data)==null?void 0:t.structures)==null?void 0:n[0])==null?void 0:r.dimensions)==null?void 0:s.observation)==null?void 0:o[0].values.map(i=>i.value).filter(i=>i!=null))||[]}function Pn(e){return e.find(t=>t.type===N.TIME_DIMENSION)}const wn=e=>{var i,c,a,u,l,f;const t=new Map,n=(i=e==null?void 0:e.dataStructures)==null?void 0:i[0],r=(c=e==null?void 0:e.metadataStructures)==null?void 0:c[0],s=(e==null?void 0:e.conceptSchemes)||[],o=(e==null?void 0:e.codelists)||[];return e&&[...((a=j(e))==null?void 0:a.dimensions)||[],...((u=j(e))==null?void 0:u.timeDimensions)||[],...nt(r,n),...((f=(l=n==null?void 0:n.dataStructureComponents)==null?void 0:l.attributeList)==null?void 0:f.attributes)||[]].forEach(d=>{var h,D;const g=Q(d==null?void 0:d.conceptIdentity,s),y=((h=d==null?void 0:d.localRepresentation)==null?void 0:h.enumeration)||((D=g==null?void 0:g.coreRepresentation)==null?void 0:D.enumeration),A=Y(y,o);d!=null&&d.id&&(y?t.set(d==null?void 0:d.id,{...A,name:g==null?void 0:g.name,names:g==null?void 0:g.names}):t.set(d==null?void 0:d.id,{id:d==null?void 0:d.id,name:g==null?void 0:g.name,names:g==null?void 0:g.names}))}),t},_n=e=>{var t;return((t=e==null?void 0:e.find(n=>n.id===M.SERIES_COUNT))==null?void 0:t.title)||""},$n="/api/download",In=(e,t,n,r,s,o,i)=>{const c=new URLSearchParams({urn:e,format:t,compress:"false",filename:o,filters:JSON.stringify(s),attribute:r,language:n,isMetadata:i?"true":"none"}).toString(),a=`${$n}?${c}`;window.open(a,"_blank")},w=e=>isNaN(Date.parse(e))?null:new Date(e),Nn=(e,t)=>{var r,s;const n=[];for(const o of e){if(o.type!==N.DIMENSION)continue;const i=t.find(c=>c.componentCode===o.id);i!=null&&((r=i.values)==null?void 0:r.length)>0?n.push((s=i.values)==null?void 0:s.join(Re)):n.push("*")}return n.join(".")},rt=(e,t)=>{if(!e||!e.startPeriod&&!e.endPeriod)return null;const n=[],{startPeriod:r,endPeriod:s}=e;if(r&&n.push(`${T.GREATER_OR_EQUAL}${se}${r.toISOString().split("T")[0]}`),s&&n.push(`${T.LESS_OR_EQUAL}${se}${s.toISOString().split("T")[0]}`),n.length===0)return null;const o=t;return n.map(i=>`${encodeURIComponent(`c[${o}]`)}${yt}${encodeURIComponent(i)}`).join(Se)},On=(e,t)=>{const n=st(e,t)||null;return n?rt(n,t==null?void 0:t.id):null},st=(e,t)=>{var a,u;const n=t.id,r=(a=e==null?void 0:e.filters)==null?void 0:a.find(l=>l.componentCode===n);if(!r||!r.values)return null;const s=(u=r.values)==null?void 0:u.filter(l=>!!l);if(!s.length)return null;const o=r.operator;if(o===T.LESS_OR_EQUAL||o===T.LESS)return{startPeriod:null,endPeriod:w(s[0])};if(o===T.GREATER_OR_EQUAL||o===T.GREATER)return{startPeriod:w(s[0]),endPeriod:null};const i=w(s[0]),c=w(s[1]);return{startPeriod:i,endPeriod:c}};exports.Annotations=M;exports.AssignmentStatus=me;exports.AvailabilityApi=Et;exports.DATASET_DATA_URL=Te;exports.DatasetApi=Tt;exports.DimensionType=N;exports.DownloadType=he;exports.FileColumnsAttribute=ye;exports.GET_v3_FILTER_ALL=pe;exports.GET_v3_FILTER_AND=ht;exports.GET_v3_FILTER_OR=Re;exports.OBSERVATION_KEY=_e;exports.OccurrenceType=ve;exports.RepresentationTextType=Ge;exports.SDMX_DATA_QUERY_PARAMS=Fe;exports.SINGLE_WILDCARD_SYMBOL=$;exports.SdmxApiClient=Pt;exports.SdmxAvailabilityMode=z;exports.SdmxDataFormat=m;exports.SdmxDetails=H;exports.SdmxReferences=I;exports.SeriesFilterOperator=T;exports.TIME_PERIOD=rn;exports.TIME_PERIOD_END=ze;exports.TIME_PERIOD_START=He;exports.dailyPattern=We;exports.decodeDimensionId=Ne;exports.findCodelistByDimension=Sn;exports.generateDatasetDataRequest=V;exports.generateShortUrn=gt;exports.getAnnotationPeriod=sn;exports.getArtifactByUrnWithWildCard=Y;exports.getAttachedDimensionsSeriesByDimension=wt;exports.getAttachedDimensionsSeriesByTsId=Pe;exports.getAttachedDimensionsSeriesKey=J;exports.getAttributeValueFromDataQueryResponse=we;exports.getAvailableCodes=Rn;exports.getAvailableCodesFromConstrains=ln;exports.getChildParsedUrn=Ae;exports.getConcept=Q;exports.getConceptByUrn=K;exports.getConceptWithScheme=tt;exports.getConvertedMetaAttributes=nt;exports.getDailyRegExp=Be;exports.getDimensionTitle=pn;exports.getDimensions=j;exports.getFilteredItemsWithParents=je;exports.getISOWeek=F;exports.getKeyFromUrn=v;exports.getLastUpdatedTime=nn;exports.getLastWeekNumberOfYear=bt;exports.getLocalizedName=q;exports.getMonthlyData=Ht;exports.getMonthlyDataByQuarter=Jt;exports.getMonthlyRegExp=U;exports.getParsedEndPeriodDate=ne;exports.getParsedResponse=_t;exports.getParsedStartPeriodDate=te;exports.getPeriodDate=G;exports.getQuarterByMonth=Kt;exports.getQuarterlyRegExp=C;exports.getQuartersData=Ft;exports.getQueryTimePeriodFilters=rt;exports.getRequestAcceptHeader=De;exports.getResolvedVersionBySingleWildcard=Xe;exports.getSemiAnnualData=Gt;exports.getSemiAnnuallyRegExp=xe;exports.getSeriesAttributes=_;exports.getSeriesName=$e;exports.getStructureComponentsMap=wn;exports.getStructureDimensions=mn;exports.getTimeDimension=Pn;exports.getTimePeriods=vn;exports.getTimeQueryFilter=On;exports.getTimeRangeFromAttachment=st;exports.getTimeSeriesCount=_n;exports.getTimeSeriesFilterKey=Nn;exports.getTimeSeriesId=Ie;exports.getWeekCode=Ye;exports.getWeeklyPeriodEndDate=ke;exports.getWeeklyPeriodStartDate=Qe;exports.getWeeklyRegExp=qe;exports.getWildCardRegexp=Ze;exports.getYearlyRegExp=O;exports.getYears=Xt;exports.isDaily=Me;exports.isMonthly=W;exports.isQuarterly=x;exports.isSemiAnnually=b;exports.isWeekly=B;exports.isWildCardVersionCorrect=et;exports.isYearly=L;exports.monthlyPattern=Ce;exports.openDownloadWindow=In;exports.quarterPattern=Oe;exports.semiAnnuallyPattern=be;exports.sortPeriods=tn;exports.splitUrn=R;exports.weeklyPattern=Le;exports.yearlyPattern=Ue;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const v=e=>{if(e!=null){const t=e.split("=");return t.length===1?e:t[1]}},p=e=>{var r;if(e==null)return{};const t=v(e),n={agency:"",id:"",version:""};return t&&(t.includes(":")&&(n.agency=t.split(":")[0],n.id=t.split(":")[1].split("(")[0]),t.includes("(")&&t.includes(")")&&(n.version=(r=t.split("(")[1])==null?void 0:r.split(")")[0])),n},pe=e=>{const[t,n]=e.split(")."),{agency:r,id:s,version:o}=p(t+")");return{childId:n,agency:r,id:s,version:o}},pt=(e,t,n)=>{const r=t===""?"":`(${t})`;return`${n}:${e}${r}`};var O=(e=>(e.DESCENDANTS="descendants",e.NONE="none",e.ALL="all",e))(O||{}),ne=(e=>(e.EXACT="exact",e.AVAILABLE="available",e))(ne||{});const wt=(e="",t="",n="")=>`sdmx/3.0/availability/dataflow/${e}/${t}/${n}`;class vt{constructor(t){this.client=t}async getConstraints(t,n){const{agency:r,id:s,version:o}=p(t),i={filters:n||[],mode:ne.AVAILABLE,references:O.NONE},a=wt(r,s,o);return await this.client.postRequest(a,{body:i})}}var w=(e=>(e.CSV="csv",e.JSON="json",e.XML="xml",e))(w||{}),we=(e=>(e.ID="id",e.NAME="name",e.ID_NAME="both",e))(we||{}),ve=(e=>(e.FULL_DATASET="full",e.DATA_IN_TABLE="query",e))(ve||{});const Pe=(e,t)=>{switch(e){case w.CSV:return N("application/vnd.sdmx.data+csv;version=2.0.0",t);case w.XML:return N("application/vnd.sdmx.data+xml;version=3.0.0",t);case w.JSON:return N(`application/${e}`,t);default:return N("application/vnd.sdmx.data+csv;version=2.0.0",t)}},N=(e,t)=>`${e}; labels=${t}`;var re=(e=>(e.REFERENCE_PARTIAL="referencepartial",e.FULL="full",e))(re||{});const Pt="all",Ne="sdmx/3.0/data/dataflow",Ie="&",fe=":",Nt="=",_e="+",It=",",$e="*",J=(e,t,n)=>{const{filterKey:r,timeFilter:s}=n,{agency:o,id:i,version:a}=p(e),c=[s||"",t].filter(l=>!!l).join(Ie);return`${`${Ne}/${o}/${i}/${a}`}/${r||$e}?${c}`},_t=(e="",t="",n="",r=O.DESCENDANTS)=>`sdmx/3.0/structure/dataflow/${e}/${t}/${n}?references=${r}&detail=${re.REFERENCE_PARTIAL}`;class $t{constructor(t){this.client=t}async getDataSet(t,n){const{agency:r,id:s,version:o}=p(t);return await this.client.getRequest(_t(r,s,o,n))}async getDatasetData(t,n){const r=new URLSearchParams({includeHistory:"false",limit:"10000",attributes:Pt,dimensionAtObservation:"TIME_PERIOD"}).toString(),s=J(t,r,n);return await this.client.getRequest(s)}async downloadDataSet(t,n,r,s,o,i,a=!1){const c=new URLSearchParams({format:n,compress:"false",attributes:a?"all":"none"}).toString(),u=J(t,c,o);return this.client.streamRequest(u,{method:"GET",headers:{Accept:Pe(n,s),"Accept-language":r}},i)}}const Ot=(e,t)=>e.error||e.message||`${t.status} ${t.statusText}`,Lt="application/json",bt="Content-Type",H="Api-Key",Ut="X-CONVERSATION-ID",I=e=>isNaN(Date.parse(e))?null:new Date(e),X=(e,t,n)=>{const r={[bt]:(t==null?void 0:t.contentType)||Lt};return t!=null&&t.jwt&&(r.Authorization=`Bearer ${t.jwt}`),t!=null&&t.chatReference&&(r[Ut]=t.chatReference),{...r,...n}},Ct=e=>{const t={...e};return t[H]&&(t[H]=t[H].substring(0,8)+"...[REDACTED]"),t.Authorization&&(t.Authorization="Bearer [REDACTED]"),t},Ee=async(e,t,n)=>await fetch(e,{method:n.method||"GET",headers:t,body:n.body?JSON.stringify(n.body):void 0}),Wt=async(e,t,n)=>await fetch(e,{method:n.method,headers:t,body:n!=null&&n.isFormData&&typeof(n==null?void 0:n.body)=="string"?n.body:JSON.stringify(n.body),signal:n==null?void 0:n.signal});class xt{constructor(){this.decoder=new TextDecoder}async streamChat(t,n,r={},s){const{onMessage:o,onError:i,onComplete:a,signal:c}=r;try{const u=await this.initializeStreamRequest(t,n,c,s);await this.processStreamData(u,o),a==null||a()}catch(u){this.handleStreamError(u,i)}}async initializeStreamRequest(t,n,r,s){const o=X(void 0,{jwt:s}),i=await Wt(t,{Accept:"text/event-stream",...o},{method:"POST",body:n,signal:r});if(!i.ok){const a=await i.text();throw new Error(`HTTP ${i.status}: ${a}`)}if(!i.body)throw new Error("No response body");return i.body.getReader()}async processStreamData(t,n){let r="";try{for(;;){const{done:s,value:o}=await t.read();if(s){r.trim()&&this.parseSSEDataLine(r,n);break}const i=this.decoder.decode(o,{stream:!0});r+=i;const a=r.split(`
2
+ `);r=a.pop()||"";for(const c of a)this.parseSSEDataLine(c,n)}}finally{t.releaseLock()}}handleStreamError(t,n){const r=t instanceof Error?t:new Error(String(t));throw n==null||n(r),r}parseSSEDataLine(t,n){const r=t.trim();if(!(!r||r.startsWith(":"))&&r.startsWith("data: ")){const s=r.slice(6);if(s==="[DONE]"){console.info("SSE: Stream completed");return}try{const o=JSON.parse(s);console.info(`SSE: Parsed data: ${o}`),n==null||n(o)}catch(o){console.error(`Failed to parse SSE data: ${s} ${o}`)}}}}new xt;class Yt{constructor(t){this.config=t,console.info("SdmxApiClient initialized",{apiUrl:t.apiUrl||"NOT SET"})}async getRequest(t,n){return this.request(t,{...n,method:"GET"})}async postRequest(t,n){return this.request(t,{...n,method:"POST"})}async streamRequest(t,n,r){const s=`${this.config.apiUrl}/${t}`,o={...X(void 0,{jwt:this.config.jwt}),...n.headers};this.config.apiKey!=null&&(o["Ocp-Apim-Subscription-Key"]=this.config.apiKey);const i=new ReadableStream({async start(c){var u;try{const l=await Ee(s,o,n);if(!l.ok){const f=await l.text();throw console.error(`Fetch failed! Status: ${l.status}, Body: ${f}`),new Error(`Fetch failed with status ${l.status}`)}const g=(u=l.body)==null?void 0:u.getReader();if(!g)throw new Error("Failed to create stream reader");const E=new Uint8Array([239,187,191]);c.enqueue(E);const d=async()=>{const{done:f,value:h}=await g.read();f?c.close():(c.enqueue(h),await d())};d()}catch(l){c.error(l)}}}),a=new Headers({"Content-Disposition":`attachment; filename=${encodeURIComponent(r)}`});return new Response(i,{headers:a})}async request(t,n){const r=Date.now(),s=t.includes("availability")&&this.config.constrainsApiUrl?`${this.config.constrainsApiUrl}/${t}`:`${this.config.apiUrl}/${t}`,o={...X(void 0,{jwt:this.config.jwt}),...n.headers};this.config.apiKey!=null&&(o["Ocp-Apim-Subscription-Key"]=this.config.apiKey),this.addInfoRequestLog("API Request",s,n,o);try{const i=await Ee(s,o,n),a=Date.now()-r;let c;const u=await i.text();try{c=u?JSON.parse(u):{}}catch{if(this.addErrorRequestParsing(s,n,i,a,u),!i.ok)throw new Error(`API request failed: ${i.status} ${i.statusText} - ${u.substring(0,100)}`);c={data:u}}if(!i.ok){this.addErrorRequestLog(s,n,i,a,c);const l=Ot(c,i);throw new Error(`API request failed: ${l}`)}return c}catch(i){const a=Date.now()-r;throw console.error("API Request Exception",{method:n.method,url:s,duration:`${a}ms`,error:i instanceof Error?i.message:String(i)}),i}}addInfoRequestLog(t,n,r,s){const o={method:r.method||"GET",url:n,headers:Ct(s)};r.body&&(o.body=r.body),console.info(t,o)}addErrorRequestLog(t,n,r,s,o){console.error("API Request Failed",{method:n.method,url:t,status:r.status,statusText:r.statusText,duration:`${s}ms`,response:o})}addErrorRequestParsing(t,n,r,s,o){console.error("API Response Parse Error",{method:n.method,url:t,status:r.status,statusText:r.statusText,duration:`${s}ms`,responseText:o.substring(0,200),error:"Response is not valid JSON"})}}const Mt=["FREQ","FREQUENCY"];var Oe=(e=>(e.CONDITIONAL="Conditional",e.MANDATORY="Mandatory",e))(Oe||{}),L=(e=>(e.DIMENSION="Dimension",e.MEASURE_DIMENSION="MeasureDimension",e.TIME_DIMENSION="TimeDimension",e))(L||{}),Le=(e=>(e.UNBOUNDED="unbounded",e))(Le||{});const be=(e,t)=>{var a,c,u,l,g;const n=(c=(a=e==null?void 0:e.data)==null?void 0:a.dataSets)==null?void 0:c[0],r=(l=(u=e==null?void 0:e.data)==null?void 0:u.structures)==null?void 0:l[0],s=((g=r==null?void 0:r.attributes)==null?void 0:g.dimensionGroup)||[],o=n==null?void 0:n.dimensionGroupAttributes,i={};for(const E of s){const d=E.relationship.dimensions,{codedSeriesKey:f,decodedSeriesKey:h}=se(e,t,d);i[E.id]={values:(o==null?void 0:o[f])||[],decodedSeriesKey:h,codedSeriesKey:f}}return i},se=(e,t,n)=>{var a,c;const r=(c=(a=e==null?void 0:e.data)==null?void 0:a.structures)==null?void 0:c[0],s=[...(r==null?void 0:r.dimensions.series)||[],...(r==null?void 0:r.dimensions.observation)||[]],o=new Array(s==null?void 0:s.length),i=new Array(s==null?void 0:s.length);return n==null||n.forEach(u=>{const l=(s==null?void 0:s.findIndex(d=>d.id===u))||0,g=t[l],E=s[l].values.findIndex(d=>d.id===g||d.value===g)||0;o[l]=E>=0?E:g,i[l]=g}),{codedSeriesKey:o.join(":"),decodedSeriesKey:i.join(":")}},kt=(e,t,n)=>{var g,E,d,f,h;const r=(E=(g=e==null?void 0:e.data)==null?void 0:g.dataSets)==null?void 0:E[0],s=(f=(d=e==null?void 0:e.data)==null?void 0:d.structures)==null?void 0:f[0],o=(((h=s==null?void 0:s.attributes)==null?void 0:h.dimensionGroup)||[]).filter(y=>{var D;return((D=y.relationship.dimensions)==null?void 0:D.length)===1&&y.relationship.dimensions.includes(t||"")}),i=r==null?void 0:r.dimensionGroupAttributes,a=[...(s==null?void 0:s.dimensions.series)||[],...(s==null?void 0:s.dimensions.observation)||[]],c=a==null?void 0:a.findIndex(y=>y.id===t),u=new Array(a==null?void 0:a.length);u[c]=n||"";const l={};for(const y of o){const D=y.relationship.dimensions,{codedSeriesKey:A,decodedSeriesKey:S}=se(e,u,D);l[y.id]={values:(i==null?void 0:i[A])||[],decodedSeriesKey:S,codedSeriesKey:A}}return l},Ue=(e,t)=>{var r;if(t==null)return;const n=(r=e.values)==null?void 0:r[t];return n??(t instanceof Array?{values:t}:{value:t.toString()})},Ce="Observation",Qt=e=>{var u,l,g,E,d,f;const t=(u=e==null?void 0:e.data)==null?void 0:u.dataSets,n=(g=(l=e==null?void 0:e.data)==null?void 0:l.structures)==null?void 0:g[0];if(!t||!n)return[];const r=n.attributes,s=n.dimensions,o=(r==null?void 0:r.dimensionGroup)||[],i=t[0].series||t[0].observations,a=(E=s.series)!=null&&E.length?s.series:s.observation,c=[];for(const h in i){const y=[],{name:D,parsedTimeSeriesValue:A}=We(h,a),S=i[h],V=S.attributes||[];if(Object.keys(S).length===0){c.push({name:D,parsedTimeSeriesValue:A,values:y,attributes:[],dataSetAttrs:[]});continue}y.push(...Bt(S,n));const G=_((r==null?void 0:r.series)||[],T=>V[T]),K=Ft(((d=n.attributes)==null?void 0:d.dataSet)||[],((f=t[0].attributes)==null?void 0:f.filter(T=>T!=null))||[]),j=be(e,A),z=o.map((T,mt)=>{const ge=j[T.id],Rt=Ue(T,ge.values[mt]);return{attribute:T,dimensionGroupValue:Rt,dimensionGroupData:ge}});c.push({name:D,parsedTimeSeriesValue:A,values:y,attributes:G,dataSetAttrs:K,dimensionGroupAttributes:z})}return c},We=(e,t)=>{const n=e.split(new RegExp("(?<!\\|):(?!\\||$)")),r=[];for(let s=0;s<n.length;s++){const o=t==null?void 0:t[s],i=Number(n[s]);if(i<0||o==null)continue;const a=o.values[i];if(a==null){r.push(n[s].replace("|:",":"));continue}r.push((a==null?void 0:a.id)||(a==null?void 0:a.value)||"")}return{name:xe(r),parsedTimeSeriesValue:r}},_=(e,t)=>{const n=[];for(let r=0;r<e.length;r++){const s=e[r],o=t(r),i=o!=null&&s.values!=null?qt(o,s):void 0;n.push({name:s.id,value:i})}return n},qt=(e,t)=>{const n=t.values[e];return n==null?typeof e=="object"?e:e.toString():(n==null?void 0:n.id)||(n==null?void 0:n.value)||(n==null?void 0:n.ids)||(n==null?void 0:n.values)},xe=e=>e.map(t=>t?Ye(t):"").join("."),Ye=e=>e.replace(/\./g,"|.").replace(/:/g,"|:"),Bt=(e,t)=>{var i,a,c,u,l;const n=(a=(i=t.measures)==null?void 0:i.observation)==null?void 0:a.length;if(e.observations==null)return[{values:he(e,t.measures),obsAttributes:_(((c=t.attributes)==null?void 0:c.observation)||[],g=>e[g+n]),dimensionAtObservation:Ce}];const r=e.observations,s=(u=t.dimensions.observation)==null?void 0:u[0],o=[];for(const g in r){const E=s==null?void 0:s.values[g];o.push({dimensionAtObservation:(E==null?void 0:E.value)||(E==null?void 0:E.id),values:he(r[g],t.measures),obsAttributes:_(((l=t.attributes)==null?void 0:l.observation)||[],d=>r[g][d+n])})}return o},he=(e,t)=>{var n;return((n=t==null?void 0:t.observation)==null?void 0:n.map((r,s)=>({name:r.id,value:e[s]})))||[]},Ft=(e,t)=>e.reduce((n,r,s)=>{const o=t[s];return Vt(n,r,o,""),n},[]),Vt=(e,t,n,r)=>{var o,i,a;const s=n!=null?((o=t==null?void 0:t.values)==null?void 0:o.length)>0?((i=t.values[n])==null?void 0:i.id)||((a=t.values[n])==null?void 0:a.value):String(n):r;e.push({name:t.id,value:s||""})},Me=/^[0-9][0-9][0-9][0-9]-Q[1-4]$/,ke=/^[0-9][0-9][0-9][0-9]-W[0-9][0-9]?$/,Qe=/^[0-9][0-9][0-9][0-9]-S[1-2]$/,qe=/^[0-9][0-9][0-9][0-9]$/,Be=/^[0-9][0-9][0-9][0-9]-(0[1-9]|1[0-2])-[0-9][0-9]$/,Fe=/^[0-9][0-9][0-9][0-9]-M(0[1-9]|(1[0-2]))$/,b=e=>qe.exec(e),U=e=>!!b(e),Ve=e=>Qe.exec(e),C=e=>!!Ve(e),W=e=>Fe.exec(e),x=e=>!!W(e),Y=e=>Me.exec(e),M=e=>!!Y(e),Ge=e=>Be.exec(e),Ke=e=>!!Ge(e),je=e=>ke.exec(e),k=e=>!!je(e),oe=1440*60*1e3,ie=7*oe;function ae(e){const t=`${e}-01-01`,n=new Date(t);if(n.getDay()!==4){const s=1+(4-n.getDay()+7)%7;n.setMonth(0,s)}return n}function Gt(e){const t=new Date(e),r=-((t.getDay()+6)%7)+3;return t.setDate(t.getDate()+r),new Date(t.valueOf())}function Z(e,t="W"){const n=`${e}-12-31`,r=P(new Date(n),t);if(r.weekYear===e)return r.weekNumber;const s=`${e}-12-24`;return P(new Date(s),t).weekNumber}function ce(e,t,n="W"){return`${e}-${n}${t<10?"0"+t:t}`}function P(e,t="W"){const n=Gt(e),r=n.getFullYear(),s=ae(r),o=1+Math.ceil((n.getTime()-s.getTime())/ie);return{code:ce(r,o,t),weekNumber:o,weekYear:r}}function ze(e){const[t,n]=e.split("-W"),s=ae(+t).getTime()+(+n-1)*ie-3*oe;return new Date(s)}function He(e){const[t,n]=e.split("-W"),s=ae(+t).getTime()+(+n-1)*ie+3*oe;return new Date(s)}function ue(e){return U(e)?Kt(e):C(e)?zt(e):M(e)?Jt(e):x(e)?Zt(e):k(e)?ze(e):tn(e)}function le(e){return U(e)?jt(e):C(e)?Ht(e):M(e)?Xt(e):x(e)?en(e):k(e)?He(e):nn(e)}function Kt(e){const t=b(e);if(t)return new Date(Number(t[0]),0,1)}function jt(e){const t=b(e);if(t)return new Date(Number(t[0])+1,0,1)}function zt(e){const[t,n]=e.split("-S");switch(+n){case 1:return new Date(+t,0,1);case 2:return new Date(+t,6,1)}}function Ht(e){const[t,n]=e.split("-S");switch(+n){case 1:return new Date(+t,6,1);case 2:return new Date(+t+1,0,1)}}function Jt(e){const t=Y(e);if(!t)return;const[n,r]=t[0].split("-Q");switch(+r){case 1:return new Date(+n,0,1);case 2:return new Date(+n,3,1);case 3:return new Date(+n,6,1);case 4:return new Date(+n,9,1)}}function Xt(e){const t=Y(e);if(!t)return;const[n,r]=t[0].split("-Q");switch(+r){case 1:return new Date(+n,3,1);case 2:return new Date(+n,6,1);case 3:return new Date(+n,9,1);case 4:return new Date(+n+1,0,1)}}function Zt(e){const t=W(e);if(!t)return;const[n,r]=t[0].split("-M");return new Date(+n,+r-1,1)}function en(e){const t=W(e);if(!t)return;const[n,r]=t[0].split("-M");return new Date(+n,+r,1)}const tn=e=>new Date(`${e}T00:00:00`),nn=e=>{const t=new Date(`${e}T23:59:00`);return t.setMinutes(t.getMinutes()+1),t},rn=1,Je=(e,t,n,r=!0,s="Q")=>{const o=[],i=t&&t>3?ln(t,r):1,a=n?Math.floor((n-1)/3):4;for(let c=i;c<=a;c++)o.push(`${e}-${s}${c}`);return o},Xe=(e,t,n,r="S")=>{const s=[];return(t||1)<7&&(n||12)>6&&s.push(`${e}-${r}1`),n==null&&s.push(`${e}-${r}2`),s},sn=e=>Math.ceil(e/3),Ze=(e,t,n="M")=>`${e}-${n}${t.toString().padStart(2,"0")}`,on=(e,t,n="M")=>{const r=[];for(let s=t;s<=12;s++)r.push(Ze(e,s,n));return r},an=(e,t,n,r="M")=>{const s=[];for(let o=t;o<n;o++)s.push(Ze(e,o,r));return s},et=(e,t,n,r="M")=>{const s=t||1,o=n==null,i=n||12;return o?on(e,s,r):an(e,s,i,r)},cn=(e,t,n="M")=>{switch(t){case 0:return[`${e}-${n}01`,`${e}-${n}02`,`${e}-${n}03`];case 1:return[`${e}-${n}04`,`${e}-${n}05`,`${e}-${n}06`];case 2:return[`${e}-${n}07`,`${e}-${n}08`,`${e}-${n}09`];case 3:return[`${e}-${n}10`,`${e}-${n}11`,`${e}-${n}12`];default:return[]}},tt=(e,t)=>{const n=m(t,!0),r=m(e),s=n.getFullYear(),o=r.getFullYear(),i=n.getTime()<=r.getTime()?o+rn-s:0;return Array.from({length:i},(c,u)=>s+u)},m=(e,t=!1)=>{const n=un(e,t);return n?(n.getTimezoneOffset()>0&&n.setMinutes(n.getMinutes()+n.getTimezoneOffset()),n):new Date},un=(e,t=!1)=>{const n=Number(e);return e.toString().length!==13?t?ue(e):le(e):isNaN(n)?new Date(`${e}T00:00:00.000Z`):new Date(n)},ln=(e,t)=>t?Math.floor((e+1)/3):Math.ceil((e+1)/3),dn=(e,t)=>{const n=ye(e)-ye(t);if(n===0&&e!==t){const r=De(e),s=De(t);return r-s}return n},De=e=>U(e)?6:C(e)?5:M(e)?4:x(e)?3:k(e)?2:Ke(e)?1:0,ye=(e,t=!1)=>{const n=t?ue(e):le(e);return(n==null?void 0:n.getTime())||0};var Q=(e=>(e.LAST_UPDATE_AT="lastUpdatedAt",e.SERIES_COUNT="series_count",e))(Q||{}),nt=(e=>(e.C="c",e))(nt||{}),R=(e=>(e.EQUALS="eq",e.NOT_EQUALS="ne",e.LESS="lt",e.LESS_OR_EQUAL="le",e.GREATER="gt",e.GREATER_OR_EQUAL="ge",e.CONTAINS="co",e.NOT_CONTAINS="nc",e.STARTS="sw",e.ENDS="ew",e))(R||{}),rt=(e=>(e.BOOLEAN="Boolean",e.DATE_TIME="DateTime",e.DECIMAL="Decimal",e.INTEGER="Integer",e.OBSERVATION_TIME_PERIOD="ObservationalTimePeriod",e.STRING="String",e.TIME="Time",e.TIME_RANGE="TimeRange",e.URI="URI",e))(rt||{}),st=(e=>(e.ANNUAL="A",e.QUARTERLY="Q",e.MONTHLY="M",e))(st||{});function gn(e){var t,n;return(n=(t=e==null?void 0:e.annotations)==null?void 0:t.find(r=>{if(r.id===Q.LAST_UPDATE_AT)return r}))==null?void 0:n.value}const q=(e,t)=>(e==null?void 0:e.names)&&(e==null?void 0:e.names[t])||(e==null?void 0:e.name),ot=(e,t,n)=>{if(!(!e||t!=null&&t.has(e==null?void 0:e.id))&&(t==null||t.set(e==null?void 0:e.id,e),e!=null&&e.parent)){const r=n==null?void 0:n.get(e==null?void 0:e.parent);ot(r,t,n)}},it=(e,t)=>{const n=new Map,r=new Map(e==null?void 0:e.map(s=>[s.id,s]));return t==null||t.forEach(s=>{ot(s,n,r)}),Array.from(n==null?void 0:n.values())},at="time_period_end",ct="time_period_start",fn="TIME_PERIOD",En=e=>{const t=e==null?void 0:e.find(o=>o.id===ct),n=e==null?void 0:e.find(o=>o.id===at),r=n!=null&&n.title?new Date(n==null?void 0:n.title):null;return{startPeriod:t!=null&&t.title?new Date(t==null?void 0:t.title):null,endPeriod:r}},hn=(e,t)=>e.id.localeCompare(t.id),Dn=(e,t)=>e.memberValue.localeCompare(t.memberValue),yn=(e,t)=>{const n=new Array(e.length),r=e.map((i,a)=>[i,a]);r.sort((i,a)=>hn(i[0],a[0]));const s=[...t];s.sort(Dn);let o=0;for(const i of r){const a=i[0];for(;o<s.length&&s[o].memberValue.localeCompare(a.id)<0;)o+=1;o<s.length&&s[o].memberValue===a.id&&(n[i[1]]=i[0])}return n.filter(i=>i!=null)},An=e=>!!(e!=null&&e.some(t=>t.parent)),Sn=(e,t,n,r,s=[])=>{var i,a;let o=e||[];if(Tn(n||[],t||"")){const c=(i=(n||[])[0].cubeRegions)==null?void 0:i.find(({isIncluded:u})=>u);if(c){const u=(a=c.memberSelection)==null?void 0:a.find(({componentId:l})=>l===t);u?o=o.length===0?(u.selectionValues||[]).map(({memberValue:l})=>({id:l,name:l})):yn(o,u.selectionValues):o=[]}}else s.length!==0&&(o=o.filter(({id:c})=>s.includes(c)));return An(e)&&(o=it(e,o)),o==null?void 0:o.map(c=>({...c,name:r?q(c,r):c==null?void 0:c.name}))},Tn=(e,t)=>e!=null&&e.length>0&&t!=null,mn=/^[v^~<>=]*?(\d+)(?:\.([x*]|\d+)(?:\.([x*]|\d+)(?:\.([x*]|\d+))?(?:-([\da-z\-]+(?:\.[\da-z\-]+)*))?(?:\+[\da-z\-]+(?:\.[\da-z\-]+)*)?)?)?$/i,Ae=e=>{if(typeof e!="string")throw new TypeError("Invalid argument expected string");const t=e.match(mn);if(!t)throw new Error(`Invalid argument not valid semver ('${e}' received)`);return t.shift(),t},Se=e=>e==="*"||e==="x"||e==="X",Te=e=>{const t=parseInt(e,10);return isNaN(t)?e:t},Rn=(e,t)=>typeof e!=typeof t?[String(e),String(t)]:[e,t],pn=(e,t)=>{if(Se(e)||Se(t))return 0;const[n,r]=Rn(Te(e),Te(t));return n>r?1:n<r?-1:0},me=(e,t)=>{for(let n=0;n<Math.max(e.length,t.length);n++){const r=pn(e[n]||"0",t[n]||"0");if(r!==0)return r}return 0},wn=(e,t)=>{const n=Ae(e),r=Ae(t),s=n.pop(),o=r.pop(),i=me(n,r);return i!==0?i:s&&o?me(s.split("."),o.split(".")):s||o?s?-1:1:0},vn=(e,t,n)=>{Pn(n);const r=wn(e,t);return ut[n].includes(r)},ut={">":[1],">=":[0,1],"=":[0],"<=":[-1,0],"<":[-1],"!=":[-1,1]},Re=Object.keys(ut),Pn=e=>{if(Re.indexOf(e)===-1)throw new Error(`Invalid operator, expected one of ${Re.join("|")}`)},$="+",B=(e,t)=>{const{agency:n,id:r,version:s}=p(e),o=t.filter(c=>{var u;return c.agencyID===n&&c.id===r&&!((u=c==null?void 0:c.version)!=null&&u.includes($))});if(o.length===1)return o[0];if(!(s!=null&&s.includes($)))return o.find(c=>c.version===s);const i=o.map(c=>c.version),a=lt(s,i);return o.find(c=>c.version===a[0])},lt=(e,t)=>{const n=Nn(e,t);return n.length>0?[n[0]]:[]},Nn=(e,t)=>{const n=[];return t.forEach(r=>{gt(e,r)&&n.push(r)}),n},dt=e=>{const t=e.trim().replace(/\d+\+/,"*"),[n]=t.split("*");return new RegExp(`^${n}`)},gt=(e,t)=>{const n=e.trim().replace(/\+/,"");return dt(e).test(t)&&vn(t,n,">=")},F=(e,t)=>{const{concept:n}=ft(e,t);return n},ft=(e,t)=>{if(e==null)return{concept:void 0,scheme:void 0};const{childId:n,agency:r,id:s,version:o}=pe(e);if(o!=null&&o.includes($)){const i=B(e,t);return{concept:ee((i==null?void 0:i.concepts)||[],n),scheme:i}}for(const i of t)if(In(i,s,r,o))return{concept:ee((i==null?void 0:i.concepts)||[],n),scheme:i};return{concept:void 0,scheme:void 0}},ee=(e,t)=>e==null?void 0:e.find(n=>n.id===t),In=(e,t,n,r)=>e.id===t&&e.agencyID===n&&e.version===r,_n=(e=[],t=[],n)=>{var c,u;const r=(n==null?void 0:n.conceptIdentity)||"",s=F(r,t),o=v((c=n==null?void 0:n.localRepresentation)==null?void 0:c.enumeration),i=v((u=s==null?void 0:s.coreRepresentation)==null?void 0:u.enumeration),a=o||i;if(a!=null)return B(a,e)},$n=(e,t,n,r)=>{var o,i;const s=(o=t==null?void 0:t.find(a=>(a==null?void 0:a.id)===(e==null?void 0:e.id)))==null?void 0:o.values;return((i=n==null?void 0:n.filter(a=>s==null?void 0:s.some(c=>c.id===a.id)))==null?void 0:i.map(a=>({...a,name:r?q(a,r):a==null?void 0:a.name})))||[]},Et=(e,t)=>{var s,o,i;const n=(s=t==null?void 0:t.dataStructureComponents)==null?void 0:s.attributeList,r=(o=e==null?void 0:e.metadataStructureComponents)==null?void 0:o.metadataAttributeList;return(i=n==null?void 0:n.metadataAttributeUsages)==null?void 0:i.map(a=>{var u;const c=(u=r==null?void 0:r.metadataAttributes)==null?void 0:u.find(l=>(l==null?void 0:l.id)===(a==null?void 0:a.metadataAttributeReference));return{...c,attributeRelationship:a.attributeRelationship,isMandatory:Number(c==null?void 0:c.minOccurs)>0}})},On=(e=[],t,n)=>{const r=v(t==null?void 0:t.conceptIdentity)||"",s=F(r,e);return n?q(s,n):(s==null?void 0:s.name)??(s==null?void 0:s.id)??(t==null?void 0:t.id)};function te(e){var t,n,r;return(r=(n=(t=e==null?void 0:e.dataStructures)==null?void 0:t[0])==null?void 0:n.dataStructureComponents)==null?void 0:r.dimensionList}function Ln(e){var t,n,r,s;return((s=(r=(n=(t=e==null?void 0:e.data)==null?void 0:t.structures)==null?void 0:n[0])==null?void 0:r.dimensions)==null?void 0:s.series)||[]}function bn(e){var t,n,r,s,o;return((o=(s=(r=(n=(t=e==null?void 0:e.data)==null?void 0:t.structures)==null?void 0:n[0])==null?void 0:r.dimensions)==null?void 0:s.observation)==null?void 0:o[0].values.map(i=>i.value).filter(i=>i!=null))||[]}function Un(e){return e.find(t=>t.type===L.TIME_DIMENSION)}const Cn=e=>{var i,a,c,u,l,g;const t=new Map,n=(i=e==null?void 0:e.dataStructures)==null?void 0:i[0],r=(a=e==null?void 0:e.metadataStructures)==null?void 0:a[0],s=(e==null?void 0:e.conceptSchemes)||[],o=(e==null?void 0:e.codelists)||[];return e&&[...((c=te(e))==null?void 0:c.dimensions)||[],...((u=te(e))==null?void 0:u.timeDimensions)||[],...Et(r,n),...((g=(l=n==null?void 0:n.dataStructureComponents)==null?void 0:l.attributeList)==null?void 0:g.attributes)||[]].forEach(d=>{var D,A;const f=F(d==null?void 0:d.conceptIdentity,s),h=((D=d==null?void 0:d.localRepresentation)==null?void 0:D.enumeration)||((A=f==null?void 0:f.coreRepresentation)==null?void 0:A.enumeration),y=B(h,o);d!=null&&d.id&&(h?t.set(d==null?void 0:d.id,{...y,name:f==null?void 0:f.name,names:f==null?void 0:f.names}):t.set(d==null?void 0:d.id,{id:d==null?void 0:d.id,name:f==null?void 0:f.name,names:f==null?void 0:f.names}))}),t},Wn=e=>{var t;return((t=e==null?void 0:e.find(n=>n.id===Q.SERIES_COUNT))==null?void 0:t.title)||""},xn="/api/download",Yn=(e,t,n,r,s,o,i)=>{const a=new URLSearchParams({urn:e,format:t,compress:"false",filename:o,filters:JSON.stringify(s),attribute:r,language:n,isMetadata:i?"true":"none"}).toString(),c=`${xn}?${a}`;window.open(c,"_blank")},Mn=(e,t)=>{var r,s;const n=[];for(const o of e){if(o.type!==L.DIMENSION)continue;const i=t.find(a=>a.componentCode===o.id);i!=null&&((r=i.values)==null?void 0:r.length)>0?n.push((s=i.values)==null?void 0:s.join(_e)):n.push("*")}return n.join(".")},ht=(e,t)=>{if(!e||!e.startPeriod&&!e.endPeriod)return null;const n=[],{startPeriod:r,endPeriod:s}=e;if(r&&n.push(`${R.GREATER_OR_EQUAL}${fe}${r.toISOString().split("T")[0]}`),s&&n.push(`${R.LESS_OR_EQUAL}${fe}${s.toISOString().split("T")[0]}`),n.length===0)return null;const o=t;return n.map(i=>`${encodeURIComponent(`c[${o}]`)}${Nt}${encodeURIComponent(i)}`).join(Ie)},kn=(e,t)=>{const n=Dt(e,t)||null;return n?ht(n,t==null?void 0:t.id):null},Dt=(e,t)=>{var c,u;const n=t.id,r=(c=e==null?void 0:e.filters)==null?void 0:c.find(l=>l.componentCode===n);if(!r||!r.values)return null;const s=(u=r.values)==null?void 0:u.filter(l=>!!l);if(!s.length)return null;const o=r.operator;if(o===R.LESS_OR_EQUAL||o===R.LESS)return{startPeriod:null,endPeriod:I(s[0])};if(o===R.GREATER_OR_EQUAL||o===R.GREATER)return{startPeriod:I(s[0]),endPeriod:null};const i=I(s[0]),a=I(s[1]);return{startPeriod:i,endPeriod:a}},de=(e,t,n)=>{const r=m(t,!0),s=m(n),o=m(e,!0),i=m(e),a=r.getTime()>o.getTime()?r:o,c=s.getTime()<i.getTime()?s:i;return{start:a,end:c}},yt=(e,t,n,r="W")=>{const s=+e,{start:o,end:i}=de(e,t,n);if(o.getTime()>i.getTime())return[];const a=P(o,r),c=a.weekYear===s?a.weekNumber:a.weekYear<s?1:Z(s,r),u=P(i,r),l=u.weekYear===s?u.weekNumber:u.weekYear>s?Z(s,r):1,g=[];if(c<l)for(let E=c;E<=l;E++)g.push(ce(s,E,r));return g},Qn=e=>{const t=new Date(e);return t.setMinutes(t.getMinutes()-t.getTimezoneOffset()),t.toISOString().slice(0,10)},At=(e,t,n)=>{const{start:r,end:s}=de(e,t,n);if(r.getTime()>s.getTime())return[];const o=[],i=new Date(r.getFullYear(),r.getMonth(),r.getDate()),a=new Date(s.getFullYear(),s.getMonth(),s.getDate());for(;i.getTime()<a.getTime();){const c=Qn(i);o.push(c),i.setDate(i.getDate()+1)}return o},St=e=>({isDailyExist:!!(e!=null&&e.some(({memberValue:t})=>t==="D")),isWeeklyExist:!!(e!=null&&e.some(({memberValue:t})=>t==="W")),isMonthlyExist:!!(e!=null&&e.some(({memberValue:t})=>t==="M")),isQuarterlyExist:!!(e!=null&&e.some(({memberValue:t})=>t==="Q")),isSemiAnnualExist:!!(e!=null&&e.some(({memberValue:t})=>t==="S")),isYearlyExist:!!(e!=null&&e.some(({memberValue:t})=>t==="A"||t==="Y"))}),qn=(e,t,n,r)=>{var i,a;const s=r===0?((i=m(t.toString(),!0))==null?void 0:i.getMonth())+1:void 0,o=r===e.length-1?((a=m(n.toString()))==null?void 0:a.getMonth())+1||1:void 0;return{startMonth:s,endMonth:o}},Tt=["FREQUENCY","FREQ"],Bn=(e,t)=>{var c,u,l,g,E,d,f;const n=(E=(g=(l=(u=(c=e==null?void 0:e[0])==null?void 0:c.cubeRegions)==null?void 0:u[0])==null?void 0:l.memberSelection)==null?void 0:g.find(h=>Tt.includes(h.componentId)))==null?void 0:E.selectionValues,r=St(n||[]),s=((d=t==null?void 0:t.startPeriod)==null?void 0:d.getTime())||1,o=((f=t==null?void 0:t.endPeriod)==null?void 0:f.getTime())||1,i=tt(o,s),a=[];return i.forEach((h,y)=>{const D=[],{startMonth:A,endMonth:S}=qn(i,new Date(s),new Date(o),y),{isDailyExist:V,isWeeklyExist:G,isMonthlyExist:K,isQuarterlyExist:j,isSemiAnnualExist:z,isYearlyExist:T}=r;T&&D.push(h.toString()),z&&D.push(...Xe(h,A,S)),j&&D.push(...Je(h,A,S,!1)),K&&D.push(...et(h,A,S)),G&&D.push(...yt(h,s.toString(),o.toString())),V&&D.push(...At(h,s.toString(),o.toString())),a.push(...D)}),a};exports.Annotations=Q;exports.AssignmentStatus=Oe;exports.AvailabilityApi=vt;exports.DATASET_DATA_URL=Ne;exports.DatasetApi=$t;exports.DimensionType=L;exports.DownloadType=ve;exports.FREQUENCY_DIMENSION_ID=Mt;exports.FREQUENCY_DIM_ID=Tt;exports.FileColumnsAttribute=we;exports.GET_v3_FILTER_ALL=$e;exports.GET_v3_FILTER_AND=It;exports.GET_v3_FILTER_OR=_e;exports.OBSERVATION_KEY=Ce;exports.OccurrenceType=Le;exports.Periods=st;exports.RepresentationTextType=rt;exports.SDMX_DATA_QUERY_PARAMS=nt;exports.SINGLE_WILDCARD_SYMBOL=$;exports.SdmxApiClient=Yt;exports.SdmxAvailabilityMode=ne;exports.SdmxDataFormat=w;exports.SdmxDetails=re;exports.SdmxReferences=O;exports.SeriesFilterOperator=R;exports.TIME_PERIOD=fn;exports.TIME_PERIOD_END=at;exports.TIME_PERIOD_START=ct;exports.dailyPattern=Be;exports.decodeDimensionId=Ye;exports.findCodelistByDimension=_n;exports.generateDatasetDataRequest=J;exports.generateShortUrn=pt;exports.getAdditionalColumns=Bn;exports.getAnnotationPeriod=En;exports.getArtifactByUrnWithWildCard=B;exports.getAttachedDimensionsSeriesByDimension=kt;exports.getAttachedDimensionsSeriesByTsId=be;exports.getAttachedDimensionsSeriesKey=se;exports.getAttributeValueFromDataQueryResponse=Ue;exports.getAvailableCodes=$n;exports.getAvailableCodesFromConstrains=Sn;exports.getChildParsedUrn=pe;exports.getConcept=F;exports.getConceptByUrn=ee;exports.getConceptWithScheme=ft;exports.getConvertedMetaAttributes=Et;exports.getDailyRegExp=Ge;exports.getDaysColumns=At;exports.getDimensionTitle=On;exports.getDimensions=te;exports.getFilteredItemsWithParents=it;exports.getISOWeek=P;exports.getKeyFromUrn=v;exports.getLastUpdatedTime=gn;exports.getLastWeekNumberOfYear=Z;exports.getLocalizedName=q;exports.getMonthlyData=et;exports.getMonthlyDataByQuarter=cn;exports.getMonthlyRegExp=W;exports.getParsedEndPeriodDate=le;exports.getParsedResponse=Qt;exports.getParsedStartPeriodDate=ue;exports.getPeriodDate=m;exports.getPeriods=St;exports.getQuarterByMonth=sn;exports.getQuarterlyRegExp=Y;exports.getQuartersData=Je;exports.getQueryTimePeriodFilters=ht;exports.getRequestAcceptHeader=Pe;exports.getResolvedVersionBySingleWildcard=lt;exports.getSemiAnnualData=Xe;exports.getSemiAnnuallyRegExp=Ve;exports.getSeriesAttributes=_;exports.getSeriesName=We;exports.getStructureComponentsMap=Cn;exports.getStructureDimensions=Ln;exports.getTimeDimension=Un;exports.getTimePeriods=bn;exports.getTimeQueryFilter=kn;exports.getTimeRangeFromAttachment=Dt;exports.getTimeSeriesCount=Wn;exports.getTimeSeriesFilterKey=Mn;exports.getTimeSeriesId=xe;exports.getWeekCode=ce;exports.getWeeklyPeriodEndDate=He;exports.getWeeklyPeriodStartDate=ze;exports.getWeeklyRegExp=je;exports.getWeeksColumns=yt;exports.getWildCardRegexp=dt;exports.getYearPeriod=de;exports.getYearlyRegExp=b;exports.getYears=tt;exports.isDaily=Ke;exports.isMonthly=x;exports.isQuarterly=M;exports.isSemiAnnually=C;exports.isWeekly=k;exports.isWildCardVersionCorrect=gt;exports.isYearly=U;exports.monthlyPattern=Fe;exports.openDownloadWindow=Yn;exports.quarterPattern=Me;exports.semiAnnuallyPattern=Qe;exports.sortPeriods=dn;exports.splitUrn=p;exports.weeklyPattern=ke;exports.yearlyPattern=qe;