datapos-connector-file-store-emulator 0.2.318 → 0.2.320
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.
|
@@ -4,14 +4,14 @@ let U = (t = 21) => {
|
|
|
4
4
|
for (; t--; )
|
|
5
5
|
e += O[i[t] & 63];
|
|
6
6
|
return e;
|
|
7
|
-
},
|
|
7
|
+
}, j;
|
|
8
8
|
// @__NO_SIDE_EFFECTS__
|
|
9
9
|
function F(t) {
|
|
10
10
|
return {
|
|
11
|
-
lang: t?.lang ??
|
|
11
|
+
lang: t?.lang ?? j?.lang,
|
|
12
12
|
message: t?.message,
|
|
13
|
-
abortEarly: t?.abortEarly ??
|
|
14
|
-
abortPipeEarly: t?.abortPipeEarly ??
|
|
13
|
+
abortEarly: t?.abortEarly ?? j?.abortEarly,
|
|
14
|
+
abortPipeEarly: t?.abortPipeEarly ?? j?.abortPipeEarly
|
|
15
15
|
};
|
|
16
16
|
}
|
|
17
17
|
let L;
|
|
@@ -34,14 +34,14 @@ function R(t) {
|
|
|
34
34
|
const e = typeof t;
|
|
35
35
|
return e === "string" ? `"${t}"` : e === "number" || e === "bigint" || e === "boolean" ? `${t}` : e === "object" || e === "function" ? (t && Object.getPrototypeOf(t)?.constructor?.name) ?? "null" : e;
|
|
36
36
|
}
|
|
37
|
-
function
|
|
38
|
-
const s = o && "input" in o ? o.input : i.value,
|
|
37
|
+
function z(t, e, i, d, o) {
|
|
38
|
+
const s = o && "input" in o ? o.input : i.value, n = o?.expected ?? t.expects ?? null, c = o?.received ?? /* @__PURE__ */ R(s), a = {
|
|
39
39
|
kind: t.kind,
|
|
40
40
|
type: t.type,
|
|
41
41
|
input: s,
|
|
42
|
-
expected:
|
|
43
|
-
received:
|
|
44
|
-
message: `Invalid ${e}: ${
|
|
42
|
+
expected: n,
|
|
43
|
+
received: c,
|
|
44
|
+
message: `Invalid ${e}: ${n ? `Expected ${n} but r` : "R"}eceived ${c}`,
|
|
45
45
|
requirement: t.requirement,
|
|
46
46
|
path: o?.path,
|
|
47
47
|
issues: o?.issues,
|
|
@@ -67,11 +67,11 @@ function H(t, e) {
|
|
|
67
67
|
return i.length > 1 ? `(${i.join(` ${e} `)})` : i[0] ?? "never";
|
|
68
68
|
}
|
|
69
69
|
// @__NO_SIDE_EFFECTS__
|
|
70
|
-
function
|
|
70
|
+
function x(t, e) {
|
|
71
71
|
return {
|
|
72
72
|
kind: "schema",
|
|
73
73
|
type: "literal",
|
|
74
|
-
reference:
|
|
74
|
+
reference: x,
|
|
75
75
|
expects: /* @__PURE__ */ R(t),
|
|
76
76
|
async: !1,
|
|
77
77
|
literal: t,
|
|
@@ -80,7 +80,7 @@ function S(t, e) {
|
|
|
80
80
|
return /* @__PURE__ */ P(this);
|
|
81
81
|
},
|
|
82
82
|
"~run"(i, d) {
|
|
83
|
-
return i.value === this.literal ? i.typed = !0 :
|
|
83
|
+
return i.value === this.literal ? i.typed = !0 : z(this, "type", i, d), i;
|
|
84
84
|
}
|
|
85
85
|
};
|
|
86
86
|
}
|
|
@@ -91,11 +91,11 @@ function g(t) {
|
|
|
91
91
|
return e;
|
|
92
92
|
}
|
|
93
93
|
// @__NO_SIDE_EFFECTS__
|
|
94
|
-
function
|
|
94
|
+
function S(t, e) {
|
|
95
95
|
return {
|
|
96
96
|
kind: "schema",
|
|
97
97
|
type: "union",
|
|
98
|
-
reference:
|
|
98
|
+
reference: S,
|
|
99
99
|
expects: /* @__PURE__ */ H(t.map((i) => i.expects), "|"),
|
|
100
100
|
async: !1,
|
|
101
101
|
options: t,
|
|
@@ -104,29 +104,29 @@ function x(t, e) {
|
|
|
104
104
|
return /* @__PURE__ */ P(this);
|
|
105
105
|
},
|
|
106
106
|
"~run"(i, d) {
|
|
107
|
-
let o, s,
|
|
108
|
-
for (const
|
|
109
|
-
const a =
|
|
107
|
+
let o, s, n;
|
|
108
|
+
for (const c of this.options) {
|
|
109
|
+
const a = c["~run"]({ value: i.value }, d);
|
|
110
110
|
if (a.typed) if (a.issues) s ? s.push(a) : s = [a];
|
|
111
111
|
else {
|
|
112
112
|
o = a;
|
|
113
113
|
break;
|
|
114
114
|
}
|
|
115
|
-
else
|
|
115
|
+
else n ? n.push(a) : n = [a];
|
|
116
116
|
}
|
|
117
117
|
if (o) return o;
|
|
118
118
|
if (s) {
|
|
119
119
|
if (s.length === 1) return s[0];
|
|
120
|
-
|
|
120
|
+
z(this, "type", i, d, { issues: /* @__PURE__ */ g(s) }), i.typed = !0;
|
|
121
121
|
} else {
|
|
122
|
-
if (
|
|
123
|
-
|
|
122
|
+
if (n?.length === 1) return n[0];
|
|
123
|
+
z(this, "type", i, d, { issues: /* @__PURE__ */ g(n) });
|
|
124
124
|
}
|
|
125
125
|
return i;
|
|
126
126
|
}
|
|
127
127
|
};
|
|
128
128
|
}
|
|
129
|
-
const m = (t) => /* @__PURE__ */
|
|
129
|
+
const m = (t) => /* @__PURE__ */ S(t.map((e) => /* @__PURE__ */ x(e)));
|
|
130
130
|
m(["amber", "green", "red", "other"]);
|
|
131
131
|
m([
|
|
132
132
|
"alpha",
|
|
@@ -235,10 +235,10 @@ function y(t) {
|
|
|
235
235
|
return new Error("Unknown error");
|
|
236
236
|
}
|
|
237
237
|
m(["list", "render", "setColorMode"]);
|
|
238
|
-
const
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
238
|
+
const l = (t) => new Map(Object.entries(t));
|
|
239
|
+
l({ "en-gb": "Delimited Text" }), l({ "en-gb": "Entity/Event" }), l({ "en-gb": "JSON Array" }), l({ "en-gb": "SPSS" }), l({ "en-gb": "XLS" }), l({ "en-gb": "XLSX" }), l({ "en-gb": "XML" });
|
|
240
|
+
l({ "en-gb": "Newline" }), l({ "en-gb": "Carriage Return" }), l({ "en-gb": "Carriage Return/Newline" });
|
|
241
|
+
l({ "en-gb": "Colon" }), l({ "en-gb": "Comma" }), l({ "en-gb": "Exclamation Mark" }), l({ "en-gb": "Record Separator" }), l({ "en-gb": "Semicolon" }), l({ "en-gb": "Space" }), l({ "en-gb": "Tab" }), l({ "en-gb": "Underscore" }), l({ "en-gb": "Unit Separator" }), l({ "en-gb": "Vertical Bar" });
|
|
242
242
|
function Q(t) {
|
|
243
243
|
if (t) {
|
|
244
244
|
const e = t.lastIndexOf("/"), i = t.lastIndexOf(".", e === -1 ? t.length : e);
|
|
@@ -266,7 +266,7 @@ function X(t) {
|
|
|
266
266
|
return "application/octet-stream";
|
|
267
267
|
}
|
|
268
268
|
}
|
|
269
|
-
const W = "datapos-connector-file-store-emulator", Y = { en: "File Store Emulator" }, $ = { "en-gb": "Imitates a cloud-based file storage solution. It hosts a read-only set of files for demonstration, evaluation and testing purposes and is freely available to all users." }, ee = null, te = "fileStore", ie = { default: { authMethodId: "none", maxConnectionCount: 1 } }, de = '<svg fill="#000000" height="100%" viewBox="0 0 576 512"><path d="M320 32H64C46.33 32 32 46.33 32 64V448C32 465.7 46.33 480 64 480H296.2C305.1 491.8 317.3 502.3 329.7 511.3C326.6 511.7 323.3 512 320 512H64C28.65 512 0 483.3 0 448V64C0 28.65 28.65 0 64 0H320C355.3 0 384 28.65 384 64V198.6C372.8 201.8 362.1 206 352 211.2V64C352 46.33 337.7 32 320 32V32zM64 144C64 135.2 71.16 128 80 128H304C312.8 128 320 135.2 320 144C320 152.8 312.8 160 304 160H80C71.16 160 64 152.8 64 144zM272 224C280.8 224 288 231.2 288 240C288 248.8 280.8 256 272 256H80C71.16 256 64 248.8 64 240C64 231.2 71.16 224 80 224H272zM208 320C216.8 320 224 327.2 224 336C224 344.8 216.8 352 208 352H80C71.16 352 64 344.8 64 336C64 327.2 71.16 320 80 320H208zM476.7 324.7C482.9 318.4 493.1 318.4 499.3 324.7C505.6 330.9 505.6 341.1 499.3 347.3L427.3 419.3C421.1 425.6 410.9 425.6 404.7 419.3L364.7 379.3C358.4 373.1 358.4 362.9 364.7 356.7C370.9 350.4 381.1 350.4 387.3 356.7L416 385.4L476.7 324.7zM288 368C288 288.5 352.5 224 432 224C511.5 224 576 288.5 576 368C576 447.5 511.5 512 432 512C352.5 512 288 447.5 288 368zM432 480C493.9 480 544 429.9 544 368C544 306.1 493.9 256 432 256C370.1 256 320 306.1 320 368C320 429.9 370.1 480 432 480z"/></svg>', oe = '<svg fill="#ffffff" height="100%" viewBox="0 0 576 512"><path d="M320 32H64C46.33 32 32 46.33 32 64V448C32 465.7 46.33 480 64 480H296.2C305.1 491.8 317.3 502.3 329.7 511.3C326.6 511.7 323.3 512 320 512H64C28.65 512 0 483.3 0 448V64C0 28.65 28.65 0 64 0H320C355.3 0 384 28.65 384 64V198.6C372.8 201.8 362.1 206 352 211.2V64C352 46.33 337.7 32 320 32V32zM64 144C64 135.2 71.16 128 80 128H304C312.8 128 320 135.2 320 144C320 152.8 312.8 160 304 160H80C71.16 160 64 152.8 64 144zM272 224C280.8 224 288 231.2 288 240C288 248.8 280.8 256 272 256H80C71.16 256 64 248.8 64 240C64 231.2 71.16 224 80 224H272zM208 320C216.8 320 224 327.2 224 336C224 344.8 216.8 352 208 352H80C71.16 352 64 344.8 64 336C64 327.2 71.16 320 80 320H208zM476.7 324.7C482.9 318.4 493.1 318.4 499.3 324.7C505.6 330.9 505.6 341.1 499.3 347.3L427.3 419.3C421.1 425.6 410.9 425.6 404.7 419.3L364.7 379.3C358.4 373.1 358.4 362.9 364.7 356.7C370.9 350.4 381.1 350.4 387.3 356.7L416 385.4L476.7 324.7zM288 368C288 288.5 352.5 224 432 224C511.5 224 576 288.5 576 368C576 447.5 511.5 512 432 512C352.5 512 288 447.5 288 368zM432 480C493.9 480 544 429.9 544 368C544 306.1 493.9 256 432 256C370.1 256 320 306.1 320 368C320 429.9 370.1 480 432 480z"/></svg>', se = null, ae = ["abortOperation", "findObject", "getReadableStream", "listNodes", "previewObject", "retrieveRecords"], ne = null, ce = "beta", le = "connector", re = "source", pe = null, be = null, me = null, fe = "0.2.
|
|
269
|
+
const W = "datapos-connector-file-store-emulator", Y = { en: "File Store Emulator" }, $ = { "en-gb": "Imitates a cloud-based file storage solution. It hosts a read-only set of files for demonstration, evaluation and testing purposes and is freely available to all users." }, ee = null, te = "fileStore", ie = { default: { authMethodId: "none", maxConnectionCount: 1 } }, de = '<svg fill="#000000" height="100%" viewBox="0 0 576 512"><path d="M320 32H64C46.33 32 32 46.33 32 64V448C32 465.7 46.33 480 64 480H296.2C305.1 491.8 317.3 502.3 329.7 511.3C326.6 511.7 323.3 512 320 512H64C28.65 512 0 483.3 0 448V64C0 28.65 28.65 0 64 0H320C355.3 0 384 28.65 384 64V198.6C372.8 201.8 362.1 206 352 211.2V64C352 46.33 337.7 32 320 32V32zM64 144C64 135.2 71.16 128 80 128H304C312.8 128 320 135.2 320 144C320 152.8 312.8 160 304 160H80C71.16 160 64 152.8 64 144zM272 224C280.8 224 288 231.2 288 240C288 248.8 280.8 256 272 256H80C71.16 256 64 248.8 64 240C64 231.2 71.16 224 80 224H272zM208 320C216.8 320 224 327.2 224 336C224 344.8 216.8 352 208 352H80C71.16 352 64 344.8 64 336C64 327.2 71.16 320 80 320H208zM476.7 324.7C482.9 318.4 493.1 318.4 499.3 324.7C505.6 330.9 505.6 341.1 499.3 347.3L427.3 419.3C421.1 425.6 410.9 425.6 404.7 419.3L364.7 379.3C358.4 373.1 358.4 362.9 364.7 356.7C370.9 350.4 381.1 350.4 387.3 356.7L416 385.4L476.7 324.7zM288 368C288 288.5 352.5 224 432 224C511.5 224 576 288.5 576 368C576 447.5 511.5 512 432 512C352.5 512 288 447.5 288 368zM432 480C493.9 480 544 429.9 544 368C544 306.1 493.9 256 432 256C370.1 256 320 306.1 320 368C320 429.9 370.1 480 432 480z"/></svg>', oe = '<svg fill="#ffffff" height="100%" viewBox="0 0 576 512"><path d="M320 32H64C46.33 32 32 46.33 32 64V448C32 465.7 46.33 480 64 480H296.2C305.1 491.8 317.3 502.3 329.7 511.3C326.6 511.7 323.3 512 320 512H64C28.65 512 0 483.3 0 448V64C0 28.65 28.65 0 64 0H320C355.3 0 384 28.65 384 64V198.6C372.8 201.8 362.1 206 352 211.2V64C352 46.33 337.7 32 320 32V32zM64 144C64 135.2 71.16 128 80 128H304C312.8 128 320 135.2 320 144C320 152.8 312.8 160 304 160H80C71.16 160 64 152.8 64 144zM272 224C280.8 224 288 231.2 288 240C288 248.8 280.8 256 272 256H80C71.16 256 64 248.8 64 240C64 231.2 71.16 224 80 224H272zM208 320C216.8 320 224 327.2 224 336C224 344.8 216.8 352 208 352H80C71.16 352 64 344.8 64 336C64 327.2 71.16 320 80 320H208zM476.7 324.7C482.9 318.4 493.1 318.4 499.3 324.7C505.6 330.9 505.6 341.1 499.3 347.3L427.3 419.3C421.1 425.6 410.9 425.6 404.7 419.3L364.7 379.3C358.4 373.1 358.4 362.9 364.7 356.7C370.9 350.4 381.1 350.4 387.3 356.7L416 385.4L476.7 324.7zM288 368C288 288.5 352.5 224 432 224C511.5 224 576 288.5 576 368C576 447.5 511.5 512 432 512C352.5 512 288 447.5 288 368zM432 480C493.9 480 544 429.9 544 368C544 306.1 493.9 256 432 256C370.1 256 320 306.1 320 368C320 429.9 370.1 480 432 480z"/></svg>', se = null, ae = ["abortOperation", "findObject", "getReadableStream", "listNodes", "previewObject", "retrieveRecords"], ne = null, ce = "beta", le = "connector", re = "source", pe = null, be = null, me = null, fe = "0.2.320", ye = {
|
|
270
270
|
id: W,
|
|
271
271
|
label: Y,
|
|
272
272
|
description: $,
|
|
@@ -303,7 +303,7 @@ const W = "datapos-connector-file-store-emulator", Y = { en: "File Store Emulato
|
|
|
303
303
|
"/Test Files/Encoding": [{ id: "VDPKvgp8-hYHAyD5Lspqx", lastModifiedAt: 17435076862472607e-4, name: "big5", size: 614, typeId: "object" }, { id: "BuaHWD5GhE1tR4h50Sgjb", lastModifiedAt: 1743507686247412e-3, name: "euc-jp", size: 3919, typeId: "object" }, { id: "4zP5NrMMQKfEImM1ql9rh", lastModifiedAt: 1743507686247461e-3, name: "euc-kr", size: 2480, typeId: "object" }, { id: "4ddofaJBAo3000bUD4l_-", lastModifiedAt: 17435076862475098e-4, name: "gb18030", size: 1665, typeId: "object" }, { id: "yk7BqZOfbjw1lrOWkYMX8", lastModifiedAt: 17435076862475715e-4, name: "iso-2022-jp", size: 2924, typeId: "object" }, { id: "A52Tx9PVrjFXZAzEyska1", lastModifiedAt: 17435076862476187e-4, name: "iso-8859-2", size: 1600, typeId: "object" }, { id: "CzzBPKwpdex-8NIdpgC0b", lastModifiedAt: 1743507686247666e-3, name: "iso-8859-5", size: 1024, typeId: "object" }, { id: "6LYPo_5Ux6C7olOqf0caX", lastModifiedAt: 17435076862477134e-4, name: "iso-8859-6", size: 2241, typeId: "object" }, { id: "bfAhVWgQoJ4gK1WpgMI-O", lastModifiedAt: 1743507686247772e-3, name: "iso-8859-7", size: 1033, typeId: "object" }, { id: "94cPoDWerynVP5nYqQok5", lastModifiedAt: 17435076862478198e-4, name: "koi8-r", size: 1024, typeId: "object" }, { id: "wZP8uYiw71--vBcvc8mr-", lastModifiedAt: 17435076862478694e-4, name: "shift_jis", size: 2816, typeId: "object" }, { id: "8N1hAcknG5QTCBGAb_DgC", lastModifiedAt: 17435076862479082e-4, name: "utf-16be", size: 1334, typeId: "object" }, { id: "b0wcTK1T3jAS_FMhx74-L", lastModifiedAt: 1743507686247954e-3, name: "utf-16le", size: 1334, typeId: "object" }, { id: "Ar8QcfiznCHcGUZqvc4Xt", lastModifiedAt: 1743507686247995e-3, name: "utf-8", size: 1125, typeId: "object" }, { id: "MFdztx3Hn_W0cZ-FvJAlb", lastModifiedAt: 17435076862480386e-4, name: "windows-1250", size: 1617, typeId: "object" }, { id: "Hh7pKXC0Y-_OyT_zwSmMK", lastModifiedAt: 17435076862480842e-4, name: "windows-1251", size: 1024, typeId: "object" }, { id: "OcIEHmkSVO8lOX7srKkPn", lastModifiedAt: 1743507686248141e-3, name: "windows-1252", size: 2976, typeId: "object" }, { id: "Fr-FOrJwjhwh-RrejQG2y", lastModifiedAt: 1743507686248181e-3, name: "windows-1253", size: 1052, typeId: "object" }, { id: "fJnDU4alQlSZ4x-nojhp1", lastModifiedAt: 17435076862482227e-4, name: "windows-1254", size: 2445, typeId: "object" }, { id: "vI70VbY2bLWPSppUJ27pX", lastModifiedAt: 17435076862482617e-4, name: "windows-1255", size: 2405, typeId: "object" }, { id: "CBX69u7zo_sNZTLSXL_Ok", lastModifiedAt: 17435076862483171e-4, name: "windows-1256", size: 2241, typeId: "object" }],
|
|
304
304
|
"/Test Files/Encoding Test Files": [{ id: "2TJo3wC-qs3eQ4Q1LiC4p", lastModifiedAt: 17435076862436587e-4, name: "ascii.txt", size: 44, typeId: "object" }, { id: "lrrRdBkfNLjxDpgGBJafD", lastModifiedAt: 17435076862436975e-4, name: "big5.txt", size: 37, typeId: "object" }, { id: "kcfwAkKq1bMepTQIMmX-f", lastModifiedAt: 17435076862459814e-4, name: "euc-jp.txt", size: 218, typeId: "object" }, { id: "bciRqR0P6iJyQ_vtOop3Y", lastModifiedAt: 17435076862460261e-4, name: "euc-kr.txt", size: 153, typeId: "object" }, { id: "f4Q9QEcVNnx0hSGJrhOIV", lastModifiedAt: 17435076862460706e-4, name: "gb2312.txt", size: 105, typeId: "object" }, { id: "PcztjI4G2NZOYCdLSD5kA", lastModifiedAt: 17435076862461167e-4, name: "hz-gb-2312.txt", size: 117, typeId: "object" }, { id: "lLzl7OwIayebmkDf_johR", lastModifiedAt: 17435076862461694e-4, name: "ibm855.txt", size: 290, typeId: "object" }, { id: "Mq7D4ZWQsTMRsTX7_CsvU", lastModifiedAt: 17435076862462126e-4, name: "ibm866.txt", size: 290, typeId: "object" }, { id: "We9LB0aWPrd-IODoVKoRt", lastModifiedAt: 1743507686246254e-3, name: "iso-2022-jp.txt", size: 224, typeId: "object" }, { id: "W0qTlIiYoioBujG6zw8_Y", lastModifiedAt: 17435076862462983e-4, name: "iso-2022-kr.txt", size: 198, typeId: "object" }, { id: "I6IMhKsT4Uz4wGEJvW36C", lastModifiedAt: 17435076862463481e-4, name: "iso-8859-2.txt", size: 273, typeId: "object" }, { id: "Xwkvh13qNNKRwu7jYmzjR", lastModifiedAt: 17435076862463884e-4, name: "iso-8859-5-bulgarian.txt", size: 304, typeId: "object" }, { id: "asxDjWbs34mTKaGTkbNfw", lastModifiedAt: 17435076862464302e-4, name: "iso-8859-5-russian.txt", size: 290, typeId: "object" }, { id: "kgbViYQ9OX4w5SpLdskgZ", lastModifiedAt: 17435076862464714e-4, name: "iso-8859-7.txt", size: 319, typeId: "object" }, { id: "Bq0Gn-1G5BrhTxBUOQ7DF", lastModifiedAt: 17435076862465222e-4, name: "iso-8859-8.txt", size: 307, typeId: "object" }, { id: "jCtOU9WWV8jHWMgr_Oq7r", lastModifiedAt: 17435076862465593e-4, name: "koi8-r.txt", size: 290, typeId: "object" }, { id: "--cTZDZwr5BgECFgDGIo2", lastModifiedAt: 17435076862465964e-4, name: "shift_jis.txt", size: 216, typeId: "object" }, { id: "8mdQ36gjXep2wGj_kuQHx", lastModifiedAt: 1743507686246642e-3, name: "tis-620.txt", size: 68, typeId: "object" }, { id: "5rUGdrjGK4v6hZ1qwH2KJ", lastModifiedAt: 17435076862466946e-4, name: "utf-16be.txt", size: 2, typeId: "object" }, { id: "NtUpxZ5XGC1UAa0bJU4Cd", lastModifiedAt: 17435076862467427e-4, name: "utf-16le.txt", size: 84, typeId: "object" }, { id: "djicGUE7J59cQmEz22Lw2", lastModifiedAt: 1743507686246787e-3, name: "utf-32be.txt", size: 4, typeId: "object" }, { id: "E4ewVZr3kM5JfkCNHhaHv", lastModifiedAt: 17435076862468293e-4, name: "utf-32le.txt", size: 18, typeId: "object" }, { id: "T0gS9i2pl9OCYmqJdcEx-", lastModifiedAt: 17435076862468833e-4, name: "utf-8-with-bom.txt", size: 58, typeId: "object" }, { id: "ctcPwumVXy1mYV1fht5yD", lastModifiedAt: 17435076862469265e-4, name: "utf-8-without-bom.txt", size: 58, typeId: "object" }, { id: "V0aG5TkpxwM3_Q1di66Nz", lastModifiedAt: 1743507686246975e-3, name: "windows-1251.txt", size: 290, typeId: "object" }, { id: "LSFzaM5jL_I544Ol4mErA", lastModifiedAt: 17435076862470168e-4, name: "windows-1252.txt", size: 433, typeId: "object" }, { id: "SF10JGkRZ1rVLdm5LVBrl", lastModifiedAt: 17435076862470657e-4, name: "windows-1255.txt", size: 36, typeId: "object" }, { id: "kEx_hKy6rjhn97BwN07Ip", lastModifiedAt: 1743507686247103e-3, name: "x-iso-10646-ucs-4-2143.txt", size: 20, typeId: "object" }, { id: "XFbR4pbjpQwlmlKFmRqDC", lastModifiedAt: 1743507686247142e-3, name: "x-iso-10646-ucs-4-3412.txt", size: 20, typeId: "object" }, { id: "BuqENK-iJAXc1noTneDzz", lastModifiedAt: 17435076862471843e-4, name: "x-mac-cyrillic.txt", size: 290, typeId: "object" }, { childCount: 38, name: "encodings", typeId: "folder" }],
|
|
305
305
|
"/Test Files/Encoding Test Files/encodings": [{ id: "irBUQdMBx4ZhLXyti4t0W", lastModifiedAt: 1743507686243765e-3, name: "big5", size: 614, typeId: "object" }, { id: "BPyMwzoNSnGdUV_dzYEWz", lastModifiedAt: 17435076862438152e-4, name: "euc_jp", size: 3919, typeId: "object" }, { id: "FXjFtwUcRxKmH_ZCAaNz6", lastModifiedAt: 1743507686243867e-3, name: "euc_kr", size: 2480, typeId: "object" }, { id: "5fBDsObvTXORIIgptb-sl", lastModifiedAt: 17435076862439092e-4, name: "gb18030", size: 1665, typeId: "object" }, { id: "7Jt6_ku8bzWNBFjRaagdR", lastModifiedAt: 17435076862439512e-4, name: "iso2022cn", size: 1749, typeId: "object" }, { id: "WLvdjjUGMGnEv3FmDQJ9p", lastModifiedAt: 1743507686243999e-3, name: "iso2022jp", size: 2924, typeId: "object" }, { id: "6CsULI8SIvo4zwFjKAA1_", lastModifiedAt: 17435076862440513e-4, name: "iso2022kr", size: 3172, typeId: "object" }, { id: "SqbmllHEuS76me2jsWjLI", lastModifiedAt: 17435076862440952e-4, name: "iso88591_en", size: 2955, typeId: "object" }, { id: "5oCOldZaxX2XoavVBBgdc", lastModifiedAt: 1743507686244138e-3, name: "iso88592_cs", size: 1600, typeId: "object" }, { id: "UATsUFbSUtqVhVhMJ2sec", lastModifiedAt: 1743507686244182e-3, name: "iso88595_ru", size: 1024, typeId: "object" }, { id: "wC1_pjcjj0NZZWTxqiGaw", lastModifiedAt: 17435076862442336e-4, name: "iso88596_ar", size: 2241, typeId: "object" }, { id: "Pe8RK8l_zBAjLODUX34IB", lastModifiedAt: 1743507686244275e-3, name: "iso88597_el", size: 1033, typeId: "object" }, { id: "Ga6Z1yRgs99Vpa5QrR70_", lastModifiedAt: 17435076862445083e-4, name: "iso88598", size: 2352, typeId: "object" }, { id: "XmtdLSxT84HsoF7OIqye4", lastModifiedAt: 1743507686244566e-3, name: "iso88598_he", size: 2353, typeId: "object" }, { id: "3HCk8XXlua9KEOtc5iseJ", lastModifiedAt: 1743507686244627e-3, name: "iso88599_tr", size: 2424, typeId: "object" }, { id: "zjfA3EHpzaPHAvTkBICWG", lastModifiedAt: 17435076862446736e-4, name: "koi8r", size: 1024, typeId: "object" }, { id: "IRnhQiGe4mxsoQpaJCdRM", lastModifiedAt: 17435076862447236e-4, name: "lang_arabic", size: 4059, typeId: "object" }, { id: "ih-RgplBSErEYOcna-NlI", lastModifiedAt: 17435076862447717e-4, name: "lang_chinese", size: 916, typeId: "object" }, { id: "9EYQqNjgOksavPn--KH46", lastModifiedAt: 17435076862448289e-4, name: "lang_czech", size: 1795, typeId: "object" }, { id: "Xaeq_CiSthaccRyGw22Bx", lastModifiedAt: 17435076862448726e-4, name: "lang_greek", size: 1895, typeId: "object" }, { id: "421DaSaIy8ywB26Rc2GV1", lastModifiedAt: 1743507686244933e-3, name: "lang_hebrew", size: 4124, typeId: "object" }, { id: "N01Ggo186R8phM3c0zLa2", lastModifiedAt: 17435076862449873e-4, name: "lang_japanese", size: 3978, typeId: "object" }, { id: "T8jzTqgGlU30YQd1QvMm3", lastModifiedAt: 17435076862450503e-4, name: "lang_korean", size: 3466, typeId: "object" }, { id: "R-Fkzl2BW0o9Hios70WwI", lastModifiedAt: 17435076862450947e-4, name: "lang_russian", size: 1873, typeId: "object" }, { id: "KiKbYoPDMht0f9ElSfTYZ", lastModifiedAt: 1743507686245141e-3, name: "lang_turkish", size: 2678, typeId: "object" }, { id: "a_RPqwZdZ5DmZOCDUVeiZ", lastModifiedAt: 17435076862451846e-4, name: "shiftjis", size: 2816, typeId: "object" }, { id: "rXd90uYo_IZSqu9U_3Sr6", lastModifiedAt: 1743507686245242e-3, name: "utf16be", size: 1334, typeId: "object" }, { id: "83XbTcV0_WKdvcPEKeuDy", lastModifiedAt: 17435076862452773e-4, name: "utf16le", size: 1334, typeId: "object" }, { id: "Upq9-WDaQTs--Ogg1Qtev", lastModifiedAt: 17435076862453193e-4, name: "utf32be", size: 2664, typeId: "object" }, { id: "mm0RGQoiYeYc7ORPPI2S8", lastModifiedAt: 17435076862453613e-4, name: "utf32le", size: 2664, typeId: "object" }, { id: "J9FIyiit-zK4HquqAwGNE", lastModifiedAt: 17435076862454148e-4, name: "utf8", size: 1125, typeId: "object" }, { id: "pZQOaI1tOrcy2Km0Z7Enb", lastModifiedAt: 17435076862454595e-4, name: "windows_1250", size: 1617, typeId: "object" }, { id: "da-PPmwaWqLyqUz6SRw1v", lastModifiedAt: 1743507686245507e-3, name: "windows_1251", size: 1024, typeId: "object" }, { id: "aw_8vVm1CvdxaiiI3CX-L", lastModifiedAt: 17435076862456494e-4, name: "windows_1252", size: 2976, typeId: "object" }, { id: "-JYzWLdhtRIWC0vwZFj0I", lastModifiedAt: 17435076862456982e-4, name: "windows_1253", size: 1052, typeId: "object" }, { id: "ImvMAQPnb13Mf7mqB7t6m", lastModifiedAt: 17435076862458247e-4, name: "windows_1254", size: 2445, typeId: "object" }, { id: "mYnEtUyasG7Cub5f7WgsT", lastModifiedAt: 17435076862458765e-4, name: "windows_1255", size: 2405, typeId: "object" }, { id: "clQEg9g9e9QiBJcsOcKcs", lastModifiedAt: 17435076862459272e-4, name: "windows_1256", size: 2241, typeId: "object" }]
|
|
306
|
-
}, Ie = "0.2.
|
|
306
|
+
}, Ie = "0.2.320";
|
|
307
307
|
let E;
|
|
308
308
|
async function Ae(t, e) {
|
|
309
309
|
const { add_my_numbers: i } = await T();
|
|
@@ -318,7 +318,7 @@ async function Me(t) {
|
|
|
318
318
|
async function T() {
|
|
319
319
|
return E ??= import("./datapos_connector_file_store_emulator_core-CBVDrOML.js"), E;
|
|
320
320
|
}
|
|
321
|
-
const ue = "Connector failed to abort preview object operation.",
|
|
321
|
+
const ue = "Connector failed to abort preview object operation.", je = "Connector failed to abort retrieve all records operation.", ze = 4096, ve = 1e3, w = "https://sample-data-eu.datapos.app";
|
|
322
322
|
class Ce {
|
|
323
323
|
abortController;
|
|
324
324
|
config;
|
|
@@ -336,7 +336,7 @@ class Ce {
|
|
|
336
336
|
// Operations - Find object.
|
|
337
337
|
findObject(e, i) {
|
|
338
338
|
for (const d in M)
|
|
339
|
-
if (Object.prototype.hasOwnProperty.call(M, d) && M[d]?.find((
|
|
339
|
+
if (Object.prototype.hasOwnProperty.call(M, d) && M[d]?.find((n) => n.typeId === "object" && n.id === i.objectName))
|
|
340
340
|
return Promise.resolve({ folderPath: d });
|
|
341
341
|
return Promise.resolve({});
|
|
342
342
|
}
|
|
@@ -367,25 +367,25 @@ class Ce {
|
|
|
367
367
|
d.addEventListener("abort", () => {
|
|
368
368
|
throw new h(ue, "datapos-connector-file-store-emulator|Connector|preview.abort");
|
|
369
369
|
});
|
|
370
|
-
const o = `${w}/fileStore${i.path}`,
|
|
371
|
-
if (
|
|
372
|
-
return e.abortController = void 0, { data: new Uint8Array(await
|
|
373
|
-
throw await K(
|
|
370
|
+
const o = `${w}/fileStore${i.path}`, n = { Range: `bytes=0-${i.chunkSize ?? ze}` }, c = await fetch(encodeURI(o), { headers: n, signal: d });
|
|
371
|
+
if (c.ok)
|
|
372
|
+
return e.abortController = void 0, { data: new Uint8Array(await c.arrayBuffer()), typeId: "uint8Array" };
|
|
373
|
+
throw await K(c, `Failed to fetch '${i.path}' file.`, "datapos-connector-file-store-emulator|Connector|preview");
|
|
374
374
|
} catch (d) {
|
|
375
375
|
throw e.abortController = void 0, d;
|
|
376
376
|
}
|
|
377
377
|
}
|
|
378
378
|
// Operations - Retrieve records.
|
|
379
379
|
async retrieveRecords(e, i, d, o) {
|
|
380
|
-
const s = await e.
|
|
381
|
-
return console.log(1234, s), new Promise((
|
|
380
|
+
const s = e.csvParseTool ?? (e.csvParseTool = await e.loadTool("csv-parse"));
|
|
381
|
+
return console.log(1234, s), new Promise((n, c) => {
|
|
382
382
|
try {
|
|
383
383
|
e.abortController = new AbortController();
|
|
384
384
|
const a = e.abortController.signal;
|
|
385
385
|
a.addEventListener(
|
|
386
386
|
"abort",
|
|
387
387
|
() => {
|
|
388
|
-
e.abortController = void 0,
|
|
388
|
+
e.abortController = void 0, c(new h(je, "datapos-connector-file-store-emulator|Connector|retrieve.abort"));
|
|
389
389
|
},
|
|
390
390
|
{ once: !0 }
|
|
391
391
|
);
|
|
@@ -400,12 +400,12 @@ class Ce {
|
|
|
400
400
|
try {
|
|
401
401
|
let p;
|
|
402
402
|
for (; (p = r.read()) !== null; )
|
|
403
|
-
a.throwIfAborted(), b.push(p), !(b.length <
|
|
403
|
+
a.throwIfAborted(), b.push(p), !(b.length < ve) && (d(b), b = []);
|
|
404
404
|
} catch (p) {
|
|
405
|
-
e.abortController = void 0,
|
|
405
|
+
e.abortController = void 0, c(y(p));
|
|
406
406
|
}
|
|
407
407
|
}), r.on("error", (p) => {
|
|
408
|
-
e.abortController = void 0,
|
|
408
|
+
e.abortController = void 0, c(y(p));
|
|
409
409
|
}), r.on("end", () => {
|
|
410
410
|
try {
|
|
411
411
|
a.throwIfAborted(), e.abortController = void 0, b.length > 0 && (d(b), b = []), o({
|
|
@@ -415,21 +415,21 @@ class Ce {
|
|
|
415
415
|
invalidFieldLengthCount: r.info.invalid_field_length,
|
|
416
416
|
lineCount: r.info.lines,
|
|
417
417
|
recordCount: r.info.records
|
|
418
|
-
}),
|
|
418
|
+
}), n();
|
|
419
419
|
} catch (p) {
|
|
420
|
-
e.abortController = void 0,
|
|
420
|
+
e.abortController = void 0, c(y(p));
|
|
421
421
|
}
|
|
422
422
|
});
|
|
423
423
|
const k = `${w}/fileStore${i.path}`;
|
|
424
424
|
fetch(encodeURI(k), { signal: a }).then(async (p) => {
|
|
425
425
|
try {
|
|
426
426
|
if (p.ok && p.body) {
|
|
427
|
-
const
|
|
428
|
-
let u = await
|
|
427
|
+
const v = p.body.pipeThrough(new TextDecoderStream(i.encodingId)).getReader();
|
|
428
|
+
let u = await v.read();
|
|
429
429
|
for (; !u.done; )
|
|
430
430
|
a.throwIfAborted(), r.write(u.value, (C) => {
|
|
431
|
-
C && (e.abortController = void 0,
|
|
432
|
-
}), u = await
|
|
431
|
+
C && (e.abortController = void 0, c(y(C)));
|
|
432
|
+
}), u = await v.read();
|
|
433
433
|
r.end();
|
|
434
434
|
} else {
|
|
435
435
|
const I = await e.tools.dataPos.buildFetchError(
|
|
@@ -437,16 +437,16 @@ class Ce {
|
|
|
437
437
|
`Failed to fetch '${i.path}' file.`,
|
|
438
438
|
"datapos-connector-file-store-emulator|Connector|retrieve"
|
|
439
439
|
);
|
|
440
|
-
e.abortController = void 0,
|
|
440
|
+
e.abortController = void 0, c(I);
|
|
441
441
|
}
|
|
442
442
|
} catch (I) {
|
|
443
|
-
e.abortController = void 0,
|
|
443
|
+
e.abortController = void 0, c(y(I));
|
|
444
444
|
}
|
|
445
445
|
}).catch((p) => {
|
|
446
|
-
e.abortController = void 0,
|
|
446
|
+
e.abortController = void 0, c(y(p));
|
|
447
447
|
});
|
|
448
448
|
} catch (a) {
|
|
449
|
-
e.abortController = void 0,
|
|
449
|
+
e.abortController = void 0, c(y(a));
|
|
450
450
|
}
|
|
451
451
|
});
|
|
452
452
|
}
|
|
@@ -456,17 +456,15 @@ class Ce {
|
|
|
456
456
|
}
|
|
457
457
|
/** Utilities - Construct object (file) node configuration. */
|
|
458
458
|
constructObjectNodeConfig(e, i, d, o, s) {
|
|
459
|
-
const
|
|
460
|
-
return { id: i, extension:
|
|
459
|
+
const n = Q(d) ?? "", c = J(d), a = o, b = X(c);
|
|
460
|
+
return { id: i, extension: c, folderPath: e, label: d, lastModifiedAt: a, mimeType: b, name: n, size: s, typeId: "object" };
|
|
461
461
|
}
|
|
462
|
-
// Helpers - Load
|
|
463
|
-
async
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
const
|
|
467
|
-
|
|
468
|
-
const d = await import(`https://engine-eu.datapos.app/tools/csv-parse_v${e.version}/datapos-tool-csv-parse.es.js`);
|
|
469
|
-
return new d.CSVParseTool();
|
|
462
|
+
// Helpers - Load tool.
|
|
463
|
+
async loadTool(e) {
|
|
464
|
+
const i = `datapos-tool-${e}.es.js`, d = this.toolConfigs.find((n) => n.id === e);
|
|
465
|
+
if (!d) throw new Error(`Unknown tool '${e}'.`);
|
|
466
|
+
const s = await import(`https://engine-eu.datapos.app/tools/${i}_v${d.version}/datapos-tool-${i}.es.js`);
|
|
467
|
+
return new s.T();
|
|
470
468
|
}
|
|
471
469
|
}
|
|
472
470
|
export {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"datapos-connector-file-store-emulator.es.js","sources":["../node_modules/nanoid/url-alphabet/index.js","../node_modules/nanoid/index.browser.js","../node_modules/@datapos/datapos-shared/dist/datapos-shared.es.js","../node_modules/@datapos/datapos-shared/dist/datapos-shared-utilities.es.js","../src/rustBridge.ts","../src/index.ts"],"sourcesContent":["export const urlAlphabet =\n 'useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict'\n","/* @ts-self-types=\"./index.d.ts\" */\nimport { urlAlphabet as scopedUrlAlphabet } from './url-alphabet/index.js'\nexport { urlAlphabet } from './url-alphabet/index.js'\nexport let random = bytes => crypto.getRandomValues(new Uint8Array(bytes))\nexport let customRandom = (alphabet, defaultSize, getRandom) => {\n let mask = (2 << Math.log2(alphabet.length - 1)) - 1\n let step = -~((1.6 * mask * defaultSize) / alphabet.length)\n return (size = defaultSize) => {\n let id = ''\n while (true) {\n let bytes = getRandom(step)\n let j = step | 0\n while (j--) {\n id += alphabet[bytes[j] & mask] || ''\n if (id.length >= size) return id\n }\n }\n }\n}\nexport let customAlphabet = (alphabet, size = 21) =>\n customRandom(alphabet, size | 0, random)\nexport let nanoid = (size = 21) => {\n let id = ''\n let bytes = crypto.getRandomValues(new Uint8Array((size |= 0)))\n while (size--) {\n id += scopedUrlAlphabet[bytes[size] & 63]\n }\n return id\n}\n","let M;\n// @__NO_SIDE_EFFECTS__\nfunction V(t) {\n return {\n lang: t?.lang ?? M?.lang,\n message: t?.message,\n abortEarly: t?.abortEarly ?? M?.abortEarly,\n abortPipeEarly: t?.abortPipeEarly ?? M?.abortPipeEarly\n };\n}\nlet z;\n// @__NO_SIDE_EFFECTS__\nfunction H(t) {\n return z?.get(t);\n}\nlet $;\n// @__NO_SIDE_EFFECTS__\nfunction W(t) {\n return $?.get(t);\n}\nlet X;\n// @__NO_SIDE_EFFECTS__\nfunction B(t, n) {\n return X?.get(t)?.get(n);\n}\n// @__NO_SIDE_EFFECTS__\nfunction _(t) {\n const n = typeof t;\n return n === \"string\" ? `\"${t}\"` : n === \"number\" || n === \"bigint\" || n === \"boolean\" ? `${t}` : n === \"object\" || n === \"function\" ? (t && Object.getPrototypeOf(t)?.constructor?.name) ?? \"null\" : n;\n}\nfunction y(t, n, e, r, s) {\n const o = s && \"input\" in s ? s.input : e.value, i = s?.expected ?? t.expects ?? null, u = s?.received ?? /* @__PURE__ */ _(o), a = {\n kind: t.kind,\n type: t.type,\n input: o,\n expected: i,\n received: u,\n message: `Invalid ${n}: ${i ? `Expected ${i} but r` : \"R\"}eceived ${u}`,\n requirement: t.requirement,\n path: s?.path,\n issues: s?.issues,\n lang: r.lang,\n abortEarly: r.abortEarly,\n abortPipeEarly: r.abortPipeEarly\n }, p = t.kind === \"schema\", d = s?.message ?? t.message ?? /* @__PURE__ */ B(t.reference, a.lang) ?? (p ? /* @__PURE__ */ W(a.lang) : null) ?? r.message ?? /* @__PURE__ */ H(a.lang);\n d !== void 0 && (a.message = typeof d == \"function\" ? d(a) : d), p && (e.typed = !1), e.issues ? e.issues.push(a) : e.issues = [a];\n}\n// @__NO_SIDE_EFFECTS__\nfunction g(t) {\n return {\n version: 1,\n vendor: \"valibot\",\n validate(n) {\n return t[\"~run\"]({ value: n }, /* @__PURE__ */ V());\n }\n };\n}\n// @__NO_SIDE_EFFECTS__\nfunction J(t, n) {\n return Object.hasOwn(t, n) && n !== \"__proto__\" && n !== \"prototype\" && n !== \"constructor\";\n}\n// @__NO_SIDE_EFFECTS__\nfunction K(t, n) {\n const e = [...new Set(t)];\n return e.length > 1 ? `(${e.join(` ${n} `)})` : e[0] ?? \"never\";\n}\n// @__NO_SIDE_EFFECTS__\nfunction q(t, n, e) {\n return typeof t.fallback == \"function\" ? t.fallback(n, e) : t.fallback;\n}\n// @__NO_SIDE_EFFECTS__\nfunction w(t, n, e) {\n return typeof t.default == \"function\" ? t.default(n, e) : t.default;\n}\n// @__NO_SIDE_EFFECTS__\nfunction E(t, n) {\n return {\n kind: \"schema\",\n type: \"array\",\n reference: E,\n expects: \"Array\",\n async: !1,\n item: t,\n message: n,\n get \"~standard\"() {\n return /* @__PURE__ */ g(this);\n },\n \"~run\"(e, r) {\n const s = e.value;\n if (Array.isArray(s)) {\n e.typed = !0, e.value = [];\n for (let o = 0; o < s.length; o++) {\n const i = s[o], u = this.item[\"~run\"]({ value: i }, r);\n if (u.issues) {\n const a = {\n type: \"array\",\n origin: \"value\",\n input: s,\n key: o,\n value: i\n };\n for (const p of u.issues)\n p.path ? p.path.unshift(a) : p.path = [a], e.issues?.push(p);\n if (e.issues || (e.issues = u.issues), r.abortEarly) {\n e.typed = !1;\n break;\n }\n }\n u.typed || (e.typed = !1), e.value.push(u.value);\n }\n } else y(this, \"type\", e, r);\n return e;\n }\n };\n}\n// @__NO_SIDE_EFFECTS__\nfunction T(t) {\n return {\n kind: \"schema\",\n type: \"boolean\",\n reference: T,\n expects: \"boolean\",\n async: !1,\n message: t,\n get \"~standard\"() {\n return /* @__PURE__ */ g(this);\n },\n \"~run\"(n, e) {\n return typeof n.value == \"boolean\" ? n.typed = !0 : y(this, \"type\", n, e), n;\n }\n };\n}\n// @__NO_SIDE_EFFECTS__\nfunction k(t, n) {\n return {\n kind: \"schema\",\n type: \"literal\",\n reference: k,\n expects: /* @__PURE__ */ _(t),\n async: !1,\n literal: t,\n message: n,\n get \"~standard\"() {\n return /* @__PURE__ */ g(this);\n },\n \"~run\"(e, r) {\n return e.value === this.literal ? e.typed = !0 : y(this, \"type\", e, r), e;\n }\n };\n}\n// @__NO_SIDE_EFFECTS__\nfunction m(t, n) {\n return {\n kind: \"schema\",\n type: \"nullable\",\n reference: m,\n expects: `(${t.expects} | null)`,\n async: !1,\n wrapped: t,\n default: n,\n get \"~standard\"() {\n return /* @__PURE__ */ g(this);\n },\n \"~run\"(e, r) {\n return e.value === null && (this.default !== void 0 && (e.value = /* @__PURE__ */ w(this, e, r)), e.value === null) ? (e.typed = !0, e) : this.wrapped[\"~run\"](e, r);\n }\n };\n}\n// @__NO_SIDE_EFFECTS__\nfunction x(t) {\n return {\n kind: \"schema\",\n type: \"number\",\n reference: x,\n expects: \"number\",\n async: !1,\n message: t,\n get \"~standard\"() {\n return /* @__PURE__ */ g(this);\n },\n \"~run\"(n, e) {\n return typeof n.value == \"number\" && !isNaN(n.value) ? n.typed = !0 : y(this, \"type\", n, e), n;\n }\n };\n}\n// @__NO_SIDE_EFFECTS__\nfunction b(t, n) {\n return {\n kind: \"schema\",\n type: \"object\",\n reference: b,\n expects: \"Object\",\n async: !1,\n entries: t,\n message: n,\n get \"~standard\"() {\n return /* @__PURE__ */ g(this);\n },\n \"~run\"(e, r) {\n const s = e.value;\n if (s && typeof s == \"object\") {\n e.typed = !0, e.value = {};\n for (const o in this.entries) {\n const i = this.entries[o];\n if (o in s || (i.type === \"exact_optional\" || i.type === \"optional\" || i.type === \"nullish\") && i.default !== void 0) {\n const u = o in s ? s[o] : /* @__PURE__ */ w(i), a = i[\"~run\"]({ value: u }, r);\n if (a.issues) {\n const p = {\n type: \"object\",\n origin: \"value\",\n input: s,\n key: o,\n value: u\n };\n for (const d of a.issues)\n d.path ? d.path.unshift(p) : d.path = [p], e.issues?.push(d);\n if (e.issues || (e.issues = a.issues), r.abortEarly) {\n e.typed = !1;\n break;\n }\n }\n a.typed || (e.typed = !1), e.value[o] = a.value;\n } else if (i.fallback !== void 0) e.value[o] = /* @__PURE__ */ q(i);\n else if (i.type !== \"exact_optional\" && i.type !== \"optional\" && i.type !== \"nullish\" && (y(this, \"key\", e, r, {\n input: void 0,\n expected: `\"${o}\"`,\n path: [{\n type: \"object\",\n origin: \"key\",\n input: s,\n key: o,\n value: s[o]\n }]\n }), r.abortEarly))\n break;\n }\n } else y(this, \"type\", e, r);\n return e;\n }\n };\n}\n// @__NO_SIDE_EFFECTS__\nfunction f(t, n) {\n return {\n kind: \"schema\",\n type: \"optional\",\n reference: f,\n expects: `(${t.expects} | undefined)`,\n async: !1,\n wrapped: t,\n default: n,\n get \"~standard\"() {\n return /* @__PURE__ */ g(this);\n },\n \"~run\"(e, r) {\n return e.value === void 0 && (this.default !== void 0 && (e.value = /* @__PURE__ */ w(this, e, r)), e.value === void 0) ? (e.typed = !0, e) : this.wrapped[\"~run\"](e, r);\n }\n };\n}\n// @__NO_SIDE_EFFECTS__\nfunction R(t, n, e) {\n return {\n kind: \"schema\",\n type: \"record\",\n reference: R,\n expects: \"Object\",\n async: !1,\n key: t,\n value: n,\n message: e,\n get \"~standard\"() {\n return /* @__PURE__ */ g(this);\n },\n \"~run\"(r, s) {\n const o = r.value;\n if (o && typeof o == \"object\") {\n r.typed = !0, r.value = {};\n for (const i in o) if (/* @__PURE__ */ J(o, i)) {\n const u = o[i], a = this.key[\"~run\"]({ value: i }, s);\n if (a.issues) {\n const d = {\n type: \"object\",\n origin: \"key\",\n input: o,\n key: i,\n value: u\n };\n for (const S of a.issues)\n S.path = [d], r.issues?.push(S);\n if (r.issues || (r.issues = a.issues), s.abortEarly) {\n r.typed = !1;\n break;\n }\n }\n const p = this.value[\"~run\"]({ value: u }, s);\n if (p.issues) {\n const d = {\n type: \"object\",\n origin: \"value\",\n input: o,\n key: i,\n value: u\n };\n for (const S of p.issues)\n S.path ? S.path.unshift(d) : S.path = [d], r.issues?.push(S);\n if (r.issues || (r.issues = p.issues), s.abortEarly) {\n r.typed = !1;\n break;\n }\n }\n (!a.typed || !p.typed) && (r.typed = !1), a.typed && (r.value[a.value] = p.value);\n }\n } else y(this, \"type\", r, s);\n return r;\n }\n };\n}\n// @__NO_SIDE_EFFECTS__\nfunction l(t) {\n return {\n kind: \"schema\",\n type: \"string\",\n reference: l,\n expects: \"string\",\n async: !1,\n message: t,\n get \"~standard\"() {\n return /* @__PURE__ */ g(this);\n },\n \"~run\"(n, e) {\n return typeof n.value == \"string\" ? n.typed = !0 : y(this, \"type\", n, e), n;\n }\n };\n}\n// @__NO_SIDE_EFFECTS__\nfunction P(t) {\n let n;\n if (t) for (const e of t) n ? n.push(...e.issues) : n = e.issues;\n return n;\n}\n// @__NO_SIDE_EFFECTS__\nfunction U(t, n) {\n return {\n kind: \"schema\",\n type: \"union\",\n reference: U,\n expects: /* @__PURE__ */ K(t.map((e) => e.expects), \"|\"),\n async: !1,\n options: t,\n message: n,\n get \"~standard\"() {\n return /* @__PURE__ */ g(this);\n },\n \"~run\"(e, r) {\n let s, o, i;\n for (const u of this.options) {\n const a = u[\"~run\"]({ value: e.value }, r);\n if (a.typed) if (a.issues) o ? o.push(a) : o = [a];\n else {\n s = a;\n break;\n }\n else i ? i.push(a) : i = [a];\n }\n if (s) return s;\n if (o) {\n if (o.length === 1) return o[0];\n y(this, \"type\", e, r, { issues: /* @__PURE__ */ P(o) }), e.typed = !0;\n } else {\n if (i?.length === 1) return i[0];\n y(this, \"type\", e, r, { issues: /* @__PURE__ */ P(i) });\n }\n return e;\n }\n };\n}\nconst h = (t) => /* @__PURE__ */ U(t.map((n) => /* @__PURE__ */ k(n))), Q = /* @__PURE__ */ b({\n \"en-au\": /* @__PURE__ */ l(),\n \"en-gb\": /* @__PURE__ */ l(),\n \"en-us\": /* @__PURE__ */ l(),\n \"es-es\": /* @__PURE__ */ l()\n}), j = /* @__PURE__ */ b({\n \"en-au\": /* @__PURE__ */ f(/* @__PURE__ */ l()),\n \"en-gb\": /* @__PURE__ */ f(/* @__PURE__ */ l()),\n \"en-us\": /* @__PURE__ */ f(/* @__PURE__ */ l()),\n \"es-es\": /* @__PURE__ */ f(/* @__PURE__ */ l())\n}), Y = h([\"amber\", \"green\", \"red\", \"other\"]), Z = h([\n \"alpha\",\n \"beta\",\n \"generalAvailability\",\n \"notApplicable\",\n \"preAlpha\",\n \"proposed\",\n \"releaseCandidate\",\n \"unavailable\",\n \"underReview\"\n]), ee = h([\n \"app\",\n \"connector\",\n \"connectorConnection\",\n \"context\",\n \"contextModelGroup\",\n \"contextModel\",\n \"contextModelDimensionGroup\",\n \"contextModelDimension\",\n \"contextModelDimensionHierarchy\",\n \"contextModelEntityGroup\",\n \"contextModelEntity\",\n \"contextModelEntityDataItem\",\n \"contextModelEntityEvent\",\n \"contextModelEntityPrimaryMeasure\",\n \"contextModelSecondaryMeasureGroup\",\n \"contextModelSecondaryMeasure\",\n \"dataView\",\n \"dimension\",\n \"engine\",\n \"eventQuery\",\n \"presenter\",\n \"presenterPresentation\",\n \"tool\"\n]);\nh([\"app\", \"engine\", \"connector\", \"context\", \"presenter\", \"tool\"]);\nconst te = /* @__PURE__ */ b({\n id: /* @__PURE__ */ l(),\n color: Y,\n label: /* @__PURE__ */ l()\n}), A = {\n id: /* @__PURE__ */ l(),\n label: j,\n description: j,\n firstCreatedAt: /* @__PURE__ */ f(/* @__PURE__ */ x()),\n icon: /* @__PURE__ */ m(/* @__PURE__ */ l()),\n iconDark: /* @__PURE__ */ m(/* @__PURE__ */ l()),\n lastUpdatedAt: /* @__PURE__ */ m(/* @__PURE__ */ x()),\n status: /* @__PURE__ */ m(te),\n statusId: Z\n}, he = /* @__PURE__ */ b({\n ...A,\n typeId: ee\n}), I = {\n ...A,\n version: /* @__PURE__ */ l()\n}, F = /* @__PURE__ */ b({\n id: /* @__PURE__ */ l(),\n label: j,\n description: j,\n icon: /* @__PURE__ */ m(/* @__PURE__ */ l()),\n iconDark: /* @__PURE__ */ m(/* @__PURE__ */ l()),\n order: /* @__PURE__ */ x(),\n path: /* @__PURE__ */ l()\n}), v = (t) => {\n const n = Object.entries(t).filter((e) => typeof e[1] == \"string\");\n return new Map(n);\n}, ne = (t, n, e = O) => {\n const r = t.get(n);\n if (r !== void 0) return r;\n if (e !== n)\n return t.get(e);\n}, re = [\n { id: \"alpha\", color: \"red\", labels: v({ \"en-gb\": \"alpha\" }) },\n { id: \"beta\", color: \"amber\", labels: v({ \"en-gb\": \"beta\" }) },\n { id: \"generalAvailability\", color: \"green\", labels: v({ \"en-gb\": \"\" }) },\n { id: \"notApplicable\", color: \"green\", labels: v({ \"en-gb\": \"not-applicable\" }) },\n { id: \"preAlpha\", color: \"red\", labels: v({ \"en-gb\": \"pre-alpha\" }) },\n { id: \"proposed\", color: \"other\", labels: v({ \"en-gb\": \"proposed\" }) },\n { id: \"releaseCandidate\", color: \"green\", labels: v({ \"en-gb\": \"release-candidate\" }) },\n { id: \"unavailable\", color: \"other\", labels: v({ \"en-gb\": \"unavailable\" }) },\n { id: \"underReview\", color: \"other\", labels: v({ \"en-gb\": \"under-review\" }) }\n], ve = (t, n = O) => {\n const e = re.find((r) => r.id === t);\n if (e) {\n const r = ne(e.labels, n);\n return { id: e.id, color: e.color, label: r ?? e.id };\n }\n return { id: t, color: \"other\", label: t };\n}, se = h([\"apiKey\", \"disabled\", \"oAuth2\", \"none\"]), oe = h([\"application\", \"curatedDataset\", \"database\", \"fileStore\"]), ie = h([\n \"abortOperation\",\n \"authenticateConnection\",\n \"createObject\",\n \"describeConnection\",\n \"dropObject\",\n \"findObject\",\n \"getReadableStream\",\n \"getRecord\",\n \"listNodes\",\n \"previewObject\",\n \"removeRecords\",\n \"retrieveChunks\",\n \"retrieveRecords\",\n \"upsertRecords\"\n]), ae = h([\"bidirectional\", \"destination\", \"source\", \"unknown\"]), le = /* @__PURE__ */ b({\n authMethodId: se,\n activeConnectionCount: /* @__PURE__ */ f(/* @__PURE__ */ x()),\n canDescribe: /* @__PURE__ */ f(/* @__PURE__ */ T()),\n id: /* @__PURE__ */ f(/* @__PURE__ */ l()),\n label: /* @__PURE__ */ f(Q),\n maxConnectionCount: /* @__PURE__ */ f(/* @__PURE__ */ x()),\n params: /* @__PURE__ */ f(/* @__PURE__ */ E(/* @__PURE__ */ R(/* @__PURE__ */ l(), /* @__PURE__ */ l())))\n}), Ee = /* @__PURE__ */ b({\n ...I,\n typeId: /* @__PURE__ */ k(\"connector\"),\n category: /* @__PURE__ */ m(/* @__PURE__ */ b({ id: /* @__PURE__ */ l(), label: /* @__PURE__ */ l() })),\n categoryId: oe,\n implementations: /* @__PURE__ */ R(/* @__PURE__ */ l(), le),\n operations: /* @__PURE__ */ E(ie),\n usageId: ae,\n vendorAccountURL: /* @__PURE__ */ m(/* @__PURE__ */ l()),\n vendorDocumentationURL: /* @__PURE__ */ m(/* @__PURE__ */ l()),\n vendorHomeURL: /* @__PURE__ */ m(/* @__PURE__ */ l())\n}), Se = [\"createObject\", \"dropObject\", \"removeRecords\", \"upsertRecords\"], xe = [\"findObject\", \"getRecord\", \"listNodes\", \"previewObject\", \"retrieveRecords\"], D = (t) => {\n const n = Object.entries(t).filter((e) => typeof e[1] == \"string\");\n return new Map(n);\n};\nD({ \"en-gb\": \"Application\" }), D({ \"en-gb\": \"Curated Dataset\" }), D({ \"en-gb\": \"Database\" }), D({ \"en-gb\": \"File Store\" });\nconst ce = h([\"list\"]), ue = /* @__PURE__ */ b({\n ...A,\n typeId: /* @__PURE__ */ k(\"contextModelGroup\"),\n modelRefs: /* @__PURE__ */ E(F),\n order: /* @__PURE__ */ x()\n}), ke = /* @__PURE__ */ b({\n ...I,\n typeId: /* @__PURE__ */ k(\"context\"),\n models: /* @__PURE__ */ E(ue),\n operations: /* @__PURE__ */ E(ce)\n});\nclass L extends Error {\n locator;\n constructor(n, e, r) {\n super(n, r), this.name = \"DataPosError\", this.locator = e;\n }\n}\nclass C extends L {\n constructor(n, e, r) {\n super(n, e, r), this.name = \"ApplicationError\";\n }\n}\nclass Ce extends C {\n constructor(n, e, r) {\n super(n, e, r), this.name = \"APIError\";\n }\n}\nclass Oe extends C {\n constructor(n, e, r) {\n super(n, e, r), this.name = \"EngineError\";\n }\n}\nclass G extends C {\n body;\n constructor(n, e, r, s) {\n super(n, e, s), this.name = \"FetchError\", this.body = r;\n }\n}\nclass pe extends C {\n componentName;\n info;\n constructor(n, e, r, s, o) {\n super(n, e, o), this.name = \"VueHandledError\", this.info = r, this.componentName = s;\n }\n}\nclass De extends C {\n constructor(n, e, r) {\n super(n, e, r), this.name = \"WindowHandledRuntimeError\";\n }\n}\nclass je extends C {\n constructor(n, e, r) {\n super(n, e, r), this.name = \"WindowHandledPromiseRejectionError\";\n }\n}\nclass Me extends L {\n constructor(n, e, r) {\n super(n, e, r), this.name = \"OperationalError\";\n }\n}\nasync function we(t, n, e) {\n const r = ` - ${t.statusText}`, s = `${n} Response status '${t.status}${t.statusText ? r : \"\"}' received.`, o = await t.text();\n return new G(s, e, o);\n}\nfunction Re(t) {\n return t.map((n) => n.message).join(\" \");\n}\nfunction Ae(t) {\n if (t instanceof Error) return t;\n if (typeof t == \"string\") return new Error(t);\n if (typeof t == \"number\" || typeof t == \"boolean\" || typeof t == \"bigint\") return new Error(String(t));\n if (typeof t == \"symbol\") return new Error(t.description ?? \"Unknown error\");\n if (t && typeof t == \"object\")\n try {\n return new Error(JSON.stringify(t));\n } catch {\n return new Error(\"Unknown error\");\n }\n return new Error(\"Unknown error\");\n}\nfunction Ie(t) {\n const n = /* @__PURE__ */ new Set(), e = [];\n let r = t;\n for (; r && !n.has(r); ) {\n n.add(r);\n let s;\n if (r instanceof G)\n s = { body: r.body, locator: r.locator, message: r.message, name: r.name, stack: r.stack }, r = r.cause;\n else if (r instanceof pe)\n s = { componentName: r.componentName, info: r.info, locator: r.locator, message: r.message, name: r.name, stack: r.stack }, r = r.cause;\n else if (r instanceof L)\n s = { locator: r.locator, message: r.message, name: r.name, stack: r.stack }, r = r.cause;\n else if (r instanceof Error) {\n const o = r;\n s = { locator: \"\", message: o.message, name: o.name, stack: o.stack }, r = o.cause;\n } else\n s = { locator: \"\", message: String(r), name: \"Error\" }, r = void 0;\n /(?:\\.{3}|[.!?])$/.test(s.message) || (s.message += \".\"), e.push(s);\n }\n return e;\n}\nconst de = h([\"list\", \"render\", \"setColorMode\"]), Le = /* @__PURE__ */ b({\n ...I,\n typeId: /* @__PURE__ */ k(\"presenter\"),\n presentations: /* @__PURE__ */ E(F),\n operations: /* @__PURE__ */ E(de)\n});\nfunction Ne() {\n return { render: fe };\n}\nfunction fe(t, n, e) {\n e.textContent = \"Cytoscape.js diagram goes here...\";\n}\nfunction Pe() {\n return { render: be };\n}\nfunction be(t, n) {\n console.log(1111, t), console.log(2222, n), console.log(3333, n.childNodes), console.log(4444, n.children);\n}\nconst c = (t) => new Map(Object.entries(t)), N = (t, n, e = O) => {\n const r = t.get(n);\n if (r !== void 0) return r;\n if (e !== n)\n return t.get(e);\n}, me = [\n { id: \"dtv\", labels: c({ \"en-gb\": \"Delimited Text\" }) },\n { id: \"e/e\", labels: c({ \"en-gb\": \"Entity/Event\" }) },\n { id: \"jsonArray\", labels: c({ \"en-gb\": \"JSON Array\" }) },\n { id: \"spss\", labels: c({ \"en-gb\": \"SPSS\" }) },\n { id: \"xls\", labels: c({ \"en-gb\": \"XLS\" }) },\n { id: \"xlsx\", labels: c({ \"en-gb\": \"XLSX\" }) },\n { id: \"xml\", labels: c({ \"en-gb\": \"XML\" }) }\n], _e = (t = O) => {\n const n = [];\n for (const e of me) {\n const r = N(e.labels, t);\n n.push({ id: e.id, label: r ?? e.id });\n }\n return n;\n}, ye = [\n { id: `\n`, labels: c({ \"en-gb\": \"Newline\" }) },\n { id: \"\\r\", labels: c({ \"en-gb\": \"Carriage Return\" }) },\n { id: `\\r\n`, labels: c({ \"en-gb\": \"Carriage Return/Newline\" }) }\n], Te = (t = O) => {\n const n = [];\n for (const e of ye) {\n const r = N(e.labels, t);\n n.push({ id: e.id, label: r ?? e.id });\n }\n return n;\n}, ge = [\n { id: \":\", labels: c({ \"en-gb\": \"Colon\" }) },\n { id: \",\", labels: c({ \"en-gb\": \"Comma\" }) },\n { id: \"!\", labels: c({ \"en-gb\": \"Exclamation Mark\" }) },\n // { id: '', label: { 'en-gb': 'Other' } }, // TODO: Maybe set this to a 'not printing' or special ascii character when there is a user supplied delimited, rather than ''?\n { id: \"0x1E\", labels: c({ \"en-gb\": \"Record Separator\" }) },\n { id: \";\", labels: c({ \"en-gb\": \"Semicolon\" }) },\n { id: \" \", labels: c({ \"en-gb\": \"Space\" }) },\n { id: \"\t\", labels: c({ \"en-gb\": \"Tab\" }) },\n { id: \"_\", labels: c({ \"en-gb\": \"Underscore\" }) },\n { id: \"0x1F\", labels: c({ \"en-gb\": \"Unit Separator\" }) },\n { id: \"|\", labels: c({ \"en-gb\": \"Vertical Bar\" }) }\n], Ue = (t = O) => {\n const n = [];\n for (const e of ge) {\n const r = N(e.labels, t);\n n.push({ id: e.id, label: r ?? e.id });\n }\n return n;\n}, O = \"en-gb\";\nexport {\n Ce as APIError,\n C as ApplicationError,\n Se as CONNECTOR_DESTINATION_OPERATIONS,\n xe as CONNECTOR_SOURCE_OPERATIONS,\n O as DEFAULT_LOCALE_CODE,\n Oe as EngineError,\n G as FetchError,\n Me as OperationalError,\n pe as VueError,\n je as WindowPromiseRejectionError,\n De as WindowRuntimeError,\n we as buildFetchError,\n he as componentConfigSchema,\n Re as concatenateSerialisedErrorMessages,\n Ee as connectorConfigSchema,\n ke as contextConfigSchema,\n ve as getComponentStatus,\n _e as getDataFormats,\n Te as getRecordDelimiters,\n Ue as getValueDelimiters,\n Ae as normalizeToError,\n Le as presenterConfigSchema,\n Ie as serialiseError,\n Ne as useCytoscapeJS,\n Pe as useDataTable\n};\n","const c = \"en-US\", s = /* @__PURE__ */ new Map();\nfunction f(e) {\n switch (e) {\n case \"Edm.Binary\":\n return \"unknown\";\n // Binary...\n case \"Edm.Boolean\":\n return \"boolean\";\n case \"Edm.Byte\":\n return \"wholeNumber\";\n case \"Edm.DateTime\":\n return \"moment\";\n // DateTime...\n case \"Edm.DateTimeOffset\":\n return \"moment\";\n // DateTimeOffset...\n case \"Edm.Decimal\":\n return \"decimalNumber\";\n case \"Edm.Double\":\n return \"decimalNumber\";\n case \"Edm.Guid\":\n return \"string\";\n case \"Edm.Int16\":\n return \"wholeNumber\";\n case \"Edm.Int32\":\n return \"wholeNumber\";\n case \"Edm.Int64\":\n return \"wholeNumber\";\n case \"Edm.SByte\":\n return \"wholeNumber\";\n case \"Edm.Single\":\n return \"decimalNumber\";\n case \"Edm.String\":\n return \"string\";\n case \"Edm.Time\":\n return \"momentTime\";\n // Time...\n default:\n return \"unknown\";\n }\n}\nfunction l(e) {\n if (e) {\n const t = e.lastIndexOf(\"/\"), n = e.lastIndexOf(\".\", t === -1 ? e.length : t);\n return n === -1 ? e : e.slice(0, Math.max(0, n));\n }\n}\nfunction m(e) {\n if (e) {\n const t = e.lastIndexOf(\".\");\n if (t !== -1) return e.slice(Math.max(0, t + 1));\n }\n}\nfunction r(e, t = 2, n = t, i = c) {\n if (e == null) return \"\";\n const u = `${i}decimal${t}.${n}`;\n let a = s.get(u);\n return a || (a = new Intl.NumberFormat(i, {\n localeMatcher: \"best fit\",\n maximumFractionDigits: t,\n minimumFractionDigits: n,\n minimumIntegerDigits: 1,\n style: \"decimal\",\n useGrouping: !0\n }), s.set(u, a)), a.format(e);\n}\nfunction d(e) {\n return e == null ? \"\" : e < 1e3 ? o(e) : e < 1e6 ? `${r(e / 1e3, 2, 0)}K` : e < 1e9 ? `${r(e / 1e6, 2, 0)}M` : e < 1e12 ? `${r(e / 1e9, 2, 0)}B` : `${r(e / 1e12, 2, 0)}T`;\n}\nfunction x(e) {\n return e == null ? \"\" : e === 1 ? \"1 byte\" : e < 1024 ? `${o(e)} bytes` : e < 1048576 ? `${r(e / 1024, 2, 0)} KB` : e < 1073741824 ? `${r(e / 1048576, 2, 0)} MB` : e < 1099511627776 ? `${r(e / 1073741824, 2, 0)} GB` : `${r(e / 1099511627776, 2, 0)} TB`;\n}\nfunction p(e) {\n return e == null ? \"\" : e < 1e3 ? `${o(e)} ms` : e === 1e3 ? `${o(e)} sec` : e < 6e4 ? `${r(e / 1e3, 2, 0)} secs` : e === 6e4 ? \"1 min\" : e < 36e5 ? `${r(e / 6e4, 2, 0)} mins` : e === 36e5 ? \"1 hr\" : e < 864e5 ? `${r(e / 36e5, 2, 0)} hrs` : e === 864e5 ? \"1 day\" : `${r(e / 864e5, 2, 0)} days`;\n}\nfunction o(e, t = c) {\n if (e == null) return \"\";\n const n = `${t}decimal0.0`;\n let i = s.get(n);\n return i || (i = new Intl.NumberFormat(t, {\n localeMatcher: \"best fit\",\n maximumFractionDigits: 0,\n minimumFractionDigits: 0,\n minimumIntegerDigits: 1,\n style: \"decimal\",\n useGrouping: !0\n }), s.set(n, i)), i.format(e);\n}\nfunction E(e) {\n switch (e) {\n case \"csv\":\n return \"text/csv\";\n case \"tab\":\n case \"tsv\":\n return \"text/tab-separated-values\";\n case \"xls\":\n return \"application/vnd.ms-excel\";\n case \"xlsx\":\n return \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\";\n default:\n return \"application/octet-stream\";\n }\n}\nexport {\n f as convertODataTypeIdToUsageTypeId,\n m as extractExtensionFromPath,\n l as extractNameFromPath,\n r as formatNumberAsDecimalNumber,\n p as formatNumberAsDuration,\n d as formatNumberAsSize,\n x as formatNumberAsStorageSize,\n o as formatNumberAsWholeNumber,\n E as lookupMimeTypeForExtension\n};\n","// Dependencies - Framework\nimport type * as RustModule from '../rust/datapos-connector-file-store-emulator-core/pkg/datapos_connector_file_store_emulator_core.js';\n\n// Interfaces/Types\ntype RustBindings = typeof RustModule;\n\n// Module Variables\nlet rustBindingsPromise: Promise<RustBindings> | undefined;\n\n// Utilities\nasync function addNumbersWithRust(left: number, right: number): Promise<number> {\n const { add_my_numbers } = await loadRustBindings();\n console.log(1111, left, right);\n const yyyy = add_my_numbers(Math.trunc(left), Math.trunc(right));\n console.log(2222, yyyy);\n return yyyy;\n}\n\n// Utilities\nasync function checksumWithRust(input: string): Promise<number> {\n const { checksum_from_rust } = await loadRustBindings();\n return checksum_from_rust(input);\n}\n\n// Helpers\nasync function loadRustBindings(): Promise<RustBindings> {\n rustBindingsPromise ??= import('../rust/datapos-connector-file-store-emulator-core/pkg/datapos_connector_file_store_emulator_core.js');\n return rustBindingsPromise;\n}\n\n// Exposures\nexport { addNumbersWithRust, checksumWithRust };\n","/*\n * File store emulator connector class.\n */\n\n// NOTE: Consider Cloudflare R2 Download URL: https://plugins-eu.datapositioning.app/connectors/datapos-connector-file-store-emulator-es.js. This would allow us to secure the bucket?\n\n/** Dependencies - Vendor. */\nimport { nanoid } from 'nanoid';\n\n/** Dependencies - Framework. */\nimport type { CSVParseTool } from '@datapos/datapos-tool-csv-parse';\nimport { buildFetchError, normalizeToError, OperationalError } from '@datapos/datapos-shared';\nimport type {\n ConnectionConfig,\n ConnectionNodeConfig,\n Connector,\n ConnectorConfig,\n ConnectorTools,\n FindResult,\n FindSettings,\n GetReadableStreamResult,\n GetReadableStreamSettings,\n ListResult,\n ListSettings,\n PreviewResult,\n PreviewSettings,\n RetrieveRecordsSettings,\n RetrieveRecordsSummary,\n ToolConfig\n} from '@datapos/datapos-shared';\nimport { extractExtensionFromPath, extractNameFromPath, lookupMimeTypeForExtension } from '@datapos/datapos-shared/utilities';\n\n/** Dependencies - Data. */\nimport config from '~/config.json';\nimport fileStoreIndex from '@/fileStoreIndex.json';\nimport { version } from '~/package.json';\nimport { addNumbersWithRust, checksumWithRust } from '@/rustBridge';\n\n/** Interfaces/Types - File store index. */\ntype FileStoreIndexItem =\n | ({ typeId: 'folder'; childCount: number } & { name: string })\n | ({ typeId: 'object'; id: string; lastModifiedAt: number; size: number } & { name: string });\ntype FileStoreIndex = Record<string, FileStoreIndexItem[]>;\n\n/** Constants */\nconst CALLBACK_PREVIEW_ABORTED = 'Connector failed to abort preview object operation.';\nconst CALLBACK_RETRIEVE_ABORTED = 'Connector failed to abort retrieve all records operation.';\nconst DEFAULT_PREVIEW_CHUNK_SIZE = 4096;\nconst DEFAULT_RETRIEVE_CHUNK_SIZE = 1000;\nconst URL_PREFIX = 'https://sample-data-eu.datapos.app';\n\n/** Classes - File store emulator connector. */\nexport default class FileStoreEmulatorConnector implements Connector {\n abortController: AbortController | undefined;\n readonly config: ConnectorConfig;\n readonly connectionConfig: ConnectionConfig;\n readonly tools: ConnectorTools;\n\n readonly toolConfigs;\n csvParseTool: CSVParseTool | undefined;\n\n constructor(connectionConfig: ConnectionConfig, tools: ConnectorTools, toolConfigs: ToolConfig[]) {\n this.abortController = undefined;\n this.config = config as ConnectorConfig;\n this.config.version = version;\n this.connectionConfig = connectionConfig;\n this.tools = tools;\n this.toolConfigs = toolConfigs;\n\n this.csvParseTool = undefined;\n }\n\n // Operations - Abort operation.\n abortOperation(connector: FileStoreEmulatorConnector): void {\n if (!connector.abortController) return;\n connector.abortController.abort();\n connector.abortController = undefined;\n }\n\n // Operations - Find object.\n findObject(connector: FileStoreEmulatorConnector, settings: FindSettings): Promise<FindResult> {\n // Loop through the file store index checking for an object entry with an identifier equal to the object name.\n for (const folderPath in fileStoreIndex) {\n if (Object.prototype.hasOwnProperty.call(fileStoreIndex, folderPath)) {\n // eslint-disable-next-line security/detect-object-injection\n const indexItems = (fileStoreIndex as FileStoreIndex)[folderPath];\n const indexItem = indexItems?.find((indexItem) => indexItem.typeId === 'object' && indexItem.id === settings.objectName);\n if (indexItem) return Promise.resolve({ folderPath }); // Found, return folder path.\n }\n }\n return Promise.resolve({}); // Not found, return undefined folder path.\n }\n\n // Operations - Get readable stream.\n async getReadableStream(connector: FileStoreEmulatorConnector, settings: GetReadableStreamSettings): Promise<GetReadableStreamResult> {\n try {\n console.log('getReader', 'connector', connector);\n console.log('getReader', 'settings', settings);\n const response = await fetch('https://sample-data-eu.datapos.app/fileStore/ENGAGEMENT_START_EVENTS_202405121858.csv');\n // const response = await fetch('https://sample-data-eu.datapos.app/WDI_Data.csv');\n console.log('getReader', 'response', response);\n if (!response.body) throw new Error('ReadableStream not supported by this browser.');\n\n const xxx = await addNumbersWithRust(12, 56);\n const sum = await checksumWithRust(connector.config.version);\n console.log('sum', sum, xxx);\n\n return await Promise.resolve({ readable: response.body }); // Not found, return undefined folder path.\n } catch (error) {\n connector.abortController = undefined;\n throw error;\n }\n }\n\n // Operations - List nodes.\n listNodes(connector: FileStoreEmulatorConnector, settings: ListSettings): Promise<ListResult> {\n const indexItems = (fileStoreIndex as FileStoreIndex)[settings.folderPath] ?? [];\n const connectionNodeConfigs: ConnectionNodeConfig[] = [];\n for (const indexItem of indexItems) {\n if (indexItem.typeId === 'folder') {\n connectionNodeConfigs.push(this.constructFolderNodeConfig(settings.folderPath, indexItem.name, indexItem.childCount));\n } else {\n connectionNodeConfigs.push(this.constructObjectNodeConfig(settings.folderPath, indexItem.id, indexItem.name, indexItem.lastModifiedAt, indexItem.size));\n }\n }\n return Promise.resolve({ cursor: undefined, isMore: false, connectionNodeConfigs, totalCount: connectionNodeConfigs.length });\n }\n\n // Operations - Preview object.\n async previewObject(connector: FileStoreEmulatorConnector, settings: PreviewSettings): Promise<PreviewResult> {\n try {\n // Create an abort controller. Get the signal for the abort controller and add an abort listener.\n connector.abortController = new AbortController();\n const signal = connector.abortController.signal;\n signal.addEventListener('abort', () => {\n throw new OperationalError(CALLBACK_PREVIEW_ABORTED, 'datapos-connector-file-store-emulator|Connector|preview.abort');\n });\n\n // Fetch chunk from start of file.\n const url = `${URL_PREFIX}/fileStore${settings.path}`;\n const chunkSize = settings.chunkSize ?? DEFAULT_PREVIEW_CHUNK_SIZE;\n const headers: HeadersInit = { Range: `bytes=0-${chunkSize}` };\n const response = await fetch(encodeURI(url), { headers, signal });\n if (response.ok) {\n connector.abortController = undefined;\n return { data: new Uint8Array(await response.arrayBuffer()), typeId: 'uint8Array' };\n } else {\n throw await buildFetchError(response, `Failed to fetch '${settings.path}' file.`, 'datapos-connector-file-store-emulator|Connector|preview');\n }\n } catch (error) {\n connector.abortController = undefined;\n throw error;\n }\n }\n\n // Operations - Retrieve records.\n async retrieveRecords(\n connector: FileStoreEmulatorConnector,\n settings: RetrieveRecordsSettings,\n chunk: (records: string[][]) => void,\n complete: (result: RetrieveRecordsSummary) => void\n ): Promise<void> {\n const csvParseTool = await connector.loadCSVParseTool();\n console.log(1234, csvParseTool);\n return new Promise((resolve, reject) => {\n try {\n // Create an abort controller and get the signal. Add an abort listener to the signal.\n connector.abortController = new AbortController();\n const signal = connector.abortController.signal;\n signal.addEventListener(\n 'abort',\n () => {\n connector.abortController = undefined;\n reject(new OperationalError(CALLBACK_RETRIEVE_ABORTED, 'datapos-connector-file-store-emulator|Connector|retrieve.abort'));\n },\n { once: true }\n );\n\n // Parser - Declare variables.\n let pendingRows: string[][] = []; // Array to store rows of parsed field values and associated information.\n\n // Parser - Create a parser object for CSV parsing.\n const parser = csvParseTool.buildParser({\n delimiter: settings.valueDelimiterId,\n info: true,\n relax_column_count: true,\n relax_quotes: true\n });\n\n // Parser - Event listener for the 'readable' (data available) event.\n parser.on('readable', () => {\n try {\n let data: string[] | null;\n while ((data = parser.read() as string[] | null) !== null) {\n signal.throwIfAborted(); // Check if the abort signal has been triggered.\n pendingRows.push(data); // Append the row of parsed values and associated information to the pending rows array.\n if (pendingRows.length < DEFAULT_RETRIEVE_CHUNK_SIZE) continue; // Continue with next iteration if the pending rows array is not yet full.\n chunk(pendingRows); // Pass the pending rows to the engine using the 'chunk' callback.\n pendingRows = []; // Clear the pending rows array in preparation for the next batch of data.\n }\n } catch (error) {\n connector.abortController = undefined;\n reject(normalizeToError(error));\n }\n });\n\n // Parser - Event listener for the 'error' event.\n parser.on('error', (error) => {\n connector.abortController = undefined;\n reject(normalizeToError(error));\n });\n\n // Parser - Event listener for the 'end' (end of data) event.\n parser.on('end', () => {\n try {\n signal.throwIfAborted(); // Check if the abort signal has been triggered.\n connector.abortController = undefined; // Clear the abort controller.\n if (pendingRows.length > 0) {\n chunk(pendingRows);\n pendingRows = [];\n }\n complete({\n byteCount: parser.info.bytes,\n commentLineCount: parser.info.comment_lines,\n emptyLineCount: parser.info.empty_lines,\n invalidFieldLengthCount: parser.info.invalid_field_length,\n lineCount: parser.info.lines,\n recordCount: parser.info.records\n });\n resolve();\n } catch (error) {\n connector.abortController = undefined;\n reject(normalizeToError(error));\n }\n });\n\n // Fetch, decode and forward the contents of the file to the parser.\n const url = `${URL_PREFIX}/fileStore${settings.path}`;\n fetch(encodeURI(url), { signal })\n .then(async (response) => {\n try {\n if (response.ok && response.body) {\n const stream = response.body.pipeThrough(new TextDecoderStream(settings.encodingId));\n const decodedStreamReader = stream.getReader();\n let result = await decodedStreamReader.read();\n while (!result.done) {\n signal.throwIfAborted(); // Check if the abort signal has been triggered.\n // Write the decoded data to the parser and terminate if there is an error.\n parser.write(result.value, (error) => {\n if (error) {\n connector.abortController = undefined;\n reject(normalizeToError(error));\n }\n });\n result = await decodedStreamReader.read();\n }\n parser.end(); // Signal no more data will be written.\n } else {\n const error = await connector.tools.dataPos.buildFetchError(\n response,\n `Failed to fetch '${settings.path}' file.`,\n 'datapos-connector-file-store-emulator|Connector|retrieve'\n );\n connector.abortController = undefined;\n reject(error);\n }\n } catch (error) {\n connector.abortController = undefined;\n reject(normalizeToError(error));\n }\n })\n .catch((error: unknown) => {\n connector.abortController = undefined;\n reject(normalizeToError(error));\n });\n } catch (error) {\n connector.abortController = undefined;\n reject(normalizeToError(error));\n }\n });\n }\n\n /** Utilities - Construct folder node configuration. */\n private constructFolderNodeConfig(folderPath: string, name: string, childCount: number): ConnectionNodeConfig {\n return { id: nanoid(), childCount, folderPath, label: name, name, typeId: 'folder' };\n }\n\n /** Utilities - Construct object (file) node configuration. */\n private constructObjectNodeConfig(folderPath: string, id: string, fullName: string, lastModifiedAt: number, size: number): ConnectionNodeConfig {\n const name = extractNameFromPath(fullName) ?? '';\n const extension = extractExtensionFromPath(fullName);\n const lastModifiedAtTimestamp = lastModifiedAt;\n const mimeType = lookupMimeTypeForExtension(extension);\n return { id, extension, folderPath, label: fullName, lastModifiedAt: lastModifiedAtTimestamp, mimeType, name, size, typeId: 'object' };\n }\n\n // Helpers - Load CSV Parse tool.\n private async loadCSVParseTool(): Promise<CSVParseTool> {\n if (this.csvParseTool) return this.csvParseTool;\n\n console.log('this', this);\n const toolModuleConfig = this.toolConfigs.find((config) => config.id === 'datapos-tool-csv-parse');\n if (!toolModuleConfig) throw new Error(`Unknown tool 'datapos-tool-csv-parse''.`);\n\n const url = `https://engine-eu.datapos.app/tools/csv-parse_v${toolModuleConfig.version}/datapos-tool-csv-parse.es.js`;\n const csvParseModule = (await import(/* @vite-ignore */ url)) as { CSVParseTool: new () => CSVParseTool };\n return new csvParseModule.CSVParseTool();\n }\n}\n"],"names":["urlAlphabet","nanoid","size","id","bytes","scopedUrlAlphabet","M","V","z","H","$","W","X","n","_","y","e","r","s","o","i","u","p","d","g","K","k","P","U","h","v","D","L","C","G","Me","we","Ae","l","t","m","E","rustBindingsPromise","addNumbersWithRust","left","right","add_my_numbers","loadRustBindings","yyyy","checksumWithRust","input","checksum_from_rust","CALLBACK_PREVIEW_ABORTED","CALLBACK_RETRIEVE_ABORTED","DEFAULT_PREVIEW_CHUNK_SIZE","DEFAULT_RETRIEVE_CHUNK_SIZE","URL_PREFIX","FileStoreEmulatorConnector","connectionConfig","tools","toolConfigs","config","version","connector","settings","folderPath","fileStoreIndex","indexItem","response","xxx","sum","error","indexItems","connectionNodeConfigs","signal","OperationalError","url","headers","buildFetchError","chunk","complete","csvParseTool","resolve","reject","pendingRows","parser","data","normalizeToError","decodedStreamReader","result","name","childCount","fullName","lastModifiedAt","extractNameFromPath","extension","extractExtensionFromPath","lastModifiedAtTimestamp","mimeType","lookupMimeTypeForExtension","toolModuleConfig","csvParseModule"],"mappings":"AAAO,MAAMA,IACX;ACoBK,IAAIC,IAAS,CAACC,IAAO,OAAO;AACjC,MAAIC,IAAK,IACLC,IAAQ,OAAO,gBAAgB,IAAI,WAAYF,KAAQ,CAAC,CAAE;AAC9D,SAAOA;AACL,IAAAC,KAAME,EAAkBD,EAAMF,CAAI,IAAI,EAAE;AAE1C,SAAOC;AACT,GC5BIG;AAAA;AAEJ,SAASC,EAAE,GAAG;AACZ,SAAO;AAAA,IACL,MAAM,GAAG,QAAQD,GAAG;AAAA,IACpB,SAAS,GAAG;AAAA,IACZ,YAAY,GAAG,cAAcA,GAAG;AAAA,IAChC,gBAAgB,GAAG,kBAAkBA,GAAG;AAAA,EAC5C;AACA;AACA,IAAIE;AAAA;AAEJ,SAASC,EAAE,GAAG;AACZ,SAAOD,GAAG,IAAI,CAAC;AACjB;AACA,IAAIE;AAAA;AAEJ,SAASC,EAAE,GAAG;AACZ,SAAOD,GAAG,IAAI,CAAC;AACjB;AACA,IAAIE;AAAA;AAEJ,SAAS,EAAE,GAAGC,GAAG;AACf,SAAOD,GAAG,IAAI,CAAC,GAAG,IAAIC,CAAC;AACzB;AAAA;AAEA,SAASC,EAAE,GAAG;AACZ,QAAMD,IAAI,OAAO;AACjB,SAAOA,MAAM,WAAW,IAAI,CAAC,MAAMA,MAAM,YAAYA,MAAM,YAAYA,MAAM,YAAY,GAAG,CAAC,KAAKA,MAAM,YAAYA,MAAM,cAAc,KAAK,OAAO,eAAe,CAAC,GAAG,aAAa,SAAS,SAASA;AACxM;AACA,SAASE,EAAE,GAAGF,GAAGG,GAAGC,GAAGC,GAAG;AACxB,QAAMC,IAAID,KAAK,WAAWA,IAAIA,EAAE,QAAQF,EAAE,OAAOI,IAAIF,GAAG,YAAY,EAAE,WAAW,MAAMG,IAAIH,GAAG,YAA4B,gBAAAJ,EAAEK,CAAC,GAAG,IAAI;AAAA,IAClI,MAAM,EAAE;AAAA,IACR,MAAM,EAAE;AAAA,IACR,OAAOA;AAAA,IACP,UAAUC;AAAA,IACV,UAAUC;AAAA,IACV,SAAS,WAAWR,CAAC,KAAKO,IAAI,YAAYA,CAAC,WAAW,GAAG,WAAWC,CAAC;AAAA,IACrE,aAAa,EAAE;AAAA,IACf,MAAMH,GAAG;AAAA,IACT,QAAQA,GAAG;AAAA,IACX,MAAMD,EAAE;AAAA,IACR,YAAYA,EAAE;AAAA,IACd,gBAAgBA,EAAE;AAAA,EACtB,GAAKK,IAAI,EAAE,SAAS,UAAUC,IAAIL,GAAG,WAAW,EAAE,WAA2B,kBAAE,EAAE,WAAW,EAAE,IAAI,MAAMI,IAAoB,gBAAAX,EAAE,EAAE,IAAI,IAAI,SAASM,EAAE,WAA2B,gBAAAR,EAAE,EAAE,IAAI;AACpL,EAAAc,MAAM,WAAW,EAAE,UAAU,OAAOA,KAAK,aAAaA,EAAE,CAAC,IAAIA,IAAID,MAAMN,EAAE,QAAQ,KAAKA,EAAE,SAASA,EAAE,OAAO,KAAK,CAAC,IAAIA,EAAE,SAAS,CAAC,CAAC;AACnI;AAAA;AAEA,SAASQ,EAAE,GAAG;AACZ,SAAO;AAAA,IACL,SAAS;AAAA,IACT,QAAQ;AAAA,IACR,SAASX,GAAG;AACV,aAAO,EAAE,MAAM,EAAE,EAAE,OAAOA,EAAC,GAAoB,gBAAAN,GAAG;AAAA,IACpD;AAAA,EACJ;AACA;AAAA;AAMA,SAASkB,EAAE,GAAGZ,GAAG;AACf,QAAMG,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC;AACxB,SAAOA,EAAE,SAAS,IAAI,IAAIA,EAAE,KAAK,IAAIH,CAAC,GAAG,CAAC,MAAMG,EAAE,CAAC,KAAK;AAC1D;AAAA;AAoEA,SAASU,EAAE,GAAGb,GAAG;AACf,SAAO;AAAA,IACL,MAAM;AAAA,IACN,MAAM;AAAA,IACN,WAAWa;AAAA,IACX,SAAyB,gBAAAZ,EAAE,CAAC;AAAA,IAC5B,OAAO;AAAA,IACP,SAAS;AAAA,IACT,SAASD;AAAA,IACT,IAAI,cAAc;AAChB,aAAuB,gBAAAW,EAAE,IAAI;AAAA,IAC/B;AAAA,IACA,OAAOR,GAAGC,GAAG;AACX,aAAOD,EAAE,UAAU,KAAK,UAAUA,EAAE,QAAQ,KAAKD,EAAE,MAAM,QAAQC,GAAGC,CAAC,GAAGD;AAAA,IAC1E;AAAA,EACJ;AACA;AAAA;AA0LA,SAASW,EAAE,GAAG;AACZ,MAAId;AACJ,MAAI,EAAG,YAAWG,KAAK,EAAG,CAAAH,IAAIA,EAAE,KAAK,GAAGG,EAAE,MAAM,IAAIH,IAAIG,EAAE;AAC1D,SAAOH;AACT;AAAA;AAEA,SAASe,EAAE,GAAGf,GAAG;AACf,SAAO;AAAA,IACL,MAAM;AAAA,IACN,MAAM;AAAA,IACN,WAAWe;AAAA,IACX,SAAyB,gBAAAH,EAAE,EAAE,IAAI,CAACT,MAAMA,EAAE,OAAO,GAAG,GAAG;AAAA,IACvD,OAAO;AAAA,IACP,SAAS;AAAA,IACT,SAASH;AAAA,IACT,IAAI,cAAc;AAChB,aAAuB,gBAAAW,EAAE,IAAI;AAAA,IAC/B;AAAA,IACA,OAAOR,GAAGC,GAAG;AACX,UAAIC,GAAGC,GAAGC;AACV,iBAAWC,KAAK,KAAK,SAAS;AAC5B,cAAM,IAAIA,EAAE,MAAM,EAAE,EAAE,OAAOL,EAAE,MAAK,GAAIC,CAAC;AACzC,YAAI,EAAE,MAAO,KAAI,EAAE,OAAQ,CAAAE,IAAIA,EAAE,KAAK,CAAC,IAAIA,IAAI,CAAC,CAAC;AAAA,aAC5C;AACH,UAAAD,IAAI;AACJ;AAAA,QACF;AAAA,YACK,CAAAE,IAAIA,EAAE,KAAK,CAAC,IAAIA,IAAI,CAAC,CAAC;AAAA,MAC7B;AACA,UAAIF,EAAG,QAAOA;AACd,UAAIC,GAAG;AACL,YAAIA,EAAE,WAAW,EAAG,QAAOA,EAAE,CAAC;AAC9B,QAAAJ,EAAE,MAAM,QAAQC,GAAGC,GAAG,EAAE,QAAwB,gBAAAU,EAAER,CAAC,EAAC,CAAE,GAAGH,EAAE,QAAQ;AAAA,MACrE,OAAO;AACL,YAAII,GAAG,WAAW,EAAG,QAAOA,EAAE,CAAC;AAC/B,QAAAL,EAAE,MAAM,QAAQC,GAAGC,GAAG,EAAE,QAAwB,gBAAAU,EAAEP,CAAC,GAAG;AAAA,MACxD;AACA,aAAOJ;AAAA,IACT;AAAA,EACJ;AACA;AACK,MAACa,IAAI,CAAC,MAAsB,gBAAAD,EAAE,EAAE,IAAI,CAACf,MAAsB,gBAAAa,EAAEb,CAAC,CAAC,CAAC;AAU7DgB,EAAE,CAAC,SAAS,SAAS,OAAO,OAAO,CAAC;AAAOA,EAAE;AAAA,EACnD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,CAAC;AAAQA,EAAE;AAAA,EACT;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,CAAC;AACDA,EAAE,CAAC,OAAO,UAAU,aAAa,WAAW,aAAa,MAAM,CAAC;AAC3D,MA4BDC,IAAI,CAAC,MAAM;AACb,QAAMjB,IAAI,OAAO,QAAQ,CAAC,EAAE,OAAO,CAACG,MAAM,OAAOA,EAAE,CAAC,KAAK,QAAQ;AACjE,SAAO,IAAI,IAAIH,CAAC;AAClB;AAMuCiB,EAAE,EAAE,SAAS,QAAO,CAAE,GACrBA,EAAE,EAAE,SAAS,OAAM,CAAE,GACNA,EAAE,EAAE,SAAS,GAAE,CAAE,GACvBA,EAAE,EAAE,SAAS,iBAAgB,CAAE,GACtCA,EAAE,EAAE,SAAS,YAAW,CAAE,GACxBA,EAAE,EAAE,SAAS,WAAU,CAAE,GACjBA,EAAE,EAAE,SAAS,oBAAmB,CAAE,GACvCA,EAAE,EAAE,SAAS,cAAa,CAAE,GAC5BA,EAAE,EAAE,SAAS,gBAAgB;AAQpED,EAAE,CAAC,UAAU,YAAY,UAAU,MAAM,CAAC;AAAQA,EAAE,CAAC,eAAe,kBAAkB,YAAY,WAAW,CAAC;AAAQA,EAAE;AAAA,EAC9H;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,CAAC;AAAQA,EAAE,CAAC,iBAAiB,eAAe,UAAU,SAAS,CAAC;MAmB8FE,IAAI,CAAC,MAAM;AACvK,QAAMlB,IAAI,OAAO,QAAQ,CAAC,EAAE,OAAO,CAACG,MAAM,OAAOA,EAAE,CAAC,KAAK,QAAQ;AACjE,SAAO,IAAI,IAAIH,CAAC;AAClB;AACAkB,EAAE,EAAE,SAAS,cAAa,CAAE,GAAGA,EAAE,EAAE,SAAS,kBAAiB,CAAE,GAAGA,EAAE,EAAE,SAAS,WAAU,CAAE,GAAGA,EAAE,EAAE,SAAS,cAAc;AAC9GF,EAAE,CAAC,MAAM,CAAC;AAWrB,MAAMG,UAAU,MAAM;AAAA,EACpB;AAAA,EACA,YAAYnB,GAAGG,GAAGC,GAAG;AACnB,UAAMJ,GAAGI,CAAC,GAAG,KAAK,OAAO,gBAAgB,KAAK,UAAUD;AAAA,EAC1D;AACF;AACA,MAAMiB,UAAUD,EAAE;AAAA,EAChB,YAAYnB,GAAGG,GAAGC,GAAG;AACnB,UAAMJ,GAAGG,GAAGC,CAAC,GAAG,KAAK,OAAO;AAAA,EAC9B;AACF;AAWA,MAAMiB,UAAUD,EAAE;AAAA,EAChB;AAAA,EACA,YAAYpB,GAAGG,GAAGC,GAAGC,GAAG;AACtB,UAAML,GAAGG,GAAGE,CAAC,GAAG,KAAK,OAAO,cAAc,KAAK,OAAOD;AAAA,EACxD;AACF;AAkBA,MAAMkB,UAAWH,EAAE;AAAA,EACjB,YAAYnB,GAAGG,GAAGC,GAAG;AACnB,UAAMJ,GAAGG,GAAGC,CAAC,GAAG,KAAK,OAAO;AAAA,EAC9B;AACF;AACA,eAAemB,EAAG,GAAGvB,GAAGG,GAAG;AACzB,QAAMC,IAAI,MAAM,EAAE,UAAU,IAAIC,IAAI,GAAGL,CAAC,qBAAqB,EAAE,MAAM,GAAG,EAAE,aAAaI,IAAI,EAAE,eAAeE,IAAI,MAAM,EAAE,KAAI;AAC5H,SAAO,IAAIe,EAAEhB,GAAGF,GAAGG,CAAC;AACtB;AAIA,SAASkB,EAAG,GAAG;AACb,MAAI,aAAa,MAAO,QAAO;AAC/B,MAAI,OAAO,KAAK,SAAU,QAAO,IAAI,MAAM,CAAC;AAC5C,MAAI,OAAO,KAAK,YAAY,OAAO,KAAK,aAAa,OAAO,KAAK,SAAU,QAAO,IAAI,MAAM,OAAO,CAAC,CAAC;AACrG,MAAI,OAAO,KAAK,SAAU,QAAO,IAAI,MAAM,EAAE,eAAe,eAAe;AAC3E,MAAI,KAAK,OAAO,KAAK;AACnB,QAAI;AACF,aAAO,IAAI,MAAM,KAAK,UAAU,CAAC,CAAC;AAAA,IACpC,QAAQ;AACN,aAAO,IAAI,MAAM,eAAe;AAAA,IAClC;AACF,SAAO,IAAI,MAAM,eAAe;AAClC;AAsBWR,EAAE,CAAC,QAAQ,UAAU,cAAc,CAAC;AAkB1C,MAAC,IAAI,CAAC,MAAM,IAAI,IAAI,OAAO,QAAQ,CAAC,CAAC;AAMnB,EAAE,EAAE,SAAS,iBAAgB,CAAE,GAC/B,EAAE,EAAE,SAAS,eAAc,CAAE,GACvB,EAAE,EAAE,SAAS,aAAY,CAAE,GAChC,EAAE,EAAE,SAAS,OAAM,CAAE,GACtB,EAAE,EAAE,SAAS,MAAK,CAAE,GACnB,EAAE,EAAE,SAAS,OAAM,CAAE,GACtB,EAAE,EAAE,SAAS,OAAO;AAUhC,EAAE,EAAE,SAAS,UAAS,CAAE,GACb,EAAE,EAAE,SAAS,kBAAiB,CAAE,GAE3C,EAAE,EAAE,SAAS,0BAAyB,CAAE;AAS9B,EAAE,EAAE,SAAS,QAAO,CAAE,GACtB,EAAE,EAAE,SAAS,QAAO,CAAE,GACtB,EAAE,EAAE,SAAS,mBAAkB,CAAE,GAE9B,EAAE,EAAE,SAAS,mBAAkB,CAAE,GACpC,EAAE,EAAE,SAAS,YAAW,CAAE,GAC1B,EAAE,EAAE,SAAS,QAAO,CAAE,GACtB,EAAE,EAAE,SAAS,MAAK,CAAE,GACpB,EAAE,EAAE,SAAS,aAAY,CAAE,GACxB,EAAE,EAAE,SAAS,iBAAgB,CAAE,GAClC,EAAE,EAAE,SAAS,gBAAgB;AC5nBlD,SAASS,EAAEtB,GAAG;AACZ,MAAIA,GAAG;AACL,UAAMuB,IAAIvB,EAAE,YAAY,GAAG,GAAGH,IAAIG,EAAE,YAAY,KAAKuB,MAAM,KAAKvB,EAAE,SAASuB,CAAC;AAC5E,WAAO1B,MAAM,KAAKG,IAAIA,EAAE,MAAM,GAAG,KAAK,IAAI,GAAGH,CAAC,CAAC;AAAA,EACjD;AACF;AACA,SAAS2B,EAAExB,GAAG;AACZ,MAAIA,GAAG;AACL,UAAMuB,IAAIvB,EAAE,YAAY,GAAG;AAC3B,QAAIuB,MAAM,GAAI,QAAOvB,EAAE,MAAM,KAAK,IAAI,GAAGuB,IAAI,CAAC,CAAC;AAAA,EACjD;AACF;AAoCA,SAASE,EAAEzB,GAAG;AACZ,UAAQA,GAAC;AAAA,IACP,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AAAA,IACL,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT;AACE,aAAO;AAAA,EACb;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC/FA,IAAI0B;AAGJ,eAAeC,GAAmBC,GAAcC,GAAgC;AAC5E,QAAM,EAAE,gBAAAC,MAAmB,MAAMC,EAAA;AACjC,UAAQ,IAAI,MAAMH,GAAMC,CAAK;AAC7B,QAAMG,IAAOF,EAAe,KAAK,MAAMF,CAAI,GAAG,KAAK,MAAMC,CAAK,CAAC;AAC/D,iBAAQ,IAAI,MAAMG,CAAI,GACfA;AACX;AAGA,eAAeC,GAAiBC,GAAgC;AAC5D,QAAM,EAAE,oBAAAC,MAAuB,MAAMJ,EAAA;AACrC,SAAOI,EAAmBD,CAAK;AACnC;AAGA,eAAeH,IAA0C;AACrD,SAAAL,MAAwB,OAAO,0DAAsG,GAC9HA;AACX;ACiBA,MAAMU,KAA2B,uDAC3BC,KAA4B,6DAC5BC,KAA6B,MAC7BC,KAA8B,KAC9BC,IAAa;AAGnB,MAAqBC,GAAgD;AAAA,EACjE;AAAA,EACS;AAAA,EACA;AAAA,EACA;AAAA,EAEA;AAAA,EACT;AAAA,EAEA,YAAYC,GAAoCC,GAAuBC,GAA2B;AAC9F,SAAK,kBAAkB,QACvB,KAAK,SAASC,IACd,KAAK,OAAO,UAAUC,IACtB,KAAK,mBAAmBJ,GACxB,KAAK,QAAQC,GACb,KAAK,cAAcC,GAEnB,KAAK,eAAe;AAAA,EACxB;AAAA;AAAA,EAGA,eAAeG,GAA6C;AACxD,IAAKA,EAAU,oBACfA,EAAU,gBAAgB,MAAA,GAC1BA,EAAU,kBAAkB;AAAA,EAChC;AAAA;AAAA,EAGA,WAAWA,GAAuCC,GAA6C;AAE3F,eAAWC,KAAcC;AACrB,UAAI,OAAO,UAAU,eAAe,KAAKA,GAAgBD,CAAU,KAE3CC,EAAkCD,CAAU,GAClC,KAAK,CAACE,MAAcA,EAAU,WAAW,YAAYA,EAAU,OAAOH,EAAS,UAAU;AACxG,eAAO,QAAQ,QAAQ,EAAE,YAAAC,GAAY;AAG5D,WAAO,QAAQ,QAAQ,EAAE;AAAA,EAC7B;AAAA;AAAA,EAGA,MAAM,kBAAkBF,GAAuCC,GAAuE;AAClI,QAAI;AACA,cAAQ,IAAI,aAAa,aAAaD,CAAS,GAC/C,QAAQ,IAAI,aAAa,YAAYC,CAAQ;AAC7C,YAAMI,IAAW,MAAM,MAAM,uFAAuF;AAGpH,UADA,QAAQ,IAAI,aAAa,YAAYA,CAAQ,GACzC,CAACA,EAAS,KAAM,OAAM,IAAI,MAAM,+CAA+C;AAEnF,YAAMC,IAAM,MAAM1B,GAAmB,IAAI,EAAE,GACrC2B,IAAM,MAAMrB,GAAiBc,EAAU,OAAO,OAAO;AAC3D,qBAAQ,IAAI,OAAOO,GAAKD,CAAG,GAEpB,MAAM,QAAQ,QAAQ,EAAE,UAAUD,EAAS,MAAM;AAAA,IAC5D,SAASG,GAAO;AACZ,YAAAR,EAAU,kBAAkB,QACtBQ;AAAA,IACV;AAAA,EACJ;AAAA;AAAA,EAGA,UAAUR,GAAuCC,GAA6C;AAC1F,UAAMQ,IAAcN,EAAkCF,EAAS,UAAU,KAAK,CAAA,GACxES,IAAgD,CAAA;AACtD,eAAWN,KAAaK;AACpB,MAAIL,EAAU,WAAW,WACrBM,EAAsB,KAAK,KAAK,0BAA0BT,EAAS,YAAYG,EAAU,MAAMA,EAAU,UAAU,CAAC,IAEpHM,EAAsB,KAAK,KAAK,0BAA0BT,EAAS,YAAYG,EAAU,IAAIA,EAAU,MAAMA,EAAU,gBAAgBA,EAAU,IAAI,CAAC;AAG9J,WAAO,QAAQ,QAAQ,EAAE,QAAQ,QAAW,QAAQ,IAAO,uBAAAM,GAAuB,YAAYA,EAAsB,OAAA,CAAQ;AAAA,EAChI;AAAA;AAAA,EAGA,MAAM,cAAcV,GAAuCC,GAAmD;AAC1G,QAAI;AAEA,MAAAD,EAAU,kBAAkB,IAAI,gBAAA;AAChC,YAAMW,IAASX,EAAU,gBAAgB;AACzC,MAAAW,EAAO,iBAAiB,SAAS,MAAM;AACnC,cAAM,IAAIC,EAAiBvB,IAA0B,+DAA+D;AAAA,MACxH,CAAC;AAGD,YAAMwB,IAAM,GAAGpB,CAAU,aAAaQ,EAAS,IAAI,IAE7Ca,IAAuB,EAAE,OAAO,WADpBb,EAAS,aAAaV,EACkB,GAAA,GACpDc,IAAW,MAAM,MAAM,UAAUQ,CAAG,GAAG,EAAE,SAAAC,GAAS,QAAAH,GAAQ;AAChE,UAAIN,EAAS;AACT,eAAAL,EAAU,kBAAkB,QACrB,EAAE,MAAM,IAAI,WAAW,MAAMK,EAAS,YAAA,CAAa,GAAG,QAAQ,aAAA;AAErE,YAAM,MAAMU,EAAgBV,GAAU,oBAAoBJ,EAAS,IAAI,WAAW,yDAAyD;AAAA,IAEnJ,SAASO,GAAO;AACZ,YAAAR,EAAU,kBAAkB,QACtBQ;AAAA,IACV;AAAA,EACJ;AAAA;AAAA,EAGA,MAAM,gBACFR,GACAC,GACAe,GACAC,GACa;AACb,UAAMC,IAAe,MAAMlB,EAAU,iBAAA;AACrC,mBAAQ,IAAI,MAAMkB,CAAY,GACvB,IAAI,QAAQ,CAACC,GAASC,MAAW;AACpC,UAAI;AAEA,QAAApB,EAAU,kBAAkB,IAAI,gBAAA;AAChC,cAAMW,IAASX,EAAU,gBAAgB;AACzC,QAAAW,EAAO;AAAA,UACH;AAAA,UACA,MAAM;AACF,YAAAX,EAAU,kBAAkB,QAC5BoB,EAAO,IAAIR,EAAiBtB,IAA2B,gEAAgE,CAAC;AAAA,UAC5H;AAAA,UACA,EAAE,MAAM,GAAA;AAAA,QAAK;AAIjB,YAAI+B,IAA0B,CAAA;AAG9B,cAAMC,IAASJ,EAAa,YAAY;AAAA,UACpC,WAAWjB,EAAS;AAAA,UACpB,MAAM;AAAA,UACN,oBAAoB;AAAA,UACpB,cAAc;AAAA,QAAA,CACjB;AAGD,QAAAqB,EAAO,GAAG,YAAY,MAAM;AACxB,cAAI;AACA,gBAAIC;AACJ,oBAAQA,IAAOD,EAAO,KAAA,OAA+B;AAGjD,cAFAX,EAAO,eAAA,GACPU,EAAY,KAAKE,CAAI,GACjB,EAAAF,EAAY,SAAS7B,QACzBwB,EAAMK,CAAW,GACjBA,IAAc,CAAA;AAAA,UAEtB,SAASb,GAAO;AACZ,YAAAR,EAAU,kBAAkB,QAC5BoB,EAAOI,EAAiBhB,CAAK,CAAC;AAAA,UAClC;AAAA,QACJ,CAAC,GAGDc,EAAO,GAAG,SAAS,CAACd,MAAU;AAC1B,UAAAR,EAAU,kBAAkB,QAC5BoB,EAAOI,EAAiBhB,CAAK,CAAC;AAAA,QAClC,CAAC,GAGDc,EAAO,GAAG,OAAO,MAAM;AACnB,cAAI;AACA,YAAAX,EAAO,eAAA,GACPX,EAAU,kBAAkB,QACxBqB,EAAY,SAAS,MACrBL,EAAMK,CAAW,GACjBA,IAAc,CAAA,IAElBJ,EAAS;AAAA,cACL,WAAWK,EAAO,KAAK;AAAA,cACvB,kBAAkBA,EAAO,KAAK;AAAA,cAC9B,gBAAgBA,EAAO,KAAK;AAAA,cAC5B,yBAAyBA,EAAO,KAAK;AAAA,cACrC,WAAWA,EAAO,KAAK;AAAA,cACvB,aAAaA,EAAO,KAAK;AAAA,YAAA,CAC5B,GACDH,EAAA;AAAA,UACJ,SAASX,GAAO;AACZ,YAAAR,EAAU,kBAAkB,QAC5BoB,EAAOI,EAAiBhB,CAAK,CAAC;AAAA,UAClC;AAAA,QACJ,CAAC;AAGD,cAAMK,IAAM,GAAGpB,CAAU,aAAaQ,EAAS,IAAI;AACnD,cAAM,UAAUY,CAAG,GAAG,EAAE,QAAAF,GAAQ,EAC3B,KAAK,OAAON,MAAa;AACtB,cAAI;AACA,gBAAIA,EAAS,MAAMA,EAAS,MAAM;AAE9B,oBAAMoB,IADSpB,EAAS,KAAK,YAAY,IAAI,kBAAkBJ,EAAS,UAAU,CAAC,EAChD,UAAA;AACnC,kBAAIyB,IAAS,MAAMD,EAAoB,KAAA;AACvC,qBAAO,CAACC,EAAO;AACX,gBAAAf,EAAO,eAAA,GAEPW,EAAO,MAAMI,EAAO,OAAO,CAAClB,MAAU;AAClC,kBAAIA,MACAR,EAAU,kBAAkB,QAC5BoB,EAAOI,EAAiBhB,CAAK,CAAC;AAAA,gBAEtC,CAAC,GACDkB,IAAS,MAAMD,EAAoB,KAAA;AAEvC,cAAAH,EAAO,IAAA;AAAA,YACX,OAAO;AACH,oBAAMd,IAAQ,MAAMR,EAAU,MAAM,QAAQ;AAAA,gBACxCK;AAAA,gBACA,oBAAoBJ,EAAS,IAAI;AAAA,gBACjC;AAAA,cAAA;AAEJ,cAAAD,EAAU,kBAAkB,QAC5BoB,EAAOZ,CAAK;AAAA,YAChB;AAAA,UACJ,SAASA,GAAO;AACZ,YAAAR,EAAU,kBAAkB,QAC5BoB,EAAOI,EAAiBhB,CAAK,CAAC;AAAA,UAClC;AAAA,QACJ,CAAC,EACA,MAAM,CAACA,MAAmB;AACvB,UAAAR,EAAU,kBAAkB,QAC5BoB,EAAOI,EAAiBhB,CAAK,CAAC;AAAA,QAClC,CAAC;AAAA,MACT,SAASA,GAAO;AACZ,QAAAR,EAAU,kBAAkB,QAC5BoB,EAAOI,EAAiBhB,CAAK,CAAC;AAAA,MAClC;AAAA,IACJ,CAAC;AAAA,EACL;AAAA;AAAA,EAGQ,0BAA0BN,GAAoByB,GAAcC,GAA0C;AAC1G,WAAO,EAAE,IAAI1F,EAAA,GAAU,YAAA0F,GAAY,YAAA1B,GAAY,OAAOyB,GAAM,MAAAA,GAAM,QAAQ,SAAA;AAAA,EAC9E;AAAA;AAAA,EAGQ,0BAA0BzB,GAAoB9D,GAAYyF,GAAkBC,GAAwB3F,GAAoC;AAC5I,UAAMwF,IAAOI,EAAoBF,CAAQ,KAAK,IACxCG,IAAYC,EAAyBJ,CAAQ,GAC7CK,IAA0BJ,GAC1BK,IAAWC,EAA2BJ,CAAS;AACrD,WAAO,EAAE,IAAA5F,GAAI,WAAA4F,GAAW,YAAA9B,GAAY,OAAO2B,GAAU,gBAAgBK,GAAyB,UAAAC,GAAU,MAAAR,GAAM,MAAAxF,GAAM,QAAQ,SAAA;AAAA,EAChI;AAAA;AAAA,EAGA,MAAc,mBAA0C;AACpD,QAAI,KAAK,aAAc,QAAO,KAAK;AAEnC,YAAQ,IAAI,QAAQ,IAAI;AACxB,UAAMkG,IAAmB,KAAK,YAAY,KAAK,CAACvC,MAAWA,EAAO,OAAO,wBAAwB;AACjG,QAAI,CAACuC,EAAkB,OAAM,IAAI,MAAM,yCAAyC;AAGhF,UAAMC,IAAkB,MAAM,OADlB,kDAAkDD,EAAiB,OAAO;AAEtF,WAAO,IAAIC,EAAe,aAAA;AAAA,EAC9B;AACJ;","x_google_ignoreList":[0,1,2,3]}
|
|
1
|
+
{"version":3,"file":"datapos-connector-file-store-emulator.es.js","sources":["../node_modules/nanoid/url-alphabet/index.js","../node_modules/nanoid/index.browser.js","../node_modules/@datapos/datapos-shared/dist/datapos-shared.es.js","../node_modules/@datapos/datapos-shared/dist/datapos-shared-utilities.es.js","../src/rustBridge.ts","../src/index.ts"],"sourcesContent":["export const urlAlphabet =\n 'useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict'\n","/* @ts-self-types=\"./index.d.ts\" */\nimport { urlAlphabet as scopedUrlAlphabet } from './url-alphabet/index.js'\nexport { urlAlphabet } from './url-alphabet/index.js'\nexport let random = bytes => crypto.getRandomValues(new Uint8Array(bytes))\nexport let customRandom = (alphabet, defaultSize, getRandom) => {\n let mask = (2 << Math.log2(alphabet.length - 1)) - 1\n let step = -~((1.6 * mask * defaultSize) / alphabet.length)\n return (size = defaultSize) => {\n let id = ''\n while (true) {\n let bytes = getRandom(step)\n let j = step | 0\n while (j--) {\n id += alphabet[bytes[j] & mask] || ''\n if (id.length >= size) return id\n }\n }\n }\n}\nexport let customAlphabet = (alphabet, size = 21) =>\n customRandom(alphabet, size | 0, random)\nexport let nanoid = (size = 21) => {\n let id = ''\n let bytes = crypto.getRandomValues(new Uint8Array((size |= 0)))\n while (size--) {\n id += scopedUrlAlphabet[bytes[size] & 63]\n }\n return id\n}\n","let M;\n// @__NO_SIDE_EFFECTS__\nfunction V(t) {\n return {\n lang: t?.lang ?? M?.lang,\n message: t?.message,\n abortEarly: t?.abortEarly ?? M?.abortEarly,\n abortPipeEarly: t?.abortPipeEarly ?? M?.abortPipeEarly\n };\n}\nlet z;\n// @__NO_SIDE_EFFECTS__\nfunction H(t) {\n return z?.get(t);\n}\nlet $;\n// @__NO_SIDE_EFFECTS__\nfunction W(t) {\n return $?.get(t);\n}\nlet X;\n// @__NO_SIDE_EFFECTS__\nfunction B(t, n) {\n return X?.get(t)?.get(n);\n}\n// @__NO_SIDE_EFFECTS__\nfunction _(t) {\n const n = typeof t;\n return n === \"string\" ? `\"${t}\"` : n === \"number\" || n === \"bigint\" || n === \"boolean\" ? `${t}` : n === \"object\" || n === \"function\" ? (t && Object.getPrototypeOf(t)?.constructor?.name) ?? \"null\" : n;\n}\nfunction y(t, n, e, r, s) {\n const o = s && \"input\" in s ? s.input : e.value, i = s?.expected ?? t.expects ?? null, u = s?.received ?? /* @__PURE__ */ _(o), a = {\n kind: t.kind,\n type: t.type,\n input: o,\n expected: i,\n received: u,\n message: `Invalid ${n}: ${i ? `Expected ${i} but r` : \"R\"}eceived ${u}`,\n requirement: t.requirement,\n path: s?.path,\n issues: s?.issues,\n lang: r.lang,\n abortEarly: r.abortEarly,\n abortPipeEarly: r.abortPipeEarly\n }, p = t.kind === \"schema\", d = s?.message ?? t.message ?? /* @__PURE__ */ B(t.reference, a.lang) ?? (p ? /* @__PURE__ */ W(a.lang) : null) ?? r.message ?? /* @__PURE__ */ H(a.lang);\n d !== void 0 && (a.message = typeof d == \"function\" ? d(a) : d), p && (e.typed = !1), e.issues ? e.issues.push(a) : e.issues = [a];\n}\n// @__NO_SIDE_EFFECTS__\nfunction g(t) {\n return {\n version: 1,\n vendor: \"valibot\",\n validate(n) {\n return t[\"~run\"]({ value: n }, /* @__PURE__ */ V());\n }\n };\n}\n// @__NO_SIDE_EFFECTS__\nfunction J(t, n) {\n return Object.hasOwn(t, n) && n !== \"__proto__\" && n !== \"prototype\" && n !== \"constructor\";\n}\n// @__NO_SIDE_EFFECTS__\nfunction K(t, n) {\n const e = [...new Set(t)];\n return e.length > 1 ? `(${e.join(` ${n} `)})` : e[0] ?? \"never\";\n}\n// @__NO_SIDE_EFFECTS__\nfunction q(t, n, e) {\n return typeof t.fallback == \"function\" ? t.fallback(n, e) : t.fallback;\n}\n// @__NO_SIDE_EFFECTS__\nfunction w(t, n, e) {\n return typeof t.default == \"function\" ? t.default(n, e) : t.default;\n}\n// @__NO_SIDE_EFFECTS__\nfunction E(t, n) {\n return {\n kind: \"schema\",\n type: \"array\",\n reference: E,\n expects: \"Array\",\n async: !1,\n item: t,\n message: n,\n get \"~standard\"() {\n return /* @__PURE__ */ g(this);\n },\n \"~run\"(e, r) {\n const s = e.value;\n if (Array.isArray(s)) {\n e.typed = !0, e.value = [];\n for (let o = 0; o < s.length; o++) {\n const i = s[o], u = this.item[\"~run\"]({ value: i }, r);\n if (u.issues) {\n const a = {\n type: \"array\",\n origin: \"value\",\n input: s,\n key: o,\n value: i\n };\n for (const p of u.issues)\n p.path ? p.path.unshift(a) : p.path = [a], e.issues?.push(p);\n if (e.issues || (e.issues = u.issues), r.abortEarly) {\n e.typed = !1;\n break;\n }\n }\n u.typed || (e.typed = !1), e.value.push(u.value);\n }\n } else y(this, \"type\", e, r);\n return e;\n }\n };\n}\n// @__NO_SIDE_EFFECTS__\nfunction T(t) {\n return {\n kind: \"schema\",\n type: \"boolean\",\n reference: T,\n expects: \"boolean\",\n async: !1,\n message: t,\n get \"~standard\"() {\n return /* @__PURE__ */ g(this);\n },\n \"~run\"(n, e) {\n return typeof n.value == \"boolean\" ? n.typed = !0 : y(this, \"type\", n, e), n;\n }\n };\n}\n// @__NO_SIDE_EFFECTS__\nfunction k(t, n) {\n return {\n kind: \"schema\",\n type: \"literal\",\n reference: k,\n expects: /* @__PURE__ */ _(t),\n async: !1,\n literal: t,\n message: n,\n get \"~standard\"() {\n return /* @__PURE__ */ g(this);\n },\n \"~run\"(e, r) {\n return e.value === this.literal ? e.typed = !0 : y(this, \"type\", e, r), e;\n }\n };\n}\n// @__NO_SIDE_EFFECTS__\nfunction m(t, n) {\n return {\n kind: \"schema\",\n type: \"nullable\",\n reference: m,\n expects: `(${t.expects} | null)`,\n async: !1,\n wrapped: t,\n default: n,\n get \"~standard\"() {\n return /* @__PURE__ */ g(this);\n },\n \"~run\"(e, r) {\n return e.value === null && (this.default !== void 0 && (e.value = /* @__PURE__ */ w(this, e, r)), e.value === null) ? (e.typed = !0, e) : this.wrapped[\"~run\"](e, r);\n }\n };\n}\n// @__NO_SIDE_EFFECTS__\nfunction x(t) {\n return {\n kind: \"schema\",\n type: \"number\",\n reference: x,\n expects: \"number\",\n async: !1,\n message: t,\n get \"~standard\"() {\n return /* @__PURE__ */ g(this);\n },\n \"~run\"(n, e) {\n return typeof n.value == \"number\" && !isNaN(n.value) ? n.typed = !0 : y(this, \"type\", n, e), n;\n }\n };\n}\n// @__NO_SIDE_EFFECTS__\nfunction b(t, n) {\n return {\n kind: \"schema\",\n type: \"object\",\n reference: b,\n expects: \"Object\",\n async: !1,\n entries: t,\n message: n,\n get \"~standard\"() {\n return /* @__PURE__ */ g(this);\n },\n \"~run\"(e, r) {\n const s = e.value;\n if (s && typeof s == \"object\") {\n e.typed = !0, e.value = {};\n for (const o in this.entries) {\n const i = this.entries[o];\n if (o in s || (i.type === \"exact_optional\" || i.type === \"optional\" || i.type === \"nullish\") && i.default !== void 0) {\n const u = o in s ? s[o] : /* @__PURE__ */ w(i), a = i[\"~run\"]({ value: u }, r);\n if (a.issues) {\n const p = {\n type: \"object\",\n origin: \"value\",\n input: s,\n key: o,\n value: u\n };\n for (const d of a.issues)\n d.path ? d.path.unshift(p) : d.path = [p], e.issues?.push(d);\n if (e.issues || (e.issues = a.issues), r.abortEarly) {\n e.typed = !1;\n break;\n }\n }\n a.typed || (e.typed = !1), e.value[o] = a.value;\n } else if (i.fallback !== void 0) e.value[o] = /* @__PURE__ */ q(i);\n else if (i.type !== \"exact_optional\" && i.type !== \"optional\" && i.type !== \"nullish\" && (y(this, \"key\", e, r, {\n input: void 0,\n expected: `\"${o}\"`,\n path: [{\n type: \"object\",\n origin: \"key\",\n input: s,\n key: o,\n value: s[o]\n }]\n }), r.abortEarly))\n break;\n }\n } else y(this, \"type\", e, r);\n return e;\n }\n };\n}\n// @__NO_SIDE_EFFECTS__\nfunction f(t, n) {\n return {\n kind: \"schema\",\n type: \"optional\",\n reference: f,\n expects: `(${t.expects} | undefined)`,\n async: !1,\n wrapped: t,\n default: n,\n get \"~standard\"() {\n return /* @__PURE__ */ g(this);\n },\n \"~run\"(e, r) {\n return e.value === void 0 && (this.default !== void 0 && (e.value = /* @__PURE__ */ w(this, e, r)), e.value === void 0) ? (e.typed = !0, e) : this.wrapped[\"~run\"](e, r);\n }\n };\n}\n// @__NO_SIDE_EFFECTS__\nfunction R(t, n, e) {\n return {\n kind: \"schema\",\n type: \"record\",\n reference: R,\n expects: \"Object\",\n async: !1,\n key: t,\n value: n,\n message: e,\n get \"~standard\"() {\n return /* @__PURE__ */ g(this);\n },\n \"~run\"(r, s) {\n const o = r.value;\n if (o && typeof o == \"object\") {\n r.typed = !0, r.value = {};\n for (const i in o) if (/* @__PURE__ */ J(o, i)) {\n const u = o[i], a = this.key[\"~run\"]({ value: i }, s);\n if (a.issues) {\n const d = {\n type: \"object\",\n origin: \"key\",\n input: o,\n key: i,\n value: u\n };\n for (const S of a.issues)\n S.path = [d], r.issues?.push(S);\n if (r.issues || (r.issues = a.issues), s.abortEarly) {\n r.typed = !1;\n break;\n }\n }\n const p = this.value[\"~run\"]({ value: u }, s);\n if (p.issues) {\n const d = {\n type: \"object\",\n origin: \"value\",\n input: o,\n key: i,\n value: u\n };\n for (const S of p.issues)\n S.path ? S.path.unshift(d) : S.path = [d], r.issues?.push(S);\n if (r.issues || (r.issues = p.issues), s.abortEarly) {\n r.typed = !1;\n break;\n }\n }\n (!a.typed || !p.typed) && (r.typed = !1), a.typed && (r.value[a.value] = p.value);\n }\n } else y(this, \"type\", r, s);\n return r;\n }\n };\n}\n// @__NO_SIDE_EFFECTS__\nfunction l(t) {\n return {\n kind: \"schema\",\n type: \"string\",\n reference: l,\n expects: \"string\",\n async: !1,\n message: t,\n get \"~standard\"() {\n return /* @__PURE__ */ g(this);\n },\n \"~run\"(n, e) {\n return typeof n.value == \"string\" ? n.typed = !0 : y(this, \"type\", n, e), n;\n }\n };\n}\n// @__NO_SIDE_EFFECTS__\nfunction P(t) {\n let n;\n if (t) for (const e of t) n ? n.push(...e.issues) : n = e.issues;\n return n;\n}\n// @__NO_SIDE_EFFECTS__\nfunction U(t, n) {\n return {\n kind: \"schema\",\n type: \"union\",\n reference: U,\n expects: /* @__PURE__ */ K(t.map((e) => e.expects), \"|\"),\n async: !1,\n options: t,\n message: n,\n get \"~standard\"() {\n return /* @__PURE__ */ g(this);\n },\n \"~run\"(e, r) {\n let s, o, i;\n for (const u of this.options) {\n const a = u[\"~run\"]({ value: e.value }, r);\n if (a.typed) if (a.issues) o ? o.push(a) : o = [a];\n else {\n s = a;\n break;\n }\n else i ? i.push(a) : i = [a];\n }\n if (s) return s;\n if (o) {\n if (o.length === 1) return o[0];\n y(this, \"type\", e, r, { issues: /* @__PURE__ */ P(o) }), e.typed = !0;\n } else {\n if (i?.length === 1) return i[0];\n y(this, \"type\", e, r, { issues: /* @__PURE__ */ P(i) });\n }\n return e;\n }\n };\n}\nconst h = (t) => /* @__PURE__ */ U(t.map((n) => /* @__PURE__ */ k(n))), Q = /* @__PURE__ */ b({\n \"en-au\": /* @__PURE__ */ l(),\n \"en-gb\": /* @__PURE__ */ l(),\n \"en-us\": /* @__PURE__ */ l(),\n \"es-es\": /* @__PURE__ */ l()\n}), j = /* @__PURE__ */ b({\n \"en-au\": /* @__PURE__ */ f(/* @__PURE__ */ l()),\n \"en-gb\": /* @__PURE__ */ f(/* @__PURE__ */ l()),\n \"en-us\": /* @__PURE__ */ f(/* @__PURE__ */ l()),\n \"es-es\": /* @__PURE__ */ f(/* @__PURE__ */ l())\n}), Y = h([\"amber\", \"green\", \"red\", \"other\"]), Z = h([\n \"alpha\",\n \"beta\",\n \"generalAvailability\",\n \"notApplicable\",\n \"preAlpha\",\n \"proposed\",\n \"releaseCandidate\",\n \"unavailable\",\n \"underReview\"\n]), ee = h([\n \"app\",\n \"connector\",\n \"connectorConnection\",\n \"context\",\n \"contextModelGroup\",\n \"contextModel\",\n \"contextModelDimensionGroup\",\n \"contextModelDimension\",\n \"contextModelDimensionHierarchy\",\n \"contextModelEntityGroup\",\n \"contextModelEntity\",\n \"contextModelEntityDataItem\",\n \"contextModelEntityEvent\",\n \"contextModelEntityPrimaryMeasure\",\n \"contextModelSecondaryMeasureGroup\",\n \"contextModelSecondaryMeasure\",\n \"dataView\",\n \"dimension\",\n \"engine\",\n \"eventQuery\",\n \"presenter\",\n \"presenterPresentation\",\n \"tool\"\n]);\nh([\"app\", \"engine\", \"connector\", \"context\", \"presenter\", \"tool\"]);\nconst te = /* @__PURE__ */ b({\n id: /* @__PURE__ */ l(),\n color: Y,\n label: /* @__PURE__ */ l()\n}), A = {\n id: /* @__PURE__ */ l(),\n label: j,\n description: j,\n firstCreatedAt: /* @__PURE__ */ f(/* @__PURE__ */ x()),\n icon: /* @__PURE__ */ m(/* @__PURE__ */ l()),\n iconDark: /* @__PURE__ */ m(/* @__PURE__ */ l()),\n lastUpdatedAt: /* @__PURE__ */ m(/* @__PURE__ */ x()),\n status: /* @__PURE__ */ m(te),\n statusId: Z\n}, he = /* @__PURE__ */ b({\n ...A,\n typeId: ee\n}), I = {\n ...A,\n version: /* @__PURE__ */ l()\n}, F = /* @__PURE__ */ b({\n id: /* @__PURE__ */ l(),\n label: j,\n description: j,\n icon: /* @__PURE__ */ m(/* @__PURE__ */ l()),\n iconDark: /* @__PURE__ */ m(/* @__PURE__ */ l()),\n order: /* @__PURE__ */ x(),\n path: /* @__PURE__ */ l()\n}), v = (t) => {\n const n = Object.entries(t).filter((e) => typeof e[1] == \"string\");\n return new Map(n);\n}, ne = (t, n, e = O) => {\n const r = t.get(n);\n if (r !== void 0) return r;\n if (e !== n)\n return t.get(e);\n}, re = [\n { id: \"alpha\", color: \"red\", labels: v({ \"en-gb\": \"alpha\" }) },\n { id: \"beta\", color: \"amber\", labels: v({ \"en-gb\": \"beta\" }) },\n { id: \"generalAvailability\", color: \"green\", labels: v({ \"en-gb\": \"\" }) },\n { id: \"notApplicable\", color: \"green\", labels: v({ \"en-gb\": \"not-applicable\" }) },\n { id: \"preAlpha\", color: \"red\", labels: v({ \"en-gb\": \"pre-alpha\" }) },\n { id: \"proposed\", color: \"other\", labels: v({ \"en-gb\": \"proposed\" }) },\n { id: \"releaseCandidate\", color: \"green\", labels: v({ \"en-gb\": \"release-candidate\" }) },\n { id: \"unavailable\", color: \"other\", labels: v({ \"en-gb\": \"unavailable\" }) },\n { id: \"underReview\", color: \"other\", labels: v({ \"en-gb\": \"under-review\" }) }\n], ve = (t, n = O) => {\n const e = re.find((r) => r.id === t);\n if (e) {\n const r = ne(e.labels, n);\n return { id: e.id, color: e.color, label: r ?? e.id };\n }\n return { id: t, color: \"other\", label: t };\n}, se = h([\"apiKey\", \"disabled\", \"oAuth2\", \"none\"]), oe = h([\"application\", \"curatedDataset\", \"database\", \"fileStore\"]), ie = h([\n \"abortOperation\",\n \"authenticateConnection\",\n \"createObject\",\n \"describeConnection\",\n \"dropObject\",\n \"findObject\",\n \"getReadableStream\",\n \"getRecord\",\n \"listNodes\",\n \"previewObject\",\n \"removeRecords\",\n \"retrieveChunks\",\n \"retrieveRecords\",\n \"upsertRecords\"\n]), ae = h([\"bidirectional\", \"destination\", \"source\", \"unknown\"]), le = /* @__PURE__ */ b({\n authMethodId: se,\n activeConnectionCount: /* @__PURE__ */ f(/* @__PURE__ */ x()),\n canDescribe: /* @__PURE__ */ f(/* @__PURE__ */ T()),\n id: /* @__PURE__ */ f(/* @__PURE__ */ l()),\n label: /* @__PURE__ */ f(Q),\n maxConnectionCount: /* @__PURE__ */ f(/* @__PURE__ */ x()),\n params: /* @__PURE__ */ f(/* @__PURE__ */ E(/* @__PURE__ */ R(/* @__PURE__ */ l(), /* @__PURE__ */ l())))\n}), Ee = /* @__PURE__ */ b({\n ...I,\n typeId: /* @__PURE__ */ k(\"connector\"),\n category: /* @__PURE__ */ m(/* @__PURE__ */ b({ id: /* @__PURE__ */ l(), label: /* @__PURE__ */ l() })),\n categoryId: oe,\n implementations: /* @__PURE__ */ R(/* @__PURE__ */ l(), le),\n operations: /* @__PURE__ */ E(ie),\n usageId: ae,\n vendorAccountURL: /* @__PURE__ */ m(/* @__PURE__ */ l()),\n vendorDocumentationURL: /* @__PURE__ */ m(/* @__PURE__ */ l()),\n vendorHomeURL: /* @__PURE__ */ m(/* @__PURE__ */ l())\n}), Se = [\"createObject\", \"dropObject\", \"removeRecords\", \"upsertRecords\"], xe = [\"findObject\", \"getRecord\", \"listNodes\", \"previewObject\", \"retrieveRecords\"], D = (t) => {\n const n = Object.entries(t).filter((e) => typeof e[1] == \"string\");\n return new Map(n);\n};\nD({ \"en-gb\": \"Application\" }), D({ \"en-gb\": \"Curated Dataset\" }), D({ \"en-gb\": \"Database\" }), D({ \"en-gb\": \"File Store\" });\nconst ce = h([\"list\"]), ue = /* @__PURE__ */ b({\n ...A,\n typeId: /* @__PURE__ */ k(\"contextModelGroup\"),\n modelRefs: /* @__PURE__ */ E(F),\n order: /* @__PURE__ */ x()\n}), ke = /* @__PURE__ */ b({\n ...I,\n typeId: /* @__PURE__ */ k(\"context\"),\n models: /* @__PURE__ */ E(ue),\n operations: /* @__PURE__ */ E(ce)\n});\nclass L extends Error {\n locator;\n constructor(n, e, r) {\n super(n, r), this.name = \"DataPosError\", this.locator = e;\n }\n}\nclass C extends L {\n constructor(n, e, r) {\n super(n, e, r), this.name = \"ApplicationError\";\n }\n}\nclass Ce extends C {\n constructor(n, e, r) {\n super(n, e, r), this.name = \"APIError\";\n }\n}\nclass Oe extends C {\n constructor(n, e, r) {\n super(n, e, r), this.name = \"EngineError\";\n }\n}\nclass G extends C {\n body;\n constructor(n, e, r, s) {\n super(n, e, s), this.name = \"FetchError\", this.body = r;\n }\n}\nclass pe extends C {\n componentName;\n info;\n constructor(n, e, r, s, o) {\n super(n, e, o), this.name = \"VueHandledError\", this.info = r, this.componentName = s;\n }\n}\nclass De extends C {\n constructor(n, e, r) {\n super(n, e, r), this.name = \"WindowHandledRuntimeError\";\n }\n}\nclass je extends C {\n constructor(n, e, r) {\n super(n, e, r), this.name = \"WindowHandledPromiseRejectionError\";\n }\n}\nclass Me extends L {\n constructor(n, e, r) {\n super(n, e, r), this.name = \"OperationalError\";\n }\n}\nasync function we(t, n, e) {\n const r = ` - ${t.statusText}`, s = `${n} Response status '${t.status}${t.statusText ? r : \"\"}' received.`, o = await t.text();\n return new G(s, e, o);\n}\nfunction Re(t) {\n return t.map((n) => n.message).join(\" \");\n}\nfunction Ae(t) {\n if (t instanceof Error) return t;\n if (typeof t == \"string\") return new Error(t);\n if (typeof t == \"number\" || typeof t == \"boolean\" || typeof t == \"bigint\") return new Error(String(t));\n if (typeof t == \"symbol\") return new Error(t.description ?? \"Unknown error\");\n if (t && typeof t == \"object\")\n try {\n return new Error(JSON.stringify(t));\n } catch {\n return new Error(\"Unknown error\");\n }\n return new Error(\"Unknown error\");\n}\nfunction Ie(t) {\n const n = /* @__PURE__ */ new Set(), e = [];\n let r = t;\n for (; r && !n.has(r); ) {\n n.add(r);\n let s;\n if (r instanceof G)\n s = { body: r.body, locator: r.locator, message: r.message, name: r.name, stack: r.stack }, r = r.cause;\n else if (r instanceof pe)\n s = { componentName: r.componentName, info: r.info, locator: r.locator, message: r.message, name: r.name, stack: r.stack }, r = r.cause;\n else if (r instanceof L)\n s = { locator: r.locator, message: r.message, name: r.name, stack: r.stack }, r = r.cause;\n else if (r instanceof Error) {\n const o = r;\n s = { locator: \"\", message: o.message, name: o.name, stack: o.stack }, r = o.cause;\n } else\n s = { locator: \"\", message: String(r), name: \"Error\" }, r = void 0;\n /(?:\\.{3}|[.!?])$/.test(s.message) || (s.message += \".\"), e.push(s);\n }\n return e;\n}\nconst de = h([\"list\", \"render\", \"setColorMode\"]), Le = /* @__PURE__ */ b({\n ...I,\n typeId: /* @__PURE__ */ k(\"presenter\"),\n presentations: /* @__PURE__ */ E(F),\n operations: /* @__PURE__ */ E(de)\n});\nfunction Ne() {\n return { render: fe };\n}\nfunction fe(t, n, e) {\n e.textContent = \"Cytoscape.js diagram goes here...\";\n}\nfunction Pe() {\n return { render: be };\n}\nfunction be(t, n) {\n console.log(1111, t), console.log(2222, n), console.log(3333, n.childNodes), console.log(4444, n.children);\n}\nconst c = (t) => new Map(Object.entries(t)), N = (t, n, e = O) => {\n const r = t.get(n);\n if (r !== void 0) return r;\n if (e !== n)\n return t.get(e);\n}, me = [\n { id: \"dtv\", labels: c({ \"en-gb\": \"Delimited Text\" }) },\n { id: \"e/e\", labels: c({ \"en-gb\": \"Entity/Event\" }) },\n { id: \"jsonArray\", labels: c({ \"en-gb\": \"JSON Array\" }) },\n { id: \"spss\", labels: c({ \"en-gb\": \"SPSS\" }) },\n { id: \"xls\", labels: c({ \"en-gb\": \"XLS\" }) },\n { id: \"xlsx\", labels: c({ \"en-gb\": \"XLSX\" }) },\n { id: \"xml\", labels: c({ \"en-gb\": \"XML\" }) }\n], _e = (t = O) => {\n const n = [];\n for (const e of me) {\n const r = N(e.labels, t);\n n.push({ id: e.id, label: r ?? e.id });\n }\n return n;\n}, ye = [\n { id: `\n`, labels: c({ \"en-gb\": \"Newline\" }) },\n { id: \"\\r\", labels: c({ \"en-gb\": \"Carriage Return\" }) },\n { id: `\\r\n`, labels: c({ \"en-gb\": \"Carriage Return/Newline\" }) }\n], Te = (t = O) => {\n const n = [];\n for (const e of ye) {\n const r = N(e.labels, t);\n n.push({ id: e.id, label: r ?? e.id });\n }\n return n;\n}, ge = [\n { id: \":\", labels: c({ \"en-gb\": \"Colon\" }) },\n { id: \",\", labels: c({ \"en-gb\": \"Comma\" }) },\n { id: \"!\", labels: c({ \"en-gb\": \"Exclamation Mark\" }) },\n // { id: '', label: { 'en-gb': 'Other' } }, // TODO: Maybe set this to a 'not printing' or special ascii character when there is a user supplied delimited, rather than ''?\n { id: \"0x1E\", labels: c({ \"en-gb\": \"Record Separator\" }) },\n { id: \";\", labels: c({ \"en-gb\": \"Semicolon\" }) },\n { id: \" \", labels: c({ \"en-gb\": \"Space\" }) },\n { id: \"\t\", labels: c({ \"en-gb\": \"Tab\" }) },\n { id: \"_\", labels: c({ \"en-gb\": \"Underscore\" }) },\n { id: \"0x1F\", labels: c({ \"en-gb\": \"Unit Separator\" }) },\n { id: \"|\", labels: c({ \"en-gb\": \"Vertical Bar\" }) }\n], Ue = (t = O) => {\n const n = [];\n for (const e of ge) {\n const r = N(e.labels, t);\n n.push({ id: e.id, label: r ?? e.id });\n }\n return n;\n}, O = \"en-gb\";\nexport {\n Ce as APIError,\n C as ApplicationError,\n Se as CONNECTOR_DESTINATION_OPERATIONS,\n xe as CONNECTOR_SOURCE_OPERATIONS,\n O as DEFAULT_LOCALE_CODE,\n Oe as EngineError,\n G as FetchError,\n Me as OperationalError,\n pe as VueError,\n je as WindowPromiseRejectionError,\n De as WindowRuntimeError,\n we as buildFetchError,\n he as componentConfigSchema,\n Re as concatenateSerialisedErrorMessages,\n Ee as connectorConfigSchema,\n ke as contextConfigSchema,\n ve as getComponentStatus,\n _e as getDataFormats,\n Te as getRecordDelimiters,\n Ue as getValueDelimiters,\n Ae as normalizeToError,\n Le as presenterConfigSchema,\n Ie as serialiseError,\n Ne as useCytoscapeJS,\n Pe as useDataTable\n};\n","const c = \"en-US\", s = /* @__PURE__ */ new Map();\nfunction f(e) {\n switch (e) {\n case \"Edm.Binary\":\n return \"unknown\";\n // Binary...\n case \"Edm.Boolean\":\n return \"boolean\";\n case \"Edm.Byte\":\n return \"wholeNumber\";\n case \"Edm.DateTime\":\n return \"moment\";\n // DateTime...\n case \"Edm.DateTimeOffset\":\n return \"moment\";\n // DateTimeOffset...\n case \"Edm.Decimal\":\n return \"decimalNumber\";\n case \"Edm.Double\":\n return \"decimalNumber\";\n case \"Edm.Guid\":\n return \"string\";\n case \"Edm.Int16\":\n return \"wholeNumber\";\n case \"Edm.Int32\":\n return \"wholeNumber\";\n case \"Edm.Int64\":\n return \"wholeNumber\";\n case \"Edm.SByte\":\n return \"wholeNumber\";\n case \"Edm.Single\":\n return \"decimalNumber\";\n case \"Edm.String\":\n return \"string\";\n case \"Edm.Time\":\n return \"momentTime\";\n // Time...\n default:\n return \"unknown\";\n }\n}\nfunction l(e) {\n if (e) {\n const t = e.lastIndexOf(\"/\"), n = e.lastIndexOf(\".\", t === -1 ? e.length : t);\n return n === -1 ? e : e.slice(0, Math.max(0, n));\n }\n}\nfunction m(e) {\n if (e) {\n const t = e.lastIndexOf(\".\");\n if (t !== -1) return e.slice(Math.max(0, t + 1));\n }\n}\nfunction r(e, t = 2, n = t, i = c) {\n if (e == null) return \"\";\n const u = `${i}decimal${t}.${n}`;\n let a = s.get(u);\n return a || (a = new Intl.NumberFormat(i, {\n localeMatcher: \"best fit\",\n maximumFractionDigits: t,\n minimumFractionDigits: n,\n minimumIntegerDigits: 1,\n style: \"decimal\",\n useGrouping: !0\n }), s.set(u, a)), a.format(e);\n}\nfunction d(e) {\n return e == null ? \"\" : e < 1e3 ? o(e) : e < 1e6 ? `${r(e / 1e3, 2, 0)}K` : e < 1e9 ? `${r(e / 1e6, 2, 0)}M` : e < 1e12 ? `${r(e / 1e9, 2, 0)}B` : `${r(e / 1e12, 2, 0)}T`;\n}\nfunction x(e) {\n return e == null ? \"\" : e === 1 ? \"1 byte\" : e < 1024 ? `${o(e)} bytes` : e < 1048576 ? `${r(e / 1024, 2, 0)} KB` : e < 1073741824 ? `${r(e / 1048576, 2, 0)} MB` : e < 1099511627776 ? `${r(e / 1073741824, 2, 0)} GB` : `${r(e / 1099511627776, 2, 0)} TB`;\n}\nfunction p(e) {\n return e == null ? \"\" : e < 1e3 ? `${o(e)} ms` : e === 1e3 ? `${o(e)} sec` : e < 6e4 ? `${r(e / 1e3, 2, 0)} secs` : e === 6e4 ? \"1 min\" : e < 36e5 ? `${r(e / 6e4, 2, 0)} mins` : e === 36e5 ? \"1 hr\" : e < 864e5 ? `${r(e / 36e5, 2, 0)} hrs` : e === 864e5 ? \"1 day\" : `${r(e / 864e5, 2, 0)} days`;\n}\nfunction o(e, t = c) {\n if (e == null) return \"\";\n const n = `${t}decimal0.0`;\n let i = s.get(n);\n return i || (i = new Intl.NumberFormat(t, {\n localeMatcher: \"best fit\",\n maximumFractionDigits: 0,\n minimumFractionDigits: 0,\n minimumIntegerDigits: 1,\n style: \"decimal\",\n useGrouping: !0\n }), s.set(n, i)), i.format(e);\n}\nfunction E(e) {\n switch (e) {\n case \"csv\":\n return \"text/csv\";\n case \"tab\":\n case \"tsv\":\n return \"text/tab-separated-values\";\n case \"xls\":\n return \"application/vnd.ms-excel\";\n case \"xlsx\":\n return \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\";\n default:\n return \"application/octet-stream\";\n }\n}\nexport {\n f as convertODataTypeIdToUsageTypeId,\n m as extractExtensionFromPath,\n l as extractNameFromPath,\n r as formatNumberAsDecimalNumber,\n p as formatNumberAsDuration,\n d as formatNumberAsSize,\n x as formatNumberAsStorageSize,\n o as formatNumberAsWholeNumber,\n E as lookupMimeTypeForExtension\n};\n","// Dependencies - Framework\nimport type * as RustModule from '../rust/datapos-connector-file-store-emulator-core/pkg/datapos_connector_file_store_emulator_core.js';\n\n// Interfaces/Types\ntype RustBindings = typeof RustModule;\n\n// Module Variables\nlet rustBindingsPromise: Promise<RustBindings> | undefined;\n\n// Utilities\nasync function addNumbersWithRust(left: number, right: number): Promise<number> {\n const { add_my_numbers } = await loadRustBindings();\n console.log(1111, left, right);\n const yyyy = add_my_numbers(Math.trunc(left), Math.trunc(right));\n console.log(2222, yyyy);\n return yyyy;\n}\n\n// Utilities\nasync function checksumWithRust(input: string): Promise<number> {\n const { checksum_from_rust } = await loadRustBindings();\n return checksum_from_rust(input);\n}\n\n// Helpers\nasync function loadRustBindings(): Promise<RustBindings> {\n rustBindingsPromise ??= import('../rust/datapos-connector-file-store-emulator-core/pkg/datapos_connector_file_store_emulator_core.js');\n return rustBindingsPromise;\n}\n\n// Exposures\nexport { addNumbersWithRust, checksumWithRust };\n","/*\n * File store emulator connector class.\n */\n\n// NOTE: Consider Cloudflare R2 Download URL: https://plugins-eu.datapositioning.app/connectors/datapos-connector-file-store-emulator-es.js. This would allow us to secure the bucket?\n\n/** Dependencies - Vendor. */\nimport { nanoid } from 'nanoid';\n\n/** Dependencies - Framework. */\nimport type { CSVParseTool } from '@datapos/datapos-tool-csv-parse';\nimport { buildFetchError, normalizeToError, OperationalError } from '@datapos/datapos-shared';\nimport type {\n ConnectionConfig,\n ConnectionNodeConfig,\n Connector,\n ConnectorConfig,\n ConnectorTools,\n FindResult,\n FindSettings,\n GetReadableStreamResult,\n GetReadableStreamSettings,\n ListResult,\n ListSettings,\n PreviewResult,\n PreviewSettings,\n RetrieveRecordsSettings,\n RetrieveRecordsSummary,\n ToolConfig\n} from '@datapos/datapos-shared';\nimport { extractExtensionFromPath, extractNameFromPath, lookupMimeTypeForExtension } from '@datapos/datapos-shared/utilities';\n\n/** Dependencies - Data. */\nimport config from '~/config.json';\nimport fileStoreIndex from '@/fileStoreIndex.json';\nimport { version } from '~/package.json';\nimport { addNumbersWithRust, checksumWithRust } from '@/rustBridge';\n\n/** Interfaces/Types - File store index. */\ntype FileStoreIndexItem =\n | ({ typeId: 'folder'; childCount: number } & { name: string })\n | ({ typeId: 'object'; id: string; lastModifiedAt: number; size: number } & { name: string });\ntype FileStoreIndex = Record<string, FileStoreIndexItem[]>;\n\n/** Constants */\nconst CALLBACK_PREVIEW_ABORTED = 'Connector failed to abort preview object operation.';\nconst CALLBACK_RETRIEVE_ABORTED = 'Connector failed to abort retrieve all records operation.';\nconst DEFAULT_PREVIEW_CHUNK_SIZE = 4096;\nconst DEFAULT_RETRIEVE_CHUNK_SIZE = 1000;\nconst URL_PREFIX = 'https://sample-data-eu.datapos.app';\n\n/** Classes - File store emulator connector. */\nexport default class FileStoreEmulatorConnector implements Connector {\n abortController: AbortController | undefined;\n readonly config: ConnectorConfig;\n readonly connectionConfig: ConnectionConfig;\n readonly tools: ConnectorTools;\n\n readonly toolConfigs;\n csvParseTool: CSVParseTool | undefined;\n\n constructor(connectionConfig: ConnectionConfig, tools: ConnectorTools, toolConfigs: ToolConfig[]) {\n this.abortController = undefined;\n this.config = config as ConnectorConfig;\n this.config.version = version;\n this.connectionConfig = connectionConfig;\n this.tools = tools;\n this.toolConfigs = toolConfigs;\n\n this.csvParseTool = undefined;\n }\n\n // Operations - Abort operation.\n abortOperation(connector: FileStoreEmulatorConnector): void {\n if (!connector.abortController) return;\n connector.abortController.abort();\n connector.abortController = undefined;\n }\n\n // Operations - Find object.\n findObject(connector: FileStoreEmulatorConnector, settings: FindSettings): Promise<FindResult> {\n // Loop through the file store index checking for an object entry with an identifier equal to the object name.\n for (const folderPath in fileStoreIndex) {\n if (Object.prototype.hasOwnProperty.call(fileStoreIndex, folderPath)) {\n // eslint-disable-next-line security/detect-object-injection\n const indexItems = (fileStoreIndex as FileStoreIndex)[folderPath];\n const indexItem = indexItems?.find((indexItem) => indexItem.typeId === 'object' && indexItem.id === settings.objectName);\n if (indexItem) return Promise.resolve({ folderPath }); // Found, return folder path.\n }\n }\n return Promise.resolve({}); // Not found, return undefined folder path.\n }\n\n // Operations - Get readable stream.\n async getReadableStream(connector: FileStoreEmulatorConnector, settings: GetReadableStreamSettings): Promise<GetReadableStreamResult> {\n try {\n console.log('getReader', 'connector', connector);\n console.log('getReader', 'settings', settings);\n const response = await fetch('https://sample-data-eu.datapos.app/fileStore/ENGAGEMENT_START_EVENTS_202405121858.csv');\n // const response = await fetch('https://sample-data-eu.datapos.app/WDI_Data.csv');\n console.log('getReader', 'response', response);\n if (!response.body) throw new Error('ReadableStream not supported by this browser.');\n\n const xxx = await addNumbersWithRust(12, 56);\n const sum = await checksumWithRust(connector.config.version);\n console.log('sum', sum, xxx);\n\n return await Promise.resolve({ readable: response.body }); // Not found, return undefined folder path.\n } catch (error) {\n connector.abortController = undefined;\n throw error;\n }\n }\n\n // Operations - List nodes.\n listNodes(connector: FileStoreEmulatorConnector, settings: ListSettings): Promise<ListResult> {\n const indexItems = (fileStoreIndex as FileStoreIndex)[settings.folderPath] ?? [];\n const connectionNodeConfigs: ConnectionNodeConfig[] = [];\n for (const indexItem of indexItems) {\n if (indexItem.typeId === 'folder') {\n connectionNodeConfigs.push(this.constructFolderNodeConfig(settings.folderPath, indexItem.name, indexItem.childCount));\n } else {\n connectionNodeConfigs.push(this.constructObjectNodeConfig(settings.folderPath, indexItem.id, indexItem.name, indexItem.lastModifiedAt, indexItem.size));\n }\n }\n return Promise.resolve({ cursor: undefined, isMore: false, connectionNodeConfigs, totalCount: connectionNodeConfigs.length });\n }\n\n // Operations - Preview object.\n async previewObject(connector: FileStoreEmulatorConnector, settings: PreviewSettings): Promise<PreviewResult> {\n try {\n // Create an abort controller. Get the signal for the abort controller and add an abort listener.\n connector.abortController = new AbortController();\n const signal = connector.abortController.signal;\n signal.addEventListener('abort', () => {\n throw new OperationalError(CALLBACK_PREVIEW_ABORTED, 'datapos-connector-file-store-emulator|Connector|preview.abort');\n });\n\n // Fetch chunk from start of file.\n const url = `${URL_PREFIX}/fileStore${settings.path}`;\n const chunkSize = settings.chunkSize ?? DEFAULT_PREVIEW_CHUNK_SIZE;\n const headers: HeadersInit = { Range: `bytes=0-${chunkSize}` };\n const response = await fetch(encodeURI(url), { headers, signal });\n if (response.ok) {\n connector.abortController = undefined;\n return { data: new Uint8Array(await response.arrayBuffer()), typeId: 'uint8Array' };\n } else {\n throw await buildFetchError(response, `Failed to fetch '${settings.path}' file.`, 'datapos-connector-file-store-emulator|Connector|preview');\n }\n } catch (error) {\n connector.abortController = undefined;\n throw error;\n }\n }\n\n // Operations - Retrieve records.\n async retrieveRecords(\n connector: FileStoreEmulatorConnector,\n settings: RetrieveRecordsSettings,\n chunk: (records: string[][]) => void,\n complete: (result: RetrieveRecordsSummary) => void\n ): Promise<void> {\n const csvParseTool = connector.csvParseTool ?? (connector.csvParseTool = await connector.loadTool<CSVParseTool>('csv-parse'));\n console.log(1234, csvParseTool);\n return new Promise((resolve, reject) => {\n try {\n // Create an abort controller and get the signal. Add an abort listener to the signal.\n connector.abortController = new AbortController();\n const signal = connector.abortController.signal;\n signal.addEventListener(\n 'abort',\n () => {\n connector.abortController = undefined;\n reject(new OperationalError(CALLBACK_RETRIEVE_ABORTED, 'datapos-connector-file-store-emulator|Connector|retrieve.abort'));\n },\n { once: true }\n );\n\n // Parser - Declare variables.\n let pendingRows: string[][] = []; // Array to store rows of parsed field values and associated information.\n\n // Parser - Create a parser object for CSV parsing.\n const parser = csvParseTool.buildParser({\n delimiter: settings.valueDelimiterId,\n info: true,\n relax_column_count: true,\n relax_quotes: true\n });\n\n // Parser - Event listener for the 'readable' (data available) event.\n parser.on('readable', () => {\n try {\n let data: string[] | null;\n while ((data = parser.read() as string[] | null) !== null) {\n signal.throwIfAborted(); // Check if the abort signal has been triggered.\n pendingRows.push(data); // Append the row of parsed values and associated information to the pending rows array.\n if (pendingRows.length < DEFAULT_RETRIEVE_CHUNK_SIZE) continue; // Continue with next iteration if the pending rows array is not yet full.\n chunk(pendingRows); // Pass the pending rows to the engine using the 'chunk' callback.\n pendingRows = []; // Clear the pending rows array in preparation for the next batch of data.\n }\n } catch (error) {\n connector.abortController = undefined;\n reject(normalizeToError(error));\n }\n });\n\n // Parser - Event listener for the 'error' event.\n parser.on('error', (error) => {\n connector.abortController = undefined;\n reject(normalizeToError(error));\n });\n\n // Parser - Event listener for the 'end' (end of data) event.\n parser.on('end', () => {\n try {\n signal.throwIfAborted(); // Check if the abort signal has been triggered.\n connector.abortController = undefined; // Clear the abort controller.\n if (pendingRows.length > 0) {\n chunk(pendingRows);\n pendingRows = [];\n }\n complete({\n byteCount: parser.info.bytes,\n commentLineCount: parser.info.comment_lines,\n emptyLineCount: parser.info.empty_lines,\n invalidFieldLengthCount: parser.info.invalid_field_length,\n lineCount: parser.info.lines,\n recordCount: parser.info.records\n });\n resolve();\n } catch (error) {\n connector.abortController = undefined;\n reject(normalizeToError(error));\n }\n });\n\n // Fetch, decode and forward the contents of the file to the parser.\n const url = `${URL_PREFIX}/fileStore${settings.path}`;\n fetch(encodeURI(url), { signal })\n .then(async (response) => {\n try {\n if (response.ok && response.body) {\n const stream = response.body.pipeThrough(new TextDecoderStream(settings.encodingId));\n const decodedStreamReader = stream.getReader();\n let result = await decodedStreamReader.read();\n while (!result.done) {\n signal.throwIfAborted(); // Check if the abort signal has been triggered.\n // Write the decoded data to the parser and terminate if there is an error.\n parser.write(result.value, (error) => {\n if (error) {\n connector.abortController = undefined;\n reject(normalizeToError(error));\n }\n });\n result = await decodedStreamReader.read();\n }\n parser.end(); // Signal no more data will be written.\n } else {\n const error = await connector.tools.dataPos.buildFetchError(\n response,\n `Failed to fetch '${settings.path}' file.`,\n 'datapos-connector-file-store-emulator|Connector|retrieve'\n );\n connector.abortController = undefined;\n reject(error);\n }\n } catch (error) {\n connector.abortController = undefined;\n reject(normalizeToError(error));\n }\n })\n .catch((error: unknown) => {\n connector.abortController = undefined;\n reject(normalizeToError(error));\n });\n } catch (error) {\n connector.abortController = undefined;\n reject(normalizeToError(error));\n }\n });\n }\n\n /** Utilities - Construct folder node configuration. */\n private constructFolderNodeConfig(folderPath: string, name: string, childCount: number): ConnectionNodeConfig {\n return { id: nanoid(), childCount, folderPath, label: name, name, typeId: 'folder' };\n }\n\n /** Utilities - Construct object (file) node configuration. */\n private constructObjectNodeConfig(folderPath: string, id: string, fullName: string, lastModifiedAt: number, size: number): ConnectionNodeConfig {\n const name = extractNameFromPath(fullName) ?? '';\n const extension = extractExtensionFromPath(fullName);\n const lastModifiedAtTimestamp = lastModifiedAt;\n const mimeType = lookupMimeTypeForExtension(extension);\n return { id, extension, folderPath, label: fullName, lastModifiedAt: lastModifiedAtTimestamp, mimeType, name, size, typeId: 'object' };\n }\n\n // Helpers - Load tool.\n private async loadTool<T>(toolName: string): Promise<T> {\n const fullName = `datapos-tool-${toolName}.es.js`;\n const toolModuleConfig = this.toolConfigs.find((config) => config.id === toolName);\n if (!toolModuleConfig) throw new Error(`Unknown tool '${toolName}'.`);\n\n const url = `https://engine-eu.datapos.app/tools/${fullName}_v${toolModuleConfig.version}/datapos-tool-${fullName}.es.js`;\n const csvParseModule = (await import(/* @vite-ignore */ url)) as { T: new () => T };\n return new csvParseModule.T();\n }\n}\n"],"names":["urlAlphabet","nanoid","size","id","bytes","scopedUrlAlphabet","M","V","z","H","$","W","X","n","_","y","e","r","s","o","i","u","p","d","g","K","k","P","U","h","v","D","L","C","G","Me","we","Ae","c","l","t","m","E","rustBindingsPromise","addNumbersWithRust","left","right","add_my_numbers","loadRustBindings","yyyy","checksumWithRust","input","checksum_from_rust","CALLBACK_PREVIEW_ABORTED","CALLBACK_RETRIEVE_ABORTED","DEFAULT_PREVIEW_CHUNK_SIZE","DEFAULT_RETRIEVE_CHUNK_SIZE","URL_PREFIX","FileStoreEmulatorConnector","connectionConfig","tools","toolConfigs","config","version","connector","settings","folderPath","fileStoreIndex","indexItem","response","xxx","sum","error","indexItems","connectionNodeConfigs","signal","OperationalError","url","headers","buildFetchError","chunk","complete","csvParseTool","resolve","reject","pendingRows","parser","data","normalizeToError","decodedStreamReader","result","name","childCount","fullName","lastModifiedAt","extractNameFromPath","extension","extractExtensionFromPath","lastModifiedAtTimestamp","mimeType","lookupMimeTypeForExtension","toolName","toolModuleConfig","csvParseModule"],"mappings":"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","x_google_ignoreList":[0,1,2,3]}
|
|
@@ -19,5 +19,5 @@ export default class FileStoreEmulatorConnector implements Connector {
|
|
|
19
19
|
private constructFolderNodeConfig;
|
|
20
20
|
/** Utilities - Construct object (file) node configuration. */
|
|
21
21
|
private constructObjectNodeConfig;
|
|
22
|
-
private
|
|
22
|
+
private loadTool;
|
|
23
23
|
}
|