@ezpaarse-project/ezreeport-sdk-js 1.3.0 → 2.0.0-beta.2

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.
Files changed (205) hide show
  1. package/README.md +9 -10
  2. package/dist/api-C_g0ldUn.d.ts +24 -0
  3. package/dist/api-D8l8Ds3U.mjs +19 -0
  4. package/dist/api-D8l8Ds3U.mjs.map +1 -0
  5. package/dist/api-DVzOqMA2.js +2 -0
  6. package/dist/api-DVzOqMA2.js.map +1 -0
  7. package/dist/auth.d.ts +47 -0
  8. package/dist/auth.js +2 -0
  9. package/dist/auth.js.map +1 -0
  10. package/dist/auth.mjs +7 -0
  11. package/dist/auth.mjs.map +1 -0
  12. package/dist/body-BqAn9vHJ.d.ts +16 -0
  13. package/dist/crons.d.ts +16 -0
  14. package/dist/crons.js +2 -0
  15. package/dist/crons.js.map +1 -0
  16. package/dist/crons.mjs +90 -0
  17. package/dist/crons.mjs.map +1 -0
  18. package/dist/decorator-C2gcn2rK.js +2 -0
  19. package/dist/decorator-C2gcn2rK.js.map +1 -0
  20. package/dist/decorator-DBkj--6g.mjs +26 -0
  21. package/dist/decorator-DBkj--6g.mjs.map +1 -0
  22. package/dist/elastic.d.ts +26 -0
  23. package/dist/elastic.js +2 -0
  24. package/dist/elastic.js.map +1 -0
  25. package/dist/elastic.mjs +45 -0
  26. package/dist/elastic.mjs.map +1 -0
  27. package/dist/fetch-Hd-ajPIl.js +2 -0
  28. package/dist/fetch-Hd-ajPIl.js.map +1 -0
  29. package/dist/fetch-xZFTa3q1.mjs +16 -0
  30. package/dist/fetch-xZFTa3q1.mjs.map +1 -0
  31. package/dist/health.d.ts +47 -0
  32. package/dist/health.js +2 -0
  33. package/dist/health.js.map +1 -0
  34. package/dist/health.mjs +41 -0
  35. package/dist/health.mjs.map +1 -0
  36. package/dist/helpers/aggregations.d.ts +109 -0
  37. package/dist/helpers/aggregations.js +2 -0
  38. package/dist/helpers/aggregations.js.map +1 -0
  39. package/dist/helpers/aggregations.mjs +42 -0
  40. package/dist/helpers/aggregations.mjs.map +1 -0
  41. package/dist/helpers/figures.d.ts +221 -0
  42. package/dist/helpers/figures.js +2 -0
  43. package/dist/helpers/figures.js.map +1 -0
  44. package/dist/helpers/figures.mjs +33 -0
  45. package/dist/helpers/figures.mjs.map +1 -0
  46. package/dist/helpers/filters.d.ts +8 -0
  47. package/dist/helpers/filters.js +2 -0
  48. package/dist/helpers/filters.js.map +1 -0
  49. package/dist/helpers/filters.mjs +7 -0
  50. package/dist/helpers/filters.mjs.map +1 -0
  51. package/dist/helpers/jobs.d.ts +109 -0
  52. package/dist/helpers/jobs.js +2 -0
  53. package/dist/helpers/jobs.js.map +1 -0
  54. package/dist/helpers/jobs.mjs +390 -0
  55. package/dist/helpers/jobs.mjs.map +1 -0
  56. package/dist/helpers/layouts.d.ts +19 -0
  57. package/dist/helpers/layouts.js +2 -0
  58. package/dist/helpers/layouts.js.map +1 -0
  59. package/dist/helpers/layouts.mjs +44 -0
  60. package/dist/helpers/layouts.mjs.map +1 -0
  61. package/dist/helpers/permissions.d.ts +15 -0
  62. package/dist/helpers/permissions.js +2 -0
  63. package/dist/helpers/permissions.js.map +1 -0
  64. package/dist/helpers/permissions.mjs +40 -0
  65. package/dist/helpers/permissions.mjs.map +1 -0
  66. package/dist/helpers/task-presets.d.ts +16 -0
  67. package/dist/helpers/task-presets.js +2 -0
  68. package/dist/helpers/task-presets.js.map +1 -0
  69. package/dist/helpers/task-presets.mjs +36 -0
  70. package/dist/helpers/task-presets.mjs.map +1 -0
  71. package/dist/helpers/tasks.d.ts +56 -0
  72. package/dist/helpers/tasks.js +2 -0
  73. package/dist/helpers/tasks.js.map +1 -0
  74. package/dist/helpers/tasks.mjs +195 -0
  75. package/dist/helpers/tasks.mjs.map +1 -0
  76. package/dist/helpers/templates.d.ts +34 -0
  77. package/dist/helpers/templates.js +2 -0
  78. package/dist/helpers/templates.js.map +1 -0
  79. package/dist/helpers/templates.mjs +130 -0
  80. package/dist/helpers/templates.mjs.map +1 -0
  81. package/dist/index-6ma-WCUD.d.ts +109 -0
  82. package/dist/index-btsFMVmd.js +2 -0
  83. package/dist/index-btsFMVmd.js.map +1 -0
  84. package/dist/index-niBfS4wD.mjs +331 -0
  85. package/dist/index-niBfS4wD.mjs.map +1 -0
  86. package/dist/index.d.ts +16 -0
  87. package/dist/index.js +2 -0
  88. package/dist/index.js.map +1 -0
  89. package/dist/index.mjs +7 -0
  90. package/dist/index.mjs.map +1 -0
  91. package/dist/methods-BBsb3M5p.mjs +142 -0
  92. package/dist/methods-BBsb3M5p.mjs.map +1 -0
  93. package/dist/methods-BJfwYB1p.mjs +126 -0
  94. package/dist/methods-BJfwYB1p.mjs.map +1 -0
  95. package/dist/methods-CGdoP4Hi.js +2 -0
  96. package/dist/methods-CGdoP4Hi.js.map +1 -0
  97. package/dist/methods-CO0p8irP.js +2 -0
  98. package/dist/methods-CO0p8irP.js.map +1 -0
  99. package/dist/methods-DOB4Ry8E.mjs +147 -0
  100. package/dist/methods-DOB4Ry8E.mjs.map +1 -0
  101. package/dist/methods-DU5cbtLn.js +2 -0
  102. package/dist/methods-DU5cbtLn.js.map +1 -0
  103. package/dist/methods-DUqC5qzU.mjs +146 -0
  104. package/dist/methods-DUqC5qzU.mjs.map +1 -0
  105. package/dist/methods-DY2VLwGd.mjs +116 -0
  106. package/dist/methods-DY2VLwGd.mjs.map +1 -0
  107. package/dist/methods-Jar1Wkpj.js +2 -0
  108. package/dist/methods-Jar1Wkpj.js.map +1 -0
  109. package/dist/methods-M4GU2OL5.mjs +51 -0
  110. package/dist/methods-M4GU2OL5.mjs.map +1 -0
  111. package/dist/methods-cUjyNkoK.js +2 -0
  112. package/dist/methods-cUjyNkoK.js.map +1 -0
  113. package/dist/methods-uWDk6_pk.js +2 -0
  114. package/dist/methods-uWDk6_pk.js.map +1 -0
  115. package/dist/namespaces.d.ts +28 -0
  116. package/dist/namespaces.js +2 -0
  117. package/dist/namespaces.js.map +1 -0
  118. package/dist/namespaces.mjs +2 -0
  119. package/dist/namespaces.mjs.map +1 -0
  120. package/dist/queues.d.ts +6 -0
  121. package/dist/queues.js +2 -0
  122. package/dist/queues.js.map +1 -0
  123. package/dist/queues.mjs +10 -0
  124. package/dist/queues.mjs.map +1 -0
  125. package/dist/reports.d.ts +85 -0
  126. package/dist/reports.js +2 -0
  127. package/dist/reports.js.map +1 -0
  128. package/dist/reports.mjs +12 -0
  129. package/dist/reports.mjs.map +1 -0
  130. package/dist/task-activity.d.ts +33 -0
  131. package/dist/task-activity.js +2 -0
  132. package/dist/task-activity.js.map +1 -0
  133. package/dist/task-activity.mjs +66 -0
  134. package/dist/task-activity.mjs.map +1 -0
  135. package/dist/task-presets.d.ts +61 -0
  136. package/dist/task-presets.js +2 -0
  137. package/dist/task-presets.js.map +1 -0
  138. package/dist/task-presets.mjs +10 -0
  139. package/dist/task-presets.mjs.map +1 -0
  140. package/dist/tasks-1x680qAf.mjs +34 -0
  141. package/dist/tasks-1x680qAf.mjs.map +1 -0
  142. package/dist/tasks-BDFAJ6Oi.d.ts +12 -0
  143. package/dist/tasks-hn70eL7B.js +2 -0
  144. package/dist/tasks-hn70eL7B.js.map +1 -0
  145. package/dist/tasks.d.ts +60 -0
  146. package/dist/tasks.js +2 -0
  147. package/dist/tasks.js.map +1 -0
  148. package/dist/tasks.mjs +10 -0
  149. package/dist/tasks.mjs.map +1 -0
  150. package/dist/templates-BgRTZc5c.d.ts +14 -0
  151. package/dist/templates-yZjsVuN9.js +2 -0
  152. package/dist/templates-yZjsVuN9.js.map +1 -0
  153. package/dist/templates-zMmVXt6k.mjs +30 -0
  154. package/dist/templates-zMmVXt6k.mjs.map +1 -0
  155. package/dist/templates.d.ts +51 -0
  156. package/dist/templates.js +2 -0
  157. package/dist/templates.js.map +1 -0
  158. package/dist/templates.mjs +9 -0
  159. package/dist/templates.mjs.map +1 -0
  160. package/dist/transform-DzLAfSJo.js +2 -0
  161. package/dist/transform-DzLAfSJo.js.map +1 -0
  162. package/dist/transform-EpMTJExd.mjs +26 -0
  163. package/dist/transform-EpMTJExd.mjs.map +1 -0
  164. package/dist/types-BGlpjxH9.d.ts +50 -0
  165. package/dist/types-C4AhJDkW.d.ts +77 -0
  166. package/dist/types-DcoMmjs3.d.ts +101 -0
  167. package/dist/types-jXqGnCKQ.d.ts +79 -0
  168. package/package.json +126 -25
  169. package/dist/browser/ezreeport-sdk-js.mjs +0 -979
  170. package/dist/browser/ezreeport-sdk-js.mjs.map +0 -1
  171. package/dist/browser/ezreeport-sdk-js.umd.js +0 -2
  172. package/dist/browser/ezreeport-sdk-js.umd.js.map +0 -1
  173. package/dist/node/ezreeport-sdk-js.js +0 -2
  174. package/dist/node/ezreeport-sdk-js.js.map +0 -1
  175. package/dist/node/ezreeport-sdk-js.mjs +0 -979
  176. package/dist/node/ezreeport-sdk-js.mjs.map +0 -1
  177. package/dist/types/index.d.ts +0 -32
  178. package/dist/types/lib/axios.d.ts +0 -51
  179. package/dist/types/lib/promises.d.ts +0 -21
  180. package/dist/types/lib/utils.d.ts +0 -27
  181. package/dist/types/modules/auth.d.ts +0 -90
  182. package/dist/types/modules/auth.public.d.ts +0 -1
  183. package/dist/types/modules/crons.d.ts +0 -102
  184. package/dist/types/modules/crons.public.d.ts +0 -1
  185. package/dist/types/modules/elastic.d.ts +0 -33
  186. package/dist/types/modules/elastic.public.d.ts +0 -1
  187. package/dist/types/modules/health.d.ts +0 -53
  188. package/dist/types/modules/health.public.d.ts +0 -1
  189. package/dist/types/modules/namespaces.d.ts +0 -29
  190. package/dist/types/modules/namespaces.public.d.ts +0 -1
  191. package/dist/types/modules/queues.d.ts +0 -120
  192. package/dist/types/modules/queues.public.d.ts +0 -1
  193. package/dist/types/modules/reports.d.ts +0 -204
  194. package/dist/types/modules/reports.public.d.ts +0 -1
  195. package/dist/types/modules/setup.d.ts +0 -17
  196. package/dist/types/modules/setup.public.d.ts +0 -2
  197. package/dist/types/modules/tasks.base.d.ts +0 -48
  198. package/dist/types/modules/tasks.d.ts +0 -249
  199. package/dist/types/modules/tasks.public.d.ts +0 -2
  200. package/dist/types/modules/tasksActivity.d.ts +0 -36
  201. package/dist/types/modules/tasksActivity.public.d.ts +0 -5
  202. package/dist/types/modules/tasksPresets.d.ts +0 -87
  203. package/dist/types/modules/tasksPresets.public.d.ts +0 -1
  204. package/dist/types/modules/templates.d.ts +0 -155
  205. 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-C4AhJDkW.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