@ezpaarse-project/ezreeport-sdk-js 2.1.0 → 2.2.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.
Files changed (174) hide show
  1. package/dist/{api-DVzOqMA2.js → api-BSUnyE6V.js} +2 -2
  2. package/dist/api-BSUnyE6V.js.map +1 -0
  3. package/dist/{api-C_g0ldUn.d.ts → api-Beaugm6M.d.ts} +2 -2
  4. package/dist/{api-D8l8Ds3U.mjs → api-Cwb98wAh.mjs} +2 -3
  5. package/dist/api-Cwb98wAh.mjs.map +1 -0
  6. package/dist/auth.js +1 -1
  7. package/dist/auth.mjs +1 -1
  8. package/dist/crons.js +1 -1
  9. package/dist/crons.js.map +1 -1
  10. package/dist/crons.mjs +41 -39
  11. package/dist/crons.mjs.map +1 -1
  12. package/dist/decorator-C2gcn2rK.js.map +1 -1
  13. package/dist/{decorator-DBkj--6g.mjs → decorator-DCiVxI72.mjs} +2 -4
  14. package/dist/decorator-DCiVxI72.mjs.map +1 -0
  15. package/dist/elastic.js +1 -1
  16. package/dist/elastic.js.map +1 -1
  17. package/dist/elastic.mjs +2 -2
  18. package/dist/elastic.mjs.map +1 -1
  19. package/dist/fetch-Cp3-cNix.mjs +44 -0
  20. package/dist/fetch-Cp3-cNix.mjs.map +1 -0
  21. package/dist/fetch-DA1lo0q0.js +2 -0
  22. package/dist/fetch-DA1lo0q0.js.map +1 -0
  23. package/dist/generations.d.ts +17 -0
  24. package/dist/generations.js +2 -0
  25. package/dist/generations.js.map +1 -0
  26. package/dist/generations.mjs +7 -0
  27. package/dist/generations.mjs.map +1 -0
  28. package/dist/health.d.ts +20 -32
  29. package/dist/health.js +1 -1
  30. package/dist/health.js.map +1 -1
  31. package/dist/health.mjs +33 -31
  32. package/dist/health.mjs.map +1 -1
  33. package/dist/helpers/aggregations.d.ts +4 -4
  34. package/dist/helpers/aggregations.js.map +1 -1
  35. package/dist/helpers/aggregations.mjs.map +1 -1
  36. package/dist/helpers/figures.d.ts +19 -19
  37. package/dist/helpers/figures.js +1 -1
  38. package/dist/helpers/figures.mjs +1 -1
  39. package/dist/helpers/filters.js.map +1 -1
  40. package/dist/helpers/filters.mjs.map +1 -1
  41. package/dist/helpers/generations.d.ts +55 -0
  42. package/dist/helpers/generations.js +2 -0
  43. package/dist/helpers/generations.js.map +1 -0
  44. package/dist/helpers/generations.mjs +310 -0
  45. package/dist/helpers/generations.mjs.map +1 -0
  46. package/dist/helpers/layouts.d.ts +3 -3
  47. package/dist/helpers/layouts.js +1 -1
  48. package/dist/helpers/layouts.js.map +1 -1
  49. package/dist/helpers/layouts.mjs +6 -6
  50. package/dist/helpers/layouts.mjs.map +1 -1
  51. package/dist/helpers/permissions.d.ts +3 -1
  52. package/dist/helpers/permissions.js +1 -1
  53. package/dist/helpers/permissions.js.map +1 -1
  54. package/dist/helpers/permissions.mjs +8 -4
  55. package/dist/helpers/permissions.mjs.map +1 -1
  56. package/dist/helpers/task-presets.d.ts +2 -2
  57. package/dist/helpers/task-presets.js +1 -1
  58. package/dist/helpers/task-presets.js.map +1 -1
  59. package/dist/helpers/task-presets.mjs +6 -3
  60. package/dist/helpers/task-presets.mjs.map +1 -1
  61. package/dist/helpers/tasks.d.ts +4 -1
  62. package/dist/helpers/tasks.js +1 -1
  63. package/dist/helpers/tasks.js.map +1 -1
  64. package/dist/helpers/tasks.mjs +6 -4
  65. package/dist/helpers/tasks.mjs.map +1 -1
  66. package/dist/helpers/templates.js +1 -1
  67. package/dist/helpers/templates.js.map +1 -1
  68. package/dist/helpers/templates.mjs +6 -6
  69. package/dist/helpers/templates.mjs.map +1 -1
  70. package/dist/{index-btsFMVmd.js → index-Cc9-CotA.js} +2 -2
  71. package/dist/index-Cc9-CotA.js.map +1 -0
  72. package/dist/{index-niBfS4wD.mjs → index-D6K5zKgZ.mjs} +28 -29
  73. package/dist/index-D6K5zKgZ.mjs.map +1 -0
  74. package/dist/index.d.ts +5 -5
  75. package/dist/index.js +1 -1
  76. package/dist/index.mjs +2 -2
  77. package/dist/{methods-sTFYWEAr.mjs → methods-B78wxcbm.mjs} +59 -56
  78. package/dist/methods-B78wxcbm.mjs.map +1 -0
  79. package/dist/{methods-C3rgYZb1.mjs → methods-Ba1XR8Ij.mjs} +5 -5
  80. package/dist/{methods-C3rgYZb1.mjs.map → methods-Ba1XR8Ij.mjs.map} +1 -1
  81. package/dist/{methods-M4GU2OL5.mjs → methods-BcKnS6pA.mjs} +3 -3
  82. package/dist/{methods-M4GU2OL5.mjs.map → methods-BcKnS6pA.mjs.map} +1 -1
  83. package/dist/methods-Bf8iqEhG.mjs +95 -0
  84. package/dist/methods-Bf8iqEhG.mjs.map +1 -0
  85. package/dist/methods-CBlHpa4P.js +2 -0
  86. package/dist/methods-CBlHpa4P.js.map +1 -0
  87. package/dist/{methods-jKz01wri.mjs → methods-Crgt0cEf.mjs} +6 -6
  88. package/dist/{methods-jKz01wri.mjs.map → methods-Crgt0cEf.mjs.map} +1 -1
  89. package/dist/{methods-Jar1Wkpj.js → methods-CvCyx_v_.js} +2 -2
  90. package/dist/{methods-Jar1Wkpj.js.map → methods-CvCyx_v_.js.map} +1 -1
  91. package/dist/methods-Cvs5hjsE.js +2 -0
  92. package/dist/methods-Cvs5hjsE.js.map +1 -0
  93. package/dist/{methods-BOf9WLn2.js → methods-DJctQ3lm.js} +2 -2
  94. package/dist/{methods-BOf9WLn2.js.map → methods-DJctQ3lm.js.map} +1 -1
  95. package/dist/methods-HbhrcB_u.js +2 -0
  96. package/dist/methods-HbhrcB_u.js.map +1 -0
  97. package/dist/methods-_8MaDPJ6.mjs +158 -0
  98. package/dist/methods-_8MaDPJ6.mjs.map +1 -0
  99. package/dist/{methods-ChKQbOFl.js → methods-eIVAWN5f.js} +2 -2
  100. package/dist/{methods-ChKQbOFl.js.map → methods-eIVAWN5f.js.map} +1 -1
  101. package/dist/recurrence.d.ts +28 -0
  102. package/dist/recurrence.js +2 -0
  103. package/dist/recurrence.js.map +1 -0
  104. package/dist/recurrence.mjs +49 -0
  105. package/dist/recurrence.mjs.map +1 -0
  106. package/dist/reports.d.ts +4 -5
  107. package/dist/reports.js +1 -1
  108. package/dist/reports.mjs +1 -1
  109. package/dist/task-activity.d.ts +2 -2
  110. package/dist/task-activity.js +1 -1
  111. package/dist/task-activity.js.map +1 -1
  112. package/dist/task-activity.mjs +5 -5
  113. package/dist/task-activity.mjs.map +1 -1
  114. package/dist/task-presets.d.ts +3 -3
  115. package/dist/task-presets.js +1 -1
  116. package/dist/task-presets.mjs +1 -1
  117. package/dist/{tasks-1x680qAf.mjs → tasks-Cc53eQzu.mjs} +2 -2
  118. package/dist/tasks-Cc53eQzu.mjs.map +1 -0
  119. package/dist/{tasks-hn70eL7B.js → tasks-FPNOmtnL.js} +2 -2
  120. package/dist/tasks-FPNOmtnL.js.map +1 -0
  121. package/dist/tasks.d.ts +3 -3
  122. package/dist/tasks.js +1 -1
  123. package/dist/tasks.mjs +1 -1
  124. package/dist/{templates-zMmVXt6k.mjs → templates-C_qWeEww.mjs} +5 -5
  125. package/dist/templates-C_qWeEww.mjs.map +1 -0
  126. package/dist/{templates-yZjsVuN9.js → templates-lPeMpQuz.js} +2 -2
  127. package/dist/templates-lPeMpQuz.js.map +1 -0
  128. package/dist/templates.d.ts +2 -2
  129. package/dist/templates.js +1 -1
  130. package/dist/templates.mjs +1 -1
  131. package/dist/{transform-EpMTJExd.mjs → transform-DrB-Z9tA.mjs} +3 -3
  132. package/dist/transform-DrB-Z9tA.mjs.map +1 -0
  133. package/dist/transform-DzLAfSJo.js.map +1 -1
  134. package/dist/{types-DtBHOMlQ.d.ts → types-BxhkIhgG.d.ts} +1 -1
  135. package/dist/{types-DP1QhOKe.d.ts → types-CCDLyhAJ.d.ts} +1 -1
  136. package/dist/types-Cac8HEO5.d.ts +23 -0
  137. package/dist/{types-jXqGnCKQ.d.ts → types-CgKoQCwb.d.ts} +12 -24
  138. package/package.json +29 -21
  139. package/dist/api-D8l8Ds3U.mjs.map +0 -1
  140. package/dist/api-DVzOqMA2.js.map +0 -1
  141. package/dist/decorator-DBkj--6g.mjs.map +0 -1
  142. package/dist/fetch-Hd-ajPIl.js +0 -2
  143. package/dist/fetch-Hd-ajPIl.js.map +0 -1
  144. package/dist/fetch-xZFTa3q1.mjs +0 -16
  145. package/dist/fetch-xZFTa3q1.mjs.map +0 -1
  146. package/dist/helpers/jobs.d.ts +0 -109
  147. package/dist/helpers/jobs.js +0 -2
  148. package/dist/helpers/jobs.js.map +0 -1
  149. package/dist/helpers/jobs.mjs +0 -390
  150. package/dist/helpers/jobs.mjs.map +0 -1
  151. package/dist/index-DfRKlMeG.d.ts +0 -109
  152. package/dist/index-btsFMVmd.js.map +0 -1
  153. package/dist/index-niBfS4wD.mjs.map +0 -1
  154. package/dist/methods-8bLJk-Sx.mjs +0 -161
  155. package/dist/methods-8bLJk-Sx.mjs.map +0 -1
  156. package/dist/methods-BJfwYB1p.mjs +0 -126
  157. package/dist/methods-BJfwYB1p.mjs.map +0 -1
  158. package/dist/methods-CMrpqFJZ.js +0 -2
  159. package/dist/methods-CMrpqFJZ.js.map +0 -1
  160. package/dist/methods-DC2Gjy1i.js +0 -2
  161. package/dist/methods-DC2Gjy1i.js.map +0 -1
  162. package/dist/methods-DU5cbtLn.js +0 -2
  163. package/dist/methods-DU5cbtLn.js.map +0 -1
  164. package/dist/methods-sTFYWEAr.mjs.map +0 -1
  165. package/dist/queues.d.ts +0 -6
  166. package/dist/queues.js +0 -2
  167. package/dist/queues.js.map +0 -1
  168. package/dist/queues.mjs +0 -10
  169. package/dist/queues.mjs.map +0 -1
  170. package/dist/tasks-1x680qAf.mjs.map +0 -1
  171. package/dist/tasks-hn70eL7B.js.map +0 -1
  172. package/dist/templates-yZjsVuN9.js.map +0 -1
  173. package/dist/templates-zMmVXt6k.mjs.map +0 -1
  174. package/dist/transform-EpMTJExd.mjs.map +0 -1
