@dxtmisha/wiki 0.59.0 → 0.64.0

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 (67) hide show
  1. package/dist/{defineProperty-CbNEU1Ei.js → defineProperty-j1GyHeIL.js} +4 -4
  2. package/dist/library.js +1 -1
  3. package/dist/media.js +16 -3
  4. package/dist/src/media/descriptions/wikiDescriptionsBleed.d.ts +7 -0
  5. package/dist/src/media/descriptions/wikiDescriptionsDivider.d.ts +7 -0
  6. package/dist/src/media/descriptions/wikiDescriptionsSwitch.d.ts +7 -0
  7. package/dist/src/media/descriptions/wikiDescriptionsTextDescription.d.ts +7 -0
  8. package/dist/src/media/descriptions/wikiDescriptionsTextLabel.d.ts +7 -0
  9. package/dist/src/media/mdx/Bleed/wikiMdxBleed.d.ts +7 -0
  10. package/dist/src/media/mdx/Divider/wikiMdxDivider.d.ts +7 -0
  11. package/dist/src/media/mdx/Switch/wikiMdxSwitch.d.ts +7 -0
  12. package/dist/src/media/mdx/TextDescription/wikiMdxTextDescription.d.ts +7 -0
  13. package/dist/src/media/mdx/TextLabel/wikiMdxTextLabel.d.ts +7 -0
  14. package/dist/storybook.js +2398 -1746
  15. package/dist/{wikiDescriptions-Dbkpa2Je.js → wikiDescriptions-n3cFkYRZ.js} +176 -0
  16. package/package.json +1 -1
  17. package/src/media/functional/functional/api/api.en.mdx +27 -0
  18. package/src/media/functional/functional/api/api.ru.mdx +27 -0
  19. package/src/media/functional/functional/api/api.vi.mdx +27 -0
  20. package/src/media/functional/functional/composables/useApiAsyncRef/useApiAsyncRef.en.mdx +22 -1
  21. package/src/media/functional/functional/composables/useApiAsyncRef/useApiAsyncRef.ru.mdx +22 -1
  22. package/src/media/functional/functional/composables/useApiAsyncRef/useApiAsyncRef.vi.mdx +22 -1
  23. package/src/media/functional/functional/composables/useApiDelete/useApiDelete.en.mdx +19 -15
  24. package/src/media/functional/functional/composables/useApiDelete/useApiDelete.ru.mdx +19 -15
  25. package/src/media/functional/functional/composables/useApiDelete/useApiDelete.vi.mdx +22 -18
  26. package/src/media/functional/functional/composables/useApiGet/useApiGet.en.mdx +20 -15
  27. package/src/media/functional/functional/composables/useApiGet/useApiGet.ru.mdx +20 -15
  28. package/src/media/functional/functional/composables/useApiGet/useApiGet.vi.mdx +23 -18
  29. package/src/media/functional/functional/composables/{useApiManagementRef → useApiManagementAsyncRef}/useApiManagementAsyncRef.en.mdx +15 -2
  30. package/src/media/functional/functional/composables/{useApiManagementRef → useApiManagementAsyncRef}/useApiManagementAsyncRef.ru.mdx +15 -2
  31. package/src/media/functional/functional/composables/{useApiManagementRef → useApiManagementAsyncRef}/useApiManagementAsyncRef.vi.mdx +15 -2
  32. package/src/media/functional/functional/composables/useApiManagementRef/useApiManagementRef.en.mdx +10 -2
  33. package/src/media/functional/functional/composables/useApiManagementRef/useApiManagementRef.ru.mdx +12 -4
  34. package/src/media/functional/functional/composables/useApiManagementRef/useApiManagementRef.vi.mdx +10 -2
  35. package/src/media/functional/functional/composables/useApiPost/useApiPost.en.mdx +20 -15
  36. package/src/media/functional/functional/composables/useApiPost/useApiPost.ru.mdx +20 -15
  37. package/src/media/functional/functional/composables/useApiPost/useApiPost.vi.mdx +23 -18
  38. package/src/media/functional/functional/composables/useApiPut/useApiPut.en.mdx +23 -18
  39. package/src/media/functional/functional/composables/useApiPut/useApiPut.ru.mdx +23 -18
  40. package/src/media/functional/functional/composables/useApiPut/useApiPut.vi.mdx +26 -21
  41. package/src/media/functional/functional/composables/useApiRef/useApiRef.en.mdx +2 -0
  42. package/src/media/functional/functional/composables/useApiRef/useApiRef.ru.mdx +2 -0
  43. package/src/media/functional/functional/composables/useApiRef/useApiRef.vi.mdx +2 -0
  44. package/src/media/functional/functional/composables/useApiRequest/useApiRequest.en.mdx +23 -17
  45. package/src/media/functional/functional/composables/useApiRequest/useApiRequest.ru.mdx +23 -17
  46. package/src/media/functional/functional/composables/useApiRequest/useApiRequest.vi.mdx +26 -20
  47. package/src/media/functional/functional/dxt-functional-plugin/dxt-functional-plugin.en.mdx +16 -2
  48. package/src/media/functional/functional/dxt-functional-plugin/dxt-functional-plugin.ru.mdx +16 -2
  49. package/src/media/functional/functional/dxt-functional-plugin/dxt-functional-plugin.vi.mdx +16 -2
  50. package/src/media/functional/functional/functions/dxtFunctionalPlugin/dxtFunctionalPlugin.en.mdx +4 -1
  51. package/src/media/functional/functional/functions/dxtFunctionalPlugin/dxtFunctionalPlugin.ru.mdx +4 -1
  52. package/src/media/functional/functional/functions/dxtFunctionalPlugin/dxtFunctionalPlugin.vi.mdx +4 -1
  53. package/src/media/functional/functional-basic/api/api.en.mdx +55 -0
  54. package/src/media/functional/functional-basic/api/api.ru.mdx +55 -0
  55. package/src/media/functional/functional-basic/api/api.vi.mdx +55 -0
  56. package/src/media/functional/functional-basic/classes/ApiError/ApiError.en.mdx +44 -0
  57. package/src/media/functional/functional-basic/classes/ApiError/ApiError.ru.mdx +44 -0
  58. package/src/media/functional/functional-basic/classes/ApiError/ApiError.vi.mdx +44 -0
  59. package/src/media/functional/functional-basic/classes/ApiErrorItem/ApiErrorItem.en.mdx +31 -0
  60. package/src/media/functional/functional-basic/classes/ApiErrorItem/ApiErrorItem.ru.mdx +31 -0
  61. package/src/media/functional/functional-basic/classes/ApiErrorItem/ApiErrorItem.vi.mdx +31 -0
  62. package/src/media/functional/functional-basic/classes/ApiErrorStorage/ApiErrorStorage.en.mdx +51 -0
  63. package/src/media/functional/functional-basic/classes/ApiErrorStorage/ApiErrorStorage.ru.mdx +51 -0
  64. package/src/media/functional/functional-basic/classes/ApiErrorStorage/ApiErrorStorage.vi.mdx +51 -0
  65. package/src/media/functional/functional-basic/functions/getFirst/getFirst.en.mdx +21 -0
  66. package/src/media/functional/functional-basic/functions/getFirst/getFirst.ru.mdx +21 -0
  67. package/src/media/functional/functional-basic/functions/getFirst/getFirst.vi.mdx +21 -0
