szdl-utils-kit 0.2.28 → 0.2.30

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/Readme.md CHANGED
@@ -1,162 +1,168 @@
1
- ## ***UTILS-KIT***
2
- ### **Подключение и использование**
3
- ```sh
4
- npm i szdl-utils-kit
5
- ```
6
- ```JavaScript
7
- import { Batch, BxBoot, tempus } from 'szdl-utils-kit';
8
- ```
9
-
10
- ### ***{ Batch }***
11
- Утилита пакетного запроса данных из B24
12
-
13
- ```JavaScript
14
- import { Batch } from 'szdl-utils-kit';
15
-
16
- const rest = new Batch(BX24.callBatch);
17
- ```
18
-
19
- #### **Свойства**
20
- <b><i>serial</i></b> - флаг режима передачи <br>
21
-
22
- #### **Методы**
23
- <b><i>setSerial()</i></b> - установка последовательного режима <br>
24
- <b><i>setParallel()</i></b> - установка параллельного режима <br>
25
- <b><i>stop()</i></b> - принудительно остановить выгрузку данных <br>
26
- <b><i>batch(commandList, progressCall)</i></b> - запрос данных <br>
27
- <b><i>batchTotalCount(commandList, progressCall)</i></b> - запрос количества элементов по сущностям <br>
28
-
29
-
30
- ### ***{ BxBoot }***
31
- Утилита Promise-обертка над некоторыми методами BX24.
32
-
33
- #### **Свойства**
34
- <b><i>domain</i></b> - доменное имя портала <br>
35
- <b><i>isAdmin</i></b> - флаг проверки текущего пользователя на админа <br>
36
-
37
- <b><i>appInfo</i></b> - Информация о приложении
38
- ```TypeScript
39
- type appInfo = {
40
- ID: number,
41
- CODE: string,
42
- VERSION: number,
43
- STATUS: string,
44
- INSTALLED: boolean,
45
- PAYMENT_EXPIRED: string,
46
- DAYS: null | number,
47
- LANGUAGE_ID: string,
48
- LICENSE: string,
49
- LICENSE_TYPE: string,
50
- LICENSE_FAMILY: string
51
- };
52
- ```
53
- <b><i>appConst</i></b> - Параметры приложения
54
- ```TypeScript
55
- type appConst = {
56
- appName: string,
57
- appNameEng: string,
58
- pathApp: string,
59
- zip: string,
60
- chatBotLogo: string,
61
- entity: { key: string, name: string }[],
62
- };
63
- ```
64
- <b><i>userInfo</i></b> - Информация о текущем пользователе
65
- <b><i>placeData</i></b> - Информация о встройках
66
-
67
- <b><i>placeInfo</i></b> - Информация о текущем месте встройки
68
- ```TypeScript
69
- type placeInfo = {
70
- placement: string;
71
- options: Record<string, string>;
72
- };
73
- ```
74
-
75
- #### **Методы**
76
- <b><i>init()</i></b> - Метод инициализации библиотеки rest api BX24
77
- ```TypeScript
78
- init(): Promise<boolean>;
79
- ```
80
-
81
- <b><i>userOption(key, ?value)</i></b> - Получение\изменение опций юзера.
82
- * Если передан 'key', то возвращает опцию по ключу. <br>
83
- * Если передан 'key' и 'value', то функция изменяет ключ по переданному значению.
84
- ```TypeScript
85
- userOption(key: string, value?: string | number)
86
- ```
87
-
88
- <b><i>call({ method, params })</i></b> - Вызывает указанный метод REST-сервиса с указанными параметрам
89
- ```TypeScript
90
- call({ method, params }: TCommand): Promise<unknown[] | boolean>;
91
- type TCommand = {
92
- method: string,
93
- params: Record<string, unknown> | {
94
- select?: string[],
95
- filter?: Record<string, string | string[]>,
96
- } | {
97
- id?: string,
98
- params?: Record<string, string>,
99
- fields?: Record<string, unknown>,
100
- }
101
- }
102
- ```
103
-
104
- <b><i>batch(commandList, ?progressCall)</i></b> - Пакетный запрос данных
105
- * commandList - лист команд можно передавать как в виде объекта, так и в виде массива команд
106
- * progressCall - принимает callback в который передается статус загрузки данных в процентах
107
- ```TypeScript
108
- batch(
109
- commandList: Record<string, TCommand>,
110
- progressCall?: (data:{ percent: number })=>void
111
- ): Promise<Record<string, unknown[]> | boolean>;
112
- ```
113
-
114
- <b><i>batchTotalCount(commandList, ?progressCall)</i></b> - Пакетный запрос количества элементов по запрошенным сущностям
115
- * commandList - лист команд можно передавать как в виде объекта, так и в виде массива команд
116
- * progressCall - принимает callback в который передается статус загрузки данных в процентах
117
- ```TypeScript
118
- batchTotalCount(
119
- commandList: Record<string, TCommand>,
120
- progressCall?: (data:{ percent: number })=>void
121
- ): Promise<Record<string, number> | boolean>;
122
- ```
123
-
124
- <b><i>getPlacement()</i></b> - Запрос данных о местах встройки приложения
125
- ```TypeScript
126
- getPlacement(): Promise<unknown[] | boolean>;
127
- ```
128
-
129
- <b><i>placementBind(place)</i></b> - Встройка приложения в place
130
- * place - индификатор места встройки
131
- ```TypeScript
132
- placementBind(place: string): void;
133
- ```
134
-
135
- <b><i>placementUnBind(place)</i></b> - Отвязка встройки из place
136
- * place - индификатор места встройки
137
- ```TypeScript
138
- placementUnBind(place: string): Promise<boolean>;
139
- ```
140
-
141
- <b><i>getBotList()</i></b> - Получение списка чат-ботов
142
- ```TypeScript
143
- getBotList(): Promise<unknown[] | boolean>;
144
- ```
145
-
146
- <b><i>regBot({ code, type, name })</i></b> - Регистрация чат-бота
147
- * code - Строковой идентификатор бота, уникальный в рамках вашего приложения
148
- * type - Тип бота, B - чат-бот, ответы поступают сразу, H - человек, ответы поступают с задержкой от 2-х до 10 секунд, O - чат-бот для Открытых линий, S - чат-бот с повышенными привилегиями (supervisor)
149
- * name - Имя чат-бота
150
- ```TypeScript
151
- regBot({ code, type, name }:{
152
- code: string, type: string, name: string
153
- }): Promise<unknown | boolean>;
154
- ```
155
-
156
- <b><i>unRegBot(id)</i></b> - Удаление чат-бота
157
- ```TypeScript
158
- unRegBot(id: number|string): Promise<unknown | boolean>;
159
- ```
160
-
161
- ### ***{ tempus }***
162
- Утилита для работы с датами и временем, [документация](https://habr.com/ru/articles/204162/)
1
+ ## ***UTILS-KIT***
2
+ ### **Подключение и использование**
3
+ ```sh
4
+ npm i szdl-utils-kit
5
+ ```
6
+ ```JavaScript
7
+ import { Batch, BxBoot, tempus } from 'szdl-utils-kit';
8
+ ```
9
+
10
+ ### ***{ Batch }***
11
+ Утилита пакетного запроса данных из B24
12
+
13
+ ```JavaScript
14
+ import { Batch } from 'szdl-utils-kit';
15
+
16
+ const rest = new Batch(BX24.callBatch);
17
+ ```
18
+
19
+ #### **Свойства**
20
+ <b><i>serial</i></b> - флаг режима передачи <br>
21
+
22
+ #### **Методы**
23
+ <b><i>setSerial()</i></b> - установка последовательного режима <br>
24
+ <b><i>setParallel()</i></b> - установка параллельного режима <br>
25
+ <b><i>stop()</i></b> - принудительно остановить выгрузку данных <br>
26
+ <b><i>batch(commandList, progressCall)</i></b> - запрос данных <br>
27
+ <b><i>batchTotalCount(commandList, progressCall)</i></b> - запрос количества элементов по сущностям <br>
28
+
29
+
30
+ ### ***{ BxBoot }***
31
+ Утилита Promise-обертка над некоторыми методами BX24.
32
+
33
+ #### **Свойства**
34
+ <b><i>domain</i></b> - доменное имя портала <br>
35
+ <b><i>isAdmin</i></b> - флаг проверки текущего пользователя на админа <br>
36
+
37
+ <b><i>appInfo</i></b> - Информация о приложении
38
+ ```TypeScript
39
+ type appInfo = {
40
+ ID: number,
41
+ CODE: string,
42
+ VERSION: number,
43
+ STATUS: string,
44
+ INSTALLED: boolean,
45
+ PAYMENT_EXPIRED: string,
46
+ DAYS: null | number,
47
+ LANGUAGE_ID: string,
48
+ LICENSE: string,
49
+ LICENSE_TYPE: string,
50
+ LICENSE_FAMILY: string
51
+ };
52
+ ```
53
+ <b><i>appConst</i></b> - Параметры приложения
54
+ ```TypeScript
55
+ type appConst = {
56
+ appName: string,
57
+ appNameEng: string,
58
+ pathApp: string,
59
+ zip: string,
60
+ chatBotLogo: string,
61
+ entity: { key: string, name: string }[],
62
+ };
63
+ ```
64
+ <b><i>userInfo</i></b> - Информация о текущем пользователе
65
+ <b><i>placeData</i></b> - Информация о встройках
66
+
67
+ <b><i>placeInfo</i></b> - Информация о текущем месте встройки
68
+ ```TypeScript
69
+ type placeInfo = {
70
+ placement: string;
71
+ options: Record<string, string>;
72
+ };
73
+ ```
74
+
75
+ #### **Методы**
76
+ <b><i>init()</i></b> - Метод инициализации библиотеки rest api BX24
77
+ ```TypeScript
78
+ init(): Promise<boolean>;
79
+ ```
80
+
81
+ <b><i>userOption(key, ?value)</i></b> - Получение\изменение опций юзера.
82
+ * Если передан 'key', то возвращает опцию по ключу. <br>
83
+ * Если передан 'key' и 'value', то функция изменяет ключ по переданному значению.
84
+ ```TypeScript
85
+ userOption(key: string, value?: string | number)
86
+ ```
87
+
88
+ <b><i>call({ method, params })</i></b> - Вызывает указанный метод REST-сервиса с указанными параметрам
89
+ ```TypeScript
90
+ call({ method, params }: TCommand): Promise<unknown[] | boolean>;
91
+ type TCommand = {
92
+ method: string,
93
+ params: Record<string, unknown> | {
94
+ select?: string[],
95
+ filter?: Record<string, string | string[]>,
96
+ } | {
97
+ id?: string,
98
+ params?: Record<string, string>,
99
+ fields?: Record<string, unknown>,
100
+ }
101
+ }
102
+ ```
103
+
104
+ <b><i>batch(commandList, ?progressCall)</i></b> - Пакетный запрос данных
105
+ * commandList - лист команд можно передавать как в виде объекта, так и в виде массива команд
106
+ * progressCall - принимает callback в который передается статус загрузки данных в процентах
107
+ ```TypeScript
108
+ batch(
109
+ commandList: Record<string, TCommand>,
110
+ progressCall?: (data:{ percent: number })=>void
111
+ ): Promise<Record<string, unknown[]> | boolean>;
112
+ ```
113
+
114
+ <b><i>batchTotalCount(commandList, ?progressCall)</i></b> - Пакетный запрос количества элементов по запрошенным сущностям
115
+ * commandList - лист команд можно передавать как в виде объекта, так и в виде массива команд
116
+ * progressCall - принимает callback в который передается статус загрузки данных в процентах
117
+ ```TypeScript
118
+ batchTotalCount(
119
+ commandList: Record<string, TCommand>,
120
+ progressCall?: (data:{ percent: number })=>void
121
+ ): Promise<Record<string, number> | boolean>;
122
+ ```
123
+
124
+ <b><i>getPlacement()</i></b> - Запрос данных о местах встройки приложения
125
+ ```TypeScript
126
+ getPlacement(): Promise<unknown[] | boolean>;
127
+ ```
128
+
129
+ <b><i>placementBind(place)</i></b> - Встройка приложения в place
130
+ * place - индификатор места встройки
131
+ ```TypeScript
132
+ placementBind(place: string): void;
133
+ ```
134
+
135
+ <b><i>placementUnBind(place)</i></b> - Отвязка встройки из place
136
+ * place - индификатор места встройки
137
+ ```TypeScript
138
+ placementUnBind(place: string): Promise<boolean>;
139
+ ```
140
+
141
+ <b><i>getBotList()</i></b> - Получение списка чат-ботов
142
+ ```TypeScript
143
+ getBotList(): Promise<unknown[] | boolean>;
144
+ ```
145
+
146
+ <b><i>regBot({ code, type, name })</i></b> - Регистрация чат-бота
147
+ * code - Строковой идентификатор бота, уникальный в рамках вашего приложения
148
+ * type - Тип бота, B - чат-бот, ответы поступают сразу, H - человек, ответы поступают с задержкой от 2-х до 10 секунд, O - чат-бот для Открытых линий, S - чат-бот с повышенными привилегиями (supervisor)
149
+ * name - Имя чат-бота
150
+ ```TypeScript
151
+ regBot({ code, type, name }:{
152
+ code: string, type: string, name: string
153
+ }): Promise<unknown | boolean>;
154
+ ```
155
+
156
+ <b><i>unRegBot(id)</i></b> - Удаление чат-бота
157
+ ```TypeScript
158
+ unRegBot(id: number|string): Promise<unknown | boolean>;
159
+ ```
160
+
161
+ ### ***{ tempus }***
162
+ Утилита для работы с датами и временем, [документация](https://habr.com/ru/articles/204162/)
163
+
164
+ ### **Инструкция по обновлению npm-пакета**
165
+ - вносим изменения в проект
166
+ - собираем библиотеку в папке dist `npm run build`
167
+ - с помощью `npm login` заходим в аккаунт (вводим логин/пароль, затем получаем временный пароль на почту support@sozdavatel.ru, и вводим его)
168
+ - публикуем библиотеку `npm run pub` (счётчик версии автоматически увеличится, можно указать вручную)
package/dist/index.js CHANGED
@@ -239,7 +239,7 @@ var vt = { exports: {} };
239
239
  N[u].NOVEMBER_SHORT,
240
240
  N[u].DECEMBER_SHORT
241
241
  ];
242
- }, G = function() {
242
+ }, w = function() {
243
243
  return [
244
244
  N[u].SUNDAY_LONG,
245
245
  N[u].MONDAY_LONG,
@@ -520,7 +520,7 @@ https://github.com/douglascrockford/JSON-js/blob/master/json2.js`) : s(JSON.pars
520
520
  if (typeof t == "number")
521
521
  return this._d = new Date(t * (i.options("useMilliseconds") ? 1 : 1e3)), this;
522
522
  if (typeof t == "object" && (t instanceof Array ? (this.day(i.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(i.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, p = [], E, S, P = [], H = 0, w = 0, L, j, D = {}, I;
523
+ var m, p = [], E, S, P = [], H = 0, G = 0, L, j, D = {}, I;
524
524
  if (t === A)
525
525
  return E = o(this, l), E === A && (this._i = {
526
526
  year: -1,
@@ -536,16 +536,16 @@ https://github.com/douglascrockford/JSON-js/blob/master/json2.js`) : s(JSON.pars
536
536
  if (S = s.charAt(H) + s.charAt(H + 1), B[S] !== A) {
537
537
  switch (L = 0, j = "", B[S].type) {
538
538
  case "number":
539
- for (; L < B[S].maxLength && w + L < t.length && !isNaN(Number(t.charAt(w + L))); )
540
- j += t.charAt(w + L), L += 1;
539
+ for (; L < B[S].maxLength && G + L < t.length && !isNaN(Number(t.charAt(G + L))); )
540
+ j += t.charAt(G + L), L += 1;
541
541
  break;
542
542
  case "word":
543
- for (; L < B[S].maxLength && w + L < t.length && /^[\u00BF-\u1FFF\u2C00-\uD7FF\w]+$/.test(t.charAt(w + L)); )
544
- j += t.charAt(w + L), L += 1;
543
+ for (; L < B[S].maxLength && G + L < t.length && /^[\u00BF-\u1FFF\u2C00-\uD7FF\w]+$/.test(t.charAt(G + L)); )
544
+ j += t.charAt(G + L), L += 1;
545
545
  break;
546
546
  case "string":
547
- for (; L < B[S].maxLength && w + L < t.length; )
548
- j += t.charAt(w + L), L += 1;
547
+ for (; L < B[S].maxLength && G + L < t.length; )
548
+ j += t.charAt(G + L), L += 1;
549
549
  break;
550
550
  }
551
551
  if (L < B[S].minLength)
@@ -558,9 +558,9 @@ https://github.com/douglascrockford/JSON-js/blob/master/json2.js`) : s(JSON.pars
558
558
  seconds: -1,
559
559
  milliseconds: -1
560
560
  }), E;
561
- p.push(S), P.push(j), L -= 1, w += L, H += 1;
561
+ p.push(S), P.push(j), L -= 1, G += L, H += 1;
562
562
  }
563
- } else if (t.charAt(w) !== s.charAt(H))
563
+ } else if (t.charAt(G) !== s.charAt(H))
564
564
  return E = o(this, l), E === A && (this._i = {
565
565
  year: -1,
566
566
  month: -1,
@@ -570,7 +570,7 @@ https://github.com/douglascrockford/JSON-js/blob/master/json2.js`) : s(JSON.pars
570
570
  seconds: -1,
571
571
  milliseconds: -1
572
572
  }), E;
573
- H += 1, w += 1;
573
+ H += 1, G += 1;
574
574
  }
575
575
  for (m in p)
576
576
  p.hasOwnProperty(m) && B.hasOwnProperty(p[m]) && (I = B[p[m]].parse(P[m]), D = {
@@ -737,7 +737,7 @@ https://github.com/douglascrockford/JSON-js/blob/master/json2.js`) : s(JSON.pars
737
737
  }), t.groupBy === A ? S = t.asObject === !0 ? {} : [] : (S = [], S.push([]), P = i(s).get()[t.groupBy]), H = function(j, D, I) {
738
738
  return t.asObject === !0 ? t.format !== A ? j[i(D).format(t.format)] = {} : j[i(D).format("%F %H:%M:%S")] = {} : t.format !== A ? j.push(I ? null : i(D).format(t.format)) : j.push(I ? null : i(D)), j;
739
739
  }, t.groupBy !== A && t.fillNulls) {
740
- var w = {
740
+ var G = {
741
741
  year: E.year ? -E.year : A,
742
742
  month: E.month ? -E.month : A,
743
743
  day: E.day ? -E.day : A,
@@ -746,8 +746,8 @@ https://github.com/douglascrockford/JSON-js/blob/master/json2.js`) : s(JSON.pars
746
746
  seconds: E.seconds ? -E.seconds : A,
747
747
  milliseconds: E.milliseconds ? -E.milliseconds : A
748
748
  };
749
- for (m = i(s).calc(w).utc(); i(m).get()[t.groupBy] === P; )
750
- H(S[S.length - 1], m, !0), m = i(m).calc(w).utc();
749
+ for (m = i(s).calc(G).utc(); i(m).get()[t.groupBy] === P; )
750
+ H(S[S.length - 1], m, !0), m = i(m).calc(G).utc();
751
751
  if (t.groupBy === "week") {
752
752
  var L = i(s).dayOfWeek();
753
753
  for (m = i(s).dayOfWeek(0).utc(); S[0].length < L && m < s; )
@@ -776,7 +776,7 @@ https://github.com/douglascrockford/JSON-js/blob/master/json2.js`) : s(JSON.pars
776
776
  }
777
777
  }, i.lang = function(t) {
778
778
  if (t !== A)
779
- u = t, N[u] === A && (u = "en"), M = Y(), X = W(), x = G(), J = b();
779
+ u = t, N[u] === A && (u = "en"), M = Y(), X = W(), x = w(), J = b();
780
780
  else
781
781
  return u;
782
782
  return A;
@@ -806,12 +806,12 @@ https://github.com/douglascrockford/JSON-js/blob/master/json2.js`) : s(JSON.pars
806
806
  N = s;
807
807
  }, function(s) {
808
808
  });
809
- }, u = (y.language || y.systemLanguage || y.userLanguage || "en").substr(0, 2).toLowerCase(), N[u] === A && (u = "en"), M = Y(), X = W(), x = G(), J = b(), T.exports && (e = T.exports = i), e.tempus = i;
809
+ }, u = (y.language || y.systemLanguage || y.userLanguage || "en").substr(0, 2).toLowerCase(), N[u] === A && (u = "en"), M = Y(), X = W(), x = w(), J = b(), T.exports && (e = T.exports = i), e.tempus = i;
810
810
  }).call(ge);
