@dxtmisha/functional 1.15.13 → 1.15.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (75) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/ai-description.md +7 -7
  3. package/ai-mcp-resources.json +8 -8
  4. package/ai-types.md +1 -1645
  5. package/dist/library.d.ts +3556 -67
  6. package/dist/library.js +281 -311
  7. package/package.json +11 -4
  8. package/dist/classes/design/DesignAbstract.d.ts +0 -61
  9. package/dist/classes/design/DesignAsyncAbstract.d.ts +0 -28
  10. package/dist/classes/design/DesignChanged.d.ts +0 -42
  11. package/dist/classes/design/DesignComp.d.ts +0 -4
  12. package/dist/classes/design/DesignComponents.d.ts +0 -81
  13. package/dist/classes/design/DesignConstructorAbstract.d.ts +0 -150
  14. package/dist/classes/ref/DatetimeRef.d.ts +0 -123
  15. package/dist/classes/ref/EffectScopeGlobal.d.ts +0 -22
  16. package/dist/classes/ref/EventRef.d.ts +0 -22
  17. package/dist/classes/ref/GeoFlagRef.d.ts +0 -82
  18. package/dist/classes/ref/GeoIntlRef.d.ts +0 -220
  19. package/dist/classes/ref/GeoRef.d.ts +0 -82
  20. package/dist/classes/ref/GeoUnitRef.d.ts +0 -153
  21. package/dist/classes/ref/ListDataRef.d.ts +0 -366
  22. package/dist/classes/ref/RouterItemRef.d.ts +0 -61
  23. package/dist/classes/ref/ScrollbarWidthRef.d.ts +0 -22
  24. package/dist/composables/ref/useApiAsyncRef.d.ts +0 -70
  25. package/dist/composables/ref/useApiDelete.d.ts +0 -23
  26. package/dist/composables/ref/useApiGet.d.ts +0 -23
  27. package/dist/composables/ref/useApiManagementAsyncRef.d.ts +0 -58
  28. package/dist/composables/ref/useApiManagementRef.d.ts +0 -161
  29. package/dist/composables/ref/useApiPost.d.ts +0 -23
  30. package/dist/composables/ref/useApiPut.d.ts +0 -23
  31. package/dist/composables/ref/useApiRef.d.ts +0 -159
  32. package/dist/composables/ref/useApiRequest.d.ts +0 -105
  33. package/dist/composables/ref/useBroadcastValueRef.d.ts +0 -11
  34. package/dist/composables/ref/useCookieRef.d.ts +0 -11
  35. package/dist/composables/ref/useFormattersRef.d.ts +0 -21
  36. package/dist/composables/ref/useGeoIntlRef.d.ts +0 -14
  37. package/dist/composables/ref/useGeoUnitRef.d.ts +0 -7
  38. package/dist/composables/ref/useHashRef.d.ts +0 -9
  39. package/dist/composables/ref/useLazyItemByMarginRef.d.ts +0 -24
  40. package/dist/composables/ref/useLazyRef.d.ts +0 -42
  41. package/dist/composables/ref/useLoadingRef.d.ts +0 -7
  42. package/dist/composables/ref/useMeta.d.ts +0 -223
  43. package/dist/composables/ref/useQueryRef.d.ts +0 -9
  44. package/dist/composables/ref/useRouterList.d.ts +0 -28
  45. package/dist/composables/ref/useSearchRef.d.ts +0 -36
  46. package/dist/composables/ref/useSearchValueRef.d.ts +0 -19
  47. package/dist/composables/ref/useSessionRef.d.ts +0 -9
  48. package/dist/composables/ref/useStorageRef.d.ts +0 -10
  49. package/dist/composables/ref/useTranslateRef.d.ts +0 -40
  50. package/dist/flags.d.ts +0 -1
  51. package/dist/functions/basic.d.ts +0 -1
  52. package/dist/functions/computedAsync.d.ts +0 -13
  53. package/dist/functions/computedByLanguage.d.ts +0 -15
  54. package/dist/functions/computedEternity.d.ts +0 -15
  55. package/dist/functions/dxtFunctionalPlugin.d.ts +0 -82
  56. package/dist/functions/executeUse.d.ts +0 -216
  57. package/dist/functions/getInject.d.ts +0 -7
  58. package/dist/functions/getOptions.d.ts +0 -10
  59. package/dist/functions/ref/executeFunctionRef.d.ts +0 -11
  60. package/dist/functions/ref/getApiErrorRef.d.ts +0 -10
  61. package/dist/functions/ref/getBindRef.d.ts +0 -13
  62. package/dist/functions/ref/getRef.d.ts +0 -8
  63. package/dist/functions/ref/render.d.ts +0 -13
  64. package/dist/functions/ref/setRef.d.ts +0 -9
  65. package/dist/functions/ref/toRefItem.d.ts +0 -9
  66. package/dist/functions/render/getBind.d.ts +0 -14
  67. package/dist/functions/render/getClassName.d.ts +0 -8
  68. package/dist/functions/render/getIndexForRender.d.ts +0 -10
  69. package/dist/functions/toBind.d.ts +0 -10
  70. package/dist/functions/toBinds.d.ts +0 -9
  71. package/dist/types/apiTypes.d.ts +0 -74
  72. package/dist/types/constructorTypes.d.ts +0 -126
  73. package/dist/types/listTypes.d.ts +0 -65
  74. package/dist/types/refTypes.d.ts +0 -43
  75. package/dist/types/searchTypes.d.ts +0 -10
