szdl-utils-kit 0.2.30 → 0.3.5
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 +206 -140
- package/dist/index.js +1435 -928
- package/dist/index.umd.cjs +2 -2
- package/dist/types/background-worker.d.ts +81 -0
- package/dist/types/batch.d.ts +121 -55
- package/dist/types/bx-boot.d.ts +109 -154
- package/dist/types/bx-helper.d.ts +14 -20
- package/dist/types/bx-logger.d.ts +32 -35
- package/dist/types/index.d.ts +3 -2
- package/package.json +1 -1
package/dist/types/bx-boot.d.ts
CHANGED
|
@@ -1,177 +1,132 @@
|
|
|
1
|
-
type
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
1
|
+
import type {
|
|
2
|
+
TCommand,
|
|
3
|
+
TCommandList,
|
|
4
|
+
TBatchResult,
|
|
5
|
+
TBatchProgressCallback,
|
|
6
|
+
TBatchLimitCallback,
|
|
7
|
+
} from './batch';
|
|
8
|
+
import type BxLogger from './bx-logger';
|
|
9
|
+
|
|
10
|
+
type BxAppEntity = {
|
|
11
|
+
key: string;
|
|
12
|
+
name: string;
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
type BxAppConst = {
|
|
16
|
+
appName: string;
|
|
17
|
+
pathApp: string;
|
|
18
|
+
appNameEng?: string;
|
|
19
|
+
zip?: string;
|
|
20
|
+
chatBotLogo?: string;
|
|
21
|
+
entity?: BxAppEntity[];
|
|
18
22
|
};
|
|
19
23
|
|
|
20
|
-
type
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
}
|
|
24
|
+
type BxUserOptionReturn<T> = T extends undefined ? string | number | undefined : void;
|
|
25
|
+
|
|
26
|
+
type UpdateListChange = {
|
|
27
|
+
id: string | number;
|
|
28
|
+
fields: Record<
|
|
29
|
+
string,
|
|
30
|
+
{
|
|
31
|
+
oldValue: string | number | string[] | number[];
|
|
32
|
+
newValue: string | number | string[] | number[];
|
|
30
33
|
}
|
|
31
|
-
|
|
32
|
-
}
|
|
34
|
+
>;
|
|
35
|
+
};
|
|
33
36
|
|
|
34
|
-
type
|
|
35
|
-
method: string
|
|
36
|
-
|
|
37
|
-
|
|
37
|
+
type UpdateListItem = {
|
|
38
|
+
method: string;
|
|
39
|
+
name: string;
|
|
40
|
+
list: UpdateListChange[];
|
|
41
|
+
};
|
|
38
42
|
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
43
|
+
type UpdateList = UpdateListItem[];
|
|
44
|
+
|
|
45
|
+
type BatchOptions = {
|
|
46
|
+
updateList?: UpdateList;
|
|
47
|
+
errorCall?: (errors: Record<string, string>) => void;
|
|
48
|
+
limitCommandSerial?: number;
|
|
49
|
+
limitCall?: TBatchLimitCallback;
|
|
50
|
+
};
|
|
51
|
+
|
|
52
|
+
type LoggerStub = {
|
|
53
|
+
start: (...args: unknown[]) => void;
|
|
54
|
+
stop: (...args: unknown[]) => void;
|
|
55
|
+
getEntityList: (...args: unknown[]) => void;
|
|
56
|
+
};
|
|
57
|
+
|
|
58
|
+
declare class BxBoot {
|
|
59
|
+
constructor(appConst: BxAppConst);
|
|
49
60
|
|
|
50
61
|
/** Доменное имя портала */
|
|
51
62
|
domain: string;
|
|
63
|
+
/** Флаг администратора для текущего пользователя */
|
|
52
64
|
isAdmin: boolean;
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
CODE: string,
|
|
58
|
-
VERSION: number,
|
|
59
|
-
STATUS: string,
|
|
60
|
-
INSTALLED: boolean,
|
|
61
|
-
PAYMENT_EXPIRED: string,
|
|
62
|
-
DAYS: null | number,
|
|
63
|
-
LANGUAGE_ID: string,
|
|
64
|
-
LICENSE: string,
|
|
65
|
-
LICENSE_TYPE: string,
|
|
66
|
-
LICENSE_FAMILY: string
|
|
67
|
-
};
|
|
68
|
-
|
|
69
|
-
/** Параметры приложения */
|
|
70
|
-
appConst: {
|
|
71
|
-
appName: string,
|
|
72
|
-
appNameEng: string,
|
|
73
|
-
pathApp: string,
|
|
74
|
-
zip: string,
|
|
75
|
-
chatBotLogo: string,
|
|
76
|
-
entity: { key: string, name: string }[],
|
|
77
|
-
};
|
|
78
|
-
|
|
65
|
+
/** Информация о приложении, предоставленная Bitrix24 */
|
|
66
|
+
appInfo: Record<string, unknown> | null;
|
|
67
|
+
/** Константы приложения, переданные в конструктор */
|
|
68
|
+
appConst: BxAppConst;
|
|
79
69
|
/** Информация о текущем пользователе */
|
|
80
|
-
userInfo: Record<string, unknown
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
placeData: Record<string, unknown>[];
|
|
84
|
-
|
|
70
|
+
userInfo: Record<string, unknown> | null;
|
|
71
|
+
/** Список существующих встройкок приложения */
|
|
72
|
+
placeData: Array<Record<string, unknown>> | null;
|
|
85
73
|
/** Информация о текущем месте встройки */
|
|
86
|
-
placeInfo: {
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
};
|
|
74
|
+
placeInfo: { placement: string; options: Record<string, string> } | null;
|
|
75
|
+
/** Экземпляр логгера или заглушка, если логирование отключено */
|
|
76
|
+
logger: false | BxLogger | LoggerStub;
|
|
90
77
|
|
|
78
|
+
/** Инициализация SDK BX24 */
|
|
79
|
+
init(): Promise<boolean>;
|
|
91
80
|
|
|
81
|
+
/** Получение или установка пользовательской опции */
|
|
82
|
+
userOption<T extends string | number | undefined>(key: string, value?: T): BxUserOptionReturn<T>;
|
|
92
83
|
|
|
93
|
-
/**
|
|
94
|
-
|
|
84
|
+
/** Вызов REST-метода Bitrix24 */
|
|
85
|
+
call(params: {
|
|
86
|
+
method: string;
|
|
87
|
+
params?: Record<string, unknown>;
|
|
88
|
+
updateList?: UpdateList;
|
|
89
|
+
}): Promise<unknown | false>;
|
|
95
90
|
|
|
96
|
-
/**
|
|
97
|
-
*
|
|
98
|
-
* Если передан 'key', то возвращает опцию по ключу. <br>
|
|
99
|
-
* Если передан 'key' и 'value', то функция изменяет ключ по переданному значению.
|
|
100
|
-
*/
|
|
101
|
-
userOption<T extends string | number | undefined>(key: string, value?: T): UserOptionReturnType<T>
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
/** Вызывает указанный метод REST-сервиса с указанными параметрам */
|
|
105
|
-
call({ method, params, updateList}: {
|
|
106
|
-
method: string,
|
|
107
|
-
params: TCommandParams,
|
|
108
|
-
updateList: TUpdateList,
|
|
109
|
-
}): Promise<unknown[] | boolean>;
|
|
110
|
-
|
|
111
|
-
/**
|
|
112
|
-
* Пакетный запрос данных
|
|
113
|
-
* @param commandList - лист команд можно передавать как в виде объекта, так и в виде массива команд
|
|
114
|
-
* @param progressCall - принимает callback, в котором возвращается передается статус загрузки данных в процентах
|
|
115
|
-
* @param updateList - лист update данных, которые нужно записать в сессию логгера,
|
|
116
|
-
* для возможности отката к старым значениям
|
|
117
|
-
* @param errorCall - принимает callback, в котором возвращается объект ошибок
|
|
118
|
-
* @param limitCommandSerial - лимит команд при котором происходит переключение батча в последовательный режим по дефолту 50
|
|
119
|
-
*/
|
|
91
|
+
/** Выполнение пакетного списка запросов */
|
|
120
92
|
batch(
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
}
|
|
128
|
-
): Promise<Record<string, unknown[]> | boolean>;
|
|
129
|
-
|
|
130
|
-
/**
|
|
131
|
-
* Пакетный запрос количества элементов по запрошенным сущностям
|
|
132
|
-
* @param commandList - лист команд можно передавать как в виде объекта, так и в виде массива команд
|
|
133
|
-
* @param progressCall - принимает callback в который передается статус загрузки данных в процентах
|
|
134
|
-
*/
|
|
93
|
+
commandList: TCommandList,
|
|
94
|
+
progressCall?: TBatchProgressCallback,
|
|
95
|
+
options?: BatchOptions
|
|
96
|
+
): Promise<TBatchResult | false>;
|
|
97
|
+
|
|
98
|
+
/** Получение количества элементов по списку запросов */
|
|
135
99
|
batchTotalCount(
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
/** Регистрация чат-бота
|
|
159
|
-
* @param code - Строковой идентификатор бота, уникальный в рамках вашего приложения
|
|
160
|
-
* @param type - Тип бота, B - чат-бот, ответы поступают сразу, H - человек, ответы поступают с задержкой от 2-х до 10 секунд, O - чат-бот для Открытых линий, S - чат-бот с повышенными привилегиями (supervisor)
|
|
161
|
-
* @param name - Имя чат-бота
|
|
162
|
-
*/
|
|
163
|
-
regBot({ code, type, name }:{
|
|
164
|
-
code: string, type: string, name: string
|
|
165
|
-
}): Promise<unknown | boolean>;
|
|
100
|
+
commandList: TCommandList,
|
|
101
|
+
progressCall?: TBatchProgressCallback,
|
|
102
|
+
options?: BatchOptions
|
|
103
|
+
): Promise<TBatchResult | false>;
|
|
104
|
+
|
|
105
|
+
/** Получение информации о местах встройки приложения */
|
|
106
|
+
getPlacement(): Promise<unknown[] | false>;
|
|
107
|
+
|
|
108
|
+
/** Привязка приложения к указанному месту встройки */
|
|
109
|
+
placementBind(place: string | string[], userId?: number | string): Promise<void>;
|
|
110
|
+
|
|
111
|
+
/** Отвязка приложения от места встройки */
|
|
112
|
+
placementUnBind(place: string | string[], handlerUrl?: string): Promise<void>;
|
|
113
|
+
|
|
114
|
+
/** Проверка и актуализация существующих встройкок приложения */
|
|
115
|
+
placementCheck(): Promise<void>;
|
|
116
|
+
|
|
117
|
+
/** Получение списка зарегистрированных чат-ботов */
|
|
118
|
+
getBotList(): Promise<unknown[] | false>;
|
|
119
|
+
|
|
120
|
+
/** Регистрация чат-бота */
|
|
121
|
+
regBot(params: { code?: string; type?: string; name?: string }): Promise<unknown | false>;
|
|
166
122
|
|
|
167
123
|
/** Удаление чат-бота */
|
|
168
|
-
unRegBot(id: number|string): Promise<unknown |
|
|
124
|
+
unRegBot(id: number | string): Promise<unknown | false>;
|
|
169
125
|
|
|
170
|
-
/**
|
|
171
|
-
|
|
172
|
-
* @param progressCall - коллбэк
|
|
173
|
-
*/
|
|
174
|
-
async getLoggerList(progressCall: (data:{ percent: number })=>void): Promise<{[key]: any}[]>
|
|
126
|
+
/** Получение списка записей логгера */
|
|
127
|
+
getLoggerList(progressCall?: TBatchProgressCallback): Promise<unknown>;
|
|
175
128
|
}
|
|
176
129
|
|
|
130
|
+
export type { BxAppConst, UpdateList, UpdateListItem };
|
|
131
|
+
|
|
177
132
|
export default BxBoot;
|
|
@@ -1,28 +1,22 @@
|
|
|
1
|
-
declare class BxHelper{
|
|
1
|
+
declare class BxHelper {
|
|
2
2
|
/** Уникальная 8-символьная хэш-строка */
|
|
3
|
-
get hash(): string
|
|
3
|
+
get hash(): string;
|
|
4
4
|
|
|
5
|
-
/** Генератор
|
|
6
|
-
|
|
7
|
-
*/
|
|
8
|
-
createHash(length:number):string
|
|
5
|
+
/** Генератор хеша указанной длины */
|
|
6
|
+
createHash(length?: number): string;
|
|
9
7
|
|
|
10
|
-
/**
|
|
11
|
-
|
|
12
|
-
* @param duration - время задержки для срабатывания action
|
|
13
|
-
* @param action - действие которое должно отработать
|
|
14
|
-
*/
|
|
15
|
-
actionFilter({ keyTimer, duration=10, action }:{
|
|
8
|
+
/** Debounce-фильтр для часто запускаемых действий */
|
|
9
|
+
actionFilter(params: {
|
|
16
10
|
keyTimer: string;
|
|
17
|
-
duration
|
|
18
|
-
action
|
|
19
|
-
}):void
|
|
11
|
+
duration?: number;
|
|
12
|
+
action?: () => void;
|
|
13
|
+
}): void;
|
|
20
14
|
|
|
21
|
-
/**
|
|
22
|
-
noSleep(): void
|
|
15
|
+
/** Активация режима NO-SLEEP через скрытое видео */
|
|
16
|
+
noSleep(): Promise<void>;
|
|
23
17
|
|
|
24
|
-
/**
|
|
25
|
-
downloadFileJson(data, filename:string
|
|
18
|
+
/** Выгрузка данных в JSON-файл */
|
|
19
|
+
downloadFileJson(data: unknown, filename: string): void;
|
|
26
20
|
}
|
|
27
21
|
|
|
28
|
-
export default BxHelper
|
|
22
|
+
export default BxHelper;
|
|
@@ -1,44 +1,41 @@
|
|
|
1
|
+
type LoggerType = 'call' | 'batch' | 'batch-total-count';
|
|
2
|
+
|
|
3
|
+
type LoggerData =
|
|
4
|
+
| {
|
|
5
|
+
method: string;
|
|
6
|
+
params: Record<string, unknown>;
|
|
7
|
+
}
|
|
8
|
+
| {
|
|
9
|
+
commandList: Record<string, unknown>;
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
type LoggerStopStatus = 'success' | 'fail' | 'fail-runtime';
|
|
13
|
+
|
|
1
14
|
declare class BxLogger {
|
|
2
15
|
/** Очистка хранилища элементов старше 'N' месяцев */
|
|
3
16
|
periodClear: number;
|
|
4
17
|
|
|
5
18
|
/** Инициализация логгера */
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
/** Старт сессии
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
start({ type, data }:{
|
|
14
|
-
type: 'call'|'batch'|'batch-total-count';
|
|
15
|
-
data: {
|
|
16
|
-
method: string,
|
|
17
|
-
params: { [key]: any }
|
|
18
|
-
}|{ commandList: { [key]: any } };
|
|
19
|
-
}):string;
|
|
20
|
-
|
|
21
|
-
/** Конец сессии логирования
|
|
22
|
-
* @param key - уникальный ключ сессии
|
|
23
|
-
* @param errorList - массив ошибок
|
|
24
|
-
* @param status - статус сессии
|
|
25
|
-
* @param answer - служебная информация
|
|
26
|
-
*/
|
|
27
|
-
stop({ key, errorList, status, answer }:{
|
|
19
|
+
init(): Promise<boolean>;
|
|
20
|
+
|
|
21
|
+
/** Старт новой сессии логирования */
|
|
22
|
+
start(params: { type: LoggerType; data: LoggerData }): string | null;
|
|
23
|
+
|
|
24
|
+
/** Остановка сессии логирования */
|
|
25
|
+
stop(params: {
|
|
28
26
|
key: string;
|
|
29
|
-
errorList
|
|
30
|
-
status
|
|
31
|
-
answer
|
|
32
|
-
}):void
|
|
33
|
-
|
|
34
|
-
/**
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
*/
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
/** Выгрузка всех данных из хранилища в JSON-файл */
|
|
41
|
-
downAllEntityJson(): void
|
|
27
|
+
errorList?: Record<string, unknown>;
|
|
28
|
+
status?: LoggerStopStatus;
|
|
29
|
+
answer?: Record<string, unknown> | null;
|
|
30
|
+
}): Promise<void>;
|
|
31
|
+
|
|
32
|
+
/** Получение списка записей логгера */
|
|
33
|
+
getEntityList(progressCall?: (data: { percent: number }) => void): Promise<Record<string, unknown>[]>;
|
|
34
|
+
|
|
35
|
+
/** Выгрузка всех записей логгера в JSON */
|
|
36
|
+
downAllEntityJson(): Promise<boolean>;
|
|
42
37
|
}
|
|
43
38
|
|
|
39
|
+
export type { LoggerType, LoggerData, LoggerStopStatus };
|
|
40
|
+
|
|
44
41
|
export default BxLogger;
|
package/dist/types/index.d.ts
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import Batch from "./batch";
|
|
2
2
|
import BxBoot from "./bx-boot";
|
|
3
3
|
import BxHelper from "./bx-helper";
|
|
4
|
-
import BxLogger from
|
|
4
|
+
import BxLogger from "./bx-logger";
|
|
5
|
+
import BackgroundWorker from "./background-worker";
|
|
5
6
|
|
|
6
7
|
declare function tempus():{
|
|
7
8
|
format();
|
|
@@ -12,4 +13,4 @@ declare function tempus():{
|
|
|
12
13
|
generate();
|
|
13
14
|
};
|
|
14
15
|
|
|
15
|
-
export { Batch, BxBoot, BxHelper, BxLogger, tempus }
|
|
16
|
+
export { Batch, BxBoot, BxHelper, BxLogger, BackgroundWorker, tempus }
|