package/dist/health.mjs CHANGED
@@ -1,41 +1,43 @@
1
- var c = (t, a, e) => new Promise((h, o) => {
2
- var f = (n) => {
1
+ var v = Object.defineProperty, l = Object.defineProperties;
2
+ var S = Object.getOwnPropertyDescriptors;
3
+ var i = Object.getOwnPropertySymbols;
4
+ var g = Object.prototype.hasOwnProperty, w = Object.prototype.propertyIsEnumerable;
5
+ var m = (t, r, e) => r in t ? v(t, r, { enumerable: !0, configurable: !0, writable: !0, value: e }) : t[r] = e, n = (t, r) => {
6
+ for (var e in r || (r = {}))
7
+ g.call(r, e) && m(t, e, r[e]);
8
+ if (i)
9
+ for (var e of i(r))
10
+ w.call(r, e) && m(t, e, r[e]);
11
+ return t;
12
+ }, f = (t, r) => l(t, S(r));
13
+ var p = (t, r, e) => new Promise((d, o) => {
14
+ var h = (a) => {
3
15
  try {
4
- i(e.next(n));
5
- } catch (r) {
6
- o(r);
16
+ s(e.next(a));
17
+ } catch (c) {
18
+ o(c);
7
19
  }
8
- }, u = (n) => {
20
+ }, u = (a) => {
9
21
  try {
10
- i(e.throw(n));
11
- } catch (r) {
12
- o(r);
22
+ s(e.throw(a));
23
+ } catch (c) {
24
+ o(c);
13
25
  }
14
- }, i = (n) => n.done ? h(n.value) : Promise.resolve(n.value).then(f, u);
15
- i((e = e.apply(t, a)).next());
26
+ }, s = (a) => a.done ? d(a.value) : Promise.resolve(a.value).then(h, u);
27
+ s((e = e.apply(t, r)).next());
16
28
  });
17
- import { c as s } from "./fetch-xZFTa3q1.mjs";
18
- function v() {
19
- return c(this, null, function* () {
20
- const { content: t } = yield s.fetch("/health");
21
- return t;
22
- });
23
- }
24
- function g() {
25
- return c(this, null, function* () {
26
- const { content: t } = yield s.fetch("/health/services");
27
- return t;
28
- });
29
- }
30
- function w(t) {
31
- return c(this, null, function* () {
32
- const { content: a } = yield s.fetch(`/health/services/${t}`);
33
- return a;
29
+ import { c as x } from "./fetch-Cp3-cNix.mjs";
30
+ import { t as y } from "./transform-DrB-Z9tA.mjs";
31
+ const C = (t) => n({}, y(t));
32
+ function k() {
33
+ return p(this, null, function* () {
34
+ const { content: t } = yield x.fetch("/health");
35
+ return f(n({}, t), {
36
+ services: t.services.map(C)
37
+ });
34
38
  });
35
39
  }
36
40
  export {
37
- v as getStatus,
38
- g as pingAllServices,
39
- w as pingService
41
+ k as getStatus
40
42
  };
41
43
  //# sourceMappingURL=health.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"health.mjs","sources":["../src/modules/health/methods.ts"],"sourcesContent":["import { client } from '~/lib/fetch';\nimport type { ApiResponse } from '~/lib/api';\n\nimport type { ApiStatus, Pong } from './types';\n\n/**\n * Get status of service\n *\n * @returns The current service\n */\nexport async function getStatus() {\n const { content } = await client.fetch<ApiResponse<ApiStatus>>('/health');\n return content;\n}\n\n/**\n * Ping all connected services at once\n *\n * @returns Result of pings\n */\nexport async function pingAllServices() {\n const { content } = await client.fetch<ApiResponse<Pong[]>>('/health/services');\n return content;\n}\n\n/**\n * Ping connected services\n * @param service The name of the service\n *\n * @returns Result of ping\n */\nexport async function pingService(service: string) {\n const { content } = await client.fetch<ApiResponse<Pong>>(`/health/services/${service}`);\n return content;\n}\n"],"names":["getStatus","__async","content","client","pingAllServices","pingService","service"],"mappings":";;;;;;;;;;;;;;;;;AAUA,SAAsBA,IAAY;AAAA,SAAAC,EAAA;AAChC,UAAM,EAAE,SAAAC,EAAQ,IAAI,MAAMC,EAAO,MAA8B,SAAS;AACjE,WAAAD;AAAA,EACT;AAAA;AAOA,SAAsBE,IAAkB;AAAA,SAAAH,EAAA;AACtC,UAAM,EAAE,SAAAC,EAAQ,IAAI,MAAMC,EAAO,MAA2B,kBAAkB;AACvE,WAAAD;AAAA,EACT;AAAA;AAQA,SAAsBG,EAAYC,GAAiB;AAAA,SAAAL,EAAA;AAC3C,UAAA,EAAE,SAAAC,EAAY,IAAA,MAAMC,EAAO,MAAyB,oBAAoBG,CAAO,EAAE;AAChF,WAAAJ;AAAA,EACT;AAAA;"}
1
+ {"version":3,"file":"health.mjs","sources":["../src/modules/health/methods.ts"],"sourcesContent":["import { client } from '~/lib/fetch';\nimport type { ApiResponse } from '~/lib/api';\nimport { transformCreatedUpdated } from '~/lib/transform';\n\nimport type {\n ApiService,\n ApiStatus,\n RawApiStatus,\n RawApiService,\n} from './types';\n\nexport const transformService = (s: RawApiService): ApiService => ({\n ...transformCreatedUpdated(s),\n});\n\n/**\n * Get status of service\n *\n * @returns The current service\n */\nexport async function getStatus(): Promise<ApiStatus> {\n const { content } = await client.fetch<ApiResponse<RawApiStatus>>('/health');\n return {\n ...content,\n services: content.services.map(transformService),\n };\n}\n"],"names":["transformService","s","__spreadValues","transformCreatedUpdated","getStatus","__async","content","client","__spreadProps"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAWO,MAAMA,IAAmB,CAACC,MAAkCC,EAAA,IAC9DC,EAAwBF,CAAC;AAQ9B,SAAsBG,IAAgC;AAAA,SAAAC,EAAA;AACpD,UAAM,EAAE,SAAAC,EAAA,IAAY,MAAMC,EAAO,MAAiC,SAAS;AAC3E,WAAOC,EAAAN,EAAA,IACFI,IADE;AAAA,MAEL,UAAUA,EAAQ,SAAS,IAAIN,CAAgB;AAAA,IAAA;AAAA,EAEnD;AAAA;"}
@@ -91,15 +91,15 @@ type AggregationName = typeof aggregationTypes[number]['name'];
91
91
  type AggregationType = typeof aggregationTypes[number]['type'];
92
92
  declare function isAggregationName(name: string): name is AggregationName;
93
93
 
94
- type FigureRawAggregation = {
94
+ interface FigureRawAggregation {
95
95
  raw: Record<string, any>;
96
- };
97
- type FigureBaseAggregation = {
96
+ }
97
+ interface FigureBaseAggregation {
98
98
  type: AggregationName;
99
99
  field: string;
100
100
  size?: number;
101
101
  missing?: string;
102
- };
102
+ }
103
103
  /**
104
104
  * Type for aggregations used in figures, when fetching data
105
105
  */
@@ -1 +1 @@
1
- {"version":3,"file":"aggregations.js","sources":["../../src/helpers/templates/editor/aggregations/types.ts","../../src/helpers/templates/editor/aggregations/index.ts"],"sourcesContent":["export const aggregationTypes = [\n { name: 'avg', type: 'metric', isCommonlyFound: true },\n { name: 'cardinality', type: 'metric', isCommonlyFound: true },\n { name: 'max', type: 'metric', isCommonlyFound: true },\n { name: 'min', type: 'metric', isCommonlyFound: true },\n { name: 'percentile_ranks', type: 'metric', isCommonlyFound: false },\n { name: 'percentiles', type: 'metric', isCommonlyFound: false },\n { name: 'stats', type: 'metric', isCommonlyFound: false },\n { name: 'sum', type: 'metric', isCommonlyFound: true },\n { name: 'value_count', type: 'metric', isCommonlyFound: false },\n\n // { name: 'cumulative_sum', type: 'pipeline', isCommonlyFound: false },\n // { name: 'derivative', type: 'pipeline', isCommonlyFound: false },\n // { name: 'max_bucket', type: 'pipeline', isCommonlyFound: false },\n // { name: 'min_bucket', type: 'pipeline', isCommonlyFound: false },\n // { name: 'moving_average', type: 'pipeline', isCommonlyFound: false },\n // { name: 'sum_bucket', type: 'pipeline', isCommonlyFound: false },\n\n { name: 'adjacency_matrix', type: 'bucket', isCommonlyFound: false },\n { name: 'auto_date_histogram', type: 'bucket', isCommonlyFound: false },\n { name: 'date_histogram', type: 'bucket', isCommonlyFound: true },\n { name: 'diversified_sampler', type: 'bucket', isCommonlyFound: false },\n { name: 'filters', type: 'bucket', isCommonlyFound: false },\n { name: 'geo_grid', type: 'bucket', isCommonlyFound: false },\n { name: 'histogram', type: 'bucket', isCommonlyFound: false },\n { name: 'range', type: 'bucket', isCommonlyFound: false },\n { name: 'sampler', type: 'bucket', isCommonlyFound: false },\n { name: 'significant_terms', type: 'bucket', isCommonlyFound: false },\n { name: 'terms', type: 'bucket', isCommonlyFound: true },\n { name: 'top_hits', type: 'bucket', isCommonlyFound: false },\n { name: 'variable_width_histogram', type: 'bucket', isCommonlyFound: false },\n] as const;\n\nexport type AggregationName = typeof aggregationTypes[number]['name'];\nexport type AggregationType = typeof aggregationTypes[number]['type'];\n\nexport function isAggregationName(name: string): name is AggregationName {\n return aggregationTypes.some((agg) => agg.name === name);\n}\n","import type { AggregationName } from './types';\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport type FigureRawAggregation = { raw: Record<string, any> };\n\nexport type FigureBaseAggregation = {\n type: AggregationName;\n field: string;\n size?: number;\n missing?: string\n};\n\n/**\n * Type for aggregations used in figures, when fetching data\n */\nexport type FigureAggregation = FigureBaseAggregation | FigureRawAggregation;\n\nexport function isRawAggregation(agg: FigureAggregation): agg is FigureRawAggregation {\n return 'raw' in agg;\n}\n\nexport * from './types';\n"],"names":["aggregationTypes","isAggregationName","name","agg","isRawAggregation"],"mappings":"gFAAO,MAAMA,EAAmB,CAC9B,CAAE,KAAM,MAAO,KAAM,SAAU,gBAAiB,EAAK,EACrD,CAAE,KAAM,cAAe,KAAM,SAAU,gBAAiB,EAAK,EAC7D,CAAE,KAAM,MAAO,KAAM,SAAU,gBAAiB,EAAK,EACrD,CAAE,KAAM,MAAO,KAAM,SAAU,gBAAiB,EAAK,EACrD,CAAE,KAAM,mBAAoB,KAAM,SAAU,gBAAiB,EAAM,EACnE,CAAE,KAAM,cAAe,KAAM,SAAU,gBAAiB,EAAM,EAC9D,CAAE,KAAM,QAAS,KAAM,SAAU,gBAAiB,EAAM,EACxD,CAAE,KAAM,MAAO,KAAM,SAAU,gBAAiB,EAAK,EACrD,CAAE,KAAM,cAAe,KAAM,SAAU,gBAAiB,EAAM,EAS9D,CAAE,KAAM,mBAAoB,KAAM,SAAU,gBAAiB,EAAM,EACnE,CAAE,KAAM,sBAAuB,KAAM,SAAU,gBAAiB,EAAM,EACtE,CAAE,KAAM,iBAAkB,KAAM,SAAU,gBAAiB,EAAK,EAChE,CAAE,KAAM,sBAAuB,KAAM,SAAU,gBAAiB,EAAM,EACtE,CAAE,KAAM,UAAW,KAAM,SAAU,gBAAiB,EAAM,EAC1D,CAAE,KAAM,WAAY,KAAM,SAAU,gBAAiB,EAAM,EAC3D,CAAE,KAAM,YAAa,KAAM,SAAU,gBAAiB,EAAM,EAC5D,CAAE,KAAM,QAAS,KAAM,SAAU,gBAAiB,EAAM,EACxD,CAAE,KAAM,UAAW,KAAM,SAAU,gBAAiB,EAAM,EAC1D,CAAE,KAAM,oBAAqB,KAAM,SAAU,gBAAiB,EAAM,EACpE,CAAE,KAAM,QAAS,KAAM,SAAU,gBAAiB,EAAK,EACvD,CAAE,KAAM,WAAY,KAAM,SAAU,gBAAiB,EAAM,EAC3D,CAAE,KAAM,2BAA4B,KAAM,SAAU,gBAAiB,EAAM,CAC7E,EAKO,SAASC,EAAkBC,EAAuC,CACvE,OAAOF,EAAiB,KAAMG,GAAQA,EAAI,OAASD,CAAI,CACzD,CCrBO,SAASE,EAAiBD,EAAqD,CACpF,MAAO,QAASA,CAClB"}
1
+ {"version":3,"file":"aggregations.js","sources":["../../src/helpers/templates/editor/aggregations/types.ts","../../src/helpers/templates/editor/aggregations/index.ts"],"sourcesContent":["export const aggregationTypes = [\n { name: 'avg', type: 'metric', isCommonlyFound: true },\n { name: 'cardinality', type: 'metric', isCommonlyFound: true },\n { name: 'max', type: 'metric', isCommonlyFound: true },\n { name: 'min', type: 'metric', isCommonlyFound: true },\n { name: 'percentile_ranks', type: 'metric', isCommonlyFound: false },\n { name: 'percentiles', type: 'metric', isCommonlyFound: false },\n { name: 'stats', type: 'metric', isCommonlyFound: false },\n { name: 'sum', type: 'metric', isCommonlyFound: true },\n { name: 'value_count', type: 'metric', isCommonlyFound: false },\n\n // { name: 'cumulative_sum', type: 'pipeline', isCommonlyFound: false },\n // { name: 'derivative', type: 'pipeline', isCommonlyFound: false },\n // { name: 'max_bucket', type: 'pipeline', isCommonlyFound: false },\n // { name: 'min_bucket', type: 'pipeline', isCommonlyFound: false },\n // { name: 'moving_average', type: 'pipeline', isCommonlyFound: false },\n // { name: 'sum_bucket', type: 'pipeline', isCommonlyFound: false },\n\n { name: 'adjacency_matrix', type: 'bucket', isCommonlyFound: false },\n { name: 'auto_date_histogram', type: 'bucket', isCommonlyFound: false },\n { name: 'date_histogram', type: 'bucket', isCommonlyFound: true },\n { name: 'diversified_sampler', type: 'bucket', isCommonlyFound: false },\n { name: 'filters', type: 'bucket', isCommonlyFound: false },\n { name: 'geo_grid', type: 'bucket', isCommonlyFound: false },\n { name: 'histogram', type: 'bucket', isCommonlyFound: false },\n { name: 'range', type: 'bucket', isCommonlyFound: false },\n { name: 'sampler', type: 'bucket', isCommonlyFound: false },\n { name: 'significant_terms', type: 'bucket', isCommonlyFound: false },\n { name: 'terms', type: 'bucket', isCommonlyFound: true },\n { name: 'top_hits', type: 'bucket', isCommonlyFound: false },\n { name: 'variable_width_histogram', type: 'bucket', isCommonlyFound: false },\n] as const;\n\nexport type AggregationName = typeof aggregationTypes[number]['name'];\nexport type AggregationType = typeof aggregationTypes[number]['type'];\n\nexport function isAggregationName(name: string): name is AggregationName {\n return aggregationTypes.some((agg) => agg.name === name);\n}\n","import type { AggregationName } from './types';\n\nexport interface FigureRawAggregation {\n // oxlint-disable-next-line no-explicit-any\n raw: Record<string, any>;\n}\n\nexport interface FigureBaseAggregation {\n type: AggregationName;\n field: string;\n size?: number;\n missing?: string;\n}\n\n/**\n * Type for aggregations used in figures, when fetching data\n */\nexport type FigureAggregation = FigureBaseAggregation | FigureRawAggregation;\n\nexport function isRawAggregation(\n agg: FigureAggregation\n): agg is FigureRawAggregation {\n return 'raw' in agg;\n}\n\nexport * from './types';\n"],"names":["aggregationTypes","isAggregationName","name","agg","isRawAggregation"],"mappings":"gFAAO,MAAMA,EAAmB,CAC9B,CAAE,KAAM,MAAO,KAAM,SAAU,gBAAiB,EAAA,EAChD,CAAE,KAAM,cAAe,KAAM,SAAU,gBAAiB,EAAA,EACxD,CAAE,KAAM,MAAO,KAAM,SAAU,gBAAiB,EAAA,EAChD,CAAE,KAAM,MAAO,KAAM,SAAU,gBAAiB,EAAA,EAChD,CAAE,KAAM,mBAAoB,KAAM,SAAU,gBAAiB,EAAA,EAC7D,CAAE,KAAM,cAAe,KAAM,SAAU,gBAAiB,EAAA,EACxD,CAAE,KAAM,QAAS,KAAM,SAAU,gBAAiB,EAAA,EAClD,CAAE,KAAM,MAAO,KAAM,SAAU,gBAAiB,EAAA,EAChD,CAAE,KAAM,cAAe,KAAM,SAAU,gBAAiB,EAAA,EASxD,CAAE,KAAM,mBAAoB,KAAM,SAAU,gBAAiB,EAAA,EAC7D,CAAE,KAAM,sBAAuB,KAAM,SAAU,gBAAiB,EAAA,EAChE,CAAE,KAAM,iBAAkB,KAAM,SAAU,gBAAiB,EAAA,EAC3D,CAAE,KAAM,sBAAuB,KAAM,SAAU,gBAAiB,EAAA,EAChE,CAAE,KAAM,UAAW,KAAM,SAAU,gBAAiB,EAAA,EACpD,CAAE,KAAM,WAAY,KAAM,SAAU,gBAAiB,EAAA,EACrD,CAAE,KAAM,YAAa,KAAM,SAAU,gBAAiB,EAAA,EACtD,CAAE,KAAM,QAAS,KAAM,SAAU,gBAAiB,EAAA,EAClD,CAAE,KAAM,UAAW,KAAM,SAAU,gBAAiB,EAAA,EACpD,CAAE,KAAM,oBAAqB,KAAM,SAAU,gBAAiB,EAAA,EAC9D,CAAE,KAAM,QAAS,KAAM,SAAU,gBAAiB,EAAA,EAClD,CAAE,KAAM,WAAY,KAAM,SAAU,gBAAiB,EAAA,EACrD,CAAE,KAAM,2BAA4B,KAAM,SAAU,gBAAiB,EAAA,CACvE,EAKO,SAASC,EAAkBC,EAAuC,CACvE,OAAOF,EAAiB,KAAMG,GAAQA,EAAI,OAASD,CAAI,CACzD,CCnBO,SAASE,EACdD,EAC6B,CAC7B,MAAO,QAASA,CAClB"}
@@ -1 +1 @@
1
- {"version":3,"file":"aggregations.mjs","sources":["../../src/helpers/templates/editor/aggregations/types.ts","../../src/helpers/templates/editor/aggregations/index.ts"],"sourcesContent":["export const aggregationTypes = [\n { name: 'avg', type: 'metric', isCommonlyFound: true },\n { name: 'cardinality', type: 'metric', isCommonlyFound: true },\n { name: 'max', type: 'metric', isCommonlyFound: true },\n { name: 'min', type: 'metric', isCommonlyFound: true },\n { name: 'percentile_ranks', type: 'metric', isCommonlyFound: false },\n { name: 'percentiles', type: 'metric', isCommonlyFound: false },\n { name: 'stats', type: 'metric', isCommonlyFound: false },\n { name: 'sum', type: 'metric', isCommonlyFound: true },\n { name: 'value_count', type: 'metric', isCommonlyFound: false },\n\n // { name: 'cumulative_sum', type: 'pipeline', isCommonlyFound: false },\n // { name: 'derivative', type: 'pipeline', isCommonlyFound: false },\n // { name: 'max_bucket', type: 'pipeline', isCommonlyFound: false },\n // { name: 'min_bucket', type: 'pipeline', isCommonlyFound: false },\n // { name: 'moving_average', type: 'pipeline', isCommonlyFound: false },\n // { name: 'sum_bucket', type: 'pipeline', isCommonlyFound: false },\n\n { name: 'adjacency_matrix', type: 'bucket', isCommonlyFound: false },\n { name: 'auto_date_histogram', type: 'bucket', isCommonlyFound: false },\n { name: 'date_histogram', type: 'bucket', isCommonlyFound: true },\n { name: 'diversified_sampler', type: 'bucket', isCommonlyFound: false },\n { name: 'filters', type: 'bucket', isCommonlyFound: false },\n { name: 'geo_grid', type: 'bucket', isCommonlyFound: false },\n { name: 'histogram', type: 'bucket', isCommonlyFound: false },\n { name: 'range', type: 'bucket', isCommonlyFound: false },\n { name: 'sampler', type: 'bucket', isCommonlyFound: false },\n { name: 'significant_terms', type: 'bucket', isCommonlyFound: false },\n { name: 'terms', type: 'bucket', isCommonlyFound: true },\n { name: 'top_hits', type: 'bucket', isCommonlyFound: false },\n { name: 'variable_width_histogram', type: 'bucket', isCommonlyFound: false },\n] as const;\n\nexport type AggregationName = typeof aggregationTypes[number]['name'];\nexport type AggregationType = typeof aggregationTypes[number]['type'];\n\nexport function isAggregationName(name: string): name is AggregationName {\n return aggregationTypes.some((agg) => agg.name === name);\n}\n","import type { AggregationName } from './types';\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport type FigureRawAggregation = { raw: Record<string, any> };\n\nexport type FigureBaseAggregation = {\n type: AggregationName;\n field: string;\n size?: number;\n missing?: string\n};\n\n/**\n * Type for aggregations used in figures, when fetching data\n */\nexport type FigureAggregation = FigureBaseAggregation | FigureRawAggregation;\n\nexport function isRawAggregation(agg: FigureAggregation): agg is FigureRawAggregation {\n return 'raw' in agg;\n}\n\nexport * from './types';\n"],"names":["aggregationTypes","isAggregationName","name","agg","isRawAggregation"],"mappings":"AAAO,MAAMA,IAAmB;AAAA,EAC9B,EAAE,MAAM,OAAO,MAAM,UAAU,iBAAiB,GAAK;AAAA,EACrD,EAAE,MAAM,eAAe,MAAM,UAAU,iBAAiB,GAAK;AAAA,EAC7D,EAAE,MAAM,OAAO,MAAM,UAAU,iBAAiB,GAAK;AAAA,EACrD,EAAE,MAAM,OAAO,MAAM,UAAU,iBAAiB,GAAK;AAAA,EACrD,EAAE,MAAM,oBAAoB,MAAM,UAAU,iBAAiB,GAAM;AAAA,EACnE,EAAE,MAAM,eAAe,MAAM,UAAU,iBAAiB,GAAM;AAAA,EAC9D,EAAE,MAAM,SAAS,MAAM,UAAU,iBAAiB,GAAM;AAAA,EACxD,EAAE,MAAM,OAAO,MAAM,UAAU,iBAAiB,GAAK;AAAA,EACrD,EAAE,MAAM,eAAe,MAAM,UAAU,iBAAiB,GAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAS9D,EAAE,MAAM,oBAAoB,MAAM,UAAU,iBAAiB,GAAM;AAAA,EACnE,EAAE,MAAM,uBAAuB,MAAM,UAAU,iBAAiB,GAAM;AAAA,EACtE,EAAE,MAAM,kBAAkB,MAAM,UAAU,iBAAiB,GAAK;AAAA,EAChE,EAAE,MAAM,uBAAuB,MAAM,UAAU,iBAAiB,GAAM;AAAA,EACtE,EAAE,MAAM,WAAW,MAAM,UAAU,iBAAiB,GAAM;AAAA,EAC1D,EAAE,MAAM,YAAY,MAAM,UAAU,iBAAiB,GAAM;AAAA,EAC3D,EAAE,MAAM,aAAa,MAAM,UAAU,iBAAiB,GAAM;AAAA,EAC5D,EAAE,MAAM,SAAS,MAAM,UAAU,iBAAiB,GAAM;AAAA,EACxD,EAAE,MAAM,WAAW,MAAM,UAAU,iBAAiB,GAAM;AAAA,EAC1D,EAAE,MAAM,qBAAqB,MAAM,UAAU,iBAAiB,GAAM;AAAA,EACpE,EAAE,MAAM,SAAS,MAAM,UAAU,iBAAiB,GAAK;AAAA,EACvD,EAAE,MAAM,YAAY,MAAM,UAAU,iBAAiB,GAAM;AAAA,EAC3D,EAAE,MAAM,4BAA4B,MAAM,UAAU,iBAAiB,GAAM;AAC7E;AAKO,SAASC,EAAkBC,GAAuC;AACvE,SAAOF,EAAiB,KAAK,CAACG,MAAQA,EAAI,SAASD,CAAI;AACzD;ACrBO,SAASE,EAAiBD,GAAqD;AACpF,SAAO,SAASA;AAClB;"}
1
+ {"version":3,"file":"aggregations.mjs","sources":["../../src/helpers/templates/editor/aggregations/types.ts","../../src/helpers/templates/editor/aggregations/index.ts"],"sourcesContent":["export const aggregationTypes = [\n { name: 'avg', type: 'metric', isCommonlyFound: true },\n { name: 'cardinality', type: 'metric', isCommonlyFound: true },\n { name: 'max', type: 'metric', isCommonlyFound: true },\n { name: 'min', type: 'metric', isCommonlyFound: true },\n { name: 'percentile_ranks', type: 'metric', isCommonlyFound: false },\n { name: 'percentiles', type: 'metric', isCommonlyFound: false },\n { name: 'stats', type: 'metric', isCommonlyFound: false },\n { name: 'sum', type: 'metric', isCommonlyFound: true },\n { name: 'value_count', type: 'metric', isCommonlyFound: false },\n\n // { name: 'cumulative_sum', type: 'pipeline', isCommonlyFound: false },\n // { name: 'derivative', type: 'pipeline', isCommonlyFound: false },\n // { name: 'max_bucket', type: 'pipeline', isCommonlyFound: false },\n // { name: 'min_bucket', type: 'pipeline', isCommonlyFound: false },\n // { name: 'moving_average', type: 'pipeline', isCommonlyFound: false },\n // { name: 'sum_bucket', type: 'pipeline', isCommonlyFound: false },\n\n { name: 'adjacency_matrix', type: 'bucket', isCommonlyFound: false },\n { name: 'auto_date_histogram', type: 'bucket', isCommonlyFound: false },\n { name: 'date_histogram', type: 'bucket', isCommonlyFound: true },\n { name: 'diversified_sampler', type: 'bucket', isCommonlyFound: false },\n { name: 'filters', type: 'bucket', isCommonlyFound: false },\n { name: 'geo_grid', type: 'bucket', isCommonlyFound: false },\n { name: 'histogram', type: 'bucket', isCommonlyFound: false },\n { name: 'range', type: 'bucket', isCommonlyFound: false },\n { name: 'sampler', type: 'bucket', isCommonlyFound: false },\n { name: 'significant_terms', type: 'bucket', isCommonlyFound: false },\n { name: 'terms', type: 'bucket', isCommonlyFound: true },\n { name: 'top_hits', type: 'bucket', isCommonlyFound: false },\n { name: 'variable_width_histogram', type: 'bucket', isCommonlyFound: false },\n] as const;\n\nexport type AggregationName = typeof aggregationTypes[number]['name'];\nexport type AggregationType = typeof aggregationTypes[number]['type'];\n\nexport function isAggregationName(name: string): name is AggregationName {\n return aggregationTypes.some((agg) => agg.name === name);\n}\n","import type { AggregationName } from './types';\n\nexport interface FigureRawAggregation {\n // oxlint-disable-next-line no-explicit-any\n raw: Record<string, any>;\n}\n\nexport interface FigureBaseAggregation {\n type: AggregationName;\n field: string;\n size?: number;\n missing?: string;\n}\n\n/**\n * Type for aggregations used in figures, when fetching data\n */\nexport type FigureAggregation = FigureBaseAggregation | FigureRawAggregation;\n\nexport function isRawAggregation(\n agg: FigureAggregation\n): agg is FigureRawAggregation {\n return 'raw' in agg;\n}\n\nexport * from './types';\n"],"names":["aggregationTypes","isAggregationName","name","agg","isRawAggregation"],"mappings":"AAAO,MAAMA,IAAmB;AAAA,EAC9B,EAAE,MAAM,OAAO,MAAM,UAAU,iBAAiB,GAAA;AAAA,EAChD,EAAE,MAAM,eAAe,MAAM,UAAU,iBAAiB,GAAA;AAAA,EACxD,EAAE,MAAM,OAAO,MAAM,UAAU,iBAAiB,GAAA;AAAA,EAChD,EAAE,MAAM,OAAO,MAAM,UAAU,iBAAiB,GAAA;AAAA,EAChD,EAAE,MAAM,oBAAoB,MAAM,UAAU,iBAAiB,GAAA;AAAA,EAC7D,EAAE,MAAM,eAAe,MAAM,UAAU,iBAAiB,GAAA;AAAA,EACxD,EAAE,MAAM,SAAS,MAAM,UAAU,iBAAiB,GAAA;AAAA,EAClD,EAAE,MAAM,OAAO,MAAM,UAAU,iBAAiB,GAAA;AAAA,EAChD,EAAE,MAAM,eAAe,MAAM,UAAU,iBAAiB,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASxD,EAAE,MAAM,oBAAoB,MAAM,UAAU,iBAAiB,GAAA;AAAA,EAC7D,EAAE,MAAM,uBAAuB,MAAM,UAAU,iBAAiB,GAAA;AAAA,EAChE,EAAE,MAAM,kBAAkB,MAAM,UAAU,iBAAiB,GAAA;AAAA,EAC3D,EAAE,MAAM,uBAAuB,MAAM,UAAU,iBAAiB,GAAA;AAAA,EAChE,EAAE,MAAM,WAAW,MAAM,UAAU,iBAAiB,GAAA;AAAA,EACpD,EAAE,MAAM,YAAY,MAAM,UAAU,iBAAiB,GAAA;AAAA,EACrD,EAAE,MAAM,aAAa,MAAM,UAAU,iBAAiB,GAAA;AAAA,EACtD,EAAE,MAAM,SAAS,MAAM,UAAU,iBAAiB,GAAA;AAAA,EAClD,EAAE,MAAM,WAAW,MAAM,UAAU,iBAAiB,GAAA;AAAA,EACpD,EAAE,MAAM,qBAAqB,MAAM,UAAU,iBAAiB,GAAA;AAAA,EAC9D,EAAE,MAAM,SAAS,MAAM,UAAU,iBAAiB,GAAA;AAAA,EAClD,EAAE,MAAM,YAAY,MAAM,UAAU,iBAAiB,GAAA;AAAA,EACrD,EAAE,MAAM,4BAA4B,MAAM,UAAU,iBAAiB,GAAA;AACvE;AAKO,SAASC,EAAkBC,GAAuC;AACvE,SAAOF,EAAiB,KAAK,CAACG,MAAQA,EAAI,SAASD,CAAI;AACzD;ACnBO,SAASE,EACdD,GAC6B;AAC7B,SAAO,SAASA;AAClB;"}
@@ -24,7 +24,7 @@ interface FigureHelperWithFilters extends FigureHelper {
24
24
  interface MdFigure extends FigureHelperWithData {
25
25
  readonly type: 'md';
26
26
  data: string;
27
- readonly params: {};
27
+ readonly params: Record<string, never>;
28
28
  }
29
29
  declare function createMdFigureHelper(data?: string, slots?: number[]): MdFigure;
30
30
  declare function createMdFigureHelperFrom(figure: TemplateBodyFigure): MdFigure;
@@ -70,7 +70,7 @@ declare function updateMetricLabelOfHelper(figure: MetricFigureHelper, oldElemen
70
70
  /**
71
71
  * Type for columns used in tables
72
72
  */
73
- type TableColumn = {
73
+ interface TableColumn {
74
74
  /**
75
75
  * The name of the column
76
76
  */
@@ -98,7 +98,7 @@ type TableColumn = {
98
98
  fontSize?: number;
99
99
  lineColor?: string | [number, number, number];
100
100
  };
101
- };
101
+ }
102
102
  /**
103
103
  * Type for tables
104
104
  */
@@ -152,34 +152,34 @@ interface VegaDataLabelOptions {
152
152
  interface VegaFigureHelper extends FigureHelperWithFilters {
153
153
  params: {
154
154
  /**
155
- * The title of the figure
156
- */
155
+ * The title of the figure
156
+ */
157
157
  title: string;
158
158
  /**
159
- * Whether the axis should be inverted
160
- */
159
+ * Whether the axis should be inverted
160
+ */
161
161
  invertAxis?: boolean;
162
162
  /**
163
- * The label layer of the figure, often used for the x axis
164
- */
163
+ * The label layer of the figure, often used for the x axis
164
+ */
165
165
  label: VegaLayer;
166
166
  /**
167
- * The value layer of the figure, often used for the y axis
168
- */
167
+ * The value layer of the figure, often used for the y axis
168
+ */
169
169
  value: VegaLayer;
170
170
  /**
171
- * The color layer of the figure, often used for splitting the value
172
- */
171
+ * The color layer of the figure, often used for splitting the value
172
+ */
173
173
  color?: VegaLayer;
174
174
  /**
175
- * The data label options
176
- *
177
- * Data labels are displayed on top of the value layer, and show details about values
178
- */
175
+ * The data label options
176
+ *
177
+ * Data labels are displayed on top of the value layer, and show details about values
178
+ */
179
179
  dataLabel?: VegaDataLabelOptions;
180
180
  /**
181
- * The order of the data in the chart
182
- */
181
+ * The order of the data in the chart
182
+ */
183
183
  order?: FigureOrder;
184
184
  };
185
185
  }
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../index-btsFMVmd.js");exports.addMetricLabelOfHelper=e.addMetricLabelOfHelper;exports.addTableColumnOfHelper=e.addTableColumnOfHelper;exports.createFigureHelper=e.createFigureHelper;exports.createFigureHelperFrom=e.createFigureHelperFrom;exports.createMdFigureHelper=e.createMdFigureHelper;exports.createMdFigureHelperFrom=e.createMdFigureHelperFrom;exports.createMetricFigureHelper=e.createMetricFigureHelper;exports.createMetricFigureHelperFrom=e.createMetricFigureHelperFrom;exports.createTableFigureHelper=e.createTableFigureHelper;exports.createTableFigureHelperFrom=e.createTableFigureHelperFrom;exports.createVegaFigureHelper=e.createVegaFigureHelper;exports.createVegaFigureHelperFrom=e.createVegaFigureHelperFrom;exports.figureHelperToJSON=e.figureHelperToJSON;exports.getAllMetricLabelKeysOfHelper=e.getAllMetricLabelKeysOfHelper;exports.getAllTableColumnKeysOfHelper=e.getAllTableColumnKeysOfHelper;exports.getMetricLabelKey=e.getMetricLabelKey;exports.getTableColumnKey=e.getTableColumnKey;exports.isFigureHelperMarkdown=e.isFigureHelperMarkdown;exports.isFigureHelperMetric=e.isFigureHelperMetric;exports.isFigureHelperTable=e.isFigureHelperTable;exports.isFigureHelperVega=e.isFigureHelperVega;exports.mdHelperParamsToJSON=e.mdHelperParamsToJSON;exports.metricHelperParamsToJSON=e.metricHelperParamsToJSON;exports.removeMetricLabelOfHelper=e.removeMetricLabelOfHelper;exports.removeTableColumnOfHelper=e.removeTableColumnOfHelper;exports.tableHelperParamsToJSON=e.tableHelperParamsToJSON;exports.updateMetricLabelOfHelper=e.updateMetricLabelOfHelper;exports.updateTableColumnOfHelper=e.updateTableColumnOfHelper;exports.vegaHelperParamsToJSON=e.vegaHelperParamsToJSON;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../index-Cc9-CotA.js");exports.addMetricLabelOfHelper=e.addMetricLabelOfHelper;exports.addTableColumnOfHelper=e.addTableColumnOfHelper;exports.createFigureHelper=e.createFigureHelper;exports.createFigureHelperFrom=e.createFigureHelperFrom;exports.createMdFigureHelper=e.createMdFigureHelper;exports.createMdFigureHelperFrom=e.createMdFigureHelperFrom;exports.createMetricFigureHelper=e.createMetricFigureHelper;exports.createMetricFigureHelperFrom=e.createMetricFigureHelperFrom;exports.createTableFigureHelper=e.createTableFigureHelper;exports.createTableFigureHelperFrom=e.createTableFigureHelperFrom;exports.createVegaFigureHelper=e.createVegaFigureHelper;exports.createVegaFigureHelperFrom=e.createVegaFigureHelperFrom;exports.figureHelperToJSON=e.figureHelperToJSON;exports.getAllMetricLabelKeysOfHelper=e.getAllMetricLabelKeysOfHelper;exports.getAllTableColumnKeysOfHelper=e.getAllTableColumnKeysOfHelper;exports.getMetricLabelKey=e.getMetricLabelKey;exports.getTableColumnKey=e.getTableColumnKey;exports.isFigureHelperMarkdown=e.isFigureHelperMarkdown;exports.isFigureHelperMetric=e.isFigureHelperMetric;exports.isFigureHelperTable=e.isFigureHelperTable;exports.isFigureHelperVega=e.isFigureHelperVega;exports.mdHelperParamsToJSON=e.mdHelperParamsToJSON;exports.metricHelperParamsToJSON=e.metricHelperParamsToJSON;exports.removeMetricLabelOfHelper=e.removeMetricLabelOfHelper;exports.removeTableColumnOfHelper=e.removeTableColumnOfHelper;exports.tableHelperParamsToJSON=e.tableHelperParamsToJSON;exports.updateMetricLabelOfHelper=e.updateMetricLabelOfHelper;exports.updateTableColumnOfHelper=e.updateTableColumnOfHelper;exports.vegaHelperParamsToJSON=e.vegaHelperParamsToJSON;
2
2
  //# sourceMappingURL=figures.js.map
@@ -1,4 +1,4 @@
1
- import { q as a, y as l, a as s, c as p, g as i, h as t, j as H, k as g, s as u, t as o, B as c, C as m, f as F, p as b, x as O, o as T, w as d, i as f, b as M, d as n, e as C, m as y, l as J, r as L, z as N, v as S, u as v, A as K, D as P } from "../index-niBfS4wD.mjs";
1
+ import { q as a, y as l, a as s, c as p, g as i, h as t, j as H, k as g, s as u, t as o, B as c, C as m, f as F, p as b, x as O, o as T, w as d, i as f, b as M, d as n, e as C, m as y, l as J, r as L, z as N, v as S, u as v, A as K, D as P } from "../index-D6K5zKgZ.mjs";
2
2
  export {
3
3
  a as addMetricLabelOfHelper,
4
4
  l as addTableColumnOfHelper,
@@ -1 +1 @@
1
- {"version":3,"file":"filters.js","sources":["../../src/helpers/templates/editor/filters/index.ts"],"sourcesContent":["import type { TemplateBasicFilter, TemplateRawFilter, TemplateFilter } from '~/modules/templates';\n\ntype TemplateFilterMap = Map<string, TemplateFilter>;\n\ntype AnyFilter = TemplateFilter;\n\nfunction isRawFilter(filter: AnyFilter): filter is TemplateRawFilter {\n return 'raw' in filter && filter.raw !== undefined;\n}\n\nexport {\n type TemplateBasicFilter,\n type TemplateRawFilter,\n type TemplateFilterMap,\n type TemplateFilter,\n isRawFilter,\n};\n"],"names":["isRawFilter","filter"],"mappings":"gFAMA,SAASA,EAAYC,EAAgD,CAC5D,MAAA,QAASA,GAAUA,EAAO,MAAQ,MAC3C"}
1
+ {"version":3,"file":"filters.js","sources":["../../src/helpers/templates/editor/filters/index.ts"],"sourcesContent":["import type {\n TemplateBasicFilter,\n TemplateRawFilter,\n TemplateFilter,\n} from '~/modules/templates';\n\ntype TemplateFilterMap = Map<string, TemplateFilter>;\n\ntype AnyFilter = TemplateFilter;\n\nfunction isRawFilter(filter: AnyFilter): filter is TemplateRawFilter {\n return 'raw' in filter && filter.raw !== undefined;\n}\n\nexport {\n type TemplateBasicFilter,\n type TemplateRawFilter,\n type TemplateFilterMap,\n type TemplateFilter,\n isRawFilter,\n};\n"],"names":["isRawFilter","filter"],"mappings":"gFAUA,SAASA,EAAYC,EAAgD,CACnE,MAAO,QAASA,GAAUA,EAAO,MAAQ,MAC3C"}
@@ -1 +1 @@
1
- {"version":3,"file":"filters.mjs","sources":["../../src/helpers/templates/editor/filters/index.ts"],"sourcesContent":["import type { TemplateBasicFilter, TemplateRawFilter, TemplateFilter } from '~/modules/templates';\n\ntype TemplateFilterMap = Map<string, TemplateFilter>;\n\ntype AnyFilter = TemplateFilter;\n\nfunction isRawFilter(filter: AnyFilter): filter is TemplateRawFilter {\n return 'raw' in filter && filter.raw !== undefined;\n}\n\nexport {\n type TemplateBasicFilter,\n type TemplateRawFilter,\n type TemplateFilterMap,\n type TemplateFilter,\n isRawFilter,\n};\n"],"names":["isRawFilter","filter"],"mappings":"AAMA,SAASA,EAAYC,GAAgD;AAC5D,SAAA,SAASA,KAAUA,EAAO,QAAQ;AAC3C;"}
1
+ {"version":3,"file":"filters.mjs","sources":["../../src/helpers/templates/editor/filters/index.ts"],"sourcesContent":["import type {\n TemplateBasicFilter,\n TemplateRawFilter,\n TemplateFilter,\n} from '~/modules/templates';\n\ntype TemplateFilterMap = Map<string, TemplateFilter>;\n\ntype AnyFilter = TemplateFilter;\n\nfunction isRawFilter(filter: AnyFilter): filter is TemplateRawFilter {\n return 'raw' in filter && filter.raw !== undefined;\n}\n\nexport {\n type TemplateBasicFilter,\n type TemplateRawFilter,\n type TemplateFilterMap,\n type TemplateFilter,\n isRawFilter,\n};\n"],"names":["isRawFilter","filter"],"mappings":"AAUA,SAASA,EAAYC,GAAgD;AACnE,SAAO,SAASA,KAAUA,EAAO,QAAQ;AAC3C;"}
@@ -0,0 +1,55 @@
1
+ import { a as ReportResult } from '../types-CgKoQCwb.js';
2
+ import { T as Task } from '../types-CCDLyhAJ.js';
3
+ import { G as Generation } from '../types-Cac8HEO5.js';
4
+ import '../namespaces.js';
5
+ import '../types-DcoMmjs3.js';
6
+
7
+ type EventMap = Record<string, any[]>;
8
+ interface EventfulListener<Events extends EventMap> {
9
+ on: <Name extends keyof Events>(eventName: Name, listener: (...args: Events[Name]) => void) => this;
10
+ once: <Name extends keyof Events>(eventName: Name, listener: (...args: Events[Name]) => void) => this;
11
+ off: <Name extends keyof Events>(eventName: Name, listener: (...args: Events[Name]) => void) => this;
12
+ }
13
+ type EventfulPromise<Data, Events extends EventMap> = Promise<Data> & EventfulListener<Events>;
14
+
15
+ interface GenerationStartedEvent {
16
+ id: string;
17
+ }
18
+ type GenerationProgressEvent = Omit<Generation, 'task'>;
19
+ interface GenerationEvents extends Record<string, any[]> {
20
+ started: [GenerationStartedEvent];
21
+ progress: [GenerationProgressEvent];
22
+ }
23
+ declare const isGenerationEnded: (gen: Generation) => boolean;
24
+ type ReportGenerationPromise = EventfulPromise<ReportResult, GenerationEvents>;
25
+ /**
26
+ * Start generation of a report and track progress
27
+ *
28
+ * @param taskOrId Task or Task's id
29
+ * @param targets Override targets, also enable first level of debugging
30
+ *
31
+ * @fires #started When generation started. See `GenerationStartedEvent`.
32
+ * @fires #progress When generation progress. See `GenerationProgressEvent`. Job's progress is
33
+ * between 0 and 1
34
+ *
35
+ * @throws If job's fails. **Not if generation fails !**
36
+ *
37
+ * @returns When the report is ready, returns the report result
38
+ */
39
+ declare const generateAndListenReportOfTask: (taskOrId: Omit<Task, "template"> | string, period?: {
40
+ start: Date;
41
+ end: Date;
42
+ }, targets?: string[]) => ReportGenerationPromise;
43
+ /**
44
+ * Listen to all generations
45
+ *
46
+ * @param onUpdate Function to call when a generation is updated
47
+ * @param namespaces Namespaces to listen to
48
+ *
49
+ * @returns Function to remove listener
50
+ */
51
+ declare function listenAllGenerations(onUpdate: (generation: Omit<Generation, 'task'>) => void, namespaces?: string[]): {
52
+ stop: () => void;
53
+ };
54
+
55
+ export { type GenerationProgressEvent, type GenerationStartedEvent, generateAndListenReportOfTask, isGenerationEnded, listenAllGenerations };
@@ -0,0 +1,2 @@
1
+ "use strict";var A=(u,p,c)=>new Promise((h,d)=>{var i=v=>{try{a(c.next(v))}catch(g){d(g)}},l=v=>{try{a(c.throw(v))}catch(g){d(g)}},a=v=>v.done?h(v.value):Promise.resolve(v.value).then(i,l);a((c=c.apply(u,p)).next())});Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const T=require("../fetch-DA1lo0q0.js"),N=require("../decorator-C2gcn2rK.js"),_=require("../methods-Cvs5hjsE.js"),S=require("../methods-CBlHpa4P.js"),P=require("../methods-HbhrcB_u.js");function D(u){return u&&u.__esModule&&Object.prototype.hasOwnProperty.call(u,"default")?u.default:u}var E={exports:{}},C;function W(){if(C)return E.exports;C=1;var u=typeof Reflect=="object"?Reflect:null,p=u&&typeof u.apply=="function"?u.apply:function(e,n,r){return Function.prototype.apply.call(e,n,r)},c;u&&typeof u.ownKeys=="function"?c=u.ownKeys:Object.getOwnPropertySymbols?c=function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:c=function(e){return Object.getOwnPropertyNames(e)};function h(t){console&&console.warn&&console.warn(t)}var d=Number.isNaN||function(e){return e!==e};function i(){i.init.call(this)}E.exports=i,E.exports.once=I,i.EventEmitter=i,i.prototype._events=void 0,i.prototype._eventsCount=0,i.prototype._maxListeners=void 0;var l=10;function a(t){if(typeof t!="function")throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof t)}Object.defineProperty(i,"defaultMaxListeners",{enumerable:!0,get:function(){return l},set:function(t){if(typeof t!="number"||t<0||d(t))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+t+".");l=t}}),i.init=function(){(this._events===void 0||this._events===Object.getPrototypeOf(this)._events)&&(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},i.prototype.setMaxListeners=function(e){if(typeof e!="number"||e<0||d(e))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+e+".");return this._maxListeners=e,this};function v(t){return t._maxListeners===void 0?i.defaultMaxListeners:t._maxListeners}i.prototype.getMaxListeners=function(){return v(this)},i.prototype.emit=function(e){for(var n=[],r=1;r<arguments.length;r++)n.push(arguments[r]);var s=e==="error",f=this._events;if(f!==void 0)s=s&&f.error===void 0;else if(!s)return!1;if(s){var o;if(n.length>0&&(o=n[0]),o instanceof Error)throw o;var m=new Error("Unhandled error."+(o?" ("+o.message+")":""));throw m.context=o,m}var w=f[e];if(w===void 0)return!1;if(typeof w=="function")p(w,this,n);else for(var x=w.length,K=R(w,x),r=0;r<x;++r)p(K[r],this,n);return!0};function g(t,e,n,r){var s,f,o;if(a(n),f=t._events,f===void 0?(f=t._events=Object.create(null),t._eventsCount=0):(f.newListener!==void 0&&(t.emit("newListener",e,n.listener?n.listener:n),f=t._events),o=f[e]),o===void 0)o=f[e]=n,++t._eventsCount;else if(typeof o=="function"?o=f[e]=r?[n,o]:[o,n]:r?o.unshift(n):o.push(n),s=v(t),s>0&&o.length>s&&!o.warned){o.warned=!0;var m=new Error("Possible EventEmitter memory leak detected. "+o.length+" "+String(e)+" listeners added. Use emitter.setMaxListeners() to increase limit");m.name="MaxListenersExceededWarning",m.emitter=t,m.type=e,m.count=o.length,h(m)}return t}i.prototype.addListener=function(e,n){return g(this,e,n,!1)},i.prototype.on=i.prototype.addListener,i.prototype.prependListener=function(e,n){return g(this,e,n,!0)};function L(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length===0?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function y(t,e,n){var r={fired:!1,wrapFn:void 0,target:t,type:e,listener:n},s=L.bind(r);return s.listener=n,r.wrapFn=s,s}i.prototype.once=function(e,n){return a(n),this.on(e,y(this,e,n)),this},i.prototype.prependOnceListener=function(e,n){return a(n),this.prependListener(e,y(this,e,n)),this},i.prototype.removeListener=function(e,n){var r,s,f,o,m;if(a(n),s=this._events,s===void 0)return this;if(r=s[e],r===void 0)return this;if(r===n||r.listener===n)--this._eventsCount===0?this._events=Object.create(null):(delete s[e],s.removeListener&&this.emit("removeListener",e,r.listener||n));else if(typeof r!="function"){for(f=-1,o=r.length-1;o>=0;o--)if(r[o]===n||r[o].listener===n){m=r[o].listener,f=o;break}if(f<0)return this;f===0?r.shift():F(r,f),r.length===1&&(s[e]=r[0]),s.removeListener!==void 0&&this.emit("removeListener",e,m||n)}return this},i.prototype.off=i.prototype.removeListener,i.prototype.removeAllListeners=function(e){var n,r,s;if(r=this._events,r===void 0)return this;if(r.removeListener===void 0)return arguments.length===0?(this._events=Object.create(null),this._eventsCount=0):r[e]!==void 0&&(--this._eventsCount===0?this._events=Object.create(null):delete r[e]),this;if(arguments.length===0){var f=Object.keys(r),o;for(s=0;s<f.length;++s)o=f[s],o!=="removeListener"&&this.removeAllListeners(o);return this.removeAllListeners("removeListener"),this._events=Object.create(null),this._eventsCount=0,this}if(n=r[e],typeof n=="function")this.removeListener(e,n);else if(n!==void 0)for(s=n.length-1;s>=0;s--)this.removeListener(e,n[s]);return this};function b(t,e,n){var r=t._events;if(r===void 0)return[];var s=r[e];return s===void 0?[]:typeof s=="function"?n?[s.listener||s]:[s]:n?q(s):R(s,s.length)}i.prototype.listeners=function(e){return b(this,e,!0)},i.prototype.rawListeners=function(e){return b(this,e,!1)},i.listenerCount=function(t,e){return typeof t.listenerCount=="function"?t.listenerCount(e):O.call(t,e)},i.prototype.listenerCount=O;function O(t){var e=this._events;if(e!==void 0){var n=e[t];if(typeof n=="function")return 1;if(n!==void 0)return n.length}return 0}i.prototype.eventNames=function(){return this._eventsCount>0?c(this._events):[]};function R(t,e){for(var n=new Array(e),r=0;r<e;++r)n[r]=t[r];return n}function F(t,e){for(;e+1<t.length;e++)t[e]=t[e+1];t.pop()}function q(t){for(var e=new Array(t.length),n=0;n<e.length;++n)e[n]=t[n].listener||t[n];return e}function I(t,e){return new Promise(function(n,r){function s(o){t.removeListener(e,f),r(o)}function f(){typeof t.removeListener=="function"&&t.removeListener("error",s),n([].slice.call(arguments))}j(t,e,f,{once:!0}),e!=="error"&&U(t,s,{once:!0})})}function U(t,e,n){typeof t.on=="function"&&j(t,"error",e,n)}function j(t,e,n,r){if(typeof t.on=="function")r.once?t.once(e,n):t.on(e,n);else if(typeof t.addEventListener=="function")t.addEventListener(e,function s(f){r.once&&t.removeEventListener(e,s),n(f)});else throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type '+typeof t)}return E.exports}var $=W();const J=D($),B=(u,p=new J)=>{const c={emit:(i,...l)=>(p.emit(i.toString(),...l),c)},h=new Promise((i,l)=>{u(c,i).then(a=>a&&i(a)).catch(l)}),d=Object.assign(h,{on:(i,l)=>(p.on(i.toString(),(...a)=>l(...a)),d),once:(i,l)=>(p.once(i.toString(),(...a)=>l(...a)),d),off:(i,l)=>(p.off(i.toString(),(...a)=>l(...a)),d)});return d},H=new Set(["SUCCESS","ERROR","ABORTED"]),k=u=>H.has(u.status),M=(u,p,c)=>B((h,d)=>A(null,null,function*(){const i=yield S.getTask(u),l=T.client.socket("/generations",[i.namespaceId]);if(!l)throw new Error("Unable to get socket");l.on("generation:updated",function v(g){const L=P.transformGeneration(g);L.taskId===i.id&&(h.emit("progress",L),k(L)&&(l.off("generation:updated",v),_.getFileAsJson(u,`${L.reportId}.det.json`).then(y=>d(y)).catch(y=>{})))});const{id:a}=yield _.generateReportOfTask(u,p,c);h.emit("started",{id:a})}));N.assignDependencies(M,[S.getTask,_.generateReportOfTask,_.getFileAsJson]);function G(u,p){const c=T.client.socket("/generations",p);if(!c)throw new Error("Unable to get socket");const h=d=>u(P.transformGeneration(d));return c.on("generation:updated",h),{stop:()=>{c.off("generation:updated",h)}}}N.assignPermission(G,"GET /generations/:id",!0);exports.generateAndListenReportOfTask=M;exports.isGenerationEnded=k;exports.listenAllGenerations=G;
2
+ //# sourceMappingURL=generations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generations.js","sources":["../../../../node_modules/.pnpm/events@3.3.0/node_modules/events/events.js","../../src/lib/promises.ts","../../src/helpers/generations/index.ts"],"sourcesContent":["// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\nvar R = typeof Reflect === 'object' ? Reflect : null\nvar ReflectApply = R && typeof R.apply === 'function'\n ? R.apply\n : function ReflectApply(target, receiver, args) {\n return Function.prototype.apply.call(target, receiver, args);\n }\n\nvar ReflectOwnKeys\nif (R && typeof R.ownKeys === 'function') {\n ReflectOwnKeys = R.ownKeys\n} else if (Object.getOwnPropertySymbols) {\n ReflectOwnKeys = function ReflectOwnKeys(target) {\n return Object.getOwnPropertyNames(target)\n .concat(Object.getOwnPropertySymbols(target));\n };\n} else {\n ReflectOwnKeys = function ReflectOwnKeys(target) {\n return Object.getOwnPropertyNames(target);\n };\n}\n\nfunction ProcessEmitWarning(warning) {\n if (console && console.warn) console.warn(warning);\n}\n\nvar NumberIsNaN = Number.isNaN || function NumberIsNaN(value) {\n return value !== value;\n}\n\nfunction EventEmitter() {\n EventEmitter.init.call(this);\n}\nmodule.exports = EventEmitter;\nmodule.exports.once = once;\n\n// Backwards-compat with node 0.10.x\nEventEmitter.EventEmitter = EventEmitter;\n\nEventEmitter.prototype._events = undefined;\nEventEmitter.prototype._eventsCount = 0;\nEventEmitter.prototype._maxListeners = undefined;\n\n// By default EventEmitters will print a warning if more than 10 listeners are\n// added to it. This is a useful default which helps finding memory leaks.\nvar defaultMaxListeners = 10;\n\nfunction checkListener(listener) {\n if (typeof listener !== 'function') {\n throw new TypeError('The \"listener\" argument must be of type Function. Received type ' + typeof listener);\n }\n}\n\nObject.defineProperty(EventEmitter, 'defaultMaxListeners', {\n enumerable: true,\n get: function() {\n return defaultMaxListeners;\n },\n set: function(arg) {\n if (typeof arg !== 'number' || arg < 0 || NumberIsNaN(arg)) {\n throw new RangeError('The value of \"defaultMaxListeners\" is out of range. It must be a non-negative number. Received ' + arg + '.');\n }\n defaultMaxListeners = arg;\n }\n});\n\nEventEmitter.init = function() {\n\n if (this._events === undefined ||\n this._events === Object.getPrototypeOf(this)._events) {\n this._events = Object.create(null);\n this._eventsCount = 0;\n }\n\n this._maxListeners = this._maxListeners || undefined;\n};\n\n// Obviously not all Emitters should be limited to 10. This function allows\n// that to be increased. Set to zero for unlimited.\nEventEmitter.prototype.setMaxListeners = function setMaxListeners(n) {\n if (typeof n !== 'number' || n < 0 || NumberIsNaN(n)) {\n throw new RangeError('The value of \"n\" is out of range. It must be a non-negative number. Received ' + n + '.');\n }\n this._maxListeners = n;\n return this;\n};\n\nfunction _getMaxListeners(that) {\n if (that._maxListeners === undefined)\n return EventEmitter.defaultMaxListeners;\n return that._maxListeners;\n}\n\nEventEmitter.prototype.getMaxListeners = function getMaxListeners() {\n return _getMaxListeners(this);\n};\n\nEventEmitter.prototype.emit = function emit(type) {\n var args = [];\n for (var i = 1; i < arguments.length; i++) args.push(arguments[i]);\n var doError = (type === 'error');\n\n var events = this._events;\n if (events !== undefined)\n doError = (doError && events.error === undefined);\n else if (!doError)\n return false;\n\n // If there is no 'error' event listener then throw.\n if (doError) {\n var er;\n if (args.length > 0)\n er = args[0];\n if (er instanceof Error) {\n // Note: The comments on the `throw` lines are intentional, they show\n // up in Node's output if this results in an unhandled exception.\n throw er; // Unhandled 'error' event\n }\n // At least give some kind of context to the user\n var err = new Error('Unhandled error.' + (er ? ' (' + er.message + ')' : ''));\n err.context = er;\n throw err; // Unhandled 'error' event\n }\n\n var handler = events[type];\n\n if (handler === undefined)\n return false;\n\n if (typeof handler === 'function') {\n ReflectApply(handler, this, args);\n } else {\n var len = handler.length;\n var listeners = arrayClone(handler, len);\n for (var i = 0; i < len; ++i)\n ReflectApply(listeners[i], this, args);\n }\n\n return true;\n};\n\nfunction _addListener(target, type, listener, prepend) {\n var m;\n var events;\n var existing;\n\n checkListener(listener);\n\n events = target._events;\n if (events === undefined) {\n events = target._events = Object.create(null);\n target._eventsCount = 0;\n } else {\n // To avoid recursion in the case that type === \"newListener\"! Before\n // adding it to the listeners, first emit \"newListener\".\n if (events.newListener !== undefined) {\n target.emit('newListener', type,\n listener.listener ? listener.listener : listener);\n\n // Re-assign `events` because a newListener handler could have caused the\n // this._events to be assigned to a new object\n events = target._events;\n }\n existing = events[type];\n }\n\n if (existing === undefined) {\n // Optimize the case of one listener. Don't need the extra array object.\n existing = events[type] = listener;\n ++target._eventsCount;\n } else {\n if (typeof existing === 'function') {\n // Adding the second element, need to change to array.\n existing = events[type] =\n prepend ? [listener, existing] : [existing, listener];\n // If we've already got an array, just append.\n } else if (prepend) {\n existing.unshift(listener);\n } else {\n existing.push(listener);\n }\n\n // Check for listener leak\n m = _getMaxListeners(target);\n if (m > 0 && existing.length > m && !existing.warned) {\n existing.warned = true;\n // No error code for this since it is a Warning\n // eslint-disable-next-line no-restricted-syntax\n var w = new Error('Possible EventEmitter memory leak detected. ' +\n existing.length + ' ' + String(type) + ' listeners ' +\n 'added. Use emitter.setMaxListeners() to ' +\n 'increase limit');\n w.name = 'MaxListenersExceededWarning';\n w.emitter = target;\n w.type = type;\n w.count = existing.length;\n ProcessEmitWarning(w);\n }\n }\n\n return target;\n}\n\nEventEmitter.prototype.addListener = function addListener(type, listener) {\n return _addListener(this, type, listener, false);\n};\n\nEventEmitter.prototype.on = EventEmitter.prototype.addListener;\n\nEventEmitter.prototype.prependListener =\n function prependListener(type, listener) {\n return _addListener(this, type, listener, true);\n };\n\nfunction onceWrapper() {\n if (!this.fired) {\n this.target.removeListener(this.type, this.wrapFn);\n this.fired = true;\n if (arguments.length === 0)\n return this.listener.call(this.target);\n return this.listener.apply(this.target, arguments);\n }\n}\n\nfunction _onceWrap(target, type, listener) {\n var state = { fired: false, wrapFn: undefined, target: target, type: type, listener: listener };\n var wrapped = onceWrapper.bind(state);\n wrapped.listener = listener;\n state.wrapFn = wrapped;\n return wrapped;\n}\n\nEventEmitter.prototype.once = function once(type, listener) {\n checkListener(listener);\n this.on(type, _onceWrap(this, type, listener));\n return this;\n};\n\nEventEmitter.prototype.prependOnceListener =\n function prependOnceListener(type, listener) {\n checkListener(listener);\n this.prependListener(type, _onceWrap(this, type, listener));\n return this;\n };\n\n// Emits a 'removeListener' event if and only if the listener was removed.\nEventEmitter.prototype.removeListener =\n function removeListener(type, listener) {\n var list, events, position, i, originalListener;\n\n checkListener(listener);\n\n events = this._events;\n if (events === undefined)\n return this;\n\n list = events[type];\n if (list === undefined)\n return this;\n\n if (list === listener || list.listener === listener) {\n if (--this._eventsCount === 0)\n this._events = Object.create(null);\n else {\n delete events[type];\n if (events.removeListener)\n this.emit('removeListener', type, list.listener || listener);\n }\n } else if (typeof list !== 'function') {\n position = -1;\n\n for (i = list.length - 1; i >= 0; i--) {\n if (list[i] === listener || list[i].listener === listener) {\n originalListener = list[i].listener;\n position = i;\n break;\n }\n }\n\n if (position < 0)\n return this;\n\n if (position === 0)\n list.shift();\n else {\n spliceOne(list, position);\n }\n\n if (list.length === 1)\n events[type] = list[0];\n\n if (events.removeListener !== undefined)\n this.emit('removeListener', type, originalListener || listener);\n }\n\n return this;\n };\n\nEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\n\nEventEmitter.prototype.removeAllListeners =\n function removeAllListeners(type) {\n var listeners, events, i;\n\n events = this._events;\n if (events === undefined)\n return this;\n\n // not listening for removeListener, no need to emit\n if (events.removeListener === undefined) {\n if (arguments.length === 0) {\n this._events = Object.create(null);\n this._eventsCount = 0;\n } else if (events[type] !== undefined) {\n if (--this._eventsCount === 0)\n this._events = Object.create(null);\n else\n delete events[type];\n }\n return this;\n }\n\n // emit removeListener for all listeners on all events\n if (arguments.length === 0) {\n var keys = Object.keys(events);\n var key;\n for (i = 0; i < keys.length; ++i) {\n key = keys[i];\n if (key === 'removeListener') continue;\n this.removeAllListeners(key);\n }\n this.removeAllListeners('removeListener');\n this._events = Object.create(null);\n this._eventsCount = 0;\n return this;\n }\n\n listeners = events[type];\n\n if (typeof listeners === 'function') {\n this.removeListener(type, listeners);\n } else if (listeners !== undefined) {\n // LIFO order\n for (i = listeners.length - 1; i >= 0; i--) {\n this.removeListener(type, listeners[i]);\n }\n }\n\n return this;\n };\n\nfunction _listeners(target, type, unwrap) {\n var events = target._events;\n\n if (events === undefined)\n return [];\n\n var evlistener = events[type];\n if (evlistener === undefined)\n return [];\n\n if (typeof evlistener === 'function')\n return unwrap ? [evlistener.listener || evlistener] : [evlistener];\n\n return unwrap ?\n unwrapListeners(evlistener) : arrayClone(evlistener, evlistener.length);\n}\n\nEventEmitter.prototype.listeners = function listeners(type) {\n return _listeners(this, type, true);\n};\n\nEventEmitter.prototype.rawListeners = function rawListeners(type) {\n return _listeners(this, type, false);\n};\n\nEventEmitter.listenerCount = function(emitter, type) {\n if (typeof emitter.listenerCount === 'function') {\n return emitter.listenerCount(type);\n } else {\n return listenerCount.call(emitter, type);\n }\n};\n\nEventEmitter.prototype.listenerCount = listenerCount;\nfunction listenerCount(type) {\n var events = this._events;\n\n if (events !== undefined) {\n var evlistener = events[type];\n\n if (typeof evlistener === 'function') {\n return 1;\n } else if (evlistener !== undefined) {\n return evlistener.length;\n }\n }\n\n return 0;\n}\n\nEventEmitter.prototype.eventNames = function eventNames() {\n return this._eventsCount > 0 ? ReflectOwnKeys(this._events) : [];\n};\n\nfunction arrayClone(arr, n) {\n var copy = new Array(n);\n for (var i = 0; i < n; ++i)\n copy[i] = arr[i];\n return copy;\n}\n\nfunction spliceOne(list, index) {\n for (; index + 1 < list.length; index++)\n list[index] = list[index + 1];\n list.pop();\n}\n\nfunction unwrapListeners(arr) {\n var ret = new Array(arr.length);\n for (var i = 0; i < ret.length; ++i) {\n ret[i] = arr[i].listener || arr[i];\n }\n return ret;\n}\n\nfunction once(emitter, name) {\n return new Promise(function (resolve, reject) {\n function errorListener(err) {\n emitter.removeListener(name, resolver);\n reject(err);\n }\n\n function resolver() {\n if (typeof emitter.removeListener === 'function') {\n emitter.removeListener('error', errorListener);\n }\n resolve([].slice.call(arguments));\n };\n\n eventTargetAgnosticAddListener(emitter, name, resolver, { once: true });\n if (name !== 'error') {\n addErrorHandlerIfEventEmitter(emitter, errorListener, { once: true });\n }\n });\n}\n\nfunction addErrorHandlerIfEventEmitter(emitter, handler, flags) {\n if (typeof emitter.on === 'function') {\n eventTargetAgnosticAddListener(emitter, 'error', handler, flags);\n }\n}\n\nfunction eventTargetAgnosticAddListener(emitter, name, listener, flags) {\n if (typeof emitter.on === 'function') {\n if (flags.once) {\n emitter.once(name, listener);\n } else {\n emitter.on(name, listener);\n }\n } else if (typeof emitter.addEventListener === 'function') {\n // EventTarget does not have `error` event semantics like Node\n // EventEmitters, we do not listen for `error` events here.\n emitter.addEventListener(name, function wrapListener(arg) {\n // IE does not have builtin `{ once: true }` support so we\n // have to do it manually.\n if (flags.once) {\n emitter.removeEventListener(name, wrapListener);\n }\n listener(arg);\n });\n } else {\n throw new TypeError('The \"emitter\" argument must be of type EventEmitter. Received type ' + typeof emitter);\n }\n}\n","// oxlint-disable-next-line prefer-node-protocol\nimport EventEmitter from 'events';\n\n// oxlint-disable-next-line no-explicit-any\ntype EventMap = Record<string, any[]>;\n\ninterface EventfulListener<Events extends EventMap> {\n on: <Name extends keyof Events>(\n eventName: Name,\n listener: (...args: Events[Name]) => void\n ) => this;\n once: <Name extends keyof Events>(\n eventName: Name,\n listener: (...args: Events[Name]) => void\n ) => this;\n off: <Name extends keyof Events>(\n eventName: Name,\n listener: (...args: Events[Name]) => void\n ) => this;\n}\ninterface EventfulEmitter<Events extends EventMap> {\n emit: <Name extends keyof Events>(\n eventName: Name,\n ...args: Events[Name]\n ) => this;\n}\n\nexport type EventfulPromise<Data, Events extends EventMap> = Promise<Data> &\n EventfulListener<Events>;\n\n/**\n * Attach a `EventEmitter` to a `Promise` returned by the `executor`\n *\n * @param executor Executor returning the promise. The `emitter` is passed to the executor as param.\n * @param emitter `EventEmitter` attached. By default it's a new instance.\n *\n * @returns The EventfulPromise\n */\nconst createEventfulPromise = <Data, Events extends EventMap = EventMap>(\n executor: (\n emitter: EventfulEmitter<Events>,\n resolve: (value: Data) => void\n ) => Promise<Data | void>,\n // oxlint-disable-next-line unicorn/prefer-event-target\n emitter = new EventEmitter()\n): EventfulPromise<Data, Events> => {\n const customEmitter: EventfulEmitter<Events> = {\n emit: (eventName, ...args) => {\n emitter.emit(eventName.toString(), ...args);\n return customEmitter;\n },\n };\n\n // oxlint-disable-next-line promise/avoid-new\n const promise = new Promise<Data>((resolve, reject) => {\n executor(customEmitter, resolve)\n // oxlint-disable-next-line prefer-await-to-then\n .then((res) => res && resolve(res))\n // oxlint-disable-next-line prefer-await-to-then\n .catch(reject);\n });\n\n const res: EventfulPromise<Data, Events> = Object.assign<\n Promise<Data>,\n EventfulListener<Events>\n >(promise, {\n on: (eventName, listener) => {\n emitter.on(eventName.toString(), (...params) =>\n // oxlint-disable-next-line no-explicit-any\n listener(...(params as any))\n );\n return res;\n },\n once: (eventName, listener) => {\n emitter.once(eventName.toString(), (...params) =>\n // oxlint-disable-next-line no-explicit-any\n listener(...(params as any))\n );\n return res;\n },\n off: (eventName, listener) => {\n emitter.off(eventName.toString(), (...params) =>\n // oxlint-disable-next-line no-explicit-any\n listener(...(params as any))\n );\n return res;\n },\n });\n return res;\n};\n\nexport default createEventfulPromise;\n","import { client } from '~/lib/fetch';\nimport createEventfulPromise, { type EventfulPromise } from '~/lib/promises';\n\nimport {\n assignDependencies,\n assignPermission,\n} from '~/helpers/permissions/decorator';\n\nimport { generateReportOfTask, getFileAsJson } from '~/modules/reports/methods';\nimport type { ReportResult } from '~/modules/reports/types';\nimport { getTask } from '~/modules/tasks/methods';\nimport type { Task } from '~/modules/tasks/types';\nimport { transformGeneration } from '~/modules/generations/methods';\nimport type {\n GenerationStatus,\n Generation,\n RawGeneration,\n} from '~/modules/generations/types';\n\nexport interface GenerationStartedEvent {\n id: string;\n}\n\nexport type GenerationProgressEvent = Omit<Generation, 'task'>;\n\n// oxlint-disable-next-line no-explicit-any\ninterface GenerationEvents extends Record<string, any[]> {\n started: [GenerationStartedEvent];\n progress: [GenerationProgressEvent];\n}\n\nconst GEN_END_STATES = new Set<GenerationStatus>([\n 'SUCCESS',\n 'ERROR',\n 'ABORTED',\n]);\n\nexport const isGenerationEnded = (gen: Generation): boolean =>\n GEN_END_STATES.has(gen.status);\n\ntype ReportGenerationPromise = EventfulPromise<ReportResult, GenerationEvents>;\n\n/**\n * Start generation of a report and track progress\n *\n * @param taskOrId Task or Task's id\n * @param targets Override targets, also enable first level of debugging\n *\n * @fires #started When generation started. See `GenerationStartedEvent`.\n * @fires #progress When generation progress. See `GenerationProgressEvent`. Job's progress is\n * between 0 and 1\n *\n * @throws If job's fails. **Not if generation fails !**\n *\n * @returns When the report is ready, returns the report result\n */\nexport const generateAndListenReportOfTask = (\n taskOrId: Omit<Task, 'template'> | string,\n period?: { start: Date; end: Date },\n targets?: string[]\n): ReportGenerationPromise =>\n createEventfulPromise<ReportResult, GenerationEvents>(\n async (events, resolve) => {\n const task = await getTask(taskOrId);\n const websocket = client.socket('/generations', [task.namespaceId]);\n if (!websocket) {\n throw new Error('Unable to get socket');\n }\n\n websocket.on(\n 'generation:updated',\n function onGenerationUpdated(gen: Omit<RawGeneration, 'task'>) {\n const generation: Omit<Generation, 'task'> = transformGeneration(gen);\n // Notify progress if it's the correct task\n if (generation.taskId !== task.id) {\n return;\n }\n events.emit('progress', generation);\n\n // If generation ended, stop listening\n if (!isGenerationEnded(generation)) {\n return;\n }\n websocket.off('generation:updated', onGenerationUpdated);\n\n // And resolve result\n getFileAsJson(taskOrId, `${generation.reportId}.det.json`)\n // oxlint-disable-next-line prefer-await-to-then\n .then((result) => resolve(result))\n // oxlint-disable-next-line prefer-await-to-then\n .catch((_err) => {\n /** */\n });\n }\n );\n\n // Once events are registered, start generation\n const { id } = await generateReportOfTask(taskOrId, period, targets);\n events.emit('started', { id });\n }\n );\nassignDependencies(generateAndListenReportOfTask, [\n getTask,\n generateReportOfTask,\n getFileAsJson,\n]);\n\n/**\n * Listen to all generations\n *\n * @param onUpdate Function to call when a generation is updated\n * @param namespaces Namespaces to listen to\n *\n * @returns Function to remove listener\n */\nexport function listenAllGenerations(\n onUpdate: (generation: Omit<Generation, 'task'>) => void,\n namespaces?: string[]\n): { stop: () => void } {\n const websocket = client.socket('/generations', namespaces);\n if (!websocket) {\n throw new Error('Unable to get socket');\n }\n\n const updated = (gen: Omit<RawGeneration, 'task'>): void =>\n onUpdate(transformGeneration(gen));\n\n websocket.on('generation:updated', updated);\n\n return {\n stop: (): void => {\n websocket.off('generation:updated', updated);\n },\n };\n}\n// Applies same permissions as `GET /generations/:id`\nassignPermission(listenAllGenerations, 'GET /generations/:id', true);\n"],"names":["R","ReflectApply","target","receiver","args","ReflectOwnKeys","ProcessEmitWarning","warning","NumberIsNaN","value","EventEmitter","eventsModule","once","defaultMaxListeners","checkListener","listener","arg","n","_getMaxListeners","that","type","i","doError","events","er","err","handler","len","listeners","arrayClone","_addListener","prepend","m","existing","w","onceWrapper","_onceWrap","state","wrapped","list","position","originalListener","spliceOne","keys","key","_listeners","unwrap","evlistener","unwrapListeners","emitter","listenerCount","arr","copy","index","ret","name","resolve","reject","errorListener","resolver","eventTargetAgnosticAddListener","addErrorHandlerIfEventEmitter","flags","wrapListener","createEventfulPromise","executor","customEmitter","eventName","promise","res","params","GEN_END_STATES","isGenerationEnded","gen","generateAndListenReportOfTask","taskOrId","period","targets","__async","task","getTask","websocket","client","onGenerationUpdated","generation","transformGeneration","getFileAsJson","result","_err","id","generateReportOfTask","assignDependencies","listenAllGenerations","onUpdate","namespaces","updated","assignPermission"],"mappings":"unBAuBA,IAAIA,EAAI,OAAO,SAAY,SAAW,QAAU,KAC5CC,EAAeD,GAAK,OAAOA,EAAE,OAAU,WACvCA,EAAE,MACF,SAAsBE,EAAQC,EAAUC,EAAM,CAC9C,OAAO,SAAS,UAAU,MAAM,KAAKF,EAAQC,EAAUC,CAAI,CAC/D,EAEIC,EACAL,GAAK,OAAOA,EAAE,SAAY,WAC5BK,EAAiBL,EAAE,QACV,OAAO,sBAChBK,EAAiB,SAAwBH,EAAQ,CAC/C,OAAO,OAAO,oBAAoBA,CAAM,EACrC,OAAO,OAAO,sBAAsBA,CAAM,CAAC,CAClD,EAEEG,EAAiB,SAAwBH,EAAQ,CAC/C,OAAO,OAAO,oBAAoBA,CAAM,CAC5C,EAGA,SAASI,EAAmBC,EAAS,CAC/B,SAAW,QAAQ,MAAM,QAAQ,KAAKA,CAAO,CACnD,CAEA,IAAIC,EAAc,OAAO,OAAS,SAAqBC,EAAO,CAC5D,OAAOA,IAAUA,CACnB,EAEA,SAASC,GAAe,CACtBA,EAAa,KAAK,KAAK,IAAI,CAC7B,CACAC,EAAA,QAAiBD,EACjBC,EAAA,QAAA,KAAsBC,EAGtBF,EAAa,aAAeA,EAE5BA,EAAa,UAAU,QAAU,OACjCA,EAAa,UAAU,aAAe,EACtCA,EAAa,UAAU,cAAgB,OAIvC,IAAIG,EAAsB,GAE1B,SAASC,EAAcC,EAAU,CAC/B,GAAI,OAAOA,GAAa,WACtB,MAAM,IAAI,UAAU,mEAAqE,OAAOA,CAAQ,CAE5G,CAEA,OAAO,eAAeL,EAAc,sBAAuB,CACzD,WAAY,GACZ,IAAK,UAAW,CACd,OAAOG,CACX,EACE,IAAK,SAASG,EAAK,CACjB,GAAI,OAAOA,GAAQ,UAAYA,EAAM,GAAKR,EAAYQ,CAAG,EACvD,MAAM,IAAI,WAAW,kGAAoGA,EAAM,GAAG,EAEpIH,EAAsBG,CAC1B,CACA,CAAC,EAEDN,EAAa,KAAO,UAAW,EAEzB,KAAK,UAAY,QACjB,KAAK,UAAY,OAAO,eAAe,IAAI,EAAE,WAC/C,KAAK,QAAU,OAAO,OAAO,IAAI,EACjC,KAAK,aAAe,GAGtB,KAAK,cAAgB,KAAK,eAAiB,MAC7C,EAIAA,EAAa,UAAU,gBAAkB,SAAyBO,EAAG,CACnE,GAAI,OAAOA,GAAM,UAAYA,EAAI,GAAKT,EAAYS,CAAC,EACjD,MAAM,IAAI,WAAW,gFAAkFA,EAAI,GAAG,EAEhH,YAAK,cAAgBA,EACd,IACT,EAEA,SAASC,EAAiBC,EAAM,CAC9B,OAAIA,EAAK,gBAAkB,OAClBT,EAAa,oBACfS,EAAK,aACd,CAEAT,EAAa,UAAU,gBAAkB,UAA2B,CAClE,OAAOQ,EAAiB,IAAI,CAC9B,EAEAR,EAAa,UAAU,KAAO,SAAcU,EAAM,CAEhD,QADIhB,EAAO,CAAA,EACFiB,EAAI,EAAGA,EAAI,UAAU,OAAQA,IAAKjB,EAAK,KAAK,UAAUiB,CAAC,CAAC,EACjE,IAAIC,EAAWF,IAAS,QAEpBG,EAAS,KAAK,QAClB,GAAIA,IAAW,OACbD,EAAWA,GAAWC,EAAO,QAAU,eAChC,CAACD,EACR,MAAO,GAGT,GAAIA,EAAS,CACX,IAAIE,EAGJ,GAFIpB,EAAK,OAAS,IAChBoB,EAAKpB,EAAK,CAAC,GACToB,aAAc,MAGhB,MAAMA,EAGR,IAAIC,EAAM,IAAI,MAAM,oBAAsBD,EAAK,KAAOA,EAAG,QAAU,IAAM,GAAG,EAC5E,MAAAC,EAAI,QAAUD,EACRC,CACV,CAEE,IAAIC,EAAUH,EAAOH,CAAI,EAEzB,GAAIM,IAAY,OACd,MAAO,GAET,GAAI,OAAOA,GAAY,WACrBzB,EAAayB,EAAS,KAAMtB,CAAI,MAIhC,SAFIuB,EAAMD,EAAQ,OACdE,EAAYC,EAAWH,EAASC,CAAG,EAC9BN,EAAI,EAAGA,EAAIM,EAAK,EAAEN,EACzBpB,EAAa2B,EAAUP,CAAC,EAAG,KAAMjB,CAAI,EAGzC,MAAO,EACT,EAEA,SAAS0B,EAAa5B,EAAQkB,EAAML,EAAUgB,EAAS,CACrD,IAAIC,EACAT,EACAU,EAsBJ,GApBAnB,EAAcC,CAAQ,EAEtBQ,EAASrB,EAAO,QACZqB,IAAW,QACbA,EAASrB,EAAO,QAAU,OAAO,OAAO,IAAI,EAC5CA,EAAO,aAAe,IAIlBqB,EAAO,cAAgB,SACzBrB,EAAO,KAAK,cAAekB,EACfL,EAAS,SAAWA,EAAS,SAAWA,CAAQ,EAI5DQ,EAASrB,EAAO,SAElB+B,EAAWV,EAAOH,CAAI,GAGpBa,IAAa,OAEfA,EAAWV,EAAOH,CAAI,EAAIL,EAC1B,EAAEb,EAAO,qBAEL,OAAO+B,GAAa,WAEtBA,EAAWV,EAAOH,CAAI,EACpBW,EAAU,CAAChB,EAAUkB,CAAQ,EAAI,CAACA,EAAUlB,CAAQ,EAE7CgB,EACTE,EAAS,QAAQlB,CAAQ,EAEzBkB,EAAS,KAAKlB,CAAQ,EAIxBiB,EAAId,EAAiBhB,CAAM,EACvB8B,EAAI,GAAKC,EAAS,OAASD,GAAK,CAACC,EAAS,OAAQ,CACpDA,EAAS,OAAS,GAGlB,IAAIC,EAAI,IAAI,MAAM,+CACED,EAAS,OAAS,IAAM,OAAOb,CAAI,EAAI,mEAEvB,EACpCc,EAAE,KAAO,8BACTA,EAAE,QAAUhC,EACZgC,EAAE,KAAOd,EACTc,EAAE,MAAQD,EAAS,OACnB3B,EAAmB4B,CAAC,CAC1B,CAGE,OAAOhC,CACT,CAEAQ,EAAa,UAAU,YAAc,SAAqBU,EAAML,EAAU,CACxE,OAAOe,EAAa,KAAMV,EAAML,EAAU,EAAK,CACjD,EAEAL,EAAa,UAAU,GAAKA,EAAa,UAAU,YAEnDA,EAAa,UAAU,gBACnB,SAAyBU,EAAML,EAAU,CACvC,OAAOe,EAAa,KAAMV,EAAML,EAAU,EAAI,CACpD,EAEA,SAASoB,GAAc,CACrB,GAAI,CAAC,KAAK,MAGR,OAFA,KAAK,OAAO,eAAe,KAAK,KAAM,KAAK,MAAM,EACjD,KAAK,MAAQ,GACT,UAAU,SAAW,EAChB,KAAK,SAAS,KAAK,KAAK,MAAM,EAChC,KAAK,SAAS,MAAM,KAAK,OAAQ,SAAS,CAErD,CAEA,SAASC,EAAUlC,EAAQkB,EAAML,EAAU,CACzC,IAAIsB,EAAQ,CAAE,MAAO,GAAO,OAAQ,OAAW,OAAQnC,EAAQ,KAAMkB,EAAM,SAAUL,CAAQ,EACzFuB,EAAUH,EAAY,KAAKE,CAAK,EACpC,OAAAC,EAAQ,SAAWvB,EACnBsB,EAAM,OAASC,EACRA,CACT,CAEA5B,EAAa,UAAU,KAAO,SAAcU,EAAML,EAAU,CAC1D,OAAAD,EAAcC,CAAQ,EACtB,KAAK,GAAGK,EAAMgB,EAAU,KAAMhB,EAAML,CAAQ,CAAC,EACtC,IACT,EAEAL,EAAa,UAAU,oBACnB,SAA6BU,EAAML,EAAU,CAC3C,OAAAD,EAAcC,CAAQ,EACtB,KAAK,gBAAgBK,EAAMgB,EAAU,KAAMhB,EAAML,CAAQ,CAAC,EACnD,IACb,EAGAL,EAAa,UAAU,eACnB,SAAwBU,EAAML,EAAU,CACtC,IAAIwB,EAAMhB,EAAQiB,EAAUnB,EAAGoB,EAK/B,GAHA3B,EAAcC,CAAQ,EAEtBQ,EAAS,KAAK,QACVA,IAAW,OACb,OAAO,KAGT,GADAgB,EAAOhB,EAAOH,CAAI,EACdmB,IAAS,OACX,OAAO,KAET,GAAIA,IAASxB,GAAYwB,EAAK,WAAaxB,EACrC,EAAE,KAAK,eAAiB,EAC1B,KAAK,QAAU,OAAO,OAAO,IAAI,GAEjC,OAAOQ,EAAOH,CAAI,EACdG,EAAO,gBACT,KAAK,KAAK,iBAAkBH,EAAMmB,EAAK,UAAYxB,CAAQ,WAEtD,OAAOwB,GAAS,WAAY,CAGrC,IAFAC,EAAW,GAENnB,EAAIkB,EAAK,OAAS,EAAGlB,GAAK,EAAGA,IAChC,GAAIkB,EAAKlB,CAAC,IAAMN,GAAYwB,EAAKlB,CAAC,EAAE,WAAaN,EAAU,CACzD0B,EAAmBF,EAAKlB,CAAC,EAAE,SAC3BmB,EAAWnB,EACX,KACZ,CAGQ,GAAImB,EAAW,EACb,OAAO,KAELA,IAAa,EACfD,EAAK,MAAK,EAEVG,EAAUH,EAAMC,CAAQ,EAGtBD,EAAK,SAAW,IAClBhB,EAAOH,CAAI,EAAImB,EAAK,CAAC,GAEnBhB,EAAO,iBAAmB,QAC5B,KAAK,KAAK,iBAAkBH,EAAMqB,GAAoB1B,CAAQ,CACxE,CAEM,OAAO,IACb,EAEAL,EAAa,UAAU,IAAMA,EAAa,UAAU,eAEpDA,EAAa,UAAU,mBACnB,SAA4BU,EAAM,CAChC,IAAIQ,EAAWL,EAAQF,EAGvB,GADAE,EAAS,KAAK,QACVA,IAAW,OACb,OAAO,KAGT,GAAIA,EAAO,iBAAmB,OAC5B,OAAI,UAAU,SAAW,GACvB,KAAK,QAAU,OAAO,OAAO,IAAI,EACjC,KAAK,aAAe,GACXA,EAAOH,CAAI,IAAM,SACtB,EAAE,KAAK,eAAiB,EAC1B,KAAK,QAAU,OAAO,OAAO,IAAI,EAEjC,OAAOG,EAAOH,CAAI,GAEf,KAIT,GAAI,UAAU,SAAW,EAAG,CAC1B,IAAIuB,EAAO,OAAO,KAAKpB,CAAM,EACzBqB,EACJ,IAAKvB,EAAI,EAAGA,EAAIsB,EAAK,OAAQ,EAAEtB,EAC7BuB,EAAMD,EAAKtB,CAAC,EACRuB,IAAQ,kBACZ,KAAK,mBAAmBA,CAAG,EAE7B,YAAK,mBAAmB,gBAAgB,EACxC,KAAK,QAAU,OAAO,OAAO,IAAI,EACjC,KAAK,aAAe,EACb,IACf,CAIM,GAFAhB,EAAYL,EAAOH,CAAI,EAEnB,OAAOQ,GAAc,WACvB,KAAK,eAAeR,EAAMQ,CAAS,UAC1BA,IAAc,OAEvB,IAAKP,EAAIO,EAAU,OAAS,EAAGP,GAAK,EAAGA,IACrC,KAAK,eAAeD,EAAMQ,EAAUP,CAAC,CAAC,EAI1C,OAAO,IACb,EAEA,SAASwB,EAAW3C,EAAQkB,EAAM0B,EAAQ,CACxC,IAAIvB,EAASrB,EAAO,QAEpB,GAAIqB,IAAW,OACb,MAAO,CAAA,EAET,IAAIwB,EAAaxB,EAAOH,CAAI,EAC5B,OAAI2B,IAAe,OACV,CAAA,EAEL,OAAOA,GAAe,WACjBD,EAAS,CAACC,EAAW,UAAYA,CAAU,EAAI,CAACA,CAAU,EAE5DD,EACLE,EAAgBD,CAAU,EAAIlB,EAAWkB,EAAYA,EAAW,MAAM,CAC1E,CAEArC,EAAa,UAAU,UAAY,SAAmBU,EAAM,CAC1D,OAAOyB,EAAW,KAAMzB,EAAM,EAAI,CACpC,EAEAV,EAAa,UAAU,aAAe,SAAsBU,EAAM,CAChE,OAAOyB,EAAW,KAAMzB,EAAM,EAAK,CACrC,EAEAV,EAAa,cAAgB,SAASuC,EAAS7B,EAAM,CACnD,OAAI,OAAO6B,EAAQ,eAAkB,WAC5BA,EAAQ,cAAc7B,CAAI,EAE1B8B,EAAc,KAAKD,EAAS7B,CAAI,CAE3C,EAEAV,EAAa,UAAU,cAAgBwC,EACvC,SAASA,EAAc9B,EAAM,CAC3B,IAAIG,EAAS,KAAK,QAElB,GAAIA,IAAW,OAAW,CACxB,IAAIwB,EAAaxB,EAAOH,CAAI,EAE5B,GAAI,OAAO2B,GAAe,WACxB,MAAO,GACF,GAAIA,IAAe,OACxB,OAAOA,EAAW,MAExB,CAEE,MAAO,EACT,CAEArC,EAAa,UAAU,WAAa,UAAsB,CACxD,OAAO,KAAK,aAAe,EAAIL,EAAe,KAAK,OAAO,EAAI,CAAA,CAChE,EAEA,SAASwB,EAAWsB,EAAKlC,EAAG,CAE1B,QADImC,EAAO,IAAI,MAAMnC,CAAC,EACbI,EAAI,EAAGA,EAAIJ,EAAG,EAAEI,EACvB+B,EAAK/B,CAAC,EAAI8B,EAAI9B,CAAC,EACjB,OAAO+B,CACT,CAEA,SAASV,EAAUH,EAAMc,EAAO,CAC9B,KAAOA,EAAQ,EAAId,EAAK,OAAQc,IAC9Bd,EAAKc,CAAK,EAAId,EAAKc,EAAQ,CAAC,EAC9Bd,EAAK,IAAG,CACV,CAEA,SAASS,EAAgBG,EAAK,CAE5B,QADIG,EAAM,IAAI,MAAMH,EAAI,MAAM,EACrB9B,EAAI,EAAGA,EAAIiC,EAAI,OAAQ,EAAEjC,EAChCiC,EAAIjC,CAAC,EAAI8B,EAAI9B,CAAC,EAAE,UAAY8B,EAAI9B,CAAC,EAEnC,OAAOiC,CACT,CAEA,SAAS1C,EAAKqC,EAASM,EAAM,CAC3B,OAAO,IAAI,QAAQ,SAAUC,EAASC,EAAQ,CAC5C,SAASC,EAAcjC,EAAK,CAC1BwB,EAAQ,eAAeM,EAAMI,CAAQ,EACrCF,EAAOhC,CAAG,CAChB,CAEI,SAASkC,GAAW,CACd,OAAOV,EAAQ,gBAAmB,YACpCA,EAAQ,eAAe,QAASS,CAAa,EAE/CF,EAAQ,CAAA,EAAG,MAAM,KAAK,SAAS,CAAC,CACtC,CAEII,EAA+BX,EAASM,EAAMI,EAAU,CAAE,KAAM,GAAM,EAClEJ,IAAS,SACXM,EAA8BZ,EAASS,EAAe,CAAE,KAAM,EAAI,CAAE,CAE1E,CAAG,CACH,CAEA,SAASG,EAA8BZ,EAASvB,EAASoC,EAAO,CAC1D,OAAOb,EAAQ,IAAO,YACxBW,EAA+BX,EAAS,QAASvB,EAASoC,CAAK,CAEnE,CAEA,SAASF,EAA+BX,EAASM,EAAMxC,EAAU+C,EAAO,CACtE,GAAI,OAAOb,EAAQ,IAAO,WACpBa,EAAM,KACRb,EAAQ,KAAKM,EAAMxC,CAAQ,EAE3BkC,EAAQ,GAAGM,EAAMxC,CAAQ,UAElB,OAAOkC,EAAQ,kBAAqB,WAG7CA,EAAQ,iBAAiBM,EAAM,SAASQ,EAAa/C,EAAK,CAGpD8C,EAAM,MACRb,EAAQ,oBAAoBM,EAAMQ,CAAY,EAEhDhD,EAASC,CAAG,CAClB,CAAK,MAED,OAAM,IAAI,UAAU,sEAAwE,OAAOiC,CAAO,CAE9G,yCC1cMe,EAAwB,CAC5BC,EAKAhB,EAAU,IAAIvC,IACoB,CAClC,MAAMwD,EAAyC,CAC7C,KAAM,CAACC,KAAc/D,KACnB6C,EAAQ,KAAKkB,EAAU,SAAA,EAAY,GAAG/D,CAAI,EACnC8D,EACT,EAIIE,EAAU,IAAI,QAAc,CAACZ,EAASC,IAAW,CACrDQ,EAASC,EAAeV,CAAO,EAE5B,KAAMa,GAAQA,GAAOb,EAAQa,CAAG,CAAC,EAEjC,MAAMZ,CAAM,CACjB,CAAC,EAEKY,EAAqC,OAAO,OAGhDD,EAAS,CACT,GAAI,CAACD,EAAWpD,KACdkC,EAAQ,GAAGkB,EAAU,SAAA,EAAY,IAAIG,IAEnCvD,EAAS,GAAIuD,CAAc,CAAA,EAEtBD,GAET,KAAM,CAACF,EAAWpD,KAChBkC,EAAQ,KAAKkB,EAAU,SAAA,EAAY,IAAIG,IAErCvD,EAAS,GAAIuD,CAAc,CAAA,EAEtBD,GAET,IAAK,CAACF,EAAWpD,KACfkC,EAAQ,IAAIkB,EAAU,SAAA,EAAY,IAAIG,IAEpCvD,EAAS,GAAIuD,CAAc,CAAA,EAEtBD,EACT,CACD,EACD,OAAOA,CACT,EC1DME,MAAqB,IAAsB,CAC/C,UACA,QACA,SACF,CAAC,EAEYC,EAAqBC,GAChCF,EAAe,IAAIE,EAAI,MAAM,EAkBlBC,EAAgC,CAC3CC,EACAC,EACAC,IAEAb,EACE,CAAOzC,EAAQiC,IAAYsB,EAAA,sBACzB,MAAMC,EAAO,MAAMC,EAAAA,QAAQL,CAAQ,EAC7BM,EAAYC,EAAAA,OAAO,OAAO,eAAgB,CAACH,EAAK,WAAW,CAAC,EAClE,GAAI,CAACE,EACH,MAAM,IAAI,MAAM,sBAAsB,EAGxCA,EAAU,GACR,qBACA,SAASE,EAAoBV,EAAkC,CAC7D,MAAMW,EAAuCC,EAAAA,oBAAoBZ,CAAG,EAEhEW,EAAW,SAAWL,EAAK,KAG/BxD,EAAO,KAAK,WAAY6D,CAAU,EAG7BZ,EAAkBY,CAAU,IAGjCH,EAAU,IAAI,qBAAsBE,CAAmB,EAGvDG,EAAAA,cAAcX,EAAU,GAAGS,EAAW,QAAQ,WAAW,EAEtD,KAAMG,GAAW/B,EAAQ+B,CAAM,CAAC,EAEhC,MAAOC,GAAS,CAEjB,CAAC,GACL,CAAA,EAIF,KAAM,CAAE,GAAAC,CAAA,EAAO,MAAMC,EAAAA,qBAAqBf,EAAUC,EAAQC,CAAO,EACnEtD,EAAO,KAAK,UAAW,CAAE,GAAAkE,CAAA,CAAI,CAC/B,EACF,EACFE,EAAAA,mBAAmBjB,EAA+B,CAChDM,EAAAA,QACAU,EAAAA,qBACAJ,EAAAA,aACF,CAAC,EAUM,SAASM,EACdC,EACAC,EACsB,CACtB,MAAMb,EAAYC,EAAAA,OAAO,OAAO,eAAgBY,CAAU,EAC1D,GAAI,CAACb,EACH,MAAM,IAAI,MAAM,sBAAsB,EAGxC,MAAMc,EAAWtB,GACfoB,EAASR,EAAAA,oBAAoBZ,CAAG,CAAC,EAEnC,OAAAQ,EAAU,GAAG,qBAAsBc,CAAO,EAEnC,CACL,KAAM,IAAY,CAChBd,EAAU,IAAI,qBAAsBc,CAAO,CAC7C,CAAA,CAEJ,CAEAC,EAAAA,iBAAiBJ,EAAsB,uBAAwB,EAAI","x_google_ignoreList":[0]}