datapos-connector-file-store-emulator 0.2.394 → 0.2.396
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -1,205 +1,44 @@
|
|
|
1
|
-
const
|
|
2
|
-
let
|
|
1
|
+
const z = "useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";
|
|
2
|
+
let j = (e = 21) => {
|
|
3
3
|
let t = "", i = crypto.getRandomValues(new Uint8Array(e |= 0));
|
|
4
4
|
for (; e--; )
|
|
5
|
-
t +=
|
|
5
|
+
t += z[i[e] & 63];
|
|
6
6
|
return t;
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
abortPipeEarly: e?.abortPipeEarly ?? b?.abortPipeEarly
|
|
15
|
-
};
|
|
16
|
-
}
|
|
17
|
-
let x;
|
|
18
|
-
// @__NO_SIDE_EFFECTS__
|
|
19
|
-
function S(e) {
|
|
20
|
-
return x?.get(e);
|
|
21
|
-
}
|
|
22
|
-
let k;
|
|
23
|
-
// @__NO_SIDE_EFFECTS__
|
|
24
|
-
function T(e) {
|
|
25
|
-
return k?.get(e);
|
|
26
|
-
}
|
|
27
|
-
let _;
|
|
28
|
-
// @__NO_SIDE_EFFECTS__
|
|
29
|
-
function F(e, t) {
|
|
30
|
-
return _?.get(e)?.get(t);
|
|
31
|
-
}
|
|
32
|
-
// @__NO_SIDE_EFFECTS__
|
|
33
|
-
function u(e) {
|
|
34
|
-
const t = typeof e;
|
|
35
|
-
return t === "string" ? `"${e}"` : t === "number" || t === "bigint" || t === "boolean" ? `${e}` : t === "object" || t === "function" ? (e && Object.getPrototypeOf(e)?.constructor?.name) ?? "null" : t;
|
|
36
|
-
}
|
|
37
|
-
function A(e, t, i, s, d) {
|
|
38
|
-
const o = d && "input" in d ? d.input : i.value, a = d?.expected ?? e.expects ?? null, n = d?.received ?? /* @__PURE__ */ u(o), c = {
|
|
39
|
-
kind: e.kind,
|
|
40
|
-
type: e.type,
|
|
41
|
-
input: o,
|
|
42
|
-
expected: a,
|
|
43
|
-
received: n,
|
|
44
|
-
message: `Invalid ${t}: ${a ? `Expected ${a} but r` : "R"}eceived ${n}`,
|
|
45
|
-
requirement: e.requirement,
|
|
46
|
-
path: d?.path,
|
|
47
|
-
issues: d?.issues,
|
|
48
|
-
lang: s.lang,
|
|
49
|
-
abortEarly: s.abortEarly,
|
|
50
|
-
abortPipeEarly: s.abortPipeEarly
|
|
51
|
-
}, p = e.kind === "schema", r = d?.message ?? e.message ?? /* @__PURE__ */ F(e.reference, c.lang) ?? (p ? /* @__PURE__ */ T(c.lang) : null) ?? s.message ?? /* @__PURE__ */ S(c.lang);
|
|
52
|
-
r !== void 0 && (c.message = typeof r == "function" ? r(c) : r), p && (i.typed = !1), i.issues ? i.issues.push(c) : i.issues = [c];
|
|
53
|
-
}
|
|
54
|
-
// @__NO_SIDE_EFFECTS__
|
|
55
|
-
function v(e) {
|
|
56
|
-
return {
|
|
57
|
-
version: 1,
|
|
58
|
-
vendor: "valibot",
|
|
59
|
-
validate(t) {
|
|
60
|
-
return e["~run"]({ value: t }, /* @__PURE__ */ R());
|
|
61
|
-
}
|
|
62
|
-
};
|
|
63
|
-
}
|
|
64
|
-
// @__NO_SIDE_EFFECTS__
|
|
65
|
-
function O(e, t) {
|
|
66
|
-
const i = [...new Set(e)];
|
|
67
|
-
return i.length > 1 ? `(${i.join(` ${t} `)})` : i[0] ?? "never";
|
|
68
|
-
}
|
|
69
|
-
// @__NO_SIDE_EFFECTS__
|
|
70
|
-
function C(e, t) {
|
|
71
|
-
return {
|
|
72
|
-
kind: "schema",
|
|
73
|
-
type: "literal",
|
|
74
|
-
reference: C,
|
|
75
|
-
expects: /* @__PURE__ */ u(e),
|
|
76
|
-
async: !1,
|
|
77
|
-
literal: e,
|
|
78
|
-
message: t,
|
|
79
|
-
get "~standard"() {
|
|
80
|
-
return /* @__PURE__ */ v(this);
|
|
81
|
-
},
|
|
82
|
-
"~run"(i, s) {
|
|
83
|
-
return i.value === this.literal ? i.typed = !0 : A(this, "type", i, s), i;
|
|
84
|
-
}
|
|
85
|
-
};
|
|
86
|
-
}
|
|
87
|
-
// @__NO_SIDE_EFFECTS__
|
|
88
|
-
function M(e) {
|
|
89
|
-
let t;
|
|
90
|
-
if (e) for (const i of e) t ? t.push(...i.issues) : t = i.issues;
|
|
91
|
-
return t;
|
|
92
|
-
}
|
|
93
|
-
// @__NO_SIDE_EFFECTS__
|
|
94
|
-
function g(e, t) {
|
|
95
|
-
return {
|
|
96
|
-
kind: "schema",
|
|
97
|
-
type: "union",
|
|
98
|
-
reference: g,
|
|
99
|
-
expects: /* @__PURE__ */ O(e.map((i) => i.expects), "|"),
|
|
100
|
-
async: !1,
|
|
101
|
-
options: e,
|
|
102
|
-
message: t,
|
|
103
|
-
get "~standard"() {
|
|
104
|
-
return /* @__PURE__ */ v(this);
|
|
105
|
-
},
|
|
106
|
-
"~run"(i, s) {
|
|
107
|
-
let d, o, a;
|
|
108
|
-
for (const n of this.options) {
|
|
109
|
-
const c = n["~run"]({ value: i.value }, s);
|
|
110
|
-
if (c.typed) if (c.issues) o ? o.push(c) : o = [c];
|
|
111
|
-
else {
|
|
112
|
-
d = c;
|
|
113
|
-
break;
|
|
114
|
-
}
|
|
115
|
-
else a ? a.push(c) : a = [c];
|
|
116
|
-
}
|
|
117
|
-
if (d) return d;
|
|
118
|
-
if (o) {
|
|
119
|
-
if (o.length === 1) return o[0];
|
|
120
|
-
A(this, "type", i, s, { issues: /* @__PURE__ */ M(o) }), i.typed = !0;
|
|
121
|
-
} else {
|
|
122
|
-
if (a?.length === 1) return a[0];
|
|
123
|
-
A(this, "type", i, s, { issues: /* @__PURE__ */ M(a) });
|
|
124
|
-
}
|
|
125
|
-
return i;
|
|
126
|
-
}
|
|
127
|
-
};
|
|
128
|
-
}
|
|
129
|
-
const m = (e) => /* @__PURE__ */ g(e.map((t) => /* @__PURE__ */ C(t)));
|
|
130
|
-
m(["amber", "green", "red", "other"]);
|
|
131
|
-
m([
|
|
132
|
-
"alpha",
|
|
133
|
-
"beta",
|
|
134
|
-
"generalAvailability",
|
|
135
|
-
"notApplicable",
|
|
136
|
-
"preAlpha",
|
|
137
|
-
"proposed",
|
|
138
|
-
"releaseCandidate",
|
|
139
|
-
"unavailable",
|
|
140
|
-
"underReview"
|
|
141
|
-
]);
|
|
142
|
-
m([
|
|
143
|
-
"app",
|
|
144
|
-
"connector",
|
|
145
|
-
"connectorConnection",
|
|
146
|
-
"context",
|
|
147
|
-
"contextModelGroup",
|
|
148
|
-
"contextModel",
|
|
149
|
-
"contextModelDimensionGroup",
|
|
150
|
-
"contextModelDimension",
|
|
151
|
-
"contextModelDimensionHierarchy",
|
|
152
|
-
"contextModelEntityGroup",
|
|
153
|
-
"contextModelEntity",
|
|
154
|
-
"contextModelEntityDataItem",
|
|
155
|
-
"contextModelEntityEvent",
|
|
156
|
-
"contextModelEntityPrimaryMeasure",
|
|
157
|
-
"contextModelSecondaryMeasureGroup",
|
|
158
|
-
"contextModelSecondaryMeasure",
|
|
159
|
-
"dataView",
|
|
160
|
-
"dimension",
|
|
161
|
-
"engine",
|
|
162
|
-
"eventQuery",
|
|
163
|
-
"presenter",
|
|
164
|
-
"presenterPresentation",
|
|
165
|
-
"tool"
|
|
166
|
-
]);
|
|
167
|
-
m(["list"]);
|
|
168
|
-
m(["list", "render", "setColorMode"]);
|
|
169
|
-
const l = (e) => new Map(Object.entries(e));
|
|
170
|
-
l({ "en-gb": "Delimited Text" }), l({ "en-gb": "Entity/Event" }), l({ "en-gb": "JSON" }), l({ "en-gb": "SPSS" }), l({ "en-gb": "XLS" }), l({ "en-gb": "XLSX" }), l({ "en-gb": "XML" });
|
|
171
|
-
l({ "en-gb": "Newline" }), l({ "en-gb": "Carriage Return" }), l({ "en-gb": "Carriage Return/Newline" });
|
|
172
|
-
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" });
|
|
173
|
-
const N = [",", ";", " ", "|", " ", ":", "_", "!", "0x1F", "0x1E"];
|
|
174
|
-
class h extends Error {
|
|
7
|
+
};
|
|
8
|
+
const a = (e) => new Map(Object.entries(e));
|
|
9
|
+
a({ "en-gb": "Delimited Text" }), a({ "en-gb": "Entity/Event" }), a({ "en-gb": "JSON" }), a({ "en-gb": "SPSS" }), a({ "en-gb": "XLS" }), a({ "en-gb": "XLSX" }), a({ "en-gb": "XML" });
|
|
10
|
+
a({ "en-gb": "Newline" }), a({ "en-gb": "Carriage Return" }), a({ "en-gb": "Carriage Return/Newline" });
|
|
11
|
+
a({ "en-gb": "Colon" }), a({ "en-gb": "Comma" }), a({ "en-gb": "Exclamation Mark" }), a({ "en-gb": "Record Separator" }), a({ "en-gb": "Semicolon" }), a({ "en-gb": "Space" }), a({ "en-gb": "Tab" }), a({ "en-gb": "Underscore" }), a({ "en-gb": "Unit Separator" }), a({ "en-gb": "Vertical Bar" });
|
|
12
|
+
const v = [",", ";", " ", "|", " ", ":", "_", "!", "0x1F", "0x1E"];
|
|
13
|
+
class y extends Error {
|
|
175
14
|
locator;
|
|
176
15
|
/** Logical source of the error. */
|
|
177
16
|
constructor(t, i, s) {
|
|
178
17
|
super(t, s), this.name = new.target.name, this.locator = i;
|
|
179
18
|
}
|
|
180
19
|
}
|
|
181
|
-
let
|
|
20
|
+
let u = class extends y {
|
|
182
21
|
};
|
|
183
|
-
class
|
|
22
|
+
class C extends u {
|
|
184
23
|
body;
|
|
185
24
|
/** Sanitized HTTP response body. */
|
|
186
25
|
constructor(t, i, s, d) {
|
|
187
|
-
super(t, i, d), this.name = new.target.name, this.body =
|
|
26
|
+
super(t, i, d), this.name = new.target.name, this.body = w(s ?? void 0);
|
|
188
27
|
}
|
|
189
28
|
}
|
|
190
|
-
class
|
|
29
|
+
class g extends y {
|
|
191
30
|
}
|
|
192
|
-
async function
|
|
31
|
+
async function h(e, t, i) {
|
|
193
32
|
const s = ` - ${e.statusText}`, d = `${t} Response status '${e.status}${e.statusText ? s : ""}' received.`;
|
|
194
33
|
let o;
|
|
195
34
|
try {
|
|
196
35
|
o = await e.text();
|
|
197
|
-
} catch (
|
|
198
|
-
o = `<body unavailable: ${
|
|
36
|
+
} catch (n) {
|
|
37
|
+
o = `<body unavailable: ${r(n).message}>`;
|
|
199
38
|
}
|
|
200
|
-
return new
|
|
39
|
+
return new C(d, i, o);
|
|
201
40
|
}
|
|
202
|
-
function
|
|
41
|
+
function r(e) {
|
|
203
42
|
if (e instanceof Error) return e;
|
|
204
43
|
if (typeof e == "string") return new Error(e);
|
|
205
44
|
if (typeof e == "number" || typeof e == "boolean" || typeof e == "bigint") return new Error(String(e));
|
|
@@ -212,23 +51,23 @@ function f(e) {
|
|
|
212
51
|
}
|
|
213
52
|
return new Error("Unknown error");
|
|
214
53
|
}
|
|
215
|
-
function
|
|
54
|
+
function w(e) {
|
|
216
55
|
if (!(e == null || e === ""))
|
|
217
56
|
return e.length > 2048 ? `${e.slice(0, 2048)}... [truncated]` : e;
|
|
218
57
|
}
|
|
219
|
-
function
|
|
58
|
+
function E(e) {
|
|
220
59
|
if (e) {
|
|
221
60
|
const t = e.lastIndexOf("/"), i = e.lastIndexOf(".", t === -1 ? e.length : t);
|
|
222
61
|
return i === -1 ? e : e.slice(0, Math.max(0, i));
|
|
223
62
|
}
|
|
224
63
|
}
|
|
225
|
-
function
|
|
64
|
+
function P(e) {
|
|
226
65
|
if (e) {
|
|
227
66
|
const t = e.lastIndexOf(".");
|
|
228
67
|
if (t !== -1) return e.slice(Math.max(0, t + 1));
|
|
229
68
|
}
|
|
230
69
|
}
|
|
231
|
-
function
|
|
70
|
+
function R(e) {
|
|
232
71
|
switch (e) {
|
|
233
72
|
case "csv":
|
|
234
73
|
return "text/csv";
|
|
@@ -243,32 +82,32 @@ function H(e) {
|
|
|
243
82
|
return "application/octet-stream";
|
|
244
83
|
}
|
|
245
84
|
}
|
|
246
|
-
async function
|
|
85
|
+
async function m(e, t) {
|
|
247
86
|
const i = `datapos-tool-${t}`, s = e.find((o) => o.id === i);
|
|
248
87
|
if (!s) throw new Error(`Connector could not load unknown tool '${t}'.`);
|
|
249
88
|
const d = await import(`https://engine-eu.datapos.app/tools/${t}_v${s.version}/${i}.es.js`);
|
|
250
89
|
return new d.Tool();
|
|
251
90
|
}
|
|
252
|
-
const
|
|
253
|
-
id:
|
|
254
|
-
label:
|
|
255
|
-
description:
|
|
256
|
-
category:
|
|
257
|
-
categoryId:
|
|
258
|
-
implementations:
|
|
259
|
-
icon:
|
|
260
|
-
iconDark:
|
|
261
|
-
lastUpdatedAt:
|
|
262
|
-
operations:
|
|
263
|
-
status:
|
|
264
|
-
statusId:
|
|
265
|
-
typeId:
|
|
266
|
-
usageId:
|
|
267
|
-
vendorAccountURL:
|
|
268
|
-
vendorDocumentationURL:
|
|
269
|
-
vendorHomeURL:
|
|
270
|
-
version:
|
|
271
|
-
},
|
|
91
|
+
const S = "datapos-connector-file-store-emulator", T = { en: "File Store Emulator" }, x = { "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." }, k = null, _ = "fileStore", F = { default: { authMethodId: "none", maxConnectionCount: 1 } }, O = '<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>', U = '<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>', N = null, L = ["abortOperation", "findObjectFolderPath", "getReadableStream", "listNodes", "previewObject", "retrieveRecords"], D = null, V = "beta", B = "connector", G = "source", q = null, H = null, Z = null, K = "0.2.396", Q = {
|
|
92
|
+
id: S,
|
|
93
|
+
label: T,
|
|
94
|
+
description: x,
|
|
95
|
+
category: k,
|
|
96
|
+
categoryId: _,
|
|
97
|
+
implementations: F,
|
|
98
|
+
icon: O,
|
|
99
|
+
iconDark: U,
|
|
100
|
+
lastUpdatedAt: N,
|
|
101
|
+
operations: L,
|
|
102
|
+
status: D,
|
|
103
|
+
statusId: V,
|
|
104
|
+
typeId: B,
|
|
105
|
+
usageId: G,
|
|
106
|
+
vendorAccountURL: q,
|
|
107
|
+
vendorDocumentationURL: H,
|
|
108
|
+
vendorHomeURL: Z,
|
|
109
|
+
version: K
|
|
110
|
+
}, b = {
|
|
272
111
|
"": [{ id: "cpB45vx36UWghglh18MUS", lastModifiedAt: 17435076862165598e-4, name: "ENGAGEMENT_START_EVENTS_202405121858.csv", size: 122800, typeId: "object" }, { id: "GUIHoZJcLIFZ6B7A1bu0r", lastModifiedAt: 1743507686221789e-3, name: "PEOPLE_BIRTH_EVENTS_202405121857.csv", size: 114287, typeId: "object" }, { childCount: 3, name: "AUDATACY Interchange Format", typeId: "folder" }, { childCount: 12, name: "Formula 1", typeId: "folder" }, { childCount: 7, name: "Salesforce API", typeId: "folder" }, { childCount: 156, name: "Salesforce Extract", typeId: "folder" }, { childCount: 20, name: "SAP Employee Central Extract", typeId: "folder" }, { childCount: 7, name: "SAP SuccessFactors API", typeId: "folder" }, { childCount: 12, name: "Test Files", typeId: "folder" }],
|
|
273
112
|
"/AUDATACY Interchange Format": [{ childCount: 11, name: "Coded Data", typeId: "folder" }, { childCount: 1, name: "Human Resources", typeId: "folder" }, { childCount: 1, name: "Party", typeId: "folder" }],
|
|
274
113
|
"/AUDATACY Interchange Format/Coded Data": [{ id: "Z8DTYiYrKBZfGOuEkFky-", lastModifiedAt: 17435076862152952e-4, name: "01. Coded Data - All.csv", size: 13002, typeId: "object" }, { id: "DxA6huk0PyVLKb5oahZCH", lastModifiedAt: 17435076862153406e-4, name: "02. Coded Types - All.csv", size: 93, typeId: "object" }, { id: "1J2vcD7Ki52Q_DG1PZ-eO", lastModifiedAt: 1743507686215382e-3, name: "03. Coded Types - Ids.csv", size: 48, typeId: "object" }, { id: "vO4JrnCBNyas7n5ojey6d", lastModifiedAt: 1743507686215424e-3, name: "04. Coded Types - Labels - Linked by Id.csv", size: 101, typeId: "object" }, { id: "UPRrNFmfmyi1iUWiNVs5n", lastModifiedAt: 17435076862154666e-4, name: "05. Coded Types - Labels - Linked by Alternate Id.csv", size: 96, typeId: "object" }, { id: "P1rsyePqZ4WTCEdG60oZS", lastModifiedAt: 17435076862155642e-4, name: "06. Coded Values - All - Linked by Id.csv", size: 9502, typeId: "object" }, { id: "Z0NjfhIPTWHdGr-P_YH-c", lastModifiedAt: 17435076862156377e-4, name: "07. Coded Values - All - Linked by Alternate Id.csv", size: 7269, typeId: "object" }, { id: "hOqs9LVlYV6j40N7cGU-a", lastModifiedAt: 1743507686215698e-3, name: "08. Coded Values - Ids - Linked by Id.csv", size: 5524, typeId: "object" }, { id: "xKX3X-CkYz-Xir8uizU4k", lastModifiedAt: 17435076862157522e-4, name: "09. Coded Values - Ids - Linked by Alternate Id.csv", size: 3291, typeId: "object" }, { id: "FflxZi-9hBI_Ej4bLUAv_", lastModifiedAt: 17435076862158354e-4, name: "10. Coded Values - Labels - Linked by Id.csv", size: 9752, typeId: "object" }, { id: "vw2hHCyZ6kkVOez7D8iMs", lastModifiedAt: 17435076862159062e-4, name: "11. Coded Values - Labels - Linked by Alternate Id.csv", size: 7512, typeId: "object" }],
|
|
@@ -287,28 +126,28 @@ const Z = "datapos-connector-file-store-emulator", K = { en: "File Store Emulato
|
|
|
287
126
|
"/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" }],
|
|
288
127
|
"/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" }]
|
|
289
128
|
};
|
|
290
|
-
let
|
|
291
|
-
async function
|
|
292
|
-
const { add_my_numbers: i } = await
|
|
129
|
+
let I;
|
|
130
|
+
async function J(e, t) {
|
|
131
|
+
const { add_my_numbers: i } = await A();
|
|
293
132
|
console.log(1111, e, t);
|
|
294
133
|
const s = i(Math.trunc(e), Math.trunc(t));
|
|
295
134
|
return console.log(2222, s), s;
|
|
296
135
|
}
|
|
297
|
-
async function
|
|
298
|
-
const { checksum_from_rust: t } = await
|
|
136
|
+
async function X(e) {
|
|
137
|
+
const { checksum_from_rust: t } = await A();
|
|
299
138
|
return t(e);
|
|
300
139
|
}
|
|
301
|
-
async function
|
|
302
|
-
return
|
|
140
|
+
async function A() {
|
|
141
|
+
return I ??= import("./datapos_connector_file_store_emulator_core-CBVDrOML.js"), I;
|
|
303
142
|
}
|
|
304
|
-
const
|
|
305
|
-
class
|
|
143
|
+
const p = "https://sample-data-eu.datapos.app";
|
|
144
|
+
class ee {
|
|
306
145
|
abortController;
|
|
307
146
|
config;
|
|
308
|
-
|
|
147
|
+
engineUtilities;
|
|
309
148
|
toolConfigs;
|
|
310
149
|
constructor(t, i) {
|
|
311
|
-
this.abortController = void 0, this.config =
|
|
150
|
+
this.abortController = void 0, this.config = Q, this.engineUtilities = t, this.toolConfigs = i;
|
|
312
151
|
}
|
|
313
152
|
//━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
314
153
|
//#region: Operations.
|
|
@@ -322,9 +161,9 @@ class Ie {
|
|
|
322
161
|
* Find the folder path containing the specified object node.
|
|
323
162
|
*/
|
|
324
163
|
findObjectFolderPath(t, i) {
|
|
325
|
-
const s =
|
|
164
|
+
const s = b;
|
|
326
165
|
for (const d in s)
|
|
327
|
-
if (Object.hasOwn(s, d) && s[d]?.find((
|
|
166
|
+
if (Object.hasOwn(s, d) && s[d]?.find((c) => c.typeId === "object" && c.id === i.nodeId))
|
|
328
167
|
return Promise.resolve(d);
|
|
329
168
|
return Promise.resolve(null);
|
|
330
169
|
}
|
|
@@ -334,15 +173,15 @@ class Ie {
|
|
|
334
173
|
async getReadableStream(t, i) {
|
|
335
174
|
const { signal: s } = t.abortController = new AbortController();
|
|
336
175
|
try {
|
|
337
|
-
const d = await fetch(`${
|
|
176
|
+
const d = await fetch(`${p}/fileStore${i.path}`, { signal: s });
|
|
338
177
|
if (!d.ok)
|
|
339
|
-
throw await
|
|
178
|
+
throw await h(d, `Failed to fetch '${i.path}' file.`, "datapos-connector-file-store-emulator|Connector|getReadableStream");
|
|
340
179
|
if (d.body == null)
|
|
341
|
-
throw new
|
|
342
|
-
const o = await
|
|
343
|
-
return console.log("sum",
|
|
180
|
+
throw new g("Readable streams are not supported in this runtime.", "datapos-connector-file-store-emulator|Connector|getReadableStream.unsupported");
|
|
181
|
+
const o = await J(12, 56), n = await X(t.config.version);
|
|
182
|
+
return console.log("sum", n, o), await Promise.resolve(d.body);
|
|
344
183
|
} catch (d) {
|
|
345
|
-
throw
|
|
184
|
+
throw r(d);
|
|
346
185
|
} finally {
|
|
347
186
|
t.abortController = void 0;
|
|
348
187
|
}
|
|
@@ -351,9 +190,9 @@ class Ie {
|
|
|
351
190
|
* Lists all nodes (folders and objects) in the specified folder path.
|
|
352
191
|
*/
|
|
353
192
|
listNodes(t, i) {
|
|
354
|
-
const d =
|
|
355
|
-
for (const
|
|
356
|
-
|
|
193
|
+
const d = b[i.folderPath] ?? [], o = [];
|
|
194
|
+
for (const n of d)
|
|
195
|
+
n.typeId === "folder" ? o.push(Y(i.folderPath, n.name, n.childCount)) : o.push(W(i.folderPath, n.id, n.name, n.lastModifiedAt, n.size));
|
|
357
196
|
return Promise.resolve({ cursor: void 0, isMore: !1, connectionNodeConfigs: o, totalCount: o.length });
|
|
358
197
|
}
|
|
359
198
|
/**
|
|
@@ -362,30 +201,30 @@ class Ie {
|
|
|
362
201
|
async previewObject(t, i) {
|
|
363
202
|
const { signal: s } = t.abortController = new AbortController();
|
|
364
203
|
try {
|
|
365
|
-
const d = Date.now(), o = performance.now(),
|
|
366
|
-
if (
|
|
367
|
-
if (
|
|
204
|
+
const d = Date.now(), o = performance.now(), c = await (await m(t.toolConfigs, "file-operators")).previewFile(`${p}/fileStore${i.path}`, s, i.chunkSize);
|
|
205
|
+
if (c.dataFormatId == null) throw new Error("Connector unable to process files of this type.");
|
|
206
|
+
if (c.text == null)
|
|
368
207
|
throw new Error("File is empty.");
|
|
369
|
-
const
|
|
370
|
-
console.log(1111, this.
|
|
371
|
-
const
|
|
208
|
+
const f = await (await m(t.toolConfigs, "csv-parse")).determineSchemaConfig(this.engineUtilities, c.text, v);
|
|
209
|
+
console.log(1111, this.engineUtilities);
|
|
210
|
+
const M = performance.now() - o;
|
|
372
211
|
return {
|
|
373
212
|
asAt: d,
|
|
374
213
|
columnConfigs: [],
|
|
375
|
-
dataFormatId:
|
|
376
|
-
duration:
|
|
377
|
-
encodingId:
|
|
378
|
-
encodingConfidenceLevel:
|
|
379
|
-
fileType:
|
|
214
|
+
dataFormatId: c.dataFormatId,
|
|
215
|
+
duration: M,
|
|
216
|
+
encodingId: c.encodingId,
|
|
217
|
+
encodingConfidenceLevel: c.encodingConfidenceLevel,
|
|
218
|
+
fileType: c.fileTypeConfig,
|
|
380
219
|
hasHeaders: void 0,
|
|
381
|
-
recordDelimiterId:
|
|
220
|
+
recordDelimiterId: f.recordDelimiterId,
|
|
382
221
|
records: [],
|
|
383
|
-
size:
|
|
384
|
-
text:
|
|
385
|
-
valueDelimiterId:
|
|
222
|
+
size: c.bytes.length,
|
|
223
|
+
text: c.text,
|
|
224
|
+
valueDelimiterId: f.valueDelimiterId
|
|
386
225
|
};
|
|
387
226
|
} catch (d) {
|
|
388
|
-
throw
|
|
227
|
+
throw r(d);
|
|
389
228
|
} finally {
|
|
390
229
|
t.abortController = void 0;
|
|
391
230
|
}
|
|
@@ -396,24 +235,24 @@ class Ie {
|
|
|
396
235
|
async retrieveRecords(t, i, s, d) {
|
|
397
236
|
t.abortController = new AbortController();
|
|
398
237
|
try {
|
|
399
|
-
const o = await
|
|
400
|
-
d(
|
|
238
|
+
const o = await m(t.toolConfigs, "csv-parse"), n = { delimiter: i.valueDelimiterId, info: !0, relax_column_count: !0, relax_quotes: !0 }, c = `${p}/fileStore${i.path}`, l = await o.parseStream(i, n, c, t.abortController, s);
|
|
239
|
+
d(l);
|
|
401
240
|
} catch (o) {
|
|
402
|
-
throw
|
|
241
|
+
throw r(o);
|
|
403
242
|
} finally {
|
|
404
243
|
t.abortController = void 0;
|
|
405
244
|
}
|
|
406
245
|
}
|
|
407
246
|
//#endregion ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
408
247
|
}
|
|
409
|
-
function
|
|
410
|
-
return { id:
|
|
248
|
+
function Y(e, t, i) {
|
|
249
|
+
return { id: j(), childCount: i, extension: void 0, folderPath: e, label: t, name: t, typeId: "folder" };
|
|
411
250
|
}
|
|
412
|
-
function
|
|
413
|
-
const o =
|
|
414
|
-
return { id: t, extension:
|
|
251
|
+
function W(e, t, i, s, d) {
|
|
252
|
+
const o = E(i) ?? "", n = P(i), c = s, l = R(n);
|
|
253
|
+
return { id: t, extension: n, folderPath: e, label: i, lastModifiedAt: c, mimeType: l, name: o, size: d, typeId: "object" };
|
|
415
254
|
}
|
|
416
255
|
export {
|
|
417
|
-
|
|
256
|
+
ee as Connector
|
|
418
257
|
};
|
|
419
258
|
//# sourceMappingURL=datapos-connector-file-store-emulator.es.js.map
|
|
@@ -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/locale-CPeRw0Am.js","../node_modules/@datapos/datapos-shared/dist/datapos-shared.es.js","../node_modules/@datapos/datapos-shared/dist/datapos-shared-errors.es.js","../node_modules/@datapos/datapos-shared/dist/datapos-shared-utilities.es.js","../node_modules/@datapos/datapos-shared/dist/datapos-shared-tools.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 k;\n// @__NO_SIDE_EFFECTS__\nfunction I(n) {\n return {\n lang: n?.lang ?? k?.lang,\n message: n?.message,\n abortEarly: n?.abortEarly ?? k?.abortEarly,\n abortPipeEarly: n?.abortPipeEarly ?? k?.abortPipeEarly\n };\n}\nlet _;\n// @__NO_SIDE_EFFECTS__\nfunction A(n) {\n return _?.get(n);\n}\nlet C;\n// @__NO_SIDE_EFFECTS__\nfunction O(n) {\n return C?.get(n);\n}\nlet P;\n// @__NO_SIDE_EFFECTS__\nfunction G(n, t) {\n return P?.get(n)?.get(t);\n}\n// @__NO_SIDE_EFFECTS__\nfunction D(n) {\n const t = typeof n;\n return t === \"string\" ? `\"${n}\"` : t === \"number\" || t === \"bigint\" || t === \"boolean\" ? `${n}` : t === \"object\" || t === \"function\" ? (n && Object.getPrototypeOf(n)?.constructor?.name) ?? \"null\" : t;\n}\nfunction f(n, t, e, s, i) {\n const r = i && \"input\" in i ? i.input : e.value, u = i?.expected ?? n.expects ?? null, a = i?.received ?? /* @__PURE__ */ D(r), l = {\n kind: n.kind,\n type: n.type,\n input: r,\n expected: u,\n received: a,\n message: `Invalid ${t}: ${u ? `Expected ${u} but r` : \"R\"}eceived ${a}`,\n requirement: n.requirement,\n path: i?.path,\n issues: i?.issues,\n lang: s.lang,\n abortEarly: s.abortEarly,\n abortPipeEarly: s.abortPipeEarly\n }, c = n.kind === \"schema\", p = i?.message ?? n.message ?? /* @__PURE__ */ G(n.reference, l.lang) ?? (c ? /* @__PURE__ */ O(l.lang) : null) ?? s.message ?? /* @__PURE__ */ A(l.lang);\n p !== void 0 && (l.message = typeof p == \"function\" ? p(l) : p), c && (e.typed = !1), e.issues ? e.issues.push(l) : e.issues = [l];\n}\n// @__NO_SIDE_EFFECTS__\nfunction y(n) {\n return {\n version: 1,\n vendor: \"valibot\",\n validate(t) {\n return n[\"~run\"]({ value: t }, /* @__PURE__ */ I());\n }\n };\n}\n// @__NO_SIDE_EFFECTS__\nfunction w(n, t) {\n return Object.hasOwn(n, t) && t !== \"__proto__\" && t !== \"prototype\" && t !== \"constructor\";\n}\n// @__NO_SIDE_EFFECTS__\nfunction L(n, t) {\n const e = [...new Set(n)];\n return e.length > 1 ? `(${e.join(` ${t} `)})` : e[0] ?? \"never\";\n}\n// @__NO_SIDE_EFFECTS__\nfunction F(n, t, e) {\n return typeof n.fallback == \"function\" ? n.fallback(t, e) : n.fallback;\n}\n// @__NO_SIDE_EFFECTS__\nfunction x(n, t, e) {\n return typeof n.default == \"function\" ? n.default(t, e) : n.default;\n}\n// @__NO_SIDE_EFFECTS__\nfunction R(n, t) {\n return {\n kind: \"schema\",\n type: \"array\",\n reference: R,\n expects: \"Array\",\n async: !1,\n item: n,\n message: t,\n get \"~standard\"() {\n return /* @__PURE__ */ y(this);\n },\n \"~run\"(e, s) {\n const i = e.value;\n if (Array.isArray(i)) {\n e.typed = !0, e.value = [];\n for (let r = 0; r < i.length; r++) {\n const u = i[r], a = this.item[\"~run\"]({ value: u }, s);\n if (a.issues) {\n const l = {\n type: \"array\",\n origin: \"value\",\n input: i,\n key: r,\n value: u\n };\n for (const c of a.issues)\n c.path ? c.path.unshift(l) : c.path = [l], e.issues?.push(c);\n if (e.issues || (e.issues = a.issues), s.abortEarly) {\n e.typed = !1;\n break;\n }\n }\n a.typed || (e.typed = !1), e.value.push(a.value);\n }\n } else f(this, \"type\", e, s);\n return e;\n }\n };\n}\n// @__NO_SIDE_EFFECTS__\nfunction U(n) {\n return {\n kind: \"schema\",\n type: \"boolean\",\n reference: U,\n expects: \"boolean\",\n async: !1,\n message: n,\n get \"~standard\"() {\n return /* @__PURE__ */ y(this);\n },\n \"~run\"(t, e) {\n return typeof t.value == \"boolean\" ? t.typed = !0 : f(this, \"type\", t, e), t;\n }\n };\n}\n// @__NO_SIDE_EFFECTS__\nfunction M(n, t) {\n return {\n kind: \"schema\",\n type: \"literal\",\n reference: M,\n expects: /* @__PURE__ */ D(n),\n async: !1,\n literal: n,\n message: t,\n get \"~standard\"() {\n return /* @__PURE__ */ y(this);\n },\n \"~run\"(e, s) {\n return e.value === this.literal ? e.typed = !0 : f(this, \"type\", e, s), e;\n }\n };\n}\n// @__NO_SIDE_EFFECTS__\nfunction v(n, t) {\n return {\n kind: \"schema\",\n type: \"nullable\",\n reference: v,\n expects: `(${n.expects} | null)`,\n async: !1,\n wrapped: n,\n default: t,\n get \"~standard\"() {\n return /* @__PURE__ */ y(this);\n },\n \"~run\"(e, s) {\n return e.value === null && (this.default !== void 0 && (e.value = /* @__PURE__ */ x(this, e, s)), e.value === null) ? (e.typed = !0, e) : this.wrapped[\"~run\"](e, s);\n }\n };\n}\n// @__NO_SIDE_EFFECTS__\nfunction m(n) {\n return {\n kind: \"schema\",\n type: \"number\",\n reference: m,\n expects: \"number\",\n async: !1,\n message: n,\n get \"~standard\"() {\n return /* @__PURE__ */ y(this);\n },\n \"~run\"(t, e) {\n return typeof t.value == \"number\" && !isNaN(t.value) ? t.typed = !0 : f(this, \"type\", t, e), t;\n }\n };\n}\n// @__NO_SIDE_EFFECTS__\nfunction d(n, t) {\n return {\n kind: \"schema\",\n type: \"object\",\n reference: d,\n expects: \"Object\",\n async: !1,\n entries: n,\n message: t,\n get \"~standard\"() {\n return /* @__PURE__ */ y(this);\n },\n \"~run\"(e, s) {\n const i = e.value;\n if (i && typeof i == \"object\") {\n e.typed = !0, e.value = {};\n for (const r in this.entries) {\n const u = this.entries[r];\n if (r in i || (u.type === \"exact_optional\" || u.type === \"optional\" || u.type === \"nullish\") && u.default !== void 0) {\n const a = r in i ? i[r] : /* @__PURE__ */ x(u), l = u[\"~run\"]({ value: a }, s);\n if (l.issues) {\n const c = {\n type: \"object\",\n origin: \"value\",\n input: i,\n key: r,\n value: a\n };\n for (const p of l.issues)\n p.path ? p.path.unshift(c) : p.path = [c], e.issues?.push(p);\n if (e.issues || (e.issues = l.issues), s.abortEarly) {\n e.typed = !1;\n break;\n }\n }\n l.typed || (e.typed = !1), e.value[r] = l.value;\n } else if (u.fallback !== void 0) e.value[r] = /* @__PURE__ */ F(u);\n else if (u.type !== \"exact_optional\" && u.type !== \"optional\" && u.type !== \"nullish\" && (f(this, \"key\", e, s, {\n input: void 0,\n expected: `\"${r}\"`,\n path: [{\n type: \"object\",\n origin: \"key\",\n input: i,\n key: r,\n value: i[r]\n }]\n }), s.abortEarly))\n break;\n }\n } else f(this, \"type\", e, s);\n return e;\n }\n };\n}\n// @__NO_SIDE_EFFECTS__\nfunction b(n, t) {\n return {\n kind: \"schema\",\n type: \"optional\",\n reference: b,\n expects: `(${n.expects} | undefined)`,\n async: !1,\n wrapped: n,\n default: t,\n get \"~standard\"() {\n return /* @__PURE__ */ y(this);\n },\n \"~run\"(e, s) {\n return e.value === void 0 && (this.default !== void 0 && (e.value = /* @__PURE__ */ x(this, e, s)), e.value === void 0) ? (e.typed = !0, e) : this.wrapped[\"~run\"](e, s);\n }\n };\n}\n// @__NO_SIDE_EFFECTS__\nfunction V(n, t, e) {\n return {\n kind: \"schema\",\n type: \"record\",\n reference: V,\n expects: \"Object\",\n async: !1,\n key: n,\n value: t,\n message: e,\n get \"~standard\"() {\n return /* @__PURE__ */ y(this);\n },\n \"~run\"(s, i) {\n const r = s.value;\n if (r && typeof r == \"object\") {\n s.typed = !0, s.value = {};\n for (const u in r) if (/* @__PURE__ */ w(r, u)) {\n const a = r[u], l = this.key[\"~run\"]({ value: u }, i);\n if (l.issues) {\n const p = {\n type: \"object\",\n origin: \"key\",\n input: r,\n key: u,\n value: a\n };\n for (const h of l.issues)\n h.path = [p], s.issues?.push(h);\n if (s.issues || (s.issues = l.issues), i.abortEarly) {\n s.typed = !1;\n break;\n }\n }\n const c = this.value[\"~run\"]({ value: a }, i);\n if (c.issues) {\n const p = {\n type: \"object\",\n origin: \"value\",\n input: r,\n key: u,\n value: a\n };\n for (const h of c.issues)\n h.path ? h.path.unshift(p) : h.path = [p], s.issues?.push(h);\n if (s.issues || (s.issues = c.issues), i.abortEarly) {\n s.typed = !1;\n break;\n }\n }\n (!l.typed || !c.typed) && (s.typed = !1), l.typed && (s.value[l.value] = c.value);\n }\n } else f(this, \"type\", s, i);\n return s;\n }\n };\n}\n// @__NO_SIDE_EFFECTS__\nfunction o(n) {\n return {\n kind: \"schema\",\n type: \"string\",\n reference: o,\n expects: \"string\",\n async: !1,\n message: n,\n get \"~standard\"() {\n return /* @__PURE__ */ y(this);\n },\n \"~run\"(t, e) {\n return typeof t.value == \"string\" ? t.typed = !0 : f(this, \"type\", t, e), t;\n }\n };\n}\n// @__NO_SIDE_EFFECTS__\nfunction S(n) {\n let t;\n if (n) for (const e of n) t ? t.push(...e.issues) : t = e.issues;\n return t;\n}\n// @__NO_SIDE_EFFECTS__\nfunction j(n, t) {\n return {\n kind: \"schema\",\n type: \"union\",\n reference: j,\n expects: /* @__PURE__ */ L(n.map((e) => e.expects), \"|\"),\n async: !1,\n options: n,\n message: t,\n get \"~standard\"() {\n return /* @__PURE__ */ y(this);\n },\n \"~run\"(e, s) {\n let i, r, u;\n for (const a of this.options) {\n const l = a[\"~run\"]({ value: e.value }, s);\n if (l.typed) if (l.issues) r ? r.push(l) : r = [l];\n else {\n i = l;\n break;\n }\n else u ? u.push(l) : u = [l];\n }\n if (i) return i;\n if (r) {\n if (r.length === 1) return r[0];\n f(this, \"type\", e, s, { issues: /* @__PURE__ */ S(r) }), e.typed = !0;\n } else {\n if (u?.length === 1) return u[0];\n f(this, \"type\", e, s, { issues: /* @__PURE__ */ S(u) });\n }\n return e;\n }\n };\n}\nconst E = (n) => /* @__PURE__ */ j(n.map((t) => /* @__PURE__ */ M(t))), Q = /* @__PURE__ */ d({\n \"en-au\": /* @__PURE__ */ o(),\n \"en-gb\": /* @__PURE__ */ o(),\n \"en-us\": /* @__PURE__ */ o(),\n \"es-es\": /* @__PURE__ */ o()\n}), g = /* @__PURE__ */ d({\n \"en-au\": /* @__PURE__ */ b(/* @__PURE__ */ o()),\n \"en-gb\": /* @__PURE__ */ b(/* @__PURE__ */ o()),\n \"en-us\": /* @__PURE__ */ b(/* @__PURE__ */ o()),\n \"es-es\": /* @__PURE__ */ b(/* @__PURE__ */ o())\n}), q = E([\"amber\", \"green\", \"red\", \"other\"]), K = E([\n \"alpha\",\n \"beta\",\n \"generalAvailability\",\n \"notApplicable\",\n \"preAlpha\",\n \"proposed\",\n \"releaseCandidate\",\n \"unavailable\",\n \"underReview\"\n]), N = E([\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]), T = /* @__PURE__ */ d({\n id: /* @__PURE__ */ o(),\n color: q,\n label: /* @__PURE__ */ o()\n}), H = {\n id: /* @__PURE__ */ o(),\n label: g,\n description: g,\n firstCreatedAt: /* @__PURE__ */ b(/* @__PURE__ */ m()),\n icon: /* @__PURE__ */ v(/* @__PURE__ */ o()),\n iconDark: /* @__PURE__ */ v(/* @__PURE__ */ o()),\n lastUpdatedAt: /* @__PURE__ */ v(/* @__PURE__ */ m()),\n status: /* @__PURE__ */ v(T),\n statusId: K\n}, z = /* @__PURE__ */ d({\n ...H,\n typeId: N\n}), B = /* @__PURE__ */ d({\n id: /* @__PURE__ */ o(),\n label: g,\n description: g,\n icon: /* @__PURE__ */ v(/* @__PURE__ */ o()),\n iconDark: /* @__PURE__ */ v(/* @__PURE__ */ o()),\n order: /* @__PURE__ */ m(),\n path: /* @__PURE__ */ o()\n}), J = \"en-gb\";\nexport {\n J as D,\n H as a,\n R as b,\n z as c,\n M as d,\n b as e,\n m as f,\n Q as g,\n U as h,\n B as i,\n E as l,\n v as n,\n d as o,\n g as p,\n V as r,\n o as s\n};\n","import { l as d, o as r, b as s, d as i, f as m, a as p, i as b, D as a } from \"./locale-CPeRw0Am.js\";\nimport { m as g } from \"./moduleConfig.schema-ElDY1bZx.js\";\nconst u = d([\"list\"]), f = r({\n ...p,\n typeId: i(\"contextModelGroup\"),\n modelRefs: s(b),\n order: m()\n}), v = r({\n ...g,\n typeId: i(\"context\"),\n models: s(f),\n operations: s(u)\n}), C = d([\"list\", \"render\", \"setColorMode\"]), y = r({\n ...g,\n typeId: i(\"presenter\"),\n presentations: s(b),\n operations: s(C)\n});\nfunction F() {\n return { render: S };\n}\nfunction S(t, o, n) {\n n.textContent = \"Cytoscape.js diagram goes here...\";\n}\nfunction M() {\n return { render: x };\n}\nfunction x(t, o) {\n console.log(1111, t), console.log(2222, o), console.log(3333, o.childNodes), console.log(4444, o.children);\n}\nconst e = (t) => new Map(Object.entries(t)), c = (t, o, n = a) => {\n const l = t.get(o);\n if (l !== void 0) return l;\n if (n !== o)\n return t.get(n);\n}, D = [\n { id: \"dtv\", labels: e({ \"en-gb\": \"Delimited Text\" }) },\n { id: \"e/e\", labels: e({ \"en-gb\": \"Entity/Event\" }) },\n { id: \"json\", labels: e({ \"en-gb\": \"JSON\" }) },\n { id: \"spss\", labels: e({ \"en-gb\": \"SPSS\" }) },\n { id: \"xls\", labels: e({ \"en-gb\": \"XLS\" }) },\n { id: \"xlsx\", labels: e({ \"en-gb\": \"XLSX\" }) },\n { id: \"xml\", labels: e({ \"en-gb\": \"XML\" }) }\n], O = (t = a) => {\n const o = [];\n for (const n of D) {\n const l = c(n.labels, t);\n o.push({ id: n.id, label: l ?? n.id });\n }\n return o;\n}, E = [\n { id: `\n`, labels: e({ \"en-gb\": \"Newline\" }) },\n { id: \"\\r\", labels: e({ \"en-gb\": \"Carriage Return\" }) },\n { id: `\\r\n`, labels: e({ \"en-gb\": \"Carriage Return/Newline\" }) }\n], _ = (t = a) => {\n const o = [];\n for (const n of E) {\n const l = c(n.labels, t);\n o.push({ id: n.id, label: l ?? n.id });\n }\n return o;\n}, L = [\n { id: \":\", labels: e({ \"en-gb\": \"Colon\" }) },\n { id: \",\", labels: e({ \"en-gb\": \"Comma\" }) },\n { id: \"!\", labels: e({ \"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: e({ \"en-gb\": \"Record Separator\" }) },\n { id: \";\", labels: e({ \"en-gb\": \"Semicolon\" }) },\n { id: \" \", labels: e({ \"en-gb\": \"Space\" }) },\n { id: \"\t\", labels: e({ \"en-gb\": \"Tab\" }) },\n { id: \"_\", labels: e({ \"en-gb\": \"Underscore\" }) },\n { id: \"0x1F\", labels: e({ \"en-gb\": \"Unit Separator\" }) },\n { id: \"|\", labels: e({ \"en-gb\": \"Vertical Bar\" }) }\n], T = [\",\", \";\", \"\t\", \"|\", \" \", \":\", \"_\", \"!\", \"0x1F\", \"0x1E\"], U = (t = a) => {\n const o = [];\n for (const n of L) {\n const l = c(n.labels, t);\n o.push({ id: n.id, label: l ?? n.id });\n }\n return o;\n};\nexport {\n T as ORDERED_VALUE_DELIMITER_IDS,\n v as contextConfigSchema,\n O as getDataFormats,\n _ as getRecordDelimiters,\n U as getValueDelimiters,\n y as presenterConfigSchema,\n F as useCytoscapeJS,\n M as useDataTable\n};\n","class i extends Error {\n locator;\n /** Logical source of the error. */\n constructor(o, t, r) {\n super(o, r), this.name = new.target.name, this.locator = t;\n }\n}\nclass a extends i {\n}\nclass g extends a {\n}\nclass p extends a {\n}\nclass c extends a {\n body;\n /** Sanitized HTTP response body. */\n constructor(o, t, r, n) {\n super(o, t, n), this.name = new.target.name, this.body = E(r ?? void 0);\n }\n}\nclass y extends i {\n}\nclass m extends a {\n componentName;\n /** Vue component name, if available. */\n info;\n /** Vue error info string. */\n constructor(o, t, r, n, s) {\n super(o, t, s), this.name = new.target.name, this.info = r, this.componentName = n;\n }\n}\nclass w extends a {\n}\nclass h extends a {\n}\nasync function b(e, o, t) {\n const r = ` - ${e.statusText}`, n = `${o} Response status '${e.status}${e.statusText ? r : \"\"}' received.`;\n let s;\n try {\n s = await e.text();\n } catch (d) {\n s = `<body unavailable: ${l(d).message}>`;\n }\n return new c(n, t, s);\n}\nfunction k(e) {\n return e.map((o) => o.message).join(\" \");\n}\nfunction x(e) {\n try {\n e();\n } catch {\n }\n}\nfunction l(e) {\n if (e instanceof Error) return e;\n if (typeof e == \"string\") return new Error(e);\n if (typeof e == \"number\" || typeof e == \"boolean\" || typeof e == \"bigint\") return new Error(String(e));\n if (typeof e == \"symbol\") return new Error(e.description ?? \"Unknown error\");\n if (e != null && typeof e == \"object\")\n try {\n return new Error(JSON.stringify(e));\n } catch {\n return new Error(\"Unknown error\");\n }\n return new Error(\"Unknown error\");\n}\nfunction R(e) {\n const o = /* @__PURE__ */ new Set(), t = [];\n let r = e;\n for (; r != null && !o.has(r); ) {\n o.add(r);\n let n;\n if (r instanceof c)\n n = { componentName: void 0, body: r.body, info: void 0, locator: r.locator, message: r.message, name: r.name, stack: r.stack }, r = r.cause;\n else if (r instanceof m)\n n = {\n componentName: r.componentName,\n body: void 0,\n info: r.info,\n locator: r.locator,\n message: r.message,\n name: r.name,\n stack: r.stack\n }, r = r.cause;\n else if (r instanceof i)\n n = { componentName: void 0, body: void 0, info: void 0, locator: r.locator, message: r.message, name: r.name, stack: r.stack }, r = r.cause;\n else if (r instanceof Error) {\n const s = r;\n n = { componentName: void 0, body: void 0, info: void 0, locator: \"\", message: s.message, name: s.name, stack: s.stack }, r = s.cause;\n } else\n n = { componentName: void 0, body: void 0, info: void 0, locator: \"\", message: f(r), name: \"Error\", stack: void 0 }, r = void 0;\n /(?:\\.{3}|[.!?])$/.test(n.message) || (n.message += \".\"), t.push(n);\n }\n return t;\n}\nfunction f(e) {\n let o;\n try {\n o = JSON.stringify(e);\n } catch {\n typeof e == \"symbol\" ? o = e.description ?? \"Unknown error\" : typeof e == \"bigint\" ? o = e.toString() : o = \"Unknown error\";\n }\n return o === \"\" && (o = \"Unknown error\"), o;\n}\nfunction E(e) {\n if (!(e == null || e === \"\"))\n return e.length > 2048 ? `${e.slice(0, 2048)}... [truncated]` : e;\n}\nexport {\n g as APIError,\n a as ApplicationError,\n p as EngineError,\n c as FetchError,\n y as OperationalError,\n m as VueHandledError,\n h as WindowHandledPromiseRejectionError,\n w as WindowHandledRuntimeError,\n b as buildFetchError,\n k as concatenateSerialisedErrorMessages,\n x as ignoreErrors,\n l as normalizeToError,\n R as serialiseError\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","async function a(e, o) {\n const n = `datapos-tool-${o}`, t = e.find((r) => r.id === n);\n if (!t) throw new Error(`Connector could not load unknown tool '${o}'.`);\n const l = await import(`https://engine-eu.datapos.app/tools/${o}_v${t.version}/${n}.es.js`);\n return new l.Tool();\n}\nexport {\n a as loadTool\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/* TODO: Consider Cloudflare R2 Download URL: https://plugins-eu.datapositioning.app/connectors/datapos-connector-file-store-emulator-es.js.\n This would allow us to secure the bucket? */\n\n// Vendor dependencies.\nimport { nanoid } from 'nanoid';\n\n// Framework dependencies.\nimport type { Tool as CSVParseTool } from '@datapos/datapos-tool-csv-parse';\nimport type { DataViewPreviewConfig } from '@datapos/datapos-shared';\nimport type { EngineShared } from '@datapos/datapos-shared/engine';\nimport type { Tool as FileOperatorsTool } from '@datapos/datapos-tool-file-operators';\nimport { ORDERED_VALUE_DELIMITER_IDS } from '@datapos/datapos-shared';\nimport { buildFetchError, normalizeToError, OperationalError } from '@datapos/datapos-shared/errors';\nimport type {\n ConnectionNodeConfig,\n ConnectorConfig,\n ConnectorInterface,\n FindObjectFolderPathOptions,\n GetReadableStreamOptions,\n ListNodesOptions,\n ListNodesResult,\n PreviewObjectOptions,\n RetrieveRecordsOptions,\n RetrieveRecordsSummary\n} from '@datapos/datapos-shared/component/connector';\nimport { extractExtensionFromPath, extractNameFromPath, lookupMimeTypeForExtension } from '@datapos/datapos-shared/utilities';\nimport { loadTool, type ToolConfig } from '@datapos/datapos-shared/component/tool';\n\n// Data dependencies.\nimport config from '~/config.json';\nimport fileStoreFolderPathData from '@/fileStoreFolderPaths.json';\n\nimport { addNumbersWithRust, checksumWithRust } from '@/rustBridge';\n\n/**\n * File store folder paths.\n */\ntype FileStoreFolderNode =\n | ({ typeId: 'folder'; childCount: number } & { name: string })\n | ({ typeId: 'object'; id: string; lastModifiedAt: number; size: number } & { name: string });\ntype FileStoreFolderPaths = Record<string, FileStoreFolderNode[]>;\n\n// Constants.\nconst URL_PREFIX = 'https://sample-data-eu.datapos.app';\n\n/**\n * File store emulator connector.\n */\nclass Connector implements ConnectorInterface {\n abortController: AbortController | undefined;\n readonly config: ConnectorConfig;\n engineShared: EngineShared;\n readonly toolConfigs;\n\n constructor(engineShared: EngineShared, toolConfigs: ToolConfig[]) {\n this.abortController = undefined;\n this.config = config as ConnectorConfig;\n this.engineShared = engineShared;\n this.toolConfigs = toolConfigs;\n }\n\n //━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n //#region: Operations.\n\n /**\n * Abort the currently running operation.\n */\n abortOperation(connector: ConnectorInterface): void {\n if (!connector.abortController) return;\n connector.abortController.abort();\n connector.abortController = undefined;\n }\n\n /**\n * Find the folder path containing the specified object node.\n */\n findObjectFolderPath(connector: ConnectorInterface, options: FindObjectFolderPathOptions): Promise<string | null> {\n const fileStoreFolderPaths = fileStoreFolderPathData as FileStoreFolderPaths;\n // Loop through the folder path data checking for an object entry with an identifier equal to the object name.\n for (const folderPath in fileStoreFolderPaths) {\n if (Object.hasOwn(fileStoreFolderPaths, folderPath)) {\n // eslint-disable-next-line security/detect-object-injection\n const folderPathNodes = fileStoreFolderPaths[folderPath];\n const folderPathNode = folderPathNodes?.find((folderPathNode) => folderPathNode.typeId === 'object' && folderPathNode.id === options.nodeId);\n if (folderPathNode) return Promise.resolve(folderPath); // Found, return folder path.\n }\n }\n return Promise.resolve(null); // Not found.\n }\n\n /**\n * Get a readable stream for the specified object node path.\n */\n async getReadableStream(connector: ConnectorInterface, options: GetReadableStreamOptions): Promise<ReadableStream<Uint8Array>> {\n // Create an abort controller and extract its signal.\n const { signal } = (connector.abortController = new AbortController());\n\n try {\n const response = await fetch(`${URL_PREFIX}/fileStore${options.path}`, { signal });\n if (!response.ok) {\n throw await buildFetchError(response, `Failed to fetch '${options.path}' file.`, 'datapos-connector-file-store-emulator|Connector|getReadableStream');\n }\n if (response.body == null) {\n throw new OperationalError('Readable streams are not supported in this runtime.', 'datapos-connector-file-store-emulator|Connector|getReadableStream.unsupported');\n }\n\n // TODO: Remove after testing.\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(response.body);\n } catch (error) {\n throw normalizeToError(error);\n } finally {\n connector.abortController = undefined;\n }\n }\n\n /**\n * Lists all nodes (folders and objects) in the specified folder path.\n */\n listNodes(connector: ConnectorInterface, options: ListNodesOptions): Promise<ListNodesResult> {\n const fileStoreFolderPaths = fileStoreFolderPathData as FileStoreFolderPaths;\n const folderNodes = fileStoreFolderPaths[options.folderPath] ?? [];\n const connectionNodeConfigs: ConnectionNodeConfig[] = [];\n for (const folderNode of folderNodes) {\n if (folderNode.typeId === 'folder') {\n connectionNodeConfigs.push(constructFolderNodeConfig(options.folderPath, folderNode.name, folderNode.childCount));\n } else {\n connectionNodeConfigs.push(constructObjectNodeConfig(options.folderPath, folderNode.id, folderNode.name, folderNode.lastModifiedAt, folderNode.size));\n }\n }\n return Promise.resolve({ cursor: undefined, isMore: false, connectionNodeConfigs, totalCount: connectionNodeConfigs.length });\n }\n\n /**\n * Preview the contents of the object node with the specified path.\n */\n async previewObject(connector: ConnectorInterface, options: PreviewObjectOptions): Promise<DataViewPreviewConfig> {\n // Create an abort controller and extract its signal.\n const { signal } = (connector.abortController = new AbortController());\n\n try {\n const asAt = Date.now();\n const startedAt = performance.now();\n\n const fileOperatorsTool = await loadTool<FileOperatorsTool>(connector.toolConfigs, 'file-operators');\n const previewConfig = await fileOperatorsTool.previewFile(`${URL_PREFIX}/fileStore${options.path}`, signal, options.chunkSize);\n\n if (previewConfig.dataFormatId == null) throw new Error('Connector unable to process files of this type.');\n if (previewConfig.text == null) {\n throw new Error('File is empty.');\n }\n\n const csvParseTool = await loadTool<CSVParseTool>(connector.toolConfigs, 'csv-parse');\n const schemaConfig = await csvParseTool.determineSchemaConfig(previewConfig.text, ORDERED_VALUE_DELIMITER_IDS);\n console.log(1111, this.engineShared);\n\n const duration = performance.now() - startedAt;\n return {\n asAt,\n columnConfigs: [],\n dataFormatId: previewConfig.dataFormatId,\n duration,\n encodingId: previewConfig.encodingId,\n encodingConfidenceLevel: previewConfig.encodingConfidenceLevel,\n fileType: previewConfig.fileTypeConfig,\n hasHeaders: undefined,\n recordDelimiterId: schemaConfig.recordDelimiterId,\n records: [],\n size: previewConfig.bytes.length,\n text: previewConfig.text,\n valueDelimiterId: schemaConfig.valueDelimiterId\n };\n } catch (error) {\n throw normalizeToError(error);\n } finally {\n connector.abortController = undefined;\n }\n }\n /**\n * Retrieves all records from a CSV object node using streaming and chunked processing.\n */\n async retrieveRecords(\n connector: ConnectorInterface,\n options: RetrieveRecordsOptions,\n chunk: (records: (string[] | Record<string, unknown>)[]) => void,\n complete: (result: RetrieveRecordsSummary) => void\n ): Promise<void> {\n connector.abortController = new AbortController();\n\n try {\n const csvParseTool = await loadTool<CSVParseTool>(connector.toolConfigs, 'csv-parse');\n const parseStreamOptions = { delimiter: options.valueDelimiterId, info: true, relax_column_count: true, relax_quotes: true };\n const url = `${URL_PREFIX}/fileStore${options.path}`;\n const summary = await csvParseTool.parseStream(options, parseStreamOptions, url, connector.abortController, chunk);\n complete(summary);\n } catch (error) {\n throw normalizeToError(error);\n } finally {\n connector.abortController = undefined;\n }\n }\n\n //#endregion ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n}\n\n//━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n//#region: Helpers.\n\n/**\n * Construct folder node configuration.\n */\nfunction constructFolderNodeConfig(folderPath: string, name: string, childCount: number): ConnectionNodeConfig {\n return { id: nanoid(), childCount, extension: undefined, folderPath, label: name, name, typeId: 'folder' };\n}\n\n/**\n * Construct object (file) node configuration.\n */\nfunction 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//#endregion ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n\n// Exports.\nexport { Connector };\n"],"names":["urlAlphabet","nanoid","size","id","bytes","scopedUrlAlphabet","k","I","n","_","A","C","O","P","G","D","f","e","i","r","u","a","l","c","p","y","L","M","S","j","E","d","t","T","o","b","s","m","rustBindingsPromise","addNumbersWithRust","left","right","add_my_numbers","loadRustBindings","yyyy","checksumWithRust","input","checksum_from_rust","URL_PREFIX","Connector","engineShared","toolConfigs","config","connector","options","fileStoreFolderPaths","fileStoreFolderPathData","folderPath","folderPathNode","signal","response","buildFetchError","OperationalError","xxx","sum","error","normalizeToError","folderNodes","connectionNodeConfigs","folderNode","constructFolderNodeConfig","constructObjectNodeConfig","asAt","startedAt","previewConfig","loadTool","schemaConfig","ORDERED_VALUE_DELIMITER_IDS","duration","chunk","complete","csvParseTool","parseStreamOptions","url","summary","name","childCount","fullName","lastModifiedAt","extractNameFromPath","extension","extractExtensionFromPath","lastModifiedAtTimestamp","mimeType","lookupMimeTypeForExtension"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6]}
|
|
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-dataview.es.js","../node_modules/@datapos/datapos-shared/dist/datapos-shared-errors.es.js","../node_modules/@datapos/datapos-shared/dist/datapos-shared-utilities.es.js","../node_modules/@datapos/datapos-shared/dist/datapos-shared-tools.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","const e = (l) => new Map(Object.entries(l));\ne({ \"en-gb\": \"Delimited Text\" }), e({ \"en-gb\": \"Entity/Event\" }), e({ \"en-gb\": \"JSON\" }), e({ \"en-gb\": \"SPSS\" }), e({ \"en-gb\": \"XLS\" }), e({ \"en-gb\": \"XLSX\" }), e({ \"en-gb\": \"XML\" });\ne({ \"en-gb\": \"Newline\" }), e({ \"en-gb\": \"Carriage Return\" }), e({ \"en-gb\": \"Carriage Return/Newline\" });\ne({ \"en-gb\": \"Colon\" }), e({ \"en-gb\": \"Comma\" }), e({ \"en-gb\": \"Exclamation Mark\" }), e({ \"en-gb\": \"Record Separator\" }), e({ \"en-gb\": \"Semicolon\" }), e({ \"en-gb\": \"Space\" }), e({ \"en-gb\": \"Tab\" }), e({ \"en-gb\": \"Underscore\" }), e({ \"en-gb\": \"Unit Separator\" }), e({ \"en-gb\": \"Vertical Bar\" });\nconst b = [\",\", \";\", \"\t\", \"|\", \" \", \":\", \"_\", \"!\", \"0x1F\", \"0x1E\"];\nexport {\n b as ORDERED_VALUE_DELIMITER_IDS\n};\n","class i extends Error {\n locator;\n /** Logical source of the error. */\n constructor(o, t, r) {\n super(o, r), this.name = new.target.name, this.locator = t;\n }\n}\nclass a extends i {\n}\nclass g extends a {\n}\nclass p extends a {\n}\nclass c extends a {\n body;\n /** Sanitized HTTP response body. */\n constructor(o, t, r, n) {\n super(o, t, n), this.name = new.target.name, this.body = E(r ?? void 0);\n }\n}\nclass y extends i {\n}\nclass m extends a {\n componentName;\n /** Vue component name, if available. */\n info;\n /** Vue error info string. */\n constructor(o, t, r, n, s) {\n super(o, t, s), this.name = new.target.name, this.info = r, this.componentName = n;\n }\n}\nclass w extends a {\n}\nclass h extends a {\n}\nasync function b(e, o, t) {\n const r = ` - ${e.statusText}`, n = `${o} Response status '${e.status}${e.statusText ? r : \"\"}' received.`;\n let s;\n try {\n s = await e.text();\n } catch (d) {\n s = `<body unavailable: ${l(d).message}>`;\n }\n return new c(n, t, s);\n}\nfunction k(e) {\n return e.map((o) => o.message).join(\" \");\n}\nfunction x(e) {\n try {\n e();\n } catch {\n }\n}\nfunction l(e) {\n if (e instanceof Error) return e;\n if (typeof e == \"string\") return new Error(e);\n if (typeof e == \"number\" || typeof e == \"boolean\" || typeof e == \"bigint\") return new Error(String(e));\n if (typeof e == \"symbol\") return new Error(e.description ?? \"Unknown error\");\n if (e != null && typeof e == \"object\")\n try {\n return new Error(JSON.stringify(e));\n } catch {\n return new Error(\"Unknown error\");\n }\n return new Error(\"Unknown error\");\n}\nfunction R(e) {\n const o = /* @__PURE__ */ new Set(), t = [];\n let r = e;\n for (; r != null && !o.has(r); ) {\n o.add(r);\n let n;\n if (r instanceof c)\n n = { componentName: void 0, body: r.body, info: void 0, locator: r.locator, message: r.message, name: r.name, stack: r.stack }, r = r.cause;\n else if (r instanceof m)\n n = {\n componentName: r.componentName,\n body: void 0,\n info: r.info,\n locator: r.locator,\n message: r.message,\n name: r.name,\n stack: r.stack\n }, r = r.cause;\n else if (r instanceof i)\n n = { componentName: void 0, body: void 0, info: void 0, locator: r.locator, message: r.message, name: r.name, stack: r.stack }, r = r.cause;\n else if (r instanceof Error) {\n const s = r;\n n = { componentName: void 0, body: void 0, info: void 0, locator: \"\", message: s.message, name: s.name, stack: s.stack }, r = s.cause;\n } else\n n = { componentName: void 0, body: void 0, info: void 0, locator: \"\", message: f(r), name: \"Error\", stack: void 0 }, r = void 0;\n /(?:\\.{3}|[.!?])$/.test(n.message) || (n.message += \".\"), t.push(n);\n }\n return t;\n}\nfunction f(e) {\n let o;\n try {\n o = JSON.stringify(e);\n } catch {\n typeof e == \"symbol\" ? o = e.description ?? \"Unknown error\" : typeof e == \"bigint\" ? o = e.toString() : o = \"Unknown error\";\n }\n return o === \"\" && (o = \"Unknown error\"), o;\n}\nfunction E(e) {\n if (!(e == null || e === \"\"))\n return e.length > 2048 ? `${e.slice(0, 2048)}... [truncated]` : e;\n}\nexport {\n g as APIError,\n a as ApplicationError,\n p as EngineError,\n c as FetchError,\n y as OperationalError,\n m as VueHandledError,\n h as WindowHandledPromiseRejectionError,\n w as WindowHandledRuntimeError,\n b as buildFetchError,\n k as concatenateSerialisedErrorMessages,\n x as ignoreErrors,\n l as normalizeToError,\n R as serialiseError\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","async function a(e, o) {\n const n = `datapos-tool-${o}`, t = e.find((r) => r.id === n);\n if (!t) throw new Error(`Connector could not load unknown tool '${o}'.`);\n const l = await import(`https://engine-eu.datapos.app/tools/${o}_v${t.version}/${n}.es.js`);\n return new l.Tool();\n}\nexport {\n a as loadTool\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/* TODO: Consider Cloudflare R2 Download URL: https://plugins-eu.datapositioning.app/connectors/datapos-connector-file-store-emulator-es.js.\n This would allow us to secure the bucket? */\n\n// Vendor dependencies.\nimport { nanoid } from 'nanoid';\n\n// Framework dependencies.\nimport type { Tool as CSVParseTool } from '@datapos/datapos-tool-csv-parse';\nimport type { DataViewPreviewConfig } from '@datapos/datapos-shared/component/dataView';\nimport type { EngineUtilities } from '@datapos/datapos-shared/engine';\nimport type { Tool as FileOperatorsTool } from '@datapos/datapos-tool-file-operators';\nimport { ORDERED_VALUE_DELIMITER_IDS } from '@datapos/datapos-shared/component/dataView';\nimport { buildFetchError, normalizeToError, OperationalError } from '@datapos/datapos-shared/errors';\nimport type {\n ConnectionNodeConfig,\n ConnectorConfig,\n ConnectorInterface,\n FindObjectFolderPathOptions,\n GetReadableStreamOptions,\n ListNodesOptions,\n ListNodesResult,\n PreviewObjectOptions,\n RetrieveRecordsOptions,\n RetrieveRecordsSummary\n} from '@datapos/datapos-shared/component/connector';\nimport { extractExtensionFromPath, extractNameFromPath, lookupMimeTypeForExtension } from '@datapos/datapos-shared/utilities';\nimport { loadTool, type ToolConfig } from '@datapos/datapos-shared/component/tool';\n\n// Data dependencies.\nimport config from '~/config.json';\nimport fileStoreFolderPathData from '@/fileStoreFolderPaths.json';\n\nimport { addNumbersWithRust, checksumWithRust } from '@/rustBridge';\n\n/**\n * File store folder paths.\n */\ntype FileStoreFolderNode =\n | ({ typeId: 'folder'; childCount: number } & { name: string })\n | ({ typeId: 'object'; id: string; lastModifiedAt: number; size: number } & { name: string });\ntype FileStoreFolderPaths = Record<string, FileStoreFolderNode[]>;\n\n// Constants.\nconst URL_PREFIX = 'https://sample-data-eu.datapos.app';\n\n/**\n * File store emulator connector.\n */\nclass Connector implements ConnectorInterface {\n abortController: AbortController | undefined;\n readonly config: ConnectorConfig;\n engineUtilities: EngineUtilities;\n readonly toolConfigs;\n\n constructor(engineUtilities: EngineUtilities, toolConfigs: ToolConfig[]) {\n this.abortController = undefined;\n this.config = config as ConnectorConfig;\n this.engineUtilities = engineUtilities;\n this.toolConfigs = toolConfigs;\n }\n\n //━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n //#region: Operations.\n\n /**\n * Abort the currently running operation.\n */\n abortOperation(connector: ConnectorInterface): void {\n if (!connector.abortController) return;\n connector.abortController.abort();\n connector.abortController = undefined;\n }\n\n /**\n * Find the folder path containing the specified object node.\n */\n findObjectFolderPath(connector: ConnectorInterface, options: FindObjectFolderPathOptions): Promise<string | null> {\n const fileStoreFolderPaths = fileStoreFolderPathData as FileStoreFolderPaths;\n // Loop through the folder path data checking for an object entry with an identifier equal to the object name.\n for (const folderPath in fileStoreFolderPaths) {\n if (Object.hasOwn(fileStoreFolderPaths, folderPath)) {\n // eslint-disable-next-line security/detect-object-injection\n const folderPathNodes = fileStoreFolderPaths[folderPath];\n const folderPathNode = folderPathNodes?.find((folderPathNode) => folderPathNode.typeId === 'object' && folderPathNode.id === options.nodeId);\n if (folderPathNode) return Promise.resolve(folderPath); // Found, return folder path.\n }\n }\n return Promise.resolve(null); // Not found.\n }\n\n /**\n * Get a readable stream for the specified object node path.\n */\n async getReadableStream(connector: ConnectorInterface, options: GetReadableStreamOptions): Promise<ReadableStream<Uint8Array>> {\n // Create an abort controller and extract its signal.\n const { signal } = (connector.abortController = new AbortController());\n\n try {\n const response = await fetch(`${URL_PREFIX}/fileStore${options.path}`, { signal });\n if (!response.ok) {\n throw await buildFetchError(response, `Failed to fetch '${options.path}' file.`, 'datapos-connector-file-store-emulator|Connector|getReadableStream');\n }\n if (response.body == null) {\n throw new OperationalError('Readable streams are not supported in this runtime.', 'datapos-connector-file-store-emulator|Connector|getReadableStream.unsupported');\n }\n\n // TODO: Remove after testing.\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(response.body);\n } catch (error) {\n throw normalizeToError(error);\n } finally {\n connector.abortController = undefined;\n }\n }\n\n /**\n * Lists all nodes (folders and objects) in the specified folder path.\n */\n listNodes(connector: ConnectorInterface, options: ListNodesOptions): Promise<ListNodesResult> {\n const fileStoreFolderPaths = fileStoreFolderPathData as FileStoreFolderPaths;\n const folderNodes = fileStoreFolderPaths[options.folderPath] ?? [];\n const connectionNodeConfigs: ConnectionNodeConfig[] = [];\n for (const folderNode of folderNodes) {\n if (folderNode.typeId === 'folder') {\n connectionNodeConfigs.push(constructFolderNodeConfig(options.folderPath, folderNode.name, folderNode.childCount));\n } else {\n connectionNodeConfigs.push(constructObjectNodeConfig(options.folderPath, folderNode.id, folderNode.name, folderNode.lastModifiedAt, folderNode.size));\n }\n }\n return Promise.resolve({ cursor: undefined, isMore: false, connectionNodeConfigs, totalCount: connectionNodeConfigs.length });\n }\n\n /**\n * Preview the contents of the object node with the specified path.\n */\n async previewObject(connector: ConnectorInterface, options: PreviewObjectOptions): Promise<DataViewPreviewConfig> {\n // Create an abort controller and extract its signal.\n const { signal } = (connector.abortController = new AbortController());\n\n try {\n const asAt = Date.now();\n const startedAt = performance.now();\n\n const fileOperatorsTool = await loadTool<FileOperatorsTool>(connector.toolConfigs, 'file-operators');\n const previewConfig = await fileOperatorsTool.previewFile(`${URL_PREFIX}/fileStore${options.path}`, signal, options.chunkSize);\n\n if (previewConfig.dataFormatId == null) throw new Error('Connector unable to process files of this type.');\n if (previewConfig.text == null) {\n throw new Error('File is empty.');\n }\n\n const csvParseTool = await loadTool<CSVParseTool>(connector.toolConfigs, 'csv-parse');\n const schemaConfig = await csvParseTool.determineSchemaConfig(this.engineUtilities, previewConfig.text, ORDERED_VALUE_DELIMITER_IDS);\n console.log(1111, this.engineUtilities);\n\n const duration = performance.now() - startedAt;\n return {\n asAt,\n columnConfigs: [],\n dataFormatId: previewConfig.dataFormatId,\n duration,\n encodingId: previewConfig.encodingId,\n encodingConfidenceLevel: previewConfig.encodingConfidenceLevel,\n fileType: previewConfig.fileTypeConfig,\n hasHeaders: undefined,\n recordDelimiterId: schemaConfig.recordDelimiterId,\n records: [],\n size: previewConfig.bytes.length,\n text: previewConfig.text,\n valueDelimiterId: schemaConfig.valueDelimiterId\n };\n } catch (error) {\n throw normalizeToError(error);\n } finally {\n connector.abortController = undefined;\n }\n }\n /**\n * Retrieves all records from a CSV object node using streaming and chunked processing.\n */\n async retrieveRecords(\n connector: ConnectorInterface,\n options: RetrieveRecordsOptions,\n chunk: (records: (string[] | Record<string, unknown>)[]) => void,\n complete: (result: RetrieveRecordsSummary) => void\n ): Promise<void> {\n connector.abortController = new AbortController();\n\n try {\n const csvParseTool = await loadTool<CSVParseTool>(connector.toolConfigs, 'csv-parse');\n const parseStreamOptions = { delimiter: options.valueDelimiterId, info: true, relax_column_count: true, relax_quotes: true };\n const url = `${URL_PREFIX}/fileStore${options.path}`;\n const summary = await csvParseTool.parseStream(options, parseStreamOptions, url, connector.abortController, chunk);\n complete(summary);\n } catch (error) {\n throw normalizeToError(error);\n } finally {\n connector.abortController = undefined;\n }\n }\n\n //#endregion ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n}\n\n//━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n//#region: Helpers.\n\n/**\n * Construct folder node configuration.\n */\nfunction constructFolderNodeConfig(folderPath: string, name: string, childCount: number): ConnectionNodeConfig {\n return { id: nanoid(), childCount, extension: undefined, folderPath, label: name, name, typeId: 'folder' };\n}\n\n/**\n * Construct object (file) node configuration.\n */\nfunction 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//#endregion ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n\n// Exports.\nexport { Connector };\n"],"names":["urlAlphabet","nanoid","size","id","bytes","scopedUrlAlphabet","e","l","b","i","o","t","r","c","a","n","E","y","s","d","m","rustBindingsPromise","addNumbersWithRust","left","right","add_my_numbers","loadRustBindings","yyyy","checksumWithRust","input","checksum_from_rust","URL_PREFIX","Connector","engineUtilities","toolConfigs","config","connector","options","fileStoreFolderPaths","fileStoreFolderPathData","folderPath","folderPathNode","signal","response","buildFetchError","OperationalError","xxx","sum","error","normalizeToError","folderNodes","connectionNodeConfigs","folderNode","constructFolderNodeConfig","constructObjectNodeConfig","asAt","startedAt","previewConfig","loadTool","schemaConfig","ORDERED_VALUE_DELIMITER_IDS","duration","chunk","complete","csvParseTool","parseStreamOptions","url","summary","name","childCount","fullName","lastModifiedAt","extractNameFromPath","extension","extractExtensionFromPath","lastModifiedAtTimestamp","mimeType","lookupMimeTypeForExtension"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { DataViewPreviewConfig } from '@datapos/datapos-shared';
|
|
2
|
-
import {
|
|
1
|
+
import { DataViewPreviewConfig } from '@datapos/datapos-shared/component/dataView';
|
|
2
|
+
import { EngineUtilities } from '@datapos/datapos-shared/engine';
|
|
3
3
|
import { ConnectorConfig, ConnectorInterface, FindObjectFolderPathOptions, GetReadableStreamOptions, ListNodesOptions, ListNodesResult, PreviewObjectOptions, RetrieveRecordsOptions, RetrieveRecordsSummary } from '@datapos/datapos-shared/component/connector';
|
|
4
4
|
import { ToolConfig } from '@datapos/datapos-shared/component/tool';
|
|
5
5
|
/**
|
|
@@ -8,9 +8,9 @@ import { ToolConfig } from '@datapos/datapos-shared/component/tool';
|
|
|
8
8
|
declare class Connector implements ConnectorInterface {
|
|
9
9
|
abortController: AbortController | undefined;
|
|
10
10
|
readonly config: ConnectorConfig;
|
|
11
|
-
|
|
11
|
+
engineUtilities: EngineUtilities;
|
|
12
12
|
readonly toolConfigs: ToolConfig[];
|
|
13
|
-
constructor(
|
|
13
|
+
constructor(engineUtilities: EngineUtilities, toolConfigs: ToolConfig[]);
|
|
14
14
|
/**
|
|
15
15
|
* Abort the currently running operation.
|
|
16
16
|
*/
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "datapos-connector-file-store-emulator",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.396",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"author": "Jonathan Terrell <terrell.jm@gmail.com>",
|
|
6
6
|
"private": false,
|
|
@@ -26,13 +26,13 @@
|
|
|
26
26
|
],
|
|
27
27
|
"prettier": "@datapos/datapos-development/prettierrc",
|
|
28
28
|
"dependencies": {
|
|
29
|
-
"@datapos/datapos-shared": "^0.3.
|
|
29
|
+
"@datapos/datapos-shared": "^0.3.452",
|
|
30
30
|
"nanoid": "^5.1.6"
|
|
31
31
|
},
|
|
32
32
|
"devDependencies": {
|
|
33
33
|
"@datapos/datapos-development": "^0.3.438",
|
|
34
|
-
"@datapos/datapos-tool-csv-parse": "^0.0.
|
|
35
|
-
"@datapos/datapos-tool-file-operators": "^0.0.
|
|
34
|
+
"@datapos/datapos-tool-csv-parse": "^0.0.78",
|
|
35
|
+
"@datapos/datapos-tool-file-operators": "^0.0.14",
|
|
36
36
|
"@datapos/eslint-config-datapos": "^1.0.35",
|
|
37
37
|
"@types/node": "^25.0.3",
|
|
38
38
|
"@typescript-eslint/eslint-plugin": "^8.51.0",
|