@ezpaarse-project/ezreeport-sdk-js 2.2.0-beta.1 → 2.2.0-rc.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/_commonjsHelpers-C6fGbg64.mjs +7 -0
- package/dist/_commonjsHelpers-C6fGbg64.mjs.map +1 -0
- package/dist/_commonjsHelpers-DwGv2jUC.js +2 -0
- package/dist/_commonjsHelpers-DwGv2jUC.js.map +1 -0
- package/dist/auth.js +1 -1
- package/dist/auth.mjs +1 -1
- package/dist/crons.js +1 -1
- package/dist/crons.mjs +1 -1
- package/dist/elastic.js +1 -1
- package/dist/elastic.mjs +1 -1
- package/dist/fetch-DldyAFkY.js +2 -0
- package/dist/fetch-DldyAFkY.js.map +1 -0
- package/dist/fetch-FK-Cz8Ty.mjs +52 -0
- package/dist/fetch-FK-Cz8Ty.mjs.map +1 -0
- package/dist/generations.js +1 -1
- package/dist/generations.mjs +1 -1
- package/dist/health.js +1 -1
- package/dist/health.mjs +1 -1
- package/dist/helpers/figures.js +1 -1
- package/dist/helpers/figures.mjs +4 -4
- package/dist/helpers/generations.js +1 -1
- package/dist/helpers/generations.js.map +1 -1
- package/dist/helpers/generations.mjs +41 -43
- package/dist/helpers/generations.mjs.map +1 -1
- package/dist/helpers/layouts.js +1 -1
- package/dist/helpers/layouts.mjs +3 -3
- package/dist/helpers/permissions.js +1 -1
- package/dist/helpers/permissions.mjs +1 -1
- package/dist/helpers/task-presets.js +1 -1
- package/dist/helpers/task-presets.mjs +1 -1
- package/dist/helpers/tasks.js +1 -1
- package/dist/helpers/tasks.js.map +1 -1
- package/dist/helpers/tasks.mjs +13 -13
- package/dist/helpers/templates.js +1 -1
- package/dist/helpers/templates.js.map +1 -1
- package/dist/helpers/templates.mjs +3 -3
- package/dist/index-CVa-i8Jy.js +7 -0
- package/dist/index-CVa-i8Jy.js.map +1 -0
- package/dist/index-CqG3FOrT.mjs +1113 -0
- package/dist/index-CqG3FOrT.mjs.map +1 -0
- package/dist/index.d.ts +2 -2
- package/dist/index.js +1 -1
- package/dist/index.mjs +3 -3
- package/dist/{methods-DJctQ3lm.js → methods-BArV-Of4.js} +2 -2
- package/dist/{methods-DJctQ3lm.js.map → methods-BArV-Of4.js.map} +1 -1
- package/dist/{methods-_8MaDPJ6.mjs → methods-C1KfMC_9.mjs} +2 -2
- package/dist/{methods-_8MaDPJ6.mjs.map → methods-C1KfMC_9.mjs.map} +1 -1
- package/dist/{methods-Bf8iqEhG.mjs → methods-CN4gtKgL.mjs} +3 -3
- package/dist/{methods-Bf8iqEhG.mjs.map → methods-CN4gtKgL.mjs.map} +1 -1
- package/dist/{methods-CvCyx_v_.js → methods-CXuFuv8n.js} +2 -2
- package/dist/{methods-CvCyx_v_.js.map → methods-CXuFuv8n.js.map} +1 -1
- package/dist/{methods-eIVAWN5f.js → methods-CtggvGhM.js} +2 -2
- package/dist/{methods-eIVAWN5f.js.map → methods-CtggvGhM.js.map} +1 -1
- package/dist/{methods-BcKnS6pA.mjs → methods-DBF2NkuE.mjs} +2 -2
- package/dist/{methods-BcKnS6pA.mjs.map → methods-DBF2NkuE.mjs.map} +1 -1
- package/dist/{methods-Crgt0cEf.mjs → methods-DTp_pakZ.mjs} +3 -3
- package/dist/{methods-Crgt0cEf.mjs.map → methods-DTp_pakZ.mjs.map} +1 -1
- package/dist/{methods-CBlHpa4P.js → methods-DYG4n79P.js} +2 -2
- package/dist/{methods-CBlHpa4P.js.map → methods-DYG4n79P.js.map} +1 -1
- package/dist/{methods-Cvs5hjsE.js → methods-DieaE_8I.js} +2 -2
- package/dist/{methods-Cvs5hjsE.js.map → methods-DieaE_8I.js.map} +1 -1
- package/dist/{methods-HbhrcB_u.js → methods-Dmlyuich.js} +2 -2
- package/dist/{methods-HbhrcB_u.js.map → methods-Dmlyuich.js.map} +1 -1
- package/dist/{methods-Ba1XR8Ij.mjs → methods-byDDsdem.mjs} +2 -2
- package/dist/{methods-Ba1XR8Ij.mjs.map → methods-byDDsdem.mjs.map} +1 -1
- package/dist/{methods-B78wxcbm.mjs → methods-zHTbr0Jj.mjs} +2 -2
- package/dist/{methods-B78wxcbm.mjs.map → methods-zHTbr0Jj.mjs.map} +1 -1
- package/dist/recurrence.js +1 -1
- package/dist/recurrence.mjs +2 -2
- package/dist/reports.js +1 -1
- package/dist/reports.mjs +1 -1
- package/dist/task-activity.js +1 -1
- package/dist/task-activity.mjs +2 -2
- package/dist/task-presets.js +1 -1
- package/dist/task-presets.mjs +1 -1
- package/dist/{tasks-FPNOmtnL.js → tasks-C-Si9c_j.js} +2 -2
- package/dist/{tasks-FPNOmtnL.js.map → tasks-C-Si9c_j.js.map} +1 -1
- package/dist/{tasks-Cc53eQzu.mjs → tasks-rnhGl39m.mjs} +2 -2
- package/dist/{tasks-Cc53eQzu.mjs.map → tasks-rnhGl39m.mjs.map} +1 -1
- package/dist/tasks.js +1 -1
- package/dist/tasks.mjs +1 -1
- package/dist/templates-BNAX4vB8.mjs +29 -0
- package/dist/{templates-C_qWeEww.mjs.map → templates-BNAX4vB8.mjs.map} +1 -1
- package/dist/templates-D7C0TH1C.js +2 -0
- package/dist/{templates-lPeMpQuz.js.map → templates-D7C0TH1C.js.map} +1 -1
- package/dist/templates.js +1 -1
- package/dist/templates.mjs +1 -1
- package/package.json +2 -2
- package/dist/fetch-Cp3-cNix.mjs +0 -44
- package/dist/fetch-Cp3-cNix.mjs.map +0 -1
- package/dist/fetch-DA1lo0q0.js +0 -2
- package/dist/fetch-DA1lo0q0.js.map +0 -1
- package/dist/index-Cc9-CotA.js +0 -2
- package/dist/index-Cc9-CotA.js.map +0 -1
- package/dist/index-D6K5zKgZ.mjs +0 -330
- package/dist/index-D6K5zKgZ.mjs.map +0 -1
- package/dist/templates-C_qWeEww.mjs +0 -30
- package/dist/templates-lPeMpQuz.js +0 -2
|
@@ -1,35 +1,33 @@
|
|
|
1
|
-
var
|
|
1
|
+
var C = (a, d, c) => new Promise((h, l) => {
|
|
2
2
|
var i = (v) => {
|
|
3
3
|
try {
|
|
4
|
-
|
|
4
|
+
u(c.next(v));
|
|
5
5
|
} catch (g) {
|
|
6
6
|
l(g);
|
|
7
7
|
}
|
|
8
8
|
}, p = (v) => {
|
|
9
9
|
try {
|
|
10
|
-
|
|
10
|
+
u(c.throw(v));
|
|
11
11
|
} catch (g) {
|
|
12
12
|
l(g);
|
|
13
13
|
}
|
|
14
|
-
},
|
|
15
|
-
|
|
14
|
+
}, u = (v) => v.done ? h(v.value) : Promise.resolve(v.value).then(i, p);
|
|
15
|
+
u((c = c.apply(a, d)).next());
|
|
16
16
|
});
|
|
17
|
-
import { c as A } from "../fetch-
|
|
18
|
-
import {
|
|
19
|
-
import {
|
|
20
|
-
import {
|
|
21
|
-
import {
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
}
|
|
25
|
-
var E = { exports: {} }, C;
|
|
17
|
+
import { c as A } from "../fetch-FK-Cz8Ty.mjs";
|
|
18
|
+
import { g as U } from "../_commonjsHelpers-C6fGbg64.mjs";
|
|
19
|
+
import { b as K, a as D } from "../decorator-DCiVxI72.mjs";
|
|
20
|
+
import { c as N, b as T } from "../methods-C1KfMC_9.mjs";
|
|
21
|
+
import { a as S } from "../methods-zHTbr0Jj.mjs";
|
|
22
|
+
import { t as P } from "../methods-CN4gtKgL.mjs";
|
|
23
|
+
var E = { exports: {} }, j;
|
|
26
24
|
function W() {
|
|
27
|
-
if (
|
|
28
|
-
|
|
29
|
-
var
|
|
25
|
+
if (j) return E.exports;
|
|
26
|
+
j = 1;
|
|
27
|
+
var a = typeof Reflect == "object" ? Reflect : null, d = a && typeof a.apply == "function" ? a.apply : function(e, n, r) {
|
|
30
28
|
return Function.prototype.apply.call(e, n, r);
|
|
31
29
|
}, c;
|
|
32
|
-
|
|
30
|
+
a && typeof a.ownKeys == "function" ? c = a.ownKeys : Object.getOwnPropertySymbols ? c = function(e) {
|
|
33
31
|
return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e));
|
|
34
32
|
} : c = function(e) {
|
|
35
33
|
return Object.getOwnPropertyNames(e);
|
|
@@ -45,7 +43,7 @@ function W() {
|
|
|
45
43
|
}
|
|
46
44
|
E.exports = i, E.exports.once = F, i.EventEmitter = i, i.prototype._events = void 0, i.prototype._eventsCount = 0, i.prototype._maxListeners = void 0;
|
|
47
45
|
var p = 10;
|
|
48
|
-
function
|
|
46
|
+
function u(t) {
|
|
49
47
|
if (typeof t != "function")
|
|
50
48
|
throw new TypeError('The "listener" argument must be of type Function. Received type ' + typeof t);
|
|
51
49
|
}
|
|
@@ -97,7 +95,7 @@ function W() {
|
|
|
97
95
|
};
|
|
98
96
|
function g(t, e, n, r) {
|
|
99
97
|
var o, f, s;
|
|
100
|
-
if (
|
|
98
|
+
if (u(n), f = t._events, f === void 0 ? (f = t._events = /* @__PURE__ */ Object.create(null), t._eventsCount = 0) : (f.newListener !== void 0 && (t.emit(
|
|
101
99
|
"newListener",
|
|
102
100
|
e,
|
|
103
101
|
n.listener ? n.listener : n
|
|
@@ -124,12 +122,12 @@ function W() {
|
|
|
124
122
|
return o.listener = n, r.wrapFn = o, o;
|
|
125
123
|
}
|
|
126
124
|
i.prototype.once = function(e, n) {
|
|
127
|
-
return
|
|
125
|
+
return u(n), this.on(e, y(this, e, n)), this;
|
|
128
126
|
}, i.prototype.prependOnceListener = function(e, n) {
|
|
129
|
-
return
|
|
127
|
+
return u(n), this.prependListener(e, y(this, e, n)), this;
|
|
130
128
|
}, i.prototype.removeListener = function(e, n) {
|
|
131
129
|
var r, o, f, s, m;
|
|
132
|
-
if (
|
|
130
|
+
if (u(n), o = this._events, o === void 0)
|
|
133
131
|
return this;
|
|
134
132
|
if (r = o[e], r === void 0)
|
|
135
133
|
return this;
|
|
@@ -235,31 +233,31 @@ function W() {
|
|
|
235
233
|
return E.exports;
|
|
236
234
|
}
|
|
237
235
|
var q = W();
|
|
238
|
-
const B = /* @__PURE__ */
|
|
236
|
+
const B = /* @__PURE__ */ U(q), H = (a, d = new B()) => {
|
|
239
237
|
const c = {
|
|
240
238
|
emit: (i, ...p) => (d.emit(i.toString(), ...p), c)
|
|
241
239
|
}, h = new Promise((i, p) => {
|
|
242
|
-
|
|
240
|
+
a(c, i).then((u) => u && i(u)).catch(p);
|
|
243
241
|
}), l = Object.assign(h, {
|
|
244
242
|
on: (i, p) => (d.on(
|
|
245
243
|
i.toString(),
|
|
246
|
-
(...
|
|
244
|
+
(...u) => (
|
|
247
245
|
// oxlint-disable-next-line no-explicit-any
|
|
248
|
-
p(...
|
|
246
|
+
p(...u)
|
|
249
247
|
)
|
|
250
248
|
), l),
|
|
251
249
|
once: (i, p) => (d.once(
|
|
252
250
|
i.toString(),
|
|
253
|
-
(...
|
|
251
|
+
(...u) => (
|
|
254
252
|
// oxlint-disable-next-line no-explicit-any
|
|
255
|
-
p(...
|
|
253
|
+
p(...u)
|
|
256
254
|
)
|
|
257
255
|
), l),
|
|
258
256
|
off: (i, p) => (d.off(
|
|
259
257
|
i.toString(),
|
|
260
|
-
(...
|
|
258
|
+
(...u) => (
|
|
261
259
|
// oxlint-disable-next-line no-explicit-any
|
|
262
|
-
p(...
|
|
260
|
+
p(...u)
|
|
263
261
|
)
|
|
264
262
|
), l)
|
|
265
263
|
});
|
|
@@ -268,40 +266,40 @@ const B = /* @__PURE__ */ D(q), H = (u, d = new B()) => {
|
|
|
268
266
|
"SUCCESS",
|
|
269
267
|
"ERROR",
|
|
270
268
|
"ABORTED"
|
|
271
|
-
]), $ = (
|
|
272
|
-
(h, l) =>
|
|
273
|
-
const i = yield
|
|
269
|
+
]), $ = (a) => J.has(a.status), z = (a, d, c) => H(
|
|
270
|
+
(h, l) => C(null, null, function* () {
|
|
271
|
+
const i = yield S(a), p = A.socket("/generations", [i.namespaceId]);
|
|
274
272
|
if (!p)
|
|
275
273
|
throw new Error("Unable to get socket");
|
|
276
274
|
p.on(
|
|
277
275
|
"generation:updated",
|
|
278
276
|
function v(g) {
|
|
279
|
-
const L =
|
|
280
|
-
L.taskId === i.id && (h.emit("progress", L), $(L) && (p.off("generation:updated", v), N(
|
|
277
|
+
const L = P(g);
|
|
278
|
+
L.taskId === i.id && (h.emit("progress", L), $(L) && (p.off("generation:updated", v), N(a, `${L.reportId}.det.json`).then((y) => l(y)).catch((y) => {
|
|
281
279
|
})));
|
|
282
280
|
}
|
|
283
281
|
);
|
|
284
|
-
const { id:
|
|
285
|
-
h.emit("started", { id:
|
|
282
|
+
const { id: u } = yield T(a, d, c);
|
|
283
|
+
h.emit("started", { id: u });
|
|
286
284
|
})
|
|
287
285
|
);
|
|
288
|
-
|
|
289
|
-
|
|
286
|
+
K(z, [
|
|
287
|
+
S,
|
|
290
288
|
T,
|
|
291
289
|
N
|
|
292
290
|
]);
|
|
293
|
-
function Q(
|
|
291
|
+
function Q(a, d) {
|
|
294
292
|
const c = A.socket("/generations", d);
|
|
295
293
|
if (!c)
|
|
296
294
|
throw new Error("Unable to get socket");
|
|
297
|
-
const h = (l) =>
|
|
295
|
+
const h = (l) => a(P(l));
|
|
298
296
|
return c.on("generation:updated", h), {
|
|
299
297
|
stop: () => {
|
|
300
298
|
c.off("generation:updated", h);
|
|
301
299
|
}
|
|
302
300
|
};
|
|
303
301
|
}
|
|
304
|
-
|
|
302
|
+
D(Q, "GET /generations/:id", !0);
|
|
305
303
|
export {
|
|
306
304
|
z as generateAndListenReportOfTask,
|
|
307
305
|
$ as isGenerationEnded,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generations.mjs","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":"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","x_google_ignoreList":[0]}
|
|
1
|
+
{"version":3,"file":"generations.mjs","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":"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","x_google_ignoreList":[0]}
|
package/dist/helpers/layouts.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("../templates-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("../templates-D7C0TH1C.js"),u=require("../tasks-C-Si9c_j.js");function s(e){return"at"in e}function p(e){return!s(e)}function l(e){return e.hash!==o.hashLayout(e)}function H(e,r,t){if(e.figures.some(a=>a.id===r.id))throw new Error(`Figure "${r.id}" already exists`);return e.figures.splice(t!=null?t:e.figures.length,0,r),r}function c(e,r){const t=e;return t.figures=e.figures.filter(a=>a.id!==r.id),e}function f(e,r,t){const a=e.figures.findIndex(n=>n.id===r.id);if(a<0)throw new Error(`Figure "${r.id}" not found`);const i=e;return i.figures[a]=t,e}exports.createLayoutHelper=o.createLayoutHelper;exports.createLayoutHelperFrom=o.createLayoutHelperFrom;exports.hashLayout=o.hashLayout;exports.layoutHelperToJSON=o.layoutHelperToJSON;exports.createTaskLayoutHelper=u.createTaskLayoutHelper;exports.createTaskLayoutHelperFrom=u.createTaskLayoutHelperFrom;exports.taskLayoutHelperToJSON=u.taskLayoutHelperToJSON;exports.addFigureOfHelper=H;exports.hasLayoutHelperChanged=l;exports.isTaskLayoutHelper=s;exports.isTemplateLayoutHelper=p;exports.removeFigureOfHelper=c;exports.updateFigureOfHelper=f;
|
|
2
2
|
//# sourceMappingURL=layouts.js.map
|
package/dist/helpers/layouts.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { h as i } from "../templates-
|
|
2
|
-
import { c as h, a as m, l as L } from "../templates-
|
|
3
|
-
import { c as F, a as T, t as O } from "../tasks-
|
|
1
|
+
import { h as i } from "../templates-BNAX4vB8.mjs";
|
|
2
|
+
import { c as h, a as m, l as L } from "../templates-BNAX4vB8.mjs";
|
|
3
|
+
import { c as F, a as T, t as O } from "../tasks-rnhGl39m.mjs";
|
|
4
4
|
function n(e) {
|
|
5
5
|
return "at" in e;
|
|
6
6
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var m=(s,i,r)=>new Promise((t,n)=>{var u=e=>{try{o(r.next(e))}catch(a){n(a)}},l=e=>{try{o(r.throw(e))}catch(a){n(a)}},o=e=>e.done?t(e.value):Promise.resolve(e.value).then(u,l);o((r=r.apply(s,i)).next())});Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const P=require("../methods-
|
|
1
|
+
"use strict";var m=(s,i,r)=>new Promise((t,n)=>{var u=e=>{try{o(r.next(e))}catch(a){n(a)}},l=e=>{try{o(r.throw(e))}catch(a){n(a)}},o=e=>e.done?t(e.value):Promise.resolve(e.value).then(u,l);o((r=r.apply(s,i)).next())});Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const P=require("../methods-CXuFuv8n.js"),f=require("../decorator-C2gcn2rK.js");let c;function h(){return m(this,null,function*(){c=yield P.getCurrentPermissions()})}function y(s,i){if(!f.isSDKFunction(s))return console.warn(`[ezr][hasPermission] Function ${s.name} is not compatible with ezrPermission decorator`),!0;if(!c)return console.warn("[ezr][hasPermission] No current permissions set, please call refreshPermissions() first"),!1;const{general:r,namespaces:t}=c;return s.ezrPermissions.every(({permission:n,isNamespaced:u})=>u?(i!=null?i:Object.keys(t)).some(o=>{var e;return((e=t[o])==null?void 0:e[n])||!1}):r[n]||!1)}exports.hasPermission=y;exports.refreshPermissions=h;
|
|
2
2
|
//# sourceMappingURL=permissions.js.map
|
|
@@ -14,7 +14,7 @@ var l = (e, i, s) => new Promise((t, n) => {
|
|
|
14
14
|
}, o = (r) => r.done ? t(r.value) : Promise.resolve(r.value).then(a, f);
|
|
15
15
|
o((s = s.apply(e, i)).next());
|
|
16
16
|
});
|
|
17
|
-
import { a as c } from "../methods-
|
|
17
|
+
import { a as c } from "../methods-DBF2NkuE.mjs";
|
|
18
18
|
import { i as P } from "../decorator-DCiVxI72.mjs";
|
|
19
19
|
let u;
|
|
20
20
|
function y() {
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var u=(s,i,e)=>new Promise((c,o)=>{var d=t=>{try{a(e.next(t))}catch(n){o(n)}},g=t=>{try{a(e.throw(t))}catch(n){o(n)}},a=t=>t.done?c(t.value):Promise.resolve(t.value).then(d,g);a((e=e.apply(s,i)).next())});Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("../methods-
|
|
1
|
+
"use strict";var u=(s,i,e)=>new Promise((c,o)=>{var d=t=>{try{a(e.next(t))}catch(n){o(n)}},g=t=>{try{a(e.throw(t))}catch(n){o(n)}},a=t=>t.done?c(t.value):Promise.resolve(t.value).then(d,g);a((e=e.apply(s,i)).next())});Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("../methods-CtggvGhM.js"),l=require("../decorator-C2gcn2rK.js");function p(s,i){return u(this,null,function*(){let e=s;return typeof e=="string"&&(e=yield r.getTaskPreset(s)),yield r.upsertTaskPreset({id:e.id,name:e.name,templateId:e.templateId,recurrence:e.recurrence,fetchOptions:e.fetchOptions,hidden:i})})}l.assignDependencies(p,[r.getTaskPreset,r.upsertTaskPreset]);exports.changeTaskPresetVisibility=p;
|
|
2
2
|
//# sourceMappingURL=task-presets.js.map
|
|
@@ -14,7 +14,7 @@ var p = (s, a, e) => new Promise((n, c) => {
|
|
|
14
14
|
}, r = (t) => t.done ? n(t.value) : Promise.resolve(t.value).then(f, u);
|
|
15
15
|
r((e = e.apply(s, a)).next());
|
|
16
16
|
});
|
|
17
|
-
import { a as o, u as m } from "../methods-
|
|
17
|
+
import { a as o, u as m } from "../methods-DTp_pakZ.mjs";
|
|
18
18
|
import { b as d } from "../decorator-DCiVxI72.mjs";
|
|
19
19
|
function g(s, a) {
|
|
20
20
|
return p(this, null, function* () {
|
package/dist/helpers/tasks.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var A=Object.defineProperty,S=Object.defineProperties;var D=Object.getOwnPropertyDescriptors;var u=Object.getOwnPropertySymbols;var
|
|
1
|
+
"use strict";var A=Object.defineProperty,S=Object.defineProperties;var D=Object.getOwnPropertyDescriptors;var u=Object.getOwnPropertySymbols;var x=Object.prototype.hasOwnProperty,H=Object.prototype.propertyIsEnumerable;var h=(e,n,r)=>n in e?A(e,n,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[n]=r,f=(e,n)=>{for(var r in n||(n={}))x.call(n,r)&&h(e,r,n[r]);if(u)for(var r of u(n))H.call(n,r)&&h(e,r,n[r]);return e},m=(e,n)=>S(e,D(n));var g=(e,n)=>{var r={};for(var t in e)x.call(e,t)&&n.indexOf(t)<0&&(r[t]=e[t]);if(e!=null&&u)for(var t of u(e))n.indexOf(t)<0&&H.call(e,t)&&(r[t]=e[t]);return r};var y=(e,n,r)=>new Promise((t,a)=>{var s=d=>{try{c(r.next(d))}catch(i){a(i)}},o=d=>{try{c(r.throw(d))}catch(i){a(i)}},c=d=>d.done?t(d.value):Promise.resolve(d.value).then(s,o);c((r=r.apply(e,n)).next())});Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const Y=require("../decorator-C2gcn2rK.js"),l=require("../methods-DYG4n79P.js"),B=require("../index-CVa-i8Jy.js"),q=require("date-fns"),L=require("../tasks-C-Si9c_j.js");function I(e,n){const r={};switch(n){case"DAILY":r.days=1;break;case"WEEKLY":r.weeks=1;break;case"MONTHLY":r.months=1;break;case"QUARTERLY":r.months=3;break;case"BIENNIAL":r.months=6;break;case"YEARLY":r.years=1;break;default:throw new Error("Recurrence not found")}return q.add(e,r)}function T(e="",n="",r=[],t=[]){var a;return{version:2,dateField:n,inserts:r,filters:new Map((a=t==null?void 0:t.map(s=>[s.name,s]))!=null?a:[]),index:e}}function E(e){var n,r;return T(e.index,e.dateField,(r=(n=e.inserts)==null?void 0:n.map(t=>L.createTaskLayoutHelperFrom(t)))!=null?r:[],e.filters)}function J(e){return{version:e.version,index:e.index,inserts:e.inserts.map(n=>L.taskLayoutHelperToJSON(n)),dateField:e.dateField,filters:Array.from(e.filters.values())}}function k(e,n){if(e.inserts.some(r=>r.id===n.id))throw new Error(`Layout "${n.id}" already exists`);return e.inserts.splice(n.at,0,n),e}function M(e,n){const r=e;return r.inserts=e.inserts.filter(t=>t.id!==n.id),e}function j(e,n,r){const t=e.inserts.findIndex(s=>s.id===n.id);if(t<0)throw new Error(`Layout "${n.id}" not found`);const a=e;return a.inserts[t]=r,e}function O(e){return B.objectHash({name:e.name,description:e.description,extendedId:e.extendedId,template:e.template,targets:e.targets,recurrence:e.recurrence,nextRun:e.nextRun,enabled:e.enabled})}function w(e="",n="",r="",t="",a,s=[],o="DAILY",c,d=!0,i,F,R="",N=new Date,v){const p={id:R,name:e,description:n,namespaceId:r,extendedId:t,template:a!=null?a:T(),targets:s,recurrence:o,nextRun:c!=null?c:I(new Date,o),enabled:d,lastExtended:i,lastRun:F,createdAt:N,updatedAt:v,hash:""};return p.hash=O(p),p}function C(e){var n;return w(e.name,e.description,e.namespaceId,e.extendedId,E(e.template),e.targets,e.recurrence,e.nextRun,e.enabled,(n=e.lastExtended)!=null?n:void 0,e.lastRun,e.id,e.createdAt,e.updatedAt)}function $(e){return{name:e.name,description:e.description,namespaceId:e.namespaceId,extendedId:e.extendedId,template:J(e.template),targets:e.targets,recurrence:e.recurrence,nextRun:e.nextRun,enabled:e.enabled,lastExtended:e.lastExtended}}function K(e){return e.hash!==O(e)}function P(e,n){const r=n.layouts.map(s=>m(f({},s),{readonly:!0}));for(const t of e.inserts){const a=t,{at:s}=a,o=g(a,["at"]);r.splice(s,0,m(f({},o),{readonly:!1}))}return r}function b(e,n){return y(this,null,function*(){const r=yield l.getTask(e);return yield l.upsertTask({id:r.id,name:r.name,description:r.description,extendedId:r.extendedId,namespaceId:r.namespaceId,nextRun:r.nextRun,recurrence:r.recurrence,targets:r.targets,template:r.template,lastExtended:r.lastExtended,enabled:n})})}Y.assignDependencies(b,[l.getTask,l.upsertTask]);exports.addLayoutOfHelper=k;exports.calcNextDateFromRecurrence=I;exports.changeTaskEnableState=b;exports.createTaskBodyHelper=T;exports.createTaskBodyHelperFrom=E;exports.createTaskHelper=w;exports.createTaskHelperFrom=C;exports.getLayoutsOfHelpers=P;exports.hasTaskChanged=K;exports.removeLayoutOfHelper=M;exports.taskHelperToJSON=$;exports.updateLayoutOfHelper=j;
|
|
2
2
|
//# sourceMappingURL=tasks.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tasks.js","sources":["../../src/helpers/tasks/recurrence.ts","../../src/helpers/tasks/editor/body.ts","../../src/helpers/tasks/editor/index.ts","../../src/helpers/tasks/index.ts"],"sourcesContent":["import { add, type Duration } from 'date-fns';\nimport type { TaskRecurrence } from '~/modules/tasks';\n\n/**\n * Calculate next run date for the task\n *\n * @param initial Initial date of the task\n * @param recurrence The task recurrence\n *\n * @deprecated Please use the `recurrence` module\n * @see {@link getNextDateFromRecurrence}\n *\n * @returns The new date of the task\n */\nexport function calcNextDateFromRecurrence(\n initial: Date,\n recurrence: TaskRecurrence\n): Date {\n const duration: Duration = {};\n\n switch (recurrence) {\n case 'DAILY':\n duration.days = 1;\n break;\n case 'WEEKLY':\n duration.weeks = 1;\n break;\n case 'MONTHLY':\n duration.months = 1;\n break;\n case 'QUARTERLY':\n duration.months = 3;\n break;\n case 'BIENNIAL':\n duration.months = 6;\n break;\n case 'YEARLY':\n duration.years = 1;\n break;\n default:\n throw new Error('Recurrence not found');\n }\n\n return add(initial, duration);\n}\n","import type { TemplateFilter } from '~/modules/templates';\nimport type { Task } from '~/modules/tasks';\n\nimport {\n createTaskLayoutHelperFrom,\n taskLayoutHelperToJSON,\n type TaskLayoutHelper,\n} from '../../templates/editor/layouts';\n\nexport interface TaskBodyHelper {\n readonly version: number;\n filters: Map<string, TemplateFilter>;\n index: string;\n dateField?: string;\n inserts: TaskLayoutHelper[];\n}\n\nexport function createTaskBodyHelper(\n index: string = '',\n dateField: string = '',\n inserts: TaskLayoutHelper[] = [],\n filters: TemplateFilter[] = []\n): TaskBodyHelper {\n return {\n version: 2,\n dateField,\n inserts,\n filters: new Map(filters?.map((filter) => [filter.name, filter]) ?? []),\n index,\n };\n}\n\nexport function createTaskBodyHelperFrom(\n template: Task['template']\n): TaskBodyHelper {\n return createTaskBodyHelper(\n template.index,\n template.dateField,\n template.inserts?.map((lay) => createTaskLayoutHelperFrom(lay)) ?? [],\n template.filters\n );\n}\n\nexport function taskBodyHelperToJSON(\n template: TaskBodyHelper\n): Task['template'] {\n return {\n version: template.version,\n index: template.index,\n inserts: template.inserts.map((lay) => taskLayoutHelperToJSON(lay)),\n dateField: template.dateField,\n filters: Array.from(template.filters.values()),\n };\n}\n\nexport function addLayoutOfHelper(\n body: TaskBodyHelper,\n layout: TaskLayoutHelper\n): TaskBodyHelper {\n if (body.inserts.some((lay) => lay.id === layout.id)) {\n throw new Error(`Layout \"${layout.id}\" already exists`);\n }\n body.inserts.splice(layout.at, 0, layout);\n return body;\n}\n\nexport function removeLayoutOfHelper(\n body: TaskBodyHelper,\n layout: TaskLayoutHelper\n): TaskBodyHelper {\n const template = body;\n template.inserts = body.inserts.filter((lay) => lay.id !== layout.id);\n return body;\n}\n\nexport function updateLayoutOfHelper(\n body: TaskBodyHelper,\n oldLayout: TaskLayoutHelper,\n newLayout: TaskLayoutHelper\n): TaskBodyHelper {\n const index = body.inserts.findIndex((lay) => lay.id === oldLayout.id);\n if (index < 0) {\n throw new Error(`Layout \"${oldLayout.id}\" not found`);\n }\n const template = body;\n template.inserts[index] = newLayout;\n return body;\n}\n","import objectHash from 'object-hash';\n\nimport type { Task } from '~/modules/tasks';\nimport type {\n InputTask,\n LastExtended,\n TaskRecurrence,\n} from '~/modules/tasks/types';\n\nimport type { TemplateBodyHelper } from '../../templates/editor/body';\nimport type { AnyLayoutHelper } from '../../templates/editor/layouts';\nimport { calcNextDateFromRecurrence } from '../recurrence';\nimport {\n createTaskBodyHelper,\n createTaskBodyHelperFrom,\n taskBodyHelperToJSON,\n type TaskBodyHelper,\n} from './body';\n\nexport interface TaskHelper {\n readonly id: string;\n name: string;\n description: string;\n namespaceId: string;\n extendedId: string;\n template: TaskBodyHelper;\n targets: string[];\n recurrence: TaskRecurrence;\n nextRun: Date;\n enabled: boolean;\n readonly lastExtended?: LastExtended | null;\n readonly lastRun?: Date;\n readonly createdAt: Date;\n readonly updatedAt?: Date;\n readonly hash: string;\n}\n\nfunction hashTask(task: TaskHelper | Task): string {\n return objectHash({\n name: task.name,\n description: task.description,\n extendedId: task.extendedId,\n template: task.template,\n targets: task.targets,\n recurrence: task.recurrence,\n nextRun: task.nextRun,\n enabled: task.enabled,\n });\n}\n\nexport function createTaskHelper(\n name: string = '',\n description: string = '',\n namespaceId: string = '',\n extendedId: string = '',\n template?: TaskBodyHelper,\n targets: string[] = [],\n recurrence: TaskRecurrence = 'DAILY',\n nextRun?: Date,\n enabled: boolean = true,\n lastExtended?: LastExtended,\n lastRun?: Date,\n id: string = '',\n createdAt: Date = new Date(),\n updatedAt?: Date\n): TaskHelper {\n const task = {\n id,\n name,\n description,\n namespaceId,\n extendedId,\n template: template ?? createTaskBodyHelper(),\n targets,\n recurrence,\n nextRun: nextRun ?? calcNextDateFromRecurrence(new Date(), recurrence),\n enabled,\n lastExtended,\n lastRun,\n createdAt,\n updatedAt,\n hash: '',\n };\n\n task.hash = hashTask(task);\n\n return task;\n}\n\nexport function createTaskHelperFrom(task: Task): TaskHelper {\n return createTaskHelper(\n task.name,\n task.description,\n task.namespaceId,\n task.extendedId,\n createTaskBodyHelperFrom(task.template),\n task.targets,\n task.recurrence,\n task.nextRun,\n task.enabled,\n task.lastExtended ?? undefined,\n task.lastRun,\n task.id,\n task.createdAt,\n task.updatedAt\n );\n}\n\nexport function taskHelperToJSON(task: TaskHelper): InputTask {\n return {\n name: task.name,\n description: task.description,\n namespaceId: task.namespaceId,\n extendedId: task.extendedId,\n template: taskBodyHelperToJSON(task.template),\n targets: task.targets,\n recurrence: task.recurrence,\n nextRun: task.nextRun,\n enabled: task.enabled,\n lastExtended: task.lastExtended,\n };\n}\n\nexport function hasTaskChanged(task: TaskHelper): boolean {\n return task.hash !== hashTask(task);\n}\n\nexport function getLayoutsOfHelpers(\n taskBody: TaskBodyHelper,\n templateBody: TemplateBodyHelper\n): (AnyLayoutHelper & { readonly: boolean })[] {\n const layouts = templateBody.layouts.map((lay) => ({\n ...lay,\n readonly: true,\n }));\n for (const { at, ...layout } of taskBody.inserts) {\n layouts.splice(at, 0, { ...layout, readonly: false });\n }\n return layouts;\n}\n\nexport {\n type TaskBodyHelper,\n createTaskBodyHelper,\n createTaskBodyHelperFrom,\n addLayoutOfHelper,\n removeLayoutOfHelper,\n updateLayoutOfHelper,\n} from './body';\n","import { assignDependencies } from '~/helpers/permissions/decorator';\n\nimport { getTask, upsertTask, type Task } from '~/modules/tasks';\n\nexport * from './editor';\nexport * from './recurrence';\n\n/**\n * Change enable state of a task\n *\n * @param taskOrId Task or Task's id\n * @param enabled New state\n *\n * @returns Updated task\n */\nexport async function changeTaskEnableState(\n taskOrId: Omit<Task, 'template'> | string,\n enabled: boolean\n): Promise<Task> {\n const base = await getTask(taskOrId);\n\n const task = await upsertTask({\n id: base.id,\n name: base.name,\n description: base.description,\n extendedId: base.extendedId,\n namespaceId: base.namespaceId,\n nextRun: base.nextRun,\n recurrence: base.recurrence,\n targets: base.targets,\n template: base.template,\n lastExtended: base.lastExtended,\n enabled,\n });\n\n return task;\n}\nassignDependencies(changeTaskEnableState, [getTask, upsertTask]);\n"],"names":["calcNextDateFromRecurrence","initial","recurrence","duration","add","createTaskBodyHelper","index","dateField","inserts","filters","_a","filter","createTaskBodyHelperFrom","template","_b","lay","createTaskLayoutHelperFrom","taskBodyHelperToJSON","taskLayoutHelperToJSON","addLayoutOfHelper","body","layout","removeLayoutOfHelper","updateLayoutOfHelper","oldLayout","newLayout","hashTask","task","objectHash","createTaskHelper","name","description","namespaceId","extendedId","targets","nextRun","enabled","lastExtended","lastRun","id","createdAt","updatedAt","createTaskHelperFrom","taskHelperToJSON","hasTaskChanged","getLayoutsOfHelpers","taskBody","templateBody","layouts","__spreadProps","__spreadValues","at","__objRest","changeTaskEnableState","taskOrId","__async","base","getTask","upsertTask","assignDependencies"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tasks.js","sources":["../../src/helpers/tasks/recurrence.ts","../../src/helpers/tasks/editor/body.ts","../../src/helpers/tasks/editor/index.ts","../../src/helpers/tasks/index.ts"],"sourcesContent":["import { add, type Duration } from 'date-fns';\nimport type { TaskRecurrence } from '~/modules/tasks';\n\n/**\n * Calculate next run date for the task\n *\n * @param initial Initial date of the task\n * @param recurrence The task recurrence\n *\n * @deprecated Please use the `recurrence` module\n * @see {@link getNextDateFromRecurrence}\n *\n * @returns The new date of the task\n */\nexport function calcNextDateFromRecurrence(\n initial: Date,\n recurrence: TaskRecurrence\n): Date {\n const duration: Duration = {};\n\n switch (recurrence) {\n case 'DAILY':\n duration.days = 1;\n break;\n case 'WEEKLY':\n duration.weeks = 1;\n break;\n case 'MONTHLY':\n duration.months = 1;\n break;\n case 'QUARTERLY':\n duration.months = 3;\n break;\n case 'BIENNIAL':\n duration.months = 6;\n break;\n case 'YEARLY':\n duration.years = 1;\n break;\n default:\n throw new Error('Recurrence not found');\n }\n\n return add(initial, duration);\n}\n","import type { TemplateFilter } from '~/modules/templates';\nimport type { Task } from '~/modules/tasks';\n\nimport {\n createTaskLayoutHelperFrom,\n taskLayoutHelperToJSON,\n type TaskLayoutHelper,\n} from '../../templates/editor/layouts';\n\nexport interface TaskBodyHelper {\n readonly version: number;\n filters: Map<string, TemplateFilter>;\n index: string;\n dateField?: string;\n inserts: TaskLayoutHelper[];\n}\n\nexport function createTaskBodyHelper(\n index: string = '',\n dateField: string = '',\n inserts: TaskLayoutHelper[] = [],\n filters: TemplateFilter[] = []\n): TaskBodyHelper {\n return {\n version: 2,\n dateField,\n inserts,\n filters: new Map(filters?.map((filter) => [filter.name, filter]) ?? []),\n index,\n };\n}\n\nexport function createTaskBodyHelperFrom(\n template: Task['template']\n): TaskBodyHelper {\n return createTaskBodyHelper(\n template.index,\n template.dateField,\n template.inserts?.map((lay) => createTaskLayoutHelperFrom(lay)) ?? [],\n template.filters\n );\n}\n\nexport function taskBodyHelperToJSON(\n template: TaskBodyHelper\n): Task['template'] {\n return {\n version: template.version,\n index: template.index,\n inserts: template.inserts.map((lay) => taskLayoutHelperToJSON(lay)),\n dateField: template.dateField,\n filters: Array.from(template.filters.values()),\n };\n}\n\nexport function addLayoutOfHelper(\n body: TaskBodyHelper,\n layout: TaskLayoutHelper\n): TaskBodyHelper {\n if (body.inserts.some((lay) => lay.id === layout.id)) {\n throw new Error(`Layout \"${layout.id}\" already exists`);\n }\n body.inserts.splice(layout.at, 0, layout);\n return body;\n}\n\nexport function removeLayoutOfHelper(\n body: TaskBodyHelper,\n layout: TaskLayoutHelper\n): TaskBodyHelper {\n const template = body;\n template.inserts = body.inserts.filter((lay) => lay.id !== layout.id);\n return body;\n}\n\nexport function updateLayoutOfHelper(\n body: TaskBodyHelper,\n oldLayout: TaskLayoutHelper,\n newLayout: TaskLayoutHelper\n): TaskBodyHelper {\n const index = body.inserts.findIndex((lay) => lay.id === oldLayout.id);\n if (index < 0) {\n throw new Error(`Layout \"${oldLayout.id}\" not found`);\n }\n const template = body;\n template.inserts[index] = newLayout;\n return body;\n}\n","import objectHash from 'object-hash';\n\nimport type { Task } from '~/modules/tasks';\nimport type {\n InputTask,\n LastExtended,\n TaskRecurrence,\n} from '~/modules/tasks/types';\n\nimport type { TemplateBodyHelper } from '../../templates/editor/body';\nimport type { AnyLayoutHelper } from '../../templates/editor/layouts';\nimport { calcNextDateFromRecurrence } from '../recurrence';\nimport {\n createTaskBodyHelper,\n createTaskBodyHelperFrom,\n taskBodyHelperToJSON,\n type TaskBodyHelper,\n} from './body';\n\nexport interface TaskHelper {\n readonly id: string;\n name: string;\n description: string;\n namespaceId: string;\n extendedId: string;\n template: TaskBodyHelper;\n targets: string[];\n recurrence: TaskRecurrence;\n nextRun: Date;\n enabled: boolean;\n readonly lastExtended?: LastExtended | null;\n readonly lastRun?: Date;\n readonly createdAt: Date;\n readonly updatedAt?: Date;\n readonly hash: string;\n}\n\nfunction hashTask(task: TaskHelper | Task): string {\n return objectHash({\n name: task.name,\n description: task.description,\n extendedId: task.extendedId,\n template: task.template,\n targets: task.targets,\n recurrence: task.recurrence,\n nextRun: task.nextRun,\n enabled: task.enabled,\n });\n}\n\nexport function createTaskHelper(\n name: string = '',\n description: string = '',\n namespaceId: string = '',\n extendedId: string = '',\n template?: TaskBodyHelper,\n targets: string[] = [],\n recurrence: TaskRecurrence = 'DAILY',\n nextRun?: Date,\n enabled: boolean = true,\n lastExtended?: LastExtended,\n lastRun?: Date,\n id: string = '',\n createdAt: Date = new Date(),\n updatedAt?: Date\n): TaskHelper {\n const task = {\n id,\n name,\n description,\n namespaceId,\n extendedId,\n template: template ?? createTaskBodyHelper(),\n targets,\n recurrence,\n nextRun: nextRun ?? calcNextDateFromRecurrence(new Date(), recurrence),\n enabled,\n lastExtended,\n lastRun,\n createdAt,\n updatedAt,\n hash: '',\n };\n\n task.hash = hashTask(task);\n\n return task;\n}\n\nexport function createTaskHelperFrom(task: Task): TaskHelper {\n return createTaskHelper(\n task.name,\n task.description,\n task.namespaceId,\n task.extendedId,\n createTaskBodyHelperFrom(task.template),\n task.targets,\n task.recurrence,\n task.nextRun,\n task.enabled,\n task.lastExtended ?? undefined,\n task.lastRun,\n task.id,\n task.createdAt,\n task.updatedAt\n );\n}\n\nexport function taskHelperToJSON(task: TaskHelper): InputTask {\n return {\n name: task.name,\n description: task.description,\n namespaceId: task.namespaceId,\n extendedId: task.extendedId,\n template: taskBodyHelperToJSON(task.template),\n targets: task.targets,\n recurrence: task.recurrence,\n nextRun: task.nextRun,\n enabled: task.enabled,\n lastExtended: task.lastExtended,\n };\n}\n\nexport function hasTaskChanged(task: TaskHelper): boolean {\n return task.hash !== hashTask(task);\n}\n\nexport function getLayoutsOfHelpers(\n taskBody: TaskBodyHelper,\n templateBody: TemplateBodyHelper\n): (AnyLayoutHelper & { readonly: boolean })[] {\n const layouts = templateBody.layouts.map((lay) => ({\n ...lay,\n readonly: true,\n }));\n for (const { at, ...layout } of taskBody.inserts) {\n layouts.splice(at, 0, { ...layout, readonly: false });\n }\n return layouts;\n}\n\nexport {\n type TaskBodyHelper,\n createTaskBodyHelper,\n createTaskBodyHelperFrom,\n addLayoutOfHelper,\n removeLayoutOfHelper,\n updateLayoutOfHelper,\n} from './body';\n","import { assignDependencies } from '~/helpers/permissions/decorator';\n\nimport { getTask, upsertTask, type Task } from '~/modules/tasks';\n\nexport * from './editor';\nexport * from './recurrence';\n\n/**\n * Change enable state of a task\n *\n * @param taskOrId Task or Task's id\n * @param enabled New state\n *\n * @returns Updated task\n */\nexport async function changeTaskEnableState(\n taskOrId: Omit<Task, 'template'> | string,\n enabled: boolean\n): Promise<Task> {\n const base = await getTask(taskOrId);\n\n const task = await upsertTask({\n id: base.id,\n name: base.name,\n description: base.description,\n extendedId: base.extendedId,\n namespaceId: base.namespaceId,\n nextRun: base.nextRun,\n recurrence: base.recurrence,\n targets: base.targets,\n template: base.template,\n lastExtended: base.lastExtended,\n enabled,\n });\n\n return task;\n}\nassignDependencies(changeTaskEnableState, [getTask, upsertTask]);\n"],"names":["calcNextDateFromRecurrence","initial","recurrence","duration","add","createTaskBodyHelper","index","dateField","inserts","filters","_a","filter","createTaskBodyHelperFrom","template","_b","lay","createTaskLayoutHelperFrom","taskBodyHelperToJSON","taskLayoutHelperToJSON","addLayoutOfHelper","body","layout","removeLayoutOfHelper","updateLayoutOfHelper","oldLayout","newLayout","hashTask","task","objectHash","createTaskHelper","name","description","namespaceId","extendedId","targets","nextRun","enabled","lastExtended","lastRun","id","createdAt","updatedAt","createTaskHelperFrom","taskHelperToJSON","hasTaskChanged","getLayoutsOfHelpers","taskBody","templateBody","layouts","__spreadProps","__spreadValues","at","__objRest","changeTaskEnableState","taskOrId","__async","base","getTask","upsertTask","assignDependencies"],"mappings":"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"}
|
package/dist/helpers/tasks.mjs
CHANGED
|
@@ -22,24 +22,24 @@ var I = (e, r) => {
|
|
|
22
22
|
var T = (e, r, n) => new Promise((t, a) => {
|
|
23
23
|
var d = (s) => {
|
|
24
24
|
try {
|
|
25
|
-
|
|
25
|
+
o(n.next(s));
|
|
26
26
|
} catch (c) {
|
|
27
27
|
a(c);
|
|
28
28
|
}
|
|
29
|
-
},
|
|
29
|
+
}, i = (s) => {
|
|
30
30
|
try {
|
|
31
|
-
|
|
31
|
+
o(n.throw(s));
|
|
32
32
|
} catch (c) {
|
|
33
33
|
a(c);
|
|
34
34
|
}
|
|
35
|
-
},
|
|
36
|
-
|
|
35
|
+
}, o = (s) => s.done ? t(s.value) : Promise.resolve(s.value).then(d, i);
|
|
36
|
+
o((n = n.apply(e, r)).next());
|
|
37
37
|
});
|
|
38
38
|
import { b as N } from "../decorator-DCiVxI72.mjs";
|
|
39
|
-
import { a as E, u as H } from "../methods-
|
|
40
|
-
import Y from "
|
|
39
|
+
import { a as E, u as H } from "../methods-zHTbr0Jj.mjs";
|
|
40
|
+
import { o as Y } from "../index-CqG3FOrT.mjs";
|
|
41
41
|
import { add as v } from "date-fns";
|
|
42
|
-
import { a as D, t as B } from "../tasks-
|
|
42
|
+
import { a as D, t as B } from "../tasks-rnhGl39m.mjs";
|
|
43
43
|
function S(e, r) {
|
|
44
44
|
const n = {};
|
|
45
45
|
switch (r) {
|
|
@@ -122,7 +122,7 @@ function w(e) {
|
|
|
122
122
|
enabled: e.enabled
|
|
123
123
|
});
|
|
124
124
|
}
|
|
125
|
-
function $(e = "", r = "", n = "", t = "", a, d = [],
|
|
125
|
+
function $(e = "", r = "", n = "", t = "", a, d = [], i = "DAILY", o, s = !0, c, g, y = "", R = /* @__PURE__ */ new Date(), b) {
|
|
126
126
|
const p = {
|
|
127
127
|
id: y,
|
|
128
128
|
name: e,
|
|
@@ -131,8 +131,8 @@ function $(e = "", r = "", n = "", t = "", a, d = [], o = "DAILY", i, s = !0, c,
|
|
|
131
131
|
extendedId: t,
|
|
132
132
|
template: a != null ? a : L(),
|
|
133
133
|
targets: d,
|
|
134
|
-
recurrence:
|
|
135
|
-
nextRun:
|
|
134
|
+
recurrence: i,
|
|
135
|
+
nextRun: o != null ? o : S(/* @__PURE__ */ new Date(), i),
|
|
136
136
|
enabled: s,
|
|
137
137
|
lastExtended: c,
|
|
138
138
|
lastRun: g,
|
|
@@ -183,8 +183,8 @@ function _(e, r) {
|
|
|
183
183
|
readonly: !0
|
|
184
184
|
}));
|
|
185
185
|
for (const t of e.inserts) {
|
|
186
|
-
const a = t, { at: d } = a,
|
|
187
|
-
n.splice(d, 0, l(m({},
|
|
186
|
+
const a = t, { at: d } = a, i = I(a, ["at"]);
|
|
187
|
+
n.splice(d, 0, l(m({}, i), { readonly: !1 }));
|
|
188
188
|
}
|
|
189
189
|
return n;
|
|
190
190
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var m=(e,t,a)=>new Promise((r,n)=>{var o=
|
|
1
|
+
"use strict";var m=(e,t,a)=>new Promise((r,n)=>{var o=i=>{try{u(a.next(i))}catch(p){n(p)}},s=i=>{try{u(a.throw(i))}catch(p){n(p)}},u=i=>i.done?r(i.value):Promise.resolve(i.value).then(o,s);u((a=a.apply(e,t)).next())});Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("../methods-BArV-Of4.js"),H=require("../decorator-C2gcn2rK.js"),y=require("../index-CVa-i8Jy.js"),d=require("../templates-D7C0TH1C.js");function c(e,t="",a=[],r=[],n){var o;return{version:2,dateField:t,layouts:a,filters:new Map((o=r==null?void 0:r.map(s=>[s.name,s]))!=null?o:[]),grid:n,index:e}}function f(e){return c(e.index,e.dateField,e.layouts.map(t=>d.createLayoutHelperFrom(t)),e.filters,e.grid)}function O(e){return{version:e.version,dateField:e.dateField,layouts:e.layouts.map(t=>d.layoutHelperToJSON(t)),filters:Array.from(e.filters.values()),grid:e.grid,index:e.index}}function w(e,t,a){if(e.layouts.some(r=>r.id===t.id))throw new Error(`Layout "${t.id}" already exists`);return e.layouts.splice(a!=null?a:e.layouts.length,0,t),e}function v(e,t){const a=e;return a.layouts=e.layouts.filter(r=>r.id!==t.id),e}function F(e,t,a){const r=e.layouts.findIndex(o=>o.id===t.id);if(r<0)throw new Error(`Layout "${t.id}" not found`);const n=e;return n.layouts[r]=a,e}function T(e){return y.objectHash({name:e.name,body:e.body,tags:e.tags})}function g(e="",t,a=new Map,r="",n=new Date,o){const s={id:r,name:e,body:t!=null?t:c(),tags:a,createdAt:n,updatedAt:o,hash:""};return s.hash=T(s),s}function L(e){var t,a;return g(e.name,f(e.body),new Map((a=(t=e.tags)==null?void 0:t.map(r=>[r.name,r]))!=null?a:[]),e.id,e.createdAt,e.updatedAt)}function S(e){return{name:e.name,body:O(e.body),tags:Array.from(e.tags.values())}}function B(e){return e.hash!==T(e)}function h(e,t){return m(this,null,function*(){const a=yield l.getTemplate(e);return yield l.upsertTemplate({id:a.id,name:a.name,tags:a.tags,body:a.body,hidden:t})})}H.assignDependencies(h,[l.getTemplate,l.upsertTemplate]);exports.addLayoutOfHelper=w;exports.changeTemplateVisibility=h;exports.createTemplateBodyHelper=c;exports.createTemplateBodyHelperFrom=f;exports.createTemplateHelper=g;exports.createTemplateHelperFrom=L;exports.hasTemplateChanged=B;exports.removeLayoutOfHelper=v;exports.templateHelperToJSON=S;exports.updateLayoutOfHelper=F;
|
|
2
2
|
//# sourceMappingURL=templates.js.map
|