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