811
811
  })(vt, vt.exports);
812
812
  var Te = vt.exports;
813
813
  const Yt = /* @__PURE__ */ Ee(Te);
814
- var v, dt, q, U, Q, Z, $, tt, F, K, Ft, nt, k, et, at, ct, It, mt, Bt, gt, qt, ut, Ut, Et, $t, Tt, te, Rt, ee, kt, ae, Pt, oe, St, Ae, pt, se, Mt, ie, ft, wt, Lt, re, Wt, he, ot, yt, Nt, Gt, Ot, Ct, Jt, le;
814
+ var v, dt, q, U, Q, Z, $, tt, F, K, Ft, nt, k, et, at, ct, It, mt, Bt, gt, qt, ut, Ut, Et, $t, Tt, te, Rt, ee, kt, ae, Pt, oe, St, Ae, pt, se, Mt, ie, ft, Gt, Lt, re, Wt, he, ot, yt, Nt, wt, Ot, Ct, Jt, le;
815
815
  class z {
816
816
  constructor(e, A = {}) {
817
817
  O(this, ct);
@@ -956,7 +956,7 @@ v = new WeakMap(), dt = new WeakMap(), q = new WeakMap(), U = new WeakMap(), Q =
956
956
  }, mt = new WeakSet(), Bt = function() {
957
957
  clearInterval(h(this, K)), g(this, K, ""), g(this, F, ""), g(this, tt, ""), g(this, nt, "no");
958
958
  }, gt = new WeakSet(), qt = function({ key: e, value: A }) {
959
- const n = _(this, ot, yt).call(this, A.data()), r = Array.isArray(n) ? n.length : 0, o = _(this, Nt, Gt).call(this, A.total(), r);
959
+ const n = _(this, ot, yt).call(this, A.data()), r = Array.isArray(n) ? n.length : 0, o = _(this, Nt, wt).call(this, A.total(), r);
960
960
  let a = 1;
961
961
  n && (a = r), h(this, tt) && (h(this, F) || g(this, F, {}), h(this, F)[e] && h(this, F)[e].count && (a += h(this, F)[e].count), h(this, F)[e] = { total: o, count: a }, h(this, K) || g(this, K, setInterval(() => {
962
962
  const { percent: f, allCount: c, allTotal: i } = h(this, ct, It);
@@ -991,12 +991,12 @@ v = new WeakMap(), dt = new WeakMap(), q = new WeakMap(), U = new WeakMap(), Q =
991
991
  b != "result" && M && (u[b] = M);
992
992
  Object.keys(u).length && (this.answerData[d] = u);
993
993
  }
994
- const Y = _(this, ot, yt).call(this, y.data()), W = Array.isArray(Y) ? Y.length : 0, G = _(this, Nt, Gt).call(this, y.total(), W);
995
- if (Array.isArray(Y) ? h(this, U)[d] = Y : typeof Y == "object" && Y !== null && Object.keys(Y).length === 0 ? h(this, U)[d] = [] : h(this, U)[d] = Y, c += G, n || _(this, gt, qt).call(this, { key: d, value: y }), G > h(this, Q) && G > W) {
996
- const b = Math.ceil(G / h(this, Q)) - 1, M = Array.from({ length: b });
994
+ const Y = _(this, ot, yt).call(this, y.data()), W = Array.isArray(Y) ? Y.length : 0, w = _(this, Nt, wt).call(this, y.total(), W);
995
+ if (Array.isArray(Y) ? h(this, U)[d] = Y : typeof Y == "object" && Y !== null && Object.keys(Y).length === 0 ? h(this, U)[d] = [] : h(this, U)[d] = Y, c += w, n || _(this, gt, qt).call(this, { key: d, value: y }), w > h(this, Q) && w > W) {
996
+ const b = Math.ceil(w / h(this, Q)) - 1, M = Array.from({ length: b });
997
997
  a.push([d, o[d], M]);
998
998
  }
999
- }), c > 5e3 && h(this, et) === !1 && h(this, at) === !1 && g(this, k, !0), f > 0 && _(this, Ot, Ct).call(this), a.length ? (_(this, kt, ae).call(this, a), _(this, Pt, oe).call(this).then(() => r(_(this, ft, wt).call(this)))) : r(_(this, ft, wt).call(this));
999
+ }), c > 5e3 && h(this, et) === !1 && h(this, at) === !1 && g(this, k, !0), f > 0 && _(this, Ot, Ct).call(this), a.length ? (_(this, kt, ae).call(this, a), _(this, Pt, oe).call(this).then(() => r(_(this, ft, Gt).call(this)))) : r(_(this, ft, Gt).call(this));
1000
1000
  });
