@dxtmisha/functional 1.10.2 → 1.10.4
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/library.d.ts +250 -42
- package/dist/library.js +5 -5
- package/package.json +1 -1
package/dist/library.d.ts
CHANGED
|
@@ -55,31 +55,67 @@ import { Undefined } from '@dxtmisha/functional-basic';
|
|
|
55
55
|
import { VNode } from 'vue';
|
|
56
56
|
import { VNodeArrayChildren } from 'vue';
|
|
57
57
|
|
|
58
|
+
/**
|
|
59
|
+
* Configuration for the main GET request in API management.
|
|
60
|
+
*
|
|
61
|
+
* Конфигурация для основного GET-запроса в управлении API.
|
|
62
|
+
*/
|
|
58
63
|
export declare type ApiManagementGet<Return extends ApiManagementValue, Type extends ApiManagementValue = Return> = {
|
|
64
|
+
/** API endpoint path / Путь к API */
|
|
59
65
|
path?: RefOrNormal<string | undefined>;
|
|
66
|
+
/** Additional request options / Дополнительные опции запроса */
|
|
60
67
|
options?: ApiOptions;
|
|
68
|
+
/** Enable reactive updates when path or options change / Включить реактивные обновления при изменении пути или опций */
|
|
61
69
|
reactivity?: boolean;
|
|
70
|
+
/** Condition to trigger the request / Условие выполнения запроса */
|
|
62
71
|
conditions?: RefType<boolean>;
|
|
72
|
+
/** Custom transformation for the fetched data / Пользовательская трансформация полученных данных */
|
|
63
73
|
transformation?: (data: Type) => ApiData<Return>;
|
|
74
|
+
/** Validation function or class constructor for data / Функция валидации или конструктор класса для данных */
|
|
64
75
|
typeData?: ((data: Return) => boolean) | any;
|
|
76
|
+
/** Whether to clear data when the component is unmounted / Удалять ли данные при размонтировании компонента */
|
|
65
77
|
unmounted?: boolean;
|
|
78
|
+
/** Function to provide skeleton data during loading / Функция, предоставляющая данные-заглушки во время загрузки */
|
|
66
79
|
skeleton?: () => Return;
|
|
67
80
|
};
|
|
68
81
|
|
|
82
|
+
/**
|
|
83
|
+
* Configuration for mutation requests (POST, PUT, DELETE).
|
|
84
|
+
*
|
|
85
|
+
* Конфигурация для запросов мутации (POST, PUT, DELETE).
|
|
86
|
+
*/
|
|
69
87
|
export declare type ApiManagementRequest<T, Return extends ApiData<T> = ApiData<T>> = {
|
|
88
|
+
/** Target API endpoint path / Целевой путь к API */
|
|
70
89
|
path?: RefOrNormal<string | undefined>;
|
|
90
|
+
/** Action to perform after a successful request / Действие после успешного выполнения запроса */
|
|
71
91
|
action?: (data: Return | undefined) => Promise<void> | void;
|
|
92
|
+
/** Transformation before sending data / Трансформация перед отправкой данных */
|
|
72
93
|
transformation?: (data: T) => Return;
|
|
94
|
+
/** Whether to wrap the payload in a 'data' property / Обертывать ли полезную нагрузку в свойство 'data' */
|
|
73
95
|
toData?: boolean;
|
|
96
|
+
/** Additional mutation request options / Дополнительные опции запроса мутации */
|
|
74
97
|
options?: ApiOptions;
|
|
75
98
|
};
|
|
76
99
|
|
|
100
|
+
/**
|
|
101
|
+
* Configuration for client-side search across API data.
|
|
102
|
+
*
|
|
103
|
+
* Конфигурация для клиентского поиска по данным API.
|
|
104
|
+
*/
|
|
77
105
|
export declare type ApiManagementSearch<T extends SearchItem, K extends SearchColumns<T>> = {
|
|
106
|
+
/** List of columns to search through / Список столбцов для поиска */
|
|
78
107
|
columns: K;
|
|
108
|
+
/** Reactive search query / Реактивная строка поиска */
|
|
79
109
|
value?: Ref<string>;
|
|
110
|
+
/** Additional search algorithm options / Дополнительные опции алгоритма поиска */
|
|
80
111
|
options?: SearchOptions;
|
|
81
112
|
};
|
|
82
113
|
|
|
114
|
+
/**
|
|
115
|
+
* Base type for API management values, either a single value or an array.
|
|
116
|
+
*
|
|
117
|
+
* Базовый тип для значений управления API: одиночное значение или массив.
|
|
118
|
+
*/
|
|
83
119
|
export declare type ApiManagementValue = ApiDefaultValue | ApiDefaultValue[];
|
|
84
120
|
|
|
85
121
|
/** Options for api requests/ Опции для запросов api */
|
|
@@ -156,7 +192,7 @@ export declare type ConstrClasses = {
|
|
|
156
192
|
export declare type ConstrClassList = Record<string, ConstrClass>;
|
|
157
193
|
|
|
158
194
|
/** Object type for CSS class names with boolean values/ Тип объекта для CSS классов с булевыми значениями */
|
|
159
|
-
export declare type ConstrClassObject = Record<string, boolean>;
|
|
195
|
+
export declare type ConstrClassObject = Record<string, boolean | undefined>;
|
|
160
196
|
|
|
161
197
|
/** Generic record type for constructor components/ Дженерик тип записи для компонентов конструктора */
|
|
162
198
|
export declare type ConstrComponent = Record<string, any>;
|
|
@@ -829,9 +865,76 @@ export declare class EventRef<E extends ElementOrWindow, O extends Event, D exte
|
|
|
829
865
|
/**
|
|
830
866
|
* Creates a managed singleton that encapsulates initialization logic and access mode.
|
|
831
867
|
*
|
|
868
|
+
* It supports three initialization strategies:
|
|
869
|
+
* - `global`: A single instance for the entire application.
|
|
870
|
+
* - `provide`: Shared via provide/inject in the component tree (standard for Vue 3).
|
|
871
|
+
* - `local`: A single instance within the closure of the returned function.
|
|
872
|
+
*
|
|
832
873
|
* Создает управляемый синглтон, который инкапсулирует логику инициализации и режим доступа.
|
|
833
|
-
*
|
|
834
|
-
*
|
|
874
|
+
*
|
|
875
|
+
* Поддерживает три стратегии инициализации:
|
|
876
|
+
* - `global`: Единственный экземпляр на всё приложение.
|
|
877
|
+
* - `provide`: Разделяется через provide/inject в дереве компонентов (стандарт для Vue 3).
|
|
878
|
+
* - `local`: Единственный экземпляр в замыкании возвращаемой функции.
|
|
879
|
+
*
|
|
880
|
+
* @template R return type of the factory function / тип данных, возвращаемых фабрикой
|
|
881
|
+
* @template O argument types for the factory function / типы аргументов фабричной функции
|
|
882
|
+
* @template RI instance type with management methods / тип экземпляра с методами управления
|
|
883
|
+
*
|
|
884
|
+
* @param callback initialization function / функция инициализации
|
|
885
|
+
* @param type initialization strategy (defaults to provide) / стратегия инициализации (по умолчанию provide)
|
|
886
|
+
*
|
|
887
|
+
* @returns {function} accessor function for the singleton / функция-аксессор для синглтона
|
|
888
|
+
*
|
|
889
|
+
* @remarks
|
|
890
|
+
* Use this function in the following cases:
|
|
891
|
+
* - **API Services:** Always wrap API clients to ensure a single connection point and unified state.
|
|
892
|
+
* - **Resource Optimization:** For functions where creating multiple instances is undesirable (e.g., heavy objects, event buses).
|
|
893
|
+
* - **Shared State:** To share reactive state within a component tree using the `provide` strategy.
|
|
894
|
+
* - **External SDKs:** Initializing third-party libraries (analytics, maps, charts) that should be singletons.
|
|
895
|
+
*
|
|
896
|
+
* Используйте эту функцию в следующих случаях:
|
|
897
|
+
* - **API-сервисы:** Всегда оборачивайте API-клиенты для обеспечения единой точки подключения и унифицированного состояния.
|
|
898
|
+
* - **Оптимизация ресурсов:** Для функций, где нежелательно создание множества экземпляров (например, тяжелые объекты, шины событий).
|
|
899
|
+
* - **Общее состояние:** Для совместного использования реактивного состояния в дереве компонентов с помощью стратегии `provide`.
|
|
900
|
+
* - **Внешние SDK:** Инициализация сторонних библиотек (аналитика, карты, графики), которые должны быть синглтонами.
|
|
901
|
+
*
|
|
902
|
+
* @example
|
|
903
|
+
* // 1. Global API singleton (useApiGet)/ Глобальный синглтон API (useApiGet)
|
|
904
|
+
* export const useUserApi = executeUseGlobal(() => {
|
|
905
|
+
* return useApiGet('/api/user');
|
|
906
|
+
* });
|
|
907
|
+
*
|
|
908
|
+
* @example
|
|
909
|
+
* // 2. Shared Reactive State/ Общее реактивное состояние
|
|
910
|
+
* export const useFeatureState = executeUseProvide(() => {
|
|
911
|
+
* // Reactive logic here/ Здесь может быть реактивная логика (reactive, ref)
|
|
912
|
+
* const items = [];
|
|
913
|
+
* const addItem = (item) => items.push(item);
|
|
914
|
+
* return { items, addItem };
|
|
915
|
+
* });
|
|
916
|
+
*
|
|
917
|
+
* @example
|
|
918
|
+
* // 3. Local Caching/ Локальное кеширование
|
|
919
|
+
* export const useHeavyResource = executeUseLocal((config) => {
|
|
920
|
+
* return new HeavyResource(config);
|
|
921
|
+
* });
|
|
922
|
+
*
|
|
923
|
+
* @example
|
|
924
|
+
* // 4. Complex API Service (useApiManagementRef)/ Комплексный API-сервис (useApiManagementRef)
|
|
925
|
+
* export const useUserManagement = executeUseGlobal(() => {
|
|
926
|
+
* return useApiManagementRef(
|
|
927
|
+
* { path: '/api/users' }, // GET setup
|
|
928
|
+
* { date: (v) => new Date(v).toLocaleString() }, // Formatters
|
|
929
|
+
* { columns: ['name', 'email'] }, // Search
|
|
930
|
+
* { path: '/api/users' }, // POST (create)
|
|
931
|
+
* { path: (o) => `/api/users/${o.id}` }, // PUT (update)
|
|
932
|
+
* { path: (o) => `/api/users/${o.id}` } // DELETE (remove)
|
|
933
|
+
* );
|
|
934
|
+
* });
|
|
935
|
+
*
|
|
936
|
+
* // Usage in component/ Использование в компоненте:
|
|
937
|
+
* // const { list, loading, sendPost, sendDelete } = useUserManagement();
|
|
835
938
|
*/
|
|
836
939
|
export declare function executeUse<R, O extends any[], RI extends ExecuteUseReturn<R> = ExecuteUseReturn<R>>(callback: (...args: O) => R, type?: ExecuteUseType): ((...args: O) => RI) | (() => RI);
|
|
837
940
|
|
|
@@ -839,6 +942,12 @@ export declare function executeUse<R, O extends any[], RI extends ExecuteUseRetu
|
|
|
839
942
|
* Creates a global singleton.
|
|
840
943
|
*
|
|
841
944
|
* Создает глобальный синглтон.
|
|
945
|
+
*
|
|
946
|
+
* @remarks
|
|
947
|
+
* See {@link executeUse} for more details.
|
|
948
|
+
*
|
|
949
|
+
* Подробнее см. {@link executeUse}.
|
|
950
|
+
*
|
|
842
951
|
* @param callback Initialization function/ Функция инициализации
|
|
843
952
|
*/
|
|
844
953
|
export declare function executeUseGlobal<R>(callback: () => R): (() => Readonly<R & {
|
|
@@ -876,6 +985,14 @@ export declare function executeUseGlobalInit(): void;
|
|
|
876
985
|
* Creates a local singleton.
|
|
877
986
|
*
|
|
878
987
|
* Создает локальный синглтон.
|
|
988
|
+
*
|
|
989
|
+
* @remarks
|
|
990
|
+
* Best for internal state preservation within a closure.
|
|
991
|
+
* See {@link executeUse} for more details.
|
|
992
|
+
*
|
|
993
|
+
* Лучше всего подходит для сохранения внутреннего состояния внутри замыкания.
|
|
994
|
+
* Подробнее см. {@link executeUse}.
|
|
995
|
+
*
|
|
879
996
|
* @param callback Initialization function/ Функция инициализации
|
|
880
997
|
*/
|
|
881
998
|
export declare function executeUseLocal<R, O extends any[]>(callback: (...args: O) => R): ((...args: O) => Readonly<R & {
|
|
@@ -906,6 +1023,14 @@ export declare function executeUseLocal<R, O extends any[]>(callback: (...args:
|
|
|
906
1023
|
* Creates a component-scoped singleton.
|
|
907
1024
|
*
|
|
908
1025
|
* Создает компонентный синглтон.
|
|
1026
|
+
*
|
|
1027
|
+
* @remarks
|
|
1028
|
+
* Best for sharing state within a component sub-tree.
|
|
1029
|
+
* See {@link executeUse} for more details.
|
|
1030
|
+
*
|
|
1031
|
+
* Лучше всего подходит для совместного использования состояния внутри поддерева компонентов.
|
|
1032
|
+
* Подробнее см. {@link executeUse}.
|
|
1033
|
+
*
|
|
909
1034
|
* @param callback Initialization function/ Функция инициализации
|
|
910
1035
|
*/
|
|
911
1036
|
export declare function executeUseProvide<R, O extends any[]>(callback: (...args: O) => R): ((...args: O) => Readonly<R & {
|
|
@@ -1976,10 +2101,15 @@ export declare const setApiRefGlobalConditions: (conditions: RefType<any>) => vo
|
|
|
1976
2101
|
export declare function setRef<T>(item: Ref<T>, value: T): void;
|
|
1977
2102
|
|
|
1978
2103
|
/**
|
|
1979
|
-
*
|
|
2104
|
+
* Shorthand for useTranslateRef.
|
|
2105
|
+
* Use `as const` for arrays to ensure proper TypeScript key inference.
|
|
1980
2106
|
*
|
|
1981
|
-
*
|
|
1982
|
-
*
|
|
2107
|
+
* ---
|
|
2108
|
+
*
|
|
2109
|
+
* Сокращение для useTranslateRef.
|
|
2110
|
+
* Используйте `as const` для массивов, чтобы обеспечить корректный вывод типов ключей в TypeScript.
|
|
2111
|
+
*
|
|
2112
|
+
* @param names a string or an array with keys / строка или массив с ключами
|
|
1983
2113
|
*/
|
|
1984
2114
|
export declare const t: <T extends string[]>(names: T) => ShallowRef<TranslateList<T>>;
|
|
1985
2115
|
|
|
@@ -2046,76 +2176,136 @@ export declare function useApiGet<T, Request extends ApiFetch['request'] = ApiFe
|
|
|
2046
2176
|
};
|
|
2047
2177
|
|
|
2048
2178
|
/**
|
|
2049
|
-
*
|
|
2179
|
+
* A powerful composable for comprehensive API request orchestration.
|
|
2180
|
+
* It centrally manages data loading (GET), list formatting, client-side searching,
|
|
2181
|
+
* and mutations (POST, PUT, DELETE) through a single reactive interface.
|
|
2182
|
+
*
|
|
2183
|
+
* Мощный композабл для комплексной оркестрации API-запросов.
|
|
2184
|
+
* Он централизованно управляет загрузкой данных (GET), форматированием списков,
|
|
2185
|
+
* клиентским поиском и мутациями (POST, PUT, DELETE) через единый реактивный интерфейс.
|
|
2186
|
+
*
|
|
2187
|
+
* @template Return type of data returned by the API / тип данных, возвращаемых API
|
|
2188
|
+
* @template FormattersOptions optional formatting rules / опциональные правила форматирования
|
|
2189
|
+
* @template Post data type for POST creation request / тип данных для POST-запроса создания
|
|
2190
|
+
* @template Put data type for PUT update request / тип данных для PUT-запроса обновления
|
|
2191
|
+
* @template Delete data type for DELETE removal request / тип данных для DELETE-запроса удаления
|
|
2192
|
+
* @template Type original data type (before transformation) / тип исходных данных (до трансформации)
|
|
2193
|
+
* @template Item type of a single item in the data list / тип одного элемента из списка данных
|
|
2194
|
+
* @template ItemFormatters item type after formatters are applied / тип элемента после применения форматировщиков
|
|
2195
|
+
* @template Columns search columns derived from formatting / колонки, по которым производится поиск
|
|
2196
|
+
*
|
|
2197
|
+
* @param propsGet main GET request settings (path, reactivity, skeleton, etc.) / настройки главного GET-запроса
|
|
2198
|
+
* @param formattersOptions optional reactive formatting rules / правила для реактивного форматирования данных
|
|
2199
|
+
* @param searchOptions optional client-side search settings / настройки для клиентского поиска по списку
|
|
2200
|
+
* @param postRequest optional POST mutation settings / настройки для POST-запроса создания
|
|
2201
|
+
* @param putRequest optional PUT mutation settings / настройки для PUT-запроса обновления
|
|
2202
|
+
* @param deleteRequest optional DELETE mutation settings / настройки для DELETE-запроса удаления
|
|
2203
|
+
* @param action common callback executed after any successful mutation / общий коллбэк после любой успешной мутации
|
|
2204
|
+
* @param apiInstance API instance for requests (defaults to Api.getItem()) / экземпляр API для выполнения запроса
|
|
2205
|
+
*
|
|
2206
|
+
* @returns {object} reactive API management interface / реактивный интерфейс управления API
|
|
2207
|
+
*
|
|
2208
|
+
* @note This hook is recommended to be used in tandem with `executeUse` for centralized state management.
|
|
2209
|
+
* By wrapping `useApiManagementRef` in `executeUseProvide` or `executeUseGlobal`, you can ensure
|
|
2210
|
+
* a single source of truth across the component tree or the entire application.
|
|
2211
|
+
*
|
|
2212
|
+
* Рекомендуется использовать этот хук в тандеме с `executeUse` для централизованного управления состоянием.
|
|
2213
|
+
* Обернув `useApiManagementRef` в `executeUseProvide` или `executeUseGlobal`, вы обеспечите
|
|
2214
|
+
* единый источник истины в дереве компонентов или во всем приложении.
|
|
2050
2215
|
*
|
|
2051
|
-
*
|
|
2052
|
-
*
|
|
2053
|
-
*
|
|
2054
|
-
*
|
|
2055
|
-
*
|
|
2056
|
-
*
|
|
2057
|
-
*
|
|
2058
|
-
*
|
|
2216
|
+
* @remarks
|
|
2217
|
+
* Data formatting guidelines for `formattersOptions`:
|
|
2218
|
+
* - **Recommended for formatting:** Numbers that represent values (prices, counts), dates, currency, units, and statuses.
|
|
2219
|
+
* - **Not recommended for formatting:** Technical identifiers such as ID, UUID, account numbers (if used for logic), types, or internal codes.
|
|
2220
|
+
*
|
|
2221
|
+
* Рекомендации по форматированию данных для `formattersOptions`:
|
|
2222
|
+
* - **Рекомендуется для форматирования:** Числа, представляющие значения (цены, количества), даты, валюта, единицы измерения и статусы.
|
|
2223
|
+
* - **Не рекомендуется для форматирования:** Технические идентификаторы, такие как ID, UUID, номера счетов (если они используются для логики), типы или внутренние коды.
|
|
2224
|
+
*
|
|
2225
|
+
* @example
|
|
2226
|
+
* // 1. Comprehensive API orchestration/ Комплексная оркестрация API
|
|
2227
|
+
* const products = useApiManagementRef(
|
|
2228
|
+
* {
|
|
2229
|
+
* path: '/api/v1/products',
|
|
2230
|
+
* skeleton: () => Array(5).fill({ id: 0, name: 'Loading...', price: 0 })
|
|
2231
|
+
* },
|
|
2232
|
+
* {
|
|
2233
|
+
* // Formatters for display/ Форматтеры для отображения
|
|
2234
|
+
* price: (v) => `${v} USD`,
|
|
2235
|
+
* created_at: (v) => new Date(v).toLocaleDateString()
|
|
2236
|
+
* },
|
|
2237
|
+
* {
|
|
2238
|
+
* // Client-side search setup/ Настройка поиска на стороне клиента
|
|
2239
|
+
* columns: ['name', 'category']
|
|
2240
|
+
* },
|
|
2241
|
+
* { path: '/api/v1/products' }, // POST (create)
|
|
2242
|
+
* { path: (data) => `/api/v1/products/${data.id}` }, // PUT (update)
|
|
2243
|
+
* { path: (data) => `/api/v1/products/${data.id}` } // DELETE (remove)
|
|
2244
|
+
* );
|
|
2245
|
+
*
|
|
2246
|
+
* // Accessing data/ Доступ к данным:
|
|
2247
|
+
* // products.list.value -> processed, formatted, and searched list
|
|
2248
|
+
* // products.sendPost({ name: 'New Product', price: 100 }) -> execute mutation
|
|
2059
2249
|
*/
|
|
2060
2250
|
export declare function useApiManagementRef<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): {
|
|
2061
|
-
/**
|
|
2251
|
+
/** Whether data passed the `typeData` check / `true`, если данные прошли проверку `typeData` */
|
|
2062
2252
|
isValid: ComputedRef<boolean>;
|
|
2063
|
-
/**
|
|
2253
|
+
/** Processed data array (supports Skeleton, formatters, and search) / Обработанный массив данных (поддерживает Skeleton, форматтеры и поиск) */
|
|
2064
2254
|
list: ComputedRef<SearchFormatList<ItemFormatters, Columns>>;
|
|
2065
|
-
/** Raw
|
|
2255
|
+
/** Raw reactive data from `useApiRef` / «Сырые» реактивные данные из `useApiRef` */
|
|
2066
2256
|
readonly data: ComputedRef<ApiData<Return> | undefined>;
|
|
2067
|
-
/**
|
|
2257
|
+
/** Current number of items in `list` (changes with search) / Текущее количество элементов в `list` (меняется при поиске) */
|
|
2068
2258
|
readonly length: ComputedRef<number>;
|
|
2069
|
-
/**
|
|
2259
|
+
/** Total number of items in raw `data` / Общее количество элементов в исходном `data` */
|
|
2070
2260
|
lengthData: ComputedRef<number>;
|
|
2071
|
-
/**
|
|
2261
|
+
/** Initial loading flag (true when no data yet) / Флаг первичной загрузки (когда данных еще нет) */
|
|
2072
2262
|
starting: ComputedRef<boolean>;
|
|
2073
|
-
/** Active
|
|
2263
|
+
/** Active read process flag / Флаг активного процесса чтения данных */
|
|
2074
2264
|
reading: Ref<boolean, boolean>;
|
|
2075
|
-
/**
|
|
2265
|
+
/** Loading state for the main GET request / Общее состояние загрузки главного GET-запроса */
|
|
2076
2266
|
loading: Ref<boolean, boolean>;
|
|
2077
|
-
/** Loading search
|
|
2267
|
+
/** Loading state during search processing / Состояние загрузки в процессе поиска */
|
|
2078
2268
|
loadingSearch: Ref<boolean, boolean> | undefined;
|
|
2079
|
-
/**
|
|
2269
|
+
/** Loading state for POST mutation / Состояние загрузки для POST мутации */
|
|
2080
2270
|
loadingPost: Ref<boolean, boolean> | undefined;
|
|
2081
|
-
/**
|
|
2271
|
+
/** Loading state for PUT mutation / Состояние загрузки для PUT мутации */
|
|
2082
2272
|
loadingPut: Ref<boolean, boolean> | undefined;
|
|
2083
|
-
/**
|
|
2273
|
+
/** Loading state for DELETE mutation / Состояние загрузки для DELETE мутации */
|
|
2084
2274
|
loadingDelete: Ref<boolean, boolean> | undefined;
|
|
2085
|
-
/**
|
|
2275
|
+
/** Whether search is currently active / Активен ли поиск (есть ли поисковый запрос) */
|
|
2086
2276
|
isSearch: ComputedRef<boolean> | undefined;
|
|
2087
|
-
/**
|
|
2277
|
+
/** Reactive search string (Proxy to `searchOptions.value`) / Реактивная строка поиска (Proxy к переданному `searchOptions.value`) */
|
|
2088
2278
|
search: Ref<string, string> | undefined;
|
|
2089
2279
|
/**
|
|
2090
|
-
*
|
|
2280
|
+
* Force reset the GET request and clear state.
|
|
2091
2281
|
*
|
|
2092
|
-
*
|
|
2282
|
+
* Принудительный перезапуск GET-запроса и очистка состояния.
|
|
2093
2283
|
*/
|
|
2094
2284
|
reset: () => Promise<void>;
|
|
2095
2285
|
/**
|
|
2096
|
-
* Abort request.
|
|
2286
|
+
* Abort the current network request.
|
|
2097
2287
|
*
|
|
2098
|
-
*
|
|
2288
|
+
* Прекращение текущего сетевого запроса.
|
|
2099
2289
|
*/
|
|
2100
2290
|
abort: () => void;
|
|
2101
2291
|
/**
|
|
2102
|
-
*
|
|
2292
|
+
* Execute POST mutation request.
|
|
2103
2293
|
*
|
|
2104
|
-
* Выполнить POST
|
|
2294
|
+
* Выполнить POST запрос мутации.
|
|
2105
2295
|
* @param request request data / данные запроса
|
|
2106
2296
|
*/
|
|
2107
2297
|
sendPost: (request?: ApiFetch["request"]) => Promise<ApiData<Post> | undefined>;
|
|
2108
2298
|
/**
|
|
2109
|
-
*
|
|
2299
|
+
* Execute PUT mutation request.
|
|
2110
2300
|
*
|
|
2111
|
-
* Выполнить PUT
|
|
2301
|
+
* Выполнить PUT запрос мутации.
|
|
2112
2302
|
* @param request request data / данные запроса
|
|
2113
2303
|
*/
|
|
2114
2304
|
sendPut: (request?: ApiFetch["request"]) => Promise<ApiData<Put> | undefined>;
|
|
2115
2305
|
/**
|
|
2116
|
-
*
|
|
2306
|
+
* Execute DELETE mutation request.
|
|
2117
2307
|
*
|
|
2118
|
-
* Выполнить DELETE
|
|
2308
|
+
* Выполнить DELETE запрос мутации.
|
|
2119
2309
|
* @param request request data / данные запроса
|
|
2120
2310
|
*/
|
|
2121
2311
|
sendDelete: (request?: ApiFetch["request"]) => Promise<ApiData<Delete> | undefined>;
|
|
@@ -2544,9 +2734,27 @@ export declare function useStorageRef<T>(name: string, defaultValue?: T | (() =>
|
|
|
2544
2734
|
/**
|
|
2545
2735
|
* Getting the translated text by an array of keys or a string with a key.
|
|
2546
2736
|
*
|
|
2547
|
-
*
|
|
2548
|
-
*
|
|
2549
|
-
*
|
|
2737
|
+
* It returns a `ShallowRef` that automatically updates when the global language changes.
|
|
2738
|
+
* Use `as const` for arrays to ensure proper TypeScript key inference.
|
|
2739
|
+
*
|
|
2740
|
+
* ---
|
|
2741
|
+
*
|
|
2742
|
+
* Получение переведенного текста по массиву ключей или пункту с ключом.
|
|
2743
|
+
*
|
|
2744
|
+
* Возвращает `ShallowRef`, который автоматически обновляется при смене глобального языка.
|
|
2745
|
+
* Используйте `as const` для массивов, чтобы обеспечить корректный вывод типов ключей в TypeScript.
|
|
2746
|
+
*
|
|
2747
|
+
* ### Examples / Примеры использования:
|
|
2748
|
+
* ```typescript
|
|
2749
|
+
* // 1. Using the main composable / Использование основного хука
|
|
2750
|
+
* const translations = useTranslateRef(['home.title', 'home.description'] as const);
|
|
2751
|
+
*
|
|
2752
|
+
* // 2. Using the shorthand 't' / Использование сокращения 't'
|
|
2753
|
+
* const labels = t(['button.save', 'button.cancel'] as const);
|
|
2754
|
+
* ```
|
|
2755
|
+
*
|
|
2756
|
+
* @param names a string or an array with keys / строка или массив с ключами
|
|
2757
|
+
* @param translateInstance a translate instance / экземпляр перевода
|
|
2550
2758
|
*/
|
|
2551
2759
|
export declare function useTranslateRef<T extends (string | string[])[]>(names: T, translateInstance?: TranslateInstance): ShallowRef<TranslateList<T>>;
|
|
2552
2760
|
|
package/dist/library.js
CHANGED
|
@@ -2,7 +2,7 @@ import { Api as e, ApiMethodItem as t, BroadcastMessage as n, Cookie as r, DataS
|
|
|
2
2
|
import { computed as A, customRef as se, effectScope as ce, getCurrentInstance as le, h as ue, inject as de, isRef as j, onUnmounted as fe, provide as pe, ref as M, shallowRef as N, toRefs as me, triggerRef as he, useAttrs as ge, useSlots as _e, watch as P, watchEffect as ve } from "vue";
|
|
3
3
|
export * from "@dxtmisha/functional-basic";
|
|
4
4
|
//#endregion
|
|
5
|
-
//#region \0@oxc-project+runtime@0.
|
|
5
|
+
//#region \0@oxc-project+runtime@0.123.0/helpers/typeof.js
|
|
6
6
|
function F(e) {
|
|
7
7
|
"@babel/helpers - typeof";
|
|
8
8
|
return F = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(e) {
|
|
@@ -12,7 +12,7 @@ function F(e) {
|
|
|
12
12
|
}, F(e);
|
|
13
13
|
}
|
|
14
14
|
//#endregion
|
|
15
|
-
//#region \0@oxc-project+runtime@0.
|
|
15
|
+
//#region \0@oxc-project+runtime@0.123.0/helpers/toPrimitive.js
|
|
16
16
|
function ye(e, t) {
|
|
17
17
|
if (F(e) != "object" || !e) return e;
|
|
18
18
|
var n = e[Symbol.toPrimitive];
|
|
@@ -24,13 +24,13 @@ function ye(e, t) {
|
|
|
24
24
|
return (t === "string" ? String : Number)(e);
|
|
25
25
|
}
|
|
26
26
|
//#endregion
|
|
27
|
-
//#region \0@oxc-project+runtime@0.
|
|
27
|
+
//#region \0@oxc-project+runtime@0.123.0/helpers/toPropertyKey.js
|
|
28
28
|
function be(e) {
|
|
29
29
|
var t = ye(e, "string");
|
|
30
30
|
return F(t) == "symbol" ? t : t + "";
|
|
31
31
|
}
|
|
32
32
|
//#endregion
|
|
33
|
-
//#region \0@oxc-project+runtime@0.
|
|
33
|
+
//#region \0@oxc-project+runtime@0.123.0/helpers/defineProperty.js
|
|
34
34
|
function I(e, t, n) {
|
|
35
35
|
return (t = be(t)) in e ? Object.defineProperty(e, t, {
|
|
36
36
|
value: n,
|
|
@@ -778,7 +778,7 @@ function Re(t, n, r = !0, i, a, o = !0, s = e.getItem()) {
|
|
|
778
778
|
get item() {
|
|
779
779
|
return _(), c;
|
|
780
780
|
},
|
|
781
|
-
length: A(() => Array.isArray(c.value) ? c.value.length : c.value
|
|
781
|
+
length: A(() => Array.isArray(c.value) ? c.value.length : +!!c.value),
|
|
782
782
|
starting: A(() => c.value === void 0),
|
|
783
783
|
loading: u,
|
|
784
784
|
reading: d,
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dxtmisha/functional",
|
|
3
3
|
"private": false,
|
|
4
|
-
"version": "1.10.
|
|
4
|
+
"version": "1.10.4",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"description": "A comprehensive library of utilities, base classes, and Vue 3 composables for reactive web development. Extends @dxtmisha/functional-basic with Composition API.",
|
|
7
7
|
"keywords": [
|