@@ -1,34 +1,39 @@
1
1
  import { Meta } from '@storybook/addon-docs/blocks'
2
2
 
3
- <Meta title='@dxtmisha/vi/functional/Composables/useApiPost - Thực hiện yêu cầu POST'/>
3
+ <Meta title='@dxtmisha/vi/functional/Composables/useApiPost - POST Request Execution'/>
4
4
 
5
5
  # `useApiPost`
6
6
 
7
- Trả về một đối tượng với trạng thái tải và phương thức `send` để thực hiện các yêu cầu API `POST`.
7
+ Trả về một đối tượng với trạng thái tải và phương thức `send` để thực hiện các yêu cầu API `POST`. Đây là một trình bao bọc tiện lợi trên `useApiRequest` được điền sẵn phương thức `POST`. Nhận các thiết lập dưới dạng một đối tượng `UseApiPostSetup` duy nhất.
8
8
 
9
9
  **Tham số:**
10
- - `path?: RefOrNormal<string | undefined>` Đường dẫn đến endpoint API (có thể phản ứng).
11
- - `action?: (data: Return | undefined) => Promise<void> | void` Hành động (callback) thực hiện sau khi yêu cầu hoàn tất thành công.
12
- - `transformation?: (data: T) => Return` — Hàm chuyển đổi dữ liệu phản hồi từ máy chủ trước khi trả về hoặc truyền vào `action`.
13
- - `toData: boolean = true` — Việc trích xuất trường `data` từ phản hồi hay không.
14
- - `options?: ApiOptions` Các tùy chọn bổ sung cho yêu cầu (đối tượng tham số `ApiFetch`).
15
- - `apiInstance?: ApiInstance` Phiên bản API sử dụng cho yêu cầu. Mặc định `Api.getItem()`.
16
-
17
- **Giá trị trả về:**
10
+ - `setup: UseApiPostSetup`Đối tượng thiết lập cấu hình:
11
+ - `path?: RefOrNormal<string | undefined>` Đường dẫn đến endpoint API ( thể phản ứng).
12
+ - `action?: (data: Return | undefined) => Promise<void> | void` — Hành động (callback) thực hiện sau khi yêu cầu hoàn tất thành công.
13
+ - `transformation?: (data: T) => Return` — Hàm chuyển đổi dữ liệu phản hồi từ máy chủ trước khi trả về hoặc truyền vào `action`.
14
+ - `validateRequestContract?: (data: Request) => ApiDataValidation & Return` Hàm xác thực hợp đồng yêu cầu.
15
+ - `validateResponseContract?: (data: T) => ApiDataValidation & Return` Hàm xác thực hợp đồng phản hồi.
16
+ - `errorContract?: ApiErrorStorageList` — nơi lưu trữ hợp đồng lỗi phản hồi.
17
+ - `toData?: boolean` — Việc trích xuất trường `data` từ phản hồi hay không. Mặc định: `true`.
18
+ - `options?: ApiOptions` — Các tùy chọn bổ sung cho yêu cầu (đối tượng tham số `ApiFetch`).
19
+ - `apiInstance?: ApiInstance` — Phiên bản API sử dụng cho yêu cầu. Mặc định là `Api.getItem()`.
20
+
21
+ **Trả về:**
18
22
  Một đối tượng với các thuộc tính sau:
19
23
  - `loading: Ref<boolean>` — Trạng thái tải phản ứng. Sẽ là `true` trong khi yêu cầu đang thực hiện và `false` sau khi hoàn thành hoặc có lỗi.
20
- - `send(request?: Request): Promise<Return | undefined>` — Phương thức bất đồng bộ để gửi yêu cầu `POST`. Nó tự động quản lý trạng thái `loading`, áp dụng hàm biến đổi cho phản hồi, thực hiện callback `action` khi thành công và xử lý lỗi một cách an toàn bằng cách ghi log ra console.
24
+ - `send(request?: Request): Promise<Return | undefined>` — Phương thức bất đồng bộ để gửi yêu cầu `POST`. Nó tự động quản lý trạng thái `loading`, xác thực hợp đồng yêu cầu và phản hồi, áp dụng hàm biến đổi cho phản hồi, thực hiện callback `action` khi thành công và xử lý lỗi một cách an toàn bằng cách ghi log ra console.
21
25
 
