@epam/statgpt-sdmx-toolkit 0.1.0-rc.1 → 0.1.0-rc.3
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.
- package/api/sdmx-api-client.d.ts +1 -1
- package/constants/index.d.ts +1 -0
- package/index.cjs +2 -1
- package/index.mjs +565 -395
- package/package.json +3 -3
- package/types/index.d.ts +1 -0
- package/utils/constraint.d.ts +1 -1
- package/utils/get-periods.d.ts +2 -36
- package/utils/index.d.ts +1 -0
- package/utils/query-filters.d.ts +1 -2
package/index.mjs
CHANGED
|
@@ -1,85 +1,85 @@
|
|
|
1
|
-
const
|
|
1
|
+
const N = (e) => {
|
|
2
2
|
if (e != null) {
|
|
3
3
|
const t = e.split("=");
|
|
4
4
|
return t.length === 1 ? e : t[1];
|
|
5
5
|
}
|
|
6
|
-
},
|
|
6
|
+
}, p = (e) => {
|
|
7
7
|
var r;
|
|
8
8
|
if (e == null)
|
|
9
9
|
return {};
|
|
10
|
-
const t =
|
|
10
|
+
const t = N(e), n = {
|
|
11
11
|
agency: "",
|
|
12
12
|
id: "",
|
|
13
13
|
version: ""
|
|
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 = (r = t.split("(")[1]) == null ? void 0 : r.split(")")[0])), n;
|
|
16
16
|
}, Pe = (e) => {
|
|
17
|
-
const [t, n] = e.split(")."), { agency: r, id: s, version: o } =
|
|
17
|
+
const [t, n] = e.split(")."), { agency: r, id: s, version: o } = p(t + ")");
|
|
18
18
|
return { childId: n, agency: r, id: s, version: o };
|
|
19
|
-
},
|
|
19
|
+
}, yn = (e, t, n) => {
|
|
20
20
|
const r = t === "" ? "" : `(${t})`;
|
|
21
21
|
return `${n}:${e}${r}`;
|
|
22
22
|
};
|
|
23
|
-
var
|
|
24
|
-
const
|
|
25
|
-
class
|
|
23
|
+
var k = /* @__PURE__ */ ((e) => (e.DESCENDANTS = "descendants", e.NONE = "none", e.ALL = "all", e))(k || {}), Ae = /* @__PURE__ */ ((e) => (e.EXACT = "exact", e.AVAILABLE = "available", e))(Ae || {});
|
|
24
|
+
const _e = (e = "", t = "", n = "") => `sdmx/3.0/availability/dataflow/${e}/${t}/${n}`;
|
|
25
|
+
class Dn {
|
|
26
26
|
constructor(t) {
|
|
27
27
|
this.client = t;
|
|
28
28
|
}
|
|
29
29
|
async getConstraints(t, n) {
|
|
30
|
-
const { agency: r, id: s, version: o } =
|
|
30
|
+
const { agency: r, id: s, version: o } = p(t), i = {
|
|
31
31
|
filters: n || [],
|
|
32
|
-
mode:
|
|
33
|
-
references:
|
|
34
|
-
}, c =
|
|
32
|
+
mode: Ae.AVAILABLE,
|
|
33
|
+
references: k.NONE
|
|
34
|
+
}, c = _e(r, s, o);
|
|
35
35
|
return await this.client.postRequest(c, { body: i });
|
|
36
36
|
}
|
|
37
37
|
}
|
|
38
|
-
var
|
|
39
|
-
const
|
|
38
|
+
var $ = /* @__PURE__ */ ((e) => (e.CSV = "csv", e.JSON = "json", e.XML = "xml", e))($ || {}), Oe = /* @__PURE__ */ ((e) => (e.ID = "id", e.NAME = "name", e.ID_NAME = "both", e))(Oe || {}), Le = /* @__PURE__ */ ((e) => (e.FULL_DATASET = "full", e.DATA_IN_TABLE = "query", e))(Le || {});
|
|
39
|
+
const be = (e, t) => {
|
|
40
40
|
switch (e) {
|
|
41
|
-
case
|
|
42
|
-
return
|
|
41
|
+
case $.CSV:
|
|
42
|
+
return m(
|
|
43
43
|
"application/vnd.sdmx.data+csv;version=2.0.0",
|
|
44
44
|
t
|
|
45
45
|
);
|
|
46
|
-
case
|
|
47
|
-
return
|
|
46
|
+
case $.XML:
|
|
47
|
+
return m(
|
|
48
48
|
"application/vnd.sdmx.data+xml;version=3.0.0",
|
|
49
49
|
t
|
|
50
50
|
);
|
|
51
|
-
case
|
|
52
|
-
return
|
|
51
|
+
case $.JSON:
|
|
52
|
+
return m(`application/${e}`, t);
|
|
53
53
|
default:
|
|
54
|
-
return
|
|
54
|
+
return m(
|
|
55
55
|
"application/vnd.sdmx.data+csv;version=2.0.0",
|
|
56
56
|
t
|
|
57
57
|
);
|
|
58
58
|
}
|
|
59
|
-
},
|
|
60
|
-
var
|
|
61
|
-
const
|
|
62
|
-
const { filterKey: r, timeFilter: s } = n, { agency: o, id: i, version: c } =
|
|
63
|
-
return `${`${
|
|
64
|
-
},
|
|
65
|
-
class
|
|
59
|
+
}, m = (e, t) => `${e}; labels=${t}`;
|
|
60
|
+
var ye = /* @__PURE__ */ ((e) => (e.REFERENCE_PARTIAL = "referencepartial", e.FULL = "full", e))(ye || {});
|
|
61
|
+
const Ue = "all", xe = "sdmx/3.0/data/dataflow", De = "&", ne = ":", Ye = "=", We = "+", Sn = ",", ke = "*", re = (e, t, n) => {
|
|
62
|
+
const { filterKey: r, timeFilter: s } = n, { agency: o, id: i, version: c } = p(e), a = [s || "", t].filter((l) => !!l).join(De);
|
|
63
|
+
return `${`${xe}/${o}/${i}/${c}`}/${r || ke}?${a}`;
|
|
64
|
+
}, qe = (e = "", t = "", n = "", r = k.DESCENDANTS) => `sdmx/3.0/structure/dataflow/${e}/${t}/${n}?references=${r}&detail=${ye.REFERENCE_PARTIAL}`;
|
|
65
|
+
class Tn {
|
|
66
66
|
constructor(t) {
|
|
67
67
|
this.client = t;
|
|
68
68
|
}
|
|
69
69
|
async getDataSet(t, n) {
|
|
70
|
-
const { agency: r, id: s, version: o } =
|
|
70
|
+
const { agency: r, id: s, version: o } = p(t);
|
|
71
71
|
return await this.client.getRequest(
|
|
72
|
-
|
|
72
|
+
qe(r, s, o, n)
|
|
73
73
|
);
|
|
74
74
|
}
|
|
75
75
|
async getDatasetData(t, n) {
|
|
76
76
|
const r = new URLSearchParams({
|
|
77
77
|
includeHistory: "false",
|
|
78
78
|
limit: "10000",
|
|
79
|
-
attributes:
|
|
79
|
+
attributes: Ue,
|
|
80
80
|
dimensionAtObservation: "TIME_PERIOD"
|
|
81
81
|
// TODO: use time dimensions
|
|
82
|
-
}).toString(), s =
|
|
82
|
+
}).toString(), s = re(t, r, n);
|
|
83
83
|
return await this.client.getRequest(s);
|
|
84
84
|
}
|
|
85
85
|
async downloadDataSet(t, n, r, s, o, i, c = !1) {
|
|
@@ -87,13 +87,13 @@ class sn {
|
|
|
87
87
|
format: n,
|
|
88
88
|
compress: "false",
|
|
89
89
|
attributes: c ? "all" : "none"
|
|
90
|
-
}).toString(), u =
|
|
90
|
+
}).toString(), u = re(t, a, o);
|
|
91
91
|
return this.client.streamRequest(
|
|
92
92
|
u,
|
|
93
93
|
{
|
|
94
94
|
method: "GET",
|
|
95
95
|
headers: {
|
|
96
|
-
Accept:
|
|
96
|
+
Accept: be(n, s),
|
|
97
97
|
"Accept-language": r
|
|
98
98
|
}
|
|
99
99
|
},
|
|
@@ -101,20 +101,109 @@ class sn {
|
|
|
101
101
|
);
|
|
102
102
|
}
|
|
103
103
|
}
|
|
104
|
-
const
|
|
105
|
-
method: n.method || "GET",
|
|
106
|
-
headers: t,
|
|
107
|
-
body: n.body ? JSON.stringify(n.body) : void 0
|
|
108
|
-
}), xe = "application/json", Be = "Content-Type", N = "Api-Key", Ve = "X-CONVERSATION-ID", J = (e, t, n) => {
|
|
104
|
+
const Ce = (e, t) => e.error || e.message || `${t.status} ${t.statusText}`, Me = "application/json", Qe = "Content-Type", U = "Api-Key", Be = "X-CONVERSATION-ID", v = (e) => isNaN(Date.parse(e)) ? null : new Date(e), x = (e, t, n) => {
|
|
109
105
|
const r = {
|
|
110
|
-
[
|
|
106
|
+
[Qe]: (t == null ? void 0 : t.contentType) || Me
|
|
111
107
|
};
|
|
112
|
-
return t != null && t.jwt && (r.Authorization = `Bearer ${t.jwt}`), t != null && t.chatReference && (r[
|
|
113
|
-
},
|
|
108
|
+
return t != null && t.jwt && (r.Authorization = `Bearer ${t.jwt}`), t != null && t.chatReference && (r[Be] = t.chatReference), { ...r, ...n };
|
|
109
|
+
}, Ve = (e) => {
|
|
114
110
|
const t = { ...e };
|
|
115
|
-
return t[
|
|
116
|
-
},
|
|
117
|
-
|
|
111
|
+
return t[U] && (t[U] = t[U].substring(0, 8) + "...[REDACTED]"), t.Authorization && (t.Authorization = "Bearer [REDACTED]"), t;
|
|
112
|
+
}, se = async (e, t, n) => await fetch(e, {
|
|
113
|
+
method: n.method || "GET",
|
|
114
|
+
headers: t,
|
|
115
|
+
body: n.body ? JSON.stringify(n.body) : void 0
|
|
116
|
+
}), Fe = async (e, t, n) => await fetch(e, {
|
|
117
|
+
method: n.method,
|
|
118
|
+
headers: t,
|
|
119
|
+
body: n != null && n.isFormData && typeof (n == null ? void 0 : n.body) == "string" ? n.body : JSON.stringify(n.body),
|
|
120
|
+
signal: n == null ? void 0 : n.signal
|
|
121
|
+
});
|
|
122
|
+
class Ge {
|
|
123
|
+
constructor() {
|
|
124
|
+
this.decoder = new TextDecoder();
|
|
125
|
+
}
|
|
126
|
+
async streamChat(t, n, r = {}, s) {
|
|
127
|
+
const { onMessage: o, onError: i, onComplete: c, signal: a } = r;
|
|
128
|
+
try {
|
|
129
|
+
const u = await this.initializeStreamRequest(
|
|
130
|
+
t,
|
|
131
|
+
n,
|
|
132
|
+
a,
|
|
133
|
+
s
|
|
134
|
+
);
|
|
135
|
+
await this.processStreamData(u, o), c == null || c();
|
|
136
|
+
} catch (u) {
|
|
137
|
+
this.handleStreamError(u, i);
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
async initializeStreamRequest(t, n, r, s) {
|
|
141
|
+
const o = x(void 0, {
|
|
142
|
+
jwt: s
|
|
143
|
+
}), i = await Fe(
|
|
144
|
+
t,
|
|
145
|
+
{
|
|
146
|
+
Accept: "text/event-stream",
|
|
147
|
+
...o
|
|
148
|
+
},
|
|
149
|
+
{
|
|
150
|
+
method: "POST",
|
|
151
|
+
body: n,
|
|
152
|
+
signal: r
|
|
153
|
+
}
|
|
154
|
+
);
|
|
155
|
+
if (!i.ok) {
|
|
156
|
+
const c = await i.text();
|
|
157
|
+
throw new Error(`HTTP ${i.status}: ${c}`);
|
|
158
|
+
}
|
|
159
|
+
if (!i.body)
|
|
160
|
+
throw new Error("No response body");
|
|
161
|
+
return i.body.getReader();
|
|
162
|
+
}
|
|
163
|
+
async processStreamData(t, n) {
|
|
164
|
+
let r = "";
|
|
165
|
+
try {
|
|
166
|
+
for (; ; ) {
|
|
167
|
+
const { done: s, value: o } = await t.read();
|
|
168
|
+
if (s) {
|
|
169
|
+
r.trim() && this.parseSSEDataLine(r, n);
|
|
170
|
+
break;
|
|
171
|
+
}
|
|
172
|
+
const i = this.decoder.decode(o, { stream: !0 });
|
|
173
|
+
r += i;
|
|
174
|
+
const c = r.split(`
|
|
175
|
+
`);
|
|
176
|
+
r = c.pop() || "";
|
|
177
|
+
for (const a of c)
|
|
178
|
+
this.parseSSEDataLine(a, n);
|
|
179
|
+
}
|
|
180
|
+
} finally {
|
|
181
|
+
t.releaseLock();
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
handleStreamError(t, n) {
|
|
185
|
+
const r = t instanceof Error ? t : new Error(String(t));
|
|
186
|
+
throw n == null || n(r), r;
|
|
187
|
+
}
|
|
188
|
+
parseSSEDataLine(t, n) {
|
|
189
|
+
const r = t.trim();
|
|
190
|
+
if (!(!r || r.startsWith(":")) && r.startsWith("data: ")) {
|
|
191
|
+
const s = r.slice(6);
|
|
192
|
+
if (s === "[DONE]") {
|
|
193
|
+
console.info("SSE: Stream completed");
|
|
194
|
+
return;
|
|
195
|
+
}
|
|
196
|
+
try {
|
|
197
|
+
const o = JSON.parse(s);
|
|
198
|
+
console.info(`SSE: Parsed data: ${o}`), n == null || n(o);
|
|
199
|
+
} catch (o) {
|
|
200
|
+
console.error(`Failed to parse SSE data: ${s} ${o}`);
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
new Ge();
|
|
206
|
+
class wn {
|
|
118
207
|
constructor(t) {
|
|
119
208
|
this.config = t, console.info("SdmxApiClient initialized", {
|
|
120
209
|
apiUrl: t.apiUrl || "NOT SET"
|
|
@@ -128,7 +217,7 @@ class on {
|
|
|
128
217
|
}
|
|
129
218
|
async streamRequest(t, n, r) {
|
|
130
219
|
const s = `${this.config.apiUrl}/${t}`, o = {
|
|
131
|
-
...
|
|
220
|
+
...x(void 0, {
|
|
132
221
|
jwt: this.config.jwt
|
|
133
222
|
}),
|
|
134
223
|
...n.headers
|
|
@@ -138,20 +227,20 @@ class on {
|
|
|
138
227
|
async start(a) {
|
|
139
228
|
var u;
|
|
140
229
|
try {
|
|
141
|
-
const l = await
|
|
230
|
+
const l = await se(s, o, n);
|
|
142
231
|
if (!l.ok) {
|
|
143
|
-
const
|
|
232
|
+
const g = await l.text();
|
|
144
233
|
throw console.error(
|
|
145
|
-
`Fetch failed! Status: ${l.status}, Body: ${
|
|
234
|
+
`Fetch failed! Status: ${l.status}, Body: ${g}`
|
|
146
235
|
), new Error(`Fetch failed with status ${l.status}`);
|
|
147
236
|
}
|
|
148
|
-
const
|
|
149
|
-
if (!
|
|
150
|
-
const
|
|
151
|
-
a.enqueue(
|
|
237
|
+
const f = (u = l.body) == null ? void 0 : u.getReader();
|
|
238
|
+
if (!f) throw new Error("Failed to create stream reader");
|
|
239
|
+
const h = new Uint8Array([239, 187, 191]);
|
|
240
|
+
a.enqueue(h);
|
|
152
241
|
const d = async () => {
|
|
153
|
-
const { done:
|
|
154
|
-
|
|
242
|
+
const { done: g, value: E } = await f.read();
|
|
243
|
+
g ? a.close() : (a.enqueue(E), await d());
|
|
155
244
|
};
|
|
156
245
|
d();
|
|
157
246
|
} catch (l) {
|
|
@@ -165,14 +254,14 @@ class on {
|
|
|
165
254
|
}
|
|
166
255
|
async request(t, n) {
|
|
167
256
|
const r = Date.now(), s = t.includes("availability") && this.config.constrainsApiUrl ? `${this.config.constrainsApiUrl}/${t}` : `${this.config.apiUrl}/${t}`, o = {
|
|
168
|
-
...
|
|
257
|
+
...x(void 0, {
|
|
169
258
|
jwt: this.config.jwt
|
|
170
259
|
}),
|
|
171
260
|
...n.headers
|
|
172
261
|
};
|
|
173
262
|
this.config.apiKey != null && (o["Ocp-Apim-Subscription-Key"] = this.config.apiKey), this.addInfoRequestLog("API Request", s, n, o);
|
|
174
263
|
try {
|
|
175
|
-
const i = await
|
|
264
|
+
const i = await se(s, o, n), c = Date.now() - r;
|
|
176
265
|
let a;
|
|
177
266
|
const u = await i.text();
|
|
178
267
|
try {
|
|
@@ -192,7 +281,7 @@ class on {
|
|
|
192
281
|
}
|
|
193
282
|
if (!i.ok) {
|
|
194
283
|
this.addErrorRequestLog(s, n, i, c, a);
|
|
195
|
-
const l =
|
|
284
|
+
const l = Ce(a, i);
|
|
196
285
|
throw new Error(`API request failed: ${l}`);
|
|
197
286
|
}
|
|
198
287
|
return a;
|
|
@@ -210,7 +299,7 @@ class on {
|
|
|
210
299
|
const o = {
|
|
211
300
|
method: r.method || "GET",
|
|
212
301
|
url: n,
|
|
213
|
-
headers:
|
|
302
|
+
headers: Ve(s)
|
|
214
303
|
};
|
|
215
304
|
r.body && (o.body = r.body), console.info(t, o);
|
|
216
305
|
}
|
|
@@ -236,125 +325,126 @@ class on {
|
|
|
236
325
|
});
|
|
237
326
|
}
|
|
238
327
|
}
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
328
|
+
const Rn = ["FREQ", "FREQUENCY"];
|
|
329
|
+
var Ke = /* @__PURE__ */ ((e) => (e.CONDITIONAL = "Conditional", e.MANDATORY = "Mandatory", e))(Ke || {}), q = /* @__PURE__ */ ((e) => (e.DIMENSION = "Dimension", e.MEASURE_DIMENSION = "MeasureDimension", e.TIME_DIMENSION = "TimeDimension", e))(q || {}), je = /* @__PURE__ */ ((e) => (e.UNBOUNDED = "unbounded", e))(je || {});
|
|
330
|
+
const ze = (e, t) => {
|
|
331
|
+
var c, a, u, l, f;
|
|
332
|
+
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 = {};
|
|
333
|
+
for (const h of s) {
|
|
334
|
+
const d = h.relationship.dimensions, { codedSeriesKey: g, decodedSeriesKey: E } = Se(
|
|
245
335
|
e,
|
|
246
336
|
t,
|
|
247
337
|
d
|
|
248
338
|
);
|
|
249
|
-
i[
|
|
250
|
-
values: (o == null ? void 0 : o[
|
|
251
|
-
decodedSeriesKey:
|
|
252
|
-
codedSeriesKey:
|
|
339
|
+
i[h.id] = {
|
|
340
|
+
values: (o == null ? void 0 : o[g]) || [],
|
|
341
|
+
decodedSeriesKey: E,
|
|
342
|
+
codedSeriesKey: g
|
|
253
343
|
};
|
|
254
344
|
}
|
|
255
345
|
return i;
|
|
256
|
-
},
|
|
346
|
+
}, Se = (e, t, n) => {
|
|
257
347
|
var c, a;
|
|
258
348
|
const r = (a = (c = e == null ? void 0 : e.data) == null ? void 0 : c.structures) == null ? void 0 : a[0], s = [
|
|
259
349
|
...(r == null ? void 0 : r.dimensions.series) || [],
|
|
260
350
|
...(r == null ? void 0 : r.dimensions.observation) || []
|
|
261
351
|
], o = new Array(s == null ? void 0 : s.length), i = new Array(s == null ? void 0 : s.length);
|
|
262
352
|
return n == null || n.forEach((u) => {
|
|
263
|
-
const l = (s == null ? void 0 : s.findIndex((d) => d.id === u)) || 0,
|
|
264
|
-
(d) => d.id ===
|
|
353
|
+
const l = (s == null ? void 0 : s.findIndex((d) => d.id === u)) || 0, f = t[l], h = s[l].values.findIndex(
|
|
354
|
+
(d) => d.id === f || d.value === f
|
|
265
355
|
) || 0;
|
|
266
|
-
o[l] =
|
|
356
|
+
o[l] = h >= 0 ? h : f, i[l] = f;
|
|
267
357
|
}), {
|
|
268
358
|
codedSeriesKey: o.join(":"),
|
|
269
359
|
decodedSeriesKey: i.join(":")
|
|
270
360
|
};
|
|
271
|
-
},
|
|
272
|
-
var
|
|
273
|
-
const r = (
|
|
274
|
-
(
|
|
275
|
-
var
|
|
276
|
-
return ((
|
|
361
|
+
}, pn = (e, t, n) => {
|
|
362
|
+
var f, h, d, g, E;
|
|
363
|
+
const r = (h = (f = e == null ? void 0 : e.data) == null ? void 0 : f.dataSets) == null ? void 0 : h[0], s = (g = (d = e == null ? void 0 : e.data) == null ? void 0 : d.structures) == null ? void 0 : g[0], o = (((E = s == null ? void 0 : s.attributes) == null ? void 0 : E.dimensionGroup) || []).filter(
|
|
364
|
+
(y) => {
|
|
365
|
+
var A;
|
|
366
|
+
return ((A = y.relationship.dimensions) == null ? void 0 : A.length) === 1 && y.relationship.dimensions.includes(t || "");
|
|
277
367
|
}
|
|
278
368
|
), i = r == null ? void 0 : r.dimensionGroupAttributes, c = [
|
|
279
369
|
...(s == null ? void 0 : s.dimensions.series) || [],
|
|
280
370
|
...(s == null ? void 0 : s.dimensions.observation) || []
|
|
281
|
-
], a = c == null ? void 0 : c.findIndex((
|
|
371
|
+
], a = c == null ? void 0 : c.findIndex((y) => y.id === t), u = new Array(c == null ? void 0 : c.length);
|
|
282
372
|
u[a] = n || "";
|
|
283
373
|
const l = {};
|
|
284
|
-
for (const
|
|
285
|
-
const
|
|
374
|
+
for (const y of o) {
|
|
375
|
+
const A = y.relationship.dimensions, { codedSeriesKey: D, decodedSeriesKey: S } = Se(
|
|
286
376
|
e,
|
|
287
377
|
u,
|
|
288
|
-
|
|
378
|
+
A
|
|
289
379
|
);
|
|
290
|
-
l[
|
|
380
|
+
l[y.id] = {
|
|
291
381
|
values: (i == null ? void 0 : i[D]) || [],
|
|
292
|
-
decodedSeriesKey:
|
|
382
|
+
decodedSeriesKey: S,
|
|
293
383
|
codedSeriesKey: D
|
|
294
384
|
};
|
|
295
385
|
}
|
|
296
386
|
return l;
|
|
297
|
-
},
|
|
387
|
+
}, He = (e, t) => {
|
|
298
388
|
var r;
|
|
299
389
|
if (t == null)
|
|
300
390
|
return;
|
|
301
391
|
const n = (r = e.values) == null ? void 0 : r[t];
|
|
302
392
|
return n ?? (t instanceof Array ? { values: t } : { value: t.toString() });
|
|
303
|
-
},
|
|
304
|
-
var u, l,
|
|
305
|
-
const t = (u = e == null ? void 0 : e.data) == null ? void 0 : u.dataSets, n = (
|
|
393
|
+
}, Je = "Observation", mn = (e) => {
|
|
394
|
+
var u, l, f, h, d, g;
|
|
395
|
+
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];
|
|
306
396
|
if (!t || !n)
|
|
307
397
|
return [];
|
|
308
|
-
const r = n.attributes, s = n.dimensions, o = (r == null ? void 0 : r.dimensionGroup) || [], i = t[0].series || t[0].observations, c = (
|
|
309
|
-
for (const
|
|
310
|
-
const
|
|
311
|
-
|
|
398
|
+
const r = n.attributes, s = n.dimensions, o = (r == null ? void 0 : r.dimensionGroup) || [], i = t[0].series || t[0].observations, c = (h = s.series) != null && h.length ? s.series : s.observation, a = [];
|
|
399
|
+
for (const E in i) {
|
|
400
|
+
const y = [], { name: A, parsedTimeSeriesValue: D } = Xe(
|
|
401
|
+
E,
|
|
312
402
|
c
|
|
313
|
-
),
|
|
314
|
-
if (Object.keys(
|
|
403
|
+
), S = i[E], P = S.attributes || [];
|
|
404
|
+
if (Object.keys(S).length === 0) {
|
|
315
405
|
a.push({
|
|
316
|
-
name:
|
|
406
|
+
name: A,
|
|
317
407
|
parsedTimeSeriesValue: D,
|
|
318
|
-
values:
|
|
408
|
+
values: y,
|
|
319
409
|
attributes: [],
|
|
320
410
|
dataSetAttrs: []
|
|
321
411
|
});
|
|
322
412
|
continue;
|
|
323
413
|
}
|
|
324
|
-
|
|
325
|
-
...
|
|
414
|
+
y.push(
|
|
415
|
+
...nt(S, n)
|
|
326
416
|
);
|
|
327
|
-
const
|
|
417
|
+
const _ = Y(
|
|
328
418
|
(r == null ? void 0 : r.series) || [],
|
|
329
|
-
(T) =>
|
|
330
|
-
),
|
|
419
|
+
(T) => P[T]
|
|
420
|
+
), O = rt(
|
|
331
421
|
((d = n.attributes) == null ? void 0 : d.dataSet) || [],
|
|
332
|
-
((
|
|
333
|
-
),
|
|
422
|
+
((g = t[0].attributes) == null ? void 0 : g.filter((T) => T != null)) || []
|
|
423
|
+
), L = ze(
|
|
334
424
|
e,
|
|
335
425
|
D
|
|
336
|
-
),
|
|
337
|
-
const
|
|
426
|
+
), b = o.map((T, Ne) => {
|
|
427
|
+
const te = L[T.id], Ie = He(
|
|
338
428
|
T,
|
|
339
|
-
|
|
429
|
+
te.values[Ne]
|
|
340
430
|
);
|
|
341
431
|
return {
|
|
342
432
|
attribute: T,
|
|
343
|
-
dimensionGroupValue:
|
|
344
|
-
dimensionGroupData:
|
|
433
|
+
dimensionGroupValue: Ie,
|
|
434
|
+
dimensionGroupData: te
|
|
345
435
|
};
|
|
346
436
|
});
|
|
347
437
|
a.push({
|
|
348
|
-
name:
|
|
438
|
+
name: A,
|
|
349
439
|
parsedTimeSeriesValue: D,
|
|
350
|
-
values:
|
|
351
|
-
attributes:
|
|
352
|
-
dataSetAttrs:
|
|
353
|
-
dimensionGroupAttributes:
|
|
440
|
+
values: y,
|
|
441
|
+
attributes: _,
|
|
442
|
+
dataSetAttrs: O,
|
|
443
|
+
dimensionGroupAttributes: b
|
|
354
444
|
});
|
|
355
445
|
}
|
|
356
446
|
return a;
|
|
357
|
-
},
|
|
447
|
+
}, Xe = (e, t) => {
|
|
358
448
|
const n = e.split(new RegExp("(?<!\\|):(?!\\||$)")), r = [];
|
|
359
449
|
for (let s = 0; s < n.length; s++) {
|
|
360
450
|
const o = t == null ? void 0 : t[s], i = Number(n[s]);
|
|
@@ -368,70 +458,70 @@ const Qe = (e, t) => {
|
|
|
368
458
|
r.push((c == null ? void 0 : c.id) || (c == null ? void 0 : c.value) || "");
|
|
369
459
|
}
|
|
370
460
|
return {
|
|
371
|
-
name:
|
|
461
|
+
name: et(r),
|
|
372
462
|
parsedTimeSeriesValue: r
|
|
373
463
|
};
|
|
374
|
-
},
|
|
464
|
+
}, Y = (e, t) => {
|
|
375
465
|
const n = [];
|
|
376
466
|
for (let r = 0; r < e.length; r++) {
|
|
377
|
-
const s = e[r], o = t(r), i = o != null && s.values != null ?
|
|
467
|
+
const s = e[r], o = t(r), i = o != null && s.values != null ? Ze(o, s) : void 0;
|
|
378
468
|
n.push({
|
|
379
469
|
name: s.id,
|
|
380
470
|
value: i
|
|
381
471
|
});
|
|
382
472
|
}
|
|
383
473
|
return n;
|
|
384
|
-
},
|
|
474
|
+
}, Ze = (e, t) => {
|
|
385
475
|
const n = t.values[e];
|
|
386
476
|
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);
|
|
387
|
-
},
|
|
477
|
+
}, et = (e) => e.map((t) => t ? tt(t) : "").join("."), tt = (e) => e.replace(/\./g, "|.").replace(/:/g, "|:"), nt = (e, t) => {
|
|
388
478
|
var i, c, a, u, l;
|
|
389
479
|
const n = (c = (i = t.measures) == null ? void 0 : i.observation) == null ? void 0 : c.length;
|
|
390
480
|
if (e.observations == null)
|
|
391
481
|
return [
|
|
392
482
|
{
|
|
393
|
-
values:
|
|
394
|
-
obsAttributes:
|
|
483
|
+
values: oe(e, t.measures),
|
|
484
|
+
obsAttributes: Y(
|
|
395
485
|
((a = t.attributes) == null ? void 0 : a.observation) || [],
|
|
396
|
-
(
|
|
486
|
+
(f) => e[f + n]
|
|
397
487
|
),
|
|
398
|
-
dimensionAtObservation:
|
|
488
|
+
dimensionAtObservation: Je
|
|
399
489
|
}
|
|
400
490
|
];
|
|
401
491
|
const r = e.observations, s = (u = t.dimensions.observation) == null ? void 0 : u[0], o = [];
|
|
402
|
-
for (const
|
|
403
|
-
const
|
|
492
|
+
for (const f in r) {
|
|
493
|
+
const h = s == null ? void 0 : s.values[f];
|
|
404
494
|
o.push({
|
|
405
|
-
dimensionAtObservation: (
|
|
406
|
-
values:
|
|
407
|
-
r[
|
|
495
|
+
dimensionAtObservation: (h == null ? void 0 : h.value) || (h == null ? void 0 : h.id),
|
|
496
|
+
values: oe(
|
|
497
|
+
r[f],
|
|
408
498
|
t.measures
|
|
409
499
|
),
|
|
410
|
-
obsAttributes:
|
|
500
|
+
obsAttributes: Y(
|
|
411
501
|
((l = t.attributes) == null ? void 0 : l.observation) || [],
|
|
412
|
-
(d) => r[
|
|
502
|
+
(d) => r[f][d + n]
|
|
413
503
|
)
|
|
414
504
|
});
|
|
415
505
|
}
|
|
416
506
|
return o;
|
|
417
|
-
},
|
|
507
|
+
}, oe = (e, t) => {
|
|
418
508
|
var n;
|
|
419
509
|
return ((n = t == null ? void 0 : t.observation) == null ? void 0 : n.map((r, s) => ({ name: r.id, value: e[s] }))) || [];
|
|
420
|
-
},
|
|
510
|
+
}, rt = (e, t) => e.reduce(
|
|
421
511
|
(n, r, s) => {
|
|
422
512
|
const o = t[s];
|
|
423
|
-
return
|
|
513
|
+
return st(n, r, o, ""), n;
|
|
424
514
|
},
|
|
425
515
|
[]
|
|
426
|
-
),
|
|
516
|
+
), st = (e, t, n, r) => {
|
|
427
517
|
var o, i, c;
|
|
428
518
|
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;
|
|
429
519
|
e.push({
|
|
430
520
|
name: t.id,
|
|
431
521
|
value: s || ""
|
|
432
522
|
});
|
|
433
|
-
},
|
|
434
|
-
function
|
|
523
|
+
}, ot = /^[0-9][0-9][0-9][0-9]-Q[1-4]$/, it = /^[0-9][0-9][0-9][0-9]-W[0-9][0-9]?$/, ct = /^[0-9][0-9][0-9][0-9]-S[1-2]$/, at = /^[0-9][0-9][0-9][0-9]$/, ut = /^[0-9][0-9][0-9][0-9]-(0[1-9]|1[0-2])-[0-9][0-9]$/, lt = /^[0-9][0-9][0-9][0-9]-M(0[1-9]|(1[0-2]))$/, C = (e) => at.exec(e), M = (e) => !!C(e), dt = (e) => ct.exec(e), Q = (e) => !!dt(e), B = (e) => lt.exec(e), V = (e) => !!B(e), F = (e) => ot.exec(e), G = (e) => !!F(e), ft = (e) => ut.exec(e), gt = (e) => !!ft(e), ht = (e) => it.exec(e), K = (e) => !!ht(e), j = 1440 * 60 * 1e3, z = 7 * j;
|
|
524
|
+
function H(e) {
|
|
435
525
|
const t = `${e}-01-01`, n = new Date(t);
|
|
436
526
|
if (n.getDay() !== 4) {
|
|
437
527
|
const s = 1 + (4 - n.getDay() + 7) % 7;
|
|
@@ -439,55 +529,55 @@ function k(e) {
|
|
|
439
529
|
}
|
|
440
530
|
return n;
|
|
441
531
|
}
|
|
442
|
-
function
|
|
532
|
+
function Et(e) {
|
|
443
533
|
const t = new Date(e), r = -((t.getDay() + 6) % 7) + 3;
|
|
444
534
|
return t.setDate(t.getDate() + r), new Date(t.valueOf());
|
|
445
535
|
}
|
|
446
|
-
function
|
|
447
|
-
const n = `${e}-12-31`, r =
|
|
536
|
+
function ie(e, t = "W") {
|
|
537
|
+
const n = `${e}-12-31`, r = I(new Date(n), t);
|
|
448
538
|
if (r.weekYear === e)
|
|
449
539
|
return r.weekNumber;
|
|
450
540
|
const s = `${e}-12-24`;
|
|
451
|
-
return
|
|
541
|
+
return I(new Date(s), t).weekNumber;
|
|
452
542
|
}
|
|
453
|
-
function
|
|
543
|
+
function Te(e, t, n = "W") {
|
|
454
544
|
return `${e}-${n}${t < 10 ? "0" + t : t}`;
|
|
455
545
|
}
|
|
456
|
-
function
|
|
457
|
-
const n =
|
|
458
|
-
(n.getTime() - s.getTime()) /
|
|
546
|
+
function I(e, t = "W") {
|
|
547
|
+
const n = Et(e), r = n.getFullYear(), s = H(r), o = 1 + Math.ceil(
|
|
548
|
+
(n.getTime() - s.getTime()) / z
|
|
459
549
|
);
|
|
460
550
|
return {
|
|
461
|
-
code:
|
|
551
|
+
code: Te(r, o, t),
|
|
462
552
|
weekNumber: o,
|
|
463
553
|
weekYear: r
|
|
464
554
|
};
|
|
465
555
|
}
|
|
466
|
-
function
|
|
467
|
-
const [t, n] = e.split("-W"), s =
|
|
556
|
+
function At(e) {
|
|
557
|
+
const [t, n] = e.split("-W"), s = H(+t).getTime() + (+n - 1) * z - 3 * j;
|
|
468
558
|
return new Date(s);
|
|
469
559
|
}
|
|
470
|
-
function
|
|
471
|
-
const [t, n] = e.split("-W"), s =
|
|
560
|
+
function yt(e) {
|
|
561
|
+
const [t, n] = e.split("-W"), s = H(+t).getTime() + (+n - 1) * z + 3 * j;
|
|
472
562
|
return new Date(s);
|
|
473
563
|
}
|
|
474
|
-
function
|
|
475
|
-
return
|
|
564
|
+
function we(e) {
|
|
565
|
+
return M(e) ? Dt(e) : Q(e) ? Tt(e) : G(e) ? Rt(e) : V(e) ? mt(e) : K(e) ? At(e) : $t(e);
|
|
476
566
|
}
|
|
477
|
-
function
|
|
478
|
-
return
|
|
567
|
+
function Re(e) {
|
|
568
|
+
return M(e) ? St(e) : Q(e) ? wt(e) : G(e) ? pt(e) : V(e) ? vt(e) : K(e) ? yt(e) : Nt(e);
|
|
479
569
|
}
|
|
480
|
-
function
|
|
481
|
-
const t =
|
|
570
|
+
function Dt(e) {
|
|
571
|
+
const t = C(e);
|
|
482
572
|
if (t)
|
|
483
573
|
return new Date(Number(t[0]), 0, 1);
|
|
484
574
|
}
|
|
485
|
-
function
|
|
486
|
-
const t =
|
|
575
|
+
function St(e) {
|
|
576
|
+
const t = C(e);
|
|
487
577
|
if (t)
|
|
488
578
|
return new Date(Number(t[0]) + 1, 0, 1);
|
|
489
579
|
}
|
|
490
|
-
function
|
|
580
|
+
function Tt(e) {
|
|
491
581
|
const [t, n] = e.split("-S");
|
|
492
582
|
switch (+n) {
|
|
493
583
|
case 1:
|
|
@@ -496,7 +586,7 @@ function At(e) {
|
|
|
496
586
|
return new Date(+t, 6, 1);
|
|
497
587
|
}
|
|
498
588
|
}
|
|
499
|
-
function
|
|
589
|
+
function wt(e) {
|
|
500
590
|
const [t, n] = e.split("-S");
|
|
501
591
|
switch (+n) {
|
|
502
592
|
case 1:
|
|
@@ -505,8 +595,8 @@ function yt(e) {
|
|
|
505
595
|
return new Date(+t + 1, 0, 1);
|
|
506
596
|
}
|
|
507
597
|
}
|
|
508
|
-
function
|
|
509
|
-
const t =
|
|
598
|
+
function Rt(e) {
|
|
599
|
+
const t = F(e);
|
|
510
600
|
if (!t)
|
|
511
601
|
return;
|
|
512
602
|
const [n, r] = t[0].split("-Q");
|
|
@@ -521,8 +611,8 @@ function Dt(e) {
|
|
|
521
611
|
return new Date(+n, 9, 1);
|
|
522
612
|
}
|
|
523
613
|
}
|
|
524
|
-
function
|
|
525
|
-
const t =
|
|
614
|
+
function pt(e) {
|
|
615
|
+
const t = F(e);
|
|
526
616
|
if (!t)
|
|
527
617
|
return;
|
|
528
618
|
const [n, r] = t[0].split("-Q");
|
|
@@ -537,45 +627,45 @@ function Tt(e) {
|
|
|
537
627
|
return new Date(+n + 1, 0, 1);
|
|
538
628
|
}
|
|
539
629
|
}
|
|
540
|
-
function
|
|
541
|
-
const t =
|
|
630
|
+
function mt(e) {
|
|
631
|
+
const t = B(e);
|
|
542
632
|
if (!t)
|
|
543
633
|
return;
|
|
544
634
|
const [n, r] = t[0].split("-M");
|
|
545
635
|
return new Date(+n, +r - 1, 1);
|
|
546
636
|
}
|
|
547
|
-
function
|
|
548
|
-
const t =
|
|
637
|
+
function vt(e) {
|
|
638
|
+
const t = B(e);
|
|
549
639
|
if (!t)
|
|
550
640
|
return;
|
|
551
641
|
const [n, r] = t[0].split("-M");
|
|
552
642
|
return new Date(+n, +r, 1);
|
|
553
643
|
}
|
|
554
|
-
const
|
|
644
|
+
const $t = (e) => /* @__PURE__ */ new Date(`${e}T00:00:00`), Nt = (e) => {
|
|
555
645
|
const t = /* @__PURE__ */ new Date(`${e}T23:59:00`);
|
|
556
646
|
return t.setMinutes(t.getMinutes() + 1), t;
|
|
557
|
-
},
|
|
558
|
-
const o = [], i = t && t > 3 ?
|
|
647
|
+
}, It = 1, Pt = (e, t, n, r = !0, s = "Q") => {
|
|
648
|
+
const o = [], i = t && t > 3 ? Yt(t, r) : 1, c = n ? Math.floor((n - 1) / 3) : 4;
|
|
559
649
|
for (let a = i; a <= c; a++)
|
|
560
650
|
o.push(`${e}-${s}${a}`);
|
|
561
651
|
return o;
|
|
562
|
-
},
|
|
652
|
+
}, _t = (e, t, n, r = "S") => {
|
|
563
653
|
const s = [];
|
|
564
654
|
return (t || 1) < 7 && (n || 12) > 6 && s.push(`${e}-${r}1`), n == null && s.push(`${e}-${r}2`), s;
|
|
565
|
-
},
|
|
655
|
+
}, vn = (e) => Math.ceil(e / 3), pe = (e, t, n = "M") => `${e}-${n}${t.toString().padStart(2, "0")}`, Ot = (e, t, n = "M") => {
|
|
566
656
|
const r = [];
|
|
567
657
|
for (let s = t; s <= 12; s++)
|
|
568
|
-
r.push(
|
|
658
|
+
r.push(pe(e, s, n));
|
|
569
659
|
return r;
|
|
570
|
-
},
|
|
660
|
+
}, Lt = (e, t, n, r = "M") => {
|
|
571
661
|
const s = [];
|
|
572
662
|
for (let o = t; o < n; o++)
|
|
573
|
-
s.push(
|
|
663
|
+
s.push(pe(e, o, r));
|
|
574
664
|
return s;
|
|
575
|
-
},
|
|
665
|
+
}, bt = (e, t, n, r = "M") => {
|
|
576
666
|
const s = t || 1, o = n == null, i = n || 12;
|
|
577
|
-
return o ?
|
|
578
|
-
},
|
|
667
|
+
return o ? Ot(e, s, r) : Lt(e, s, i, r);
|
|
668
|
+
}, $n = (e, t, n = "M") => {
|
|
579
669
|
switch (t) {
|
|
580
670
|
case 0:
|
|
581
671
|
return [
|
|
@@ -604,61 +694,61 @@ const St = (e) => /* @__PURE__ */ new Date(`${e}T00:00:00`), vt = (e) => {
|
|
|
604
694
|
default:
|
|
605
695
|
return [];
|
|
606
696
|
}
|
|
607
|
-
},
|
|
608
|
-
const n =
|
|
697
|
+
}, Ut = (e, t) => {
|
|
698
|
+
const n = w(t, !0), r = w(e), s = n.getFullYear(), o = r.getFullYear(), i = n.getTime() <= r.getTime() ? o + It - s : 0;
|
|
609
699
|
return Array.from({ length: i }, (a, u) => s + u);
|
|
610
|
-
},
|
|
611
|
-
const n =
|
|
700
|
+
}, w = (e, t = !1) => {
|
|
701
|
+
const n = xt(e, t);
|
|
612
702
|
return n ? (n.getTimezoneOffset() > 0 && n.setMinutes(n.getMinutes() + n.getTimezoneOffset()), n) : /* @__PURE__ */ new Date();
|
|
613
|
-
},
|
|
703
|
+
}, xt = (e, t = !1) => {
|
|
614
704
|
const n = Number(e);
|
|
615
|
-
return e.toString().length !== 13 ? t ?
|
|
616
|
-
},
|
|
617
|
-
const n =
|
|
705
|
+
return e.toString().length !== 13 ? t ? we(e) : Re(e) : isNaN(n) ? /* @__PURE__ */ new Date(`${e}T00:00:00.000Z`) : new Date(n);
|
|
706
|
+
}, Yt = (e, t) => t ? Math.floor((e + 1) / 3) : Math.ceil((e + 1) / 3), Nn = (e, t) => {
|
|
707
|
+
const n = ae(e) - ae(t);
|
|
618
708
|
if (n === 0 && e !== t) {
|
|
619
|
-
const r =
|
|
709
|
+
const r = ce(e), s = ce(t);
|
|
620
710
|
return r - s;
|
|
621
711
|
}
|
|
622
712
|
return n;
|
|
623
|
-
},
|
|
624
|
-
const n = t ?
|
|
713
|
+
}, ce = (e) => M(e) ? 6 : Q(e) ? 5 : G(e) ? 4 : V(e) ? 3 : K(e) ? 2 : gt(e) ? 1 : 0, ae = (e, t = !1) => {
|
|
714
|
+
const n = t ? we(e) : Re(e);
|
|
625
715
|
return (n == null ? void 0 : n.getTime()) || 0;
|
|
626
716
|
};
|
|
627
|
-
var
|
|
628
|
-
function
|
|
717
|
+
var J = /* @__PURE__ */ ((e) => (e.LAST_UPDATE_AT = "lastUpdatedAt", e.SERIES_COUNT = "series_count", e))(J || {}), Wt = /* @__PURE__ */ ((e) => (e.C = "c", e))(Wt || {}), R = /* @__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))(R || {}), kt = /* @__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))(kt || {}), qt = /* @__PURE__ */ ((e) => (e.ANNUAL = "A", e.QUARTERLY = "Q", e.MONTHLY = "M", e))(qt || {});
|
|
718
|
+
function In(e) {
|
|
629
719
|
var t, n;
|
|
630
720
|
return (n = (t = e == null ? void 0 : e.annotations) == null ? void 0 : t.find((r) => {
|
|
631
|
-
if (r.id ===
|
|
721
|
+
if (r.id === J.LAST_UPDATE_AT)
|
|
632
722
|
return r;
|
|
633
723
|
})) == null ? void 0 : n.value;
|
|
634
724
|
}
|
|
635
|
-
const
|
|
725
|
+
const X = (e, t) => (e == null ? void 0 : e.names) && (e == null ? void 0 : e.names[t]) || (e == null ? void 0 : e.name), me = (e, t, n) => {
|
|
636
726
|
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)) {
|
|
637
727
|
const r = n == null ? void 0 : n.get(e == null ? void 0 : e.parent);
|
|
638
|
-
|
|
728
|
+
me(r, t, n);
|
|
639
729
|
}
|
|
640
|
-
},
|
|
730
|
+
}, Ct = (e, t) => {
|
|
641
731
|
const n = /* @__PURE__ */ new Map(), r = new Map(e == null ? void 0 : e.map((s) => [s.id, s]));
|
|
642
732
|
return t == null || t.forEach((s) => {
|
|
643
|
-
|
|
733
|
+
me(s, n, r);
|
|
644
734
|
}), Array.from(n == null ? void 0 : n.values());
|
|
645
|
-
},
|
|
735
|
+
}, Mt = "time_period_end", Qt = "time_period_start", Pn = "TIME_PERIOD", _n = (e) => {
|
|
646
736
|
const t = e == null ? void 0 : e.find(
|
|
647
|
-
(o) => o.id ===
|
|
737
|
+
(o) => o.id === Qt
|
|
648
738
|
), n = e == null ? void 0 : e.find(
|
|
649
|
-
(o) => o.id ===
|
|
739
|
+
(o) => o.id === Mt
|
|
650
740
|
), r = n != null && n.title ? new Date(n == null ? void 0 : n.title) : null;
|
|
651
741
|
return {
|
|
652
742
|
startPeriod: t != null && t.title ? new Date(t == null ? void 0 : t.title) : null,
|
|
653
743
|
endPeriod: r
|
|
654
744
|
};
|
|
655
|
-
},
|
|
745
|
+
}, Bt = (e, t) => e.id.localeCompare(t.id), Vt = (e, t) => e.memberValue.localeCompare(t.memberValue), Ft = (e, t) => {
|
|
656
746
|
const n = new Array(e.length), r = e.map((i, c) => [i, c]);
|
|
657
747
|
r.sort(
|
|
658
|
-
(i, c) =>
|
|
748
|
+
(i, c) => Bt(i[0], c[0])
|
|
659
749
|
);
|
|
660
750
|
const s = [...t];
|
|
661
|
-
s.sort(
|
|
751
|
+
s.sort(Vt);
|
|
662
752
|
let o = 0;
|
|
663
753
|
for (const i of r) {
|
|
664
754
|
const c = i[0];
|
|
@@ -667,10 +757,10 @@ const Q = (e, t) => (e == null ? void 0 : e.names) && (e == null ? void 0 : e.na
|
|
|
667
757
|
o < s.length && s[o].memberValue === c.id && (n[i[1]] = i[0]);
|
|
668
758
|
}
|
|
669
759
|
return n.filter((i) => i != null);
|
|
670
|
-
},
|
|
760
|
+
}, Gt = (e) => !!(e != null && e.some((t) => t.parent)), On = (e, t, n, r, s = []) => {
|
|
671
761
|
var i, c;
|
|
672
762
|
let o = e || [];
|
|
673
|
-
if (
|
|
763
|
+
if (Kt(n || [], t || "")) {
|
|
674
764
|
const a = (i = (n || [])[0].cubeRegions) == null ? void 0 : i.find(
|
|
675
765
|
({ isIncluded: u }) => u
|
|
676
766
|
);
|
|
@@ -681,132 +771,132 @@ const Q = (e, t) => (e == null ? void 0 : e.names) && (e == null ? void 0 : e.na
|
|
|
681
771
|
u ? o = o.length === 0 ? (u.selectionValues || []).map(({ memberValue: l }) => ({
|
|
682
772
|
id: l,
|
|
683
773
|
name: l
|
|
684
|
-
})) :
|
|
774
|
+
})) : Ft(o, u.selectionValues) : o = [];
|
|
685
775
|
}
|
|
686
776
|
} else s.length !== 0 && (o = o.filter(({ id: a }) => s.includes(a)));
|
|
687
|
-
return
|
|
777
|
+
return Gt(e) && (o = Ct(e, o)), o == null ? void 0 : o.map((a) => ({
|
|
688
778
|
...a,
|
|
689
|
-
name: r ?
|
|
779
|
+
name: r ? X(a, r) : a == null ? void 0 : a.name
|
|
690
780
|
}));
|
|
691
|
-
},
|
|
781
|
+
}, Kt = (e, t) => e != null && e.length > 0 && t != null, jt = /^[v^~<>=]*?(\d+)(?:\.([x*]|\d+)(?:\.([x*]|\d+)(?:\.([x*]|\d+))?(?:-([\da-z\-]+(?:\.[\da-z\-]+)*))?(?:\+[\da-z\-]+(?:\.[\da-z\-]+)*)?)?)?$/i, ue = (e) => {
|
|
692
782
|
if (typeof e != "string")
|
|
693
783
|
throw new TypeError("Invalid argument expected string");
|
|
694
|
-
const t = e.match(
|
|
784
|
+
const t = e.match(jt);
|
|
695
785
|
if (!t)
|
|
696
786
|
throw new Error(`Invalid argument not valid semver ('${e}' received)`);
|
|
697
787
|
return t.shift(), t;
|
|
698
|
-
},
|
|
788
|
+
}, le = (e) => e === "*" || e === "x" || e === "X", de = (e) => {
|
|
699
789
|
const t = parseInt(e, 10);
|
|
700
790
|
return isNaN(t) ? e : t;
|
|
701
|
-
},
|
|
702
|
-
if (
|
|
791
|
+
}, zt = (e, t) => typeof e != typeof t ? [String(e), String(t)] : [e, t], Ht = (e, t) => {
|
|
792
|
+
if (le(e) || le(t))
|
|
703
793
|
return 0;
|
|
704
|
-
const [n, r] =
|
|
794
|
+
const [n, r] = zt(de(e), de(t));
|
|
705
795
|
return n > r ? 1 : n < r ? -1 : 0;
|
|
706
|
-
},
|
|
796
|
+
}, fe = (e, t) => {
|
|
707
797
|
for (let n = 0; n < Math.max(e.length, t.length); n++) {
|
|
708
|
-
const r =
|
|
798
|
+
const r = Ht(e[n] || "0", t[n] || "0");
|
|
709
799
|
if (r !== 0)
|
|
710
800
|
return r;
|
|
711
801
|
}
|
|
712
802
|
return 0;
|
|
713
|
-
},
|
|
714
|
-
const n =
|
|
715
|
-
return i !== 0 ? i : s && o ?
|
|
716
|
-
},
|
|
717
|
-
|
|
718
|
-
const r =
|
|
719
|
-
return
|
|
720
|
-
},
|
|
803
|
+
}, Jt = (e, t) => {
|
|
804
|
+
const n = ue(e), r = ue(t), s = n.pop(), o = r.pop(), i = fe(n, r);
|
|
805
|
+
return i !== 0 ? i : s && o ? fe(s.split("."), o.split(".")) : s || o ? s ? -1 : 1 : 0;
|
|
806
|
+
}, Xt = (e, t, n) => {
|
|
807
|
+
Zt(n);
|
|
808
|
+
const r = Jt(e, t);
|
|
809
|
+
return ve[n].includes(r);
|
|
810
|
+
}, ve = {
|
|
721
811
|
">": [1],
|
|
722
812
|
">=": [0, 1],
|
|
723
813
|
"=": [0],
|
|
724
814
|
"<=": [-1, 0],
|
|
725
815
|
"<": [-1],
|
|
726
816
|
"!=": [-1, 1]
|
|
727
|
-
},
|
|
728
|
-
if (
|
|
729
|
-
throw new Error(`Invalid operator, expected one of ${
|
|
730
|
-
},
|
|
731
|
-
const { agency: n, id: r, version: s } =
|
|
817
|
+
}, ge = Object.keys(ve), Zt = (e) => {
|
|
818
|
+
if (ge.indexOf(e) === -1)
|
|
819
|
+
throw new Error(`Invalid operator, expected one of ${ge.join("|")}`);
|
|
820
|
+
}, W = "+", Z = (e, t) => {
|
|
821
|
+
const { agency: n, id: r, version: s } = p(e), o = t.filter(
|
|
732
822
|
(a) => {
|
|
733
823
|
var u;
|
|
734
|
-
return a.agencyID === n && a.id === r && !((u = a == null ? void 0 : a.version) != null && u.includes(
|
|
824
|
+
return a.agencyID === n && a.id === r && !((u = a == null ? void 0 : a.version) != null && u.includes(W));
|
|
735
825
|
}
|
|
736
826
|
);
|
|
737
827
|
if (o.length === 1)
|
|
738
828
|
return o[0];
|
|
739
|
-
if (!(s != null && s.includes(
|
|
829
|
+
if (!(s != null && s.includes(W)))
|
|
740
830
|
return o.find((a) => a.version === s);
|
|
741
831
|
const i = o.map(
|
|
742
832
|
(a) => a.version
|
|
743
|
-
), c =
|
|
833
|
+
), c = en(s, i);
|
|
744
834
|
return o.find(
|
|
745
835
|
(a) => a.version === c[0]
|
|
746
836
|
);
|
|
747
|
-
},
|
|
748
|
-
const n =
|
|
837
|
+
}, en = (e, t) => {
|
|
838
|
+
const n = tn(e, t);
|
|
749
839
|
return n.length > 0 ? [n[0]] : [];
|
|
750
|
-
},
|
|
840
|
+
}, tn = (e, t) => {
|
|
751
841
|
const n = [];
|
|
752
842
|
return t.forEach((r) => {
|
|
753
|
-
|
|
843
|
+
rn(e, r) && n.push(r);
|
|
754
844
|
}), n;
|
|
755
|
-
},
|
|
845
|
+
}, nn = (e) => {
|
|
756
846
|
const t = e.trim().replace(/\d+\+/, "*"), [n] = t.split("*");
|
|
757
847
|
return new RegExp(`^${n}`);
|
|
758
|
-
},
|
|
848
|
+
}, rn = (e, t) => {
|
|
759
849
|
const n = e.trim().replace(/\+/, "");
|
|
760
|
-
return
|
|
761
|
-
},
|
|
762
|
-
const { concept: n } =
|
|
850
|
+
return nn(e).test(t) && Xt(t, n, ">=");
|
|
851
|
+
}, ee = (e, t) => {
|
|
852
|
+
const { concept: n } = sn(e, t);
|
|
763
853
|
return n;
|
|
764
|
-
},
|
|
854
|
+
}, sn = (e, t) => {
|
|
765
855
|
if (e == null)
|
|
766
856
|
return {
|
|
767
857
|
concept: void 0,
|
|
768
858
|
scheme: void 0
|
|
769
859
|
};
|
|
770
860
|
const { childId: n, agency: r, id: s, version: o } = Pe(e);
|
|
771
|
-
if (o != null && o.includes(
|
|
772
|
-
const i =
|
|
861
|
+
if (o != null && o.includes(W)) {
|
|
862
|
+
const i = Z(
|
|
773
863
|
e,
|
|
774
864
|
t
|
|
775
865
|
);
|
|
776
866
|
return {
|
|
777
|
-
concept:
|
|
867
|
+
concept: he((i == null ? void 0 : i.concepts) || [], n),
|
|
778
868
|
scheme: i
|
|
779
869
|
};
|
|
780
870
|
}
|
|
781
871
|
for (const i of t)
|
|
782
|
-
if (
|
|
872
|
+
if (on(i, s, r, o))
|
|
783
873
|
return {
|
|
784
|
-
concept:
|
|
874
|
+
concept: he((i == null ? void 0 : i.concepts) || [], n),
|
|
785
875
|
scheme: i
|
|
786
876
|
};
|
|
787
877
|
return {
|
|
788
878
|
concept: void 0,
|
|
789
879
|
scheme: void 0
|
|
790
880
|
};
|
|
791
|
-
},
|
|
881
|
+
}, he = (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, Ln = (e = [], t = [], n) => {
|
|
792
882
|
var a, u;
|
|
793
|
-
const r = (n == null ? void 0 : n.conceptIdentity) || "", s =
|
|
883
|
+
const r = (n == null ? void 0 : n.conceptIdentity) || "", s = ee(r, t), o = N(
|
|
794
884
|
(a = n == null ? void 0 : n.localRepresentation) == null ? void 0 : a.enumeration
|
|
795
|
-
), i =
|
|
885
|
+
), i = N(
|
|
796
886
|
(u = s == null ? void 0 : s.coreRepresentation) == null ? void 0 : u.enumeration
|
|
797
887
|
), c = o || i;
|
|
798
888
|
if (c != null)
|
|
799
|
-
return
|
|
800
|
-
},
|
|
889
|
+
return Z(c, e);
|
|
890
|
+
}, bn = (e, t, n, r) => {
|
|
801
891
|
var o, i;
|
|
802
892
|
const s = (o = t == null ? void 0 : t.find(
|
|
803
893
|
(c) => (c == null ? void 0 : c.id) === (e == null ? void 0 : e.id)
|
|
804
894
|
)) == null ? void 0 : o.values;
|
|
805
895
|
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) => ({
|
|
806
896
|
...c,
|
|
807
|
-
name: r ?
|
|
897
|
+
name: r ? X(c, r) : c == null ? void 0 : c.name
|
|
808
898
|
}))) || [];
|
|
809
|
-
},
|
|
899
|
+
}, cn = (e, t) => {
|
|
810
900
|
var s, o, i;
|
|
811
901
|
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;
|
|
812
902
|
return (i = n == null ? void 0 : n.metadataAttributeUsages) == null ? void 0 : i.map((c) => {
|
|
@@ -820,62 +910,62 @@ const Q = (e, t) => (e == null ? void 0 : e.names) && (e == null ? void 0 : e.na
|
|
|
820
910
|
isMandatory: Number(a == null ? void 0 : a.minOccurs) > 0
|
|
821
911
|
};
|
|
822
912
|
});
|
|
823
|
-
},
|
|
824
|
-
const r =
|
|
825
|
-
return n ?
|
|
913
|
+
}, Un = (e = [], t, n) => {
|
|
914
|
+
const r = N(t == null ? void 0 : t.conceptIdentity) || "", s = ee(r, e);
|
|
915
|
+
return n ? X(s, n) : (s == null ? void 0 : s.name) ?? (s == null ? void 0 : s.id) ?? (t == null ? void 0 : t.id);
|
|
826
916
|
};
|
|
827
|
-
function
|
|
917
|
+
function Ee(e) {
|
|
828
918
|
var t, n, r;
|
|
829
919
|
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;
|
|
830
920
|
}
|
|
831
|
-
function
|
|
921
|
+
function xn(e) {
|
|
832
922
|
var t, n, r, s;
|
|
833
923
|
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) || [];
|
|
834
924
|
}
|
|
835
|
-
function
|
|
925
|
+
function Yn(e) {
|
|
836
926
|
var t, n, r, s, o;
|
|
837
927
|
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)) || [];
|
|
838
928
|
}
|
|
839
|
-
function
|
|
929
|
+
function Wn(e) {
|
|
840
930
|
return e.find(
|
|
841
|
-
(t) => t.type ===
|
|
931
|
+
(t) => t.type === q.TIME_DIMENSION
|
|
842
932
|
);
|
|
843
933
|
}
|
|
844
|
-
const
|
|
845
|
-
var i, c, a, u, l,
|
|
934
|
+
const kn = (e) => {
|
|
935
|
+
var i, c, a, u, l, f;
|
|
846
936
|
const t = /* @__PURE__ */ 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) || [];
|
|
847
937
|
return e && [
|
|
848
|
-
...((a =
|
|
849
|
-
...((u =
|
|
850
|
-
...
|
|
851
|
-
...((
|
|
938
|
+
...((a = Ee(e)) == null ? void 0 : a.dimensions) || [],
|
|
939
|
+
...((u = Ee(e)) == null ? void 0 : u.timeDimensions) || [],
|
|
940
|
+
...cn(r, n),
|
|
941
|
+
...((f = (l = n == null ? void 0 : n.dataStructureComponents) == null ? void 0 : l.attributeList) == null ? void 0 : f.attributes) || []
|
|
852
942
|
].forEach(
|
|
853
943
|
(d) => {
|
|
854
|
-
var
|
|
855
|
-
const
|
|
944
|
+
var A, D;
|
|
945
|
+
const g = ee(
|
|
856
946
|
d == null ? void 0 : d.conceptIdentity,
|
|
857
947
|
s
|
|
858
|
-
),
|
|
859
|
-
|
|
948
|
+
), E = ((A = d == null ? void 0 : d.localRepresentation) == null ? void 0 : A.enumeration) || ((D = g == null ? void 0 : g.coreRepresentation) == null ? void 0 : D.enumeration), y = Z(
|
|
949
|
+
E,
|
|
860
950
|
o
|
|
861
951
|
);
|
|
862
|
-
d != null && d.id && (
|
|
863
|
-
...
|
|
864
|
-
name:
|
|
865
|
-
names:
|
|
952
|
+
d != null && d.id && (E ? t.set(d == null ? void 0 : d.id, {
|
|
953
|
+
...y,
|
|
954
|
+
name: g == null ? void 0 : g.name,
|
|
955
|
+
names: g == null ? void 0 : g.names
|
|
866
956
|
}) : t.set(d == null ? void 0 : d.id, {
|
|
867
957
|
id: d == null ? void 0 : d.id,
|
|
868
|
-
name:
|
|
869
|
-
names:
|
|
958
|
+
name: g == null ? void 0 : g.name,
|
|
959
|
+
names: g == null ? void 0 : g.names
|
|
870
960
|
}));
|
|
871
961
|
}
|
|
872
962
|
), t;
|
|
873
|
-
},
|
|
963
|
+
}, qn = (e) => {
|
|
874
964
|
var t;
|
|
875
965
|
return ((t = e == null ? void 0 : e.find(
|
|
876
|
-
(n) => n.id ===
|
|
966
|
+
(n) => n.id === J.SERIES_COUNT
|
|
877
967
|
)) == null ? void 0 : t.title) || "";
|
|
878
|
-
},
|
|
968
|
+
}, an = "/api/download", Cn = (e, t, n, r, s, o, i) => {
|
|
879
969
|
const c = new URLSearchParams({
|
|
880
970
|
urn: e,
|
|
881
971
|
format: t,
|
|
@@ -885,36 +975,36 @@ const Nn = (e) => {
|
|
|
885
975
|
attribute: r,
|
|
886
976
|
language: n,
|
|
887
977
|
isMetadata: i ? "true" : "none"
|
|
888
|
-
}).toString(), a = `${
|
|
978
|
+
}).toString(), a = `${an}?${c}`;
|
|
889
979
|
window.open(a, "_blank");
|
|
890
|
-
},
|
|
980
|
+
}, Mn = (e, t) => {
|
|
891
981
|
var r, s;
|
|
892
982
|
const n = [];
|
|
893
983
|
for (const o of e) {
|
|
894
|
-
if (o.type !==
|
|
984
|
+
if (o.type !== q.DIMENSION)
|
|
895
985
|
continue;
|
|
896
986
|
const i = t.find((c) => c.componentCode === o.id);
|
|
897
|
-
i != null && ((r = i.values) == null ? void 0 : r.length) > 0 ? n.push((s = i.values) == null ? void 0 : s.join(
|
|
987
|
+
i != null && ((r = i.values) == null ? void 0 : r.length) > 0 ? n.push((s = i.values) == null ? void 0 : s.join(We)) : n.push("*");
|
|
898
988
|
}
|
|
899
989
|
return n.join(".");
|
|
900
|
-
},
|
|
990
|
+
}, un = (e, t) => {
|
|
901
991
|
if (!e || !e.startPeriod && !e.endPeriod)
|
|
902
992
|
return null;
|
|
903
993
|
const n = [], { startPeriod: r, endPeriod: s } = e;
|
|
904
994
|
if (r && n.push(
|
|
905
|
-
`${R.GREATER_OR_EQUAL}${
|
|
995
|
+
`${R.GREATER_OR_EQUAL}${ne}${r.toISOString().split("T")[0]}`
|
|
906
996
|
), s && n.push(
|
|
907
|
-
`${R.LESS_OR_EQUAL}${
|
|
997
|
+
`${R.LESS_OR_EQUAL}${ne}${s.toISOString().split("T")[0]}`
|
|
908
998
|
), n.length === 0)
|
|
909
999
|
return null;
|
|
910
1000
|
const o = t;
|
|
911
1001
|
return n.map(
|
|
912
|
-
(i) => `${encodeURIComponent(`c[${o}]`)}${
|
|
913
|
-
).join(
|
|
914
|
-
},
|
|
915
|
-
const n =
|
|
916
|
-
return n ?
|
|
917
|
-
},
|
|
1002
|
+
(i) => `${encodeURIComponent(`c[${o}]`)}${Ye}${encodeURIComponent(i)}`
|
|
1003
|
+
).join(De);
|
|
1004
|
+
}, Qn = (e, t) => {
|
|
1005
|
+
const n = ln(e, t) || null;
|
|
1006
|
+
return n ? un(n, t == null ? void 0 : t.id) : null;
|
|
1007
|
+
}, ln = (e, t) => {
|
|
918
1008
|
var a, u;
|
|
919
1009
|
const n = t.id, r = (a = e == null ? void 0 : e.filters) == null ? void 0 : a.find(
|
|
920
1010
|
(l) => l.componentCode === n
|
|
@@ -926,111 +1016,191 @@ const Nn = (e) => {
|
|
|
926
1016
|
return null;
|
|
927
1017
|
const o = r.operator;
|
|
928
1018
|
if (o === R.LESS_OR_EQUAL || o === R.LESS)
|
|
929
|
-
return { startPeriod: null, endPeriod:
|
|
1019
|
+
return { startPeriod: null, endPeriod: v(s[0]) };
|
|
930
1020
|
if (o === R.GREATER_OR_EQUAL || o === R.GREATER)
|
|
931
|
-
return { startPeriod:
|
|
932
|
-
const i =
|
|
1021
|
+
return { startPeriod: v(s[0]), endPeriod: null };
|
|
1022
|
+
const i = v(s[0]), c = v(s[1]);
|
|
933
1023
|
return { startPeriod: i, endPeriod: c };
|
|
1024
|
+
}, $e = (e, t, n) => {
|
|
1025
|
+
const r = w(t, !0), s = w(n), o = w(e, !0), i = w(e), c = r.getTime() > o.getTime() ? r : o, a = s.getTime() < i.getTime() ? s : i;
|
|
1026
|
+
return {
|
|
1027
|
+
start: c,
|
|
1028
|
+
end: a
|
|
1029
|
+
};
|
|
1030
|
+
}, dn = (e, t, n, r = "W") => {
|
|
1031
|
+
const s = +e, { start: o, end: i } = $e(e, t, n);
|
|
1032
|
+
if (o.getTime() > i.getTime())
|
|
1033
|
+
return [];
|
|
1034
|
+
const c = I(o, r), a = c.weekYear === s ? c.weekNumber : c.weekYear < s ? 1 : ie(s, r), u = I(i, r), l = u.weekYear === s ? u.weekNumber : u.weekYear > s ? ie(s, r) : 1, f = [];
|
|
1035
|
+
if (a < l)
|
|
1036
|
+
for (let h = a; h <= l; h++)
|
|
1037
|
+
f.push(Te(s, h, r));
|
|
1038
|
+
return f;
|
|
1039
|
+
}, fn = (e) => {
|
|
1040
|
+
const t = new Date(e);
|
|
1041
|
+
return t.setMinutes(t.getMinutes() - t.getTimezoneOffset()), t.toISOString().slice(0, 10);
|
|
1042
|
+
}, gn = (e, t, n) => {
|
|
1043
|
+
const { start: r, end: s } = $e(e, t, n);
|
|
1044
|
+
if (r.getTime() > s.getTime())
|
|
1045
|
+
return [];
|
|
1046
|
+
const o = [], i = new Date(
|
|
1047
|
+
r.getFullYear(),
|
|
1048
|
+
r.getMonth(),
|
|
1049
|
+
r.getDate()
|
|
1050
|
+
), c = new Date(s.getFullYear(), s.getMonth(), s.getDate());
|
|
1051
|
+
for (; i.getTime() < c.getTime(); ) {
|
|
1052
|
+
const a = fn(i);
|
|
1053
|
+
o.push(a), i.setDate(i.getDate() + 1);
|
|
1054
|
+
}
|
|
1055
|
+
return o;
|
|
1056
|
+
}, hn = (e) => ({
|
|
1057
|
+
isDailyExist: !!(e != null && e.some(({ memberValue: t }) => t === "D")),
|
|
1058
|
+
isWeeklyExist: !!(e != null && e.some(({ memberValue: t }) => t === "W")),
|
|
1059
|
+
isMonthlyExist: !!(e != null && e.some(({ memberValue: t }) => t === "M")),
|
|
1060
|
+
isQuarterlyExist: !!(e != null && e.some(({ memberValue: t }) => t === "Q")),
|
|
1061
|
+
isSemiAnnualExist: !!(e != null && e.some(({ memberValue: t }) => t === "S")),
|
|
1062
|
+
isYearlyExist: !!(e != null && e.some(
|
|
1063
|
+
({ memberValue: t }) => t === "A" || t === "Y"
|
|
1064
|
+
))
|
|
1065
|
+
}), En = (e, t, n, r) => {
|
|
1066
|
+
var i, c;
|
|
1067
|
+
const s = r === 0 ? ((i = w(t.toString(), !0)) == null ? void 0 : i.getMonth()) + 1 : void 0, o = r === e.length - 1 ? ((c = w(n.toString())) == null ? void 0 : c.getMonth()) + 1 || 1 : void 0;
|
|
1068
|
+
return { startMonth: s, endMonth: o };
|
|
1069
|
+
}, An = ["FREQUENCY", "FREQ"], Bn = (e, t) => {
|
|
1070
|
+
var a, u, l, f, h, d, g;
|
|
1071
|
+
const n = (h = (f = (l = (u = (a = e == null ? void 0 : e[0]) == null ? void 0 : a.cubeRegions) == null ? void 0 : u[0]) == null ? void 0 : l.memberSelection) == null ? void 0 : f.find(
|
|
1072
|
+
(E) => An.includes(E.componentId)
|
|
1073
|
+
)) == null ? void 0 : h.selectionValues, r = hn(n || []), s = ((d = t == null ? void 0 : t.startPeriod) == null ? void 0 : d.getTime()) || 1, o = ((g = t == null ? void 0 : t.endPeriod) == null ? void 0 : g.getTime()) || 1, i = Ut(o, s), c = [];
|
|
1074
|
+
return i.forEach((E, y) => {
|
|
1075
|
+
const A = [], { startMonth: D, endMonth: S } = En(
|
|
1076
|
+
i,
|
|
1077
|
+
new Date(s),
|
|
1078
|
+
new Date(o),
|
|
1079
|
+
y
|
|
1080
|
+
), {
|
|
1081
|
+
isDailyExist: P,
|
|
1082
|
+
isWeeklyExist: _,
|
|
1083
|
+
isMonthlyExist: O,
|
|
1084
|
+
isQuarterlyExist: L,
|
|
1085
|
+
isSemiAnnualExist: b,
|
|
1086
|
+
isYearlyExist: T
|
|
1087
|
+
} = r;
|
|
1088
|
+
T && A.push(E.toString()), b && A.push(..._t(E, D, S)), L && A.push(
|
|
1089
|
+
...Pt(E, D, S, !1)
|
|
1090
|
+
), O && A.push(...bt(E, D, S)), _ && A.push(
|
|
1091
|
+
...dn(E, s.toString(), o.toString())
|
|
1092
|
+
), P && A.push(
|
|
1093
|
+
...gn(E, s.toString(), o.toString())
|
|
1094
|
+
), c.push(...A);
|
|
1095
|
+
}), c;
|
|
934
1096
|
};
|
|
935
1097
|
export {
|
|
936
|
-
|
|
937
|
-
|
|
938
|
-
|
|
939
|
-
|
|
940
|
-
|
|
941
|
-
|
|
942
|
-
|
|
943
|
-
|
|
944
|
-
|
|
945
|
-
|
|
946
|
-
|
|
947
|
-
|
|
948
|
-
|
|
949
|
-
|
|
950
|
-
|
|
951
|
-
|
|
952
|
-
|
|
953
|
-
|
|
954
|
-
|
|
955
|
-
|
|
956
|
-
|
|
1098
|
+
J as Annotations,
|
|
1099
|
+
Ke as AssignmentStatus,
|
|
1100
|
+
Dn as AvailabilityApi,
|
|
1101
|
+
xe as DATASET_DATA_URL,
|
|
1102
|
+
Tn as DatasetApi,
|
|
1103
|
+
q as DimensionType,
|
|
1104
|
+
Le as DownloadType,
|
|
1105
|
+
Rn as FREQUENCY_DIMENSION_ID,
|
|
1106
|
+
An as FREQUENCY_DIM_ID,
|
|
1107
|
+
Oe as FileColumnsAttribute,
|
|
1108
|
+
ke as GET_v3_FILTER_ALL,
|
|
1109
|
+
Sn as GET_v3_FILTER_AND,
|
|
1110
|
+
We as GET_v3_FILTER_OR,
|
|
1111
|
+
Je as OBSERVATION_KEY,
|
|
1112
|
+
je as OccurrenceType,
|
|
1113
|
+
qt as Periods,
|
|
1114
|
+
kt as RepresentationTextType,
|
|
1115
|
+
Wt as SDMX_DATA_QUERY_PARAMS,
|
|
1116
|
+
W as SINGLE_WILDCARD_SYMBOL,
|
|
1117
|
+
wn as SdmxApiClient,
|
|
1118
|
+
Ae as SdmxAvailabilityMode,
|
|
1119
|
+
$ as SdmxDataFormat,
|
|
1120
|
+
ye as SdmxDetails,
|
|
1121
|
+
k as SdmxReferences,
|
|
957
1122
|
R as SeriesFilterOperator,
|
|
958
|
-
|
|
959
|
-
|
|
960
|
-
|
|
961
|
-
|
|
962
|
-
|
|
963
|
-
|
|
964
|
-
|
|
965
|
-
|
|
966
|
-
|
|
967
|
-
|
|
968
|
-
|
|
969
|
-
|
|
970
|
-
|
|
971
|
-
|
|
972
|
-
|
|
973
|
-
|
|
1123
|
+
Pn as TIME_PERIOD,
|
|
1124
|
+
Mt as TIME_PERIOD_END,
|
|
1125
|
+
Qt as TIME_PERIOD_START,
|
|
1126
|
+
ut as dailyPattern,
|
|
1127
|
+
tt as decodeDimensionId,
|
|
1128
|
+
Ln as findCodelistByDimension,
|
|
1129
|
+
re as generateDatasetDataRequest,
|
|
1130
|
+
yn as generateShortUrn,
|
|
1131
|
+
Bn as getAdditionalColumns,
|
|
1132
|
+
_n as getAnnotationPeriod,
|
|
1133
|
+
Z as getArtifactByUrnWithWildCard,
|
|
1134
|
+
pn as getAttachedDimensionsSeriesByDimension,
|
|
1135
|
+
ze as getAttachedDimensionsSeriesByTsId,
|
|
1136
|
+
Se as getAttachedDimensionsSeriesKey,
|
|
1137
|
+
He as getAttributeValueFromDataQueryResponse,
|
|
1138
|
+
bn as getAvailableCodes,
|
|
1139
|
+
On as getAvailableCodesFromConstrains,
|
|
974
1140
|
Pe as getChildParsedUrn,
|
|
975
|
-
|
|
976
|
-
|
|
977
|
-
|
|
978
|
-
|
|
979
|
-
|
|
980
|
-
|
|
981
|
-
|
|
982
|
-
|
|
983
|
-
|
|
984
|
-
|
|
985
|
-
|
|
986
|
-
|
|
987
|
-
|
|
988
|
-
|
|
989
|
-
|
|
990
|
-
|
|
991
|
-
|
|
992
|
-
|
|
993
|
-
|
|
994
|
-
|
|
995
|
-
|
|
996
|
-
|
|
997
|
-
|
|
998
|
-
|
|
999
|
-
|
|
1000
|
-
|
|
1001
|
-
|
|
1002
|
-
|
|
1003
|
-
|
|
1004
|
-
|
|
1005
|
-
|
|
1006
|
-
|
|
1007
|
-
|
|
1008
|
-
|
|
1009
|
-
|
|
1010
|
-
|
|
1011
|
-
|
|
1012
|
-
|
|
1013
|
-
|
|
1014
|
-
|
|
1015
|
-
|
|
1016
|
-
|
|
1017
|
-
|
|
1018
|
-
|
|
1019
|
-
|
|
1020
|
-
|
|
1021
|
-
|
|
1022
|
-
|
|
1023
|
-
|
|
1024
|
-
|
|
1025
|
-
|
|
1026
|
-
|
|
1027
|
-
|
|
1028
|
-
|
|
1029
|
-
|
|
1030
|
-
|
|
1031
|
-
|
|
1032
|
-
|
|
1033
|
-
|
|
1034
|
-
|
|
1035
|
-
|
|
1141
|
+
ee as getConcept,
|
|
1142
|
+
he as getConceptByUrn,
|
|
1143
|
+
sn as getConceptWithScheme,
|
|
1144
|
+
cn as getConvertedMetaAttributes,
|
|
1145
|
+
ft as getDailyRegExp,
|
|
1146
|
+
gn as getDaysColumns,
|
|
1147
|
+
Un as getDimensionTitle,
|
|
1148
|
+
Ee as getDimensions,
|
|
1149
|
+
Ct as getFilteredItemsWithParents,
|
|
1150
|
+
I as getISOWeek,
|
|
1151
|
+
N as getKeyFromUrn,
|
|
1152
|
+
In as getLastUpdatedTime,
|
|
1153
|
+
ie as getLastWeekNumberOfYear,
|
|
1154
|
+
X as getLocalizedName,
|
|
1155
|
+
bt as getMonthlyData,
|
|
1156
|
+
$n as getMonthlyDataByQuarter,
|
|
1157
|
+
B as getMonthlyRegExp,
|
|
1158
|
+
Re as getParsedEndPeriodDate,
|
|
1159
|
+
mn as getParsedResponse,
|
|
1160
|
+
we as getParsedStartPeriodDate,
|
|
1161
|
+
w as getPeriodDate,
|
|
1162
|
+
hn as getPeriods,
|
|
1163
|
+
vn as getQuarterByMonth,
|
|
1164
|
+
F as getQuarterlyRegExp,
|
|
1165
|
+
Pt as getQuartersData,
|
|
1166
|
+
un as getQueryTimePeriodFilters,
|
|
1167
|
+
be as getRequestAcceptHeader,
|
|
1168
|
+
en as getResolvedVersionBySingleWildcard,
|
|
1169
|
+
_t as getSemiAnnualData,
|
|
1170
|
+
dt as getSemiAnnuallyRegExp,
|
|
1171
|
+
Y as getSeriesAttributes,
|
|
1172
|
+
Xe as getSeriesName,
|
|
1173
|
+
kn as getStructureComponentsMap,
|
|
1174
|
+
xn as getStructureDimensions,
|
|
1175
|
+
Wn as getTimeDimension,
|
|
1176
|
+
Yn as getTimePeriods,
|
|
1177
|
+
Qn as getTimeQueryFilter,
|
|
1178
|
+
ln as getTimeRangeFromAttachment,
|
|
1179
|
+
qn as getTimeSeriesCount,
|
|
1180
|
+
Mn as getTimeSeriesFilterKey,
|
|
1181
|
+
et as getTimeSeriesId,
|
|
1182
|
+
Te as getWeekCode,
|
|
1183
|
+
yt as getWeeklyPeriodEndDate,
|
|
1184
|
+
At as getWeeklyPeriodStartDate,
|
|
1185
|
+
ht as getWeeklyRegExp,
|
|
1186
|
+
dn as getWeeksColumns,
|
|
1187
|
+
nn as getWildCardRegexp,
|
|
1188
|
+
$e as getYearPeriod,
|
|
1189
|
+
C as getYearlyRegExp,
|
|
1190
|
+
Ut as getYears,
|
|
1191
|
+
gt as isDaily,
|
|
1192
|
+
V as isMonthly,
|
|
1193
|
+
G as isQuarterly,
|
|
1194
|
+
Q as isSemiAnnually,
|
|
1195
|
+
K as isWeekly,
|
|
1196
|
+
rn as isWildCardVersionCorrect,
|
|
1197
|
+
M as isYearly,
|
|
1198
|
+
lt as monthlyPattern,
|
|
1199
|
+
Cn as openDownloadWindow,
|
|
1200
|
+
ot as quarterPattern,
|
|
1201
|
+
ct as semiAnnuallyPattern,
|
|
1202
|
+
Nn as sortPeriods,
|
|
1203
|
+
p as splitUrn,
|
|
1204
|
+
it as weeklyPattern,
|
|
1205
|
+
at as yearlyPattern
|
|
1036
1206
|
};
|