@@ -1,366 +0,0 @@
1
- import { RefOrNormal, RefType } from '../../types/refTypes';
2
- import { ListDataFull, ListDataItem, ListList, ListListInput, ListNames, ListSelectedItem, ListSelectedList } from '../../types/listTypes';
3
- import { ComputedRef } from 'vue';
4
- /**
5
- * Class for managing the data list.
6
- *
7
- * Класс для управления списком данных.
8
- */
9
- export declare class ListDataRef {
10
- protected readonly list: RefOrNormal<ListListInput | undefined>;
11
- protected readonly focus?: RefType<ListSelectedItem | undefined> | undefined;
12
- protected readonly highlight?: RefType<string | undefined> | undefined;
13
- protected readonly highlightLengthStart?: RefType<number | undefined> | undefined;
14
- protected readonly filterMode?: RefType<boolean | undefined> | undefined;
15
- protected readonly selected?: RefType<ListSelectedList | undefined> | undefined;
16
- protected readonly keyValue?: RefType<string | undefined> | undefined;
17
- protected readonly keyLabel?: RefType<string | undefined> | undefined;
18
- protected readonly lite?: RefType<number | undefined> | undefined;
19
- protected readonly min: RefOrNormal<number | string | undefined>;
20
- protected readonly max: RefOrNormal<number | string | undefined>;
21
- protected readonly parent?: string | undefined;
22
- protected subList: Record<any, ListDataRef>;
23
- /**
24
- * Creates an instance of ListData for managing list data.
25
- *
26
- * Создает экземпляр ListData для управления данными списка.
27
- * @param list List data / данные списка
28
- * @param focus Focused item / элемент в фокусе
29
- * @param highlight Search text for highlighting / текст поиска для выделения
30
- * @param highlightLengthStart Minimum length to start highlighting / минимальная длина для начала выделения
31
- * @param filterMode Filter mode / режим фильтрации
32
- * @param selected Selected items / выбранные элементы
33
- * @param keyValue Key for getting item value / ключ для получения значения элемента
34
- * @param keyLabel Key for getting item label / ключ для получения метки элемента
35
- * @param lite Threshold for lite mode / порог для облегченного режима
36
- * @param min Minimum number of selections / минимальное количество выделений
37
- * @param max Maximum number of selections / максимальное количество выделений
38
- * @param parent Parent identifier / идентификатор родителя
39
- */
40
- constructor(list: RefOrNormal<ListListInput | undefined>, focus?: RefType<ListSelectedItem | undefined> | undefined, highlight?: RefType<string | undefined> | undefined, highlightLengthStart?: RefType<number | undefined> | undefined, filterMode?: RefType<boolean | undefined> | undefined, selected?: RefType<ListSelectedList | undefined> | undefined, keyValue?: RefType<string | undefined> | undefined, keyLabel?: RefType<string | undefined> | undefined, lite?: RefType<number | undefined> | undefined, min?: RefOrNormal<number | string | undefined>, max?: RefOrNormal<number | string | undefined>, parent?: string | undefined);
41
- /**
42
- * Returns a list for forming a list.
43
- *
44
- * Возвращает список для формирования списка.
45
- * @returns reactive list of items/ реактивный список элементов
46
- */
47
- readonly data: ComputedRef<ListList>;
48
- /**
49
- * Returns a simplified list for quick loading.
50
- *
51
- * Возвращает упрощенный список для быстрой загрузки.
52
- * @returns simplified reactive list/ упрощенный реактивный список
53
- */
54
- readonly liteData: ComputedRef<ListList>;
55
- /**
56
- * Returns a list of records with all additional data (focus, selection, disabled status).
57
- *
58
- * Возвращает список записей со всеми дополнительными данными (фокус, выделение, статус активности).
59
- * @returns full reactive list/ полный реактивный список
60
- */
61
- readonly fullData: ComputedRef<ListDataFull>;
62
- /**
63
- * Returns a flat map of all entries including sublists.
64
- *
65
- * Возвращает плоскую карту всех записей, включая подсписки.
66
- * @returns reactive flat list/ реактивный плоский список
67
- */
68
- readonly map: ComputedRef<ListList>;
69
- /** Returns a list consisting only of items/ Возвращает список, состоящий только из элементов. */
70
- readonly mapItems: ComputedRef<ListList>;
71
- /**
72
- * Returns a list consisting only of values for selection (item, group, menu).
73
- *
74
- * Возвращает список, состоящий только из значений для выбора (item, group, menu).
75
- * @returns reactive list/ реактивный список
76
- */
77
- readonly items: ComputedRef<ListList>;
78
- /**
79
- * Finds the first element that meets the search conditions.
80
- *
81
- * Находит первый элемент, соответствующий условиям поиска.
82
- * @returns first found index/ первый найденный индекс
83
- */
84
- readonly highlightFirstItem: ComputedRef<number>;
85
- /**
86
- * Is there a selected item.
87
- *
88
- * Есть ли выбранный элемент.
89
- * @returns true if selection exists/ true, если есть выбор
90
- */
91
- readonly isSelected: ComputedRef<boolean>;
92
- /**
93
- * Is the minimum selection reached.
94
- *
95
- * Достигнуто ли минимальное выделение.
96
- * @returns true if minimum reached/ true, если минимум достигнут
97
- */
98
- readonly isSelectedMin: ComputedRef<boolean>;
99
- /**
100
- * Is the maximum selection reached.
101
- *
102
- * Достигнуто ли максимальное выделение.
103
- * @returns true if maximum reached/ true, если максимум достигнут
104
- */
105
- readonly isSelectedMax: ComputedRef<boolean>;
106
- /**
107
- * Returns a list of selected items on the map.
108
- *
109
- * Возвращает список выделенных элементов на карте.
110
- * @returns reactive list of selected items/ реактивный список выделенных элементов
111
- */
112
- readonly selectedList: ComputedRef<ListList>;
113
- /**
114
- * Returns a list of selected items in the current group.
115
- *
116
- * Возвращает список выделенных элементов в текущей группе.
117
- * @returns reactive list of selected items in group/ реактивный список выделенных элементов в группе
118
- */
119
- readonly selectedListInGroup: ComputedRef<ListList>;
120
- /**
121
- * Returns a list of selected labels on the map.
122
- *
123
- * Возвращает список названий выделенных элементов на карте.
124
- * @returns reactive list of labels/ реактивный список названий
125
- */
126
- readonly selectedNames: ComputedRef<ListNames>;
127
- /**
128
- * Returns a list of selected values on the map.
129
- *
130
- * Возвращает список значений выделенных элементов на карте.
131
- * @returns reactive list of values/ реактивный список значений
132
- */
133
- readonly selectedValues: ComputedRef<any[]>;
134
- /**
135
- * Checks whether it is necessary to first display a simplified version.
136
- *
137
- * Проверяет, надо ли сначала вывести упрощенную версию.
138
- * @returns true if lite mode is active/ true, если активен облегченный режим
139
- */
140
- isLite(): boolean;
141
- /**
142
- * Checks if an element is in focus.
143
- *
144
- * Проверяет, есть ли элемент в фокусе.
145
- * @returns true if focus exists/ true, если есть фокус
146
- */
147
- isFocus(): boolean;
148
- /**
149
- * Checks if there is a highlighted item (search results).
150
- *
151
- * Проверяет, есть ли найденный элемент (результаты поиска).
152
- * @returns true if highlight exists/ true, если есть совпадения
153
- */
154
- isHighlight(): boolean;
155
- /**
156
- * Checks if highlighting is active (minimum length reached).
157
- *
158
- * Проверяет, активно ли выделение (достигнута минимальная длина).
159
- * @returns true if active/ true, если активно
160
- */
161
- isHighlightActive(): boolean;
162
- /**
163
- * Returns the number of records in the current list.
164
- *
165
- * Возвращает количество записей в текущем списке.
166
- * @returns length/ количество
167
- */
168
- getLength(): number;
169
- /**
170
- * Returns the number of all available records in the map.
171
- *
172
- * Возвращает количество всех доступных записей в карте.
173
- * @returns length/ количество
174
- */
175
- getLengthByMap(): number;
176
- /**
177
- * Returns the number of all available records (items).
178
- *
179
- * Возвращает количество всех доступных записей (элементы).
180
- * @returns length/ количество
181
- */
182
- getLengthByItems(): number;
183
- /**
184
- * Returns the identifier in focus.
185
- *
186
- * Возвращает идентификатор в фокусе.
187
- * @returns focus identifier/ идентификатор в фокусе
188
- */
189
- getFocus(): ListSelectedItem | undefined;
190
- /**
191
- * Returns the item in focus.
192
- *
193
- * Возвращает элемент в фокусе.
194
- * @returns item in focus/ элемент в фокусе
195
- */
196
- getFocusItem(): ListDataItem | undefined;
197
- /**
198
- * Returns the highlight text.
199
- *
200
- * Возвращает текст для выделения.
201
- * @returns text/ текст
202
- */
203
- getHighlight(): string | undefined;
204
- /**
205
- * Returns the minimum length for highlight to start.
206
- *
207
- * Возвращает минимальную длину для начала выделения.
208
- * @returns length/ длина
209
- */
210
- getHighlightLengthStart(): number;
211
- /**
212
- * Returns the selected identifiers list.
213
- *
214
- * Возвращает список выбранных идентификаторов.
215
- * @returns list/ список
216
- */
217
- getSelected(): ListSelectedList | undefined;
218
- /**
219
- * Returns an item by moving a certain number of steps from the selected item.
220
- *
221
- * Возвращает элемент, перемещаясь на определенное количество шагов от выбранного элемента.
222
- * @param step number of steps/ количество шагов
223
- * @returns target item index/ индекс целевого элемента
224
- */
225
- getSelectedByStep(step: number): ListSelectedItem | undefined;
226
- /**
227
- * Returns the next item from the selected one.
228
- *
229
- * Возвращает следующий элемент от выбранного.
230
- * @returns next item index/ индекс следующего элемента
231
- */
232
- getSelectedNext(): ListSelectedItem | undefined;
233
- /**
234
- * Returns the previous item from the selected one.
235
- *
236
- * Возвращает предыдущий элемент от выбранного.
237
- * @returns previous item index/ индекс предыдущего элемента
238
- */
239
- getSelectedPrev(): ListSelectedItem | undefined;
240
- /**
241
- * Returns an item by moving a certain number of steps from the specified item.
242
- *
243
- * Возвращает элемент, перемещаясь на определенное количество шагов от указанного элемента.
244
- * @param item item/ элемент
245
- * @param step number of steps/ количество шагов
246
- * @returns target item/ целевой элемент
247
- */
248
- getItemByStep(item: ListDataItem, step: number): ListDataItem | undefined;
249
- /**
250
- * Returns the next item from the specified one.
251
- *
252
- * Возвращает следующий элемент от указанного.
253
- * @param item item/ элемент
254
- * @returns next item/ следующий элемент
255
- */
256
- getItemNext(item: ListDataItem): ListDataItem | undefined;
257
- /**
258
- * Returns the previous item from the specified one.
259
- *
260
- * Возвращает предыдущий элемент от указанного.
261
- * @param item item/ элемент
262
- * @returns previous item/ предыдущий элемент
263
- */
264
- getItemPrev(item: ListDataItem): ListDataItem | undefined;
265
- /**
266
- * Returns an item by moving a certain number of steps from the specified index.
267
- *
268
- * Возвращает элемент, перемещаясь на определенное количество шагов от указанного индекса.
269
- * @param index item index/ индекс элемента
270
- * @param step number of steps/ количество шагов
271
- * @returns target item/ целевой элемент
272
- */
273
- getIndexByStep(index: string, step: number): ListDataItem | undefined;
274
- /**
275
- * Returns the next item from the specified index.
276
- *
277
- * Возвращает следующий элемент от указанного индекса.
278
- * @param index item index/ индекс элемента
279
- * @returns next item/ следующий элемент
280
- */
281
- getIndexNext(index: string): ListDataItem | undefined;
282
- /**
283
- * Returns the previous item from the specified index.
284
- *
285
- * Возвращает предыдущий элемент от указанного индекса.
286
- * @param index item index/ индекс элемента
287
- * @returns previous item/ предыдущий элемент
288
- */
289
- getIndexPrev(index: string): ListDataItem | undefined;
290
- /**
291
- * Returns an item by its index.
292
- *
293
- * Возвращает элемент по его индексу.
294
- * @param index item index/ индекс элемента
295
- * @returns found item details/ информация о найденном элементе
296
- */
297
- getItemByIndex(index?: string): {
298
- key: number;
299
- item: ListDataItem;
300
- } | undefined;
301
- /**
302
- * Returns an item by its key.
303
- *
304
- * Возвращает элемент по его ключу.
305
- * @param key item key/ ключ элемента
306
- * @returns found item/ найденный элемент
307
- */
308
- getItemByKey(key: number): ListDataItem | undefined;
309
- /**
310
- * Returns the first item with the specified parent.
311
- *
312
- * Возвращает первый элемент с указанным родителем.
313
- * @param parent parent identifier to search for / идентификатор родителя для поиска
314
- * @returns first item/ первый элемент
315
- */
316
- getFirstItemByParent(parent: string | undefined): ListDataItem | undefined;
317
- /**
318
- * Returns the last item with the specified parent.
319
- *
320
- * Возвращает последний элемент с указанным родителем.
321
- * @param parent parent identifier to search for / идентификатор родителя для поиска
322
- * @returns last item/ последний элемент
323
- */
324
- getLastItemByParent(parent: string | undefined): ListDataItem | undefined;
325
- /**
326
- * Returns a sublist object for a group item.
327
- *
328
- * Возвращает объект подсписка для группового элемента.
329
- * @param item List item data/ данные элемента списка
330
- * @returns sublist instance/ экземпляр подсписка
331
- */
332
- getSubList(item: ListDataItem): ListDataRef;
333
- /**
334
- * Checks if the item is an item, group, or menu.
335
- *
336
- * Проверяет, является ли элемент элементом, группой или меню.
337
- * @param item List item data/ данные элемента списка
338
- */
339
- protected isItem(item: ListDataItem): boolean;
340
- /**
341
- * Checks if the item is in the specified parent.
342
- *
343
- * Проверяет, находится ли элемент в указанном родителе.
344
- * @param parent parent identifier to search for / идентификатор родителя для поиска
345
- * @param item List item data/ данные элемента списка
346
- */
347
- protected isInParent(parent: string | undefined, item: ListDataItem): boolean;
348
- /**
349
- * Returns the index for the list item.
350
- *
351
- * Возвращает индекс для элемента списка.
352
- * @param index current index / текущий индекс
353
- * @param value item value / значение элемента
354
- * @param key item key / ключ элемента
355
- * @param label item label / метка элемента
356
- */
357
- protected getIndex(index: string | number | undefined, value: any, key: string | number | undefined, label: string | number | undefined): string | number | undefined;
358
- /**
359
- * Creates an object of the record element.
360
- *
361
- * Создает объект элемента записи.
362
- * @param key the value of the key in the element/ значения ключа у элемента
363
- * @param item selected element/ выбранный элемент
364
- */
365
- protected initItem(key: string | number, item: any): ListDataItem;
366
- }
@@ -1,61 +0,0 @@
1
- import { RouteLocationRaw, Router, _RouterClassic } from 'vue-router';
2
- import { ConstrHrefProps } from '../../types/constructorTypes';
3
- /**
4
- * Router management class.
5
- *
6
- * Класс управления роутером.
7
- */
8
- export declare class RouterItemRef {
9
- /**
10
- * Get router instance.
11
- *
12
- * Получить экземпляр роутера.
13
- */
14
- static get(): _RouterClassic;
15
- /**
16
- * Returns the link by name.
17
- *
18
- * Возвращает ссылку по имени.
19
- * @param name route name/ имя маршрута
20
- * @param params route parameters/ параметры маршрута
21
- * @param query route query/ запрос маршрута
22
- */
23
- static getLink(name: string, params?: any, query?: any): string | undefined;
24
- /**
25
- * Returns the link property by name.
26
- *
27
- * Возвращает свойство ссылки по имени.
28
- * @param name route name/ имя маршрута
29
- * @param params route parameters/ параметры маршрута
30
- * @param query route query/ запрос маршрута
31
- */
32
- static getHref(name?: string, params?: any, query?: any): ConstrHrefProps;
33
- /**
34
- * Site path change.
35
- *
36
- * Изменение пути сайта.
37
- * @param to new path/ новый путь
38
- */
39
- static push(to: string | RouteLocationRaw): void;
40
- /**
41
- * Set router instance.
42
- *
43
- * Установить экземпляр роутера.
44
- * @param router router instance/ экземпляр роутера
45
- */
46
- static set(router: Router): void;
47
- /**
48
- * Set router instance only once.
49
- *
50
- * Установить экземпляр роутера только один раз.
51
- * @param router router instance/ экземпляр роутера
52
- */
53
- static setOneTime(router: Router): void;
54
- /**
55
- * Converts the raw route location to href properties.
56
- *
57
- * Преобразует необработанное местоположение маршрута в свойства href.
58
- * @param to raw route location/ необработанное местоположение маршрута
59
- */
60
- static rawToHref(to?: string | RouteLocationRaw): ConstrHrefProps;
61
- }
@@ -1,22 +0,0 @@
1
- import { Ref, ComputedRef } from 'vue';
2
- /**
3
- * Class for getting the scroll width as a reactive item.
4
- *
5
- * Класс для получения ширины скролла в виде реактивного элемента.
6
- */
7
- export declare class ScrollbarWidthRef {
8
- /** Reactive item/ Реактивный элемент */
9
- readonly item: Ref<boolean | undefined, boolean | undefined>;
10
- /** Reactive width/ Реактивная ширина */
11
- readonly width: Ref<number, number>;
12
- /**
13
- * Constructor
14
- */
15
- constructor();
16
- /**
17
- * Checks whether the scroll width is defined.
18
- *
19
- * Проверяет, определена ли ширина скролла.
20
- */
21
- readonly is: ComputedRef<boolean>;
22
- }
@@ -1,70 +0,0 @@
1
- import { ApiInstance, ApiData, ApiDataValidation, ApiErrorStorageList } from '@dxtmisha/functional-basic';
2
- import { UseApiRef } from './useApiRef';
3
- import { RefOrNormal, RefType } from '../../types/refTypes';
4
- import { ApiOptions } from '../../types/apiTypes';
5
- /**
6
- * Asynchronous reactive composable for API requests with built-in SSR support.
7
- * Wraps `useApiRef` and immediately calls `initSsr()` to ensure data is pre-fetched on the server side.
8
- * Use this composable ONLY if you need the request to be executed on the server side during SSR.
9
- * For all other cases, use `useApiRef`.
10
- *
11
- * Асинхронный реактивный composable для API запросов со встроенной поддержкой SSR.
12
- * Оборачивает `useApiRef` и сразу вызывает `initSsr()`, чтобы гарантировать предзагрузку данных на сервере.
13
- * Используйте этот composable ТОЛЬКО если вам необходимо, чтобы запрос был выполнен на стороне сервера
14
- * во время SSR. Во всех остальных случаях используйте обычный `useApiRef`.
15
- *
16
- * @example
17
- * ```typescript
18
- * import { Schema as S } from '@effect/schema'
19
- * import { useApiAsyncRef } from '@dxtmisha/functional'
20
- *
21
- * const userSchema = S.Struct({ id: S.Number, name: S.String })
22
- *
23
- * // Data will be pre-fetched on the server during SSR (onServerPrefetch)
24
- * const { data, loading, errorItem, isResponseContractValid } = useApiAsyncRef(
25
- * '/users/1',
26
- * { method: 'GET' },
27
- * true, // reactivity
28
- * undefined, // conditions
29
- * undefined, // transformation
30
- * (data) => { // validateResponseContract
31
- * try {
32
- * return { status: 'success', data: S.decodeUnknownSync(userSchema)(data) }
33
- * } catch (e) {
34
- * return { status: 'error', errors: e }
35
- * }
36
- * },
37
- * [ // errorContract
38
- * { status: 404, message: 'User not found' }
39
- * ]
40
- * )
41
- * ```
42
- *
43
- * @param path path to request (can be a Ref or Getter) / путь к запросу (может быть Ref или Getter)
44
- * @param options data for the request (headers, method, etc.) / данные для запроса (заголовки, метод и т.д.)
45
- * @param reactivity should reactivity be enabled (automatically re-fetch on deps change) /
46
- * включить ли реактивность (автоматически повторять запрос при изменении зависимостей)
47
- * @param conditions conditions for executing the request (request will wait until true) /
48
- * условия выполнения запроса (запрос будет ждать пока не станет true)
49
- * @param transformation transforms the received response data / преобразовывает полученные данные ответа
50
- * @param validateResponseContract function to validate response data contract. Used to ensure that the API
51
- * response matches the expected structure. Highly recommended to use with `@effect/schema`.
52
- * It should return `ApiDataValidation` containing a `status` ('success' or 'error')
53
- * and the parsed data or errors. /
54
- * Функция для проверки контракта данных ответа. Используется для гарантии того, что ответ API соответствует
55
- * ожидаемой структуре. Настоятельно рекомендуется использовать с `@effect/schema`. Должна возвращать объект
56
- * `ApiDataValidation`, содержащий `status` ('success' или 'error') и распарсенные данные или ошибки.
57
- * @param errorContract array of expected error contracts for the request (`ApiErrorStorageList`).
58
- * Highly recommended to add if there is information about possible request errors. Allows you to predefine
59
- * possible errors (by code, status, or custom validation). If an error occurs matching one of these contracts,
60
- * it will be automatically processed and made available via the `errorItem` computed property. /
61
- * Массив контрактов ожидаемых ошибок для запроса (`ApiErrorStorageList`). Желательно добавлять, если есть
62
- * информация о возможных ошибках запроса. Позволяет заранее описать возможные ошибки (по коду, статусу или
63
- * кастомной валидации). Если возникает ошибка, совпадающая с одним из контрактов, она автоматически
64
- * обрабатывается и становится доступной через вычисляемое свойство `errorItem` для удобного отображения в UI.
65
- * @param unmounted whether to stop the request and clear data from cache when component is unmounted /
66
- * нужно ли останавливать запрос и удалять данные из кеша при размонтировании компонента
67
- * @param apiInstance Api instance (defaults to global Api instance) /
68
- * Экземпляр Api (по умолчанию используется глобальный экземпляр Api)
69
- */
70
- export declare function useApiAsyncRef<R, T = R>(path?: RefOrNormal<string | undefined>, options?: ApiOptions, reactivity?: boolean, conditions?: RefType<boolean>, transformation?: (data: T, isResponseContractValid?: ApiDataValidation) => ApiData<R>, validateResponseContract?: (data: T) => ApiDataValidation, errorContract?: ApiErrorStorageList, unmounted?: boolean, apiInstance?: ApiInstance): UseApiRef<R>;
@@ -1,23 +0,0 @@
1
- import { ApiData, ApiFetch } from '@dxtmisha/functional-basic';
2
- import { UseApiRequestSetup } from './useApiRequest';
3
- import { Ref } from 'vue';
4
- /**
5
- * Setup interface for API DELETE request.
6
- *
7
- * Интерфейс настроек для DELETE запроса API.
8
- */
9
- export interface UseApiDeleteSetup<T, Request extends ApiFetch['request'] = ApiFetch['request'], Return extends ApiData<T> = ApiData<T>> extends Omit<UseApiRequestSetup<T, Request, Return>, 'method'> {
10
- }
11
- /**
12
- * Use API delete request.
13
- * This is a convenient wrapper over `useApiRequest` that pre-fills the DELETE method.
14
- *
15
- * Использование API delete запроса.
16
- * Это удобная обертка над `useApiRequest`, которая предустанавливает метод DELETE.
17
- * @param setup Configured parameters as a single object / Настроенные параметры в виде единого объекта
18
- * @returns Object with loading state and send method / Объект с состоянием загрузки и методом отправки
19
- */
20
- export declare function useApiDelete<T, Request extends ApiFetch['request'] = ApiFetch['request'], Return extends ApiData<T> = ApiData<T>>(setup: UseApiDeleteSetup<T, Request, Return>): {
21
- loading: Ref<boolean, boolean>;
22
- send(request?: Request | undefined): Promise<Return | undefined>;
23
- };
@@ -1,23 +0,0 @@
1
- import { ApiData, ApiFetch } from '@dxtmisha/functional-basic';
2
- import { UseApiRequestSetup } from './useApiRequest';
3
- import { Ref } from 'vue';
4
- /**
5
- * Setup interface for API GET request.
6
- *
7
- * Интерфейс настроек для GET запроса API.
8
- */
9
- export interface UseApiGetSetup<T, Request extends ApiFetch['request'] = ApiFetch['request'], Return extends ApiData<T> = ApiData<T>> extends Omit<UseApiRequestSetup<T, Request, Return>, 'method'> {
10
- }
11
- /**
12
- * Use API get request.
13
- * This is a convenient wrapper over `useApiRequest` that pre-fills the GET method.
14
- *
15
- * Использование API get запроса.
16
- * Это удобная обертка над `useApiRequest`, которая предустанавливает метод GET.
17
- * @param setup Configured parameters as a single object / Настроенные параметры в виде единого объекта
18
- * @returns Object with loading state and send method / Объект с состоянием загрузки и методом отправки
19
- */
20
- export declare function useApiGet<T, Request extends ApiFetch['request'] = ApiFetch['request'], Return extends ApiData<T> = ApiData<T>>(setup: UseApiGetSetup<T, Request, Return>): {
21
- loading: Ref<boolean, boolean>;
22
- send(request?: Request | undefined): Promise<Return | undefined>;
23
- };
@@ -1,58 +0,0 @@
1
- import { ApiInstance, ArrayToItem, FormattersListColumns, FormattersOptionsList, SearchColumns, ApiDataValidation, SearchFormatList, ApiData, ApiErrorItem, ApiFetch } from '@dxtmisha/functional-basic';
2
- import { ApiManagementGet, ApiManagementRequest, ApiManagementSearch, ApiManagementValue } from '../../types/apiTypes';
3
- import { ComputedRef, Ref } from 'vue';
4
- /**
5
- * Asynchronous reactive composable for API management requests with built-in SSR support.
6
- * Wraps `useApiManagementRef` and immediately calls `initSsr()` to ensure data is pre-fetched on the server side.
7
- * Use this composable ONLY if you need the request to be executed on the server side during SSR.
8
- * For all other cases, use `useApiManagementRef`.
9
- *
10
- * Асинхронный реактивный composable для запросов управления API со встроенной поддержкой SSR.
11
- * Оборачивает `useApiManagementRef` и сразу вызывает `initSsr()`, чтобы гарантировать предзагрузку данных на сервере.
12
- * Используйте этот composable ТОЛЬКО если вам необходимо, чтобы запрос был выполнен на стороне сервера
13
- * во время SSR. Во всех остальных случаях используйте обычный `useApiManagementRef`.
14
- * @template Return type of data returned by the API / тип данных, возвращаемых API
15
- * @template FormattersOptions optional formatting rules / опциональные правила форматирования
16
- * @template Post data type for POST creation request / тип данных для POST-запроса создания
17
- * @template Put data type for PUT update request / тип данных для PUT-запроса обновления
18
- * @template Delete data type for DELETE removal request / тип данных для DELETE-запроса удаления
19
- * @template Type original data type (before transformation) / тип исходных данных (до трансформации)
20
- * @template Item type of a single item in the data list / тип одного элемента из списка данных
21
- * @template ItemFormatters item type after formatters are applied / тип элемента после применения форматировщиков
22
- * @template Columns search columns derived from formatting / колонки, по которым производится поиск
23
- *
24
- * @param propsGet main GET request settings (path, reactivity, skeleton, etc.) / настройки главного GET-запроса
25
- * @param formattersOptions optional reactive formatting rules / правила для реактивного форматирования данных
26
- * @param searchOptions optional client-side search settings / настройки для клиентского поиска по списку
27
- * @param postRequest optional POST mutation settings / настройки для POST-запроса создания
28
- * @param putRequest optional PUT mutation settings / настройки для PUT-запроса обновления
29
- * @param deleteRequest optional DELETE mutation settings / настройки для DELETE-запроса удаления
30
- * @param action common callback executed after any successful mutation / общий коллбэк после любой успешной мутации
31
- * @param apiInstance API instance for requests (defaults to Api.getItem()) / экземпляр API для выполнения запроса
32
- */
33
- export declare function useApiManagementAsyncRef<Return extends ApiManagementValue, FormattersOptions extends FormattersOptionsList, Post extends Record<string, any>, Put extends Record<string, any>, Delete extends Record<string, any>, Type extends ApiManagementValue = Return, Item extends ArrayToItem<Return> = ArrayToItem<Return>, ItemFormatters extends FormattersListColumns<Item, FormattersOptions>[number] = FormattersListColumns<Item, FormattersOptions>[number], Columns extends SearchColumns<ItemFormatters> = []>(propsGet: ApiManagementGet<Return, Type>, formattersOptions?: FormattersOptions, searchOptions?: ApiManagementSearch<Item, Columns>, postRequest?: ApiManagementRequest<Post>, putRequest?: ApiManagementRequest<Put>, deleteRequest?: ApiManagementRequest<Delete>, action?: () => Promise<void> | void, apiInstance?: ApiInstance): {
34
- isValid: ComputedRef<boolean>;
35
- isResponseContractValid: ComputedRef<boolean>;
36
- responseValidationResult: ComputedRef< ApiDataValidation | undefined>;
37
- list: ComputedRef<SearchFormatList<ItemFormatters, Columns>>;
38
- readonly data: ComputedRef< ApiData<Return> | undefined>;
39
- errorItem: ComputedRef< ApiErrorItem | undefined>;
40
- readonly length: ComputedRef<number>;
41
- lengthData: ComputedRef<number>;
42
- starting: ComputedRef<boolean>;
43
- reading: Ref<boolean, boolean>;
44
- loading: Ref<boolean, boolean>;
45
- loadingSearch: Ref<boolean, boolean> | undefined;
46
- loadingPost: Ref<boolean, boolean> | undefined;
47
- loadingPut: Ref<boolean, boolean> | undefined;
48
- loadingDelete: Ref<boolean, boolean> | undefined;
49
- isSearch: ComputedRef<boolean> | undefined;
50
- search: Ref<string>;
51
- init: () => void;
52
- initSsr: () => void;
53
- reset: () => Promise<void>;
54
- abort: () => void;
55
- sendPost: (request?: ApiFetch["request"]) => Promise< ApiData<Post> | undefined>;
56
- sendPut: (request?: ApiFetch["request"]) => Promise< ApiData<Put> | undefined>;
57
- sendDelete: (request?: ApiFetch["request"]) => Promise< ApiData<Delete> | undefined>;
58
- };