22
26
  ```typescript
23
27
  import { useApiPost } from '@dxtmisha/functional'
24
28
 
25
- const { loading, send } = useApiPost(
26
- '/api/submit',
27
- (data) => console.log('Hành động hoàn tất:', data),
28
- (raw) => ({ ...raw, processed: true }),
29
- true,
30
- { cache: false }
31
- )
29
+ const { loading, send } = useApiPost({
30
+ path: '/api/submit',
31
+ action: (data) => console.log('Hành động hoàn tất:', data),
32
+ transformation: (raw) => ({ ...raw, processed: true }),
33
+ validateRequestContract: (req) => ({ success: true, ...req }),
34
+ toData: true,
35
+ options: { cache: false }
36
+ })
32
37
 
33
38
  const handleSubmit = async () => {
34
39
  const result = await send({ name: 'User' })
@@ -4,34 +4,39 @@ import { Meta } from '@storybook/addon-docs/blocks'
4
4
 
5
5
  # `useApiPut`
6
6
 
7
- Returns an object with a loading state and a `send` method for executing API `PUT` requests.
7
+ Returns an object with a loading state and a `send` method for executing API `PUT` requests. It is a convenient wrapper over `useApiRequest` that pre-fills the `PUT` method. Accepts settings as a single `UseApiPutSetup` object.
8
8
 
9
9
  **Parameters:**
10
- - `path?: RefOrNormal<string | undefined>` Path to the API endpoint (can be reactive).
11
- - `action?: (data: Return | undefined) => Promise<void> | void` Callback action to perform after the request completes successfully.
12
- - `transformation?: (data: T) => Return` Function to transform the response data before it is returned or passed to the `action`.
13
- - `toData: boolean = true` — Whether to extract the `data` field from the response.
14
- - `options?: ApiOptions` Additional request options (`ApiFetch` object parameter).
15
- - `apiInstance?: ApiInstance` API instance to use for the request. Defaults to `Api.getItem()`.
10
+ - `setup: UseApiPutSetup`Configuration setup object:
11
+ - `path?: RefOrNormal<string | undefined>`Path to the API endpoint (can be reactive).
12
+ - `action?: (data: Return | undefined) => Promise<void> | void` Callback action to perform after the request completes successfully.
13
+ - `transformation?: (data: T) => Return` — Function to transform the response data before it is returned or passed to the `action`.
14
+ - `validateRequestContract?: (data: Request) => ApiDataValidation & Return` Request contract validation function.
15
+ - `validateResponseContract?: (data: T) => ApiDataValidation & Return` Response contract validation function.
16
+ - `errorContract?: ApiErrorStorageList` — storage of response error contracts.
17
+ - `toData?: boolean` — Whether to extract the `data` field from the response. Defaults to `true`.
18
+ - `options?: ApiOptions` — Additional request options (`ApiFetch` object parameter).
19
+ - `apiInstance?: ApiInstance` — API instance to use for the request. Defaults to `Api.getItem()`.
16
20
 
17
21
  **Returns:**
18
22
  An object with the following properties:
19
23
  - `loading: Ref<boolean>` — Reactive loading state. It becomes `true` while the request is in progress and `false` after it completes or fails.
20
- - `send(request?: Request): Promise<Return | undefined>` — An asynchronous method for sending the `PUT` request. It automatically manages the `loading` state, applies the transformation function to the response, executes the `action` callback on success, and safely handles errors by logging them to the console.
24
+ - `send(request?: Request): Promise<Return | undefined>` — An asynchronous method for sending the `PUT` request. It automatically manages the `loading` state, validates the request and response contracts, applies the transformation function to the response, executes the `action` callback on success, and safely handles errors by logging them to the console.
21
25
 
22
26
  ```typescript
23
27
  import { useApiPut } from '@dxtmisha/functional'
24
28
 
