@epam/statgpt-sdmx-toolkit 0.2.0-rc.39 → 0.2.0-rc.40

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.
Files changed (3) hide show
  1. package/index.cjs +2 -2
  2. package/index.mjs +36 -35
  3. package/package.json +3 -3
package/index.cjs CHANGED
@@ -1,2 +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]}},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},ve=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 b=(e=>(e.DESCENDANTS="descendants",e.NONE="none",e.ALL="all",e))(b||{}),re=(e=>(e.EXACT="exact",e.AVAILABLE="available",e))(re||{});const Nt=(e="",t="",n="")=>`sdmx/3.0/availability/dataflow/${e}/${t}/${n}`;class _t{constructor(t){this.client=t}async getConstraints(t,n){const{agency:r,id:s,version:o}=p(t),i={filters:n||[],mode:re.AVAILABLE,references:b.NONE},a=Nt(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||{}),Pe=(e=>(e.ID="id",e.NAME="name",e.ID_NAME="both",e))(Pe||{}),Ne=(e=>(e.FULL_DATASET="full",e.DATA_IN_TABLE="query",e))(Ne||{});const _e=(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 se=(e=>(e.REFERENCE_PARTIAL="referencepartial",e.FULL="full",e))(se||{});const It="all",Ie="sdmx/3.0/data/dataflow",$e="&",Ee=":",$t="=",Oe="+",Ot=",",be="*",X=(e,t,n)=>{const{filterKey:r,timeFilter:s}=n,{agency:o,id:i,version:a}=p(e),c=[s||"",t].filter(l=>!!l).join($e);return`${`${Ie}/${o}/${i}/${a}`}/${r||be}?${c}`},bt=(e="",t="",n="",r=b.DESCENDANTS)=>`sdmx/3.0/structure/dataflow/${e}/${t}/${n}?references=${r}&detail=${se.REFERENCE_PARTIAL}`;class Lt{constructor(t){this.client=t}async getDataSet(t,n){const{agency:r,id:s,version:o}=p(t);return await this.client.getRequest(bt(r,s,o,n))}async getDatasetData(t,n){const r=new URLSearchParams({includeHistory:"false",limit:"1000",attributes:It,dimensionAtObservation:"TIME_PERIOD"}).toString(),s=X(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",limit:"1000"}).toString(),u=X(t,c,o);return this.client.streamRequest(u,{method:"GET",headers:{Accept:_e(n,s),"Accept-language":r}},i)}}const Ut=(e,t)=>e.error||e.message||`${t.status} ${t.statusText}`,Ct="application/json",Wt="Content-Type",J="Api-Key",xt="X-CONVERSATION-ID",I="Ocp-Apim-Subscription-Key";class he extends Error{constructor(t){super(t.message),this.isHttpError=!0,this.name="HttpError",this.status=t.status,this.details=t.details}}const _=e=>isNaN(Date.parse(e))?null:new Date(e),Z=(e,t,n)=>{const r={[Wt]:(t==null?void 0:t.contentType)||Ct};return t!=null&&t.jwt&&(r.Authorization=`Bearer ${t.jwt}`),t!=null&&t.chatReference&&(r[xt]=t.chatReference),{...r,...n}},Yt=e=>{const t={...e};return t[J]&&(t[J]=t[J].substring(0,8)+"...[REDACTED]"),t.Authorization&&(t.Authorization="Bearer [REDACTED]"),t[I]&&(t[I]=t[I].substring(0,8)+"...[REDACTED]"),t},De=async(e,t,n)=>await fetch(e,{method:n.method||"GET",headers:t,body:n.body?JSON.stringify(n.body):void 0}),Mt=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 kt{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=Z(void 0,{jwt:s}),i=await Mt(t,{Accept:"text/event-stream",...o},{method:"POST",body:n,signal:r});if(!i.ok){const a=await i.text();let c={};try{c=JSON.parse(a)}catch{c.error="Failed to parse error body"}throw new he({status:i.status,message:c.error??"No response body"})}if(!i.body)throw new he({message:"No response body",status:i.status});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);n==null||n(o)}catch(o){console.error(`Failed to parse SSE data: ${s} ${o}`)}}}}new kt;class Qt{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={...Z(void 0,{jwt:this.config.jwt}),...n.headers};this.config.apiKey!=null&&(o[I]=this.config.apiKey);const i=new ReadableStream({async start(c){var u;try{const l=await De(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={...Z(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 De(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=Ut(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:Yt(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 Ft=["FREQ","FREQUENCY"];var Le=(e=>(e.CONDITIONAL="Conditional",e.MANDATORY="Mandatory",e))(Le||{}),L=(e=>(e.DIMENSION="Dimension",e.MEASURE_DIMENSION="MeasureDimension",e.TIME_DIMENSION="TimeDimension",e))(L||{}),Ue=(e=>(e.UNBOUNDED="unbounded",e))(Ue||{});const Ce=(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}=oe(e,t,d);i[E.id]={values:(o==null?void 0:o[f])||[],decodedSeriesKey:h,codedSeriesKey:f}}return i},oe=(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(":")}},qt=(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(A=>{var D;return((D=A.relationship.dimensions)==null?void 0:D.length)===1&&A.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(A=>A.id===t),u=new Array(a==null?void 0:a.length);u[c]=n||"";const l={};for(const A of o){const D=A.relationship.dimensions,{codedSeriesKey:y,decodedSeriesKey:S}=oe(e,u,D);l[A.id]={values:(i==null?void 0:i[y])||[],decodedSeriesKey:S,codedSeriesKey:y}}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()})},xe="Observation",Bt=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 A=[],{name:D,parsedTimeSeriesValue:y}=Ye(h,a),S=i[h],G=S.attributes||[];if(Object.keys(S).length===0){c.push({name:D,parsedTimeSeriesValue:y,values:A,attributes:[],dataSetAttrs:[]});continue}A.push(...Gt(S,n));const K=$((r==null?void 0:r.series)||[],m=>G[m]),j=Kt(((d=n.attributes)==null?void 0:d.dataSet)||[],((f=t[0].attributes)==null?void 0:f.filter(m=>m!=null))||[]),H=Ce(e,y),z=o.map((m,wt)=>{const fe=H[m.id],vt=We(m,fe.values[wt]);return{attribute:m,dimensionGroupValue:vt,dimensionGroupData:fe}});c.push({name:D,parsedTimeSeriesValue:y,values:A,attributes:K,dataSetAttrs:j,dimensionGroupAttributes:z})}return c},Ye=(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:Me(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?Vt(o,s):void 0;n.push({name:s.id,value:i})}return n},Vt=(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)},Me=e=>e.map(t=>t?ke(t):"").join("."),ke=e=>e.replace(/\./g,"|.").replace(/:/g,"|:"),Gt=(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:Ae(e,t.measures),obsAttributes:$(((c=t.attributes)==null?void 0:c.observation)||[],g=>e[g+n]),dimensionAtObservation:xe}];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:Ae(r[g],t.measures),obsAttributes:$(((l=t.attributes)==null?void 0:l.observation)||[],d=>r[g][d+n])})}return o},Ae=(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]})))||[]},Kt=(e,t)=>e.reduce((n,r,s)=>{const o=t[s];return jt(n,r,o,""),n},[]),jt=(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||""})},Qe=/^[0-9][0-9][0-9][0-9]-Q[1-4]$/,Fe=/^[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]$/,Be=/^[0-9][0-9][0-9][0-9]$/,Ve=/^[0-9][0-9][0-9][0-9]-(0[1-9]|1[0-2])-[0-9][0-9]$/,Ge=/^[0-9][0-9][0-9][0-9]-M(0[1-9]|(1[0-2]))$/,U=e=>Be.exec(e),C=e=>!!U(e),Ke=e=>qe.exec(e),W=e=>!!Ke(e),x=e=>Ge.exec(e),Y=e=>!!x(e),M=e=>Qe.exec(e),k=e=>!!M(e),je=e=>Ve.exec(e),He=e=>!!je(e),ze=e=>Fe.exec(e),Q=e=>!!ze(e),ie=1440*60*1e3,ae=7*ie;function ce(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 Ht(e){const t=new Date(e),r=-((t.getDay()+6)%7)+3;return t.setDate(t.getDate()+r),new Date(t.valueOf())}function ee(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 ue(e,t,n="W"){return`${e}-${n}${t<10?"0"+t:t}`}function P(e,t="W"){const n=Ht(e),r=n.getFullYear(),s=ce(r),o=1+Math.ceil((n.getTime()-s.getTime())/ae);return{code:ue(r,o,t),weekNumber:o,weekYear:r}}function Je(e){const[t,n]=e.split("-W"),s=ce(+t).getTime()+(+n-1)*ae-3*ie;return new Date(s)}function Xe(e){const[t,n]=e.split("-W"),s=ce(+t).getTime()+(+n-1)*ae+3*ie;return new Date(s)}function le(e){return C(e)?zt(e):W(e)?Xt(e):k(e)?en(e):Y(e)?nn(e):Q(e)?Je(e):sn(e)}function de(e){return C(e)?Jt(e):W(e)?Zt(e):k(e)?tn(e):Y(e)?rn(e):Q(e)?Xe(e):on(e)}function zt(e){const t=U(e);if(t)return new Date(Number(t[0]),0,1)}function Jt(e){const t=U(e);if(t)return new Date(Number(t[0])+1,0,1)}function Xt(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 Zt(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 en(e){const t=M(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 tn(e){const t=M(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 nn(e){const t=x(e);if(!t)return;const[n,r]=t[0].split("-M");return new Date(+n,+r-1,1)}function rn(e){const t=x(e);if(!t)return;const[n,r]=t[0].split("-M");return new Date(+n,+r,1)}const sn=e=>new Date(`${e}T00:00:00`),on=e=>{const t=new Date(`${e}T23:59:00`);return t.setMinutes(t.getMinutes()+1),t},an=1,Ze=(e,t,n,r=!0,s="Q")=>{const o=[],i=t&&t>3?fn(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},et=(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},cn=e=>Math.ceil(e/3),tt=(e,t,n="M")=>`${e}-${n}${t.toString().padStart(2,"0")}`,un=(e,t,n="M")=>{const r=[];for(let s=t;s<=12;s++)r.push(tt(e,s,n));return r},ln=(e,t,n,r="M")=>{const s=[];for(let o=t;o<n;o++)s.push(tt(e,o,r));return s},nt=(e,t,n,r="M")=>{const s=t||1,o=n==null,i=n||12;return o?un(e,s,r):ln(e,s,i,r)},dn=(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[]}},rt=(e,t)=>{const n=T(t,!0),r=T(e),s=n.getFullYear(),o=r.getFullYear(),i=n.getTime()<=r.getTime()?o+an-s:0;return Array.from({length:i},(c,u)=>s+u)},T=(e,t=!1)=>{const n=gn(e,t);return n?(n.getTimezoneOffset()>0&&n.setMinutes(n.getMinutes()+n.getTimezoneOffset()),n):new Date},gn=(e,t=!1)=>{const n=Number(e);return e.toString().length!==13?t?le(e):de(e):isNaN(n)?new Date(`${e}T00:00:00.000Z`):new Date(n)},fn=(e,t)=>t?Math.floor((e+1)/3):Math.ceil((e+1)/3),En=(e,t)=>{const n=Se(e)-Se(t);if(n===0&&e!==t){const r=ye(e),s=ye(t);return r-s}return n},ye=e=>C(e)?6:W(e)?5:k(e)?4:Y(e)?3:Q(e)?2:He(e)?1:0,Se=(e,t=!1)=>{const n=t?le(e):de(e);return(n==null?void 0:n.getTime())||0};var F=(e=>(e.LAST_UPDATE_AT="lastUpdatedAt",e.SERIES_COUNT="series_count",e))(F||{}),st=(e=>(e.C="c",e))(st||{}),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||{}),ot=(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))(ot||{}),it=(e=>(e.ANNUAL="A",e.QUARTERLY="Q",e.MONTHLY="M",e))(it||{});function hn(e){var t,n;return(n=(t=e==null?void 0:e.annotations)==null?void 0:t.find(r=>{if(r.id===F.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),at=(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);at(r,t,n)}},ct=(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=>{at(s,n,r)}),Array.from(n==null?void 0:n.values())},ut="time_period_end",lt="time_period_start",dt="TIME_PERIOD",Dn=e=>{const t=e==null?void 0:e.find(o=>o.id===lt),n=e==null?void 0:e.find(o=>o.id===ut),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}},An=(e,t)=>e.id.localeCompare(t.id),yn=(e,t)=>e.memberValue.localeCompare(t.memberValue),Sn=(e,t)=>{const n=new Array(e.length),r=e.map((i,a)=>[i,a]);r.sort((i,a)=>An(i[0],a[0]));const s=[...t];s.sort(yn);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)},mn=e=>!!(e!=null&&e.some(t=>t.parent)),Tn=(e,t,n,r,s=[])=>{var i,a;let o=e||[];if(Rn(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})):Sn(o,u.selectionValues):o=[]}}else s.length!==0&&(o=o.filter(({id:c})=>s.includes(c)));return mn(e)&&(o=ct(e,o)),o==null?void 0:o.map(c=>({...c,name:r?q(c,r):c==null?void 0:c.name}))},Rn=(e,t)=>e!=null&&e.length>0&&t!=null,pn=e=>{var n;const t=[];return(n=e==null?void 0:e.filters)==null||n.forEach(r=>{r.componentCode!==dt&&t.push({componentCode:r.componentCode,operator:R.EQUALS,value:r.values.join(",")})}),t},wn=/^[v^~<>=]*?(\d+)(?:\.([x*]|\d+)(?:\.([x*]|\d+)(?:\.([x*]|\d+))?(?:-([\da-z\-]+(?:\.[\da-z\-]+)*))?(?:\+[\da-z\-]+(?:\.[\da-z\-]+)*)?)?)?$/i,me=e=>{if(typeof e!="string")throw new TypeError("Invalid argument expected string");const t=e.match(wn);if(!t)throw new Error(`Invalid argument not valid semver ('${e}' received)`);return t.shift(),t},Te=e=>e==="*"||e==="x"||e==="X",Re=e=>{const t=parseInt(e,10);return isNaN(t)?e:t},vn=(e,t)=>typeof e!=typeof t?[String(e),String(t)]:[e,t],Pn=(e,t)=>{if(Te(e)||Te(t))return 0;const[n,r]=vn(Re(e),Re(t));return n>r?1:n<r?-1:0},pe=(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},Nn=(e,t)=>{const n=me(e),r=me(t),s=n.pop(),o=r.pop(),i=pe(n,r);return i!==0?i:s&&o?pe(s.split("."),o.split(".")):s||o?s?-1:1:0},_n=(e,t,n)=>{In(n);const r=Nn(e,t);return gt[n].includes(r)},gt={">":[1],">=":[0,1],"=":[0],"<=":[-1,0],"<":[-1],"!=":[-1,1]},we=Object.keys(gt),In=e=>{if(we.indexOf(e)===-1)throw new Error(`Invalid operator, expected one of ${we.join("|")}`)},O="+",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(O))});if(o.length===1)return o[0];if(!(s!=null&&s.includes(O)))return o.find(c=>c.version===s);const i=o.map(c=>c.version),a=ft(s,i);return o.find(c=>c.version===a[0])},ft=(e,t)=>{const n=$n(e,t);return n.length>0?[n[0]]:[]},$n=(e,t)=>{const n=[];return t.forEach(r=>{ht(e,r)&&n.push(r)}),n},Et=e=>{const t=e.trim().replace(/\d+\+/,"*"),[n]=t.split("*");return new RegExp(`^${n}`)},ht=(e,t)=>{const n=e.trim().replace(/\+/,"");return Et(e).test(t)&&_n(t,n,">=")},V=(e,t)=>{const{concept:n}=Dt(e,t);return n},Dt=(e,t)=>{if(e==null)return{concept:void 0,scheme:void 0};const{childId:n,agency:r,id:s,version:o}=ve(e);if(o!=null&&o.includes(O)){const i=B(e,t);return{concept:te((i==null?void 0:i.concepts)||[],n),scheme:i}}for(const i of t)if(On(i,s,r,o))return{concept:te((i==null?void 0:i.concepts)||[],n),scheme:i};return{concept:void 0,scheme:void 0}},te=(e,t)=>e==null?void 0:e.find(n=>n.id===t),On=(e,t,n,r)=>e.id===t&&e.agencyID===n&&e.version===r,bn=(e=[],t=[],n)=>{var c,u;const r=(n==null?void 0:n.conceptIdentity)||"",s=V(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)},Ln=(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})))||[]},At=(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}})},Un=(e=[],t,n)=>{const r=v(t==null?void 0:t.conceptIdentity)||"",s=V(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 ne(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 Cn(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 Wn(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 xn(e){return e.find(t=>t.type===L.TIME_DIMENSION)}const Yn=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=ne(e))==null?void 0:c.dimensions)||[],...((u=ne(e))==null?void 0:u.timeDimensions)||[],...At(r,n),...((g=(l=n==null?void 0:n.dataStructureComponents)==null?void 0:l.attributeList)==null?void 0:g.attributes)||[]].forEach(d=>{var D,y;const f=V(d==null?void 0:d.conceptIdentity,s),h=((D=d==null?void 0:d.localRepresentation)==null?void 0:D.enumeration)||((y=f==null?void 0:f.coreRepresentation)==null?void 0:y.enumeration),A=B(h,o);d!=null&&d.id&&(h?t.set(d==null?void 0:d.id,{...A,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},Mn=e=>{var t;return((t=e==null?void 0:e.find(n=>n.id===F.SERIES_COUNT))==null?void 0:t.title)||""},kn="/api/download",Qn=(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=`${kn}?${a}`;window.open(c,"_blank")},Fn=(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(Oe)):n.push("*")}return n.join(".")},yt=(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}${Ee}${r.toISOString().split("T")[0]}`),s&&n.push(`${R.LESS_OR_EQUAL}${Ee}${s.toISOString().split("T")[0]}`),n.length===0)return null;const o=t;return n.map(i=>`${encodeURIComponent(`c[${o}]`)}${$t}${encodeURIComponent(i)}`).join($e)},qn=(e,t)=>{const n=St(e,t)||null;return n?yt(n,t==null?void 0:t.id):null},St=(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:_(s[0])};if(o===R.GREATER_OR_EQUAL||o===R.GREATER)return{startPeriod:_(s[0]),endPeriod:null};const i=_(s[0]),a=_(s[1]);return{startPeriod:i,endPeriod:a}},ge=(e,t,n)=>{const r=T(t,!0),s=T(n),o=T(e,!0),i=T(e),a=r.getTime()>o.getTime()?r:o,c=s.getTime()<i.getTime()?s:i;return{start:a,end:c}},mt=(e,t,n,r="W")=>{const s=+e,{start:o,end:i}=ge(e,t,n);if(o.getTime()>i.getTime())return[];const a=P(o,r),c=a.weekYear===s?a.weekNumber:a.weekYear<s?1:ee(s,r),u=P(i,r),l=u.weekYear===s?u.weekNumber:u.weekYear>s?ee(s,r):1,g=[];if(c<l)for(let E=c;E<=l;E++)g.push(ue(s,E,r));return g},Bn=e=>{const t=new Date(e);return t.setMinutes(t.getMinutes()-t.getTimezoneOffset()),t.toISOString().slice(0,10)},Tt=(e,t,n)=>{const{start:r,end:s}=ge(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=Bn(i);o.push(c),i.setDate(i.getDate()+1)}return o},Rt=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"))}),Vn=(e,t,n,r)=>{var i,a;const s=r===0?((i=T(t.toString(),!0))==null?void 0:i.getMonth())+1:void 0,o=r===e.length-1?((a=T(n.toString()))==null?void 0:a.getMonth())+1||1:void 0;return{startMonth:s,endMonth:o}},pt=["FREQUENCY","FREQ"],Gn=(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=>pt.includes(h.componentId)))==null?void 0:E.selectionValues,r=Rt(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=rt(o,s),a=[];return i.forEach((h,A)=>{const D=[],{startMonth:y,endMonth:S}=Vn(i,new Date(s),new Date(o),A),{isDailyExist:G,isWeeklyExist:K,isMonthlyExist:j,isQuarterlyExist:H,isSemiAnnualExist:z,isYearlyExist:m}=r;m&&D.push(h.toString()),z&&D.push(...et(h,y,S)),H&&D.push(...Ze(h,y,S,!1)),j&&D.push(...nt(h,y,S)),K&&D.push(...mt(h,s.toString(),o.toString())),G&&D.push(...Tt(h,s.toString(),o.toString())),a.push(...D)}),a};exports.Annotations=F;exports.AssignmentStatus=Le;exports.AvailabilityApi=_t;exports.DATASET_DATA_URL=Ie;exports.DatasetApi=Lt;exports.DimensionType=L;exports.DownloadType=Ne;exports.FREQUENCY_DIMENSION_ID=Ft;exports.FREQUENCY_DIM_ID=pt;exports.FileColumnsAttribute=Pe;exports.GET_v3_FILTER_ALL=be;exports.GET_v3_FILTER_AND=Ot;exports.GET_v3_FILTER_OR=Oe;exports.OBSERVATION_KEY=xe;exports.OccurrenceType=Ue;exports.Periods=it;exports.RepresentationTextType=ot;exports.SDMX_DATA_QUERY_PARAMS=st;exports.SINGLE_WILDCARD_SYMBOL=O;exports.SdmxApiClient=Qt;exports.SdmxAvailabilityMode=re;exports.SdmxDataFormat=w;exports.SdmxDetails=se;exports.SdmxReferences=b;exports.SeriesFilterOperator=R;exports.TIME_PERIOD=dt;exports.TIME_PERIOD_END=ut;exports.TIME_PERIOD_START=lt;exports.dailyPattern=Ve;exports.decodeDimensionId=ke;exports.findCodelistByDimension=bn;exports.generateDatasetDataRequest=X;exports.generateShortUrn=Pt;exports.getAdditionalColumns=Gn;exports.getAnnotationPeriod=Dn;exports.getArtifactByUrnWithWildCard=B;exports.getAttachedDimensionsSeriesByDimension=qt;exports.getAttachedDimensionsSeriesByTsId=Ce;exports.getAttachedDimensionsSeriesKey=oe;exports.getAttributeValueFromDataQueryResponse=We;exports.getAvailableCodes=Ln;exports.getAvailableCodesFromConstrains=Tn;exports.getChildParsedUrn=ve;exports.getConcept=V;exports.getConceptByUrn=te;exports.getConceptWithScheme=Dt;exports.getConvertedMetaAttributes=At;exports.getDailyRegExp=je;exports.getDaysColumns=Tt;exports.getDimensionTitle=Un;exports.getDimensions=ne;exports.getFilteredItemsWithParents=ct;exports.getFiltersDtoFromDataQuery=pn;exports.getISOWeek=P;exports.getKeyFromUrn=v;exports.getLastUpdatedTime=hn;exports.getLastWeekNumberOfYear=ee;exports.getLocalizedName=q;exports.getMonthlyData=nt;exports.getMonthlyDataByQuarter=dn;exports.getMonthlyRegExp=x;exports.getParsedEndPeriodDate=de;exports.getParsedResponse=Bt;exports.getParsedStartPeriodDate=le;exports.getPeriodDate=T;exports.getPeriods=Rt;exports.getQuarterByMonth=cn;exports.getQuarterlyRegExp=M;exports.getQuartersData=Ze;exports.getQueryTimePeriodFilters=yt;exports.getRequestAcceptHeader=_e;exports.getResolvedVersionBySingleWildcard=ft;exports.getSemiAnnualData=et;exports.getSemiAnnuallyRegExp=Ke;exports.getSeriesAttributes=$;exports.getSeriesName=Ye;exports.getStructureComponentsMap=Yn;exports.getStructureDimensions=Cn;exports.getTimeDimension=xn;exports.getTimePeriods=Wn;exports.getTimeQueryFilter=qn;exports.getTimeRangeFromAttachment=St;exports.getTimeSeriesCount=Mn;exports.getTimeSeriesFilterKey=Fn;exports.getTimeSeriesId=Me;exports.getWeekCode=ue;exports.getWeeklyPeriodEndDate=Xe;exports.getWeeklyPeriodStartDate=Je;exports.getWeeklyRegExp=ze;exports.getWeeksColumns=mt;exports.getWildCardRegexp=Et;exports.getYearPeriod=ge;exports.getYearlyRegExp=U;exports.getYears=rt;exports.isDaily=He;exports.isMonthly=Y;exports.isQuarterly=k;exports.isSemiAnnually=W;exports.isWeekly=Q;exports.isWildCardVersionCorrect=ht;exports.isYearly=C;exports.monthlyPattern=Ge;exports.openDownloadWindow=Qn;exports.quarterPattern=Qe;exports.semiAnnuallyPattern=qe;exports.sortPeriods=En;exports.splitUrn=p;exports.weeklyPattern=Fe;exports.yearlyPattern=Be;
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},ve=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 b=(e=>(e.DESCENDANTS="descendants",e.NONE="none",e.ALL="all",e))(b||{}),re=(e=>(e.EXACT="exact",e.AVAILABLE="available",e))(re||{});const Nt=(e="",t="",n="")=>`sdmx/3.0/availability/dataflow/${e}/${t}/${n}`;class _t{constructor(t){this.client=t}async getConstraints(t,n){const{agency:r,id:s,version:o}=p(t),i={filters:n||[],mode:re.AVAILABLE,references:b.NONE},a=Nt(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||{}),Pe=(e=>(e.ID="id",e.NAME="name",e.ID_NAME="both",e))(Pe||{}),Ne=(e=>(e.FULL_DATASET="full",e.DATA_IN_TABLE="query",e))(Ne||{});const _e=(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 se=(e=>(e.REFERENCE_PARTIAL="referencepartial",e.FULL="full",e))(se||{});const It="all",Ie="sdmx/3.0/data/dataflow",$e="&",Ee=":",$t="=",Oe="+",Ot=",",be="*",X=(e,t,n)=>{const{filterKey:r,timeFilter:s}=n,{agency:o,id:i,version:a}=p(e),c=[s||"",t].filter(l=>!!l).join($e);return`${`${Ie}/${o}/${i}/${a}`}/${r||be}?${c}`},bt=(e="",t="",n="",r=b.DESCENDANTS)=>`sdmx/3.0/structure/dataflow/${e}/${t}/${n}?references=${r}&detail=${se.REFERENCE_PARTIAL}`;class Lt{constructor(t){this.client=t}async getDataSet(t,n){const{agency:r,id:s,version:o}=p(t);return await this.client.getRequest(bt(r,s,o,n))}async getDatasetData(t,n){const r=new URLSearchParams({includeHistory:"false",limit:"1000",attributes:It,dimensionAtObservation:"TIME_PERIOD"}).toString(),s=X(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",limit:"1000"}).toString(),u=X(t,c,o);return this.client.streamRequest(u,{method:"GET",headers:{Accept:_e(n,s),"Accept-language":r}},i)}}const Ut=(e,t)=>e.error||e.message||`${t.status} ${t.statusText}`,Ct="application/json",Wt="Content-Type",J="Api-Key",xt="X-CONVERSATION-ID",I="Ocp-Apim-Subscription-Key";class he extends Error{constructor(t){super(t.message),this.isHttpError=!0,this.name="HttpError",this.code=t.code,this.status=t.status,this.details=t.details}}const _=e=>isNaN(Date.parse(e))?null:new Date(e),Z=(e,t,n)=>{const r={[Wt]:(t==null?void 0:t.contentType)||Ct};return t!=null&&t.jwt&&(r.Authorization=`Bearer ${t.jwt}`),t!=null&&t.chatReference&&(r[xt]=t.chatReference),{...r,...n}},Yt=e=>{const t={...e};return t[J]&&(t[J]=t[J].substring(0,8)+"...[REDACTED]"),t.Authorization&&(t.Authorization="Bearer [REDACTED]"),t[I]&&(t[I]=t[I].substring(0,8)+"...[REDACTED]"),t},De=async(e,t,n)=>await fetch(e,{method:n.method||"GET",headers:t,body:n.body?JSON.stringify(n.body):void 0}),Mt=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 kt{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=Z(void 0,{jwt:s}),i=await Mt(t,{Accept:"text/event-stream",...o},{method:"POST",body:n,signal:r});if(!i.ok){const a=await i.text();let c={};try{c=JSON.parse(a)}catch{c.error="Failed to parse error body"}throw new he({status:i.status,message:c.error??"No response body"})}if(!i.body)throw new he({message:"No response body",status:i.status});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}let o;try{o=JSON.parse(s)}catch(i){console.error(`Failed to parse SSE data: ${s} ${i}`)}n==null||n(o)}}}new kt;class Qt{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={...Z(void 0,{jwt:this.config.jwt}),...n.headers};this.config.apiKey!=null&&(o[I]=this.config.apiKey);const i=new ReadableStream({async start(c){var u;try{const l=await De(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={...Z(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 De(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=Ut(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:Yt(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 Ft=["FREQ","FREQUENCY"];var Le=(e=>(e.CONDITIONAL="Conditional",e.MANDATORY="Mandatory",e))(Le||{}),L=(e=>(e.DIMENSION="Dimension",e.MEASURE_DIMENSION="MeasureDimension",e.TIME_DIMENSION="TimeDimension",e))(L||{}),Ue=(e=>(e.UNBOUNDED="unbounded",e))(Ue||{});const Ce=(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}=oe(e,t,d);i[E.id]={values:(o==null?void 0:o[f])||[],decodedSeriesKey:h,codedSeriesKey:f}}return i},oe=(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(":")}},qt=(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(A=>{var D;return((D=A.relationship.dimensions)==null?void 0:D.length)===1&&A.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(A=>A.id===t),u=new Array(a==null?void 0:a.length);u[c]=n||"";const l={};for(const A of o){const D=A.relationship.dimensions,{codedSeriesKey:y,decodedSeriesKey:S}=oe(e,u,D);l[A.id]={values:(i==null?void 0:i[y])||[],decodedSeriesKey:S,codedSeriesKey:y}}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()})},xe="Observation",Bt=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 A=[],{name:D,parsedTimeSeriesValue:y}=Ye(h,a),S=i[h],G=S.attributes||[];if(Object.keys(S).length===0){c.push({name:D,parsedTimeSeriesValue:y,values:A,attributes:[],dataSetAttrs:[]});continue}A.push(...Gt(S,n));const K=$((r==null?void 0:r.series)||[],m=>G[m]),j=Kt(((d=n.attributes)==null?void 0:d.dataSet)||[],((f=t[0].attributes)==null?void 0:f.filter(m=>m!=null))||[]),H=Ce(e,y),z=o.map((m,wt)=>{const fe=H[m.id],vt=We(m,fe.values[wt]);return{attribute:m,dimensionGroupValue:vt,dimensionGroupData:fe}});c.push({name:D,parsedTimeSeriesValue:y,values:A,attributes:K,dataSetAttrs:j,dimensionGroupAttributes:z})}return c},Ye=(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:Me(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?Vt(o,s):void 0;n.push({name:s.id,value:i})}return n},Vt=(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)},Me=e=>e.map(t=>t?ke(t):"").join("."),ke=e=>e.replace(/\./g,"|.").replace(/:/g,"|:"),Gt=(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:Ae(e,t.measures),obsAttributes:$(((c=t.attributes)==null?void 0:c.observation)||[],g=>e[g+n]),dimensionAtObservation:xe}];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:Ae(r[g],t.measures),obsAttributes:$(((l=t.attributes)==null?void 0:l.observation)||[],d=>r[g][d+n])})}return o},Ae=(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]})))||[]},Kt=(e,t)=>e.reduce((n,r,s)=>{const o=t[s];return jt(n,r,o,""),n},[]),jt=(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||""})},Qe=/^[0-9][0-9][0-9][0-9]-Q[1-4]$/,Fe=/^[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]$/,Be=/^[0-9][0-9][0-9][0-9]$/,Ve=/^[0-9][0-9][0-9][0-9]-(0[1-9]|1[0-2])-[0-9][0-9]$/,Ge=/^[0-9][0-9][0-9][0-9]-M(0[1-9]|(1[0-2]))$/,U=e=>Be.exec(e),C=e=>!!U(e),Ke=e=>qe.exec(e),W=e=>!!Ke(e),x=e=>Ge.exec(e),Y=e=>!!x(e),M=e=>Qe.exec(e),k=e=>!!M(e),je=e=>Ve.exec(e),He=e=>!!je(e),ze=e=>Fe.exec(e),Q=e=>!!ze(e),ie=1440*60*1e3,ae=7*ie;function ce(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 Ht(e){const t=new Date(e),r=-((t.getDay()+6)%7)+3;return t.setDate(t.getDate()+r),new Date(t.valueOf())}function ee(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 ue(e,t,n="W"){return`${e}-${n}${t<10?"0"+t:t}`}function P(e,t="W"){const n=Ht(e),r=n.getFullYear(),s=ce(r),o=1+Math.ceil((n.getTime()-s.getTime())/ae);return{code:ue(r,o,t),weekNumber:o,weekYear:r}}function Je(e){const[t,n]=e.split("-W"),s=ce(+t).getTime()+(+n-1)*ae-3*ie;return new Date(s)}function Xe(e){const[t,n]=e.split("-W"),s=ce(+t).getTime()+(+n-1)*ae+3*ie;return new Date(s)}function le(e){return C(e)?zt(e):W(e)?Xt(e):k(e)?en(e):Y(e)?nn(e):Q(e)?Je(e):sn(e)}function de(e){return C(e)?Jt(e):W(e)?Zt(e):k(e)?tn(e):Y(e)?rn(e):Q(e)?Xe(e):on(e)}function zt(e){const t=U(e);if(t)return new Date(Number(t[0]),0,1)}function Jt(e){const t=U(e);if(t)return new Date(Number(t[0])+1,0,1)}function Xt(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 Zt(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 en(e){const t=M(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 tn(e){const t=M(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 nn(e){const t=x(e);if(!t)return;const[n,r]=t[0].split("-M");return new Date(+n,+r-1,1)}function rn(e){const t=x(e);if(!t)return;const[n,r]=t[0].split("-M");return new Date(+n,+r,1)}const sn=e=>new Date(`${e}T00:00:00`),on=e=>{const t=new Date(`${e}T23:59:00`);return t.setMinutes(t.getMinutes()+1),t},an=1,Ze=(e,t,n,r=!0,s="Q")=>{const o=[],i=t&&t>3?fn(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},et=(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},cn=e=>Math.ceil(e/3),tt=(e,t,n="M")=>`${e}-${n}${t.toString().padStart(2,"0")}`,un=(e,t,n="M")=>{const r=[];for(let s=t;s<=12;s++)r.push(tt(e,s,n));return r},ln=(e,t,n,r="M")=>{const s=[];for(let o=t;o<n;o++)s.push(tt(e,o,r));return s},nt=(e,t,n,r="M")=>{const s=t||1,o=n==null,i=n||12;return o?un(e,s,r):ln(e,s,i,r)},dn=(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[]}},rt=(e,t)=>{const n=T(t,!0),r=T(e),s=n.getFullYear(),o=r.getFullYear(),i=n.getTime()<=r.getTime()?o+an-s:0;return Array.from({length:i},(c,u)=>s+u)},T=(e,t=!1)=>{const n=gn(e,t);return n?(n.getTimezoneOffset()>0&&n.setMinutes(n.getMinutes()+n.getTimezoneOffset()),n):new Date},gn=(e,t=!1)=>{const n=Number(e);return e.toString().length!==13?t?le(e):de(e):isNaN(n)?new Date(`${e}T00:00:00.000Z`):new Date(n)},fn=(e,t)=>t?Math.floor((e+1)/3):Math.ceil((e+1)/3),En=(e,t)=>{const n=Se(e)-Se(t);if(n===0&&e!==t){const r=ye(e),s=ye(t);return r-s}return n},ye=e=>C(e)?6:W(e)?5:k(e)?4:Y(e)?3:Q(e)?2:He(e)?1:0,Se=(e,t=!1)=>{const n=t?le(e):de(e);return(n==null?void 0:n.getTime())||0};var F=(e=>(e.LAST_UPDATE_AT="lastUpdatedAt",e.SERIES_COUNT="series_count",e))(F||{}),st=(e=>(e.C="c",e))(st||{}),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||{}),ot=(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))(ot||{}),it=(e=>(e.ANNUAL="A",e.QUARTERLY="Q",e.MONTHLY="M",e))(it||{});function hn(e){var t,n;return(n=(t=e==null?void 0:e.annotations)==null?void 0:t.find(r=>{if(r.id===F.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),at=(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);at(r,t,n)}},ct=(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=>{at(s,n,r)}),Array.from(n==null?void 0:n.values())},ut="time_period_end",lt="time_period_start",dt="TIME_PERIOD",Dn=e=>{const t=e==null?void 0:e.find(o=>o.id===lt),n=e==null?void 0:e.find(o=>o.id===ut),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}},An=(e,t)=>e.id.localeCompare(t.id),yn=(e,t)=>e.memberValue.localeCompare(t.memberValue),Sn=(e,t)=>{const n=new Array(e.length),r=e.map((i,a)=>[i,a]);r.sort((i,a)=>An(i[0],a[0]));const s=[...t];s.sort(yn);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)},mn=e=>!!(e!=null&&e.some(t=>t.parent)),Tn=(e,t,n,r,s=[])=>{var i,a;let o=e||[];if(Rn(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})):Sn(o,u.selectionValues):o=[]}}else s.length!==0&&(o=o.filter(({id:c})=>s.includes(c)));return mn(e)&&(o=ct(e,o)),o==null?void 0:o.map(c=>({...c,name:r?q(c,r):c==null?void 0:c.name}))},Rn=(e,t)=>e!=null&&e.length>0&&t!=null,pn=e=>{var n;const t=[];return(n=e==null?void 0:e.filters)==null||n.forEach(r=>{r.componentCode!==dt&&t.push({componentCode:r.componentCode,operator:R.EQUALS,value:r.values.join(",")})}),t},wn=/^[v^~<>=]*?(\d+)(?:\.([x*]|\d+)(?:\.([x*]|\d+)(?:\.([x*]|\d+))?(?:-([\da-z\-]+(?:\.[\da-z\-]+)*))?(?:\+[\da-z\-]+(?:\.[\da-z\-]+)*)?)?)?$/i,me=e=>{if(typeof e!="string")throw new TypeError("Invalid argument expected string");const t=e.match(wn);if(!t)throw new Error(`Invalid argument not valid semver ('${e}' received)`);return t.shift(),t},Te=e=>e==="*"||e==="x"||e==="X",Re=e=>{const t=parseInt(e,10);return isNaN(t)?e:t},vn=(e,t)=>typeof e!=typeof t?[String(e),String(t)]:[e,t],Pn=(e,t)=>{if(Te(e)||Te(t))return 0;const[n,r]=vn(Re(e),Re(t));return n>r?1:n<r?-1:0},pe=(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},Nn=(e,t)=>{const n=me(e),r=me(t),s=n.pop(),o=r.pop(),i=pe(n,r);return i!==0?i:s&&o?pe(s.split("."),o.split(".")):s||o?s?-1:1:0},_n=(e,t,n)=>{In(n);const r=Nn(e,t);return gt[n].includes(r)},gt={">":[1],">=":[0,1],"=":[0],"<=":[-1,0],"<":[-1],"!=":[-1,1]},we=Object.keys(gt),In=e=>{if(we.indexOf(e)===-1)throw new Error(`Invalid operator, expected one of ${we.join("|")}`)},O="+",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(O))});if(o.length===1)return o[0];if(!(s!=null&&s.includes(O)))return o.find(c=>c.version===s);const i=o.map(c=>c.version),a=ft(s,i);return o.find(c=>c.version===a[0])},ft=(e,t)=>{const n=$n(e,t);return n.length>0?[n[0]]:[]},$n=(e,t)=>{const n=[];return t.forEach(r=>{ht(e,r)&&n.push(r)}),n},Et=e=>{const t=e.trim().replace(/\d+\+/,"*"),[n]=t.split("*");return new RegExp(`^${n}`)},ht=(e,t)=>{const n=e.trim().replace(/\+/,"");return Et(e).test(t)&&_n(t,n,">=")},V=(e,t)=>{const{concept:n}=Dt(e,t);return n},Dt=(e,t)=>{if(e==null)return{concept:void 0,scheme:void 0};const{childId:n,agency:r,id:s,version:o}=ve(e);if(o!=null&&o.includes(O)){const i=B(e,t);return{concept:te((i==null?void 0:i.concepts)||[],n),scheme:i}}for(const i of t)if(On(i,s,r,o))return{concept:te((i==null?void 0:i.concepts)||[],n),scheme:i};return{concept:void 0,scheme:void 0}},te=(e,t)=>e==null?void 0:e.find(n=>n.id===t),On=(e,t,n,r)=>e.id===t&&e.agencyID===n&&e.version===r,bn=(e=[],t=[],n)=>{var c,u;const r=(n==null?void 0:n.conceptIdentity)||"",s=V(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)},Ln=(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})))||[]},At=(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}})},Un=(e=[],t,n)=>{const r=v(t==null?void 0:t.conceptIdentity)||"",s=V(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 ne(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 Cn(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 Wn(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 xn(e){return e.find(t=>t.type===L.TIME_DIMENSION)}const Yn=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=ne(e))==null?void 0:c.dimensions)||[],...((u=ne(e))==null?void 0:u.timeDimensions)||[],...At(r,n),...((g=(l=n==null?void 0:n.dataStructureComponents)==null?void 0:l.attributeList)==null?void 0:g.attributes)||[]].forEach(d=>{var D,y;const f=V(d==null?void 0:d.conceptIdentity,s),h=((D=d==null?void 0:d.localRepresentation)==null?void 0:D.enumeration)||((y=f==null?void 0:f.coreRepresentation)==null?void 0:y.enumeration),A=B(h,o);d!=null&&d.id&&(h?t.set(d==null?void 0:d.id,{...A,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},Mn=e=>{var t;return((t=e==null?void 0:e.find(n=>n.id===F.SERIES_COUNT))==null?void 0:t.title)||""},kn="/api/download",Qn=(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=`${kn}?${a}`;window.open(c,"_blank")},Fn=(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(Oe)):n.push("*")}return n.join(".")},yt=(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}${Ee}${r.toISOString().split("T")[0]}`),s&&n.push(`${R.LESS_OR_EQUAL}${Ee}${s.toISOString().split("T")[0]}`),n.length===0)return null;const o=t;return n.map(i=>`${encodeURIComponent(`c[${o}]`)}${$t}${encodeURIComponent(i)}`).join($e)},qn=(e,t)=>{const n=St(e,t)||null;return n?yt(n,t==null?void 0:t.id):null},St=(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:_(s[0])};if(o===R.GREATER_OR_EQUAL||o===R.GREATER)return{startPeriod:_(s[0]),endPeriod:null};const i=_(s[0]),a=_(s[1]);return{startPeriod:i,endPeriod:a}},ge=(e,t,n)=>{const r=T(t,!0),s=T(n),o=T(e,!0),i=T(e),a=r.getTime()>o.getTime()?r:o,c=s.getTime()<i.getTime()?s:i;return{start:a,end:c}},mt=(e,t,n,r="W")=>{const s=+e,{start:o,end:i}=ge(e,t,n);if(o.getTime()>i.getTime())return[];const a=P(o,r),c=a.weekYear===s?a.weekNumber:a.weekYear<s?1:ee(s,r),u=P(i,r),l=u.weekYear===s?u.weekNumber:u.weekYear>s?ee(s,r):1,g=[];if(c<l)for(let E=c;E<=l;E++)g.push(ue(s,E,r));return g},Bn=e=>{const t=new Date(e);return t.setMinutes(t.getMinutes()-t.getTimezoneOffset()),t.toISOString().slice(0,10)},Tt=(e,t,n)=>{const{start:r,end:s}=ge(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=Bn(i);o.push(c),i.setDate(i.getDate()+1)}return o},Rt=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"))}),Vn=(e,t,n,r)=>{var i,a;const s=r===0?((i=T(t.toString(),!0))==null?void 0:i.getMonth())+1:void 0,o=r===e.length-1?((a=T(n.toString()))==null?void 0:a.getMonth())+1||1:void 0;return{startMonth:s,endMonth:o}},pt=["FREQUENCY","FREQ"],Gn=(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=>pt.includes(h.componentId)))==null?void 0:E.selectionValues,r=Rt(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=rt(o,s),a=[];return i.forEach((h,A)=>{const D=[],{startMonth:y,endMonth:S}=Vn(i,new Date(s),new Date(o),A),{isDailyExist:G,isWeeklyExist:K,isMonthlyExist:j,isQuarterlyExist:H,isSemiAnnualExist:z,isYearlyExist:m}=r;m&&D.push(h.toString()),z&&D.push(...et(h,y,S)),H&&D.push(...Ze(h,y,S,!1)),j&&D.push(...nt(h,y,S)),K&&D.push(...mt(h,s.toString(),o.toString())),G&&D.push(...Tt(h,s.toString(),o.toString())),a.push(...D)}),a};exports.Annotations=F;exports.AssignmentStatus=Le;exports.AvailabilityApi=_t;exports.DATASET_DATA_URL=Ie;exports.DatasetApi=Lt;exports.DimensionType=L;exports.DownloadType=Ne;exports.FREQUENCY_DIMENSION_ID=Ft;exports.FREQUENCY_DIM_ID=pt;exports.FileColumnsAttribute=Pe;exports.GET_v3_FILTER_ALL=be;exports.GET_v3_FILTER_AND=Ot;exports.GET_v3_FILTER_OR=Oe;exports.OBSERVATION_KEY=xe;exports.OccurrenceType=Ue;exports.Periods=it;exports.RepresentationTextType=ot;exports.SDMX_DATA_QUERY_PARAMS=st;exports.SINGLE_WILDCARD_SYMBOL=O;exports.SdmxApiClient=Qt;exports.SdmxAvailabilityMode=re;exports.SdmxDataFormat=w;exports.SdmxDetails=se;exports.SdmxReferences=b;exports.SeriesFilterOperator=R;exports.TIME_PERIOD=dt;exports.TIME_PERIOD_END=ut;exports.TIME_PERIOD_START=lt;exports.dailyPattern=Ve;exports.decodeDimensionId=ke;exports.findCodelistByDimension=bn;exports.generateDatasetDataRequest=X;exports.generateShortUrn=Pt;exports.getAdditionalColumns=Gn;exports.getAnnotationPeriod=Dn;exports.getArtifactByUrnWithWildCard=B;exports.getAttachedDimensionsSeriesByDimension=qt;exports.getAttachedDimensionsSeriesByTsId=Ce;exports.getAttachedDimensionsSeriesKey=oe;exports.getAttributeValueFromDataQueryResponse=We;exports.getAvailableCodes=Ln;exports.getAvailableCodesFromConstrains=Tn;exports.getChildParsedUrn=ve;exports.getConcept=V;exports.getConceptByUrn=te;exports.getConceptWithScheme=Dt;exports.getConvertedMetaAttributes=At;exports.getDailyRegExp=je;exports.getDaysColumns=Tt;exports.getDimensionTitle=Un;exports.getDimensions=ne;exports.getFilteredItemsWithParents=ct;exports.getFiltersDtoFromDataQuery=pn;exports.getISOWeek=P;exports.getKeyFromUrn=v;exports.getLastUpdatedTime=hn;exports.getLastWeekNumberOfYear=ee;exports.getLocalizedName=q;exports.getMonthlyData=nt;exports.getMonthlyDataByQuarter=dn;exports.getMonthlyRegExp=x;exports.getParsedEndPeriodDate=de;exports.getParsedResponse=Bt;exports.getParsedStartPeriodDate=le;exports.getPeriodDate=T;exports.getPeriods=Rt;exports.getQuarterByMonth=cn;exports.getQuarterlyRegExp=M;exports.getQuartersData=Ze;exports.getQueryTimePeriodFilters=yt;exports.getRequestAcceptHeader=_e;exports.getResolvedVersionBySingleWildcard=ft;exports.getSemiAnnualData=et;exports.getSemiAnnuallyRegExp=Ke;exports.getSeriesAttributes=$;exports.getSeriesName=Ye;exports.getStructureComponentsMap=Yn;exports.getStructureDimensions=Cn;exports.getTimeDimension=xn;exports.getTimePeriods=Wn;exports.getTimeQueryFilter=qn;exports.getTimeRangeFromAttachment=St;exports.getTimeSeriesCount=Mn;exports.getTimeSeriesFilterKey=Fn;exports.getTimeSeriesId=Me;exports.getWeekCode=ue;exports.getWeeklyPeriodEndDate=Xe;exports.getWeeklyPeriodStartDate=Je;exports.getWeeklyRegExp=ze;exports.getWeeksColumns=mt;exports.getWildCardRegexp=Et;exports.getYearPeriod=ge;exports.getYearlyRegExp=U;exports.getYears=rt;exports.isDaily=He;exports.isMonthly=Y;exports.isQuarterly=k;exports.isSemiAnnually=W;exports.isWeekly=Q;exports.isWildCardVersionCorrect=ht;exports.isYearly=C;exports.monthlyPattern=Ge;exports.openDownloadWindow=Qn;exports.quarterPattern=Qe;exports.semiAnnuallyPattern=qe;exports.sortPeriods=En;exports.splitUrn=p;exports.weeklyPattern=Fe;exports.yearlyPattern=Be;
package/index.mjs CHANGED
@@ -3,7 +3,7 @@ const I = (e) => {
3
3
  const t = e.split("=");
4
4
  return t.length === 1 ? e : t[1];
5
5
  }
6
- }, w = (e) => {
6
+ }, p = (e) => {
7
7
  var s;
8
8
  if (e == null)
9
9
  return {};
@@ -14,7 +14,7 @@ const I = (e) => {
14
14
  };
15
15
  return t && (t.includes(":") && (n.agency = t.split(":")[0], n.id = t.split(":")[1].split("(")[0]), t.includes("(") && t.includes(")") && (n.version = (s = t.split("(")[1]) == null ? void 0 : s.split(")")[0])), n;
16
16
  }, Pe = (e) => {
17
- const [t, n] = e.split(")."), { agency: s, id: r, version: o } = w(t + ")");
17
+ const [t, n] = e.split(")."), { agency: s, id: r, version: o } = p(t + ")");
18
18
  return { childId: n, agency: s, id: r, version: o };
19
19
  }, Tn = (e, t, n) => {
20
20
  const s = t === "" ? "" : `(${t})`;
@@ -27,7 +27,7 @@ class Rn {
27
27
  this.client = t;
28
28
  }
29
29
  async getConstraints(t, n) {
30
- const { agency: s, id: r, version: o } = w(t), i = {
30
+ const { agency: s, id: r, version: o } = p(t), i = {
31
31
  filters: n || [],
32
32
  mode: ye.AVAILABLE,
33
33
  references: k.NONE
@@ -58,16 +58,16 @@ const xe = (e, t) => {
58
58
  }
59
59
  }, m = (e, t) => `${e}; labels=${t}`;
60
60
  var Se = /* @__PURE__ */ ((e) => (e.REFERENCE_PARTIAL = "referencepartial", e.FULL = "full", e))(Se || {});
61
- const Ye = "all", Ce = "sdmx/3.0/data/dataflow", Te = "&", se = ":", We = "=", ke = "+", pn = ",", qe = "*", re = (e, t, n) => {
62
- const { filterKey: s, timeFilter: r } = n, { agency: o, id: i, version: c } = w(e), a = [r || "", t].filter((l) => !!l).join(Te);
61
+ const Ye = "all", Ce = "sdmx/3.0/data/dataflow", Te = "&", se = ":", We = "=", ke = "+", wn = ",", qe = "*", re = (e, t, n) => {
62
+ const { filterKey: s, timeFilter: r } = n, { agency: o, id: i, version: c } = p(e), a = [r || "", t].filter((l) => !!l).join(Te);
63
63
  return `${`${Ce}/${o}/${i}/${c}`}/${s || qe}?${a}`;
64
64
  }, Me = (e = "", t = "", n = "", s = k.DESCENDANTS) => `sdmx/3.0/structure/dataflow/${e}/${t}/${n}?references=${s}&detail=${Se.REFERENCE_PARTIAL}`;
65
- class wn {
65
+ class pn {
66
66
  constructor(t) {
67
67
  this.client = t;
68
68
  }
69
69
  async getDataSet(t, n) {
70
- const { agency: s, id: r, version: o } = w(t);
70
+ const { agency: s, id: r, version: o } = p(t);
71
71
  return await this.client.getRequest(
72
72
  Me(s, r, o, n)
73
73
  );
@@ -105,7 +105,7 @@ class wn {
105
105
  const Qe = (e, t) => e.error || e.message || `${t.status} ${t.statusText}`, Be = "application/json", Ve = "Content-Type", x = "Api-Key", Fe = "X-CONVERSATION-ID", $ = "Ocp-Apim-Subscription-Key";
106
106
  class oe extends Error {
107
107
  constructor(t) {
108
- super(t.message), this.isHttpError = !0, this.name = "HttpError", this.status = t.status, this.details = t.details;
108
+ super(t.message), this.isHttpError = !0, this.name = "HttpError", this.code = t.code, this.status = t.status, this.details = t.details;
109
109
  }
110
110
  }
111
111
  const v = (e) => isNaN(Date.parse(e)) ? null : new Date(e), Y = (e, t, n) => {
@@ -212,12 +212,13 @@ class je {
212
212
  console.info("SSE: Stream completed");
213
213
  return;
214
214
  }
215
+ let o;
215
216
  try {
216
- const o = JSON.parse(r);
217
- n == null || n(o);
218
- } catch (o) {
219
- console.error(`Failed to parse SSE data: ${r} ${o}`);
217
+ o = JSON.parse(r);
218
+ } catch (i) {
219
+ console.error(`Failed to parse SSE data: ${r} ${i}`);
220
220
  }
221
+ n == null || n(o);
221
222
  }
222
223
  }
223
224
  }
@@ -559,7 +560,7 @@ function ae(e, t = "W") {
559
560
  const r = `${e}-12-24`;
560
561
  return _(new Date(r), t).weekNumber;
561
562
  }
562
- function pe(e, t, n = "W") {
563
+ function we(e, t, n = "W") {
563
564
  return `${e}-${n}${t < 10 ? "0" + t : t}`;
564
565
  }
565
566
  function _(e, t = "W") {
@@ -567,7 +568,7 @@ function _(e, t = "W") {
567
568
  (n.getTime() - r.getTime()) / z
568
569
  );
569
570
  return {
570
- code: pe(s, o, t),
571
+ code: we(s, o, t),
571
572
  weekNumber: o,
572
573
  weekYear: s
573
574
  };
@@ -580,11 +581,11 @@ function St(e) {
580
581
  const [t, n] = e.split("-W"), r = J(+t).getTime() + (+n - 1) * z + 3 * H;
581
582
  return new Date(r);
582
583
  }
583
- function we(e) {
584
- return Q(e) ? Tt(e) : B(e) ? pt(e) : K(e) ? mt(e) : F(e) ? Nt(e) : j(e) ? yt(e) : It(e);
584
+ function pe(e) {
585
+ return Q(e) ? Tt(e) : B(e) ? wt(e) : K(e) ? mt(e) : F(e) ? Nt(e) : j(e) ? yt(e) : It(e);
585
586
  }
586
587
  function me(e) {
587
- return Q(e) ? Rt(e) : B(e) ? wt(e) : K(e) ? vt(e) : F(e) ? $t(e) : j(e) ? St(e) : _t(e);
588
+ return Q(e) ? Rt(e) : B(e) ? pt(e) : K(e) ? vt(e) : F(e) ? $t(e) : j(e) ? St(e) : _t(e);
588
589
  }
589
590
  function Tt(e) {
590
591
  const t = M(e);
@@ -596,7 +597,7 @@ function Rt(e) {
596
597
  if (t)
597
598
  return new Date(Number(t[0]) + 1, 0, 1);
598
599
  }
599
- function pt(e) {
600
+ function wt(e) {
600
601
  const [t, n] = e.split("-S");
601
602
  switch (+n) {
602
603
  case 1:
@@ -605,7 +606,7 @@ function pt(e) {
605
606
  return new Date(+t, 6, 1);
606
607
  }
607
608
  }
608
- function wt(e) {
609
+ function pt(e) {
609
610
  const [t, n] = e.split("-S");
610
611
  switch (+n) {
611
612
  case 1:
@@ -721,7 +722,7 @@ const It = (e) => /* @__PURE__ */ new Date(`${e}T00:00:00`), _t = (e) => {
721
722
  return n ? (n.getTimezoneOffset() > 0 && n.setMinutes(n.getMinutes() + n.getTimezoneOffset()), n) : /* @__PURE__ */ new Date();
722
723
  }, Ct = (e, t = !1) => {
723
724
  const n = Number(e);
724
- return e.toString().length !== 13 ? t ? we(e) : me(e) : isNaN(n) ? /* @__PURE__ */ new Date(`${e}T00:00:00.000Z`) : new Date(n);
725
+ return e.toString().length !== 13 ? t ? pe(e) : me(e) : isNaN(n) ? /* @__PURE__ */ new Date(`${e}T00:00:00.000Z`) : new Date(n);
725
726
  }, Wt = (e, t) => t ? Math.floor((e + 1) / 3) : Math.ceil((e + 1) / 3), On = (e, t) => {
726
727
  const n = le(e) - le(t);
727
728
  if (n === 0 && e !== t) {
@@ -730,10 +731,10 @@ const It = (e) => /* @__PURE__ */ new Date(`${e}T00:00:00`), _t = (e) => {
730
731
  }
731
732
  return n;
732
733
  }, ue = (e) => Q(e) ? 6 : B(e) ? 5 : K(e) ? 4 : F(e) ? 3 : j(e) ? 2 : Et(e) ? 1 : 0, le = (e, t = !1) => {
733
- const n = t ? we(e) : me(e);
734
+ const n = t ? pe(e) : me(e);
734
735
  return (n == null ? void 0 : n.getTime()) || 0;
735
736
  };
736
- var X = /* @__PURE__ */ ((e) => (e.LAST_UPDATE_AT = "lastUpdatedAt", e.SERIES_COUNT = "series_count", e))(X || {}), kt = /* @__PURE__ */ ((e) => (e.C = "c", e))(kt || {}), p = /* @__PURE__ */ ((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))(p || {}), qt = /* @__PURE__ */ ((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))(qt || {}), Mt = /* @__PURE__ */ ((e) => (e.ANNUAL = "A", e.QUARTERLY = "Q", e.MONTHLY = "M", e))(Mt || {});
737
+ var X = /* @__PURE__ */ ((e) => (e.LAST_UPDATE_AT = "lastUpdatedAt", e.SERIES_COUNT = "series_count", e))(X || {}), kt = /* @__PURE__ */ ((e) => (e.C = "c", e))(kt || {}), w = /* @__PURE__ */ ((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))(w || {}), qt = /* @__PURE__ */ ((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))(qt || {}), Mt = /* @__PURE__ */ ((e) => (e.ANNUAL = "A", e.QUARTERLY = "Q", e.MONTHLY = "M", e))(Mt || {});
737
738
  function Pn(e) {
738
739
  var t, n;
739
740
  return (n = (t = e == null ? void 0 : e.annotations) == null ? void 0 : t.find((s) => {
@@ -803,7 +804,7 @@ const Z = (e, t) => (e == null ? void 0 : e.names) && (e == null ? void 0 : e.na
803
804
  return (n = e == null ? void 0 : e.filters) == null || n.forEach((s) => {
804
805
  s.componentCode !== Ft && t.push({
805
806
  componentCode: s.componentCode,
806
- operator: p.EQUALS,
807
+ operator: w.EQUALS,
807
808
  value: s.values.join(",")
808
809
  });
809
810
  }), t;
@@ -847,7 +848,7 @@ const Z = (e, t) => (e == null ? void 0 : e.names) && (e == null ? void 0 : e.na
847
848
  if (Ee.indexOf(e) === -1)
848
849
  throw new Error(`Invalid operator, expected one of ${Ee.join("|")}`);
849
850
  }, W = "+", ee = (e, t) => {
850
- const { agency: n, id: s, version: r } = w(e), o = t.filter(
851
+ const { agency: n, id: s, version: r } = p(e), o = t.filter(
851
852
  (a) => {
852
853
  var u;
853
854
  return a.agencyID === n && a.id === s && !((u = a == null ? void 0 : a.version) != null && u.includes(W));
@@ -1021,9 +1022,9 @@ const Mn = (e) => {
1021
1022
  return null;
1022
1023
  const n = [], { startPeriod: s, endPeriod: r } = e;
1023
1024
  if (s && n.push(
1024
- `${p.GREATER_OR_EQUAL}${se}${s.toISOString().split("T")[0]}`
1025
+ `${w.GREATER_OR_EQUAL}${se}${s.toISOString().split("T")[0]}`
1025
1026
  ), r && n.push(
1026
- `${p.LESS_OR_EQUAL}${se}${r.toISOString().split("T")[0]}`
1027
+ `${w.LESS_OR_EQUAL}${se}${r.toISOString().split("T")[0]}`
1027
1028
  ), n.length === 0)
1028
1029
  return null;
1029
1030
  const o = t;
@@ -1044,9 +1045,9 @@ const Mn = (e) => {
1044
1045
  if (!r.length)
1045
1046
  return null;
1046
1047
  const o = s.operator;
1047
- if (o === p.LESS_OR_EQUAL || o === p.LESS)
1048
+ if (o === w.LESS_OR_EQUAL || o === w.LESS)
1048
1049
  return { startPeriod: null, endPeriod: v(r[0]) };
1049
- if (o === p.GREATER_OR_EQUAL || o === p.GREATER)
1050
+ if (o === w.GREATER_OR_EQUAL || o === w.GREATER)
1050
1051
  return { startPeriod: v(r[0]), endPeriod: null };
1051
1052
  const i = v(r[0]), c = v(r[1]);
1052
1053
  return { startPeriod: i, endPeriod: c };
@@ -1063,7 +1064,7 @@ const Mn = (e) => {
1063
1064
  const c = _(o, s), a = c.weekYear === r ? c.weekNumber : c.weekYear < r ? 1 : ae(r, s), u = _(i, s), l = u.weekYear === r ? u.weekNumber : u.weekYear > r ? ae(r, s) : 1, f = [];
1064
1065
  if (a < l)
1065
1066
  for (let h = a; h <= l; h++)
1066
- f.push(pe(r, h, s));
1067
+ f.push(we(r, h, s));
1067
1068
  return f;
1068
1069
  }, En = (e) => {
1069
1070
  const t = new Date(e);
@@ -1128,14 +1129,14 @@ export {
1128
1129
  He as AssignmentStatus,
1129
1130
  Rn as AvailabilityApi,
1130
1131
  Ce as DATASET_DATA_URL,
1131
- wn as DatasetApi,
1132
+ pn as DatasetApi,
1132
1133
  q as DimensionType,
1133
1134
  Ue as DownloadType,
1134
1135
  vn as FREQUENCY_DIMENSION_ID,
1135
1136
  Sn as FREQUENCY_DIM_ID,
1136
1137
  Le as FileColumnsAttribute,
1137
1138
  qe as GET_v3_FILTER_ALL,
1138
- pn as GET_v3_FILTER_AND,
1139
+ wn as GET_v3_FILTER_AND,
1139
1140
  ke as GET_v3_FILTER_OR,
1140
1141
  Ze as OBSERVATION_KEY,
1141
1142
  ze as OccurrenceType,
@@ -1148,7 +1149,7 @@ export {
1148
1149
  N as SdmxDataFormat,
1149
1150
  Se as SdmxDetails,
1150
1151
  k as SdmxReferences,
1151
- p as SeriesFilterOperator,
1152
+ w as SeriesFilterOperator,
1152
1153
  Ft as TIME_PERIOD,
1153
1154
  Bt as TIME_PERIOD_END,
1154
1155
  Vt as TIME_PERIOD_START,
@@ -1187,7 +1188,7 @@ export {
1187
1188
  V as getMonthlyRegExp,
1188
1189
  me as getParsedEndPeriodDate,
1189
1190
  $n as getParsedResponse,
1190
- we as getParsedStartPeriodDate,
1191
+ pe as getParsedStartPeriodDate,
1191
1192
  R as getPeriodDate,
1192
1193
  Dn as getPeriods,
1193
1194
  In as getQuarterByMonth,
@@ -1209,7 +1210,7 @@ export {
1209
1210
  Qn as getTimeSeriesCount,
1210
1211
  Vn as getTimeSeriesFilterKey,
1211
1212
  nt as getTimeSeriesId,
1212
- pe as getWeekCode,
1213
+ we as getWeekCode,
1213
1214
  St as getWeeklyPeriodEndDate,
1214
1215
  yt as getWeeklyPeriodStartDate,
1215
1216
  At as getWeeklyRegExp,
@@ -1230,7 +1231,7 @@ export {
1230
1231
  ct as quarterPattern,
1231
1232
  ut as semiAnnuallyPattern,
1232
1233
  On as sortPeriods,
1233
- w as splitUrn,
1234
+ p as splitUrn,
1234
1235
  at as weeklyPattern,
1235
1236
  lt as yearlyPattern
1236
1237
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@epam/statgpt-sdmx-toolkit",
3
- "version": "0.2.0-rc.39",
3
+ "version": "0.2.0-rc.40",
4
4
  "license": "MIT",
5
5
  "exports": {
6
6
  ".": {
@@ -14,8 +14,8 @@
14
14
  "module": "./index.mjs",
15
15
  "types": "./index.d.ts",
16
16
  "dependencies": {
17
- "@epam/statgpt-dial-toolkit": "0.2.0-rc.39",
18
- "@epam/statgpt-shared-toolkit": "0.2.0-rc.39",
17
+ "@epam/statgpt-dial-toolkit": "0.2.0-rc.40",
18
+ "@epam/statgpt-shared-toolkit": "0.2.0-rc.40",
19
19
  "compare-versions": "^6.1.1"
20
20
  }
21
21
  }