@dpuse/dpuse-shared 0.3.623 → 0.3.627
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{locale-BjiFli1U.js → componentConfig.schema-CpjcH9JV.js} +68 -28
- package/dist/dpuse-shared-component.es.js +2 -2
- package/dist/dpuse-shared-componentDataView.es.js +1 -1
- package/dist/dpuse-shared-componentDimension.es.js +0 -0
- package/dist/dpuse-shared-componentEventQuery.es.js +0 -0
- package/dist/dpuse-shared-componentModuleConnector.es.js +25 -25
- package/dist/dpuse-shared-componentModuleContext.es.js +16 -2
- package/dist/dpuse-shared-componentModulePresenter.es.js +15 -2
- package/dist/dpuse-shared-componentModulePresenterPresentation.es.js +0 -0
- package/dist/dpuse-shared-locale.es.js +27 -2
- package/dist/{moduleConfig.schema-DTqGQW05.js → moduleConfig.schema-DE8ldb7c.js} +3 -4
- package/dist/types/src/component/connection/index.d.ts +6 -28
- package/dist/types/src/component/dataView/index.d.ts +0 -66
- package/dist/types/src/component/module/context/contextConfig.schema.d.ts +0 -3
- package/dist/types/src/component/module/context/index.d.ts +10 -10
- package/dist/types/src/component/module/presenter/index.d.ts +2 -5
- package/dist/types/src/component/module/presenter/{presentation.d.ts → presentation/index.d.ts} +2 -3
- package/dist/types/src/encoding/index.d.ts +4 -17
- package/dist/types/src/locale/index.d.ts +0 -8
- package/dist/types/src/locale/locale.schema.d.ts +8 -0
- package/dist/types/src/utilities/index.d.ts +0 -3
- package/package.json +13 -5
- package/dist/componentConfig.schema-Cirbf_EB.js +0 -68
- package/dist/context-BUNJif2t.js +0 -17
- package/dist/dpuse-shared.es.js +0 -3
- package/dist/presenter-DezPXk-i.js +0 -16
- package/dist/types/src/index.d.ts +0 -28
|
@@ -369,36 +369,76 @@ function T(e, t) {
|
|
|
369
369
|
};
|
|
370
370
|
}
|
|
371
371
|
//#endregion
|
|
372
|
-
//#region src/
|
|
373
|
-
var E = /* @__PURE__ */ b({
|
|
372
|
+
//#region src/schema.ts
|
|
373
|
+
var E = (e) => /* @__PURE__ */ T(e.map((e) => /* @__PURE__ */ _(e))), D = /* @__PURE__ */ b({
|
|
374
374
|
en: /* @__PURE__ */ C(),
|
|
375
375
|
es: /* @__PURE__ */ C()
|
|
376
|
-
}),
|
|
376
|
+
}), O = /* @__PURE__ */ b({
|
|
377
377
|
en: /* @__PURE__ */ x(/* @__PURE__ */ C()),
|
|
378
378
|
es: /* @__PURE__ */ x(/* @__PURE__ */ C())
|
|
379
|
-
}),
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
379
|
+
}), k = E([
|
|
380
|
+
"app",
|
|
381
|
+
"connector",
|
|
382
|
+
"connectorConnection",
|
|
383
|
+
"context",
|
|
384
|
+
"contextModelGroup",
|
|
385
|
+
"contextModel",
|
|
386
|
+
"contextModelDimensionGroup",
|
|
387
|
+
"contextModelDimension",
|
|
388
|
+
"contextModelDimensionHierarchy",
|
|
389
|
+
"contextModelEntityGroup",
|
|
390
|
+
"contextModelEntity",
|
|
391
|
+
"contextModelEntityDataItem",
|
|
392
|
+
"contextModelEntityEvent",
|
|
393
|
+
"contextModelEntityPrimaryMeasure",
|
|
394
|
+
"contextModelSecondaryMeasureGroup",
|
|
395
|
+
"contextModelSecondaryMeasure",
|
|
396
|
+
"dataView",
|
|
397
|
+
"dimension",
|
|
398
|
+
"engine",
|
|
399
|
+
"eventQuery",
|
|
400
|
+
"presenter",
|
|
401
|
+
"presenterPresentation",
|
|
402
|
+
"tool"
|
|
403
|
+
]), A = E([
|
|
404
|
+
"amber",
|
|
405
|
+
"green",
|
|
406
|
+
"red",
|
|
407
|
+
"other"
|
|
408
|
+
]), j = E([
|
|
409
|
+
"alpha",
|
|
410
|
+
"beta",
|
|
411
|
+
"generalAvailability",
|
|
412
|
+
"notApplicable",
|
|
413
|
+
"preAlpha",
|
|
414
|
+
"proposed",
|
|
415
|
+
"releaseCandidate",
|
|
416
|
+
"unavailable",
|
|
417
|
+
"underReview"
|
|
418
|
+
]), M = /* @__PURE__ */ b({
|
|
419
|
+
color: A,
|
|
420
|
+
label: /* @__PURE__ */ C()
|
|
421
|
+
}), N = /* @__PURE__ */ b({
|
|
422
|
+
id: /* @__PURE__ */ C(),
|
|
423
|
+
label: O,
|
|
424
|
+
description: O,
|
|
425
|
+
icon: /* @__PURE__ */ v(/* @__PURE__ */ C()),
|
|
426
|
+
iconDark: /* @__PURE__ */ v(/* @__PURE__ */ C()),
|
|
427
|
+
order: /* @__PURE__ */ y(),
|
|
428
|
+
path: /* @__PURE__ */ C()
|
|
429
|
+
}), P = {
|
|
430
|
+
id: /* @__PURE__ */ C(),
|
|
431
|
+
label: O,
|
|
432
|
+
description: O,
|
|
433
|
+
firstCreatedAt: /* @__PURE__ */ v(/* @__PURE__ */ y()),
|
|
434
|
+
icon: /* @__PURE__ */ v(/* @__PURE__ */ C()),
|
|
435
|
+
iconDark: /* @__PURE__ */ v(/* @__PURE__ */ C()),
|
|
436
|
+
lastUpdatedAt: /* @__PURE__ */ v(/* @__PURE__ */ y()),
|
|
437
|
+
status: /* @__PURE__ */ v(M),
|
|
438
|
+
statusId: /* @__PURE__ */ v(j)
|
|
439
|
+
}, F = /* @__PURE__ */ b({
|
|
440
|
+
...P,
|
|
441
|
+
typeId: k
|
|
442
|
+
});
|
|
403
443
|
//#endregion
|
|
404
|
-
export {
|
|
444
|
+
export { E as a, _ as c, b as d, x as f, D as i, v as l, C as m, F as n, h as o, S as p, N as r, g as s, P as t, y as u };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { createLabelMap as e } from "./dpuse-shared-locale.es.js";
|
|
2
2
|
e({ en: "Data Positioning Events" }), e({ en: "Delimited Text" }), e({ en: "JSON" }), e({ en: "SPSS" }), e({ en: "XLSX" }), e({ en: "XML" }), e({ en: "Newline" }), e({ en: "Carriage Return" }), e({ en: "Carriage Return/Newline" }), e({ en: "Colon" }), e({ en: "Comma" }), e({ en: "Exclamation Mark" }), e({ en: "Record Separator" }), e({ en: "Semicolon" }), e({ en: "Space" }), e({ en: "Tab" }), e({ en: "Underscore" }), e({ en: "Unit Separator" }), e({ en: "Vertical Bar" });
|
|
3
3
|
var t = [
|
|
4
4
|
",",
|
|
File without changes
|
|
File without changes
|
|
@@ -1,26 +1,26 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { i as f } from "./componentConfig.schema-
|
|
3
|
-
import { t as p } from "./moduleConfig.schema-
|
|
1
|
+
import { createLabelMap as e, resolveLabel as t } from "./dpuse-shared-locale.es.js";
|
|
2
|
+
import { a as n, c as r, d as i, f as a, i as o, l as s, m as c, o as l, p as u, s as d, u as f } from "./componentConfig.schema-CpjcH9JV.js";
|
|
3
|
+
import { t as p } from "./moduleConfig.schema-DE8ldb7c.js";
|
|
4
4
|
//#region src/component/module/connector/connectorConfig.schema.ts
|
|
5
|
-
var m =
|
|
5
|
+
var m = n([
|
|
6
6
|
"application",
|
|
7
7
|
"curatedDataset",
|
|
8
8
|
"database",
|
|
9
9
|
"fileStore"
|
|
10
|
-
]), h =
|
|
11
|
-
authMethodId:
|
|
10
|
+
]), h = i({ label: o }), g = i({
|
|
11
|
+
authMethodId: n([
|
|
12
12
|
"apiKey",
|
|
13
13
|
"disabled",
|
|
14
14
|
"oAuth2",
|
|
15
15
|
"none"
|
|
16
16
|
]),
|
|
17
|
-
activeConnectionCount:
|
|
18
|
-
canDescribe:
|
|
19
|
-
id:
|
|
20
|
-
label:
|
|
21
|
-
maxConnectionCount:
|
|
22
|
-
params:
|
|
23
|
-
}), _ =
|
|
17
|
+
activeConnectionCount: a(f()),
|
|
18
|
+
canDescribe: a(d()),
|
|
19
|
+
id: a(c()),
|
|
20
|
+
label: a(o),
|
|
21
|
+
maxConnectionCount: s(f()),
|
|
22
|
+
params: a(l(u(c(), c())))
|
|
23
|
+
}), _ = n([
|
|
24
24
|
"abortOperation",
|
|
25
25
|
"auditObjectContent",
|
|
26
26
|
"createObject",
|
|
@@ -35,22 +35,22 @@ var m = f([
|
|
|
35
35
|
"retrieveChunks",
|
|
36
36
|
"retrieveRecords",
|
|
37
37
|
"upsertRecords"
|
|
38
|
-
]), v =
|
|
38
|
+
]), v = n([
|
|
39
39
|
"bidirectional",
|
|
40
40
|
"destination",
|
|
41
41
|
"source",
|
|
42
42
|
"unknown"
|
|
43
|
-
]), y =
|
|
43
|
+
]), y = i({
|
|
44
44
|
...p,
|
|
45
|
-
typeId:
|
|
46
|
-
category:
|
|
45
|
+
typeId: r("connector"),
|
|
46
|
+
category: s(h),
|
|
47
47
|
categoryId: m,
|
|
48
|
-
implementations:
|
|
49
|
-
operations:
|
|
48
|
+
implementations: u(c(), g),
|
|
49
|
+
operations: l(_),
|
|
50
50
|
usageId: v,
|
|
51
|
-
vendorAccountURL:
|
|
52
|
-
vendorDocumentationURL:
|
|
53
|
-
vendorHomeURL:
|
|
51
|
+
vendorAccountURL: s(c()),
|
|
52
|
+
vendorDocumentationURL: s(c()),
|
|
53
|
+
vendorHomeURL: s(c())
|
|
54
54
|
}), b = [
|
|
55
55
|
{
|
|
56
56
|
id: "application",
|
|
@@ -80,9 +80,9 @@ var m = f([
|
|
|
80
80
|
es: "Almacén de Archivos"
|
|
81
81
|
}
|
|
82
82
|
}
|
|
83
|
-
], x = (
|
|
84
|
-
let
|
|
85
|
-
return
|
|
83
|
+
], x = (n, r = "en") => {
|
|
84
|
+
let i = b.find((e) => e.id === n);
|
|
85
|
+
return i ? { label: t(e(i.label), r) ?? i.id } : { label: n };
|
|
86
86
|
};
|
|
87
87
|
//#endregion
|
|
88
88
|
export { y as connectorConfigSchema, x as constructConnectorCategoryConfig };
|
|
@@ -1,2 +1,16 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
1
|
+
import { a as e, c as t, d as n, o as r, r as i, t as a, u as o } from "./componentConfig.schema-CpjcH9JV.js";
|
|
2
|
+
import { t as s } from "./moduleConfig.schema-DE8ldb7c.js";
|
|
3
|
+
//#region src/component/module/context/contextConfig.schema.ts
|
|
4
|
+
var c = n({
|
|
5
|
+
...a,
|
|
6
|
+
typeId: t("contextModelGroup"),
|
|
7
|
+
modelRefs: r(i),
|
|
8
|
+
order: o()
|
|
9
|
+
}), l = e(["list"]), u = n({
|
|
10
|
+
...s,
|
|
11
|
+
typeId: t("context"),
|
|
12
|
+
models: r(c),
|
|
13
|
+
operations: r(l)
|
|
14
|
+
});
|
|
15
|
+
//#endregion
|
|
16
|
+
export { u as contextConfigSchema };
|
|
@@ -1,2 +1,15 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
1
|
+
import { a as e, c as t, d as n, o as r, r as i } from "./componentConfig.schema-CpjcH9JV.js";
|
|
2
|
+
import { t as a } from "./moduleConfig.schema-DE8ldb7c.js";
|
|
3
|
+
//#region src/component/module/presenter/presenterConfig.schema.ts
|
|
4
|
+
var o = e([
|
|
5
|
+
"list",
|
|
6
|
+
"render",
|
|
7
|
+
"setColorMode"
|
|
8
|
+
]), s = n({
|
|
9
|
+
...a,
|
|
10
|
+
typeId: t("presenter"),
|
|
11
|
+
presentations: r(i),
|
|
12
|
+
operations: r(o)
|
|
13
|
+
});
|
|
14
|
+
//#endregion
|
|
15
|
+
export { s as presenterConfigSchema };
|
|
File without changes
|
|
@@ -1,2 +1,27 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
//#region src/locale/index.ts
|
|
2
|
+
var e = "en", t = [{
|
|
3
|
+
id: "en",
|
|
4
|
+
flag: "gb",
|
|
5
|
+
label: "English"
|
|
6
|
+
}, {
|
|
7
|
+
id: "es",
|
|
8
|
+
flag: "es",
|
|
9
|
+
label: "Español"
|
|
10
|
+
}];
|
|
11
|
+
function n(e) {
|
|
12
|
+
return new Map(Object.entries(e));
|
|
13
|
+
}
|
|
14
|
+
function r(e, t) {
|
|
15
|
+
return e.map((e) => ({
|
|
16
|
+
...e,
|
|
17
|
+
label: e.label[t] ?? e.id,
|
|
18
|
+
description: e.description[t] ?? e.id
|
|
19
|
+
}));
|
|
20
|
+
}
|
|
21
|
+
function i(e, t, n = "en") {
|
|
22
|
+
let r = e.get(t);
|
|
23
|
+
if (r !== void 0) return r;
|
|
24
|
+
if (n !== t) return e.get(n);
|
|
25
|
+
}
|
|
26
|
+
//#endregion
|
|
27
|
+
export { e as DEFAULT_LOCALE_ID, t as SUPPORTED_LANGUAGES, n as createLabelMap, r as localiseConfigs, i as resolveLabel };
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { i as n, t as r } from "./componentConfig.schema-Cirbf_EB.js";
|
|
1
|
+
import { a as e, d as t, m as n, t as r } from "./componentConfig.schema-CpjcH9JV.js";
|
|
3
2
|
//#region src/component/module/moduleConfig.schema.ts
|
|
4
|
-
var i =
|
|
3
|
+
var i = e([
|
|
5
4
|
"app",
|
|
6
5
|
"engine",
|
|
7
6
|
"connector",
|
|
@@ -10,7 +9,7 @@ var i = n([
|
|
|
10
9
|
"tool"
|
|
11
10
|
]), a = {
|
|
12
11
|
...r,
|
|
13
|
-
version:
|
|
12
|
+
version: n()
|
|
14
13
|
};
|
|
15
14
|
t({
|
|
16
15
|
...a,
|
|
@@ -2,9 +2,6 @@ import { ComponentConfig } from '..';
|
|
|
2
2
|
import { ConnectorConfig } from '../module/connector';
|
|
3
3
|
import { LocaleLabel } from '../../locale';
|
|
4
4
|
import { DataSubtypeId, DataTypeId } from '../dataView';
|
|
5
|
-
/**
|
|
6
|
-
* Connection configuration.
|
|
7
|
-
*/
|
|
8
5
|
export interface ConnectionConfig extends ComponentConfig {
|
|
9
6
|
authorisation: Record<string, ConnectionAuthorisationConfig>;
|
|
10
7
|
connectorConfig: ConnectorConfig;
|
|
@@ -15,9 +12,6 @@ export type ConnectionLocalisedConfig = Omit<ConnectionConfig, 'label' | 'descri
|
|
|
15
12
|
label: string;
|
|
16
13
|
description: string;
|
|
17
14
|
};
|
|
18
|
-
/**
|
|
19
|
-
* Connection authorisation configuration.
|
|
20
|
-
*/
|
|
21
15
|
export interface ConnectionAuthorisationConfig {
|
|
22
16
|
accessToken: string;
|
|
23
17
|
accountId: string;
|
|
@@ -28,20 +22,14 @@ export interface ConnectionAuthorisationConfig {
|
|
|
28
22
|
tokenType: string;
|
|
29
23
|
uid: string;
|
|
30
24
|
}
|
|
31
|
-
|
|
32
|
-
* Connection description configuration.
|
|
33
|
-
*/
|
|
34
|
-
interface ConnectionDescriptionConfig {
|
|
25
|
+
export interface ConnectionDescriptionConfig {
|
|
35
26
|
objects: {
|
|
36
27
|
id: string;
|
|
37
28
|
label: Record<string, string>;
|
|
38
29
|
columns: ObjectColumnConfig[];
|
|
39
30
|
}[];
|
|
40
31
|
}
|
|
41
|
-
|
|
42
|
-
* Connection node configuration.
|
|
43
|
-
*/
|
|
44
|
-
interface ConnectionNodeConfig {
|
|
32
|
+
export interface ConnectionNodeConfig {
|
|
45
33
|
childCount: number | undefined;
|
|
46
34
|
childNodes: ConnectionNodeConfig[];
|
|
47
35
|
extension: string | undefined;
|
|
@@ -55,21 +43,12 @@ interface ConnectionNodeConfig {
|
|
|
55
43
|
size: number | undefined;
|
|
56
44
|
typeId: NodeTypeId;
|
|
57
45
|
}
|
|
58
|
-
|
|
59
|
-
*
|
|
60
|
-
*/
|
|
61
|
-
interface DPAFileSystemFileHandle {
|
|
46
|
+
export interface DPAFileSystemFileHandle {
|
|
62
47
|
readonly kind: 'file';
|
|
63
48
|
getFile(): Promise<File>;
|
|
64
49
|
}
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
*/
|
|
68
|
-
type NodeTypeId = 'folder' | 'object';
|
|
69
|
-
/**
|
|
70
|
-
* Object column configuration.
|
|
71
|
-
*/
|
|
72
|
-
interface ObjectColumnConfig {
|
|
50
|
+
export type NodeTypeId = 'folder' | 'object';
|
|
51
|
+
export interface ObjectColumnConfig {
|
|
73
52
|
dataTypeId: DataTypeId;
|
|
74
53
|
dataSubtypeId: DataSubtypeId | undefined;
|
|
75
54
|
inferenceCounts: Record<string, number>;
|
|
@@ -92,5 +71,4 @@ interface ObjectColumnConfig {
|
|
|
92
71
|
validValues: Record<string, string>;
|
|
93
72
|
voidValueCount: number | undefined;
|
|
94
73
|
}
|
|
95
|
-
type StorageTypeId = 'binary' | 'boolean' | 'byte' | 'date' | 'dateTime' | 'dateTimeOffset' | 'decimal' | 'double' | 'int8' | 'int16' | 'int32' | 'int64' | 'object' | 'single' | 'string' | 'time' | 'unknown';
|
|
96
|
-
export type { ConnectionDescriptionConfig, ConnectionNodeConfig, ObjectColumnConfig };
|
|
74
|
+
export type StorageTypeId = 'binary' | 'boolean' | 'byte' | 'date' | 'dateTime' | 'dateTimeOffset' | 'decimal' | 'double' | 'int8' | 'int16' | 'int32' | 'int64' | 'object' | 'single' | 'string' | 'time' | 'unknown';
|
|
@@ -1,13 +1,7 @@
|
|
|
1
1
|
import { FileTypeResult } from 'file-type';
|
|
2
2
|
import { Component, ComponentConfig } from '..';
|
|
3
3
|
import { ConnectionNodeConfig, ObjectColumnConfig } from '../connection';
|
|
4
|
-
/**
|
|
5
|
-
* Data view interface.
|
|
6
|
-
*/
|
|
7
4
|
type DataViewInterface = Component;
|
|
8
|
-
/**
|
|
9
|
-
* Data view configuration.
|
|
10
|
-
*/
|
|
11
5
|
interface DataViewConfig extends ComponentConfig {
|
|
12
6
|
connectionId: string | undefined;
|
|
13
7
|
connectionNodeConfig: ConnectionNodeConfig | undefined;
|
|
@@ -15,16 +9,10 @@ interface DataViewConfig extends ComponentConfig {
|
|
|
15
9
|
contentAuditConfig: ContentAuditConfig | undefined;
|
|
16
10
|
relationshipsAuditConfig: RelationshipsAuditConfig | undefined;
|
|
17
11
|
}
|
|
18
|
-
/**
|
|
19
|
-
* Data view localised configuration.
|
|
20
|
-
*/
|
|
21
12
|
type DataViewLocalisedConfig = Omit<DataViewConfig, 'label' | 'description'> & {
|
|
22
13
|
label: string;
|
|
23
14
|
description: string;
|
|
24
15
|
};
|
|
25
|
-
/**
|
|
26
|
-
* Data view preview configuration.
|
|
27
|
-
*/
|
|
28
16
|
interface PreviewConfig {
|
|
29
17
|
asAt: number;
|
|
30
18
|
commentMarkId?: string | undefined;
|
|
@@ -54,13 +42,7 @@ interface PreviewConfig {
|
|
|
54
42
|
valueDelimiterOtherCharSeq?: string | undefined;
|
|
55
43
|
valueTrimMethodId?: ValueTrimMethodId | undefined;
|
|
56
44
|
}
|
|
57
|
-
/**
|
|
58
|
-
*
|
|
59
|
-
*/
|
|
60
45
|
type ValueTrimMethodId = 'both' | 'left' | 'right' | 'none';
|
|
61
|
-
/**
|
|
62
|
-
* Data view content audit configuration.
|
|
63
|
-
*/
|
|
64
46
|
interface ContentAuditConfig {
|
|
65
47
|
asAt: number;
|
|
66
48
|
columns: ObjectColumnConfig[];
|
|
@@ -71,35 +53,14 @@ interface ContentAuditConfig {
|
|
|
71
53
|
lineCount: number;
|
|
72
54
|
recordCount: number;
|
|
73
55
|
}
|
|
74
|
-
/**
|
|
75
|
-
* Data view relationships audit configuration.
|
|
76
|
-
*/
|
|
77
56
|
interface RelationshipsAuditConfig {
|
|
78
57
|
placeholder: string;
|
|
79
58
|
}
|
|
80
|
-
/**
|
|
81
|
-
*
|
|
82
|
-
*/
|
|
83
59
|
type DataFormatId = 'dpe' | 'dtv' | 'json' | 'spss' | 'xlsx' | 'xml' | 'unknown';
|
|
84
|
-
/**
|
|
85
|
-
*
|
|
86
|
-
*/
|
|
87
60
|
type RecordDelimiterId = '\n' | '\r' | '\r\n';
|
|
88
|
-
/**
|
|
89
|
-
*
|
|
90
|
-
*/
|
|
91
61
|
type ValueDelimiterId = '' | ':' | ',' | '!' | '0x1E' | ';' | ' ' | '\t' | '_' | '0x1F' | '|';
|
|
92
|
-
/**
|
|
93
|
-
*
|
|
94
|
-
*/
|
|
95
62
|
declare const ORDERED_VALUE_DELIMITER_IDS: ValueDelimiterId[];
|
|
96
|
-
/**
|
|
97
|
-
*
|
|
98
|
-
*/
|
|
99
63
|
type ParsingRecord = ParsingResult[];
|
|
100
|
-
/**
|
|
101
|
-
*
|
|
102
|
-
*/
|
|
103
64
|
interface ParsingResult {
|
|
104
65
|
value: string | null;
|
|
105
66
|
valueWasQuoted: boolean;
|
|
@@ -119,17 +80,8 @@ interface InferenceSummary {
|
|
|
119
80
|
hasHeaderRow: boolean;
|
|
120
81
|
typedRecords: InferenceRecord[];
|
|
121
82
|
}
|
|
122
|
-
/**
|
|
123
|
-
*
|
|
124
|
-
*/
|
|
125
83
|
type InferenceRecord = InferenceResult[];
|
|
126
|
-
/**
|
|
127
|
-
*
|
|
128
|
-
*/
|
|
129
84
|
type InferenceResult = BooleanInferenceResult | NumericInferenceResult | StringInferenceResult | TemporalInferenceResult | UnknownInferenceResult;
|
|
130
|
-
/**
|
|
131
|
-
* Boolean inference result.
|
|
132
|
-
*/
|
|
133
85
|
interface BooleanInferenceResult {
|
|
134
86
|
dataTypeId: 'boolean';
|
|
135
87
|
dataSubtypeId: undefined;
|
|
@@ -137,13 +89,7 @@ interface BooleanInferenceResult {
|
|
|
137
89
|
inputValueWasQuoted: boolean;
|
|
138
90
|
inferredValue: boolean;
|
|
139
91
|
}
|
|
140
|
-
/**
|
|
141
|
-
*
|
|
142
|
-
*/
|
|
143
92
|
type NumericInferenceResult = BigIntInferenceResult | NumberInferenceResult;
|
|
144
|
-
/**
|
|
145
|
-
*
|
|
146
|
-
*/
|
|
147
93
|
interface BigIntInferenceResult {
|
|
148
94
|
dataTypeId: 'numeric';
|
|
149
95
|
dataSubtypeId: 'bigint';
|
|
@@ -156,9 +102,6 @@ interface BigIntInferenceResult {
|
|
|
156
102
|
signId: NumericSignId;
|
|
157
103
|
unitsId: NumericUnitsId;
|
|
158
104
|
}
|
|
159
|
-
/**
|
|
160
|
-
*
|
|
161
|
-
*/
|
|
162
105
|
interface NumberInferenceResult {
|
|
163
106
|
dataTypeId: 'numeric';
|
|
164
107
|
dataSubtypeId: 'integer' | 'decimal';
|
|
@@ -171,9 +114,6 @@ interface NumberInferenceResult {
|
|
|
171
114
|
signId: NumericSignId;
|
|
172
115
|
unitsId: NumericUnitsId;
|
|
173
116
|
}
|
|
174
|
-
/**
|
|
175
|
-
* String inference result.
|
|
176
|
-
*/
|
|
177
117
|
interface StringInferenceResult {
|
|
178
118
|
dataTypeId: 'string';
|
|
179
119
|
dataSubtypeId: StringSubtypeId;
|
|
@@ -182,9 +122,6 @@ interface StringInferenceResult {
|
|
|
182
122
|
inputValueWasQuoted: boolean;
|
|
183
123
|
inferredValue: string;
|
|
184
124
|
}
|
|
185
|
-
/**
|
|
186
|
-
*
|
|
187
|
-
*/
|
|
188
125
|
interface TemporalInferenceResult {
|
|
189
126
|
dataTypeId: 'temporal';
|
|
190
127
|
dataSubtypeId: TemporalSubtypeId;
|
|
@@ -193,9 +130,6 @@ interface TemporalInferenceResult {
|
|
|
193
130
|
inputValueWasQuoted: boolean;
|
|
194
131
|
inferredValue: Date;
|
|
195
132
|
}
|
|
196
|
-
/**
|
|
197
|
-
*
|
|
198
|
-
*/
|
|
199
133
|
interface UnknownInferenceResult {
|
|
200
134
|
dataTypeId: 'unknown';
|
|
201
135
|
dataSubtypeId: undefined;
|
|
@@ -4,15 +4,10 @@ import { EngineContextActionOptions } from '../../../engine';
|
|
|
4
4
|
import { LocaleLabel } from '../../../locale';
|
|
5
5
|
import { ModuleConfig } from '..';
|
|
6
6
|
import { Component, ComponentConfig, ComponentReference } from '../..';
|
|
7
|
-
export
|
|
7
|
+
export { contextConfigSchema } from './contextConfig.schema';
|
|
8
|
+
export interface ContextInterface extends Component {
|
|
8
9
|
readonly config: ContextConfig;
|
|
9
|
-
listContextFocuses?(context:
|
|
10
|
-
}
|
|
11
|
-
export interface ListContextOptions extends EngineContextActionOptions {
|
|
12
|
-
placeholder: unknown;
|
|
13
|
-
}
|
|
14
|
-
export interface ContextListResult {
|
|
15
|
-
models: ContextModelGroupConfig[];
|
|
10
|
+
listContextFocuses?(context: ContextInterface, options?: ListContextOptions): Promise<ContextListResult>;
|
|
16
11
|
}
|
|
17
12
|
export type ContextConfig = InferOutput<typeof contextConfigSchema>;
|
|
18
13
|
export interface ContextConfig1 extends ModuleConfig {
|
|
@@ -20,11 +15,11 @@ export interface ContextConfig1 extends ModuleConfig {
|
|
|
20
15
|
operations: ContextOperation[];
|
|
21
16
|
typeId: 'context';
|
|
22
17
|
}
|
|
23
|
-
export type ContextOperation = 'list';
|
|
24
18
|
export type ContextLocalisedConfig = Omit<ContextConfig, 'label' | 'description'> & {
|
|
25
19
|
label: string;
|
|
26
20
|
description: string;
|
|
27
21
|
};
|
|
22
|
+
export type ContextOperation = 'list';
|
|
28
23
|
export interface ContextModelGroupConfig extends ComponentConfig {
|
|
29
24
|
modelRefs: ComponentReference[];
|
|
30
25
|
order: number;
|
|
@@ -135,4 +130,9 @@ export type ContextModelSecondaryMeasureLocalisedConfig = Omit<ContextModelSecon
|
|
|
135
130
|
label: string;
|
|
136
131
|
description: string;
|
|
137
132
|
};
|
|
138
|
-
export
|
|
133
|
+
export interface ListContextOptions extends EngineContextActionOptions {
|
|
134
|
+
placeholder: unknown;
|
|
135
|
+
}
|
|
136
|
+
export interface ContextListResult {
|
|
137
|
+
models: ContextModelGroupConfig[];
|
|
138
|
+
}
|
|
@@ -1,10 +1,7 @@
|
|
|
1
1
|
import { ModuleConfig } from '..';
|
|
2
2
|
import { Component, ComponentReference } from '../..';
|
|
3
|
-
/**
|
|
4
|
-
* Presenter composables, constants, errors, types/interfaces and utilities.
|
|
5
|
-
*/
|
|
6
3
|
export { presenterConfigSchema } from './presenterConfig.schema';
|
|
7
|
-
export interface
|
|
4
|
+
export interface PresenterInterface extends Component {
|
|
8
5
|
readonly config: PresenterConfig;
|
|
9
6
|
list(): ComponentReference[];
|
|
10
7
|
render(presentationPath: string, renderTo: HTMLElement, data?: unknown): Promise<void>;
|
|
@@ -15,8 +12,8 @@ export interface PresenterConfig extends ModuleConfig {
|
|
|
15
12
|
operations: PresenterOperation[];
|
|
16
13
|
typeId: 'presenter';
|
|
17
14
|
}
|
|
18
|
-
export type PresenterOperation = 'list' | 'render' | 'setColorMode';
|
|
19
15
|
export type PresenterLocalisedConfig = Omit<PresenterConfig, 'label' | 'description'> & {
|
|
20
16
|
label: string;
|
|
21
17
|
description: string;
|
|
22
18
|
};
|
|
19
|
+
export type PresenterOperation = 'list' | 'render' | 'setColorMode';
|
package/dist/types/src/component/module/presenter/{presentation.d.ts → presentation/index.d.ts}
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { InferOutput } from 'valibot';
|
|
2
|
-
import { ComponentConfig } from '
|
|
3
|
-
import { presenterConfigSchema } from '
|
|
2
|
+
import { ComponentConfig } from '../../..';
|
|
3
|
+
import { presenterConfigSchema } from '../presenterConfig.schema';
|
|
4
4
|
export type PresentationConfig = InferOutput<typeof presenterConfigSchema>;
|
|
5
5
|
export interface PresentationConfig1 extends ComponentConfig {
|
|
6
6
|
content: string;
|
|
@@ -74,4 +74,3 @@ export interface PresentationView {
|
|
|
74
74
|
resize: () => void;
|
|
75
75
|
vendorId: string;
|
|
76
76
|
}
|
|
77
|
-
export { presenterConfigSchema } from './presenterConfig.schema';
|
|
@@ -1,26 +1,13 @@
|
|
|
1
|
-
|
|
2
|
-
* Encoding.
|
|
3
|
-
*/
|
|
4
|
-
/**
|
|
5
|
-
* Encoding configuration.
|
|
6
|
-
*/
|
|
7
|
-
interface EncodingConfig {
|
|
1
|
+
export interface EncodingConfig {
|
|
8
2
|
id: string;
|
|
9
3
|
confidenceLevel: number | undefined;
|
|
10
4
|
}
|
|
11
|
-
|
|
12
|
-
* Encoding type configuration.
|
|
13
|
-
*/
|
|
14
|
-
interface EncodingTypeConfig {
|
|
5
|
+
export interface EncodingTypeConfig {
|
|
15
6
|
id: string;
|
|
16
7
|
groupLabel: string;
|
|
17
8
|
label: string;
|
|
18
9
|
isDetectable: boolean;
|
|
19
10
|
isDecodable: boolean;
|
|
20
11
|
}
|
|
21
|
-
declare const encodingConfigMap: Record<string, EncodingTypeConfig>;
|
|
22
|
-
|
|
23
|
-
* Get encoding type configurations.
|
|
24
|
-
*/
|
|
25
|
-
declare function getEncodingTypeConfigs(localeId?: string): EncodingTypeConfig[];
|
|
26
|
-
export { type EncodingConfig, encodingConfigMap, type EncodingTypeConfig, getEncodingTypeConfigs };
|
|
12
|
+
export declare const encodingConfigMap: Record<string, EncodingTypeConfig>;
|
|
13
|
+
export declare function getEncodingTypeConfigs(localeId?: string): EncodingTypeConfig[];
|
|
@@ -1,11 +1,3 @@
|
|
|
1
|
-
export declare const localeLabelSchema: import('valibot').ObjectSchema<{
|
|
2
|
-
readonly en: import('valibot').StringSchema<undefined>;
|
|
3
|
-
readonly es: import('valibot').StringSchema<undefined>;
|
|
4
|
-
}, undefined>;
|
|
5
|
-
export declare const partialLocalLabelSchema: import('valibot').ObjectSchema<{
|
|
6
|
-
readonly en: import('valibot').OptionalSchema<import('valibot').StringSchema<undefined>, undefined>;
|
|
7
|
-
readonly es: import('valibot').OptionalSchema<import('valibot').StringSchema<undefined>, undefined>;
|
|
8
|
-
}, undefined>;
|
|
9
1
|
export type FlagId = 'es' | 'gb';
|
|
10
2
|
export type LocaleId = 'en' | 'es';
|
|
11
3
|
export type LocaleLabel = Partial<Record<LocaleId, string>>;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export declare const localeLabelSchema: import('valibot').ObjectSchema<{
|
|
2
|
+
readonly en: import('valibot').StringSchema<undefined>;
|
|
3
|
+
readonly es: import('valibot').StringSchema<undefined>;
|
|
4
|
+
}, undefined>;
|
|
5
|
+
export declare const partialLocaleLabelSchema: import('valibot').ObjectSchema<{
|
|
6
|
+
readonly en: import('valibot').OptionalSchema<import('valibot').StringSchema<undefined>, undefined>;
|
|
7
|
+
readonly es: import('valibot').OptionalSchema<import('valibot').StringSchema<undefined>, undefined>;
|
|
8
|
+
}, undefined>;
|
|
@@ -1,6 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Utilities.
|
|
3
|
-
*/
|
|
4
1
|
export declare function convertODataTypeIdToUsageTypeId(oDataTypeId: string): string;
|
|
5
2
|
export declare function extractNameFromPath(itemPath: string): string | undefined;
|
|
6
3
|
export declare function extractExtensionFromPath(itemPath: string): string | undefined;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dpuse/dpuse-shared",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.627",
|
|
4
4
|
"description": "Common constants, types and utilities used across all DPUse projects.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Jonathan Terrell <terrell.jm@gmail.com>",
|
|
@@ -17,10 +17,6 @@
|
|
|
17
17
|
"module": "./dist/dpuse-shared.es.js",
|
|
18
18
|
"types": "./dist/types/src/index.d.ts",
|
|
19
19
|
"exports": {
|
|
20
|
-
".": {
|
|
21
|
-
"import": "./dist/dpuse-shared.es.js",
|
|
22
|
-
"types": "./dist/types/src/index.d.ts"
|
|
23
|
-
},
|
|
24
20
|
"./component": {
|
|
25
21
|
"import": "./dist/dpuse-shared-component.es.js",
|
|
26
22
|
"types": "./dist/types/src/component/index.d.ts"
|
|
@@ -33,6 +29,14 @@
|
|
|
33
29
|
"import": "./dist/dpuse-shared-dataview.es.js",
|
|
34
30
|
"types": "./dist/types/src/component/dataView/index.d.ts"
|
|
35
31
|
},
|
|
32
|
+
"./component/dimension": {
|
|
33
|
+
"import": "./dist/dpuse-shared-dimension.es.js",
|
|
34
|
+
"types": "./dist/types/src/component/dimension/index.d.ts"
|
|
35
|
+
},
|
|
36
|
+
"./component/eventQuery": {
|
|
37
|
+
"import": "./dist/dpuse-shared-eventQuery.es.js",
|
|
38
|
+
"types": "./dist/types/src/component/eventQuery/index.d.ts"
|
|
39
|
+
},
|
|
36
40
|
"./component/module": {
|
|
37
41
|
"import": "./dist/dpuse-shared-componentModule.es.js",
|
|
38
42
|
"types": "./dist/types/src/component/module/index.d.ts"
|
|
@@ -49,6 +53,10 @@
|
|
|
49
53
|
"import": "./dist/dpuse-shared-componentModulePresenter.es.js",
|
|
50
54
|
"types": "./dist/types/src/component/module/presenter/index.d.ts"
|
|
51
55
|
},
|
|
56
|
+
"./component/module/presenter/presentation": {
|
|
57
|
+
"import": "./dist/dpuse-shared-componentModulePresenterPresentation.es.js",
|
|
58
|
+
"types": "./dist/types/src/component/module/presenter/presentation/index.d.ts"
|
|
59
|
+
},
|
|
52
60
|
"./component/module/tool": {
|
|
53
61
|
"import": "./dist/dpuse-shared-componentModuleTool.es.js",
|
|
54
62
|
"types": "./dist/types/src/component/module/tool/index.d.ts"
|
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
import { _ as e, d as t, f as n, g as r, o as i, p as a, u as o } from "./locale-BjiFli1U.js";
|
|
2
|
-
//#region src/schema.ts
|
|
3
|
-
var s = (t) => e(t.map((e) => o(e))), c = s([
|
|
4
|
-
"app",
|
|
5
|
-
"connector",
|
|
6
|
-
"connectorConnection",
|
|
7
|
-
"context",
|
|
8
|
-
"contextModelGroup",
|
|
9
|
-
"contextModel",
|
|
10
|
-
"contextModelDimensionGroup",
|
|
11
|
-
"contextModelDimension",
|
|
12
|
-
"contextModelDimensionHierarchy",
|
|
13
|
-
"contextModelEntityGroup",
|
|
14
|
-
"contextModelEntity",
|
|
15
|
-
"contextModelEntityDataItem",
|
|
16
|
-
"contextModelEntityEvent",
|
|
17
|
-
"contextModelEntityPrimaryMeasure",
|
|
18
|
-
"contextModelSecondaryMeasureGroup",
|
|
19
|
-
"contextModelSecondaryMeasure",
|
|
20
|
-
"dataView",
|
|
21
|
-
"dimension",
|
|
22
|
-
"engine",
|
|
23
|
-
"eventQuery",
|
|
24
|
-
"presenter",
|
|
25
|
-
"presenterPresentation",
|
|
26
|
-
"tool"
|
|
27
|
-
]), l = s([
|
|
28
|
-
"amber",
|
|
29
|
-
"green",
|
|
30
|
-
"red",
|
|
31
|
-
"other"
|
|
32
|
-
]), u = s([
|
|
33
|
-
"alpha",
|
|
34
|
-
"beta",
|
|
35
|
-
"generalAvailability",
|
|
36
|
-
"notApplicable",
|
|
37
|
-
"preAlpha",
|
|
38
|
-
"proposed",
|
|
39
|
-
"releaseCandidate",
|
|
40
|
-
"unavailable",
|
|
41
|
-
"underReview"
|
|
42
|
-
]), d = a({
|
|
43
|
-
color: l,
|
|
44
|
-
label: r()
|
|
45
|
-
}), f = a({
|
|
46
|
-
id: r(),
|
|
47
|
-
label: i,
|
|
48
|
-
description: i,
|
|
49
|
-
icon: t(r()),
|
|
50
|
-
iconDark: t(r()),
|
|
51
|
-
order: n(),
|
|
52
|
-
path: r()
|
|
53
|
-
}), p = {
|
|
54
|
-
id: r(),
|
|
55
|
-
label: i,
|
|
56
|
-
description: i,
|
|
57
|
-
firstCreatedAt: t(n()),
|
|
58
|
-
icon: t(r()),
|
|
59
|
-
iconDark: t(r()),
|
|
60
|
-
lastUpdatedAt: t(n()),
|
|
61
|
-
status: t(d),
|
|
62
|
-
statusId: t(u)
|
|
63
|
-
}, m = a({
|
|
64
|
-
...p,
|
|
65
|
-
typeId: c
|
|
66
|
-
});
|
|
67
|
-
//#endregion
|
|
68
|
-
export { s as i, m as n, f as r, p as t };
|
package/dist/context-BUNJif2t.js
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { c as e, f as t, p as n, u as r } from "./locale-BjiFli1U.js";
|
|
2
|
-
import { i, r as a, t as o } from "./componentConfig.schema-Cirbf_EB.js";
|
|
3
|
-
import { t as s } from "./moduleConfig.schema-DTqGQW05.js";
|
|
4
|
-
//#region src/component/module/context/contextConfig.schema.ts
|
|
5
|
-
var c = i(["list"]), l = n({
|
|
6
|
-
...o,
|
|
7
|
-
typeId: r("contextModelGroup"),
|
|
8
|
-
modelRefs: e(a),
|
|
9
|
-
order: t()
|
|
10
|
-
}), u = n({
|
|
11
|
-
...s,
|
|
12
|
-
typeId: r("context"),
|
|
13
|
-
models: e(l),
|
|
14
|
-
operations: e(c)
|
|
15
|
-
});
|
|
16
|
-
//#endregion
|
|
17
|
-
export { u as t };
|
package/dist/dpuse-shared.es.js
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { c as e, p as t, u as n } from "./locale-BjiFli1U.js";
|
|
2
|
-
import { i as r, r as i } from "./componentConfig.schema-Cirbf_EB.js";
|
|
3
|
-
import { t as a } from "./moduleConfig.schema-DTqGQW05.js";
|
|
4
|
-
//#region src/component/module/presenter/presenterConfig.schema.ts
|
|
5
|
-
var o = r([
|
|
6
|
-
"list",
|
|
7
|
-
"render",
|
|
8
|
-
"setColorMode"
|
|
9
|
-
]), s = t({
|
|
10
|
-
...a,
|
|
11
|
-
typeId: n("presenter"),
|
|
12
|
-
presentations: e(i),
|
|
13
|
-
operations: e(o)
|
|
14
|
-
});
|
|
15
|
-
//#endregion
|
|
16
|
-
export { s as t };
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Shared composables, constants, errors, interfaces, schemas, types and utilities.
|
|
3
|
-
*/
|
|
4
|
-
/** Interfaces/Types - Context. */
|
|
5
|
-
export { contextConfigSchema } from './component/module/context';
|
|
6
|
-
export type { Context, ContextConfig, ContextLocalisedConfig, ListContextOptions, ContextListResult, ContextOperation } from './component/module/context';
|
|
7
|
-
/** Interfaces/Types - Context model. */
|
|
8
|
-
export type { ContextModelGroupConfig, ContextModelGroupLocalisedConfig, ContextModelConfig, ContextModelLocalisedConfig } from './component/module/context';
|
|
9
|
-
/** Interfaces/Types - Context model dimension. */
|
|
10
|
-
export type { ContextModelDimensionGroupConfig, ContextModelDimensionGroupLocalisedConfig, ContextModelDimensionConfig, ContextModelDimensionLocalisedConfig, ContextModelDimensionHierarchyConfig, ContextModelDimensionHierarchyLocalisedConfig } from './component/module/context';
|
|
11
|
-
/** Interfaces/Types - Context model entity. */
|
|
12
|
-
export type { ContextModelEntityGroupConfig, ContextModelEntityGroupLocalisedConfig, ContextModelEntityConfig, ContextModelEntityLocalisedConfig, ContextModelEntityDataItemConfig, // Data items.
|
|
13
|
-
ContextModelEntityDataItemLocalisedConfig, ContextModelEntityEventConfig, // Events.
|
|
14
|
-
ContextModelEntityEventLocalisedConfig, ContextModelEntityPrimaryMeasureConfig, // Primary measures.
|
|
15
|
-
ContextModelEntityPrimaryMeasureLocalisedConfig } from './component/module/context';
|
|
16
|
-
/** Interfaces/Types - Context model secondary measure. */
|
|
17
|
-
export type { ContextModelSecondaryMeasureGroupConfig, ContextModelSecondaryMeasureGroupLocalisedConfig, ContextModelSecondaryMeasureConfig, ContextModelSecondaryMeasureLocalisedConfig } from './component/module/context';
|
|
18
|
-
/** Interfaces/Types - Dimension. */
|
|
19
|
-
export type { DimensionConfig, DimensionLocalisedConfig } from './component/dimension';
|
|
20
|
-
/** Interfaces/Types - Event query. */
|
|
21
|
-
export type { EventQueryConfig, EventQueryLocalisedConfig } from './component/eventQuery';
|
|
22
|
-
/** Interfaces/Types */
|
|
23
|
-
export { presenterConfigSchema } from './component/module/presenter';
|
|
24
|
-
export type { Presenter, PresenterConfig, PresenterLocalisedConfig, PresenterOperation } from './component/module/presenter';
|
|
25
|
-
/** Interfaces/Types - Presenter presentation. */
|
|
26
|
-
export type { PresentationConfig, PresentationView } from './component/module/presenter/presentation';
|
|
27
|
-
export type { PresentationCategoryId, PresentationCartesianTypeId, PresentationPolarTypeId, PresentationRangeTypeId, PresentationVisualConfig, PresentationVisualContentConfig, PresentationVisualViewConfig, PresentationVisualCartesianChartViewConfig, PresentationVisualChordDiagramViewConfig, PresentationVisualPeriodFlowBoundariesChartViewConfig, PresentationVisualPolarChartViewConfig, PresentationVisualRangeChartViewConfig, PresentationVisualSankeyDiagramViewConfig, PresentationVisualStreamGraphViewConfig, PresentationVisualValueTableViewConfig } from './component/module/presenter/presentation';
|
|
28
|
-
/** Utilities */
|