25
- const { loading, send } = useApiPut(
26
- '/api/update',
27
- (data) => console.log('Action complete:', data),
28
- (raw) => ({ ...raw, processed: true }),
29
- true,
30
- { cache: false }
31
- )
32
-
33
- const handleUpdate = async () => {
34
- const result = await send({ id: 1, name: 'New Name' })
29
+ const { loading, send } = useApiPut({
30
+ path: '/api/update',
31
+ action: (data) => console.log('Action complete:', data),
32
+ transformation: (raw) => ({ ...raw, processed: true }),
33
+ validateRequestContract: (req) => ({ success: true, ...req }),
34
+ toData: true,
35
+ options: { cache: false }
36
+ })
37
+
38
+ const handleSubmit = async () => {
39
+ const result = await send({ id: 1, name: 'Updated User' })
35
40
  console.log('Final Result:', result)
36
41
  }
37
42
  ```
@@ -4,34 +4,39 @@ import { Meta } from '@storybook/addon-docs/blocks'
4
4
 
5
5
  # `useApiPut`
6
6
 
7
- Возвращает объект с состоянием загрузки и методом `send` для выполнения `PUT`-запросов к API.
7
+ Возвращает объект с состоянием загрузки и методом `send` для выполнения `PUT`-запросов к API. Является удобной оберткой над `useApiRequest` с предустановленным методом `PUT`. Принимает настройки в виде единого объекта `UseApiPutSetup`.
8
8
 
9
9
  **Параметры:**
10
- - `path?: RefOrNormal<string | undefined>` Путь к endpoint API (может быть реактивным).
11
- - `action?: (data: Return | undefined) => Promise<void> | void` Действие (коллбэк), выполняемое после успешного завершения запроса.
12
- - `transformation?: (data: T) => Return` — Функция трансформации ответа от сервера перед возвращением или передачей в `action`.
13
- - `toData: boolean = true` — Извлекать ли поле `data` из ответа.
14
- - `options?: ApiOptions` — Дополнительные опции запроса (объект параметров `ApiFetch`).
15
- - `apiInstance?: ApiInstance` Экземпляр API, используемый для выполнения запроса. По умолчанию `Api.getItem()`.
10
+ - `setup: UseApiPutSetup`Объект настроек запроса:
11
+ - `path?: RefOrNormal<string | undefined>` Путь к endpoint API (может быть реактивным).
12
+ - `action?: (data: Return | undefined) => Promise<void> | void` — Действие (коллбэк), выполняемое после успешного завершения запроса.
13
+ - `transformation?: (data: T) => Return` — Функция трансформации ответа от сервера перед возвращением или передачей в `action`.
14
+ - `validateRequestContract?: (data: Request) => ApiDataValidation & Return` — Функция валидации контракта отправляемого запроса.
15
+ - `validateResponseContract?: (data: T) => ApiDataValidation & Return` Функция валидации контракта полученного ответа.
16
+ - `errorContract?: ApiErrorStorageList` — хранилище контрактов ошибок ответа.
17
+ - `toData?: boolean` — Извлекать ли поле `data` из ответа. По умолчанию `true`.
18
+ - `options?: ApiOptions` — Дополнительные опции запроса (объект параметров `ApiFetch`).
19
+ - `apiInstance?: ApiInstance` — Экземпляр API, используемый для выполнения запроса. По умолчанию `Api.getItem()`.
16
20
 
17
21
  **Возвращает:**
18
22
  Объект со следующими свойствами:
19
23
  - `loading: Ref<boolean>` — Реактивное состояние загрузки. Принимает значение `true` во время выполнения запроса и `false` после его завершения или ошибки.
20
- - `send(request?: Request): Promise<Return | undefined>` — Асинхронный метод для отправки `PUT`-запроса. Он автоматически управляет состоянием `loading`, применяет функцию трансформации к ответу, вызывает коллбэк `action` при успехе и безопасно обрабатывает ошибки.
24
+ - `send(request?: Request): Promise<Return | undefined>` — Асинхронный метод для отправки `PUT`-запроса. Он автоматически управляет состоянием `loading`, проверяет контракты валидации запроса и ответа, применяет функцию трансформации к ответам, вызывает коллбэк `action` при успехе и безопасно обрабатывает ошибки.
21
25
 
22
26
  ```typescript
23
27
  import { useApiPut } from '@dxtmisha/functional'
24
28
 
25
- const { loading, send } = useApiPut(
26
- '/api/update',
27
- (data) => console.log('Действие завершено:', data),
28
- (raw) => ({ ...raw, processed: true }),
29
- true,
30
- { cache: false }
31
- )
32
-
33
- const handleUpdate = async () => {
34
- const result = await send({ id: 1, name: 'New Name' })
29
+ const { loading, send } = useApiPut({
30
+ path: '/api/update',
31
+ action: (data) => console.log('Действие завершено:', data),
32
+ transformation: (raw) => ({ ...raw, processed: true }),
33
+ validateRequestContract: (req) => ({ success: true, ...req }),
34
+ toData: true,
35
+ options: { cache: false }
36
+ })
37
+
38
+ const handleSubmit = async () => {
39
+ const result = await send({ id: 1, name: 'Updated User' })
35
40
  console.log('Итоговый результат:', result)
36
41
  }
37
42
  ```
@@ -1,37 +1,42 @@
1
1
  import { Meta } from '@storybook/addon-docs/blocks'
2
2
 
3
- <Meta title='@dxtmisha/vi/functional/Composables/useApiPut - Thực hiện yêu cầu PUT'/>
3
+ <Meta title='@dxtmisha/vi/functional/Composables/useApiPut - PUT Request Execution'/>
4
4
 
5
5
  # `useApiPut`
6
6
 
7
- Trả về một đối tượng với trạng thái tải và phương thức `send` để thực hiện các yêu cầu API `PUT`.
7
+ Trả về một đối tượng với trạng thái tải và phương thức `send` để thực hiện các yêu cầu API `PUT`. Đây là một trình bao bọc tiện lợi trên `useApiRequest` được điền sẵn phương thức `PUT`. Nhận các thiết lập dưới dạng một đối tượng `UseApiPutSetup` duy nhất.
8
8
 
9
9
  **Tham số:**
10
- - `path?: RefOrNormal<string | undefined>` Đường dẫn đến endpoint API (có thể phản ứng).
11
- - `action?: (data: Return | undefined) => Promise<void> | void` Hành động (callback) thực hiện sau khi yêu cầu hoàn tất thành công.
12
- - `transformation?: (data: T) => Return` — Hàm chuyển đổi dữ liệu phản hồi từ máy chủ trước khi trả về hoặc truyền vào `action`.
13
- - `toData: boolean = true` — Việc trích xuất trường `data` từ phản hồi hay không.
14
- - `options?: ApiOptions` Các tùy chọn bổ sung cho yêu cầu (đối tượng tham số `ApiFetch`).
15
- - `apiInstance?: ApiInstance` Phiên bản API sử dụng cho yêu cầu. Mặc định `Api.getItem()`.
16
-
17
- **Giá trị trả về:**
10
+ - `setup: UseApiPutSetup`Đối tượng thiết lập cấu hình:
11
+ - `path?: RefOrNormal<string | undefined>` Đường dẫn đến endpoint API ( thể phản ứng).
12
+ - `action?: (data: Return | undefined) => Promise<void> | void` — Hành động (callback) thực hiện sau khi yêu cầu hoàn tất thành công.
13
+ - `transformation?: (data: T) => Return` — Hàm chuyển đổi dữ liệu phản hồi từ máy chủ trước khi trả về hoặc truyền vào `action`.
14
+ - `validateRequestContract?: (data: Request) => ApiDataValidation & Return` Hàm xác thực hợp đồng yêu cầu.
15
+ - `validateResponseContract?: (data: T) => ApiDataValidation & Return` Hàm xác thực hợp đồng phản hồi.
16
+ - `errorContract?: ApiErrorStorageList` — nơi lưu trữ hợp đồng lỗi phản hồi.
17
+ - `toData?: boolean` — Việc trích xuất trường `data` từ phản hồi hay không. Mặc định: `true`.
18
+ - `options?: ApiOptions` — Các tùy chọn bổ sung cho yêu cầu (đối tượng tham số `ApiFetch`).
19
+ - `apiInstance?: ApiInstance` — Phiên bản API sử dụng cho yêu cầu. Mặc định là `Api.getItem()`.
20
+
21
+ **Trả về:**
18
22
  Một đối tượng với các thuộc tính sau:
19
23
  - `loading: Ref<boolean>` — Trạng thái tải phản ứng. Sẽ là `true` trong khi yêu cầu đang thực hiện và `false` sau khi hoàn thành hoặc có lỗi.
20
- - `send(request?: Request): Promise<Return | undefined>` — Phương thức bất đồng bộ để gửi yêu cầu `PUT`. Nó tự động quản lý trạng thái `loading`, áp dụng hàm biến đổi cho phản hồi, thực hiện callback `action` khi thành công và xử lý lỗi một cách an toàn bằng cách ghi log ra console.
24
+ - `send(request?: Request): Promise<Return | undefined>` — Phương thức bất đồng bộ để gửi yêu cầu `PUT`. Nó tự động quản lý trạng thái `loading`, xác thực hợp đồng yêu cầu và phản hồi, áp dụng hàm biến đổi cho phản hồi, thực hiện callback `action` khi thành công và xử lý lỗi một cách an toàn bằng cách ghi log ra console.
21
25
 
22
26
  ```typescript
23
27
  import { useApiPut } from '@dxtmisha/functional'
24
28
 
25
- const { loading, send } = useApiPut(
26
- '/api/update',
27
- (data) => console.log('Hành động hoàn tất:', data),
28
- (raw) => ({ ...raw, processed: true }),
29
- true,
30
- { cache: false }
31
- )
32
-
33
- const handleUpdate = async () => {
34
- const result = await send({ id: 1, name: 'New Name' })
29
+ const { loading, send } = useApiPut({
30
+ path: '/api/update',
31
+ action: (data) => console.log('Hành động hoàn tất:', data),
32
+ transformation: (raw) => ({ ...raw, processed: true }),
33
+ validateRequestContract: (req) => ({ success: true, ...req }),
34
+ toData: true,
35
+ options: { cache: false }
36
+ })
37
+
38
+ const handleSubmit = async () => {
39
+ const result = await send({ id: 1, name: 'Updated User' })
35
40
  console.log('Kết quả cuối cùng:', result)
36
41
  }
37
42
  ```
@@ -15,6 +15,7 @@ A composable for working with API requests in Vue components. Returns reactive d
15
15
  - `conditions?: RefType<boolean>` — reactive execution condition. If `false` — the request is not made and data is cleared.
16
16
  - `transformation?: (data: T, isResponseContractValid?: ApiDataValidation) => ApiData<R>` — response transformation function applied before saving to `data`. Receives the contract validation result as the second argument.
17
17
  - `validateResponseContract?: (data: T) => ApiDataValidation` — function to validate the response data contract.
18
+ - `errorContract?: ApiErrorStorageList` — storage of response error contracts.
18
19
  - `unmounted?: boolean` — if `true` (default), data is cleared and the watcher is stopped when the component unmounts. When `false`, `EffectScopeGlobal` is used for background persistence.
19
20
  - `apiInstance?: ApiInstance` — API instance to use for the request. Defaults to `Api.getItem()`.
20
21
 
@@ -25,6 +26,7 @@ Reactive states:
25
26
  - `item: Ref<ApiData<R> | undefined>` — Direct reference to data (Ref). Also initiates lazy initialization upon access.
26
27
  - `isResponseContractValid: ComputedRef<boolean>` — `true` if the response contract is valid (`success` status).
27
28
  - `responseValidationResult: ComputedRef<ApiDataValidation | undefined>` — the full contract validation result object.
29
+ - `errorItem: ComputedRef<ApiErrorItem | undefined>` — current error object if the request failed.
28
30
  - `starting: ComputedRef<boolean>` — Returns `true` if data has never been requested yet or is in the process of fetching the first portion of data (`data` is still `undefined`).
29
31
  - `loading: Ref<boolean>` — Returns `true` if any network request (initial or subsequent `reset`) is currently in progress.
30
32
  - `reading: Ref<boolean>` — A flag for an active data reading/processing process.
@@ -17,6 +17,7 @@ Composable для удобной работы с API-запросами во Vue
17
17
  - `conditions?: RefType<boolean>` — реактивное условие выполнения. Если `false` — запрос не выполняется, данные сбрасываются.
18
18
  - `transformation?: (data: T, isResponseContractValid?: ApiDataValidation) => ApiData<R>` — функция преобразования ответа перед сохранением в `data`. Получает вторым аргументом результат валидации контракта.
19
19
  - `validateResponseContract?: (data: T) => ApiDataValidation` — функция для проверки контракта данных ответа.
20
+ - `errorContract?: ApiErrorStorageList` — хранилище контрактов ошибок ответа.
20
21
  - `unmounted?: boolean` — если `true` (по умолчанию), данные сбрасываются и watcher останавливается при размонтировании компонента. При `false` используется `EffectScopeGlobal` для фоновой работы.
21
22
  - `apiInstance?: ApiInstance` — Экземпляр API, используемый для выполнения запроса. По умолчанию `Api.getItem()`.
22
23
 
@@ -27,6 +28,7 @@ Composable для удобной работы с API-запросами во Vue
27
28
  - `item: Ref<ApiData<R> | undefined>` — Прямая ссылка на данные (Ref). Также инициирует ленивую инициализацию при доступе.
28
29
  - `isResponseContractValid: ComputedRef<boolean>` — `true`, если контракт ответа валиден (статус `success`).
29
30
  - `responseValidationResult: ComputedRef<ApiDataValidation | undefined>` — полный объект результата валидации контракта.
31
+ - `errorItem: ComputedRef<ApiErrorItem | undefined>` — текущий объект ошибки, если запрос не удался.
30
32
  - `starting: ComputedRef<boolean>` — Возвращает `true`, если данные еще ни разу не запрашивались или находятся в процессе получения первой порции данных (`data` еще `undefined`).
31
33
  - `loading: Ref<boolean>` — Возвращает `true`, если в данный момент выполняется любой сетевой запрос (первичный или последующий `reset`).
32
34
  - `reading: Ref<boolean>` — Флаг активного процесса чтения/обработки данных.
@@ -17,6 +17,7 @@ Composable để làm việc với các yêu cầu API trong Vue component. Tr
17
17
  - `conditions?: RefType<boolean>` — điều kiện thực thi phản ứng. Nếu `false` — yêu cầu không được thực hiện và dữ liệu bị xóa.
18
18
  - `transformation?: (data: T, isResponseContractValid?: ApiDataValidation) => ApiData<R>` — hàm chuyển đổi phản hồi trước khi lưu vào `data`. Nhận kết quả xác thực hợp đồng ở đối số thứ hai.
19
19
  - `validateResponseContract?: (data: T) => ApiDataValidation` — hàm xác thực hợp đồng dữ liệu phản hồi.
20
+ - `errorContract?: ApiErrorStorageList` — nơi lưu trữ hợp đồng lỗi phản hồi.
20
21
  - `unmounted?: boolean` — nếu `true` (mặc định), dữ liệu bị xóa và watcher dừng lại khi component unmount. Khi `false`, `EffectScopeGlobal` được sử dụng để duy trì chạy nền.
21
22
  - `apiInstance?: ApiInstance` — Phiên bản API sử dụng cho yêu cầu. Mặc định là `Api.getItem()`.
22
23
 
@@ -27,6 +28,7 @@ Trạng thái phản ứng:
27
28
  - `item: Ref<ApiData<R> | undefined>` — Tham chiếu trực tiếp đến dữ liệu (Ref). Cũng bắt đầu khởi tạo lười khi truy cập.
28
29
  - `isResponseContractValid: ComputedRef<boolean>` — `true` nếu hợp đồng phản hồi hợp lệ (trạng thái `success`).
29
30
  - `responseValidationResult: ComputedRef<ApiDataValidation | undefined>` — đối tượng kết quả xác thực hợp đồng đầy đủ.
31
+ - `errorItem: ComputedRef<ApiErrorItem | undefined>` — đối tượng lỗi hiện tại nếu yêu cầu thất bại.
30
32
  - `starting: ComputedRef<boolean>` — Trả về `true` nếu dữ liệu chưa bao giờ được yêu cầu hoặc đang trong quá trình lấy phần dữ liệu đầu tiên (`data` vẫn là `undefined`).
31
33
  - `loading: Ref<boolean>` — Trả về `true` nếu bất kỳ yêu cầu mạng nào (ban đầu hoặc `reset` sau đó) hiện đang được thực hiện.
32
34
  - `reading: Ref<boolean>` — Cờ cho quá trình đọc/xử lý dữ liệu đang hoạt động.
@@ -4,21 +4,25 @@ import { Meta } from '@storybook/addon-docs/blocks'
4
4
 
5
5
  # `useApiRequest`
6
6
 
7
- Returns an object with a loading state and a `send` method for executing API requests.
7
+ Returns an object with a loading state and a `send` method for executing API requests. Accepts settings as a single `UseApiRequestSetup` object.
8
8
 
9
9
  **Parameters:**
10
- - `path?: RefOrNormal<string | undefined>` Path to the API endpoint (can be reactive).
11
- - `method: ApiMethodItem = ApiMethodItem.post`HTTP method to use for the request.
12
- - `action?: (data: Return | undefined) => Promise<void> | void` — Callback action to perform after the request completes successfully.
13
- - `transformation?: (data: T) => Return` Function to transform the response data before it is returned or passed to the `action`.
14
- - `toData: boolean = true` — Whether to extract the `data` field from the response.
15
- - `options?: ApiOptions` Additional request options (`ApiFetch` object parameter).
16
- - `apiInstance?: ApiInstance` API instance to use for the request. Defaults to `Api.getItem()`.
10
+ - `setup: UseApiRequestSetup`Configuration setup object:
11
+ - `path?: RefOrNormal<string | undefined>`Path to the API endpoint (can be reactive).
12
+ - `method?: ApiMethodItem` — HTTP method to use for the request. Defaults to `ApiMethodItem.post`.
13
+ - `action?: (data: Return | undefined) => Promise<void> | void` Callback action to perform after the request completes successfully.
14
+ - `transformation?: (data: T) => Return` — Function to transform the response data before it is returned or passed to the `action`.
15
+ - `validateRequestContract?: (data: Request) => ApiDataValidation & Return` Request contract validation function.
16
+ - `validateResponseContract?: (data: T) => ApiDataValidation & Return` Response contract validation function.
17
+ - `errorContract?: ApiErrorStorageList` — storage of response error contracts.
18
+ - `toData?: boolean` — Whether to extract the `data` field from the response. Defaults to `true`.
19
+ - `options?: ApiOptions` — Additional request options (`ApiFetch` object parameter).
20
+ - `apiInstance?: ApiInstance` — API instance to use for the request. Defaults to `Api.getItem()`.
17
21
 
18
22
  **Returns:**
19
23
  An object with the following properties:
20
24
  - `loading: Ref<boolean>` — Reactive loading state. It becomes `true` while the request is in progress and `false` after it completes or fails.
21
- - `send(request?: Request): Promise<Return | undefined>` — An asynchronous method for sending the request. It automatically manages the `loading` state, applies the transformation function to the response, executes the `action` callback on success, and handles errors safely by logging them to the console.
25
+ - `send(request?: Request): Promise<Return | undefined>` — An asynchronous method for sending the request. It automatically manages the `loading` state, validates the request and response contracts, applies the transformation function to the response, executes the `action` callback on success, and handles errors safely by logging them to the console.
22
26
 
23
27
  ## ApiOptions Object
24
28
 
@@ -44,14 +48,16 @@ An object with the following properties:
44
48
  import { useApiRequest } from '@dxtmisha/functional'
45
49
  import { ApiMethodItem } from '@dxtmisha/functional-basic'
46
50
 
47
- const { loading, send } = useApiRequest(
48
- '/api/submit',
49
- ApiMethodItem.post,
50
- (data) => console.log('Action complete:', data),
51
- (raw) => ({ ...raw, processed: true }),
52
- true,
53
- { cache: false }
54
- )
51
+ const { loading, send } = useApiRequest({
52
+ path: '/api/submit',
53
+ method: ApiMethodItem.post,
54
+ action: (data) => console.log('Action complete:', data),
55
+ transformation: (raw) => ({ ...raw, processed: true }),
56
+ validateRequestContract: (req) => ({ success: true, ...req }),
57
+ validateResponseContract: (res) => ({ success: true, ...res }),
58
+ toData: true,
59
+ options: { cache: false }
60
+ })
55
61
 
56
62
  const handleSubmit = async () => {
57
63
  const result = await send({ name: 'User' })
@@ -4,21 +4,25 @@ import { Meta } from '@storybook/addon-docs/blocks'
4
4
 
5
5
  # `useApiRequest`
6
6
 
7
- Возвращает объект с состоянием загрузки и методом `send` для выполнения запросов к API.
7
+ Возвращает объект с состоянием загрузки и методом `send` для выполнения запросов к API. Принимает настройки в виде единого объекта `UseApiRequestSetup`.
8
8
 
9
9
  **Параметры:**
10
- - `path?: RefOrNormal<string | undefined>` Путь к endpoint API (может быть реактивным).
11
- - `method: ApiMethodItem = ApiMethodItem.post`HTTP метод для запроса.
12
- - `action?: (data: Return | undefined) => Promise<void> | void` — Действие (коллбэк), выполняемое после успешного завершения запроса.
13
- - `transformation?: (data: T) => Return` — Функция трансформации ответа от сервера перед возвращением или передачей в `action`.
14
- - `toData: boolean = true` — Извлекать ли поле `data` из ответа.
15
- - `options?: ApiOptions` — Дополнительные опции запроса (объект параметров `ApiFetch`).
16
- - `apiInstance?: ApiInstance` Экземпляр API, используемый для выполнения запроса. По умолчанию `Api.getItem()`.
10
+ - `setup: UseApiRequestSetup`Объект настроек запроса:
11
+ - `path?: RefOrNormal<string | undefined>`Путь к endpoint API (может быть реактивным).
12
+ - `method?: ApiMethodItem` — HTTP метод для запроса. По умолчанию `ApiMethodItem.post`.
13
+ - `action?: (data: Return | undefined) => Promise<void> | void` — Действие (коллбэк), выполняемое после успешного завершения запроса.
14
+ - `transformation?: (data: T) => Return` — Функция трансформации ответа от сервера перед возвращением или передачей в `action`.
15
+ - `validateRequestContract?: (data: Request) => ApiDataValidation & Return` — Функция валидации контракта отправляемого запроса.
16
+ - `validateResponseContract?: (data: T) => ApiDataValidation & Return` Функция валидации контракта полученного ответа.
17
+ - `errorContract?: ApiErrorStorageList` — хранилище контрактов ошибок ответа.
18
+ - `toData?: boolean` — Извлекать ли поле `data` из ответа. По умолчанию `true`.
19
+ - `options?: ApiOptions` — Дополнительные опции запроса (объект параметров `ApiFetch`).
20
+ - `apiInstance?: ApiInstance` — Экземпляр API, используемый для выполнения запроса. По умолчанию `Api.getItem()`.
17
21
 
18
22
  **Возвращает:**
19
23
  Объект со следующими свойствами:
20
24
  - `loading: Ref<boolean>` — Реактивное состояние загрузки. Принимает значение `true` во время выполнения запроса и `false` после его завершения или ошибки.
21
- - `send(request?: Request): Promise<Return | undefined>` — Асинхронный метод для отправки запроса. Он автоматически управляет состоянием `loading`, применяет функцию трансформации к ответу, вызывает коллбэк `action` при успехе и безопасно обрабатывает ошибки, выводя их в консоль.
25
+ - `send(request?: Request): Promise<Return | undefined>` — Асинхронный метод для отправки запроса. Он автоматически управляет состоянием `loading`, проверяет контракты валидации запроса и ответа, применяет функцию трансформации к ответу, вызывает коллбэк `action` при успехе и безопасно обрабатывает ошибки, выводя их в консоль.
22
26
 
23
27
  ## Объект ApiOptions
24
28
 
@@ -44,14 +48,16 @@ import { Meta } from '@storybook/addon-docs/blocks'
44
48
  import { useApiRequest } from '@dxtmisha/functional'
45
49
  import { ApiMethodItem } from '@dxtmisha/functional-basic'
46
50
 
47
- const { loading, send } = useApiRequest(
48
- '/api/submit',
49
- ApiMethodItem.post,
50
- (data) => console.log('Действие завершено:', data),
51
- (raw) => ({ ...raw, processed: true }),
52
- true,
53
- { cache: false }
54
- )
51
+ const { loading, send } = useApiRequest({
52
+ path: '/api/submit',
53
+ method: ApiMethodItem.post,
54
+ action: (data) => console.log('Действие завершено:', data),
55
+ transformation: (raw) => ({ ...raw, processed: true }),
56
+ validateRequestContract: (req) => ({ success: true, ...req }),
57
+ validateResponseContract: (res) => ({ success: true, ...res }),
58
+ toData: true,
59
+ options: { cache: false }
60
+ })
55
61
 
56
62
  const handleSubmit = async () => {
57
63
  const result = await send({ name: 'User' })
@@ -4,28 +4,32 @@ import { Meta } from '@storybook/addon-docs/blocks'
4
4
 
5
5
  # `useApiRequest`
6
6
 
7
- Trả về một đối tượng với trạng thái tải và phương thức `send` để thực hiện các yêu cầu API.
7
+ Trả về một đối tượng với trạng thái tải và phương thức `send` để thực hiện các yêu cầu API. Nhận các thiết lập dưới dạng một đối tượng `UseApiRequestSetup` duy nhất.
8
8
 
9
9
  **Tham số:**
10
- - `path?: RefOrNormal<string | undefined>` Đường dẫn đến endpoint API (có thể phản ứng).
11
- - `method: ApiMethodItem = ApiMethodItem.post`Phương thức HTTP cho yêu cầu.
12
- - `action?: (data: Return | undefined) => Promise<void> | void` — Hành động (callback) thực hiện sau khi yêu cầu hoàn tất thành công.
13
- - `transformation?: (data: T) => Return` — Hàm chuyển đổi dữ liệu phản hồi từ máy chủ trước khi trả về hoặc truyền vào `action`.
14
- - `toData: boolean = true` — Việc trích xuất trường `data` từ phản hồi hay không.
15
- - `options?: ApiOptions` Các tùy chọn bổ sung cho yêu cầu (đối tượng tham số `ApiFetch`).
16
- - `apiInstance?: ApiInstance` Phiên bản API sử dụng cho yêu cầu. Mặc định `Api.getItem()`.
17
-
18
- **Giá trị t**Trả về:**
10
+ - `setup: UseApiRequestSetup`Đối tượng thiết lập cấu hình:
11
+ - `path?: RefOrNormal<string | undefined>`Đường dẫn đến endpoint API (có thể phản ứng).
12
+ - `method?: ApiMethodItem` — Phương thức HTTP cho yêu cầu. Mặc định `ApiMethodItem.post`.
13
+ - `action?: (data: Return | undefined) => Promise<void> | void` — Hành động (callback) thực hiện sau khi yêu cầu hoàn tất thành công.
14
+ - `transformation?: (data: T) => Return` — Hàm chuyển đổi dữ liệu phản hồi từ máy chủ trước khi trả về hoặc truyền vào `action`.
15
+ - `validateRequestContract?: (data: Request) => ApiDataValidation & Return` Hàm xác thực hợp đồng yêu cầu.
16
+ - `validateResponseContract?: (data: T) => ApiDataValidation & Return` Hàm xác thực hợp đồng phản hồi.
17
+ - `errorContract?: ApiErrorStorageList` — nơi lưu trữ hợp đồng lỗi phản hồi.
18
+ - `toData?: boolean` — Việc trích xuất trường `data` từ phản hồi hay không. Mặc định: `true`.
19
+ - `options?: ApiOptions` — Các tùy chọn bổ sung cho yêu cầu (đối tượng tham số `ApiFetch`).
20
+ - `apiInstance?: ApiInstance` — Phiên bản API sử dụng cho yêu cầu. Mặc định là `Api.getItem()`.
21
+
22
+ **Trả về:**
19
23
  Một đối tượng với các thuộc tính sau:
20
24
  - `loading: Ref<boolean>` — Trạng thái tải phản ứng. Sẽ là `true` trong khi yêu cầu đang thực hiện và `false` sau khi hoàn thành hoặc có lỗi.
21
- - `send(request?: Request): Promise<Return | undefined>` — Phương thức bất đồng bộ để gửi yêu cầu. Nó tự động quản lý trạng thái `loading`, áp dụng hàm biến đổi cho phản hồi, thực hiện callback `action` khi thành công và xử lý lỗi một cách an toàn bằng cách ghi log ra console.
25
+ - `send(request?: Request): Promise<Return | undefined>` — Phương thức bất đồng bộ để gửi yêu cầu. Nó tự động quản lý trạng thái `loading`, xác thực hợp đồng yêu cầu và phản hồi, áp dụng hàm biến đổi cho phản hồi, thực hiện callback `action` khi thành công và xử lý lỗi một cách an toàn bằng cách ghi log ra console.
22
26
 
23
27
  ## Đối tượng ApiOptions
24
28
 
25
29
  `ApiOptions` — có thể nhận một chuỗi tên `method` (ví dụ: `'GET'`) hoặc một đối tượng kiểu `ApiFetch`. Các trường của đối tượng `ApiFetch`:
26
30
 
27
31
  - `path?: string` — đường dẫn đến endpoint script tương đối so với URL cơ bản (ví dụ: `'users/list'`).
28
- - `pathFull?: string` — URL đầy đủ của yêu cầu. Nếu được chỉ định, sẽ bỏ qua `api` `path`.
32
+ - `pathFull?: string` — URL đầy đủ của yêu cầu. Nếu được chỉ định, sẽ bỏ qua `api` and `path`.
29
33
  - `api?: boolean` — có thêm URL cơ bản trước `path` hay không. Mặc định: `true`.
30
34
  - `method?: ApiMethod` — phương thức HTTP (`'GET'`, `'POST'`, `'PUT'`, `'DELETE'`). Mặc định: `'GET'`.
31
35
  - `request?: FormData | Record<string, any> | string` — thân yêu cầu (cho POST/PUT) hoặc các tham số truy vấn (cho GET). Được truyền dưới dạng JSON hoặc `FormData`.
@@ -44,14 +48,16 @@ Một đối tượng với các thuộc tính sau:
44
48
  import { useApiRequest } from '@dxtmisha/functional'
45
49
  import { ApiMethodItem } from '@dxtmisha/functional-basic'
46
50
 
47
- const { loading, send } = useApiRequest(
48
- '/api/submit',
49
- ApiMethodItem.post,
50
- (data) => console.log('Hành động hoàn tất:', data),
51
- (raw) => ({ ...raw, processed: true }),
52
- true,
53
- { cache: false }
54
- )
51
+ const { loading, send } = useApiRequest({
52
+ path: '/api/submit',
53
+ method: ApiMethodItem.post,
54
+ action: (data) => console.log('Hành động hoàn tất:', data),
55
+ transformation: (raw) => ({ ...raw, processed: true }),
56
+ validateRequestContract: (req) => ({ success: true, ...req }),
57
+ validateResponseContract: (res) => ({ success: true, ...res }),
58
+ toData: true,
59
+ options: { cache: false }
60
+ })
55
61
 
56
62
  const handleSubmit = async () => {
57
63
  const result = await send({ name: 'User' })
@@ -28,7 +28,20 @@ const functionalOptions: FunctionalPluginOptions = {
28
28
  // Suffix to be appended to all page <title>
29
29
  metaSuffix: ' | My App',
30
30
  // Pass the router so services can access navigation
31
- router
31
+ router,
32
+ // Error causes for error center
33
+ errorCauses: [
34
+ { code: 'access_denied', message: 'Access denied' }
35
+ ],
36
+ // Error handlers
37
+ errorHandlers: [
38
+ {
39
+ group: 'auth',
40
+ handlers: [
41
+ (cause) => console.error('Auth error:', cause.message)
42
+ ]
43
+ }
44
+ ]
32
45
  }
33
46
 
34
47
  // Use functional plugin
@@ -46,7 +59,8 @@ When you call `app.use(dxtFunctionalPlugin)`, the following steps occur automati
46
59
  3. **`Icons` Initialization**: Configures the global SVG icon registry.
47
60
  4. **`Meta` Initialization**: Automatically sets the browser tab suffix (via `useMeta().setSuffix()`) if provided.
48
61
  5. **Vue Router Integration**: Globally registers the router object in the library's memory (`RouterItemRef`), allowing other functional services to use navigation even outside Vue components.
49
- 6. **`executeUseGlobalInit()` Execution**: Automatically triggers the initialization of absolutely all global singletons created via `executeUseGlobal`. You no longer need to call it manually!
62
+ 6. **`ErrorCenter` Setup**: Configures predefined error causes (`ErrorCenter.addList`) and registers global error handlers (`ErrorCenter.addHandlerList`) in the central error registry.
63
+ 7. **`executeUseGlobalInit()` Execution**: Automatically triggers the initialization of absolutely all global singletons created via `executeUseGlobal`. You no longer need to call it manually!
50
64
 
51
65
  ## Service Configuration
52
66
 
@@ -28,7 +28,20 @@ const functionalOptions: FunctionalPluginOptions = {
28
28
  // Суффикс, который будет добавляться ко всем <title> страниц
29
29
  metaSuffix: ' | Мое приложение',
30
30
  // Передача роутера для работы навигации внутри сервисов
31
- router
31
+ router,
32
+ // Причины ошибок для центра ошибок
33
+ errorCauses: [
34
+ { code: 'access_denied', message: 'Доступ ограничен' }
35
+ ],
36
+ // Обработчики ошибок
37
+ errorHandlers: [
38
+ {
39
+ group: 'auth',
40
+ handlers: [
41
+ (cause) => console.error('Ошибка авторизации:', cause.message)
42
+ ]
43
+ }
44
+ ]
32
45
  }
33
46
 
34
47
  // Подключаем функциональный плагин
@@ -46,7 +59,8 @@ app.mount('#app')
46
59
  3. **Инициализация `Icons`**: Запускает конфигурацию глобального реестра иконок (SVG).
47
60
  4. **Инициализация `Meta`**: Автоматически прописывает суффикс вкладки браузера (через `useMeta().setSuffix()`), если он был передан.
48
61
  5. **Интеграция с Vue Router**: Глобально регистрирует объект роутера в памяти библиотеки (`RouterItemRef`), чтобы другие функциональные сервисы имели доступ к навигации даже за пределами компонентов.
49
- 6. **Запуск `executeUseGlobalInit()`**: Автоматически триггерит инициализацию абсолютно всех глобальных синглтонов на базе `executeUseGlobal`. Заботиться о ручном вызове больше не нужно!
62
+ 6. **Настройка `ErrorCenter`**: Настраивает предопределенный список причин ошибок (`ErrorCenter.addList`) и регистрирует обработчики (`ErrorCenter.addHandlerList`) в едином хранилище.
63
+ 7. **Запуск `executeUseGlobalInit()`**: Автоматически триггерит инициализацию абсолютно всех глобальных синглтонов на базе `executeUseGlobal`. Заботиться о ручном вызове больше не нужно!
50
64
 
51
65
  ## Конфигурация сервисов
52
66