@ezpaarse-project/ezreeport-sdk-js 1.3.0 → 2.0.0-beta.1
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/README.md +9 -10
- package/dist/api-C_g0ldUn.d.ts +24 -0
- package/dist/api-D8l8Ds3U.mjs +19 -0
- package/dist/api-D8l8Ds3U.mjs.map +1 -0
- package/dist/api-DVzOqMA2.js +2 -0
- package/dist/api-DVzOqMA2.js.map +1 -0
- package/dist/auth.d.ts +47 -0
- package/dist/auth.js +2 -0
- package/dist/auth.js.map +1 -0
- package/dist/auth.mjs +7 -0
- package/dist/auth.mjs.map +1 -0
- package/dist/body-BqAn9vHJ.d.ts +16 -0
- package/dist/crons.d.ts +16 -0
- package/dist/crons.js +2 -0
- package/dist/crons.js.map +1 -0
- package/dist/crons.mjs +90 -0
- package/dist/crons.mjs.map +1 -0
- package/dist/decorator-C2gcn2rK.js +2 -0
- package/dist/decorator-C2gcn2rK.js.map +1 -0
- package/dist/decorator-DBkj--6g.mjs +26 -0
- package/dist/decorator-DBkj--6g.mjs.map +1 -0
- package/dist/elastic.d.ts +26 -0
- package/dist/elastic.js +2 -0
- package/dist/elastic.js.map +1 -0
- package/dist/elastic.mjs +45 -0
- package/dist/elastic.mjs.map +1 -0
- package/dist/fetch-Hd-ajPIl.js +2 -0
- package/dist/fetch-Hd-ajPIl.js.map +1 -0
- package/dist/fetch-xZFTa3q1.mjs +16 -0
- package/dist/fetch-xZFTa3q1.mjs.map +1 -0
- package/dist/health.d.ts +47 -0
- package/dist/health.js +2 -0
- package/dist/health.js.map +1 -0
- package/dist/health.mjs +41 -0
- package/dist/health.mjs.map +1 -0
- package/dist/helpers/aggregations.d.ts +109 -0
- package/dist/helpers/aggregations.js +2 -0
- package/dist/helpers/aggregations.js.map +1 -0
- package/dist/helpers/aggregations.mjs +42 -0
- package/dist/helpers/aggregations.mjs.map +1 -0
- package/dist/helpers/figures.d.ts +221 -0
- package/dist/helpers/figures.js +2 -0
- package/dist/helpers/figures.js.map +1 -0
- package/dist/helpers/figures.mjs +33 -0
- package/dist/helpers/figures.mjs.map +1 -0
- package/dist/helpers/filters.d.ts +8 -0
- package/dist/helpers/filters.js +2 -0
- package/dist/helpers/filters.js.map +1 -0
- package/dist/helpers/filters.mjs +7 -0
- package/dist/helpers/filters.mjs.map +1 -0
- package/dist/helpers/jobs.d.ts +109 -0
- package/dist/helpers/jobs.js +2 -0
- package/dist/helpers/jobs.js.map +1 -0
- package/dist/helpers/jobs.mjs +390 -0
- package/dist/helpers/jobs.mjs.map +1 -0
- package/dist/helpers/layouts.d.ts +19 -0
- package/dist/helpers/layouts.js +2 -0
- package/dist/helpers/layouts.js.map +1 -0
- package/dist/helpers/layouts.mjs +44 -0
- package/dist/helpers/layouts.mjs.map +1 -0
- package/dist/helpers/permissions.d.ts +15 -0
- package/dist/helpers/permissions.js +2 -0
- package/dist/helpers/permissions.js.map +1 -0
- package/dist/helpers/permissions.mjs +40 -0
- package/dist/helpers/permissions.mjs.map +1 -0
- package/dist/helpers/task-presets.d.ts +16 -0
- package/dist/helpers/task-presets.js +2 -0
- package/dist/helpers/task-presets.js.map +1 -0
- package/dist/helpers/task-presets.mjs +36 -0
- package/dist/helpers/task-presets.mjs.map +1 -0
- package/dist/helpers/tasks.d.ts +55 -0
- package/dist/helpers/tasks.js +2 -0
- package/dist/helpers/tasks.js.map +1 -0
- package/dist/helpers/tasks.mjs +191 -0
- package/dist/helpers/tasks.mjs.map +1 -0
- package/dist/helpers/templates.d.ts +34 -0
- package/dist/helpers/templates.js +2 -0
- package/dist/helpers/templates.js.map +1 -0
- package/dist/helpers/templates.mjs +130 -0
- package/dist/helpers/templates.mjs.map +1 -0
- package/dist/index-CWHjM0a3.d.ts +109 -0
- package/dist/index-btsFMVmd.js +2 -0
- package/dist/index-btsFMVmd.js.map +1 -0
- package/dist/index-niBfS4wD.mjs +331 -0
- package/dist/index-niBfS4wD.mjs.map +1 -0
- package/dist/index.d.ts +16 -0
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -0
- package/dist/index.mjs +7 -0
- package/dist/index.mjs.map +1 -0
- package/dist/methods-BBsb3M5p.mjs +142 -0
- package/dist/methods-BBsb3M5p.mjs.map +1 -0
- package/dist/methods-BJfwYB1p.mjs +126 -0
- package/dist/methods-BJfwYB1p.mjs.map +1 -0
- package/dist/methods-CGdoP4Hi.js +2 -0
- package/dist/methods-CGdoP4Hi.js.map +1 -0
- package/dist/methods-CO0p8irP.js +2 -0
- package/dist/methods-CO0p8irP.js.map +1 -0
- package/dist/methods-DOB4Ry8E.mjs +147 -0
- package/dist/methods-DOB4Ry8E.mjs.map +1 -0
- package/dist/methods-DU5cbtLn.js +2 -0
- package/dist/methods-DU5cbtLn.js.map +1 -0
- package/dist/methods-DUqC5qzU.mjs +146 -0
- package/dist/methods-DUqC5qzU.mjs.map +1 -0
- package/dist/methods-DY2VLwGd.mjs +116 -0
- package/dist/methods-DY2VLwGd.mjs.map +1 -0
- package/dist/methods-Jar1Wkpj.js +2 -0
- package/dist/methods-Jar1Wkpj.js.map +1 -0
- package/dist/methods-M4GU2OL5.mjs +51 -0
- package/dist/methods-M4GU2OL5.mjs.map +1 -0
- package/dist/methods-cUjyNkoK.js +2 -0
- package/dist/methods-cUjyNkoK.js.map +1 -0
- package/dist/methods-uWDk6_pk.js +2 -0
- package/dist/methods-uWDk6_pk.js.map +1 -0
- package/dist/namespaces.d.ts +28 -0
- package/dist/namespaces.js +2 -0
- package/dist/namespaces.js.map +1 -0
- package/dist/namespaces.mjs +2 -0
- package/dist/namespaces.mjs.map +1 -0
- package/dist/queues.d.ts +6 -0
- package/dist/queues.js +2 -0
- package/dist/queues.js.map +1 -0
- package/dist/queues.mjs +10 -0
- package/dist/queues.mjs.map +1 -0
- package/dist/reports.d.ts +85 -0
- package/dist/reports.js +2 -0
- package/dist/reports.js.map +1 -0
- package/dist/reports.mjs +12 -0
- package/dist/reports.mjs.map +1 -0
- package/dist/task-activity.d.ts +33 -0
- package/dist/task-activity.js +2 -0
- package/dist/task-activity.js.map +1 -0
- package/dist/task-activity.mjs +66 -0
- package/dist/task-activity.mjs.map +1 -0
- package/dist/task-presets.d.ts +61 -0
- package/dist/task-presets.js +2 -0
- package/dist/task-presets.js.map +1 -0
- package/dist/task-presets.mjs +10 -0
- package/dist/task-presets.mjs.map +1 -0
- package/dist/tasks-1x680qAf.mjs +34 -0
- package/dist/tasks-1x680qAf.mjs.map +1 -0
- package/dist/tasks-CYqJgTvz.d.ts +12 -0
- package/dist/tasks-hn70eL7B.js +2 -0
- package/dist/tasks-hn70eL7B.js.map +1 -0
- package/dist/tasks.d.ts +60 -0
- package/dist/tasks.js +2 -0
- package/dist/tasks.js.map +1 -0
- package/dist/tasks.mjs +10 -0
- package/dist/tasks.mjs.map +1 -0
- package/dist/templates-BgRTZc5c.d.ts +14 -0
- package/dist/templates-yZjsVuN9.js +2 -0
- package/dist/templates-yZjsVuN9.js.map +1 -0
- package/dist/templates-zMmVXt6k.mjs +30 -0
- package/dist/templates-zMmVXt6k.mjs.map +1 -0
- package/dist/templates.d.ts +51 -0
- package/dist/templates.js +2 -0
- package/dist/templates.js.map +1 -0
- package/dist/templates.mjs +9 -0
- package/dist/templates.mjs.map +1 -0
- package/dist/transform-DzLAfSJo.js +2 -0
- package/dist/transform-DzLAfSJo.js.map +1 -0
- package/dist/transform-EpMTJExd.mjs +26 -0
- package/dist/transform-EpMTJExd.mjs.map +1 -0
- package/dist/types-CpDGJRQw.d.ts +48 -0
- package/dist/types-DcoMmjs3.d.ts +101 -0
- package/dist/types-jXqGnCKQ.d.ts +79 -0
- package/dist/types-y2f9Jb4M.d.ts +75 -0
- package/package.json +126 -25
- package/dist/browser/ezreeport-sdk-js.mjs +0 -979
- package/dist/browser/ezreeport-sdk-js.mjs.map +0 -1
- package/dist/browser/ezreeport-sdk-js.umd.js +0 -2
- package/dist/browser/ezreeport-sdk-js.umd.js.map +0 -1
- package/dist/node/ezreeport-sdk-js.js +0 -2
- package/dist/node/ezreeport-sdk-js.js.map +0 -1
- package/dist/node/ezreeport-sdk-js.mjs +0 -979
- package/dist/node/ezreeport-sdk-js.mjs.map +0 -1
- package/dist/types/index.d.ts +0 -32
- package/dist/types/lib/axios.d.ts +0 -51
- package/dist/types/lib/promises.d.ts +0 -21
- package/dist/types/lib/utils.d.ts +0 -27
- package/dist/types/modules/auth.d.ts +0 -90
- package/dist/types/modules/auth.public.d.ts +0 -1
- package/dist/types/modules/crons.d.ts +0 -102
- package/dist/types/modules/crons.public.d.ts +0 -1
- package/dist/types/modules/elastic.d.ts +0 -33
- package/dist/types/modules/elastic.public.d.ts +0 -1
- package/dist/types/modules/health.d.ts +0 -53
- package/dist/types/modules/health.public.d.ts +0 -1
- package/dist/types/modules/namespaces.d.ts +0 -29
- package/dist/types/modules/namespaces.public.d.ts +0 -1
- package/dist/types/modules/queues.d.ts +0 -120
- package/dist/types/modules/queues.public.d.ts +0 -1
- package/dist/types/modules/reports.d.ts +0 -204
- package/dist/types/modules/reports.public.d.ts +0 -1
- package/dist/types/modules/setup.d.ts +0 -17
- package/dist/types/modules/setup.public.d.ts +0 -2
- package/dist/types/modules/tasks.base.d.ts +0 -48
- package/dist/types/modules/tasks.d.ts +0 -249
- package/dist/types/modules/tasks.public.d.ts +0 -2
- package/dist/types/modules/tasksActivity.d.ts +0 -36
- package/dist/types/modules/tasksActivity.public.d.ts +0 -5
- package/dist/types/modules/tasksPresets.d.ts +0 -87
- package/dist/types/modules/tasksPresets.public.d.ts +0 -1
- package/dist/types/modules/templates.d.ts +0 -155
- package/dist/types/modules/templates.public.d.ts +0 -1
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
var m = (e, a, t) => new Promise((r, n) => {
|
|
2
|
+
var o = (i) => {
|
|
3
|
+
try {
|
|
4
|
+
u(t.next(i));
|
|
5
|
+
} catch (l) {
|
|
6
|
+
n(l);
|
|
7
|
+
}
|
|
8
|
+
}, s = (i) => {
|
|
9
|
+
try {
|
|
10
|
+
u(t.throw(i));
|
|
11
|
+
} catch (l) {
|
|
12
|
+
n(l);
|
|
13
|
+
}
|
|
14
|
+
}, u = (i) => i.done ? r(i.value) : Promise.resolve(i.value).then(o, s);
|
|
15
|
+
u((t = t.apply(e, a)).next());
|
|
16
|
+
});
|
|
17
|
+
import { a as p, u as c } from "../methods-DY2VLwGd.mjs";
|
|
18
|
+
import { b as g } from "../decorator-DBkj--6g.mjs";
|
|
19
|
+
import h from "object-hash";
|
|
20
|
+
import { a as H, l as T } from "../templates-zMmVXt6k.mjs";
|
|
21
|
+
function f(e, a = "", t = [], r = [], n) {
|
|
22
|
+
var o;
|
|
23
|
+
return {
|
|
24
|
+
version: 2,
|
|
25
|
+
dateField: a,
|
|
26
|
+
layouts: t,
|
|
27
|
+
filters: new Map((o = r == null ? void 0 : r.map((s) => [s.name, s])) != null ? o : []),
|
|
28
|
+
grid: n,
|
|
29
|
+
index: e
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
function w(e) {
|
|
33
|
+
return f(
|
|
34
|
+
e.index,
|
|
35
|
+
e.dateField,
|
|
36
|
+
e.layouts.map((a) => H(a)),
|
|
37
|
+
e.filters,
|
|
38
|
+
e.grid
|
|
39
|
+
);
|
|
40
|
+
}
|
|
41
|
+
function y(e) {
|
|
42
|
+
return {
|
|
43
|
+
version: e.version,
|
|
44
|
+
dateField: e.dateField,
|
|
45
|
+
layouts: e.layouts.map((a) => T(a)),
|
|
46
|
+
filters: Array.from(e.filters.values()),
|
|
47
|
+
grid: e.grid,
|
|
48
|
+
index: e.index
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
function J(e, a, t) {
|
|
52
|
+
if (e.layouts.some((r) => r.id === a.id))
|
|
53
|
+
throw new Error(`Layout "${a.id}" already exists`);
|
|
54
|
+
return e.layouts.splice(t != null ? t : e.layouts.length, 0, a), e;
|
|
55
|
+
}
|
|
56
|
+
function M(e, a) {
|
|
57
|
+
const t = e;
|
|
58
|
+
return t.layouts = e.layouts.filter((r) => r.id !== a.id), e;
|
|
59
|
+
}
|
|
60
|
+
function N(e, a, t) {
|
|
61
|
+
const r = e.layouts.findIndex((o) => o.id === a.id);
|
|
62
|
+
if (r < 0)
|
|
63
|
+
throw new Error(`Layout "${a.id}" not found`);
|
|
64
|
+
const n = e;
|
|
65
|
+
return n.layouts[r] = t, e;
|
|
66
|
+
}
|
|
67
|
+
function d(e) {
|
|
68
|
+
return h({
|
|
69
|
+
name: e.name,
|
|
70
|
+
body: e.body,
|
|
71
|
+
tags: e.tags
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
function v(e = "", a, t = /* @__PURE__ */ new Map(), r = "", n = /* @__PURE__ */ new Date(), o) {
|
|
75
|
+
const s = {
|
|
76
|
+
id: r,
|
|
77
|
+
name: e,
|
|
78
|
+
body: a != null ? a : f(),
|
|
79
|
+
tags: t,
|
|
80
|
+
createdAt: n,
|
|
81
|
+
updatedAt: o,
|
|
82
|
+
hash: ""
|
|
83
|
+
};
|
|
84
|
+
return s.hash = d(s), s;
|
|
85
|
+
}
|
|
86
|
+
function S(e) {
|
|
87
|
+
var a, t;
|
|
88
|
+
return v(
|
|
89
|
+
e.name,
|
|
90
|
+
w(e.body),
|
|
91
|
+
new Map((t = (a = e.tags) == null ? void 0 : a.map((r) => [r.name, r])) != null ? t : []),
|
|
92
|
+
e.id,
|
|
93
|
+
e.createdAt,
|
|
94
|
+
e.updatedAt
|
|
95
|
+
);
|
|
96
|
+
}
|
|
97
|
+
function D(e) {
|
|
98
|
+
return {
|
|
99
|
+
name: e.name,
|
|
100
|
+
body: y(e.body),
|
|
101
|
+
tags: Array.from(e.tags.values())
|
|
102
|
+
};
|
|
103
|
+
}
|
|
104
|
+
function E(e) {
|
|
105
|
+
return e.hash !== d(e);
|
|
106
|
+
}
|
|
107
|
+
function F(e, a) {
|
|
108
|
+
return m(this, null, function* () {
|
|
109
|
+
const t = yield p(e);
|
|
110
|
+
return yield c({
|
|
111
|
+
id: t.id,
|
|
112
|
+
name: t.name,
|
|
113
|
+
tags: t.tags,
|
|
114
|
+
body: t.body,
|
|
115
|
+
hidden: a
|
|
116
|
+
});
|
|
117
|
+
});
|
|
118
|
+
}
|
|
119
|
+
g(F, [p, c]);
|
|
120
|
+
export {
|
|
121
|
+
J as addLayoutOfHelper,
|
|
122
|
+
F as changeTemplateVisibility,
|
|
123
|
+
v as createTemplateHelper,
|
|
124
|
+
S as createTemplateHelperFrom,
|
|
125
|
+
E as hasTemplateChanged,
|
|
126
|
+
M as removeLayoutOfHelper,
|
|
127
|
+
D as templateHelperToJSON,
|
|
128
|
+
N as updateLayoutOfHelper
|
|
129
|
+
};
|
|
130
|
+
//# sourceMappingURL=templates.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"templates.mjs","sources":["../../src/helpers/templates/editor/body.ts","../../src/helpers/templates/editor/index.ts","../../src/helpers/templates/index.ts"],"sourcesContent":["import type { TemplateBody, TemplateFilter, TemplateBodyGrid } from '~/modules/templates';\nimport { createLayoutHelperFrom, layoutHelperToJSON, type LayoutHelper } from './layouts';\n\nexport interface TemplateBodyHelper {\n readonly version: number;\n filters: Map<string, TemplateFilter>;\n index?: string;\n dateField: string;\n layouts: LayoutHelper[];\n grid?: TemplateBodyGrid;\n}\n\nexport function createTemplateBodyHelper(\n index?: string,\n dateField: string = '',\n layouts: LayoutHelper[] = [],\n filters: TemplateFilter[] = [],\n grid?: TemplateBodyGrid,\n): TemplateBodyHelper {\n return {\n version: 2,\n dateField,\n layouts,\n filters: new Map(filters?.map((filter) => [filter.name, filter]) ?? []),\n grid,\n index,\n };\n}\n\nexport function createTemplateBodyHelperFrom(body: TemplateBody): TemplateBodyHelper {\n return createTemplateBodyHelper(\n body.index,\n body.dateField,\n body.layouts.map((l) => createLayoutHelperFrom(l)),\n body.filters,\n body.grid,\n );\n}\n\nexport function templateHelperBodyToJSON(body: TemplateBodyHelper): TemplateBody {\n return {\n version: body.version,\n dateField: body.dateField,\n layouts: body.layouts.map((l) => layoutHelperToJSON(l)),\n filters: Array.from(body.filters.values()),\n grid: body.grid,\n index: body.index,\n };\n}\n\nexport function addLayoutOfHelper(\n body: TemplateBodyHelper,\n layout: LayoutHelper,\n index?: number,\n): TemplateBodyHelper {\n if (body.layouts.some((l) => l.id === layout.id)) {\n throw new Error(`Layout \"${layout.id}\" already exists`);\n }\n body.layouts.splice(index ?? body.layouts.length, 0, layout);\n return body;\n}\n\nexport function removeLayoutOfHelper(\n body: TemplateBodyHelper,\n layout: LayoutHelper,\n): TemplateBodyHelper {\n const template = body;\n template.layouts = body.layouts.filter((l) => l.id !== layout.id);\n return body;\n}\n\nexport function updateLayoutOfHelper(\n body: TemplateBodyHelper,\n oldLayout: LayoutHelper,\n newLayout: LayoutHelper,\n): TemplateBodyHelper {\n const index = body.layouts.findIndex((l) => l.id === oldLayout.id);\n if (index < 0) {\n throw new Error(`Layout \"${oldLayout.id}\" not found`);\n }\n const template = body;\n template.layouts[index] = newLayout;\n return body;\n}\n","import objectHash from 'object-hash';\nimport type { InputTemplate, Template } from '~/modules/templates';\n\nimport type { TemplateTagMap } from './tags';\nimport {\n createTemplateBodyHelper,\n createTemplateBodyHelperFrom,\n templateHelperBodyToJSON,\n type TemplateBodyHelper,\n} from './body';\n\nexport interface TemplateHelper {\n readonly id: string;\n name: string;\n body: TemplateBodyHelper;\n tags: TemplateTagMap;\n readonly createdAt: Date;\n readonly updatedAt?: Date;\n readonly hash: string;\n}\n\nfunction hashTemplate(template: Template | TemplateHelper): string {\n return objectHash({\n name: template.name,\n body: template.body,\n tags: template.tags,\n });\n}\n\nexport function createTemplateHelper(\n name: string = '',\n body?: TemplateBodyHelper,\n tags: TemplateTagMap = new Map(),\n id: string = '',\n createdAt: Date = new Date(),\n updatedAt?: Date,\n): TemplateHelper {\n const template = {\n id,\n name,\n body: body ?? createTemplateBodyHelper(),\n tags,\n createdAt,\n updatedAt,\n hash: '',\n };\n\n template.hash = hashTemplate(template);\n\n return template;\n}\n\nexport function createTemplateHelperFrom(template: Template): TemplateHelper {\n return createTemplateHelper(\n template.name,\n createTemplateBodyHelperFrom(template.body),\n new Map(template.tags?.map((t) => [t.name, t]) ?? []),\n template.id,\n template.createdAt,\n template.updatedAt,\n );\n}\n\nexport function templateHelperToJSON(template: TemplateHelper): InputTemplate {\n return {\n name: template.name,\n body: templateHelperBodyToJSON(template.body),\n tags: Array.from(template.tags.values()),\n };\n}\n\nexport function hasTemplateChanged(template: TemplateHelper): boolean {\n return template.hash !== hashTemplate(template);\n}\n\nexport {\n type TemplateBodyHelper,\n addLayoutOfHelper,\n removeLayoutOfHelper,\n updateLayoutOfHelper,\n} from './body';\nexport * from './tags';\n","import { type Template, getTemplate, upsertTemplate } from '~/modules/templates';\n\nimport { assignDependencies } from '~/helpers/permissions/decorator';\n\nexport * from './editor';\n\n/**\n * Change visibility of a template\n *\n * @param templateOrId Template or Template's id\n * @param hidden New state\n *\n * @returns Updated template\n */\nexport async function changeTemplateVisibility(\n templateOrId: Omit<Template, 'body'> | string,\n hidden: boolean,\n): Promise<Template> {\n const base = await getTemplate(templateOrId);\n\n const template = await upsertTemplate({\n id: base.id,\n name: base.name,\n tags: base.tags,\n body: base.body,\n hidden,\n });\n\n return template;\n}\nassignDependencies(changeTemplateVisibility, [getTemplate, upsertTemplate]);\n"],"names":["createTemplateBodyHelper","index","dateField","layouts","filters","grid","_a","filter","createTemplateBodyHelperFrom","body","l","createLayoutHelperFrom","templateHelperBodyToJSON","layoutHelperToJSON","addLayoutOfHelper","layout","removeLayoutOfHelper","template","updateLayoutOfHelper","oldLayout","newLayout","hashTemplate","objectHash","createTemplateHelper","name","tags","id","createdAt","updatedAt","createTemplateHelperFrom","_b","t","templateHelperToJSON","hasTemplateChanged","changeTemplateVisibility","templateOrId","hidden","__async","base","getTemplate","upsertTemplate","assignDependencies"],"mappings":"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"}
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
import { A as ApiRequestOptions, S as SdkPaginated } from './api-C_g0ldUn.js';
|
|
2
|
+
import { c as ReportPeriod } from './types-jXqGnCKQ.js';
|
|
3
|
+
import { T as Task } from './types-y2f9Jb4M.js';
|
|
4
|
+
|
|
5
|
+
interface GenerationData {
|
|
6
|
+
task: Omit<Task, 'namespace' | 'extends'>;
|
|
7
|
+
origin: string;
|
|
8
|
+
shouldWriteActivity?: boolean;
|
|
9
|
+
period?: ReportPeriod;
|
|
10
|
+
debug?: boolean;
|
|
11
|
+
}
|
|
12
|
+
interface MailData {
|
|
13
|
+
success: boolean;
|
|
14
|
+
task: {
|
|
15
|
+
id: string;
|
|
16
|
+
name: string;
|
|
17
|
+
recurrence: string;
|
|
18
|
+
targets: string[];
|
|
19
|
+
};
|
|
20
|
+
namespace: {
|
|
21
|
+
id: string;
|
|
22
|
+
name: string;
|
|
23
|
+
logo?: string;
|
|
24
|
+
};
|
|
25
|
+
contact?: string;
|
|
26
|
+
date: Date;
|
|
27
|
+
url: string;
|
|
28
|
+
generationId: string;
|
|
29
|
+
}
|
|
30
|
+
interface MailError {
|
|
31
|
+
env: string;
|
|
32
|
+
error: {
|
|
33
|
+
file: string;
|
|
34
|
+
filename: string;
|
|
35
|
+
contact: string;
|
|
36
|
+
};
|
|
37
|
+
date: Date;
|
|
38
|
+
}
|
|
39
|
+
type JobStatus = 'completed' | 'waiting' | 'active' | 'delayed' | 'failed' | 'paused' | 'stuck';
|
|
40
|
+
interface Job<Data = {}, Result = {}> {
|
|
41
|
+
id: string;
|
|
42
|
+
data: Data;
|
|
43
|
+
result?: Result;
|
|
44
|
+
progress: number;
|
|
45
|
+
added: Date;
|
|
46
|
+
started?: Date;
|
|
47
|
+
ended?: Date;
|
|
48
|
+
attempts: number;
|
|
49
|
+
status: JobStatus;
|
|
50
|
+
}
|
|
51
|
+
interface Queue {
|
|
52
|
+
name: string;
|
|
53
|
+
status: 'active' | 'paused';
|
|
54
|
+
}
|
|
55
|
+
type InputQueue = Omit<Queue, 'name'>;
|
|
56
|
+
|
|
57
|
+
/**
|
|
58
|
+
* Get all available queues
|
|
59
|
+
*
|
|
60
|
+
* @returns All queues' info
|
|
61
|
+
*/
|
|
62
|
+
declare function getAllQueues(): Promise<Queue[]>;
|
|
63
|
+
/**
|
|
64
|
+
* Get specific queue
|
|
65
|
+
*
|
|
66
|
+
* @param queueOrName Queue or queue's name
|
|
67
|
+
*
|
|
68
|
+
* @returns queue info
|
|
69
|
+
*/
|
|
70
|
+
declare function getQueue(queueOrName: Queue | string): Promise<Queue>;
|
|
71
|
+
/**
|
|
72
|
+
* Update specific queue
|
|
73
|
+
*
|
|
74
|
+
* @param queueOrName Queue or queue's name
|
|
75
|
+
*
|
|
76
|
+
* @returns queue info
|
|
77
|
+
*/
|
|
78
|
+
declare function updateQueue(queue: Partial<InputQueue> & {
|
|
79
|
+
name: string;
|
|
80
|
+
}): Promise<Queue>;
|
|
81
|
+
type PaginatedJobs<D = {}, R = {}> = SdkPaginated<Job<D, R>>;
|
|
82
|
+
/**
|
|
83
|
+
* Get jobs of a queue
|
|
84
|
+
*
|
|
85
|
+
* @param queueOrName Queue or queue's name
|
|
86
|
+
*
|
|
87
|
+
* @returns jobs in queue
|
|
88
|
+
*/
|
|
89
|
+
declare function getQueueJobs<D = {}, R = {}>(queueOrName: Queue | string, opts?: ApiRequestOptions): Promise<PaginatedJobs<D, R>>;
|
|
90
|
+
/**
|
|
91
|
+
* Get specific job
|
|
92
|
+
*
|
|
93
|
+
* @param queueOrName Queue or queue's name
|
|
94
|
+
* @param jobOrId Job or job's id in queue
|
|
95
|
+
*
|
|
96
|
+
* @returns Job full info
|
|
97
|
+
*/
|
|
98
|
+
declare function getJob<D = {}, R = {}>(queueOrName: Queue | string, jobOrId: Job<D, R> | string): Promise<Job<D, R>>;
|
|
99
|
+
/**
|
|
100
|
+
* Retry job that failed
|
|
101
|
+
*
|
|
102
|
+
* @param queueOrName Queue or queue's name
|
|
103
|
+
* @param jobOrId Job or job's id in queue
|
|
104
|
+
*
|
|
105
|
+
* @returns queue info
|
|
106
|
+
*/
|
|
107
|
+
declare function retryJob<D = {}, R = {}>(queueOrName: Queue | string, jobOrId: Job<D, R> | string): Promise<Job<D, R>>;
|
|
108
|
+
|
|
109
|
+
export { type GenerationData as G, type InputQueue as I, type Job as J, type MailData as M, type PaginatedJobs as P, type Queue as Q, type MailError as a, type JobStatus as b, getQueue as c, getJob as d, getQueueJobs as e, getAllQueues as g, retryJob as r, updateQueue as u };
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";var I=Object.defineProperty,W=Object.defineProperties;var j=Object.getOwnPropertyDescriptors;var M=Object.getOwnPropertySymbols;var q=Object.prototype.hasOwnProperty,D=Object.prototype.propertyIsEnumerable;var w=(e,r,t)=>r in e?I(e,r,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[r]=t,m=(e,r)=>{for(var t in r||(r={}))q.call(r,t)&&w(e,t,r[t]);if(M)for(var t of M(r))D.call(r,t)&&w(e,t,r[t]);return e},d=(e,r)=>W(e,j(r));const g=require("object-hash");let z="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict",L=(e=21)=>{let r="",t=e|0;for(;t--;)r+=z[Math.random()*64|0];return r};function C(e){return g({type:e.type,data:"data"in e?e.data:void 0,filters:"filters"in e?e.filters:void 0,params:e.params,slots:e.slots})}function S(e,r={},t){return{id:L(),type:e,params:r,slots:new Set(t!=null?t:[]),hash:""}}function B(e,r,t={},a){const l=d(m({},S(e,t,a)),{data:r});return l.hash=C(l),l}function b(e,r=[],t={},a){var n;const l=d(m({},S(e,t,a)),{filters:new Map((n=r==null?void 0:r.map(o=>[o.name,o]))!=null?n:[]),hash:""});return l.hash=C(l),l}function H(e="",r){return B("md",e,{},r)}function k(e){const r=typeof e.data=="string"?e.data:"";return H(r,e.slots)}function G(e){return e}function F(e=[],r=[],t=!0,a){return b("metric",r,{labels:e,order:t},a)}function A(e){var r,t,a,l,n;return F((t=(r=e.params)==null?void 0:r.labels)!=null?t:[],(a=e.filters)!=null?a:[],(n=(l=e.params)==null?void 0:l.order)!=null?n:!0,e.slots)}function J(e){return{labels:e.labels,order:e.order}}function s(e){return e.text}function Q(e){return e.params.labels.map(s)}function R(e,r,t){const a=s(r);if(e.params.labels.some(l=>s(l)===a))throw new Error(`Label "${r.text}" already exists`);return e.params.labels.splice(t!=null?t:e.params.labels.length,0,r),e}function U(e,r){const t=e,a=s(r);return t.params.labels=e.params.labels.filter(l=>s(l)!==a),e}function X(e,r,t){const a=s(r),l=e.params.labels.findIndex(o=>s(o)===a);if(l<0)throw new Error(`Label "${r.text}" not found`);const n=e;return n.params.labels[l]=t,e}function v(e="",r=[],t=!1,a=[],l=!0,n){return b("table",a,{title:e,columns:r,total:t,order:l},n)}function K(e){var r,t,a,l,n,o,p,i;return v((r=e.params)==null?void 0:r.title,(a=(t=e.params)==null?void 0:t.columns)!=null?a:[],(n=(l=e.params)==null?void 0:l.total)!=null?n:!1,(o=e.filters)!=null?o:[],(i=(p=e.params)==null?void 0:p.order)!=null?i:!0,e.slots)}function N(e){return{title:e.title,columns:e.columns,total:e.total,order:e.order}}function c(e){return e.header}function Y(e){return e.params.columns.map(c)}function Z(e,r,t){const a=c(r);if(e.params.columns.some(l=>c(l)===a))throw new Error(`Column "${r.header}" already exists`);return e.params.columns.splice(t!=null?t:e.params.columns.length,0,r),e}function _(e,r){const t=e,a=c(r);return t.params.columns=e.params.columns.filter(l=>c(l)!==a),e}function ee(e,r,t){const a=c(r),l=e.params.columns.findIndex(o=>c(o)===a);if(l<0)throw new Error(`Column "${a}" not found`);const n=e;return n.params.columns[l]=t,e}function y(e,r="",t={},a={},l,n,o=!1,p=[],i=!0,u){return b(e,p,{title:r,invertAxis:o,label:t,value:a,color:l,dataLabel:n,order:i},u)}function P(e){var r,t,a,l,n,o,p,i,u,h,O,T,f;return y(e.type,(t=(r=e.params)==null?void 0:r.title)!=null?t:"",(l=(a=e.params)==null?void 0:a.label)!=null?l:{},(o=(n=e.params)==null?void 0:n.value)!=null?o:{},(p=e.params)==null?void 0:p.color,(i=e.params)==null?void 0:i.dataLabel,(h=(u=e.params)==null?void 0:u.invertAxis)!=null?h:!1,(O=e.filters)!=null?O:[],(f=(T=e.params)==null?void 0:T.order)!=null?f:!0,e.slots)}function V(e){return{title:e.title,invertAxis:e.invertAxis,label:e.label,value:e.value,color:e.color,dataLabel:e.dataLabel,order:e.order}}function re(e,r,t,a){switch(e){case"md":return H(void 0,a);case"metric":return F(void 0,r,t,a);case"table":return v(void 0,void 0,void 0,r,t,a);default:return y(e,void 0,void 0,void 0,void 0,void 0,void 0,r,t,a)}}function te(e){switch(e.type){case"md":return k(e);case"metric":return A(e);case"table":return K(e);default:return P(e)}}function ae(e){let r={};switch(e.type){case"md":r=e.params;break;case"metric":r=J(e.params);break;case"table":r=N(e.params);break;default:r=V(e.params);break}return{type:e.type,data:"data"in e?e.data:void 0,filters:"filters"in e?Array.from(e.filters.values()):void 0,params:r,slots:Array.from(e.slots)}}function x(e){return e.type==="md"}function $(e){return e.type==="metric"}function E(e){return e.type==="table"}function le(e){return!x(e)&&!$(e)&&!E(e)}exports.addMetricLabelOfHelper=R;exports.addTableColumnOfHelper=Z;exports.createFigureHelper=re;exports.createFigureHelperFrom=te;exports.createMdFigureHelper=H;exports.createMdFigureHelperFrom=k;exports.createMetricFigureHelper=F;exports.createMetricFigureHelperFrom=A;exports.createTableFigureHelper=v;exports.createTableFigureHelperFrom=K;exports.createVegaFigureHelper=y;exports.createVegaFigureHelperFrom=P;exports.figureHelperToJSON=ae;exports.getAllMetricLabelKeysOfHelper=Q;exports.getAllTableColumnKeysOfHelper=Y;exports.getMetricLabelKey=s;exports.getTableColumnKey=c;exports.isFigureHelperMarkdown=x;exports.isFigureHelperMetric=$;exports.isFigureHelperTable=E;exports.isFigureHelperVega=le;exports.mdHelperParamsToJSON=G;exports.metricHelperParamsToJSON=J;exports.nanoid=L;exports.removeMetricLabelOfHelper=U;exports.removeTableColumnOfHelper=_;exports.tableHelperParamsToJSON=N;exports.updateMetricLabelOfHelper=X;exports.updateTableColumnOfHelper=ee;exports.vegaHelperParamsToJSON=V;
|
|
2
|
+
//# sourceMappingURL=index-btsFMVmd.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-btsFMVmd.js","sources":["../../../node_modules/.pnpm/nanoid@5.0.9/node_modules/nanoid/non-secure/index.js","../src/helpers/templates/editor/figures/base.ts","../src/helpers/templates/editor/figures/md.ts","../src/helpers/templates/editor/figures/metric.ts","../src/helpers/templates/editor/figures/table.ts","../src/helpers/templates/editor/figures/vega.ts","../src/helpers/templates/editor/figures/index.ts"],"sourcesContent":["let urlAlphabet =\n 'useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict'\nexport let customAlphabet = (alphabet, defaultSize = 21) => {\n return (size = defaultSize) => {\n let id = ''\n let i = size | 0\n while (i--) {\n id += alphabet[(Math.random() * alphabet.length) | 0]\n }\n return id\n }\n}\nexport let nanoid = (size = 21) => {\n let id = ''\n let i = size | 0\n while (i--) {\n id += urlAlphabet[(Math.random() * 64) | 0]\n }\n return id\n}\n","import { nanoid } from 'nanoid/non-secure';\nimport objectHash from 'object-hash';\n\nimport type { TemplateFilter, TemplateBodyFigure } from '~/modules/templates';\n\ninterface FigureHelper {\n readonly id: string;\n readonly type: string,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n params: Record<string, any>,\n slots: Set<number>,\n readonly hash: string\n}\n\nfunction hashFigure(figure: FigureHelper | TemplateBodyFigure): string {\n return objectHash({\n type: figure.type,\n data: 'data' in figure ? figure.data : undefined,\n filters: 'filters' in figure ? figure.filters : undefined,\n params: figure.params,\n slots: figure.slots,\n });\n}\n\nfunction createFigureHelper<T extends FigureHelper = FigureHelper>(\n type: string,\n params: Record<string, unknown> = {},\n slots?: number[],\n): T {\n return {\n id: nanoid(),\n type,\n params,\n slots: new Set(slots ?? []),\n hash: '',\n } satisfies FigureHelper as T;\n}\n\nexport interface FigureHelperWithData extends FigureHelper {\n data: string | unknown[];\n}\n\nexport function createFigureHelperWithData<T extends FigureHelperWithData = FigureHelperWithData>(\n type: string,\n data: string | unknown[],\n params: Record<string, unknown> = {},\n slots?: number[],\n): T {\n const figure = {\n ...createFigureHelper(type, params, slots),\n data,\n } satisfies FigureHelperWithData;\n\n figure.hash = hashFigure(figure);\n return figure as T;\n}\n\nexport interface FigureHelperWithFilters extends FigureHelper {\n filters: Map<string, TemplateFilter>;\n}\n\nexport function createFigureHelperWithFilters<\n T extends FigureHelperWithFilters = FigureHelperWithFilters,\n>(\n type: string,\n filters: TemplateFilter[] = [],\n params: Record<string, unknown> = {},\n slots?: number[],\n): T {\n const figure = {\n ...createFigureHelper(type, params, slots),\n filters: new Map(filters?.map((filter) => [filter.name, filter]) ?? []),\n hash: '',\n } satisfies FigureHelperWithFilters;\n\n figure.hash = hashFigure(figure);\n return figure as T;\n}\n","import type { TemplateBodyFigure } from '~/modules/templates';\nimport { type FigureHelperWithData, createFigureHelperWithData } from './base';\n\nexport interface MdFigure extends FigureHelperWithData {\n readonly type: 'md';\n data: string;\n readonly params: {};\n}\n\nexport function createMdFigureHelper(\n data = '',\n slots?: number[],\n): MdFigure {\n return createFigureHelperWithData(\n 'md',\n data,\n {},\n slots,\n );\n}\n\nexport function createMdFigureHelperFrom(figure: TemplateBodyFigure): MdFigure {\n const data = typeof figure.data === 'string' ? figure.data : '';\n return createMdFigureHelper(data, figure.slots);\n}\n\nexport function mdHelperParamsToJSON(params: MdFigure['params']): TemplateBodyFigure['params'] {\n return params;\n}\n","import type { TemplateFilter, TemplateBodyFigure } from '~/modules/templates';\nimport type { FigureAggregation } from '../aggregations';\nimport type { FigureOrder } from './utils';\nimport { type FigureHelperWithFilters, createFigureHelperWithFilters } from './base';\n\n/**\n * Type for labels used in metrics\n */\nexport interface MetricLabel {\n /**\n * The text of the label (rendered under the value)\n */\n text: string;\n /**\n * The aggregation used to fetch data,\n * if not set, the count of documents will be used\n */\n aggregation?: FigureAggregation,\n /**\n * Format options used to format the data\n */\n format?: {\n type: 'date' | 'number';\n params?: string[];\n }\n}\n\nexport interface MetricFigureHelper extends FigureHelperWithFilters {\n readonly type: 'metric';\n params: {\n labels: MetricLabel[];\n order: FigureOrder;\n };\n}\n\nexport function createMetricFigureHelper(\n labels: MetricLabel[] = [],\n filters: TemplateFilter[] = [],\n order: FigureOrder = true,\n slots?: number[],\n): MetricFigureHelper {\n return createFigureHelperWithFilters(\n 'metric',\n filters,\n {\n labels,\n order,\n },\n slots,\n );\n}\n\nexport function createMetricFigureHelperFrom(figure: TemplateBodyFigure): MetricFigureHelper {\n return createMetricFigureHelper(\n figure.params?.labels ?? [],\n figure.filters ?? [],\n figure.params?.order ?? true,\n figure.slots,\n );\n}\n\nexport function metricHelperParamsToJSON(params: MetricFigureHelper['params']): TemplateBodyFigure['params'] {\n return {\n labels: params.labels,\n order: params.order,\n };\n}\n\nexport function getMetricLabelKey(label: MetricLabel): string {\n return label.text;\n}\n\nexport function getAllMetricLabelKeysOfHelper(figure: MetricFigureHelper): string[] {\n return figure.params.labels.map(getMetricLabelKey);\n}\n\nexport function addMetricLabelOfHelper(\n figure: MetricFigureHelper,\n element: MetricLabel,\n index?: number,\n): MetricFigureHelper {\n const key = getMetricLabelKey(element);\n if (figure.params.labels.some((l) => getMetricLabelKey(l) === key)) {\n throw new Error(`Label \"${element.text}\" already exists`);\n }\n figure.params.labels.splice(index ?? figure.params.labels.length, 0, element);\n return figure;\n}\n\nexport function removeMetricLabelOfHelper(\n figure: MetricFigureHelper,\n element: MetricLabel,\n): MetricFigureHelper {\n const f = figure;\n const key = getMetricLabelKey(element);\n f.params.labels = figure.params.labels.filter((l) => getMetricLabelKey(l) !== key);\n return figure;\n}\n\nexport function updateMetricLabelOfHelper(\n figure: MetricFigureHelper,\n oldElement: MetricLabel,\n newElement: MetricLabel,\n): MetricFigureHelper {\n const oldKey = getMetricLabelKey(oldElement);\n const index = figure.params.labels.findIndex((l) => getMetricLabelKey(l) === oldKey);\n if (index < 0) {\n throw new Error(`Label \"${oldElement.text}\" not found`);\n }\n const f = figure;\n f.params.labels[index] = newElement;\n return figure;\n}\n","import type { TemplateFilter, TemplateBodyFigure } from '~/modules/templates';\nimport type { FigureAggregation } from '../aggregations';\nimport type { FigureOrder } from './utils';\nimport { type FigureHelperWithFilters, createFigureHelperWithFilters } from './base';\n\n/**\n * Type for columns used in tables\n */\nexport type TableColumn = {\n /**\n * The name of the column\n */\n header: string,\n /**\n * Whether the column is a metric,\n * can only be used once in a table\n */\n metric?: boolean,\n /**\n * The aggregation used to fetch data,\n * if not set, the \"value\" of the previous column will be used\n */\n aggregation?: FigureAggregation,\n /**\n * The style of the cells in this column\n */\n styles?: {\n fontStyle?: 'normal' | 'bold' | 'italic' | 'bolditalic';\n fillColor?: string | [number, number, number];\n textColor?: string | [number, number, number];\n headerColor?: string | [number, number, number];\n halign?: 'left' | 'center' | 'right' | 'justify';\n valign?: 'top' | 'middle' | 'bottom';\n fontSize?: number;\n lineColor?: string | [number, number, number];\n }\n};\n\n/**\n * Type for tables\n */\nexport interface TableFigureHelper extends FigureHelperWithFilters {\n readonly type: 'table';\n params: {\n title: string,\n columns: TableColumn[],\n total?: boolean,\n order?: FigureOrder;\n };\n}\n\nexport function createTableFigureHelper(\n title: string = '',\n columns: TableColumn[] = [],\n total: boolean = false,\n filters: TemplateFilter[] = [],\n order: FigureOrder = true,\n slots?: number[],\n): TableFigureHelper {\n return createFigureHelperWithFilters(\n 'table',\n filters,\n {\n title,\n columns,\n total,\n order,\n },\n slots,\n );\n}\n\nexport function createTableFigureHelperFrom(figure: TemplateBodyFigure): TableFigureHelper {\n return createTableFigureHelper(\n figure.params?.title,\n figure.params?.columns ?? [],\n figure.params?.total ?? false,\n figure.filters ?? [],\n figure.params?.order ?? true,\n figure.slots,\n );\n}\n\nexport function tableHelperParamsToJSON(params: TableFigureHelper['params']): TemplateBodyFigure['params'] {\n return {\n title: params.title,\n columns: params.columns,\n total: params.total,\n order: params.order,\n };\n}\n\nexport function getTableColumnKey(column: TableColumn): string {\n return column.header;\n}\n\nexport function getAllTableColumnKeysOfHelper(figure: TableFigureHelper): string[] {\n return figure.params.columns.map(getTableColumnKey);\n}\n\nexport function addTableColumnOfHelper(\n figure: TableFigureHelper,\n element: TableColumn,\n index?: number,\n): TableFigureHelper {\n const key = getTableColumnKey(element);\n if (figure.params.columns.some((c) => getTableColumnKey(c) === key)) {\n throw new Error(`Column \"${element.header}\" already exists`);\n }\n figure.params.columns.splice(index ?? figure.params.columns.length, 0, element);\n return figure;\n}\n\nexport function removeTableColumnOfHelper(\n figure: TableFigureHelper,\n element: TableColumn,\n): TableFigureHelper {\n const f = figure;\n const key = getTableColumnKey(element);\n f.params.columns = figure.params.columns.filter((c) => getTableColumnKey(c) !== key);\n return figure;\n}\n\nexport function updateTableColumnOfHelper(\n figure: TableFigureHelper,\n oldElement: TableColumn,\n newElement: TableColumn,\n): TableFigureHelper {\n const oldKey = getTableColumnKey(oldElement);\n const index = figure.params.columns.findIndex((c) => getTableColumnKey(c) === oldKey);\n if (index < 0) {\n throw new Error(`Column \"${oldKey}\" not found`);\n }\n const f = figure;\n f.params.columns[index] = newElement;\n return figure;\n}\n","import type { TemplateFilter, TemplateBodyFigure } from '~/modules/templates';\nimport type { FigureAggregation } from '../aggregations';\nimport type { FigureOrder } from './utils';\nimport { type FigureHelperWithFilters, createFigureHelperWithFilters } from './base';\n\n/**\n * Type for layers used in vega\n */\nexport interface VegaLayer extends Record<string, unknown> {\n /**\n * The aggregation used to fetch data,\n * if not set, the \"value\" of the label (or color if present) layer will be used\n */\n aggregation?: FigureAggregation;\n /**\n * The title of the axis\n */\n title?: string;\n /**\n * The legend, if `null` no legend will be shown\n */\n legend?: null | { title?: string };\n}\n\n/**\n * Type for data label options\n */\nexport interface VegaDataLabelOptions {\n format: 'percent' | 'numeric';\n position?: 'out' | 'in';\n showLabel?: boolean;\n minValue?: number;\n}\n\nexport interface VegaFigureHelper extends FigureHelperWithFilters {\n params: {\n /**\n * The title of the figure\n */\n title: string;\n /**\n * Whether the axis should be inverted\n */\n invertAxis?: boolean;\n /**\n * The label layer of the figure, often used for the x axis\n */\n label: VegaLayer;\n /**\n * The value layer of the figure, often used for the y axis\n */\n value: VegaLayer;\n /**\n * The color layer of the figure, often used for splitting the value\n */\n color?: VegaLayer;\n /**\n * The data label options\n *\n * Data labels are displayed on top of the value layer, and show details about values\n */\n dataLabel?: VegaDataLabelOptions;\n /**\n * The order of the data in the chart\n */\n order?: FigureOrder;\n };\n}\n\nexport function createVegaFigureHelper(\n type: string,\n title: string = '',\n label: VegaLayer = {},\n value: VegaLayer = {},\n color?: VegaLayer,\n dataLabel?: VegaDataLabelOptions,\n invertAxis: boolean = false,\n filters: TemplateFilter[] = [],\n order: FigureOrder = true,\n slots?: number[],\n): VegaFigureHelper {\n return createFigureHelperWithFilters(\n type,\n filters,\n {\n title,\n invertAxis,\n label,\n value,\n color,\n dataLabel,\n order,\n },\n slots,\n );\n}\n\nexport function createVegaFigureHelperFrom(figure: TemplateBodyFigure): VegaFigureHelper {\n return createVegaFigureHelper(\n figure.type,\n figure.params?.title ?? '',\n figure.params?.label ?? {},\n figure.params?.value ?? {},\n figure.params?.color,\n figure.params?.dataLabel,\n figure.params?.invertAxis ?? false,\n figure.filters ?? [],\n figure.params?.order ?? true,\n figure.slots,\n );\n}\n\nexport function vegaHelperParamsToJSON(params: VegaFigureHelper['params']): TemplateBodyFigure['params'] {\n return {\n title: params.title,\n invertAxis: params.invertAxis,\n label: params.label,\n value: params.value,\n color: params.color,\n dataLabel: params.dataLabel,\n order: params.order,\n };\n}\n","import type { TemplateFilter, TemplateBodyFigure as IFigure } from '~/modules/templates';\nimport type { FigureOrder } from './utils';\n\nimport {\n type MdFigure,\n createMdFigureHelper,\n createMdFigureHelperFrom,\n mdHelperParamsToJSON,\n} from './md';\nimport {\n type MetricFigureHelper,\n createMetricFigureHelper,\n createMetricFigureHelperFrom,\n metricHelperParamsToJSON,\n} from './metric';\nimport {\n type TableFigureHelper,\n createTableFigureHelper,\n createTableFigureHelperFrom,\n tableHelperParamsToJSON,\n} from './table';\nimport {\n type VegaFigureHelper,\n createVegaFigureHelper,\n createVegaFigureHelperFrom,\n vegaHelperParamsToJSON,\n} from './vega';\n\nexport type AnyFigureHelper = MdFigure | MetricFigureHelper | TableFigureHelper | VegaFigureHelper;\n\nexport type FigureHelperSet = Map<string, AnyFigureHelper>;\n\n/**\n * Create a figure helper\n *\n * @param figure The figure object\n *\n * @returns The figure helper\n */\nexport function createFigureHelper(\n type: AnyFigureHelper['type'],\n filters?: TemplateFilter[],\n order?: FigureOrder,\n slots?: number[],\n): AnyFigureHelper {\n switch (type) {\n case 'md':\n return createMdFigureHelper(\n undefined,\n slots,\n );\n\n case 'metric':\n return createMetricFigureHelper(\n undefined,\n filters,\n order,\n slots,\n );\n\n case 'table':\n return createTableFigureHelper(\n undefined,\n undefined,\n undefined,\n filters,\n order,\n slots,\n );\n\n default:\n return createVegaFigureHelper(\n type,\n undefined,\n undefined,\n undefined,\n undefined,\n undefined,\n undefined,\n filters,\n order,\n slots,\n );\n }\n}\n\n/**\n * Create a figure helper from a figure object\n *\n * @param figure The figure object\n *\n * @returns The figure helper\n */\nexport function createFigureHelperFrom(figure: IFigure): AnyFigureHelper {\n switch (figure.type) {\n case 'md':\n return createMdFigureHelperFrom(figure);\n\n case 'metric':\n return createMetricFigureHelperFrom(figure);\n\n case 'table':\n return createTableFigureHelperFrom(figure);\n\n default:\n return createVegaFigureHelperFrom(figure);\n }\n}\n\n/**\n * Create a figure object from a figure helper\n *\n * @param figure The figure helper\n *\n * @returns The figure object\n */\nexport function figureHelperToJSON(figure: AnyFigureHelper): IFigure {\n let params: IFigure['params'] = {};\n switch (figure.type) {\n case 'md':\n params = mdHelperParamsToJSON((figure as MdFigure).params);\n break;\n\n case 'metric':\n params = metricHelperParamsToJSON((figure as MetricFigureHelper).params);\n break;\n\n case 'table':\n params = tableHelperParamsToJSON((figure as TableFigureHelper).params);\n break;\n\n default:\n params = vegaHelperParamsToJSON((figure as VegaFigureHelper).params);\n break;\n }\n\n return {\n type: figure.type,\n data: 'data' in figure ? figure.data : undefined,\n filters: 'filters' in figure ? Array.from(figure.filters.values()) : undefined,\n params,\n slots: Array.from(figure.slots),\n };\n}\n\nexport function isFigureHelperMarkdown(figure: AnyFigureHelper): figure is MdFigure {\n return figure.type === 'md';\n}\nexport function isFigureHelperMetric(figure: AnyFigureHelper): figure is MetricFigureHelper {\n return figure.type === 'metric';\n}\nexport function isFigureHelperTable(figure: AnyFigureHelper): figure is TableFigureHelper {\n return figure.type === 'table';\n}\nexport function isFigureHelperVega(figure: AnyFigureHelper): figure is VegaFigureHelper {\n return !isFigureHelperMarkdown(figure)\n && !isFigureHelperMetric(figure)\n && !isFigureHelperTable(figure);\n}\n\nexport * from './utils';\nexport * from './md';\nexport * from './metric';\nexport * from './table';\nexport * from './vega';\n"],"names":["urlAlphabet","nanoid","size","id","i","hashFigure","figure","objectHash","createFigureHelper","type","params","slots","createFigureHelperWithData","data","__spreadProps","__spreadValues","createFigureHelperWithFilters","filters","_a","filter","createMdFigureHelper","createMdFigureHelperFrom","mdHelperParamsToJSON","createMetricFigureHelper","labels","order","createMetricFigureHelperFrom","_b","_c","_e","_d","metricHelperParamsToJSON","getMetricLabelKey","label","getAllMetricLabelKeysOfHelper","addMetricLabelOfHelper","element","index","key","removeMetricLabelOfHelper","f","updateMetricLabelOfHelper","oldElement","newElement","oldKey","l","createTableFigureHelper","title","columns","total","createTableFigureHelperFrom","_f","_h","_g","tableHelperParamsToJSON","getTableColumnKey","column","getAllTableColumnKeysOfHelper","addTableColumnOfHelper","c","removeTableColumnOfHelper","updateTableColumnOfHelper","createVegaFigureHelper","value","color","dataLabel","invertAxis","createVegaFigureHelperFrom","_j","_i","_k","_m","_l","vegaHelperParamsToJSON","createFigureHelperFrom","figureHelperToJSON","isFigureHelperMarkdown","isFigureHelperMetric","isFigureHelperTable","isFigureHelperVega"],"mappings":"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","x_google_ignoreList":[0]}
|
|
@@ -0,0 +1,331 @@
|
|
|
1
|
+
var A = Object.defineProperty, C = Object.defineProperties;
|
|
2
|
+
var x = Object.getOwnPropertyDescriptors;
|
|
3
|
+
var F = Object.getOwnPropertySymbols;
|
|
4
|
+
var K = Object.prototype.hasOwnProperty, S = Object.prototype.propertyIsEnumerable;
|
|
5
|
+
var f = (e, a, t) => a in e ? A(e, a, { enumerable: !0, configurable: !0, writable: !0, value: t }) : e[a] = t, i = (e, a) => {
|
|
6
|
+
for (var t in a || (a = {}))
|
|
7
|
+
K.call(a, t) && f(e, t, a[t]);
|
|
8
|
+
if (F)
|
|
9
|
+
for (var t of F(a))
|
|
10
|
+
S.call(a, t) && f(e, t, a[t]);
|
|
11
|
+
return e;
|
|
12
|
+
}, d = (e, a) => C(e, x(a));
|
|
13
|
+
import J from "object-hash";
|
|
14
|
+
let N = "useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict", P = (e = 21) => {
|
|
15
|
+
let a = "", t = e | 0;
|
|
16
|
+
for (; t--; )
|
|
17
|
+
a += N[Math.random() * 64 | 0];
|
|
18
|
+
return a;
|
|
19
|
+
};
|
|
20
|
+
function w(e) {
|
|
21
|
+
return J({
|
|
22
|
+
type: e.type,
|
|
23
|
+
data: "data" in e ? e.data : void 0,
|
|
24
|
+
filters: "filters" in e ? e.filters : void 0,
|
|
25
|
+
params: e.params,
|
|
26
|
+
slots: e.slots
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
function M(e, a = {}, t) {
|
|
30
|
+
return {
|
|
31
|
+
id: P(),
|
|
32
|
+
type: e,
|
|
33
|
+
params: a,
|
|
34
|
+
slots: new Set(t != null ? t : []),
|
|
35
|
+
hash: ""
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
function $(e, a, t = {}, r) {
|
|
39
|
+
const n = d(i({}, M(e, t, r)), {
|
|
40
|
+
data: a
|
|
41
|
+
});
|
|
42
|
+
return n.hash = w(n), n;
|
|
43
|
+
}
|
|
44
|
+
function b(e, a = [], t = {}, r) {
|
|
45
|
+
var s;
|
|
46
|
+
const n = d(i({}, M(e, t, r)), {
|
|
47
|
+
filters: new Map((s = a == null ? void 0 : a.map((l) => [l.name, l])) != null ? s : []),
|
|
48
|
+
hash: ""
|
|
49
|
+
});
|
|
50
|
+
return n.hash = w(n), n;
|
|
51
|
+
}
|
|
52
|
+
function O(e = "", a) {
|
|
53
|
+
return $(
|
|
54
|
+
"md",
|
|
55
|
+
e,
|
|
56
|
+
{},
|
|
57
|
+
a
|
|
58
|
+
);
|
|
59
|
+
}
|
|
60
|
+
function E(e) {
|
|
61
|
+
const a = typeof e.data == "string" ? e.data : "";
|
|
62
|
+
return O(a, e.slots);
|
|
63
|
+
}
|
|
64
|
+
function U(e) {
|
|
65
|
+
return e;
|
|
66
|
+
}
|
|
67
|
+
function T(e = [], a = [], t = !0, r) {
|
|
68
|
+
return b(
|
|
69
|
+
"metric",
|
|
70
|
+
a,
|
|
71
|
+
{
|
|
72
|
+
labels: e,
|
|
73
|
+
order: t
|
|
74
|
+
},
|
|
75
|
+
r
|
|
76
|
+
);
|
|
77
|
+
}
|
|
78
|
+
function V(e) {
|
|
79
|
+
var a, t, r, n, s;
|
|
80
|
+
return T(
|
|
81
|
+
(t = (a = e.params) == null ? void 0 : a.labels) != null ? t : [],
|
|
82
|
+
(r = e.filters) != null ? r : [],
|
|
83
|
+
(s = (n = e.params) == null ? void 0 : n.order) != null ? s : !0,
|
|
84
|
+
e.slots
|
|
85
|
+
);
|
|
86
|
+
}
|
|
87
|
+
function j(e) {
|
|
88
|
+
return {
|
|
89
|
+
labels: e.labels,
|
|
90
|
+
order: e.order
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
function p(e) {
|
|
94
|
+
return e.text;
|
|
95
|
+
}
|
|
96
|
+
function X(e) {
|
|
97
|
+
return e.params.labels.map(p);
|
|
98
|
+
}
|
|
99
|
+
function Y(e, a, t) {
|
|
100
|
+
const r = p(a);
|
|
101
|
+
if (e.params.labels.some((n) => p(n) === r))
|
|
102
|
+
throw new Error(`Label "${a.text}" already exists`);
|
|
103
|
+
return e.params.labels.splice(t != null ? t : e.params.labels.length, 0, a), e;
|
|
104
|
+
}
|
|
105
|
+
function Z(e, a) {
|
|
106
|
+
const t = e, r = p(a);
|
|
107
|
+
return t.params.labels = e.params.labels.filter((n) => p(n) !== r), e;
|
|
108
|
+
}
|
|
109
|
+
function _(e, a, t) {
|
|
110
|
+
const r = p(a), n = e.params.labels.findIndex((l) => p(l) === r);
|
|
111
|
+
if (n < 0)
|
|
112
|
+
throw new Error(`Label "${a.text}" not found`);
|
|
113
|
+
const s = e;
|
|
114
|
+
return s.params.labels[n] = t, e;
|
|
115
|
+
}
|
|
116
|
+
function k(e = "", a = [], t = !1, r = [], n = !0, s) {
|
|
117
|
+
return b(
|
|
118
|
+
"table",
|
|
119
|
+
r,
|
|
120
|
+
{
|
|
121
|
+
title: e,
|
|
122
|
+
columns: a,
|
|
123
|
+
total: t,
|
|
124
|
+
order: n
|
|
125
|
+
},
|
|
126
|
+
s
|
|
127
|
+
);
|
|
128
|
+
}
|
|
129
|
+
function D(e) {
|
|
130
|
+
var a, t, r, n, s, l, o, c;
|
|
131
|
+
return k(
|
|
132
|
+
(a = e.params) == null ? void 0 : a.title,
|
|
133
|
+
(r = (t = e.params) == null ? void 0 : t.columns) != null ? r : [],
|
|
134
|
+
(s = (n = e.params) == null ? void 0 : n.total) != null ? s : !1,
|
|
135
|
+
(l = e.filters) != null ? l : [],
|
|
136
|
+
(c = (o = e.params) == null ? void 0 : o.order) != null ? c : !0,
|
|
137
|
+
e.slots
|
|
138
|
+
);
|
|
139
|
+
}
|
|
140
|
+
function I(e) {
|
|
141
|
+
return {
|
|
142
|
+
title: e.title,
|
|
143
|
+
columns: e.columns,
|
|
144
|
+
total: e.total,
|
|
145
|
+
order: e.order
|
|
146
|
+
};
|
|
147
|
+
}
|
|
148
|
+
function u(e) {
|
|
149
|
+
return e.header;
|
|
150
|
+
}
|
|
151
|
+
function g(e) {
|
|
152
|
+
return e.params.columns.map(u);
|
|
153
|
+
}
|
|
154
|
+
function ee(e, a, t) {
|
|
155
|
+
const r = u(a);
|
|
156
|
+
if (e.params.columns.some((n) => u(n) === r))
|
|
157
|
+
throw new Error(`Column "${a.header}" already exists`);
|
|
158
|
+
return e.params.columns.splice(t != null ? t : e.params.columns.length, 0, a), e;
|
|
159
|
+
}
|
|
160
|
+
function ae(e, a) {
|
|
161
|
+
const t = e, r = u(a);
|
|
162
|
+
return t.params.columns = e.params.columns.filter((n) => u(n) !== r), e;
|
|
163
|
+
}
|
|
164
|
+
function te(e, a, t) {
|
|
165
|
+
const r = u(a), n = e.params.columns.findIndex((l) => u(l) === r);
|
|
166
|
+
if (n < 0)
|
|
167
|
+
throw new Error(`Column "${r}" not found`);
|
|
168
|
+
const s = e;
|
|
169
|
+
return s.params.columns[n] = t, e;
|
|
170
|
+
}
|
|
171
|
+
function L(e, a = "", t = {}, r = {}, n, s, l = !1, o = [], c = !0, m) {
|
|
172
|
+
return b(
|
|
173
|
+
e,
|
|
174
|
+
o,
|
|
175
|
+
{
|
|
176
|
+
title: a,
|
|
177
|
+
invertAxis: l,
|
|
178
|
+
label: t,
|
|
179
|
+
value: r,
|
|
180
|
+
color: n,
|
|
181
|
+
dataLabel: s,
|
|
182
|
+
order: c
|
|
183
|
+
},
|
|
184
|
+
m
|
|
185
|
+
);
|
|
186
|
+
}
|
|
187
|
+
function W(e) {
|
|
188
|
+
var a, t, r, n, s, l, o, c, m, H, h, v, y;
|
|
189
|
+
return L(
|
|
190
|
+
e.type,
|
|
191
|
+
(t = (a = e.params) == null ? void 0 : a.title) != null ? t : "",
|
|
192
|
+
(n = (r = e.params) == null ? void 0 : r.label) != null ? n : {},
|
|
193
|
+
(l = (s = e.params) == null ? void 0 : s.value) != null ? l : {},
|
|
194
|
+
(o = e.params) == null ? void 0 : o.color,
|
|
195
|
+
(c = e.params) == null ? void 0 : c.dataLabel,
|
|
196
|
+
(H = (m = e.params) == null ? void 0 : m.invertAxis) != null ? H : !1,
|
|
197
|
+
(h = e.filters) != null ? h : [],
|
|
198
|
+
(y = (v = e.params) == null ? void 0 : v.order) != null ? y : !0,
|
|
199
|
+
e.slots
|
|
200
|
+
);
|
|
201
|
+
}
|
|
202
|
+
function q(e) {
|
|
203
|
+
return {
|
|
204
|
+
title: e.title,
|
|
205
|
+
invertAxis: e.invertAxis,
|
|
206
|
+
label: e.label,
|
|
207
|
+
value: e.value,
|
|
208
|
+
color: e.color,
|
|
209
|
+
dataLabel: e.dataLabel,
|
|
210
|
+
order: e.order
|
|
211
|
+
};
|
|
212
|
+
}
|
|
213
|
+
function re(e, a, t, r) {
|
|
214
|
+
switch (e) {
|
|
215
|
+
case "md":
|
|
216
|
+
return O(
|
|
217
|
+
void 0,
|
|
218
|
+
r
|
|
219
|
+
);
|
|
220
|
+
case "metric":
|
|
221
|
+
return T(
|
|
222
|
+
void 0,
|
|
223
|
+
a,
|
|
224
|
+
t,
|
|
225
|
+
r
|
|
226
|
+
);
|
|
227
|
+
case "table":
|
|
228
|
+
return k(
|
|
229
|
+
void 0,
|
|
230
|
+
void 0,
|
|
231
|
+
void 0,
|
|
232
|
+
a,
|
|
233
|
+
t,
|
|
234
|
+
r
|
|
235
|
+
);
|
|
236
|
+
default:
|
|
237
|
+
return L(
|
|
238
|
+
e,
|
|
239
|
+
void 0,
|
|
240
|
+
void 0,
|
|
241
|
+
void 0,
|
|
242
|
+
void 0,
|
|
243
|
+
void 0,
|
|
244
|
+
void 0,
|
|
245
|
+
a,
|
|
246
|
+
t,
|
|
247
|
+
r
|
|
248
|
+
);
|
|
249
|
+
}
|
|
250
|
+
}
|
|
251
|
+
function ne(e) {
|
|
252
|
+
switch (e.type) {
|
|
253
|
+
case "md":
|
|
254
|
+
return E(e);
|
|
255
|
+
case "metric":
|
|
256
|
+
return V(e);
|
|
257
|
+
case "table":
|
|
258
|
+
return D(e);
|
|
259
|
+
default:
|
|
260
|
+
return W(e);
|
|
261
|
+
}
|
|
262
|
+
}
|
|
263
|
+
function se(e) {
|
|
264
|
+
let a = {};
|
|
265
|
+
switch (e.type) {
|
|
266
|
+
case "md":
|
|
267
|
+
a = e.params;
|
|
268
|
+
break;
|
|
269
|
+
case "metric":
|
|
270
|
+
a = j(e.params);
|
|
271
|
+
break;
|
|
272
|
+
case "table":
|
|
273
|
+
a = I(e.params);
|
|
274
|
+
break;
|
|
275
|
+
default:
|
|
276
|
+
a = q(e.params);
|
|
277
|
+
break;
|
|
278
|
+
}
|
|
279
|
+
return {
|
|
280
|
+
type: e.type,
|
|
281
|
+
data: "data" in e ? e.data : void 0,
|
|
282
|
+
filters: "filters" in e ? Array.from(e.filters.values()) : void 0,
|
|
283
|
+
params: a,
|
|
284
|
+
slots: Array.from(e.slots)
|
|
285
|
+
};
|
|
286
|
+
}
|
|
287
|
+
function z(e) {
|
|
288
|
+
return e.type === "md";
|
|
289
|
+
}
|
|
290
|
+
function B(e) {
|
|
291
|
+
return e.type === "metric";
|
|
292
|
+
}
|
|
293
|
+
function G(e) {
|
|
294
|
+
return e.type === "table";
|
|
295
|
+
}
|
|
296
|
+
function le(e) {
|
|
297
|
+
return !z(e) && !B(e) && !G(e);
|
|
298
|
+
}
|
|
299
|
+
export {
|
|
300
|
+
te as A,
|
|
301
|
+
L as B,
|
|
302
|
+
W as C,
|
|
303
|
+
q as D,
|
|
304
|
+
re as a,
|
|
305
|
+
B as b,
|
|
306
|
+
ne as c,
|
|
307
|
+
G as d,
|
|
308
|
+
le as e,
|
|
309
|
+
se as f,
|
|
310
|
+
O as g,
|
|
311
|
+
E as h,
|
|
312
|
+
z as i,
|
|
313
|
+
T as j,
|
|
314
|
+
V as k,
|
|
315
|
+
j as l,
|
|
316
|
+
U as m,
|
|
317
|
+
P as n,
|
|
318
|
+
p as o,
|
|
319
|
+
X as p,
|
|
320
|
+
Y as q,
|
|
321
|
+
Z as r,
|
|
322
|
+
k as s,
|
|
323
|
+
D as t,
|
|
324
|
+
_ as u,
|
|
325
|
+
I as v,
|
|
326
|
+
u as w,
|
|
327
|
+
g as x,
|
|
328
|
+
ee as y,
|
|
329
|
+
ae as z
|
|
330
|
+
};
|
|
331
|
+
//# sourceMappingURL=index-niBfS4wD.mjs.map
|