szdl-utils-kit 0.3.10 → 0.3.11

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/index.js CHANGED
@@ -1,54 +1,54 @@
1
- var yt = Object.defineProperty;
2
- var Et = (_, e, r) => e in _ ? yt(_, e, { enumerable: !0, configurable: !0, writable: !0, value: r }) : _[e] = r;
3
- var M = (_, e, r) => (Et(_, typeof e != "symbol" ? e + "" : e, r), r), lt = (_, e, r) => {
4
- if (!e.has(_))
1
+ var Tt = Object.defineProperty;
2
+ var Rt = (p, e, r) => e in p ? Tt(p, e, { enumerable: !0, configurable: !0, writable: !0, value: r }) : p[e] = r;
3
+ var M = (p, e, r) => (Rt(p, typeof e != "symbol" ? e + "" : e, r), r), ct = (p, e, r) => {
4
+ if (!e.has(p))
5
5
  throw TypeError("Cannot " + r);
6
6
  };
7
- var E = (_, e, r) => (lt(_, e, "read from private field"), r ? r.call(_) : e.get(_)), w = (_, e, r) => {
8
- if (e.has(_))
7
+ var E = (p, e, r) => (ct(p, e, "read from private field"), r ? r.call(p) : e.get(p)), U = (p, e, r) => {
8
+ if (e.has(p))
9
9
  throw TypeError("Cannot add the same private member more than once");
10
- e instanceof WeakSet ? e.add(_) : e.set(_, r);
11
- }, F = (_, e, r, i) => (lt(_, e, "write to private field"), i ? i.call(_, r) : e.set(_, r), r);
12
- var X = (_, e, r) => (lt(_, e, "access private method"), r);
13
- var Tt = typeof globalThis < "u" ? globalThis : typeof window < "u" ? window : typeof global < "u" ? global : typeof self < "u" ? self : {};
14
- function Rt(_) {
15
- return _ && _.__esModule && Object.prototype.hasOwnProperty.call(_, "default") ? _.default : _;
10
+ e instanceof WeakSet ? e.add(p) : e.set(p, r);
11
+ }, X = (p, e, r, i) => (ct(p, e, "write to private field"), i ? i.call(p, r) : e.set(p, r), r);
12
+ var W = (p, e, r) => (ct(p, e, "access private method"), r);
13
+ var Lt = typeof globalThis < "u" ? globalThis : typeof window < "u" ? window : typeof global < "u" ? global : typeof self < "u" ? self : {};
14
+ function bt(p) {
15
+ return p && p.__esModule && Object.prototype.hasOwnProperty.call(p, "default") ? p.default : p;
16
16
  }
17
- var ht = { exports: {} };
18
- (function(_, e) {
17
+ var ut = { exports: {} };
18
+ (function(p, e) {
19
19
  (function(r) {
20
- Array.prototype.indexOf || (Array.prototype.indexOf = function(t, n) {
20
+ Array.prototype.indexOf || (Array.prototype.indexOf = function(t, o) {
21
21
  var f, m;
22
- for (f = n || 0, m = this.length; f < m; f += 1)
22
+ for (f = o || 0, m = this.length; f < m; f += 1)
23
23
  if (this[f] === t)
24
24
  return f;
25
25
  return -1;
26
26
  });
27
- var i = this, o = function(t, n) {
28
- for (var f = t.toString(); f.length < n; )
27
+ var i = this, n = function(t, o) {
28
+ for (var f = t.toString(); f.length < o; )
29
29
  f = "0" + f;
30
30
  return f;
31
- }, a = function(t, n) {
32
- return n !== r ? (t.year(n.year() || n.year), t.month(n.month() || n.month), t.day(n.day() || n.day), t.hours(n.hours() || n.hours), t.minutes(n.minutes() || n.minutes), t.seconds(n.seconds() || n.seconds), t.milliseconds(n.milliseconds() || n.milliseconds), t) : r;
33
- }, h = function(t, n) {
31
+ }, a = function(t, o) {
32
+ return o !== r ? (t.year(o.year() || o.year), t.month(o.month() || o.month), t.day(o.day() || o.day), t.hours(o.hours() || o.hours), t.minutes(o.minutes() || o.minutes), t.seconds(o.seconds() || o.seconds), t.milliseconds(o.milliseconds() || o.milliseconds), t) : r;
33
+ }, u = function(t, o) {
34
34
  var f, m = "";
35
- return f = t.slice(n, n + 1), f !== "" && !isNaN(Number(f)) && (m += "%H"), f = t.charAt(n + 2), f !== "" && f === ":" && (m += f), f = t.slice(n + 3, n + 4), f !== "" && !isNaN(Number(f)) && (m += "%M"), f = t.charAt(n + 5), f !== "" && f === ":" && (m += f), f = t.slice(n + 6, n + 7), f !== "" && !isNaN(Number(f)) && (m += "%S"), m;
36
- }, u = function(t, n) {
35
+ return f = t.slice(o, o + 1), f !== "" && !isNaN(Number(f)) && (m += "%H"), f = t.charAt(o + 2), f !== "" && f === ":" && (m += f), f = t.slice(o + 3, o + 4), f !== "" && !isNaN(Number(f)) && (m += "%M"), f = t.charAt(o + 5), f !== "" && f === ":" && (m += f), f = t.slice(o + 6, o + 7), f !== "" && !isNaN(Number(f)) && (m += "%S"), m;
36
+ }, c = function(t, o) {
37
37
  var f, m = [
38
- t.slice(n, n + 1),
39
- t.charAt(n + 2),
40
- t.slice(n + 3, n + 4),
41
- t.charAt(n + 5),
42
- t.slice(n + 6, n + 9)
38
+ t.slice(o, o + 1),
39
+ t.charAt(o + 2),
40
+ t.slice(o + 3, o + 4),
41
+ t.charAt(o + 5),
42
+ t.slice(o + 6, o + 9)
43
43
  ], S;
44
44
  return !isNaN(Number(m[0])) && !isNaN(Number(m[2])) && !isNaN(Number(m[4])) ? (m[1] === "." && m[3] === "." ? f = "%d.%m.%Y" : m[1] === "-" && m[3] === "-" ? f = "%m-%d-%Y" : m[1] === "/" && m[3] === "/" && (f = "%m/%d/%Y"), f) : (S = [
45
- t.slice(n, n + 3),
46
- t.charAt(n + 4),
47
- t.slice(n + 5, n + 6),
48
- t.charAt(n + 7),
49
- t.slice(n + 8, n + 9)
45
+ t.slice(o, o + 3),
46
+ t.charAt(o + 4),
47
+ t.slice(o + 5, o + 6),
48
+ t.charAt(o + 7),
49
+ t.slice(o + 8, o + 9)
50
50
  ], !isNaN(Number(S[0])) && !isNaN(Number(S[2])) && !isNaN(Number(S[4])) ? (S[1] === "-" && S[3] === "-" && (f = "%Y-%m-%d"), f) : "");
51
- }, c = i.tempus, s, d, g = i.navigator || {}, A = "en", l = {
51
+ }, A = i.tempus, s, d, N = i.navigator || {}, l = "en", h = {
52
52
  en: {
53
53
  JANUARY_SHORT: "Jan",
54
54
  FEBRUARY_SHORT: "Feb",
@@ -209,70 +209,70 @@ var ht = { exports: {} };
209
209
  FRIDAY_LONG: "Freitag",
210
210
  SATURDAY_LONG: "Samstag"
211
211
  }
212
- }, N = function() {
212
+ }, T = function() {
213
213
  return [
214
- l[A].JANUARY_LONG,
215
- l[A].FEBRUARY_LONG,
216
- l[A].MARCH_LONG,
217
- l[A].APRIL_LONG,
218
- l[A].MAY_LONG,
219
- l[A].JUNE_LONG,
220
- l[A].JULY_LONG,
221
- l[A].AUGUST_LONG,
222
- l[A].SEPTEMBER_LONG,
223
- l[A].OCTOBER_LONG,
224
- l[A].NOVEMBER_LONG,
225
- l[A].DECEMBER_LONG
214
+ h[l].JANUARY_LONG,
215
+ h[l].FEBRUARY_LONG,
216
+ h[l].MARCH_LONG,
217
+ h[l].APRIL_LONG,
218
+ h[l].MAY_LONG,
219
+ h[l].JUNE_LONG,
220
+ h[l].JULY_LONG,
221
+ h[l].AUGUST_LONG,
222
+ h[l].SEPTEMBER_LONG,
223
+ h[l].OCTOBER_LONG,
224
+ h[l].NOVEMBER_LONG,
225
+ h[l].DECEMBER_LONG
226
226
  ];
227
227
  }, O = function() {
228
228
  return [
229
- l[A].JANUARY_SHORT,
230
- l[A].FEBRUARY_SHORT,
231
- l[A].MARCH_SHORT,
232
- l[A].APRIL_SHORT,
233
- l[A].MAY_SHORT,
234
- l[A].JUNE_SHORT,
235
- l[A].JULY_SHORT,
236
- l[A].AUGUST_SHORT,
237
- l[A].SEPTEMBER_SHORT,
238
- l[A].OCTOBER_SHORT,
239
- l[A].NOVEMBER_SHORT,
240
- l[A].DECEMBER_SHORT
229
+ h[l].JANUARY_SHORT,
230
+ h[l].FEBRUARY_SHORT,
231
+ h[l].MARCH_SHORT,
232
+ h[l].APRIL_SHORT,
233
+ h[l].MAY_SHORT,
234
+ h[l].JUNE_SHORT,
235
+ h[l].JULY_SHORT,
236
+ h[l].AUGUST_SHORT,
237
+ h[l].SEPTEMBER_SHORT,
238
+ h[l].OCTOBER_SHORT,
239
+ h[l].NOVEMBER_SHORT,
240
+ h[l].DECEMBER_SHORT
241
241
  ];
242
- }, p = function() {
242
+ }, g = function() {
243
243
  return [
244
- l[A].SUNDAY_LONG,
245
- l[A].MONDAY_LONG,
246
- l[A].TUESDAY_LONG,
247
- l[A].WEDNESDAY_LONG,
248
- l[A].THURSDAY_LONG,
249
- l[A].FRIDAY_LONG,
250
- l[A].SATURDAY_LONG
244
+ h[l].SUNDAY_LONG,
245
+ h[l].MONDAY_LONG,
246
+ h[l].TUESDAY_LONG,
247
+ h[l].WEDNESDAY_LONG,
248
+ h[l].THURSDAY_LONG,
249
+ h[l].FRIDAY_LONG,
250
+ h[l].SATURDAY_LONG
251
251
  ];
252
- }, b = function() {
252
+ }, L = function() {
253
253
  return [
254
- l[A].SUNDAY_SHORT,
255
- l[A].MONDAY_SHORT,
256
- l[A].TUESDAY_SHORT,
257
- l[A].WEDNESDAY_SHORT,
258
- l[A].THURSDAY_SHORT,
259
- l[A].FRIDAY_SHORT,
260
- l[A].SATURDAY_SHORT
254
+ h[l].SUNDAY_SHORT,
255
+ h[l].MONDAY_SHORT,
256
+ h[l].TUESDAY_SHORT,
257
+ h[l].WEDNESDAY_SHORT,
258
+ h[l].THURSDAY_SHORT,
259
+ h[l].FRIDAY_SHORT,
260
+ h[l].SATURDAY_SHORT
261
261
  ];
262
- }, U, P, W, L, k = function(t, n, f) {
262
+ }, I, C, w, k, J = function(t, o, f) {
263
263
  var m;
264
264
  i.XMLHttpRequest ? m = new XMLHttpRequest() : m = new ActiveXObject("Microsoft.XMLHTTP"), m.onreadystatechange = function() {
265
- m.readyState === 4 && (m.status === 200 ? n && (i.JSON === r ? alert(`Please, include json2 into your project if you want use old browsers!
266
- https://github.com/douglascrockford/JSON-js/blob/master/json2.js`) : n(JSON.parse(m.responseText))) : f && f(m));
265
+ m.readyState === 4 && (m.status === 200 ? o && (i.JSON === r ? alert(`Please, include json2 into your project if you want use old browsers!
266
+ https://github.com/douglascrockford/JSON-js/blob/master/json2.js`) : o(JSON.parse(m.responseText))) : f && f(m));
267
267
  }, m.open("GET", t, !1), m.send();
268
- }, I = {
268
+ }, b = {
269
269
  "%d": {
270
270
  format: function(t) {
271
- return o(t.day() || s.MIN_DAY, 2);
271
+ return n(t.day() || s.MIN_DAY, 2);
272
272
  },
273
273
  parse: function(t) {
274
- var n = Number(t);
275
- return { day: isNaN(n) ? r : n };
274
+ var o = Number(t);
275
+ return { day: isNaN(o) ? r : o };
276
276
  },
277
277
  minLength: 2,
278
278
  maxLength: 2,
@@ -280,11 +280,11 @@ https://github.com/douglascrockford/JSON-js/blob/master/json2.js`) : n(JSON.pars
280
280
  },
281
281
  "%m": {
282
282
  format: function(t) {
283
- return o(t.month() || s.MIN_MONTH, 2);
283
+ return n(t.month() || s.MIN_MONTH, 2);
284
284
  },
285
285
  parse: function(t) {
286
- var n = Number(t);
287
- return { month: isNaN(n) ? r : n };
286
+ var o = Number(t);
287
+ return { month: isNaN(o) ? r : o };
288
288
  },
289
289
  minLength: 2,
290
290
  maxLength: 2,
@@ -292,11 +292,11 @@ https://github.com/douglascrockford/JSON-js/blob/master/json2.js`) : n(JSON.pars
292
292
  },
293
293
  "%Y": {
294
294
  format: function(t) {
295
- return o(t.year() || s.MIN_YEAR, 4);
295
+ return n(t.year() || s.MIN_YEAR, 4);
296
296
  },
297
297
  parse: function(t) {
298
- var n = Number(t);
299
- return { year: isNaN(n) ? r : n };
298
+ var o = Number(t);
299
+ return { year: isNaN(o) ? r : o };
300
300
  },
301
301
  minLength: 4,
302
302
  maxLength: 4,
@@ -315,8 +315,8 @@ https://github.com/douglascrockford/JSON-js/blob/master/json2.js`) : n(JSON.pars
315
315
  },
316
316
  "%a": {
317
317
  format: function(t) {
318
- var n = t.dayOfWeek();
319
- return L[n !== r ? n : s.MIN_DAY_OF_WEEK];
318
+ var o = t.dayOfWeek();
319
+ return k[o !== r ? o : s.MIN_DAY_OF_WEEK];
320
320
  },
321
321
  parse: function() {
322
322
  return {};
@@ -327,8 +327,8 @@ https://github.com/douglascrockford/JSON-js/blob/master/json2.js`) : n(JSON.pars
327
327
  },
328
328
  "%A": {
329
329
  format: function(t) {
330
- var n = t.dayOfWeek();
331
- return W[n !== r ? n : s.MIN_DAY_OF_WEEK];
330
+ var o = t.dayOfWeek();
331
+ return w[o !== r ? o : s.MIN_DAY_OF_WEEK];
332
332
  },
333
333
  parse: function() {
334
334
  return {};
@@ -339,12 +339,12 @@ https://github.com/douglascrockford/JSON-js/blob/master/json2.js`) : n(JSON.pars
339
339
  },
340
340
  "%b": {
341
341
  format: function(t) {
342
- var n = s.options("monthFromZero") ? t.month() : t.month() - 1;
343
- return P[n !== r ? n : s.MIN_MONTH];
342
+ var o = s.options("monthFromZero") ? t.month() : t.month() - 1;
343
+ return C[o !== r ? o : s.MIN_MONTH];
344
344
  },
345
345
  parse: function(t) {
346
- var n = s.monthNames().indexOf(t) + (s.options("monthFromZero") ? 0 : 1);
347
- return { month: n !== -1 ? n : r };
346
+ var o = s.monthNames().indexOf(t) + (s.options("monthFromZero") ? 0 : 1);
347
+ return { month: o !== -1 ? o : r };
348
348
  },
349
349
  minLength: 1,
350
350
  maxLength: 999,
@@ -352,12 +352,12 @@ https://github.com/douglascrockford/JSON-js/blob/master/json2.js`) : n(JSON.pars
352
352
  },
353
353
  "%B": {
354
354
  format: function(t) {
355
- var n = s.options("monthFromZero") ? t.month() : t.month() - 1;
356
- return U[n !== r ? n : s.MIN_MONTH];
355
+ var o = s.options("monthFromZero") ? t.month() : t.month() - 1;
356
+ return I[o !== r ? o : s.MIN_MONTH];
357
357
  },
358
358
  parse: function(t) {
359
- var n = s.monthNames(!0).indexOf(t) + (s.options("monthFromZero") ? 0 : 1);
360
- return { month: n !== -1 ? n : r };
359
+ var o = s.monthNames(!0).indexOf(t) + (s.options("monthFromZero") ? 0 : 1);
360
+ return { month: o !== -1 ? o : r };
361
361
  },
362
362
  minLength: 1,
363
363
  maxLength: 999,
@@ -365,11 +365,11 @@ https://github.com/douglascrockford/JSON-js/blob/master/json2.js`) : n(JSON.pars
365
365
  },
366
366
  "%H": {
367
367
  format: function(t) {
368
- return o(t.hours() || s.MIN_HOURS, 2);
368
+ return n(t.hours() || s.MIN_HOURS, 2);
369
369
  },
370
370
  parse: function(t) {
371
- var n = Number(t);
372
- return { hours: isNaN(n) ? r : n };
371
+ var o = Number(t);
372
+ return { hours: isNaN(o) ? r : o };
373
373
  },
374
374
  minLength: 2,
375
375
  maxLength: 2,
@@ -377,11 +377,11 @@ https://github.com/douglascrockford/JSON-js/blob/master/json2.js`) : n(JSON.pars
377
377
  },
378
378
  "%M": {
379
379
  format: function(t) {
380
- return o(t.minutes() || s.MIN_MINUTES, 2);
380
+ return n(t.minutes() || s.MIN_MINUTES, 2);
381
381
  },
382
382
  parse: function(t) {
383
- var n = Number(t);
384
- return { minutes: isNaN(n) ? r : n };
383
+ var o = Number(t);
384
+ return { minutes: isNaN(o) ? r : o };
385
385
  },
386
386
  minLength: 2,
387
387
  maxLength: 2,
@@ -389,11 +389,11 @@ https://github.com/douglascrockford/JSON-js/blob/master/json2.js`) : n(JSON.pars
389
389
  },
390
390
  "%S": {
391
391
  format: function(t) {
392
- return o(t.seconds() || s.MIN_SECONDS, 2);
392
+ return n(t.seconds() || s.MIN_SECONDS, 2);
393
393
  },
394
394
  parse: function(t) {
395
- var n = Number(t);
396
- return { seconds: isNaN(n) ? r : n };
395
+ var o = Number(t);
396
+ return { seconds: isNaN(o) ? r : o };
397
397
  },
398
398
  minLength: 2,
399
399
  maxLength: 2,
@@ -412,12 +412,12 @@ https://github.com/douglascrockford/JSON-js/blob/master/json2.js`) : n(JSON.pars
412
412
  },
413
413
  "%F": {
414
414
  format: function(t) {
415
- return o(t.year() || s.MIN_YEAR, 4) + "-" + o(t.month() || s.MIN_MONTH, 2) + "-" + o(t.day() || s.MIN_DAY, 2);
415
+ return n(t.year() || s.MIN_YEAR, 4) + "-" + n(t.month() || s.MIN_MONTH, 2) + "-" + n(t.day() || s.MIN_DAY, 2);
416
416
  },
417
417
  parse: function(t) {
418
- var n = Number(t.slice(0, 4)), f = Number(t.slice(5, 7)), m = Number(t.slice(8, 10));
418
+ var o = Number(t.slice(0, 4)), f = Number(t.slice(5, 7)), m = Number(t.slice(8, 10));
419
419
  return {
420
- year: n,
420
+ year: o,
421
421
  month: f,
422
422
  day: m
423
423
  };
@@ -428,13 +428,13 @@ https://github.com/douglascrockford/JSON-js/blob/master/json2.js`) : n(JSON.pars
428
428
  },
429
429
  "%D": {
430
430
  format: function(t) {
431
- return o(t.month() || s.MIN_MONTH, 2) + "/" + o(t.day() || s.MIN_DAY, 2) + "/" + o(t.year() || s.MIN_YEAR, 4);
431
+ return n(t.month() || s.MIN_MONTH, 2) + "/" + n(t.day() || s.MIN_DAY, 2) + "/" + n(t.year() || s.MIN_YEAR, 4);
432
432
  },
433
433
  parse: function(t) {
434
- var n = Number(t.slice(0, 2)), f = Number(t.slice(3, 5)), m = Number(t.slice(6, 10));
434
+ var o = Number(t.slice(0, 2)), f = Number(t.slice(3, 5)), m = Number(t.slice(6, 10));
435
435
  return {
436
436
  year: m,
437
- month: n,
437
+ month: o,
438
438
  day: f
439
439
  };
440
440
  },
@@ -442,11 +442,11 @@ https://github.com/douglascrockford/JSON-js/blob/master/json2.js`) : n(JSON.pars
442
442
  maxLength: 10,
443
443
  type: "string"
444
444
  }
445
- }, et = {
445
+ }, x = {
446
446
  useMilliseconds: !1,
447
447
  monthFromZero: !1
448
- }, T;
449
- T = function(t, n, f) {
448
+ }, _;
449
+ _ = function(t, o, f) {
450
450
  return this._d = /* @__PURE__ */ new Date(), this._i = {
451
451
  year: !1,
452
452
  month: !1,
@@ -455,56 +455,56 @@ https://github.com/douglascrockford/JSON-js/blob/master/json2.js`) : n(JSON.pars
455
455
  minutes: !1,
456
456
  seconds: !1,
457
457
  milliseconds: !1
458
- }, t !== r && this.set(t, n, f), this;
459
- }, T.fn = T.prototype, T.fn.dayCount = function() {
460
- var t = this.month(), n = s.MAX_DAY_IN_MONTHS[t - (s.options("monthFromZero") ? 0 : 1)];
461
- return this.leapYear() && t === (s.options("monthFromZero") ? 1 : 2) && (n += 1), n;
462
- }, T.fn.year = function(t) {
458
+ }, t !== r && this.set(t, o, f), this;
459
+ }, _.fn = _.prototype, _.fn.dayCount = function() {
460
+ var t = this.month(), o = s.MAX_DAY_IN_MONTHS[t - (s.options("monthFromZero") ? 0 : 1)];
461
+ return this.leapYear() && t === (s.options("monthFromZero") ? 1 : 2) && (o += 1), o;
462
+ }, _.fn.year = function(t) {
463
463
  if (arguments.length !== 0)
464
464
  (typeof t == "number" || typeof t == "string") && !isNaN(Number(t)) ? Number(t) >= s.MIN_YEAR && Number(t) <= s.MAX_YEAR ? (this._d.setFullYear(Number(t)), this._i.year = !1) : this._i.year = Number(t) : (this._d.setFullYear(s.MIN_YEAR), this._i.year = !1);
465
465
  else
466
466
  return this._i.year === !1 ? this._d.getFullYear() : this._i.year;
467
467
  return this;
468
- }, T.fn.month = function(t) {
468
+ }, _.fn.month = function(t) {
469
469
  if (arguments.length !== 0)
470
470
  (typeof t == "number" || typeof t == "string") && !isNaN(Number(t)) ? Number(t) >= s.MIN_MONTH && Number(t) <= s.MAX_MONTH ? (this._d.setMonth(s.options("monthFromZero") ? Number(t) : Number(t) - 1), this._i.month = !1) : this._i.month = Number(t) : (this._d.setMonth(s.options("monthFromZero") ? s.MIN_MONTH : s.MIN_MONTH - 1), this._i.month = !1);
471
471
  else
472
472
  return this._i.month === !1 ? s.options("monthFromZero") ? this._d.getMonth() : this._d.getMonth() + 1 : this._i.month;
473
473
  return this;
474
- }, T.fn.day = function(t) {
474
+ }, _.fn.day = function(t) {
475
475
  if (arguments.length !== 0)
476
476
  (typeof t == "number" || typeof t == "string") && !isNaN(Number(t)) ? Number(t) >= s.MIN_DAY && Number(t) <= this.dayCount() ? (this._d.setDate(Number(t)), this._i.day = !1) : this._i.day = Number(t) : (this._d.setDate(s.MIN_DAY), this._i.day = !1);
477
477
  else
478
478
  return this._i.day === !1 ? this._d.getDate() : this._i.day;
479
479
  return this;
480
- }, T.fn.hours = function(t) {
480
+ }, _.fn.hours = function(t) {
481
481
  if (arguments.length !== 0)
482
482
  (typeof t == "number" || typeof t == "string") && !isNaN(Number(t)) ? Number(t) >= s.MIN_HOURS && Number(t) <= s.MAX_HOURS ? (this._d.setHours(Number(t)), this._i.hours = !1) : this._i.hours = Number(t) : (this._d.setHours(s.MIN_HOURS), this._i.hours = !1);
483
483
  else
484
484
  return this._i.hours === !1 ? this._d.getHours() : this._i.hours;
485
485
  return this;
486
- }, T.fn.minutes = function(t) {
486
+ }, _.fn.minutes = function(t) {
487
487
  if (arguments.length !== 0)
488
488
  (typeof t == "number" || typeof t == "string") && !isNaN(Number(t)) ? Number(t) >= s.MIN_MINUTES && Number(t) <= s.MAX_MINUTES ? (this._d.setMinutes(Number(t)), this._i.minutes = !1) : this._i.minutes = Number(t) : (this._d.setMinutes(s.MIN_MINUTES), this._i.minutes = !1);
489
489
  else
490
490
  return this._i.minutes === !1 ? this._d.getMinutes() : this._i.minutes;
491
491
  return this;
492
- }, T.fn.seconds = function(t) {
492
+ }, _.fn.seconds = function(t) {
493
493
  if (arguments.length !== 0)
494
494
  (typeof t == "number" || typeof t == "string") && !isNaN(Number(t)) ? Number(t) >= s.MIN_SECONDS && Number(t) <= s.MAX_SECONDS ? (this._d.setSeconds(Number(t)), this._i.seconds = !1) : this._i.seconds = Number(t) : (this._d.setSeconds(s.MIN_SECONDS), this._i.seconds = !1);
495
495
  else
496
496
  return this._i.seconds === !1 ? this._d.getSeconds() : this._i.seconds;
497
497
  return this;
498
- }, T.fn.milliseconds = function(t) {
498
+ }, _.fn.milliseconds = function(t) {
499
499
  if (arguments.length !== 0)
500
500
  (typeof t == "number" || typeof t == "string") && !isNaN(Number(t)) ? Number(t) >= s.MIN_MILLISECONDS && Number(t) <= s.MAX_MILLISECONDS ? (this._d.setMilliseconds(Number(t)), this._i.milliseconds = !1) : this._i.milliseconds = Number(t) : (this._d.setMilliseconds(s.MIN_MILLISECONDS), this._i.milliseconds = !1);
501
501
  else
502
502
  return this._i.milliseconds === !1 ? this._d.getMilliseconds() : this._i.milliseconds;
503
503
  return this;
504
- }, T.fn.week = function() {
505
- var t = new Date(this.year(), 0, 1), n = s(this.utc()).hours(0).minutes(0).seconds(0).milliseconds(0).utc() * 1e3;
506
- return Math.ceil(((n - t.getTime()) / 864e5 + t.getDay() + 1) / 7);
507
- }, T.fn.set = function(t, n, f) {
504
+ }, _.fn.week = function() {
505
+ var t = new Date(this.year(), 0, 1), o = s(this.utc()).hours(0).minutes(0).seconds(0).milliseconds(0).utc() * 1e3;
506
+ return Math.ceil(((o - t.getTime()) / 864e5 + t.getDay() + 1) / 7);
507
+ }, _.fn.set = function(t, o, f) {
508
508
  if (this._i = {
509
509
  year: !1,
510
510
  month: !1,
@@ -520,7 +520,7 @@ https://github.com/douglascrockford/JSON-js/blob/master/json2.js`) : n(JSON.pars
520
520
  if (typeof t == "number")
521
521
  return this._d = new Date(t * (s.options("useMilliseconds") ? 1 : 1e3)), this;
522
522
  if (typeof t == "object" && (t instanceof Array ? (this.day(s.MIN_DAY), this.year(t[0]), this.month(t[1]), this.day(t[2]), this.hours(t[3]), this.minutes(t[4]), this.seconds(t[5]), this.milliseconds(t[6])) : (this.day(s.MIN_DAY), this.year(t.year), this.month(t.month), this.day(t.day), this.hours(t.hours), this.minutes(t.minutes), this.seconds(t.seconds), this.milliseconds(t.milliseconds))), typeof t == "string") {
523
- var m, S = [], y, R, j = [], C = 0, Y = 0, D, x, B = {}, H;
523
+ var m, S = [], y, R, v = [], G = 0, Y = 0, D, F, B = {}, H;
524
524
  if (t === r)
525
525
  return y = a(this, f), y === r && (this._i = {
526
526
  year: -1,
@@ -531,24 +531,24 @@ https://github.com/douglascrockford/JSON-js/blob/master/json2.js`) : n(JSON.pars
531
531
  seconds: -1,
532
532
  milliseconds: -1
533
533
  }), y;
534
- for (n === r && (n = s.detectFormat(t)); C < n.length; ) {
535
- if (n.charAt(C) === "%") {
536
- if (R = n.charAt(C) + n.charAt(C + 1), I[R] !== r) {
537
- switch (D = 0, x = "", I[R].type) {
534
+ for (o === r && (o = s.detectFormat(t)); G < o.length; ) {
535
+ if (o.charAt(G) === "%") {
536
+ if (R = o.charAt(G) + o.charAt(G + 1), b[R] !== r) {
537
+ switch (D = 0, F = "", b[R].type) {
538
538
  case "number":
539
- for (; D < I[R].maxLength && Y + D < t.length && !isNaN(Number(t.charAt(Y + D))); )
540
- x += t.charAt(Y + D), D += 1;
539
+ for (; D < b[R].maxLength && Y + D < t.length && !isNaN(Number(t.charAt(Y + D))); )
540
+ F += t.charAt(Y + D), D += 1;
541
541
  break;
542
542
  case "word":
543
- for (; D < I[R].maxLength && Y + D < t.length && /^[\u00BF-\u1FFF\u2C00-\uD7FF\w]+$/.test(t.charAt(Y + D)); )
544
- x += t.charAt(Y + D), D += 1;
543
+ for (; D < b[R].maxLength && Y + D < t.length && /^[\u00BF-\u1FFF\u2C00-\uD7FF\w]+$/.test(t.charAt(Y + D)); )
544
+ F += t.charAt(Y + D), D += 1;
545
545
  break;
546
546
  case "string":
547
- for (; D < I[R].maxLength && Y + D < t.length; )
548
- x += t.charAt(Y + D), D += 1;
547
+ for (; D < b[R].maxLength && Y + D < t.length; )
548
+ F += t.charAt(Y + D), D += 1;
549
549
  break;
550
550
  }
551
- if (D < I[R].minLength)
551
+ if (D < b[R].minLength)
552
552
  return y = a(this, f), y === r && (this._i = {
553
553
  year: -1,
554
554
  month: -1,
@@ -558,9 +558,9 @@ https://github.com/douglascrockford/JSON-js/blob/master/json2.js`) : n(JSON.pars
558
558
  seconds: -1,
559
559
  milliseconds: -1
560
560
  }), y;
561
- S.push(R), j.push(x), D -= 1, Y += D, C += 1;
561
+ S.push(R), v.push(F), D -= 1, Y += D, G += 1;
562
562
  }
563
- } else if (t.charAt(Y) !== n.charAt(C))
563
+ } else if (t.charAt(Y) !== o.charAt(G))
564
564
  return y = a(this, f), y === r && (this._i = {
565
565
  year: -1,
566
566
  month: -1,
@@ -570,10 +570,10 @@ https://github.com/douglascrockford/JSON-js/blob/master/json2.js`) : n(JSON.pars
570
570
  seconds: -1,
571
571
  milliseconds: -1
572
572
  }), y;
573
- C += 1, Y += 1;
573
+ G += 1, Y += 1;
574
574
  }
575
575
  for (m in S)
576
- S.hasOwnProperty(m) && I.hasOwnProperty(S[m]) && (H = I[S[m]].parse(j[m]), B = {
576
+ S.hasOwnProperty(m) && b.hasOwnProperty(S[m]) && (H = b[S[m]].parse(v[m]), B = {
577
577
  year: H.year !== r ? H.year : B.year,
578
578
  month: H.month !== r ? H.month : B.month,
579
579
  day: H.day !== r ? H.day : B.day,
@@ -584,18 +584,18 @@ https://github.com/douglascrockford/JSON-js/blob/master/json2.js`) : n(JSON.pars
584
584
  this.day(s.MIN_DAY), this.year(B.year), this.month(B.month), this.day(B.day), this.hours(B.hours), this.minutes(B.minutes), this.seconds(B.seconds), this.milliseconds(B.milliseconds);
585
585
  }
586
586
  return this;
587
- }, T.fn.leapYear = function() {
587
+ }, _.fn.leapYear = function() {
588
588
  var t = this.year();
589
589
  return t % 4 === 0 ? t % 100 === 0 ? t % 400 === 0 : !0 : !1;
590
- }, T.fn.timestamp = function(t) {
590
+ }, _.fn.timestamp = function(t) {
591
591
  return arguments.length !== 0 ? (this._d = new Date(Number(t) * (s.options("useMilliseconds") ? 1 : 1e3) + this._d.getTimezoneOffset() * 6e4), this) : s.options("useMilliseconds") ? this._d.getTime() - this._d.getTimezoneOffset() * 6e4 : Math.floor(this._d.getTime() / 1e3) - this._d.getTimezoneOffset() * 60;
592
- }, T.fn.utc = function(t) {
592
+ }, _.fn.utc = function(t) {
593
593
  return arguments.length !== 0 ? (this._d = new Date(Number(t) * (s.options("useMilliseconds") ? 1 : 1e3)), this) : s.options("useMilliseconds") ? this._d.getTime() : Math.floor(this._d.getTime() / 1e3);
594
- }, T.fn.dayOfWeek = function(t) {
594
+ }, _.fn.dayOfWeek = function(t) {
595
595
  if (t === "long")
596
- return W[this._d.getDay()];
596
+ return w[this._d.getDay()];
597
597
  if (t === "short")
598
- return L[this._d.getDay()];
598
+ return k[this._d.getDay()];
599
599
  if (t === r)
600
600
  return this._d.getDay();
601
601
  if (t === 0 || t === "Sunday")
@@ -612,7 +612,7 @@ https://github.com/douglascrockford/JSON-js/blob/master/json2.js`) : n(JSON.pars
612
612
  return this.calc({ day: (this.dayOfWeek() === 0 ? -2 : 5) - this.dayOfWeek() });
613
613
  if (t === 6 || t === "Saturday")
614
614
  return this.calc({ day: (this.dayOfWeek() === 0 ? -1 : 6) - this.dayOfWeek() });
615
- }, T.fn.timezone = function(t) {
615
+ }, _.fn.timezone = function(t) {
616
616
  switch (t) {
617
617
  case "hours":
618
618
  return Math.floor(this._d.getTimezoneOffset() / 60);
@@ -621,7 +621,7 @@ https://github.com/douglascrockford/JSON-js/blob/master/json2.js`) : n(JSON.pars
621
621
  default:
622
622
  return this._d.getTimezoneOffset() * 60;
623
623
  }
624
- }, T.fn.get = function(t) {
624
+ }, _.fn.get = function(t) {
625
625
  switch (t) {
626
626
  case "Date":
627
627
  return new Date(
@@ -670,17 +670,17 @@ https://github.com/douglascrockford/JSON-js/blob/master/json2.js`) : n(JSON.pars
670
670
  timestamp: this.timestamp()
671
671
  };
672
672
  }
673
- }, T.fn.format = function(t) {
674
- for (var n = 0, f = "", m; n < t.length; )
675
- t.charAt(n) === "%" ? (m = t.charAt(n) + t.charAt(n + 1), I[m] !== r ? (f += I[m].format(this), n += 1) : f += "%") : f += t.charAt(n), n += 1;
673
+ }, _.fn.format = function(t) {
674
+ for (var o = 0, f = "", m; o < t.length; )
675
+ t.charAt(o) === "%" ? (m = t.charAt(o) + t.charAt(o + 1), b[m] !== r ? (f += b[m].format(this), o += 1) : f += "%") : f += t.charAt(o), o += 1;
676
676
  return f;
677
- }, T.fn.valid = function() {
677
+ }, _.fn.valid = function() {
678
678
  return this._i.year === !1 && this._i.month === !1 && this._i.day === !1 && this._i.hours === !1 && this._i.minutes === !1 && this._i.seconds === !1 && this._i.milliseconds === !1;
679
- }, T.fn.errors = function() {
679
+ }, _.fn.errors = function() {
680
680
  return this._i;
681
- }, T.fn.between = function(t, n) {
681
+ }, _.fn.between = function(t, o) {
682
682
  var f = this.timestamp(), m = t.timestamp();
683
- switch (n) {
683
+ switch (o) {
684
684
  case "year":
685
685
  return Math.floor((m - f) / 31556952);
686
686
  case "month":
@@ -696,24 +696,24 @@ https://github.com/douglascrockford/JSON-js/blob/master/json2.js`) : n(JSON.pars
696
696
  default:
697
697
  return r;
698
698
  }
699
- }, T.fn.calc = function(t) {
699
+ }, _.fn.calc = function(t) {
700
700
  return t.year !== r && this._d.setFullYear(this._d.getFullYear() + t.year), t.month !== r && this._d.setMonth(this._d.getMonth() + t.month), t.day !== r && this._d.setDate(this._d.getDate() + t.day), t.hours !== r && this._d.setHours(this._d.getHours() + t.hours), t.minutes !== r && this._d.setMinutes(this._d.getMinutes() + t.minutes), t.seconds !== r && this._d.setSeconds(this._d.getSeconds() + t.seconds), t.milliseconds !== r && this._d.setMilliseconds(this._d.getMilliseconds() + t.milliseconds), this;
701
- }, s = function(t, n, f) {
702
- return new T(t, n, f);
703
- }, s.MIN_YEAR = 1e3, s.MAX_YEAR = 3e3, s.MIN_MONTH = 1, s.MAX_MONTH = 12, s.MIN_DAY = 1, s.MAX_DAY_IN_MONTHS = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31], s.MIN_DAY_OF_WEEK = 0, s.MAX_DAY_OF_WEEK = 6, s.MIN_HOURS = 0, s.MAX_HOURS = 23, s.MIN_MINUTES = 0, s.MAX_MINUTES = 59, s.MIN_SECONDS = 0, s.MAX_SECONDS = 59, s.MIN_MILLISECONDS = 0, s.MAX_MILLISECONDS = 999, s.VERSION = "0.2.18", s.options = function(t, n) {
701
+ }, s = function(t, o, f) {
702
+ return new _(t, o, f);
703
+ }, s.MIN_YEAR = 1e3, s.MAX_YEAR = 3e3, s.MIN_MONTH = 1, s.MAX_MONTH = 12, s.MIN_DAY = 1, s.MAX_DAY_IN_MONTHS = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31], s.MIN_DAY_OF_WEEK = 0, s.MAX_DAY_OF_WEEK = 6, s.MIN_HOURS = 0, s.MAX_HOURS = 23, s.MIN_MINUTES = 0, s.MAX_MINUTES = 59, s.MIN_SECONDS = 0, s.MAX_SECONDS = 59, s.MIN_MILLISECONDS = 0, s.MAX_MILLISECONDS = 999, s.VERSION = "0.2.18", s.options = function(t, o) {
704
704
  if (t === r)
705
- return et;
706
- if (et.hasOwnProperty(t)) {
707
- if (n === r)
708
- return et[t];
709
- et[t] = n, t === "monthFromZero" && (s.MIN_MONTH = n ? 0 : 1, s.MAX_MONTH = n ? 11 : 12);
705
+ return x;
706
+ if (x.hasOwnProperty(t)) {
707
+ if (o === r)
708
+ return x[t];
709
+ x[t] = o, t === "monthFromZero" && (s.MIN_MONTH = o ? 0 : 1, s.MAX_MONTH = o ? 11 : 12);
710
710
  }
711
711
  return r;
712
712
  }, s.noConflict = function() {
713
- return i.tempus = c, s;
713
+ return i.tempus = A, s;
714
714
  }, s.generate = function(t) {
715
- var n, f, m, S, y, R, j, C;
716
- if (typeof t.dateFrom != "number" && (t.dateFrom instanceof T ? n = t.dateFrom.utc() : n = s(t.dateFrom, t.formatFrom).utc()), typeof t.dateTo != "number" && (t.dateTo instanceof T ? f = t.dateTo.utc() : f = s(t.dateTo, t.formatTo !== r ? t.formatTo : t.formatFrom).utc()), typeof t.period == "number" ? y = {
715
+ var o, f, m, S, y, R, v, G;
716
+ if (typeof t.dateFrom != "number" && (t.dateFrom instanceof _ ? o = t.dateFrom.utc() : o = s(t.dateFrom, t.formatFrom).utc()), typeof t.dateTo != "number" && (t.dateTo instanceof _ ? f = t.dateTo.utc() : f = s(t.dateTo, t.formatTo !== r ? t.formatTo : t.formatFrom).utc()), typeof t.period == "number" ? y = {
717
717
  year: 0,
718
718
  month: 0,
719
719
  day: 0,
@@ -734,8 +734,8 @@ https://github.com/douglascrockford/JSON-js/blob/master/json2.js`) : n(JSON.pars
734
734
  hours: t.period.hours !== r ? t.period.hours : 0,
735
735
  minutes: t.period.minutes !== r ? t.period.minutes : 0,
736
736
  seconds: t.period.seconds !== r ? t.period.seconds : 0
737
- }), t.groupBy === r ? R = t.asObject === !0 ? {} : [] : (R = [], R.push([]), j = s(n).get()[t.groupBy]), C = function(x, B, H) {
738
- return t.asObject === !0 ? t.format !== r ? x[s(B).format(t.format)] = {} : x[s(B).format("%F %H:%M:%S")] = {} : t.format !== r ? x.push(H ? null : s(B).format(t.format)) : x.push(H ? null : s(B)), x;
737
+ }), t.groupBy === r ? R = t.asObject === !0 ? {} : [] : (R = [], R.push([]), v = s(o).get()[t.groupBy]), G = function(F, B, H) {
738
+ return t.asObject === !0 ? t.format !== r ? F[s(B).format(t.format)] = {} : F[s(B).format("%F %H:%M:%S")] = {} : t.format !== r ? F.push(H ? null : s(B).format(t.format)) : F.push(H ? null : s(B)), F;
739
739
  }, t.groupBy !== r && t.fillNulls) {
740
740
  var Y = {
741
741
  year: y.year ? -y.year : r,
@@ -746,72 +746,72 @@ https://github.com/douglascrockford/JSON-js/blob/master/json2.js`) : n(JSON.pars
746
746
  seconds: y.seconds ? -y.seconds : r,
747
747
  milliseconds: y.milliseconds ? -y.milliseconds : r
748
748
  };
749
- for (m = s(n).calc(Y).utc(); s(m).get()[t.groupBy] === j; )
750
- C(R[R.length - 1], m, !0), m = s(m).calc(Y).utc();
749
+ for (m = s(o).calc(Y).utc(); s(m).get()[t.groupBy] === v; )
750
+ G(R[R.length - 1], m, !0), m = s(m).calc(Y).utc();
751
751
  if (t.groupBy === "week") {
752
- var D = s(n).dayOfWeek();
753
- for (m = s(n).dayOfWeek(0).utc(); R[0].length < D && m < n; )
754
- C(R[R.length - 1], m, !0), m = s(m).calc(y).utc();
752
+ var D = s(o).dayOfWeek();
753
+ for (m = s(o).dayOfWeek(0).utc(); R[0].length < D && m < o; )
754
+ G(R[R.length - 1], m, !0), m = s(m).calc(y).utc();
755
755
  }
756
756
  }
757
- for (; n <= f; )
758
- t.groupBy === r ? C(R, n) : s(n).get()[t.groupBy] === j ? C(R[R.length - 1], n) : (R.push([]), C(R[R.length - 1], n), j = s(n).get()[t.groupBy]), n = s(n).calc(y).utc();
757
+ for (; o <= f; )
758
+ t.groupBy === r ? G(R, o) : s(o).get()[t.groupBy] === v ? G(R[R.length - 1], o) : (R.push([]), G(R[R.length - 1], o), v = s(o).get()[t.groupBy]), o = s(o).calc(y).utc();
759
759
  if (t.groupBy !== r && t.fillNulls)
760
- for (S = s(f).calc(y).utc(); s(S).get()[t.groupBy] === j; )
761
- C(R[R.length - 1], S, !0), S = s(S).calc(y).utc();
760
+ for (S = s(f).calc(y).utc(); s(S).get()[t.groupBy] === v; )
761
+ G(R[R.length - 1], S, !0), S = s(S).calc(y).utc();
762
762
  return R;
763
763
  }, s.monthNames = function(t) {
764
764
  switch (t) {
765
765
  case "long":
766
- return U;
766
+ return I;
767
767
  default:
768
- return P;
768
+ return C;
769
769
  }
770
770
  }, s.dayNames = function(t) {
771
771
  switch (t) {
772
772
  case "long":
773
- return W;
773
+ return w;
774
774
  default:
775
- return L;
775
+ return k;
776
776
  }
777
777
  }, s.lang = function(t) {
778
778
  if (t !== r)
779
- A = t, l[A] === r && (A = "en"), U = N(), P = O(), W = p(), L = b();
779
+ l = t, h[l] === r && (l = "en"), I = T(), C = O(), w = g(), k = L();
780
780
  else
781
- return A;
781
+ return l;
782
782
  return r;
783
783
  }, s.availableLangs = function() {
784
- return Object.keys(l);
785
- }, s.registerFormat = function(t, n, f, m, S, y) {
786
- I[t] = {
787
- format: n,
784
+ return Object.keys(h);
785
+ }, s.registerFormat = function(t, o, f, m, S, y) {
786
+ b[t] = {
787
+ format: o,
788
788
  parse: f,
789
789
  minLength: m,
790
790
  maxLength: S,
791
791
  type: y
792
792
  };
793
793
  }, s.unregisterFormat = function(t) {
794
- delete I[t];
794
+ delete b[t];
795
795
  }, s.detectFormat = function(t) {
796
- var n, f, m;
797
- return n = u(t, 0), n !== "" && (m = 10), f = t.charAt(m), (f === "T" || f === " ") && (n += f, m += 1), n += h(t, m), n;
796
+ var o, f, m;
797
+ return o = c(t, 0), o !== "" && (m = 10), f = t.charAt(m), (f === "T" || f === " ") && (o += f, m += 1), o += u(t, m), o;
798
798
  }, d = {
799
- TempusDate: T
800
- }, s.classes = function(t, n) {
801
- if (n === r)
799
+ TempusDate: _
800
+ }, s.classes = function(t, o) {
801
+ if (o === r)
802
802
  return d[t];
803
- d[t] = n;
803
+ d[t] = o;
804
804
  }, s.loadTranslations = function(t) {
805
- typeof t == "object" ? l = t : typeof t == "string" && k(t, function(n) {
806
- l = n;
807
- }, function(n) {
805
+ typeof t == "object" ? h = t : typeof t == "string" && J(t, function(o) {
806
+ h = o;
807
+ }, function(o) {
808
808
  });
809
- }, A = (g.language || g.systemLanguage || g.userLanguage || "en").substr(0, 2).toLowerCase(), l[A] === r && (A = "en"), U = N(), P = O(), W = p(), L = b(), _.exports && (e = _.exports = s), e.tempus = s;
810
- }).call(Tt);
811
- })(ht, ht.exports);
812
- var Lt = ht.exports;
813
- const rt = /* @__PURE__ */ Rt(Lt);
814
- class v {
809
+ }, l = (N.language || N.systemLanguage || N.userLanguage || "en").substr(0, 2).toLowerCase(), h[l] === r && (l = "en"), I = T(), C = O(), w = g(), k = L(), p.exports && (e = p.exports = s), e.tempus = s;
810
+ }).call(Lt);
811
+ })(ut, ut.exports);
812
+ var It = ut.exports;
813
+ const rt = /* @__PURE__ */ bt(It);
814
+ class K {
815
815
  constructor(e) {
816
816
  this.callBatch = e, this.result = {}, this.errors = {}, this.limit = 50, this.canContinue = !0, this.progressCall = "", this.limitCall = "", this.progressData = "", this.progressTimer = "", this.progressDelay = 100, this.oldPercent = "no", this.chunkRate = 1, this.totalProgress = 0, this.skipList = /* @__PURE__ */ new Set();
817
817
  }
@@ -832,9 +832,9 @@ class v {
832
832
  if (!this.progressData)
833
833
  return { percent: Math.round(e), allCount: 0, allTotal: 0 };
834
834
  let r = 0, i = 0;
835
- return Object.values(this.progressData).forEach((o) => {
836
- const { total: a, count: h } = o;
837
- r += a ?? 0, i += h ?? 0;
835
+ return Object.values(this.progressData).forEach((n) => {
836
+ const { total: a, count: u } = n;
837
+ r += a ?? 0, i += u ?? 0;
838
838
  }), r ? e = i / r * 100 * this.chunkRate + this.totalProgress : i === 0 && r === 0 ? e = 100 * this.chunkRate + this.totalProgress : e = 100, { percent: Math.round(e), allCount: i, allTotal: r };
839
839
  }
840
840
  /**
@@ -845,18 +845,18 @@ class v {
845
845
  * @param {string} params.type - Тип обработки ('count' или undefined)
846
846
  */
847
847
  setProgressData({ key: e, value: r, type: i }) {
848
- const o = this.getData(r.data()), a = Array.isArray(o) ? o.length : 0;
849
- let h = r.total() || a;
850
- i === "count" && (h = a);
851
- let u = 1;
852
- o && (u = a), this.progressCall && (this.progressData || (this.progressData = {}), this.progressData[e] && this.progressData[e].count && (u += this.progressData[e].count), this.progressData[e] ? this.progressData[e].count = u : this.progressData[e] = { total: h, count: u }, this.progressTimer || (this.progressTimer = setInterval(() => {
853
- const { percent: c, allCount: s, allTotal: d } = this.progressPercent;
848
+ const n = this.getData(r.data()), a = Array.isArray(n) ? n.length : 0;
849
+ let u = r.total() || a;
850
+ i === "count" && (u = a);
851
+ let c = 1;
852
+ n && (c = a), this.progressCall && (this.progressData || (this.progressData = {}), this.progressData[e] && this.progressData[e].count && (c += this.progressData[e].count), this.progressData[e] ? this.progressData[e].count = c : this.progressData[e] = { total: u, count: c }, this.progressTimer || (this.progressTimer = setInterval(() => {
853
+ const { percent: A, allCount: s, allTotal: d } = this.progressPercent;
854
854
  (this.oldPercent === "no" || this.oldPercent < this.progressPercent.percent) && (this.progressCall({
855
855
  data: this.progressData,
856
- percent: c,
856
+ percent: A,
857
857
  allCount: s,
858
858
  allTotal: d
859
- }), this.oldPercent = this.progressPercent.percent), c >= 100 && this.clearProgressData();
859
+ }), this.oldPercent = this.progressPercent.percent), A >= 100 && this.clearProgressData();
860
860
  }, this.progressDelay)));
861
861
  }
862
862
  /**
@@ -875,27 +875,27 @@ class v {
875
875
  * @returns {Promise<void>}
876
876
  */
877
877
  callBatchWithTimeout(e, r) {
878
- return new Promise((i, o) => {
878
+ return new Promise((i, n) => {
879
879
  let a = !1;
880
- const h = 6e4;
881
- let u = !1, c = !1, s = !1, d = null, g = null;
882
- const A = async (O, p) => {
880
+ const u = 6e4;
881
+ let c = !1, A = !1, s = !1, d = null, N = null;
882
+ const l = async (O, g) => {
883
883
  if (!a) {
884
- a = !0, d && clearTimeout(d), g && clearTimeout(g);
884
+ a = !0, d && clearTimeout(d), N && clearTimeout(N);
885
885
  try {
886
886
  await Promise.resolve(r(O)), i();
887
- } catch (b) {
888
- console.error(`Error in callBatch callback (attempt ${p}):`, b), o(b);
887
+ } catch (L) {
888
+ console.error(`Error in callBatch callback (attempt ${g}):`, L), n(L);
889
889
  }
890
890
  }
891
- }, l = async () => {
891
+ }, h = async () => {
892
892
  if (!a) {
893
- a = !0, d && clearTimeout(d), g && clearTimeout(g), console.warn(
894
- `Batch request timeout after ${h}ms on both attempts. This may indicate a CORS or network error.`
893
+ a = !0, d && clearTimeout(d), N && clearTimeout(N), console.warn(
894
+ `Batch request timeout after ${u}ms on both attempts. This may indicate a CORS or network error.`
895
895
  );
896
896
  const O = {};
897
- Object.keys(e).forEach((p) => {
898
- O[p] = {
897
+ Object.keys(e).forEach((g) => {
898
+ O[g] = {
899
899
  error: () => ({
900
900
  ex: {
901
901
  error: "TIMEOUT",
@@ -908,26 +908,26 @@ class v {
908
908
  });
909
909
  try {
910
910
  await Promise.resolve(r(O)), i();
911
- } catch (p) {
912
- console.error("Error in timeout callback:", p), i();
911
+ } catch (g) {
912
+ console.error("Error in timeout callback:", g), i();
913
913
  }
914
914
  }
915
- }, N = (O) => {
915
+ }, T = (O) => {
916
916
  try {
917
- this.callBatch(e, async (p) => {
918
- O === 1 && !u && !a ? (u = !0, await A(p, 1)) : O === 2 && !s && !a && (s = !0, await A(p, 2));
917
+ this.callBatch(e, async (g) => {
918
+ O === 1 && !c && !a ? (c = !0, await l(g, 1)) : O === 2 && !s && !a && (s = !0, await l(g, 2));
919
919
  });
920
- } catch (p) {
921
- a || console.error(`Error calling callBatch (attempt ${O}):`, p);
920
+ } catch (g) {
921
+ a || console.error(`Error calling callBatch (attempt ${O}):`, g);
922
922
  }
923
923
  };
924
- N(1), d = setTimeout(async () => {
925
- !u && !a && !c && (console.warn(
926
- `First batch request attempt timeout after ${h}ms. Starting second attempt...`
927
- ), c = !0, N(2), g = setTimeout(async () => {
928
- !u && !s && !a && await l();
929
- }, h));
930
- }, h);
924
+ T(1), d = setTimeout(async () => {
925
+ !c && !a && !A && (console.warn(
926
+ `First batch request attempt timeout after ${u}ms. Starting second attempt...`
927
+ ), A = !0, T(2), N = setTimeout(async () => {
928
+ !c && !s && !a && await h();
929
+ }, u));
930
+ }, u);
931
931
  });
932
932
  }
933
933
  /**
@@ -949,24 +949,24 @@ class v {
949
949
  */
950
950
  async batch(e, r, i) {
951
951
  this.progressTimer && this.clearProgressData(), r && (this.progressCall = r), i && (this.limitCall = i), this.canContinue = !0, this.result = {}, this.errors = {};
952
- const o = {};
952
+ const n = {};
953
953
  this.chunkRate = (1 / Math.ceil(Object.keys(e).length / this.limit)).toFixed(5);
954
- let a = {}, h = 0;
955
- for (const [u, c] of Object.entries(e)) {
954
+ let a = {}, u = 0;
955
+ for (const [c, A] of Object.entries(e)) {
956
956
  if (!this.canContinue)
957
957
  break;
958
- const s = this.arrayChunk(c);
958
+ const s = this.arrayChunk(A);
959
959
  if (!s) {
960
- h++;
960
+ u++;
961
961
  continue;
962
962
  }
963
- a[u] = s, (Object.keys(a).length >= 50 || h + 1 === Object.keys(e).length) && (await this.batchChunk(a), Object.entries(this.result).forEach(([d, g]) => {
964
- o[d] = g;
963
+ a[c] = s, (Object.keys(a).length >= 50 || u + 1 === Object.keys(e).length) && (await this.batchChunk(a), Object.entries(this.result).forEach(([d, N]) => {
964
+ n[d] = N;
965
965
  }), this.totalProgress = Math.round(
966
- h / Object.keys(e).length * 100
967
- ), a = {}), h++;
966
+ u / Object.keys(e).length * 100
967
+ ), a = {}), u++;
968
968
  }
969
- return Object.entries(this.errors).length && (o.errorsList = this.errors), r && r({ percent: 100 }), Promise.resolve(o);
969
+ return Object.entries(this.errors).length && (n.errorsList = this.errors), r && r({ percent: 100 }), Promise.resolve(n);
970
970
  }
971
971
  /**
972
972
  * Аналогично this.batch, но возвращает количество элементов
@@ -980,24 +980,24 @@ class v {
980
980
  */
981
981
  async batchTotalCount(e, r, i) {
982
982
  this.progressTimer && this.clearProgressData(), r && (this.progressCall = r), i && (this.limitCall = i), this.canContinue = !0, this.result = {}, this.errors = {};
983
- const o = {};
983
+ const n = {};
984
984
  this.chunkRate = (1 / Math.ceil(Object.keys(e).length / this.limit)).toFixed(5);
985
- let a = {}, h = 0;
986
- for (const [u, c] of Object.entries(e)) {
985
+ let a = {}, u = 0;
986
+ for (const [c, A] of Object.entries(e)) {
987
987
  if (!this.canContinue)
988
988
  break;
989
- const s = this.arrayChunk(c);
989
+ const s = this.arrayChunk(A);
990
990
  if (!s) {
991
- h++;
991
+ u++;
992
992
  continue;
993
993
  }
994
- a[u] = s, (Object.keys(a).length >= 50 || h + 1 === Object.keys(e).length) && (await this.batchChunk(a, "count"), Object.entries(this.result).forEach(([d, g]) => {
995
- o[d] = g;
994
+ a[c] = s, (Object.keys(a).length >= 50 || u + 1 === Object.keys(e).length) && (await this.batchChunk(a, "count"), Object.entries(this.result).forEach(([d, N]) => {
995
+ n[d] = N;
996
996
  }), this.totalProgress = Math.round(
997
- h / Object.keys(e).length * 100
998
- ), a = {}), h++;
997
+ u / Object.keys(e).length * 100
998
+ ), a = {}), u++;
999
999
  }
1000
- return Object.entries(this.errors).length && (o.errorsList = this.errors), r && r({ percent: 100 }), Promise.resolve(o);
1000
+ return Object.entries(this.errors).length && (n.errorsList = this.errors), r && r({ percent: 100 }), Promise.resolve(n);
1001
1001
  }
1002
1002
  /** Валидация запросов
1003
1003
  * Чтобы не перегружать Битрикс сервера запросами с start - добавляем нужные поля в параметры
@@ -1015,9 +1015,9 @@ class v {
1015
1015
  };
1016
1016
  else {
1017
1017
  r === "tasks.task.list" ? (i.order || (i.order = {}), i.order.ID = "asc") : r === "user.get" ? (i.sort || (i.sort = "ID"), i.order || (i.order = "ASC")) : i.order = { ID: "ASC", id: "ASC" }, Array.isArray(i.select) && !i.select.includes("ID") && i.select.push("ID");
1018
- const o = r === "user.get" ? i.FILTER : i.filter;
1019
- typeof o == "object" && o !== null && !Array.isArray(o) && Object.entries(o).forEach(([a, h]) => {
1020
- (i.start === void 0 || i.start !== -1) && ["id", "ID"].includes(a) && (typeof h == "string" || Array.isArray(h) && h.length <= 50) && (i.start = -1);
1018
+ const n = r === "user.get" ? i.FILTER : i.filter;
1019
+ typeof n == "object" && n !== null && !Array.isArray(n) && Object.entries(n).forEach(([a, u]) => {
1020
+ (i.start === void 0 || i.start !== -1) && ["id", "ID"].includes(a) && (typeof u == "string" || Array.isArray(u) && u.length <= 50) && (i.start = -1);
1021
1021
  });
1022
1022
  }
1023
1023
  r === "crm.type.list" && i.order && delete i.order.ID;
@@ -1027,8 +1027,8 @@ class v {
1027
1027
  i = [{ ID: "ASC" }, [""], [""], ["ID"]];
1028
1028
  else {
1029
1029
  Array.isArray(i[0]) && (i[0] = {});
1030
- const [o, a, h, u] = i;
1031
- o.ID = "ASC", u[0] !== "" && u.includes("ID") || u.push("ID");
1030
+ const [n, a, u, c] = i;
1031
+ n.ID = "ASC", c[0] !== "" && c.includes("ID") || c.push("ID");
1032
1032
  }
1033
1033
  return { method: r, params: i };
1034
1034
  }
@@ -1040,42 +1040,44 @@ class v {
1040
1040
  */
1041
1041
  async batchChunk(e, r) {
1042
1042
  return new Promise((i) => {
1043
- const o = [];
1043
+ const n = [];
1044
1044
  let a;
1045
- this.callBatchWithTimeout(e, async (h) => {
1046
- var u, c, s, d, g, A, l;
1047
- for (const [N, O] of Object.entries(h)) {
1045
+ this.callBatchWithTimeout(e, async (u) => {
1046
+ var c, A, s, d, N, l, h;
1047
+ for (const [T, O] of Object.entries(u)) {
1048
1048
  if (!this.canContinue)
1049
1049
  return;
1050
- if (O.error())
1051
- switch (this.errors[N] = ((c = (u = O.error()) == null ? void 0 : u.ex) == null ? void 0 : c.error) ?? ((d = (s = O.error()) == null ? void 0 : s.ex) == null ? void 0 : d.error_description) ?? ((g = O.error()) == null ? void 0 : g.toString()) ?? "Неизвестная ошибка", a = !0, ((l = (A = O.error()) == null ? void 0 : A.ex) == null ? void 0 : l.error) ?? "") {
1050
+ if (O.error()) {
1051
+ const k = (A = (c = O.error()) == null ? void 0 : c.ex) == null ? void 0 : A.error, J = (d = (s = O.error()) == null ? void 0 : s.ex) == null ? void 0 : d.error_description;
1052
+ switch (this.errors[T] = k && k.trim() || J && J.trim() || ((N = O.error()) == null ? void 0 : N.toString()) || "Неизвестная ошибка", a = !0, ((h = (l = O.error()) == null ? void 0 : l.ex) == null ? void 0 : h.error) ?? "") {
1052
1053
  case "OPERATION_TIME_LIMIT":
1053
- this.skipList.add(e[N].method), this.limitCall && this.limitCall(N);
1054
+ this.skipList.add(e[T].method), this.limitCall && this.limitCall(T);
1054
1055
  break;
1055
1056
  case "ACCESS_DENIED":
1056
- this.skipList.add(e[N].method);
1057
+ this.skipList.add(e[T].method);
1057
1058
  break;
1058
1059
  case "TIMEOUT":
1059
- let k = e[N], I = "";
1060
- Array.isArray(k) ? [I] = k : k != null && k.method && (I = k.method), I && this.skipList.add(I), this.limitCall && this.limitCall(N);
1060
+ let x = e[T], _ = "";
1061
+ Array.isArray(x) ? [_] = x : x != null && x.method && (_ = x.method), _ && this.skipList.add(_), this.limitCall && this.limitCall(T);
1061
1062
  break;
1062
1063
  }
1063
- const p = this.getData(O.data()), b = Array.isArray(p) ? p.length : 0, U = typeof O.total == "function" && O.total() !== void 0, P = U ? O.total() : b;
1064
- r === "count" ? this.result[N] ? this.result[N] += b : this.result[N] = P : this.result[N] = p, this.setProgressData({ key: N, value: O, type: r });
1065
- const W = r === "count" ? !U && b === this.limit : P > this.limit && P > b;
1066
- if (!this.canContinue || W) {
1067
- let L = e[N];
1068
- if (Array.isArray(L)) {
1069
- const [k, I = {}] = L;
1070
- L = [k, I];
1064
+ }
1065
+ const g = this.getData(O.data()), L = Array.isArray(g) ? g.length : 0, I = typeof O.total == "function" && O.total() !== void 0, C = I ? O.total() : L;
1066
+ r === "count" ? this.result[T] ? this.result[T] += L : this.result[T] = C : this.result[T] = g, this.setProgressData({ key: T, value: O, type: r });
1067
+ const w = r === "count" ? !I && L === this.limit : C > this.limit && C > L;
1068
+ if (!this.canContinue || w) {
1069
+ let k = e[T];
1070
+ if (Array.isArray(k)) {
1071
+ const [J, b = {}] = k;
1072
+ k = [J, b];
1071
1073
  } else {
1072
- const { method: k, params: I = {} } = L;
1073
- L = [k, I];
1074
+ const { method: J, params: b = {} } = k;
1075
+ k = [J, b];
1074
1076
  }
1075
- o.push([N, L, P]);
1077
+ n.push([T, k, C]);
1076
1078
  }
1077
1079
  }
1078
- a > 0 && this.errorLogger(), o.length ? await this.batchPayload(o, r).then(
1080
+ a > 0 && this.errorLogger(), n.length ? await this.batchPayload(n, r).then(
1079
1081
  () => i(this.result)
1080
1082
  ) : i(this.result);
1081
1083
  });
@@ -1086,80 +1088,81 @@ class v {
1086
1088
  * @param {String} type - Тип обработки результатов ('count' или undefined)
1087
1089
  */
1088
1090
  async batchPayload(e, r) {
1089
- const i = /* @__PURE__ */ new Map(), o = (c, s, d, g) => {
1090
- let A = "ID";
1091
- this.result[c][this.result[c].length - 1].ID || (A = "id");
1092
- let l = `${A}`;
1093
- if (JSON.stringify(g[1]).toLocaleLowerCase().includes('"id":"desc"') ? l = "<" + l : l = ">" + l, s === 1 || d.length === 0)
1091
+ const i = /* @__PURE__ */ new Map(), n = (A, s, d, N) => {
1092
+ let l = "ID";
1093
+ this.result[A][this.result[A].length - 1].ID || (l = "id");
1094
+ let h = `${l}`;
1095
+ if (JSON.stringify(N[1]).toLocaleLowerCase().includes('"id":"desc"') ? h = "<" + h : h = ">" + h, s === 1 || d.length === 0)
1094
1096
  return {
1095
- field: l,
1096
- id: this.result[c][this.result[c].length - 1][A]
1097
+ field: h,
1098
+ id: this.result[A][this.result[A].length - 1][l]
1097
1099
  };
1098
1100
  let O = "";
1099
- const [p, b] = g;
1100
- return (p === "tasks.task.list" || p === "task.item.list") && (O = "[tasks]"), ["crm.item.list", "crm.stagehistory.list"].includes(p) && (O = "[items]"), p === "crm.type.list" && (O = "[types]"), p === "socialnetwork.api.workgroup.list" && (O = "[workgroups]"), {
1101
- field: l,
1102
- id: `$result[${[c, s - 1].join("__")}]${O}[49][${A}]`
1101
+ const [g, L] = N;
1102
+ return (g === "tasks.task.list" || g === "task.item.list") && (O = "[tasks]"), ["crm.item.list", "crm.stagehistory.list"].includes(g) && (O = "[items]"), g === "crm.type.list" && (O = "[types]"), g === "socialnetwork.api.workgroup.list" && (O = "[workgroups]"), {
1103
+ field: h,
1104
+ id: `$result[${[A, s - 1].join("__")}]${O}[49][${l}]`
1103
1105
  };
1104
- }, a = (c, s) => {
1105
- const [d, g] = c;
1106
- let A = JSON.parse(JSON.stringify(g)), l;
1106
+ }, a = (A, s) => {
1107
+ const [d, N] = A;
1108
+ let l = JSON.parse(JSON.stringify(N)), h;
1107
1109
  if (d === "task.item.list") {
1108
- A = [...A];
1109
- const [N, O, p, b] = A;
1110
- return O[s.field] = s.id, [d, A];
1110
+ l = [...l];
1111
+ const [T, O, g, L] = l;
1112
+ return O[s.field] = s.id, [d, l];
1111
1113
  }
1112
- return ["user.get"].includes(d) || A.FILTER ? (A.FILTER || (A.FILTER = {}), l = A.FILTER) : (A.filter || (A.filter = {}), l = A.filter), [
1114
+ return ["user.get"].includes(d) || l.FILTER ? (l.FILTER || (l.FILTER = {}), h = l.FILTER) : (l.filter || (l.filter = {}), h = l.filter), [
1113
1115
  "socialnetwork.api.workgroup.list",
1114
1116
  "tasks.task.list"
1115
- ].includes(d) ? l[">ID"] = s.id : l[s.field] = s.id, [d, { ...A, start: -1 }];
1116
- }, h = (c) => {
1117
- Object.entries(c).forEach(([s, d]) => {
1118
- var l, N, O, p, b, U, P;
1119
- const [g] = s.split("__"), A = this.getData(d.data());
1120
- if (Array.isArray(A) && (r === "count" ? this.result[g] += A.length : this.result[g].push(...A)), d.error()) {
1121
- this.errors[g] = ((N = (l = d.error()) == null ? void 0 : l.ex) == null ? void 0 : N.error) ?? ((p = (O = d.error()) == null ? void 0 : O.ex) == null ? void 0 : p.error_description) ?? ((b = d.error()) == null ? void 0 : b.toString()) ?? "Неизвестная ошибка";
1122
- const W = ((P = (U = d.error()) == null ? void 0 : U.ex) == null ? void 0 : P.error) ?? "", L = i.get(g);
1123
- switch (W) {
1117
+ ].includes(d) ? h[">ID"] = s.id : h[s.field] = s.id, [d, { ...l, start: -1 }];
1118
+ }, u = (A) => {
1119
+ Object.entries(A).forEach(([s, d]) => {
1120
+ var h, T, O, g, L, I, C;
1121
+ const [N] = s.split("__"), l = this.getData(d.data());
1122
+ if (Array.isArray(l) && (r === "count" ? this.result[N] += l.length : this.result[N].push(...l)), d.error()) {
1123
+ const w = (T = (h = d.error()) == null ? void 0 : h.ex) == null ? void 0 : T.error, k = (g = (O = d.error()) == null ? void 0 : O.ex) == null ? void 0 : g.error_description;
1124
+ this.errors[N] = w && w.trim() || k && k.trim() || ((L = d.error()) == null ? void 0 : L.toString()) || "Неизвестная ошибка";
1125
+ const J = ((C = (I = d.error()) == null ? void 0 : I.ex) == null ? void 0 : C.error) ?? "", b = i.get(N);
1126
+ switch (J) {
1124
1127
  case "OPERATION_TIME_LIMIT":
1125
- L && (this.skipList.add(L), this.limitCall && this.limitCall(g));
1128
+ b && (this.skipList.add(b), this.limitCall && this.limitCall(N));
1126
1129
  break;
1127
1130
  case "QUERY_LIMIT_EXCEEDED":
1128
1131
  this.canContinue = !1;
1129
1132
  break;
1130
1133
  case "ACCESS_DENIED":
1131
- L && this.skipList.add(L);
1134
+ b && this.skipList.add(b);
1132
1135
  break;
1133
1136
  case "TIMEOUT":
1134
- L && (this.skipList.add(L), this.limitCall && this.limitCall(g));
1137
+ b && (this.skipList.add(b), this.limitCall && this.limitCall(N));
1135
1138
  break;
1136
1139
  }
1137
1140
  }
1138
- this.setProgressData({ key: g, value: d, type: r });
1141
+ this.setProgressData({ key: N, value: d, type: r });
1139
1142
  });
1140
1143
  };
1141
- let u = [];
1142
- for await (const [c, s, d] of e) {
1144
+ let c = [];
1145
+ for await (const [A, s, d] of e) {
1143
1146
  if (!this.canContinue)
1144
1147
  return;
1145
- const [g] = s;
1146
- if (i.set(c, g), this.skipList.has(g))
1148
+ const [N] = s;
1149
+ if (i.set(A, N), this.skipList.has(N))
1147
1150
  continue;
1148
- let A = 1;
1149
- for (; d > A * 50 && !this.skipList.has(g); ) {
1150
- const l = [c, A].join("__"), N = o(c, A, u, s);
1151
- u.push([l, a(s, N)]), u.length % 50 === 0 && (await this.callBatchWithTimeout(
1152
- Object.fromEntries(u),
1151
+ let l = 1;
1152
+ for (; d > l * 50 && !this.skipList.has(N); ) {
1153
+ const h = [A, l].join("__"), T = n(A, l, c, s);
1154
+ c.push([h, a(s, T)]), c.length % 50 === 0 && (await this.callBatchWithTimeout(
1155
+ Object.fromEntries(c),
1153
1156
  (O) => {
1154
- h(O);
1157
+ u(O);
1155
1158
  }
1156
- ), u = [], await this.delay()), A++;
1159
+ ), c = [], await this.delay()), l++;
1157
1160
  }
1158
1161
  }
1159
- u.length && (await this.callBatchWithTimeout(
1160
- Object.fromEntries(u),
1161
- (c) => {
1162
- h(c);
1162
+ c.length && (await this.callBatchWithTimeout(
1163
+ Object.fromEntries(c),
1164
+ (A) => {
1165
+ u(A);
1163
1166
  }
1164
1167
  ), await this.delay());
1165
1168
  }
@@ -1172,10 +1175,10 @@ class v {
1172
1175
  }), console.groupEnd();
1173
1176
  }
1174
1177
  }
1175
- var K;
1178
+ var Z;
1176
1179
  class mt {
1177
1180
  constructor() {
1178
- w(this, K, {});
1181
+ U(this, Z, {});
1179
1182
  }
1180
1183
  /**
1181
1184
  * Получить случайный хеш-код длиной 8 символов
@@ -1192,7 +1195,7 @@ class mt {
1192
1195
  createHash(e) {
1193
1196
  let r = "abcdefghijklmnopqrstuvwxyz0123456789", i = "";
1194
1197
  e = e || 6;
1195
- for (let o = 0; o < e; o++)
1198
+ for (let n = 0; n < e; n++)
1196
1199
  i += r.charAt(Math.floor(Math.random() * r.length));
1197
1200
  return i;
1198
1201
  }
@@ -1204,7 +1207,7 @@ class mt {
1204
1207
  * @param {Function} params.action - Функция для выполнения
1205
1208
  */
1206
1209
  actionFilter({ keyTimer: e, duration: r = 10, action: i }) {
1207
- E(this, K)[e] && (clearTimeout(E(this, K)[e]), E(this, K)[e] = null), i && (E(this, K)[e] = setTimeout(() => {
1210
+ E(this, Z)[e] && (clearTimeout(E(this, Z)[e]), E(this, Z)[e] = null), i && (E(this, Z)[e] = setTimeout(() => {
1208
1211
  i();
1209
1212
  }, r));
1210
1213
  }
@@ -1236,61 +1239,61 @@ class mt {
1236
1239
  * @param {string} filename - Имя файла без расширения
1237
1240
  */
1238
1241
  downloadFileJson(e, r) {
1239
- let i = new Blob([JSON.stringify(e)], { type: "application/json" }), o = URL.createObjectURL(i), a = document.createElement("a");
1240
- a.style.display = "none", a.href = o, a.download = `${r}.json`, document.body.appendChild(a), a.click(), setTimeout(() => {
1241
- document.body.removeChild(a), URL.revokeObjectURL(o);
1242
+ let i = new Blob([JSON.stringify(e)], { type: "application/json" }), n = URL.createObjectURL(i), a = document.createElement("a");
1243
+ a.style.display = "none", a.href = n, a.download = `${r}.json`, document.body.appendChild(a), a.click(), setTimeout(() => {
1244
+ document.body.removeChild(a), URL.revokeObjectURL(n);
1242
1245
  }, 200);
1243
1246
  }
1244
1247
  }
1245
- K = new WeakMap();
1246
- const ct = new mt();
1247
- var J, Q, Z, z, G, V, q, st, dt, $, ut, it, gt, nt, Nt, ot, Ot;
1248
- class bt {
1248
+ Z = new WeakMap();
1249
+ const ht = new mt();
1250
+ var j, Q, z, q, P, V, $, st, gt, tt, ft, it, Nt, nt, Ot, ot, pt;
1251
+ class St {
1249
1252
  constructor() {
1250
- w(this, st);
1253
+ U(this, st);
1251
1254
  /** Вывод ошибок логера
1252
1255
  * @param {'entity'} type - тип ошибки
1253
1256
  */
1254
- w(this, $);
1255
- w(this, it);
1256
- w(this, nt);
1257
- w(this, ot);
1258
- w(this, J, "logger");
1259
- w(this, Q, !1);
1260
- w(this, Z, /* @__PURE__ */ new Map());
1261
- w(this, z, {});
1262
- w(this, G, null);
1263
- w(this, V, !1);
1264
- w(this, q, !1);
1257
+ U(this, tt);
1258
+ U(this, it);
1259
+ U(this, nt);
1260
+ U(this, ot);
1261
+ U(this, j, "logger");
1262
+ U(this, Q, !1);
1263
+ U(this, z, /* @__PURE__ */ new Map());
1264
+ U(this, q, {});
1265
+ U(this, P, null);
1266
+ U(this, V, !1);
1267
+ U(this, $, !1);
1265
1268
  /** Очистка хранилища элементов старше 'N' месяцев */
1266
1269
  M(this, "periodClear", 3);
1267
- X(this, st, dt).call(this);
1270
+ W(this, st, gt).call(this);
1268
1271
  }
1269
1272
  /** Инициализация логера */
1270
1273
  async init() {
1271
1274
  try {
1272
- let e = new v(BX24.callBatch), { entityList: r } = await e.batch({
1275
+ let e = new K(BX24.callBatch), { entityList: r } = await e.batch({
1273
1276
  entityList: { method: "entity.get" }
1274
1277
  });
1275
1278
  if (r && Array.isArray(r))
1276
1279
  if (r.find(
1277
- (o) => o.ENTITY == E(this, J)
1280
+ (n) => n.ENTITY == E(this, j)
1278
1281
  ))
1279
- F(this, Q, !0);
1282
+ X(this, Q, !0);
1280
1283
  else {
1281
- let { entityAdd: o } = await e.batch({
1284
+ let { entityAdd: n } = await e.batch({
1282
1285
  entityAdd: {
1283
1286
  method: "entity.add",
1284
1287
  params: {
1285
- ENTITY: E(this, J),
1286
- NAME: E(this, J),
1288
+ ENTITY: E(this, j),
1289
+ NAME: E(this, j),
1287
1290
  ACCESS: { AU: "X" }
1288
1291
  }
1289
1292
  }
1290
1293
  });
1291
- o && F(this, Q, !0);
1294
+ n && X(this, Q, !0);
1292
1295
  }
1293
- return X(this, nt, Nt).call(this).catch((i) => {
1296
+ return W(this, nt, Ot).call(this).catch((i) => {
1294
1297
  console.error("Ошибка при проверке периода очистки:", i);
1295
1298
  }), E(this, Q);
1296
1299
  } catch (e) {
@@ -1308,19 +1311,19 @@ class bt {
1308
1311
  */
1309
1312
  start({ type: e, data: r }) {
1310
1313
  if (!E(this, Q))
1311
- return X(this, $, ut).call(this, "entity"), null;
1314
+ return W(this, tt, ft).call(this, "entity"), null;
1312
1315
  if (!e || !r)
1313
1316
  return console.error("Невалидные данные для логирования:", { type: e, data: r }), null;
1314
- const i = ct.hash, o = {
1317
+ const i = ht.hash, n = {
1315
1318
  type: e,
1316
1319
  data: r,
1317
- userInfo: E(this, z),
1320
+ userInfo: E(this, q),
1318
1321
  errorList: {},
1319
1322
  status: "",
1320
1323
  answer: null,
1321
1324
  date: (/* @__PURE__ */ new Date()).getTime()
1322
1325
  };
1323
- return E(this, Z).set(i, o), F(this, q, !0), i;
1326
+ return E(this, z).set(i, n), X(this, $, !0), i;
1324
1327
  }
1325
1328
  /**
1326
1329
  * @param {{
@@ -1329,20 +1332,20 @@ class bt {
1329
1332
  * status: 'success'|'fail'|'fail-runtime',
1330
1333
  * answer: { [key]: unknown } }}
1331
1334
  */
1332
- async stop({ key: e, errorList: r, status: i, answer: o }) {
1333
- var h;
1334
- if (!E(this, q))
1335
+ async stop({ key: e, errorList: r, status: i, answer: n }) {
1336
+ var u;
1337
+ if (!E(this, $))
1335
1338
  return;
1336
1339
  if (!E(this, Q)) {
1337
- X(this, $, ut).call(this, "entity");
1340
+ W(this, tt, ft).call(this, "entity");
1338
1341
  return;
1339
1342
  }
1340
- let a = E(this, Z).get(e);
1343
+ let a = E(this, z).get(e);
1341
1344
  if (!a) {
1342
1345
  console.error(`Не найдены данные логирования для ключа: ${e}`);
1343
1346
  return;
1344
1347
  }
1345
- r && (a.errorList = r), i && (a.status = i), o && (a.answer = o), await X(this, it, gt).call(this), (h = a == null ? void 0 : a.data) != null && h.updateList && F(this, V, !0), F(this, q, !1);
1348
+ r && (a.errorList = r), i && (a.status = i), n && (a.answer = n), await W(this, it, Nt).call(this), (u = a == null ? void 0 : a.data) != null && u.updateList && X(this, V, !0), X(this, $, !1);
1346
1349
  }
1347
1350
  /**
1348
1351
  * @param { ({percent}:{percent:number})=>{} } progressCall - коллбэк
@@ -1350,35 +1353,35 @@ class bt {
1350
1353
  async getEntityList(e) {
1351
1354
  var r;
1352
1355
  try {
1353
- if ((r = E(this, G)) != null && r.length && !E(this, V))
1354
- return E(this, G);
1355
- let i = new v(BX24.callBatch), { entityList: o } = await i.batch(
1356
+ if ((r = E(this, P)) != null && r.length && !E(this, V))
1357
+ return E(this, P);
1358
+ let i = new K(BX24.callBatch), { entityList: n } = await i.batch(
1356
1359
  {
1357
1360
  entityList: {
1358
1361
  method: "entity.item.get",
1359
1362
  params: {
1360
- ENTITY: E(this, J),
1363
+ ENTITY: E(this, j),
1361
1364
  SORT: { ID: "DESC" }
1362
1365
  }
1363
1366
  }
1364
1367
  },
1365
1368
  e
1366
1369
  );
1367
- return !o || !Array.isArray(o) ? (console.warn("Получен невалидный список записей"), []) : (o = o.map((a) => {
1370
+ return !n || !Array.isArray(n) ? (console.warn("Получен невалидный список записей"), []) : (n = n.map((a) => {
1368
1371
  try {
1369
- const { ID: h, DATE_CREATE: u, DETAIL_TEXT: c } = a;
1372
+ const { ID: u, DATE_CREATE: c, DETAIL_TEXT: A } = a;
1370
1373
  return {
1371
- ...JSON.parse(c),
1372
- id: h,
1373
- dateCreate: u
1374
+ ...JSON.parse(A),
1375
+ id: u,
1376
+ dateCreate: c
1374
1377
  };
1375
- } catch (h) {
1378
+ } catch (u) {
1376
1379
  return console.error(
1377
1380
  `Ошибка парсинга записи ${a.ID}:`,
1378
- h
1381
+ u
1379
1382
  ), null;
1380
1383
  }
1381
- }).filter((a) => a !== null), F(this, V, !1), F(this, G, o), o);
1384
+ }).filter((a) => a !== null), X(this, V, !1), X(this, P, n), n);
1382
1385
  } catch (i) {
1383
1386
  return console.error("Ошибка при получении списка записей:", i), [];
1384
1387
  }
@@ -1386,11 +1389,11 @@ class bt {
1386
1389
  /** Выгрузка всех данных из хранилища в JSON-файл */
1387
1390
  async downAllEntityJson() {
1388
1391
  try {
1389
- if (E(this, G) || await this.getEntityList(), !E(this, G) || E(this, G).length === 0)
1392
+ if (E(this, P) || await this.getEntityList(), !E(this, P) || E(this, P).length === 0)
1390
1393
  return console.warn("Нет данных для выгрузки"), !1;
1391
1394
  let e = rt().format("%Y-%m-%d");
1392
- return ct.downloadFileJson(
1393
- E(this, G),
1395
+ return ht.downloadFileJson(
1396
+ E(this, P),
1394
1397
  `sdklogger-entity-data__${e}`
1395
1398
  ), !0;
1396
1399
  } catch (e) {
@@ -1398,65 +1401,65 @@ class bt {
1398
1401
  }
1399
1402
  }
1400
1403
  }
1401
- J = new WeakMap(), Q = new WeakMap(), Z = new WeakMap(), z = new WeakMap(), G = new WeakMap(), V = new WeakMap(), q = new WeakMap(), st = new WeakSet(), dt = async function() {
1404
+ j = new WeakMap(), Q = new WeakMap(), z = new WeakMap(), q = new WeakMap(), P = new WeakMap(), V = new WeakMap(), $ = new WeakMap(), st = new WeakSet(), gt = async function() {
1402
1405
  try {
1403
- const e = new v(BX24.callBatch), r = BX24.isAdmin(), { curUser: i } = await e.batch({
1406
+ const e = new K(BX24.callBatch), r = BX24.isAdmin(), { curUser: i } = await e.batch({
1404
1407
  curUser: { method: "user.current" }
1405
1408
  });
1406
- F(this, z, { isAdmin: r, curUser: i });
1409
+ X(this, q, { isAdmin: r, curUser: i });
1407
1410
  } catch (e) {
1408
1411
  console.error(
1409
1412
  "Ошибка при получении информации о пользователе:",
1410
1413
  e
1411
- ), F(this, z, { isAdmin: !1, curUser: null });
1414
+ ), X(this, q, { isAdmin: !1, curUser: null });
1412
1415
  }
1413
- }, $ = new WeakSet(), ut = function(e) {
1414
- e == "entity" && ct.actionFilter({
1416
+ }, tt = new WeakSet(), ft = function(e) {
1417
+ e == "entity" && ht.actionFilter({
1415
1418
  keyTimer: "error.logger.entity",
1416
1419
  duration: 500,
1417
1420
  action: () => {
1418
1421
  console.error("Хранилище для логгера не инициализировано");
1419
1422
  }
1420
1423
  });
1421
- }, it = new WeakSet(), gt = async function() {
1424
+ }, it = new WeakSet(), Nt = async function() {
1422
1425
  try {
1423
- let e = {}, r = new v(BX24.callBatch);
1424
- for (let [i, o] of E(this, Z).entries())
1425
- if (o.status) {
1426
- const a = JSON.stringify(o);
1426
+ let e = {}, r = new K(BX24.callBatch);
1427
+ for (let [i, n] of E(this, z).entries())
1428
+ if (n.status) {
1429
+ const a = JSON.stringify(n);
1427
1430
  e[i] = {
1428
1431
  method: "entity.item.add",
1429
1432
  params: {
1430
- ENTITY: E(this, J),
1431
- NAME: E(this, J),
1433
+ ENTITY: E(this, j),
1434
+ NAME: E(this, j),
1432
1435
  DETAIL_TEXT: a
1433
1436
  }
1434
1437
  };
1435
1438
  }
1436
1439
  if (Object.keys(e).length) {
1437
- let i = await r.batch(e), { errors: o } = r;
1438
- for (let [a, h] of Object.entries({ ...i, ...o }))
1439
- E(this, Z).delete(a);
1440
+ let i = await r.batch(e), { errors: n } = r;
1441
+ for (let [a, u] of Object.entries({ ...i, ...n }))
1442
+ E(this, z).delete(a);
1440
1443
  return !0;
1441
1444
  }
1442
1445
  return !1;
1443
1446
  } catch (e) {
1444
1447
  return console.error("Ошибка при добавлении записей в хранилище:", e), !1;
1445
1448
  }
1446
- }, nt = new WeakSet(), Nt = async function() {
1449
+ }, nt = new WeakSet(), Ot = async function() {
1447
1450
  try {
1448
- let e = new v(BX24.callBatch), { serverTime: r } = await e.batch({
1451
+ let e = new K(BX24.callBatch), { serverTime: r } = await e.batch({
1449
1452
  serverTime: { method: "server.time" }
1450
1453
  });
1451
1454
  if (!r) {
1452
1455
  console.error("Не удалось получить время сервера");
1453
1456
  return;
1454
1457
  }
1455
- if (E(this, G) || await this.getEntityList(), !E(this, G) || E(this, G).length === 0)
1458
+ if (E(this, P) || await this.getEntityList(), !E(this, P) || E(this, P).length === 0)
1456
1459
  return;
1457
- let i = E(this, G).filter((o) => {
1460
+ let i = E(this, P).filter((n) => {
1458
1461
  try {
1459
- let { dateCreate: a } = o;
1462
+ let { dateCreate: a } = n;
1460
1463
  return a ? rt(new Date(a)).between(
1461
1464
  rt(new Date(r)),
1462
1465
  "month"
@@ -1467,34 +1470,34 @@ J = new WeakMap(), Q = new WeakMap(), Z = new WeakMap(), z = new WeakMap(), G =
1467
1470
  });
1468
1471
  i.length > 0 && (console.log(
1469
1472
  `Найдено ${i.length} записей для очистки (старше ${this.periodClear} месяцев)`
1470
- ), await X(this, ot, Ot).call(this, i));
1473
+ ), await W(this, ot, pt).call(this, i));
1471
1474
  } catch (e) {
1472
1475
  console.error("Ошибка при проверке периода очистки:", e);
1473
1476
  }
1474
- }, ot = new WeakSet(), Ot = async function(e) {
1477
+ }, ot = new WeakSet(), pt = async function(e) {
1475
1478
  try {
1476
1479
  if (!e || e.length === 0)
1477
1480
  return !1;
1478
- let r = new v(BX24.callBatch), i = e.filter((a) => a && a.id).map((a) => {
1479
- let { id: h } = a;
1481
+ let r = new K(BX24.callBatch), i = e.filter((a) => a && a.id).map((a) => {
1482
+ let { id: u } = a;
1480
1483
  return {
1481
1484
  method: "entity.item.delete",
1482
1485
  params: {
1483
- ENTITY: E(this, J),
1484
- ID: h
1486
+ ENTITY: E(this, j),
1487
+ ID: u
1485
1488
  }
1486
1489
  };
1487
1490
  });
1488
1491
  if (i.length === 0)
1489
1492
  return !1;
1490
- const o = await r.batch(i);
1491
- return console.log(`Успешно удалено ${i.length} записей`), F(this, V, !0), o;
1493
+ const n = await r.batch(i);
1494
+ return console.log(`Успешно удалено ${i.length} записей`), X(this, V, !0), n;
1492
1495
  } catch (r) {
1493
1496
  return console.error("Ошибка при очистке устаревших записей:", r), !1;
1494
1497
  }
1495
1498
  };
1496
- var at, pt, At, _t, tt, ft;
1497
- class St {
1499
+ var at, _t, At, yt, et, dt, lt, Et;
1500
+ class Mt {
1498
1501
  /**
1499
1502
  * @param {Object} appConst - Константы приложения
1500
1503
  * @param {string} appConst.appName - Название приложения
@@ -1502,9 +1505,9 @@ class St {
1502
1505
  */
1503
1506
  constructor(e) {
1504
1507
  /** Запрос данных о приложении */
1505
- w(this, at);
1508
+ U(this, at);
1506
1509
  /** Запрос данных о текущем пользователе */
1507
- w(this, At);
1510
+ U(this, At);
1508
1511
  /**
1509
1512
  * Расширяет errorList для случаев TIMEOUT и LIMIT
1510
1513
  * Если есть ошибки TIMEOUT или LIMIT, добавляет все необработанные сущности из commandList
@@ -1514,7 +1517,13 @@ class St {
1514
1517
  * @param {Array} updateList - Список обновлений для логирования (опционально)
1515
1518
  * @returns {Object} Расширенный список ошибок
1516
1519
  */
1517
- w(this, tt);
1520
+ U(this, et);
1521
+ /**
1522
+ * Привязка/отвязка бекворкера (PAGE_BACKGROUND_WORKER)
1523
+ * @param {Array|Object|string} places - Массив размещений или одно размещение
1524
+ * @returns {Promise<{batchRequests: Object, placesToUnbind: Array}>}
1525
+ */
1526
+ U(this, lt);
1518
1527
  M(this, "domain", "");
1519
1528
  M(this, "isAdmin", !1);
1520
1529
  M(this, "appInfo", null);
@@ -1532,9 +1541,9 @@ class St {
1532
1541
  */
1533
1542
  init() {
1534
1543
  return new Promise((e, r) => {
1535
- let o = setInterval(() => {
1544
+ let n = setInterval(() => {
1536
1545
  window.BX24 && BX24.init(async () => {
1537
- console.info("init BX24"), clearInterval(o), clearTimeout(a), this.domain = BX24.getDomain(), this.isAdmin = BX24.isAdmin(), this.placeInfo = BX24.placement.info(), this.logger ? (this.logger = new bt(), await this.logger.init()) : this.logger = {
1546
+ console.info("init BX24"), clearInterval(n), clearTimeout(a), this.domain = BX24.getDomain(), this.isAdmin = BX24.isAdmin(), this.placeInfo = BX24.placement.info(), this.logger ? (this.logger = new St(), await this.logger.init()) : this.logger = {
1538
1547
  start: () => {
1539
1548
  },
1540
1549
  stop: () => {
@@ -1542,14 +1551,14 @@ class St {
1542
1551
  getEntityList: () => {
1543
1552
  }
1544
1553
  };
1545
- const [h, u] = await Promise.all([
1546
- X(this, at, pt).call(this),
1547
- X(this, At, _t).call(this)
1554
+ const [u, c] = await Promise.all([
1555
+ W(this, at, _t).call(this),
1556
+ W(this, At, yt).call(this)
1548
1557
  ]);
1549
- this.appInfo = h, this.userInfo = u;
1550
- let c = new mt();
1558
+ this.appInfo = u, this.userInfo = c;
1559
+ let A = new mt();
1551
1560
  try {
1552
- c.noSleep();
1561
+ A.noSleep();
1553
1562
  } catch (s) {
1554
1563
  console.warn(
1555
1564
  "Failed to initialize noSleep:",
@@ -1560,11 +1569,11 @@ class St {
1560
1569
  });
1561
1570
  }, 100);
1562
1571
  const a = setTimeout(() => {
1563
- clearInterval(o);
1564
- const h = new Error(
1572
+ clearInterval(n);
1573
+ const u = new Error(
1565
1574
  "BX24 initialization timeout: BX24 object not found within 30 seconds"
1566
1575
  );
1567
- console.error(h), r(h);
1576
+ console.error(u), r(u);
1568
1577
  }, 3e4);
1569
1578
  });
1570
1579
  }
@@ -1611,27 +1620,27 @@ class St {
1611
1620
  * }[]
1612
1621
  */
1613
1622
  async call({ method: e, params: r, updateList: i }) {
1614
- let o;
1615
- if (i && (o = this.logger.start({
1623
+ let n;
1624
+ if (i && (n = this.logger.start({
1616
1625
  type: "call",
1617
1626
  data: { method: e, params: r, updateList: i }
1618
1627
  })), r || (r = {}), typeof BX24 > "u" || !BX24.callMethod) {
1619
1628
  const a = new Error("BX24 is not initialized");
1620
1629
  throw console.error(a), a;
1621
1630
  }
1622
- return new Promise((a, h) => {
1623
- BX24.callMethod(e, r, async (u) => {
1624
- let c = {};
1625
- if (u != null && u.answer)
1626
- for (let [s, d] of Object.entries(u.answer))
1627
- s !== "result" && d && (c[s] = d);
1628
- if (u.error()) {
1629
- let s = u.error();
1630
- if (console.error(s), o)
1631
+ return new Promise((a, u) => {
1632
+ BX24.callMethod(e, r, async (c) => {
1633
+ let A = {};
1634
+ if (c != null && c.answer)
1635
+ for (let [s, d] of Object.entries(c.answer))
1636
+ s !== "result" && d && (A[s] = d);
1637
+ if (c.error()) {
1638
+ let s = c.error();
1639
+ if (console.error(s), n)
1631
1640
  try {
1632
1641
  await this.logger.stop({
1633
- answer: c,
1634
- key: o,
1642
+ answer: A,
1643
+ key: n,
1635
1644
  status: "fail",
1636
1645
  errorList: { 0: s.toString() }
1637
1646
  });
@@ -1640,12 +1649,12 @@ class St {
1640
1649
  }
1641
1650
  a(!1);
1642
1651
  } else {
1643
- let s = u.data();
1644
- if (s != null && s.items && (s = s.items), o)
1652
+ let s = c.data();
1653
+ if (s != null && s.items && (s = s.items), n)
1645
1654
  try {
1646
1655
  await this.logger.stop({
1647
- answer: c,
1648
- key: o,
1656
+ answer: A,
1657
+ key: n,
1649
1658
  status: "success"
1650
1659
  });
1651
1660
  } catch (d) {
@@ -1675,51 +1684,51 @@ class St {
1675
1684
  * }[]
1676
1685
  * }}
1677
1686
  */
1678
- async batch(e, r, { errorCall: i, limitCommandSerial: o, updateList: a, limitCall: h } = {}) {
1687
+ async batch(e, r, { errorCall: i, limitCommandSerial: n, updateList: a, limitCall: u } = {}) {
1679
1688
  if (typeof BX24 > "u" || !BX24.callBatch) {
1680
1689
  const s = new Error("BX24 is not initialized");
1681
1690
  return console.error(s), !1;
1682
1691
  }
1683
- let u = new v(BX24.callBatch), c;
1684
- a && (c = this.logger.start({
1692
+ let c = new K(BX24.callBatch), A;
1693
+ a && (A = this.logger.start({
1685
1694
  type: "batch",
1686
1695
  data: { commandList: e, updateList: a }
1687
- })), o && console.warn(
1696
+ })), n && console.warn(
1688
1697
  "limitCommandSerial is deprecated and not used in current Batch implementation"
1689
1698
  );
1690
1699
  try {
1691
- let s = await u.batch(
1700
+ let s = await c.batch(
1692
1701
  e,
1693
1702
  r,
1694
- h
1703
+ u
1695
1704
  );
1696
- const d = X(this, tt, ft).call(this, u, s, e, a);
1705
+ const d = W(this, et, dt).call(this, c, s, e, a);
1697
1706
  if (Object.keys(d).length) {
1698
- if (i && i(d), c)
1707
+ if (i && i(d), A)
1699
1708
  try {
1700
1709
  await this.logger.stop({
1701
- key: c,
1710
+ key: A,
1702
1711
  status: "fail",
1703
1712
  errorList: d
1704
1713
  });
1705
- } catch (g) {
1706
- console.error("Logger error:", g);
1714
+ } catch (N) {
1715
+ console.error("Logger error:", N);
1707
1716
  }
1708
- } else if (c)
1717
+ } else if (A)
1709
1718
  try {
1710
1719
  await this.logger.stop({
1711
- key: c,
1720
+ key: A,
1712
1721
  status: "success"
1713
1722
  });
1714
- } catch (g) {
1715
- console.error("Logger error:", g);
1723
+ } catch (N) {
1724
+ console.error("Logger error:", N);
1716
1725
  }
1717
1726
  return s;
1718
1727
  } catch (s) {
1719
- if (c)
1728
+ if (A)
1720
1729
  try {
1721
1730
  await this.logger.stop({
1722
- key: c,
1731
+ key: A,
1723
1732
  status: "fail-runtime",
1724
1733
  errorList: { 0: s == null ? void 0 : s.toString() }
1725
1734
  });
@@ -1752,56 +1761,56 @@ class St {
1752
1761
  * }}
1753
1762
  * @returns {Promise<Object|false>}
1754
1763
  */
1755
- async batchTotalCount(e, r, { errorCall: i, updateList: o, limitCall: a } = {}) {
1764
+ async batchTotalCount(e, r, { errorCall: i, updateList: n, limitCall: a } = {}) {
1756
1765
  if (typeof BX24 > "u" || !BX24.callBatch) {
1757
- const c = new Error("BX24 is not initialized");
1758
- return console.error(c), !1;
1766
+ const A = new Error("BX24 is not initialized");
1767
+ return console.error(A), !1;
1759
1768
  }
1760
- let h = new v(BX24.callBatch), u;
1761
- o && (u = this.logger.start({
1769
+ let u = new K(BX24.callBatch), c;
1770
+ n && (c = this.logger.start({
1762
1771
  type: "batch-total-count",
1763
1772
  data: { commandList: e }
1764
1773
  }));
1765
1774
  try {
1766
- let c = await h.batchTotalCount(
1775
+ let A = await u.batchTotalCount(
1767
1776
  e,
1768
1777
  r,
1769
1778
  a
1770
1779
  );
1771
- const s = X(this, tt, ft).call(this, h, c, e, o);
1780
+ const s = W(this, et, dt).call(this, u, A, e, n);
1772
1781
  if (Object.keys(s).length) {
1773
- if (i && i(s), u)
1782
+ if (i && i(s), c)
1774
1783
  try {
1775
1784
  await this.logger.stop({
1776
- key: u,
1785
+ key: c,
1777
1786
  status: "fail",
1778
1787
  errorList: s
1779
1788
  });
1780
1789
  } catch (d) {
1781
1790
  console.error("Logger error:", d);
1782
1791
  }
1783
- } else if (u)
1792
+ } else if (c)
1784
1793
  try {
1785
1794
  await this.logger.stop({
1786
- key: u,
1795
+ key: c,
1787
1796
  status: "success"
1788
1797
  });
1789
1798
  } catch (d) {
1790
1799
  console.error("Logger error:", d);
1791
1800
  }
1792
- return c;
1793
- } catch (c) {
1794
- if (u)
1801
+ return A;
1802
+ } catch (A) {
1803
+ if (c)
1795
1804
  try {
1796
1805
  await this.logger.stop({
1797
- key: u,
1806
+ key: c,
1798
1807
  status: "fail-runtime",
1799
- errorList: { 0: c == null ? void 0 : c.toString() }
1808
+ errorList: { 0: A == null ? void 0 : A.toString() }
1800
1809
  });
1801
1810
  } catch (s) {
1802
1811
  console.error("Logger error:", s);
1803
1812
  }
1804
- return console.error(c), !1;
1813
+ return console.error(A), !1;
1805
1814
  }
1806
1815
  }
1807
1816
  /** Запрос данных о местах встройки приложения */
@@ -1810,99 +1819,78 @@ class St {
1810
1819
  }
1811
1820
  /** Встройка приложения в place */
1812
1821
  async placementBind(e, r = !0) {
1813
- var g, A;
1822
+ var l;
1814
1823
  if (!this.isAdmin)
1815
1824
  return;
1816
1825
  r && await this.placementCheck();
1817
1826
  let i = [];
1818
- if (Array.isArray(e) ? i = e.map((l) => typeof l == "string" ? { placement: l } : l) : typeof e == "string" ? i = [{ placement: e }] : i = [e], this.placeData = await this.getPlacement(), !this.placeData)
1827
+ if (Array.isArray(e) ? i = e.map((h) => typeof h == "string" ? { placement: h } : h) : typeof e == "string" ? i = [{ placement: e }] : i = [e], this.placeData = await this.getPlacement(), !this.placeData)
1819
1828
  return;
1820
- const { appName: o, pathApp: a } = this.appConst;
1821
- let h = o;
1822
- this.domain === "szdl.bitrix24.ru" && ((g = this.appInfo) != null && g.ID) && (h = `${o}: #${this.appInfo.ID}`);
1823
- const u = h.replace(" CRM", ""), c = {}, s = [];
1824
- let d = !1;
1825
- for (let l = 0; l < i.length; l++)
1826
- i[l].placement === "PAGE_BACKGROUND_WORKER_ALL" && (d = !0);
1827
- if (d && ((A = this.userInfo) != null && A.ID)) {
1828
- const l = this.userInfo.ID, N = `${a}?USER_ID=${l}/`;
1829
- if (!this.placeData.find(
1830
- (p) => p.placement === "PAGE_BACKGROUND_WORKER" && p.handler === N
1831
- )) {
1832
- const p = {
1833
- PLACEMENT: "PAGE_BACKGROUND_WORKER",
1834
- HANDLER: N,
1835
- LANG_ALL: {
1836
- ru: {
1837
- TITLE: h
1838
- }
1839
- },
1840
- OPTIONS: {
1841
- errorHandlerUrl: N
1842
- },
1843
- USER_ID: l
1844
- };
1845
- c[`bind_user_${l}`] = {
1846
- method: "placement.bind",
1847
- params: p
1848
- }, console.log(`placementBind: Добавлено индивидуальное размещение для пользователя ${l} перед общим`);
1849
- }
1829
+ const { appName: n, pathApp: a } = this.appConst;
1830
+ let u = n;
1831
+ this.domain === "szdl.bitrix24.ru" && ((l = this.appInfo) != null && l.ID) && (u = `${n}: #${this.appInfo.ID}`);
1832
+ const c = u.replace(" CRM", ""), A = i.filter(
1833
+ (h) => h.placement === "PAGE_BACKGROUND_WORKER" || h.placement === "PAGE_BACKGROUND_WORKER_ALL"
1834
+ ), s = i.filter(
1835
+ (h) => h.placement !== "PAGE_BACKGROUND_WORKER" && h.placement !== "PAGE_BACKGROUND_WORKER_ALL"
1836
+ ), d = {}, N = [];
1837
+ if (A.length > 0) {
1838
+ const h = await W(this, lt, Et).call(this, A);
1839
+ Object.assign(d, h.batchRequests), N.push(...h.placesToUnbind);
1850
1840
  }
1851
- for (let l = 0; l < i.length; l++) {
1852
- const N = i[l], O = N.placement, p = N.userId;
1853
- let b = a, U = O;
1854
- if (O === "PAGE_BACKGROUND_WORKER") {
1855
- if (!p) {
1856
- console.warn(`placementBind: userId is required for PAGE_BACKGROUND_WORKER, skipping ${O}`);
1857
- continue;
1858
- }
1859
- b = `${a}?USER_ID=${p}/`;
1860
- }
1861
- if (O === "PAGE_BACKGROUND_WORKER_ALL" && (U = "PAGE_BACKGROUND_WORKER"), this.placeData.find(
1862
- (k) => k.placement === U && k.handler === b
1841
+ for (let h = 0; h < s.length; h++) {
1842
+ const O = s[h].placement, g = a;
1843
+ if (this.placeData.find(
1844
+ (w) => w.placement === O && w.handler === g
1863
1845
  ))
1864
1846
  continue;
1865
- let W = this.placeData.find(
1866
- (k) => k.placement === U && k.handler !== b
1847
+ const I = this.placeData.find(
1848
+ (w) => w.placement === O && w.handler !== g
1867
1849
  );
1868
- W && s.push({ placement: U, handler: W.handler });
1869
- const L = {
1870
- PLACEMENT: U,
1871
- HANDLER: b,
1850
+ I && N.push({
1851
+ placement: O,
1852
+ handler: I.handler
1853
+ });
1854
+ const C = {
1855
+ PLACEMENT: O,
1856
+ HANDLER: g,
1872
1857
  LANG_ALL: {
1873
1858
  ru: {
1874
- TITLE: U === "USER_PROFILE_TOOLBAR" ? u : h
1859
+ TITLE: O === "USER_PROFILE_TOOLBAR" ? c : u
1875
1860
  }
1876
1861
  },
1877
1862
  OPTIONS: {
1878
- errorHandlerUrl: b
1863
+ errorHandlerUrl: g
1879
1864
  }
1880
1865
  };
1881
- O === "PAGE_BACKGROUND_WORKER" && p && (L.USER_ID = p), c[`bind_${l}`] = {
1866
+ d[`bind_${h}`] = {
1882
1867
  method: "placement.bind",
1883
- params: L
1868
+ params: C
1884
1869
  };
1885
1870
  }
1886
- s.length > 0 && await this.placementUnBind(s), Object.keys(c).length > 0 && await this.batch(c), Object.keys(c).length > 0 && (this.placeData = await this.getPlacement(), Object.values(c).forEach((l) => {
1887
- console.log("Приложение успешно встроено в", l.params.PLACEMENT);
1871
+ N.length > 0 && await this.placementUnBind(N), Object.keys(d).length > 0 && await this.batch(d), Object.keys(d).length > 0 && (this.placeData = await this.getPlacement(), Object.values(d).forEach((h) => {
1872
+ console.log(
1873
+ "Приложение успешно встроено в",
1874
+ h.params.PLACEMENT
1875
+ );
1888
1876
  }));
1889
1877
  }
1890
1878
  /* Отвязка встройки из place */
1891
1879
  async placementUnBind(e) {
1892
1880
  let r = [];
1893
- Array.isArray(e) ? r = e.map((o) => typeof o == "string" ? { placement: o } : o) : typeof e == "string" ? r = [{ placement: e }] : r = [e];
1881
+ Array.isArray(e) ? r = e.map((n) => typeof n == "string" ? { placement: n } : n) : typeof e == "string" ? r = [{ placement: e }] : r = [e];
1894
1882
  const i = {};
1895
- for (let o = 0; o < r.length; o++) {
1896
- const a = r[o], h = a.placement, u = a.handler, c = {
1897
- PLACEMENT: h
1883
+ for (let n = 0; n < r.length; n++) {
1884
+ const a = r[n], u = a.placement, c = a.handler, A = {
1885
+ PLACEMENT: u
1898
1886
  };
1899
- u && (c.HANDLER = u), i[`unbind_${o}`] = {
1887
+ c && (A.HANDLER = c), i[`unbind_${n}`] = {
1900
1888
  method: "placement.unbind",
1901
- params: c
1889
+ params: A
1902
1890
  };
1903
1891
  }
1904
- Object.keys(i).length > 0 && (await this.batch(i), r.forEach((o) => {
1905
- console.log("Встройка отвязана", o.placement);
1892
+ Object.keys(i).length > 0 && (await this.batch(i), r.forEach((n) => {
1893
+ console.log("Встройка отвязана", n.placement);
1906
1894
  }));
1907
1895
  }
1908
1896
  /** Удаляем фоновые обработчики прошлых версий и создаем новые */
@@ -1910,11 +1898,11 @@ class St {
1910
1898
  if (this.placeData = await this.getPlacement(), !this.placeData)
1911
1899
  return;
1912
1900
  const { pathApp: e } = this.appConst, r = [], i = [];
1913
- for (const o of this.placeData) {
1914
- if (!o.handler || o.handler.includes(e))
1901
+ for (const n of this.placeData) {
1902
+ if (!n.handler || n.handler.includes(e))
1915
1903
  continue;
1916
- const { placement: a, handler: h, userId: u } = o;
1917
- r.push({ placement: a, handler: h }), i.push({ placement: a, userId: u });
1904
+ const { placement: a, handler: u, userId: c } = n;
1905
+ r.push({ placement: a, handler: u }), i.push({ placement: a, userId: c });
1918
1906
  }
1919
1907
  r.length > 0 && await this.placementUnBind(r), i.length > 0 && await this.placementBind(i, !1);
1920
1908
  }
@@ -1931,7 +1919,7 @@ class St {
1931
1919
  }
1932
1920
  /* регистрация бота */
1933
1921
  regBot({ code: e, type: r, name: i }) {
1934
- const { appName: o, pathApp: a, chatBotLogo: h } = this.appConst, u = this.appInfo.ID;
1922
+ const { appName: n, pathApp: a, chatBotLogo: u } = this.appConst, c = this.appInfo.ID;
1935
1923
  return this.call({
1936
1924
  method: "imbot.register",
1937
1925
  params: {
@@ -1947,7 +1935,7 @@ class St {
1947
1935
  // строковый идентификатор чат-бота, используется только в режиме Вебхуков
1948
1936
  PROPERTIES: {
1949
1937
  // Личные данные чат-бота (обяз.)
1950
- NAME: `${i ?? o} - бот #${u}`,
1938
+ NAME: `${i ?? n} - бот #${c}`,
1951
1939
  // Имя чат-бота (обязательное одно из полей NAME или LAST_NAME)
1952
1940
  LAST_NAME: "",
1953
1941
  // Фамилия чат-бота (обязательное одно из полей NAME или LAST_NAME)
@@ -1963,11 +1951,11 @@ class St {
1963
1951
  // Ссылка на сайт
1964
1952
  PERSONAL_GENDER: "M",
1965
1953
  // Пол чат-бота, допустимые значения M - мужской, F - женский, пусто, если не требуется указывать
1966
- PERSONAL_PHOTO: h ?? ""
1954
+ PERSONAL_PHOTO: u ?? ""
1967
1955
  // Аватар чат-бота - base64
1968
1956
  }
1969
1957
  }
1970
- }).then((c) => (console.log("Чат-бот добавлен", c), c));
1958
+ }).then((A) => (console.log("Чат-бот добавлен", A), A));
1971
1959
  }
1972
1960
  /* Убрать регистрацию бота */
1973
1961
  unRegBot(e) {
@@ -1983,42 +1971,135 @@ class St {
1983
1971
  return this.logger.getEntityList(e);
1984
1972
  }
1985
1973
  }
1986
- at = new WeakSet(), pt = function() {
1974
+ at = new WeakSet(), _t = function() {
1987
1975
  return this.call({ method: "app.info" });
1988
- }, At = new WeakSet(), _t = function() {
1976
+ }, At = new WeakSet(), yt = function() {
1989
1977
  return this.call({ method: "user.current" });
1990
- }, tt = new WeakSet(), ft = function(e, r, i, o) {
1978
+ }, et = new WeakSet(), dt = function(e, r, i, n) {
1991
1979
  let a = { ...e.errors };
1992
1980
  if (Object.values(e.errors).some(
1993
- (u) => {
1994
- if (typeof u != "string")
1981
+ (c) => {
1982
+ if (typeof c != "string")
1995
1983
  return !1;
1996
- const c = u.toUpperCase();
1997
- return c === "TIMEOUT" || c === "OPERATION_TIME_LIMIT" || c.includes("TIMEOUT") || c.includes("OPERATION_TIME_LIMIT");
1984
+ const A = c.toUpperCase();
1985
+ return A === "TIMEOUT" || A === "OPERATION_TIME_LIMIT" || A.includes("TIMEOUT") || A.includes("OPERATION_TIME_LIMIT");
1998
1986
  }
1999
- ) && o) {
2000
- const u = r ? Object.keys(r).filter((g) => g !== "errorsList") : [], c = new Set(Object.keys(e.errors || {})), s = /* @__PURE__ */ new Set();
1987
+ ) && n) {
1988
+ const c = r ? Object.keys(r).filter((N) => N !== "errorsList") : [], A = new Set(Object.keys(e.errors || {})), s = /* @__PURE__ */ new Set();
2001
1989
  if (r) {
2002
- for (const g of u)
2003
- if (!c.has(g)) {
2004
- const A = r[g];
2005
- A != null && s.add(g);
1990
+ for (const N of c)
1991
+ if (!A.has(N)) {
1992
+ const l = r[N];
1993
+ l != null && s.add(N);
2006
1994
  }
2007
1995
  }
2008
1996
  const d = Object.values(e.errors).find(
2009
- (g) => {
2010
- if (typeof g != "string")
1997
+ (N) => {
1998
+ if (typeof N != "string")
2011
1999
  return !1;
2012
- const A = g.toUpperCase();
2013
- return A === "TIMEOUT" || A === "OPERATION_TIME_LIMIT" || A.includes("TIMEOUT") || A.includes("OPERATION_TIME_LIMIT");
2000
+ const l = N.toUpperCase();
2001
+ return l === "TIMEOUT" || l === "OPERATION_TIME_LIMIT" || l.includes("TIMEOUT") || l.includes("OPERATION_TIME_LIMIT");
2014
2002
  }
2015
2003
  );
2016
- for (const g of Object.keys(i))
2017
- !s.has(g) && !e.errors[g] && (a[g] = d || "TIMEOUT или OPERATION_TIME_LIMIT: запрос не был обработан");
2004
+ for (const N of Object.keys(i))
2005
+ !s.has(N) && !e.errors[N] && (a[N] = d || "TIMEOUT или OPERATION_TIME_LIMIT: запрос не был обработан");
2018
2006
  }
2019
2007
  return a;
2008
+ }, lt = new WeakSet(), Et = async function(e) {
2009
+ var s, d, N;
2010
+ const { appName: r, pathApp: i } = this.appConst, n = {}, a = [];
2011
+ let u = r;
2012
+ this.domain === "szdl.bitrix24.ru" && ((s = this.appInfo) != null && s.ID) && (u = `${r}: #${this.appInfo.ID}`);
2013
+ const c = { need: !1, exist: !1, handler: `${i}/` }, A = {
2014
+ need: !1,
2015
+ exist: !1,
2016
+ handler: (d = this.userInfo) != null && d.ID ? `${i}?USER_ID=${this.userInfo.ID}/` : null,
2017
+ userId: (N = this.userInfo) == null ? void 0 : N.ID
2018
+ };
2019
+ for (const l of e)
2020
+ l.placement === "PAGE_BACKGROUND_WORKER_ALL" && (c.need = !0), l.placement === "PAGE_BACKGROUND_WORKER" && (A.need = !0);
2021
+ if (c.need) {
2022
+ const l = this.placeData.find(
2023
+ (h) => h.placement === "PAGE_BACKGROUND_WORKER" && h.handler === c.handler
2024
+ );
2025
+ c.exist = !!l;
2026
+ }
2027
+ if (A.need && A.handler) {
2028
+ const l = this.placeData.find(
2029
+ (h) => h.placement === "PAGE_BACKGROUND_WORKER" && h.handler === A.handler
2030
+ );
2031
+ A.exist = !!l;
2032
+ }
2033
+ if (c.need && !A.need)
2034
+ c.exist || (n.bind_general = {
2035
+ method: "placement.bind",
2036
+ params: {
2037
+ PLACEMENT: "PAGE_BACKGROUND_WORKER",
2038
+ HANDLER: c.handler,
2039
+ LANG_ALL: {
2040
+ ru: {
2041
+ TITLE: u
2042
+ }
2043
+ },
2044
+ OPTIONS: {
2045
+ errorHandlerUrl: c.handler
2046
+ }
2047
+ }
2048
+ });
2049
+ else if (A.need && !c.need)
2050
+ A.exist || (n.bind_your = {
2051
+ method: "placement.bind",
2052
+ params: {
2053
+ PLACEMENT: "PAGE_BACKGROUND_WORKER",
2054
+ HANDLER: A.handler,
2055
+ LANG_ALL: {
2056
+ ru: {
2057
+ TITLE: u
2058
+ }
2059
+ },
2060
+ OPTIONS: {
2061
+ errorHandlerUrl: A.handler
2062
+ },
2063
+ USER_ID: A.userId
2064
+ }
2065
+ });
2066
+ else if (c.need && A.need)
2067
+ return A.exist && c.exist ? { batchRequests: n, placesToUnbind: a } : (!A.exist && c.exist && a.push({
2068
+ placement: "PAGE_BACKGROUND_WORKER",
2069
+ handler: c.handler
2070
+ }), A.exist || (n.bind_your = {
2071
+ method: "placement.bind",
2072
+ params: {
2073
+ PLACEMENT: "PAGE_BACKGROUND_WORKER",
2074
+ HANDLER: A.handler,
2075
+ LANG_ALL: {
2076
+ ru: {
2077
+ TITLE: u
2078
+ }
2079
+ },
2080
+ OPTIONS: {
2081
+ errorHandlerUrl: A.handler
2082
+ },
2083
+ USER_ID: A.userId
2084
+ }
2085
+ }), n.bind_general = {
2086
+ method: "placement.bind",
2087
+ params: {
2088
+ PLACEMENT: "PAGE_BACKGROUND_WORKER",
2089
+ HANDLER: c.handler,
2090
+ LANG_ALL: {
2091
+ ru: {
2092
+ TITLE: u
2093
+ }
2094
+ },
2095
+ OPTIONS: {
2096
+ errorHandlerUrl: c.handler
2097
+ }
2098
+ }
2099
+ }, { batchRequests: n, placesToUnbind: a });
2100
+ return { batchRequests: n, placesToUnbind: a };
2020
2101
  };
2021
- class Dt {
2102
+ class Bt {
2022
2103
  constructor(e) {
2023
2104
  M(this, "entityName", "tabs");
2024
2105
  M(this, "maxTabs", 5);
@@ -2031,15 +2112,19 @@ class Dt {
2031
2112
  M(this, "activeMaxPause", 60 * 1e3 * 5 + this.random);
2032
2113
  M(this, "activeMinPause", 60 * 1e3 * 3 + this.random);
2033
2114
  if (!e) {
2034
- console.error("В бек-воркер не переданы настройки, отмена вызова"), console.log("BackgroundWorker: Отмена конструктора - отсутствуют опции");
2115
+ console.error("В бек-воркер не переданы настройки, отмена вызова"), console.log(
2116
+ "BackgroundWorker: Отмена конструктора - отсутствуют опции"
2117
+ );
2035
2118
  return;
2036
2119
  }
2037
- const { appFunc: r, bx: i, users: o, continueBackground: a } = e;
2038
- this.bx = i, this.appPath = i.appConst.pathApp ?? "", this.appName = i.appConst.appName ?? "", this.appInit = r, this.users = o, this.start = /* @__PURE__ */ new Date(), this.continueCondition = typeof a == "function" ? a : this.defaultContinueBackground;
2120
+ const { appFunc: r, bx: i, users: n, continueBackground: a } = e;
2121
+ this.bx = i, this.appPath = i.appConst.pathApp ?? "", this.appName = i.appConst.appName ?? "", this.appInit = r, this.users = n, this.start = /* @__PURE__ */ new Date(), this.continueCondition = typeof a == "function" ? a : this.defaultContinueBackground;
2039
2122
  }
2040
2123
  async init() {
2041
2124
  if (!this.appInit) {
2042
- console.error("Функция-запуск не передана в appInit, отмена инициализации бекворкера"), console.log("BackgroundWorker: Отмена init - не передана appInit");
2125
+ console.error(
2126
+ "Функция-запуск не передана в appInit, отмена инициализации бекворкера"
2127
+ ), console.log("BackgroundWorker: Отмена init - не передана appInit");
2043
2128
  return;
2044
2129
  }
2045
2130
  if (!this.bx) {
@@ -2047,23 +2132,33 @@ class Dt {
2047
2132
  return;
2048
2133
  }
2049
2134
  if (!await this.checkPlacementType()) {
2050
- console.log("BackgroundWorker: Отмена init - общая встройка обнаружена при наличии индивидуальной");
2135
+ console.log(
2136
+ "BackgroundWorker: Отмена init - общая встройка обнаружена при наличии индивидуальной"
2137
+ );
2051
2138
  return;
2052
2139
  }
2053
2140
  if (await this.bx.placementBind(["PAGE_BACKGROUND_WORKER"]), !await this.continueBackground()) {
2054
- console.log("BackgroundWorker: Отмена init - условие запуска не выполнено");
2141
+ console.log(
2142
+ "BackgroundWorker: Отмена init - условие запуска не выполнено"
2143
+ );
2055
2144
  return;
2056
2145
  }
2057
2146
  await this.checkEntity(), this.tabList = await this.getFilteredTabList(), this.id = await this.addTab(), console.log("tabId", this.id), this.interval = setInterval(() => {
2058
2147
  this.backgroundPolling().catch((e) => {
2059
- console.error("BackgroundWorker: backgroundPolling failed", e);
2148
+ console.error(
2149
+ "BackgroundWorker: backgroundPolling failed",
2150
+ e
2151
+ );
2060
2152
  });
2061
2153
  }, this.activeMinPause);
2062
2154
  }
2063
2155
  async checkEntity() {
2064
2156
  var i;
2065
2157
  const e = await this.bx.call({ method: "entity.get" });
2066
- ((i = e == null ? void 0 : e.find) == null ? void 0 : i.call(e, (o) => o.ENTITY === this.entityName)) || await this.bx.call({
2158
+ ((i = e == null ? void 0 : e.find) == null ? void 0 : i.call(
2159
+ e,
2160
+ (n) => n.ENTITY === this.entityName
2161
+ )) || await this.bx.call({
2067
2162
  method: "entity.add",
2068
2163
  params: {
2069
2164
  ENTITY: this.entityName,
@@ -2091,8 +2186,8 @@ class Dt {
2091
2186
  return { id: void 0, data: void 0 };
2092
2187
  try {
2093
2188
  return { id: i.ID, data: { ...JSON.parse(i.DETAIL_TEXT) } };
2094
- } catch (o) {
2095
- return console.log(o), { id: i.ID, data: void 0 };
2189
+ } catch (n) {
2190
+ return console.log(n), { id: i.ID, data: void 0 };
2096
2191
  }
2097
2192
  }) : [];
2098
2193
  }
@@ -2147,23 +2242,36 @@ class Dt {
2147
2242
  try {
2148
2243
  const r = await this.bx.getPlacement();
2149
2244
  if (!r || !Array.isArray(r))
2150
- return console.log("BackgroundWorker: Не удалось получить список размещений, продолжаем выполнение"), !0;
2245
+ return console.log(
2246
+ "BackgroundWorker: Не удалось получить список размещений, продолжаем выполнение"
2247
+ ), !0;
2151
2248
  const i = +(((e = this.bx.userInfo) == null ? void 0 : e.ID) ?? 0);
2152
2249
  if (!i)
2153
- return console.log("BackgroundWorker: Не удалось определить ID текущего пользователя, продолжаем выполнение"), !0;
2250
+ return console.log(
2251
+ "BackgroundWorker: Не удалось определить ID текущего пользователя, продолжаем выполнение"
2252
+ ), !0;
2154
2253
  const a = !!(typeof window < "u" ? window.location.href : "").includes("USER_ID=");
2155
- let h = !1;
2156
- for (const u of r)
2157
- if (u.placement === "PAGE_BACKGROUND_WORKER" && (u.userId || u.handler && u.handler.includes("USER_ID="))) {
2158
- const s = u.userId || (u.handler ? this.extractUserIdFromHandler(u.handler) : null);
2254
+ let u = !1;
2255
+ for (const c of r)
2256
+ if (c.placement === "PAGE_BACKGROUND_WORKER" && (c.userId || c.handler && c.handler.includes("USER_ID="))) {
2257
+ const s = c.userId || (c.handler ? this.extractUserIdFromHandler(c.handler) : null);
2159
2258
  if (s && +s === i) {
2160
- h = !0;
2259
+ u = !0;
2161
2260
  break;
2162
2261
  }
2163
2262
  }
2164
- return a ? (console.log("BackgroundWorker: Обнаружена индивидуальная встройка, продолжаем выполнение"), !0) : !currentPlacementIsGeneral && h ? (console.log(`BackgroundWorker: Обнаружена общая встройка при наличии индивидуальной для текущего пользователя (ID: ${i}), прекращаем выполнение`), !1) : (console.log("BackgroundWorker: Проверка типа встройки пройдена, продолжаем выполнение"), !0);
2263
+ return a ? (console.log(
2264
+ "BackgroundWorker: Обнаружена индивидуальная встройка, продолжаем выполнение"
2265
+ ), !0) : !currentPlacementIsGeneral && u ? (console.log(
2266
+ `BackgroundWorker: Обнаружена общая встройка при наличии индивидуальной для текущего пользователя (ID: ${i}), прекращаем выполнение`
2267
+ ), !1) : (console.log(
2268
+ "BackgroundWorker: Проверка типа встройки пройдена, продолжаем выполнение"
2269
+ ), !0);
2165
2270
  } catch (r) {
2166
- return console.error("BackgroundWorker: Ошибка при проверке типа встройки", r), !0;
2271
+ return console.error(
2272
+ "BackgroundWorker: Ошибка при проверке типа встройки",
2273
+ r
2274
+ ), !0;
2167
2275
  }
2168
2276
  }
2169
2277
  extractUserIdFromHandler(e) {
@@ -2174,26 +2282,35 @@ class Dt {
2174
2282
  }
2175
2283
  async continueBackground() {
2176
2284
  try {
2177
- const r = !!await Promise.resolve(this.continueCondition(this));
2285
+ const r = !!await Promise.resolve(
2286
+ this.continueCondition(this)
2287
+ );
2178
2288
  return console.log(r ? "BackgroundWorker: Условие продолжения выполнено" : "BackgroundWorker: Отмена continueBackground - внешнее условие вернуло false"), r;
2179
2289
  } catch (e) {
2180
- return console.error("BackgroundWorker: Ошибка при выполнении условия продолжения", e), console.log("BackgroundWorker: Отмена continueBackground - исключение в условии запуска"), !1;
2290
+ return console.error(
2291
+ "BackgroundWorker: Ошибка при выполнении условия продолжения",
2292
+ e
2293
+ ), console.log(
2294
+ "BackgroundWorker: Отмена continueBackground - исключение в условии запуска"
2295
+ ), !1;
2181
2296
  }
2182
2297
  }
2183
2298
  async getFilteredTabList() {
2184
2299
  const e = [], r = [], i = await this.getTabs();
2185
- for (const o of i) {
2186
- if (!(o != null && o.data)) {
2187
- e.push(o);
2300
+ for (const n of i) {
2301
+ if (!(n != null && n.data)) {
2302
+ e.push(n);
2188
2303
  continue;
2189
2304
  }
2190
- (/* @__PURE__ */ new Date()).getTime() - new Date(o.data.lastActive).getTime() > this.activeMaxPause ? e.push(o) : r.push(o);
2305
+ (/* @__PURE__ */ new Date()).getTime() - new Date(n.data.lastActive).getTime() > this.activeMaxPause ? e.push(n) : r.push(n);
2191
2306
  }
2192
2307
  return await this.deleteTabs(e), r;
2193
2308
  }
2194
2309
  async backgroundPolling() {
2195
2310
  if (!await this.continueBackground()) {
2196
- this.interval && (clearInterval(this.interval), this.interval = void 0), console.log("BackgroundWorker: Остановка backgroundPolling - условие continueBackground не выполнено");
2311
+ this.interval && (clearInterval(this.interval), this.interval = void 0), console.log(
2312
+ "BackgroundWorker: Остановка backgroundPolling - условие continueBackground не выполнено"
2313
+ );
2197
2314
  return;
2198
2315
  }
2199
2316
  if (this.tabList = await this.getFilteredTabList(), !this.id) {
@@ -2201,83 +2318,108 @@ class Dt {
2201
2318
  return;
2202
2319
  }
2203
2320
  let e = this.checkOtherTabs();
2204
- e && (await this.pause(Math.round(Number(Math.random().toFixed(2)) * 1e4)), this.tabList = await this.getFilteredTabList(), e = this.checkOtherTabs(), e && await this.startBackground());
2321
+ e && (await this.pause(
2322
+ Math.round(Number(Math.random().toFixed(2)) * 1e4)
2323
+ ), this.tabList = await this.getFilteredTabList(), e = this.checkOtherTabs(), e && await this.startBackground());
2205
2324
  }
2206
2325
  checkOtherTabs() {
2207
- var o, a;
2326
+ var n, a;
2208
2327
  let e = !1, r = (/* @__PURE__ */ new Date()).getTime() - new Date(this.start).getTime();
2209
- for (const h of this.tabList)
2210
- if (+h.id !== this.id && ((o = h.data) != null && o.start && (e = !0), ((a = h.data) == null ? void 0 : a.duration) > r)) {
2328
+ for (const u of this.tabList)
2329
+ if (+u.id !== this.id && ((n = u.data) != null && n.start && (e = !0), ((a = u.data) == null ? void 0 : a.duration) > r)) {
2211
2330
  r = !1;
2212
2331
  break;
2213
2332
  }
2214
2333
  const i = !e && !!r;
2215
- return this.updateTab(i).catch((h) => {
2216
- console.error("BackgroundWorker: updateTab failed", h);
2217
- }), console.log(`BackgroundWorker: Проверка вкладок - можно запускать приложение? ${i}`), i;
2334
+ return this.updateTab(i).catch((u) => {
2335
+ console.error("BackgroundWorker: updateTab failed", u);
2336
+ }), console.log(
2337
+ `BackgroundWorker: Проверка вкладок - можно запускать приложение? ${i}`
2338
+ ), i;
2218
2339
  }
2219
2340
  async startBackground() {
2220
2341
  this.interval && (clearInterval(this.interval), this.interval = void 0), this.interval = setInterval(() => {
2221
2342
  this.updateTab(!0).catch((e) => {
2222
- console.error("BackgroundWorker: periodic updateTab failed", e);
2343
+ console.error(
2344
+ "BackgroundWorker: periodic updateTab failed",
2345
+ e
2346
+ );
2223
2347
  });
2224
2348
  }, this.activeMinPause), await this.appInit(), this.interval && (clearInterval(this.interval), this.interval = void 0), this.id && (await this.deleteTabs([{ id: this.id }]), this.id = 0);
2225
2349
  }
2226
2350
  async setBackgroundWorkerAll() {
2227
- var A, l;
2228
- if (!((A = this.bx) != null && A.isAdmin)) {
2229
- console.log("BackgroundWorker: Отмена setBackgroundWorkerAll - пользователь не админ");
2351
+ var T, O;
2352
+ if (!((T = this.bx) != null && T.isAdmin)) {
2353
+ console.log(
2354
+ "BackgroundWorker: Отмена setBackgroundWorkerAll - пользователь не админ"
2355
+ );
2230
2356
  return;
2231
2357
  }
2232
- (l = this.users) != null && l.length || await this.getEntityData();
2358
+ (O = this.users) != null && O.length || await this.getEntityData();
2233
2359
  const e = await this.bx.getPlacement(), r = /* @__PURE__ */ new Map();
2234
2360
  let i = null;
2235
- e.forEach((N) => {
2236
- N.placement === "PAGE_BACKGROUND_WORKER" && (N.userId ? r.set(+N.userId, N) : i = N);
2237
- }), console.log(`setBackgroundWorkerAll: Найдено ${r.size} индивидуальных и ${i ? 1 : 0} общих привязок PAGE_BACKGROUND_WORKER`);
2238
- const o = await this.updateAdminsList(), a = await this.getEligibleUsersForBackgroundWorker(o);
2239
- a.sort((N, O) => {
2240
- const p = N.LAST_LOGIN ? new Date(N.LAST_LOGIN) : /* @__PURE__ */ new Date(0);
2241
- return (O.LAST_LOGIN ? new Date(O.LAST_LOGIN) : /* @__PURE__ */ new Date(0)) - p;
2242
- }), console.log(`setBackgroundWorkerAll: Найдено ${a.length} подходящих пользователей (админы и руководители)`);
2243
- const h = [], u = 10, s = a.slice(0, u).filter(
2244
- (N) => !r.has(+N.ID)
2245
- ), d = i && s.length > 0, g = [];
2246
- for (const [N] of r)
2247
- a.find((p) => +p.ID === N) || g.push(N);
2248
- for (const N of g)
2249
- this.appPath && (h.push({
2361
+ e.forEach((g) => {
2362
+ if (g.placement === "PAGE_BACKGROUND_WORKER")
2363
+ if (g.userId || g.handler && g.handler.includes("USER_ID=")) {
2364
+ const I = g.userId || (g.handler ? this.extractUserIdFromHandler(g.handler) : null);
2365
+ I && r.set(+I, g);
2366
+ } else
2367
+ i = g;
2368
+ }), console.log(
2369
+ `setBackgroundWorkerAll: Найдено ${r.size} индивидуальных и ${i ? 1 : 0} общих привязок PAGE_BACKGROUND_WORKER`
2370
+ );
2371
+ const n = await this.updateAdminsList(), a = await this.getEligibleUsersForBackgroundWorker(n);
2372
+ a.sort((g, L) => {
2373
+ const I = g.LAST_LOGIN ? new Date(g.LAST_LOGIN) : /* @__PURE__ */ new Date(0);
2374
+ return (L.LAST_LOGIN ? new Date(L.LAST_LOGIN) : /* @__PURE__ */ new Date(0)) - I;
2375
+ }), console.log(
2376
+ `setBackgroundWorkerAll: Найдено ${a.length} подходящих пользователей (админы и руководители)`
2377
+ );
2378
+ const u = [], c = 10, s = a.slice(
2379
+ 0,
2380
+ c
2381
+ ).filter(
2382
+ (g) => !r.has(+g.ID)
2383
+ ), d = i && s.length > 0, N = [];
2384
+ for (const [g] of r)
2385
+ a.find((I) => +I.ID === g) || N.push(g);
2386
+ for (const g of N)
2387
+ this.appPath && (u.push({
2250
2388
  method: "placement.unbind",
2251
2389
  params: {
2252
2390
  PLACEMENT: "PAGE_BACKGROUND_WORKER",
2253
- HANDLER: `${this.appPath}?USER_ID=${N}/`
2391
+ HANDLER: `${this.appPath}?USER_ID=${g}/`
2254
2392
  }
2255
- }), console.log(`setBackgroundWorkerAll: Добавлена в очередь отвязка бэк-воркера от пользователя ${N}`));
2256
- d && this.appPath && (h.push({
2393
+ }), console.log(
2394
+ `setBackgroundWorkerAll: Добавлена в очередь отвязка бэк-воркера от пользователя ${g}`
2395
+ ));
2396
+ d && this.appPath && (u.push({
2257
2397
  method: "placement.unbind",
2258
2398
  params: {
2259
2399
  PLACEMENT: "PAGE_BACKGROUND_WORKER",
2260
2400
  HANDLER: i.handler || `${this.appPath}/`
2261
2401
  }
2262
- }), console.log("setBackgroundWorkerAll: Добавлена в очередь отвязка общего бэк-воркера (для создания индивидуальных)"));
2263
- for (const N of s)
2264
- this.appPath && h.push({
2402
+ }), console.log(
2403
+ "setBackgroundWorkerAll: Добавлена в очередь отвязка общего бэк-воркера (для создания индивидуальных)"
2404
+ ));
2405
+ for (const g of s)
2406
+ this.appPath && u.push({
2265
2407
  method: "placement.bind",
2266
2408
  params: {
2267
2409
  PLACEMENT: "PAGE_BACKGROUND_WORKER",
2268
- HANDLER: `${this.appPath}?USER_ID=${N.ID}/`,
2410
+ HANDLER: `${this.appPath}?USER_ID=${g.ID}/`,
2269
2411
  LANG_ALL: {
2270
2412
  ru: {
2271
2413
  TITLE: this.appName
2272
2414
  }
2273
2415
  },
2274
2416
  OPTIONS: {
2275
- errorHandlerUrl: `${this.appPath}?USER_ID=${N.ID}/`
2417
+ errorHandlerUrl: `${this.appPath}?USER_ID=${g.ID}/`
2276
2418
  },
2277
- USER_ID: N.ID
2419
+ USER_ID: g.ID
2278
2420
  }
2279
2421
  });
2280
- (!i || d) && this.appPath && (h.push({
2422
+ (!i || d) && this.appPath && (u.push({
2281
2423
  method: "placement.bind",
2282
2424
  params: {
2283
2425
  PLACEMENT: "PAGE_BACKGROUND_WORKER",
@@ -2291,26 +2433,67 @@ class Dt {
2291
2433
  errorHandlerUrl: `${this.appPath}/`
2292
2434
  }
2293
2435
  }
2294
- }), console.log("setBackgroundWorkerAll: Добавлен в очередь создание общего бэк-воркера (после индивидуальных)")), h.length ? (console.log(`setBackgroundWorkerAll: Выполняем ${h.length} операций через batch`), await this.bx.batch(h), console.log("setBackgroundWorkerAll: Все операции batch выполнены успешно")) : console.log("setBackgroundWorkerAll: Нет операций для выполнения");
2436
+ }), console.log(
2437
+ "setBackgroundWorkerAll: Добавлен в очередь создание общего бэк-воркера (после индивидуальных)"
2438
+ ));
2439
+ const l = u.filter(
2440
+ (g) => g.method === "placement.unbind"
2441
+ ), h = u.filter(
2442
+ (g) => g.method === "placement.bind"
2443
+ );
2444
+ l.length > 0 && (console.log(
2445
+ `setBackgroundWorkerAll: Выполняем ${l.length} операций отвязки через batch`
2446
+ ), await this.bx.batch(
2447
+ Object.fromEntries(
2448
+ l.map((g, L) => [`unbind_${L}`, g])
2449
+ )
2450
+ ), console.log(
2451
+ "setBackgroundWorkerAll: Все операции отвязки выполнены успешно"
2452
+ )), h.length > 0 && (console.log(
2453
+ `setBackgroundWorkerAll: Выполняем ${h.length} операций привязки через batch`
2454
+ ), await this.bx.batch(
2455
+ Object.fromEntries(
2456
+ h.map((g, L) => [`bind_${L}`, g])
2457
+ )
2458
+ ), console.log(
2459
+ "setBackgroundWorkerAll: Все операции привязки выполнены успешно"
2460
+ )), u.length === 0 && console.log("setBackgroundWorkerAll: Нет операций для выполнения");
2295
2461
  }
2296
2462
  async getEligibleUsersForBackgroundWorker(e = []) {
2297
- return (this.users ?? []).filter((i) => i.ACTIVE === "Y" || i.ACTIVE === !0).filter((i) => {
2298
- const o = +i.ID;
2299
- return e.includes(o);
2463
+ return (this.users ?? []).filter(
2464
+ (i) => i.ACTIVE === "Y" || i.ACTIVE === !0
2465
+ ).filter((i) => {
2466
+ const n = +i.ID;
2467
+ return e.includes(n);
2300
2468
  });
2301
2469
  }
2302
2470
  async updateAdminsList() {
2303
2471
  var e, r, i;
2304
2472
  try {
2305
- let o = await this.getAdminsList();
2473
+ let n = await this.getAdminsList();
2306
2474
  const a = +(((e = this.bx.userInfo) == null ? void 0 : e.ID) ?? 0);
2307
- (r = this.bx) != null && r.isAdmin && a && !o.includes(a) && (o.push(a), console.log(`updateAdminsList: Добавлен новый админ ${a}`)), !((i = this.bx) != null && i.isAdmin) && a && o.includes(a) && (o = o.filter((c) => c !== a), console.log(`updateAdminsList: Удален из списка админов пользователь ${a} (больше не админ)`));
2308
- const h = new Set(
2309
- (this.users ?? []).filter((c) => c.ACTIVE === "Y" || c.ACTIVE === !0).map((c) => +c.ID)
2310
- ), u = o.filter((c) => h.has(c));
2311
- return u.length !== o.length && (console.log(`updateAdminsList: Удалено ${o.length - u.length} неактивных админов`), o = u), BX24.appOption.set("adminsList", JSON.stringify(o)), console.log(`BackgroundWorker: Список админов обновлен: ${o.length} админов`), o;
2312
- } catch (o) {
2313
- return console.error("BackgroundWorker: Ошибка при обновлении списка админов:", o), [];
2475
+ (r = this.bx) != null && r.isAdmin && a && !n.includes(a) && (n.push(a), console.log(
2476
+ `updateAdminsList: Добавлен новый админ ${a}`
2477
+ )), !((i = this.bx) != null && i.isAdmin) && a && n.includes(a) && (n = n.filter((A) => A !== a), console.log(
2478
+ `updateAdminsList: Удален из списка админов пользователь ${a} (больше не админ)`
2479
+ ));
2480
+ const u = new Set(
2481
+ (this.users ?? []).filter(
2482
+ (A) => A.ACTIVE === "Y" || A.ACTIVE === !0
2483
+ ).map((A) => +A.ID)
2484
+ ), c = n.filter(
2485
+ (A) => u.has(A)
2486
+ );
2487
+ return c.length !== n.length && (console.log(
2488
+ `updateAdminsList: Удалено ${n.length - c.length} неактивных админов`
2489
+ ), n = c), BX24.appOption.set("adminsList", JSON.stringify(n)), console.log(
2490
+ `BackgroundWorker: Список админов обновлен: ${n.length} админов`
2491
+ ), n;
2492
+ } catch (n) {
2493
+ return console.error(
2494
+ "BackgroundWorker: Ошибка при обновлении списка админов:",
2495
+ n
2496
+ ), [];
2314
2497
  }
2315
2498
  }
2316
2499
  async getAdminsList() {
@@ -2318,7 +2501,10 @@ class Dt {
2318
2501
  const e = BX24.appOption.get("adminsList");
2319
2502
  return e ? JSON.parse(e) : [];
2320
2503
  } catch (e) {
2321
- return console.error("getAdminsList: Ошибка при получении списка админов:", e), [];
2504
+ return console.error(
2505
+ "getAdminsList: Ошибка при получении списка админов:",
2506
+ e
2507
+ ), [];
2322
2508
  }
2323
2509
  }
2324
2510
  async getEntityData() {
@@ -2336,10 +2522,10 @@ class Dt {
2336
2522
  }
2337
2523
  }
2338
2524
  export {
2339
- Dt as BackgroundWorker,
2340
- v as Batch,
2341
- St as BxBoot,
2525
+ Bt as BackgroundWorker,
2526
+ K as Batch,
2527
+ Mt as BxBoot,
2342
2528
  mt as BxHelper,
2343
- bt as BxLogger,
2529
+ St as BxLogger,
2344
2530
  rt as tempus
2345
2531
  };