1001
1001
  });
1002
1002
  }, Tt = new WeakSet(), te = function(e, A, n) {
@@ -1004,8 +1004,8 @@ v = new WeakMap(), dt = new WeakMap(), q = new WeakMap(), U = new WeakMap(), Q =
1004
1004
  return new Promise((o) => {
1005
1005
  let a = 0;
1006
1006
  h(this, v).call(this, "batch", r, (f) => {
1007
- var y, u, N, Y, W, G;
1008
- let c = ((u = (y = f == null ? void 0 : f.answer) == null ? void 0 : y.result) == null ? void 0 : u.result) ?? null, i = ((Y = (N = f == null ? void 0 : f.answer) == null ? void 0 : N.result) == null ? void 0 : Y.result_error) ?? null, d = ((G = (W = f == null ? void 0 : f.answer) == null ? void 0 : W.result) == null ? void 0 : G.result_time) ?? null;
1007
+ var y, u, N, Y, W, w;
1008
+ let c = ((u = (y = f == null ? void 0 : f.answer) == null ? void 0 : y.result) == null ? void 0 : u.result) ?? null, i = ((Y = (N = f == null ? void 0 : f.answer) == null ? void 0 : N.result) == null ? void 0 : Y.result_error) ?? null, d = ((w = (W = f == null ? void 0 : f.answer) == null ? void 0 : W.result) == null ? void 0 : w.result_time) ?? null;
1009
1009
  (c || Object.keys(c).length) && Object.entries(c).forEach(([b, M]) => {
1010
1010
  this.answerData[b] = M;
1011
1011
  }), (i || Object.keys(i).length) && Object.entries(i).forEach(([b, M]) => {
@@ -1029,9 +1029,9 @@ v = new WeakMap(), dt = new WeakMap(), q = new WeakMap(), U = new WeakMap(), Q =
1029
1029
  Object.entries(o).forEach(([a, f]) => {
1030
1030
  const c = f.error();
1031
1031
  c && (this.errors[a] = c, r += 1);
1032
- const i = _(this, ot, yt).call(this, f.data()), d = Array.isArray(i) ? i.length : 0, y = _(this, Nt, Gt).call(this, f.total(), d);
1032
+ const i = _(this, ot, yt).call(this, f.data()), d = Array.isArray(i) ? i.length : 0, y = _(this, Nt, wt).call(this, f.total(), d);
1033
1033
  h(this, U)[a] = y;
1034
- }), r > 0 && _(this, Ot, Ct).call(this), A(_(this, ft, wt).call(this));
1034
+ }), r > 0 && _(this, Ot, Ct).call(this), A(_(this, ft, Gt).call(this));
1035
1035
  });
1036
1036
  });
1037
1037
  }, kt = new WeakSet(), ae = function(e) {
@@ -1072,7 +1072,7 @@ v = new WeakMap(), dt = new WeakMap(), q = new WeakMap(), U = new WeakMap(), Q =
1072
1072
  return Promise.resolve();
1073
1073
  const A = e.shift();
1074
1074
  return _(this, St, Ae).call(this).then(() => A()).then(() => h(this, $) ? _(this, Mt, ie).call(this, e) : Promise.resolve());
1075
- }, ft = new WeakSet(), wt = function() {
1075
+ }, ft = new WeakSet(), Gt = function() {
1076
1076
  return Object.entries(h(this, dt)).forEach(([e, A]) => {
1077
1077
  h(this, U)[e] && (h(this, U)[e] = A(h(this, U)[e]));
1078
1078
  }), h(this, U);
@@ -1092,14 +1092,14 @@ v = new WeakMap(), dt = new WeakMap(), q = new WeakMap(), U = new WeakMap(), Q =
1092
1092
  return [n, { start: A, ...r }];
1093
1093
  }, ot = new WeakSet(), yt = function(e) {
1094
1094
  return ((e == null ? void 0 : e.items) || (e == null ? void 0 : e.documents) || (e == null ? void 0 : e.tasks)) ?? e;
1095
- }, Nt = new WeakSet(), Gt = function(e, A) {
1095
+ }, Nt = new WeakSet(), wt = function(e, A) {
1096
1096
  return e !== e && (e = 0), e === 0 && A === 0 ? 0 : e || A;
1097
1097
  }, Ot = new WeakSet(), Ct = function() {
1098
1098
  console.group(`${this.constructor.name}: Ошибки в методах!`), Object.entries(this.errors).forEach(([e, A]) => {
1099
1099
  console.info(`[${e}]`, A);
1100
1100
  }), console.groupEnd();
1101
1101
  }, Jt = new WeakSet(), le = function(e) {
1102
- var n, r, o, a, f, c, i, d, y, u, N, Y, W, G, b, M, X, x, J, it, B, rt, R, t;
1102
+ var n, r, o, a, f, c, i, d, y, u, N, Y, W, w, b, M, X, x, J, it, B, rt, R, t;
1103
1103
  let A = {
1104
1104
  halt: 0,
1105
1105
  cmd: {}
@@ -1108,7 +1108,7 @@ v = new WeakMap(), dt = new WeakMap(), q = new WeakMap(), U = new WeakMap(), Q =
1108
1108
  const l = s;
1109
1109
  let m = (n = e[s]) != null && n.method ? (r = e[s]) == null ? void 0 : r.method : "", p = "", E = "", S = "";
1110
1110
  const P = (a = (o = e[s]) == null ? void 0 : o.params) == null ? void 0 : a.fields;
1111
- if ((c = (f = e[s]) == null ? void 0 : f.params) != null && c.entityTypeId ? (p = `?entityTypeId=${parseInt((d = (i = e[s]) == null ? void 0 : i.params) == null ? void 0 : d.entityTypeId)}`, (u = (y = e[s]) == null ? void 0 : y.params) != null && u.id && (E = `&id=${(Y = (N = e[s]) == null ? void 0 : N.params) == null ? void 0 : Y.id}`), (G = (W = e[s]) == null ? void 0 : W.params) != null && G.ID && (E = `&ID=${(M = (b = e[s]) == null ? void 0 : b.params) == null ? void 0 : M.ID}`)) : ((x = (X = e[s]) == null ? void 0 : X.params) != null && x.id && (E = `?id=${(it = (J = e[s]) == null ? void 0 : J.params) == null ? void 0 : it.id}`), (rt = (B = e[s]) == null ? void 0 : B.params) != null && rt.ID && (E = `?ID=${(t = (R = e[s]) == null ? void 0 : R.params) == null ? void 0 : t.ID}`)), Object.keys(P).length > 0)
1111
+ if ((c = (f = e[s]) == null ? void 0 : f.params) != null && c.entityTypeId ? (p = `?entityTypeId=${parseInt((d = (i = e[s]) == null ? void 0 : i.params) == null ? void 0 : d.entityTypeId)}`, (u = (y = e[s]) == null ? void 0 : y.params) != null && u.id && (E = `&id=${(Y = (N = e[s]) == null ? void 0 : N.params) == null ? void 0 : Y.id}`), (w = (W = e[s]) == null ? void 0 : W.params) != null && w.ID && (E = `&ID=${(M = (b = e[s]) == null ? void 0 : b.params) == null ? void 0 : M.ID}`)) : ((x = (X = e[s]) == null ? void 0 : X.params) != null && x.id && (E = `?id=${(it = (J = e[s]) == null ? void 0 : J.params) == null ? void 0 : it.id}`), (rt = (B = e[s]) == null ? void 0 : B.params) != null && rt.ID && (E = `?ID=${(t = (R = e[s]) == null ? void 0 : R.params) == null ? void 0 : t.ID}`)), Object.keys(P).length > 0)
1112
1112
  for (let H in P)
1113
1113
  S += `&fields[${H}]=${P[H]}`;
1114
1114
  A.cmd[l] = `${m}${p}${E}${S}`.trim();
@@ -1560,9 +1560,9 @@ class pe {
1560
1560
  this.placeData || (this.placeData = await this.getPlacement());
1561
1561
  const { appName: A, pathApp: n } = this.appConst, r = this.placeData.map((a) => a.placement);
1562
1562
  let o = this.placeData.find((a) => a.placement == e);
1563
- r.includes(e) ? o.handler != n && (window.placementUnBind || (window.placementUnBind = {}), window.placementUnBind[e] || this.placementUnBind(o).then(() => {
1564
- window.placementUnBind[e] || (window.placementUnBind[e] = !0, this.placementBind(e));
1565
- })) : this.call({
1563
+ r.includes(e) ? o.handler != n && await this.placementUnBind(e, o.handler).then(() => {
1564
+ this.placementBind(e);
1565
+ }) : this.call({
1566
1566
  method: "placement.bind",
1567
1567
  params: {
1568
1568
  PLACEMENT: e,
@@ -1578,20 +1578,20 @@ class pe {
1578
1578
  });
1579
1579
  }
1580
1580
  /** Отвязка встройки из place */
1581
- placementUnBind(e) {
1582
- const { pathApp: A, appName: n } = this.appConst;
1583
- return this.call({
1581
+ async placementUnBind(e, A) {
1582
+ const { pathApp: n, appName: r } = this.appConst;
1583
+ return await this.call({
1584
1584
  method: "placement.unbind",
1585
1585
  params: {
1586
1586
  PLACEMENT: e,
1587
- HANDLER: A,
1587
+ HANDLER: A ?? n,
1588
1588
  LANG_ALL: {
1589
1589
  ru: {
1590
- TITLE: n
1590
+ TITLE: r
1591
1591
  }
1592
1592
  }
1593
1593
  }
1594
- }).then((r) => (console.log("Встройка отвязана", e), r));
1594
+ }).then((o) => (console.log("Встройка отвязана", e), o));
1595
1595
  }
1596
1596
  /** Чат-бот */
1597
1597
  /* получение списка ботов */