@dxtmisha/wiki 0.39.7 → 0.56.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.
- package/dist/{defineProperty-DblGXmzD.js → defineProperty-149Ahniv.js} +4 -4
- package/dist/library.js +1 -1
- package/dist/media/descriptions/wikiDescriptionsArea.d.ts +7 -0
- package/dist/media/descriptions/wikiDescriptionsClientOnly.d.ts +7 -0
- package/dist/media/descriptions/wikiDescriptionsContainer.d.ts +7 -0
- package/dist/media/descriptions/wikiDescriptionsHeader.d.ts +7 -0
- package/dist/media/descriptions/wikiDescriptionsPageArea.d.ts +7 -0
- package/dist/media/mdx/Area/wikiMdxArea.d.ts +7 -0
- package/dist/media/mdx/ClientOnly/wikiMdxClientOnly.d.ts +7 -0
- package/dist/media/mdx/Container/wikiMdxContainer.d.ts +7 -0
- package/dist/media/mdx/Header/wikiMdxHeader.d.ts +7 -0
- package/dist/media/mdx/PageArea/wikiMdxPageArea.d.ts +7 -0
- package/dist/media.d.ts +1 -1
- package/dist/media.js +127 -68
- package/dist/storybook.js +2707 -1841
- package/dist/{wikiDescriptions-Cv4WzSNL.js → wikiDescriptions-7XaHU3Yk.js} +182 -0
- package/package.json +1 -1
- package/src/media/functional/functional/composables/useApiAsyncRef/useApiAsyncRef.en.mdx +43 -0
- package/src/media/functional/functional/composables/useApiAsyncRef/useApiAsyncRef.ru.mdx +43 -0
- package/src/media/functional/functional/composables/useApiAsyncRef/useApiAsyncRef.vi.mdx +41 -0
- package/src/media/functional/functional/composables/useApiRef/useApiRef.en.mdx +20 -4
- package/src/media/functional/functional/composables/useApiRef/useApiRef.ru.mdx +21 -3
- package/src/media/functional/functional/composables/useApiRef/useApiRef.vi.mdx +20 -2
- package/src/media/functional/functional/functions/computedAsync/computedAsync.en.mdx +8 -0
- package/src/media/functional/functional/functions/computedAsync/computedAsync.ru.mdx +8 -0
- package/src/media/functional/functional/functions/computedAsync/computedAsync.vi.mdx +8 -0
- package/src/media/functional/functional/functions/computedEternity/computedEternity.en.mdx +8 -0
- package/src/media/functional/functional/functions/computedEternity/computedEternity.ru.mdx +8 -0
- package/src/media/functional/functional/functions/computedEternity/computedEternity.vi.mdx +8 -0
- package/src/media/functional/functional-basic/api/api.en.mdx +45 -0
- package/src/media/functional/functional-basic/api/api.ru.mdx +45 -0
- package/src/media/functional/functional-basic/api/api.vi.mdx +45 -0
- package/src/media/functional/functional-basic/classes/Api/Api.en.mdx +57 -54
- package/src/media/functional/functional-basic/classes/Api/Api.ru.mdx +57 -54
- package/src/media/functional/functional-basic/classes/Api/Api.vi.mdx +57 -54
- package/src/media/functional/functional-basic/classes/ApiCache/ApiCache.en.mdx +111 -0
- package/src/media/functional/functional-basic/classes/ApiCache/ApiCache.ru.mdx +111 -0
- package/src/media/functional/functional-basic/classes/ApiCache/ApiCache.vi.mdx +111 -0
- package/src/media/functional/functional-basic/classes/ApiDataReturn/ApiDataReturn.en.mdx +32 -0
- package/src/media/functional/functional-basic/classes/ApiDataReturn/ApiDataReturn.ru.mdx +32 -0
- package/src/media/functional/functional-basic/classes/ApiDataReturn/ApiDataReturn.vi.mdx +32 -0
- package/src/media/functional/functional-basic/classes/ApiDefault/ApiDefault.en.mdx +24 -28
- package/src/media/functional/functional-basic/classes/ApiDefault/ApiDefault.ru.mdx +24 -28
- package/src/media/functional/functional-basic/classes/ApiDefault/ApiDefault.vi.mdx +24 -28
- package/src/media/functional/functional-basic/classes/ApiHeaders/ApiHeaders.en.mdx +28 -14
- package/src/media/functional/functional-basic/classes/ApiHeaders/ApiHeaders.ru.mdx +33 -19
- package/src/media/functional/functional-basic/classes/ApiHeaders/ApiHeaders.vi.mdx +33 -19
- package/src/media/functional/functional-basic/classes/ApiHydration/ApiHydration.en.mdx +56 -0
- package/src/media/functional/functional-basic/classes/ApiHydration/ApiHydration.ru.mdx +56 -0
- package/src/media/functional/functional-basic/classes/ApiHydration/ApiHydration.vi.mdx +55 -0
- package/src/media/functional/functional-basic/classes/ApiInstance/ApiInstance.en.mdx +106 -51
- package/src/media/functional/functional-basic/classes/ApiInstance/ApiInstance.ru.mdx +107 -52
- package/src/media/functional/functional-basic/classes/ApiInstance/ApiInstance.vi.mdx +103 -49
- package/src/media/functional/functional-basic/classes/ApiPreparation/ApiPreparation.en.mdx +44 -26
- package/src/media/functional/functional-basic/classes/ApiPreparation/ApiPreparation.ru.mdx +45 -27
- package/src/media/functional/functional-basic/classes/ApiPreparation/ApiPreparation.vi.mdx +44 -26
- package/src/media/functional/functional-basic/classes/ApiResponse/ApiResponse.en.mdx +59 -21
- package/src/media/functional/functional-basic/classes/ApiResponse/ApiResponse.ru.mdx +63 -25
- package/src/media/functional/functional-basic/classes/ApiResponse/ApiResponse.vi.mdx +64 -26
- package/src/media/functional/functional-basic/classes/ApiStatus/ApiStatus.en.mdx +29 -32
- package/src/media/functional/functional-basic/classes/ApiStatus/ApiStatus.ru.mdx +33 -36
- package/src/media/functional/functional-basic/classes/ApiStatus/ApiStatus.vi.mdx +33 -36
- package/src/media/functional/functional-basic/classes/BroadcastMessage/BroadcastMessage.en.mdx +34 -53
- package/src/media/functional/functional-basic/classes/BroadcastMessage/BroadcastMessage.ru.mdx +33 -52
- package/src/media/functional/functional-basic/classes/BroadcastMessage/BroadcastMessage.vi.mdx +39 -58
- package/src/media/functional/functional-basic/classes/Cache/Cache.en.mdx +7 -4
- package/src/media/functional/functional-basic/classes/Cache/Cache.ru.mdx +7 -4
- package/src/media/functional/functional-basic/classes/Cache/Cache.vi.mdx +28 -25
- package/src/media/functional/functional-basic/classes/CacheItem/CacheItem.en.mdx +45 -53
- package/src/media/functional/functional-basic/classes/CacheItem/CacheItem.ru.mdx +46 -54
- package/src/media/functional/functional-basic/classes/CacheItem/CacheItem.vi.mdx +47 -55
- package/src/media/functional/functional-basic/classes/CacheStatic/CacheStatic.en.mdx +13 -1
- package/src/media/functional/functional-basic/classes/CacheStatic/CacheStatic.ru.mdx +13 -1
- package/src/media/functional/functional-basic/classes/CacheStatic/CacheStatic.vi.mdx +13 -0
- package/src/media/functional/functional-basic/classes/Cookie/Cookie.en.mdx +88 -44
- package/src/media/functional/functional-basic/classes/Cookie/Cookie.ru.mdx +88 -44
- package/src/media/functional/functional-basic/classes/Cookie/Cookie.vi.mdx +85 -41
- package/src/media/functional/functional-basic/classes/CookieBlock/CookieBlock.en.mdx +43 -22
- package/src/media/functional/functional-basic/classes/CookieBlock/CookieBlock.ru.mdx +46 -25
- package/src/media/functional/functional-basic/classes/CookieBlock/CookieBlock.vi.mdx +43 -22
- package/src/media/functional/functional-basic/classes/CookieBlockInstance/CookieBlockInstance.en.mdx +84 -0
- package/src/media/functional/functional-basic/classes/CookieBlockInstance/CookieBlockInstance.ru.mdx +84 -0
- package/src/media/functional/functional-basic/classes/CookieBlockInstance/CookieBlockInstance.vi.mdx +100 -0
- package/src/media/functional/functional-basic/classes/CookieStorage/CookieStorage.en.mdx +178 -0
- package/src/media/functional/functional-basic/classes/CookieStorage/CookieStorage.ru.mdx +178 -0
- package/src/media/functional/functional-basic/classes/CookieStorage/CookieStorage.vi.mdx +178 -0
- package/src/media/functional/functional-basic/classes/DataStorage/DataStorage.en.mdx +32 -25
- package/src/media/functional/functional-basic/classes/DataStorage/DataStorage.ru.mdx +32 -25
- package/src/media/functional/functional-basic/classes/DataStorage/DataStorage.vi.mdx +32 -27
- package/src/media/functional/functional-basic/classes/Datetime/Datetime.en.mdx +36 -4
- package/src/media/functional/functional-basic/classes/Datetime/Datetime.ru.mdx +36 -4
- package/src/media/functional/functional-basic/classes/Datetime/Datetime.vi.mdx +36 -4
- package/src/media/functional/functional-basic/classes/ErrorCenter/ErrorCenter.en.mdx +101 -70
- package/src/media/functional/functional-basic/classes/ErrorCenter/ErrorCenter.ru.mdx +100 -69
- package/src/media/functional/functional-basic/classes/ErrorCenter/ErrorCenter.vi.mdx +101 -70
- package/src/media/functional/functional-basic/classes/ErrorCenterHandler/ErrorCenterHandler.en.mdx +46 -42
- package/src/media/functional/functional-basic/classes/ErrorCenterHandler/ErrorCenterHandler.ru.mdx +46 -42
- package/src/media/functional/functional-basic/classes/ErrorCenterHandler/ErrorCenterHandler.vi.mdx +46 -42
- package/src/media/functional/functional-basic/classes/ErrorCenterInstance/ErrorCenterInstance.en.mdx +44 -96
- package/src/media/functional/functional-basic/classes/ErrorCenterInstance/ErrorCenterInstance.ru.mdx +44 -96
- package/src/media/functional/functional-basic/classes/ErrorCenterInstance/ErrorCenterInstance.vi.mdx +44 -96
- package/src/media/functional/functional-basic/classes/EventItem/EventItem.en.mdx +49 -28
- package/src/media/functional/functional-basic/classes/EventItem/EventItem.ru.mdx +21 -0
- package/src/media/functional/functional-basic/classes/EventItem/EventItem.vi.mdx +63 -42
- package/src/media/functional/functional-basic/classes/Formatters/Formatters.en.mdx +97 -109
- package/src/media/functional/functional-basic/classes/Formatters/Formatters.ru.mdx +86 -98
- package/src/media/functional/functional-basic/classes/Formatters/Formatters.vi.mdx +99 -111
- package/src/media/functional/functional-basic/classes/Geo/Geo.en.mdx +3 -3
- package/src/media/functional/functional-basic/classes/Geo/Geo.ru.mdx +5 -5
- package/src/media/functional/functional-basic/classes/Geo/Geo.vi.mdx +5 -5
- package/src/media/functional/functional-basic/classes/GeoFlag/GeoFlag.en.mdx +83 -40
- package/src/media/functional/functional-basic/classes/GeoFlag/GeoFlag.ru.mdx +83 -40
- package/src/media/functional/functional-basic/classes/GeoFlag/GeoFlag.vi.mdx +87 -44
- package/src/media/functional/functional-basic/classes/GeoInstance/GeoInstance.en.mdx +81 -0
- package/src/media/functional/functional-basic/classes/GeoInstance/GeoInstance.ru.mdx +81 -0
- package/src/media/functional/functional-basic/classes/GeoInstance/GeoInstance.vi.mdx +81 -0
- package/src/media/functional/functional-basic/classes/GeoPhone/GeoPhone.en.mdx +56 -105
- package/src/media/functional/functional-basic/classes/GeoPhone/GeoPhone.ru.mdx +53 -102
- package/src/media/functional/functional-basic/classes/GeoPhone/GeoPhone.vi.mdx +55 -105
- package/src/media/functional/functional-basic/classes/Hash/Hash.en.mdx +18 -7
- package/src/media/functional/functional-basic/classes/Hash/Hash.ru.mdx +18 -7
- package/src/media/functional/functional-basic/classes/Hash/Hash.vi.mdx +18 -7
- package/src/media/functional/functional-basic/classes/HashInstance/HashInstance.en.mdx +54 -0
- package/src/media/functional/functional-basic/classes/HashInstance/HashInstance.ru.mdx +54 -0
- package/src/media/functional/functional-basic/classes/HashInstance/HashInstance.vi.mdx +54 -0
- package/src/media/functional/functional-basic/classes/Meta/Meta.en.mdx +16 -0
- package/src/media/functional/functional-basic/classes/Meta/Meta.ru.mdx +16 -0
- package/src/media/functional/functional-basic/classes/Meta/Meta.vi.mdx +17 -1
- package/src/media/functional/functional-basic/classes/MetaManager/MetaManager.en.mdx +9 -0
- package/src/media/functional/functional-basic/classes/MetaManager/MetaManager.ru.mdx +9 -0
- package/src/media/functional/functional-basic/classes/MetaManager/MetaManager.vi.mdx +9 -0
- package/src/media/functional/functional-basic/classes/MetaStatic/MetaStatic.en.mdx +79 -0
- package/src/media/functional/functional-basic/classes/MetaStatic/MetaStatic.ru.mdx +79 -0
- package/src/media/functional/functional-basic/classes/MetaStatic/MetaStatic.vi.mdx +79 -0
- package/src/media/functional/functional-basic/classes/ResumableTimer/ResumableTimer.en.mdx +50 -0
- package/src/media/functional/functional-basic/classes/ResumableTimer/ResumableTimer.ru.mdx +50 -0
- package/src/media/functional/functional-basic/classes/ResumableTimer/ResumableTimer.vi.mdx +50 -0
- package/src/media/functional/functional-basic/classes/ServerStorage/ServerStorage.en.mdx +131 -0
- package/src/media/functional/functional-basic/classes/ServerStorage/ServerStorage.ru.mdx +131 -0
- package/src/media/functional/functional-basic/classes/ServerStorage/ServerStorage.vi.mdx +131 -0
- package/src/media/functional/functional-basic/classes/StorageCallback/StorageCallback.en.mdx +97 -0
- package/src/media/functional/functional-basic/classes/StorageCallback/StorageCallback.ru.mdx +97 -0
- package/src/media/functional/functional-basic/classes/StorageCallback/StorageCallback.vi.mdx +97 -0
- package/src/media/functional/functional-basic/functions/addTagHighlightMatch/addTagHighlightMatch.en.mdx +13 -5
- package/src/media/functional/functional-basic/functions/addTagHighlightMatch/addTagHighlightMatch.ru.mdx +13 -5
- package/src/media/functional/functional-basic/functions/addTagHighlightMatch/addTagHighlightMatch.vi.mdx +13 -5
- package/src/media/functional/functional-basic/functions/anyToString/anyToString.en.mdx +37 -19
- package/src/media/functional/functional-basic/functions/anyToString/anyToString.ru.mdx +37 -19
- package/src/media/functional/functional-basic/functions/anyToString/anyToString.vi.mdx +35 -17
- package/src/media/functional/functional-basic/functions/applyTemplate/applyTemplate.en.mdx +31 -19
- package/src/media/functional/functional-basic/functions/applyTemplate/applyTemplate.ru.mdx +31 -19
- package/src/media/functional/functional-basic/functions/applyTemplate/applyTemplate.vi.mdx +32 -20
- package/src/media/functional/functional-basic/functions/blobToBase64/blobToBase64.en.mdx +29 -15
- package/src/media/functional/functional-basic/functions/blobToBase64/blobToBase64.ru.mdx +28 -14
- package/src/media/functional/functional-basic/functions/blobToBase64/blobToBase64.vi.mdx +28 -14
- package/src/media/functional/functional-basic/functions/capitalize/capitalize.en.mdx +7 -3
- package/src/media/functional/functional-basic/functions/capitalize/capitalize.ru.mdx +7 -3
- package/src/media/functional/functional-basic/functions/capitalize/capitalize.vi.mdx +7 -3
- package/src/media/functional/functional-basic/functions/copyObject/copyObject.en.mdx +17 -13
- package/src/media/functional/functional-basic/functions/copyObject/copyObject.ru.mdx +17 -13
- package/src/media/functional/functional-basic/functions/copyObject/copyObject.vi.mdx +17 -13
- package/src/media/functional/functional-basic/functions/createElement/createElement.en.mdx +2 -0
- package/src/media/functional/functional-basic/functions/createElement/createElement.ru.mdx +2 -0
- package/src/media/functional/functional-basic/functions/createElement/createElement.vi.mdx +2 -0
- package/src/media/functional/functional-basic/functions/encodeAttribute/encodeAttribute.en.mdx +1 -3
- package/src/media/functional/functional-basic/functions/encodeAttribute/encodeAttribute.ru.mdx +1 -3
- package/src/media/functional/functional-basic/functions/encodeAttribute/encodeAttribute.vi.mdx +1 -3
- package/src/media/functional/functional-basic/functions/executeFunction/executeFunction.en.mdx +13 -10
- package/src/media/functional/functional-basic/functions/executeFunction/executeFunction.ru.mdx +14 -11
- package/src/media/functional/functional-basic/functions/executeFunction/executeFunction.vi.mdx +12 -9
- package/src/media/functional/functional-basic/functions/executePromise/executePromise.en.mdx +14 -13
- package/src/media/functional/functional-basic/functions/executePromise/executePromise.ru.mdx +15 -14
- package/src/media/functional/functional-basic/functions/executePromise/executePromise.vi.mdx +14 -13
- package/src/media/functional/functional-basic/functions/forEach/forEach.en.mdx +1 -1
- package/src/media/functional/functional-basic/functions/forEach/forEach.ru.mdx +1 -1
- package/src/media/functional/functional-basic/functions/forEach/forEach.vi.mdx +1 -1
- package/src/media/functional/functional-basic/functions/frame/frame.en.mdx +7 -4
- package/src/media/functional/functional-basic/functions/frame/frame.ru.mdx +6 -3
- package/src/media/functional/functional-basic/functions/frame/frame.vi.mdx +7 -4
- package/src/media/functional/functional-basic/functions/getArrayHighlightMatch/getArrayHighlightMatch.en.mdx +34 -0
- package/src/media/functional/functional-basic/functions/getArrayHighlightMatch/getArrayHighlightMatch.ru.mdx +34 -0
- package/src/media/functional/functional-basic/functions/getArrayHighlightMatch/getArrayHighlightMatch.vi.mdx +35 -0
- package/src/media/functional/functional-basic/functions/getCurrentDate/getCurrentDate.en.mdx +2 -0
- package/src/media/functional/functional-basic/functions/getCurrentDate/getCurrentDate.ru.mdx +2 -0
- package/src/media/functional/functional-basic/functions/getCurrentDate/getCurrentDate.vi.mdx +2 -0
- package/src/media/functional/functional-basic/functions/getCurrentTime/getCurrentTime.en.mdx +21 -0
- package/src/media/functional/functional-basic/functions/getCurrentTime/getCurrentTime.ru.mdx +21 -0
- package/src/media/functional/functional-basic/functions/getCurrentTime/getCurrentTime.vi.mdx +21 -0
- package/src/media/functional/functional-basic/functions/getElementId/getElementId.en.mdx +17 -3
- package/src/media/functional/functional-basic/functions/getElementId/getElementId.ru.mdx +17 -3
- package/src/media/functional/functional-basic/functions/getElementId/getElementId.vi.mdx +18 -4
- package/src/media/functional/functional-basic/functions/getElementSafeScript/getElementSafeScript.en.mdx +31 -0
- package/src/media/functional/functional-basic/functions/getElementSafeScript/getElementSafeScript.ru.mdx +31 -0
- package/src/media/functional/functional-basic/functions/getElementSafeScript/getElementSafeScript.vi.mdx +31 -0
- package/src/media/functional/functional-basic/functions/getOnlyText/getOnlyText.en.mdx +25 -0
- package/src/media/functional/functional-basic/functions/getOnlyText/getOnlyText.ru.mdx +25 -0
- package/src/media/functional/functional-basic/functions/getOnlyText/getOnlyText.vi.mdx +25 -0
- package/src/media/functional/functional-basic/functions/getSearchExp/getSearchExp.en.mdx +11 -4
- package/src/media/functional/functional-basic/functions/getSearchExp/getSearchExp.ru.mdx +14 -7
- package/src/media/functional/functional-basic/functions/getSearchExp/getSearchExp.vi.mdx +13 -6
- package/src/media/functional/functional-basic/functions/getSeparatingSearchExp/getSeparatingSearchExp.en.mdx +3 -2
- package/src/media/functional/functional-basic/functions/getSeparatingSearchExp/getSeparatingSearchExp.ru.mdx +3 -2
- package/src/media/functional/functional-basic/functions/getSeparatingSearchExp/getSeparatingSearchExp.vi.mdx +3 -2
- package/src/media/functional/functional-basic/functions/toNumber/toNumber.en.mdx +25 -9
- package/src/media/functional/functional-basic/functions/toNumber/toNumber.ru.mdx +25 -9
- package/src/media/functional/functional-basic/functions/toNumber/toNumber.vi.mdx +25 -9
- package/src/media/functional/functional-basic/functions/toString/toString.en.mdx +28 -0
- package/src/media/functional/functional-basic/functions/toString/toString.ru.mdx +28 -0
- package/src/media/functional/functional-basic/functions/toString/toString.vi.mdx +28 -0
- package/src/media/functional/functional-basic/icons/icons.en.mdx +3 -0
- package/src/media/functional/functional-basic/icons/icons.ru.mdx +3 -0
- package/src/media/functional/functional-basic/icons/icons.vi.mdx +3 -0
- package/src/media/functional/nitro-basic/functions/getInject.en.mdx +27 -0
- package/src/media/functional/nitro-basic/functions/getInject.ru.mdx +27 -0
- package/src/media/functional/nitro-basic/functions/getInject.vi.mdx +20 -0
- package/src/media/functional/ui/about/about.en.mdx +45 -0
- package/src/media/functional/ui/about/about.ru.mdx +45 -0
- package/src/media/functional/ui/about/about.vi.mdx +45 -0
- package/src/media/functional/ui/component/component.en.mdx +104 -0
- package/src/media/functional/ui/component/component.ru.mdx +106 -0
- package/src/media/functional/ui/component/component.vi.mdx +104 -0
- package/src/media/functional/ui/setup/setup.en.mdx +72 -0
- package/src/media/functional/ui/setup/setup.ru.mdx +72 -0
- package/src/media/functional/ui/setup/setup.vi.mdx +72 -0
- package/src/media/functional/ui/wiki-data.en.mdx +114 -0
- package/src/media/functional/ui/wiki-data.ru.mdx +114 -0
- package/src/media/functional/ui/wiki-data.vi.mdx +114 -0
package/src/media/functional/functional-basic/classes/ErrorCenterHandler/ErrorCenterHandler.ru.mdx
CHANGED
|
@@ -2,68 +2,72 @@ import {Meta} from '@storybook/addon-docs/blocks'
|
|
|
2
2
|
|
|
3
3
|
<Meta title='@dxtmisha/ru/functional-basic/Classes/ErrorCenterHandler - Управление обработчиками'/>
|
|
4
4
|
|
|
5
|
-
# ErrorCenterHandler
|
|
5
|
+
# Класс ErrorCenterHandler
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
`ErrorCenterHandler` — это менеджер для управления функциями обратного вызова (обработчиками). Он позволяет привязывать логику к определенным группам ошибок и выполнять её, когда происходит соответствующее событие.
|
|
8
8
|
|
|
9
9
|
## Ключевые особенности
|
|
10
10
|
|
|
11
|
-
- **Регистрация обработчиков** —
|
|
12
|
-
-
|
|
13
|
-
-
|
|
14
|
-
-
|
|
15
|
-
- **Интегрированное логирование** — Автоматически выводит детали ошибки в консоль браузера.
|
|
11
|
+
- **Регистрация обработчиков** — удобное добавление функций обратного вызова к конкретным группам.
|
|
12
|
+
- **Глобальный обработчик** — поддержка группы `undefined`, которая перехватывает любую ошибку без специфического обработчика.
|
|
13
|
+
- **Последовательное выполнение** — запускает все зарегистрированные функции в порядке их добавления.
|
|
14
|
+
- **Интегрированное логирование** — автоматически выводит детали ошибки в консоль.
|
|
16
15
|
|
|
17
|
-
##
|
|
16
|
+
## Инициализация
|
|
18
17
|
|
|
19
|
-
|
|
20
|
-
- `get(group: ErrorCenterGroup): ErrorCenterHandlerItem | undefined` — Извлекает элемент обработчика для группы.
|
|
18
|
+
Для создания экземпляра используйте конструктор `ErrorCenterHandler(handlers)`.
|
|
21
19
|
|
|
22
|
-
|
|
20
|
+
**Параметры:**
|
|
21
|
+
- `handlers?: ErrorCenterHandlerList` — начальный список обработчиков.
|
|
23
22
|
|
|
24
|
-
|
|
25
|
-
|
|
23
|
+
```typescript
|
|
24
|
+
import { ErrorCenterHandler } from '@dxtmisha/functional-basic'
|
|
26
25
|
|
|
27
|
-
|
|
26
|
+
const handlers = new ErrorCenterHandler([
|
|
27
|
+
{
|
|
28
|
+
group: 'api',
|
|
29
|
+
handlers: [(cause) => console.log('API Error:', cause.code)]
|
|
30
|
+
}
|
|
31
|
+
]);
|
|
32
|
+
```
|
|
28
33
|
|
|
29
|
-
|
|
34
|
+
## Методы
|
|
30
35
|
|
|
31
|
-
|
|
36
|
+
### Действие
|
|
37
|
+
- `on(cause: ErrorCenterCauseItem): this` — Запускает цепочку обработчиков. Всегда выводит ошибку в консоль через `console.error`.
|
|
32
38
|
|
|
33
|
-
|
|
34
|
-
- `
|
|
39
|
+
### Проверка
|
|
40
|
+
- `has(group: ErrorCenterGroup): boolean` — Проверяет, есть ли обработчики для группы.
|
|
41
|
+
- `get(group: ErrorCenterGroup): ErrorCenterHandlerItem | undefined` — Возвращает список функций для группы.
|
|
35
42
|
|
|
36
|
-
|
|
43
|
+
### Конфигурация
|
|
44
|
+
- `add(group: ErrorCenterGroup, handler: ErrorCenterHandlerCallback): this` — Добавляет одну функцию в группу.
|
|
45
|
+
- `addList(handlers: ErrorCenterHandlerList): this` — Пакетная регистрация обработчиков.
|
|
37
46
|
|
|
38
47
|
## Типы
|
|
39
48
|
|
|
40
|
-
|
|
49
|
+
#### `ErrorCenterGroup`
|
|
50
|
+
Имя группы (`string`) или `undefined` для глобального перехвата.
|
|
41
51
|
|
|
42
|
-
|
|
52
|
+
#### `ErrorCenterHandlerCallback`
|
|
53
|
+
Функция обратного вызова: `(cause: ErrorCenterCauseItem) => void`.
|
|
43
54
|
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
```javascript
|
|
49
|
-
import { ErrorCenterHandler } from '@dxtmisha/functional-basic'
|
|
55
|
+
#### `ErrorCenterHandlerItem`
|
|
56
|
+
Связка группы и массива её функций.
|
|
57
|
+
- `group?: ErrorCenterGroup` — целевая группа.
|
|
58
|
+
- `handlers: ErrorCenterHandlerCallback[]` — список функций.
|
|
50
59
|
|
|
51
|
-
|
|
60
|
+
## Примеры
|
|
52
61
|
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
})
|
|
62
|
+
### Изолированный менеджер для модуля
|
|
63
|
+
```typescript
|
|
64
|
+
const uploadHandlers = new ErrorCenterHandler();
|
|
57
65
|
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
}
|
|
66
|
+
uploadHandlers.add('upload', (cause) => {
|
|
67
|
+
if (cause.code === 'retry') {
|
|
68
|
+
restartUpload();
|
|
69
|
+
}
|
|
70
|
+
});
|
|
62
71
|
|
|
63
|
-
|
|
64
|
-
handlerManager.on({
|
|
65
|
-
group: 'api',
|
|
66
|
-
code: '500',
|
|
67
|
-
message: 'Внутренняя ошибка сервера'
|
|
68
|
-
})
|
|
72
|
+
uploadHandlers.on({ group: 'upload', code: 'retry' });
|
|
69
73
|
```
|
package/src/media/functional/functional-basic/classes/ErrorCenterHandler/ErrorCenterHandler.vi.mdx
CHANGED
|
@@ -2,68 +2,72 @@ import {Meta} from '@storybook/addon-docs/blocks'
|
|
|
2
2
|
|
|
3
3
|
<Meta title='@dxtmisha/vi/functional-basic/Classes/ErrorCenterHandler - Quản lý trình xử lý'/>
|
|
4
4
|
|
|
5
|
-
# ErrorCenterHandler
|
|
5
|
+
# Lớp ErrorCenterHandler
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
`ErrorCenterHandler` là trình quản lý để quản lý các hàm callback (trình xử lý). Nó cho phép bạn liên kết logic với các nhóm lỗi cụ thể và thực thi nó khi có sự kiện tương ứng xảy ra.
|
|
8
8
|
|
|
9
9
|
## Các tính năng chính
|
|
10
10
|
|
|
11
|
-
- **Đăng ký trình xử lý** —
|
|
12
|
-
- **
|
|
13
|
-
- **
|
|
14
|
-
- **
|
|
15
|
-
- **Tích hợp ghi nhật ký** — Tự động xuất chi tiết lỗi ra console trình duyệt.
|
|
11
|
+
- **Đăng ký trình xử lý** — thêm thuận tiện các hàm callback vào các nhóm cụ thể.
|
|
12
|
+
- **Trình xử lý toàn cục** — hỗ trợ nhóm `undefined`, nhóm này bắt bất kỳ lỗi nào không có trình xử lý cụ thể.
|
|
13
|
+
- **Thực thi tuần tự** — kích hoạt tất cả các hàm đã đăng ký theo thứ tự chúng được thêm vào.
|
|
14
|
+
- **Ghi log tích hợp** — tự động xuất chi tiết lỗi ra console.
|
|
16
15
|
|
|
17
|
-
##
|
|
16
|
+
## Khởi tạo
|
|
18
17
|
|
|
19
|
-
|
|
20
|
-
- `get(group: ErrorCenterGroup): ErrorCenterHandlerItem | undefined` — Truy xuất ánh xạ trình xử lý cho một nhóm.
|
|
18
|
+
Để tạo một thực thể, sử dụng constructor `ErrorCenterHandler(handlers)`.
|
|
21
19
|
|
|
22
|
-
|
|
20
|
+
**Tham số:**
|
|
21
|
+
- `handlers?: ErrorCenterHandlerList` — danh sách trình xử lý ban đầu.
|
|
23
22
|
|
|
24
|
-
|
|
25
|
-
|
|
23
|
+
```typescript
|
|
24
|
+
import { ErrorCenterHandler } from '@dxtmisha/functional-basic'
|
|
26
25
|
|
|
27
|
-
|
|
26
|
+
const handlers = new ErrorCenterHandler([
|
|
27
|
+
{
|
|
28
|
+
group: 'api',
|
|
29
|
+
handlers: [(cause) => console.log('Lỗi API:', cause.code)]
|
|
30
|
+
}
|
|
31
|
+
]);
|
|
32
|
+
```
|
|
28
33
|
|
|
29
|
-
|
|
34
|
+
## Các phương thức
|
|
30
35
|
|
|
31
|
-
|
|
36
|
+
### Hành động
|
|
37
|
+
- `on(cause: ErrorCenterCauseItem): this` — Kích hoạt chuỗi trình xử lý. Luôn xuất lỗi ra console qua `console.error`.
|
|
32
38
|
|
|
33
|
-
|
|
34
|
-
- `
|
|
39
|
+
### Xác minh
|
|
40
|
+
- `has(group: ErrorCenterGroup): boolean` — Kiểm tra xem có trình xử lý cho một nhóm không.
|
|
41
|
+
- `get(group: ErrorCenterGroup): ErrorCenterHandlerItem | undefined` — Trả về danh sách các hàm cho một nhóm.
|
|
35
42
|
|
|
36
|
-
|
|
43
|
+
### Cấu hình
|
|
44
|
+
- `add(group: ErrorCenterGroup, handler: ErrorCenterHandlerCallback): this` — Thêm một hàm vào một nhóm.
|
|
45
|
+
- `addList(handlers: ErrorCenterHandlerList): this` — Đăng ký hàng loạt các trình xử lý.
|
|
37
46
|
|
|
38
47
|
## Các kiểu dữ liệu
|
|
39
48
|
|
|
40
|
-
|
|
49
|
+
#### `ErrorCenterGroup`
|
|
50
|
+
Tên nhóm (`string`) hoặc `undefined` để chặn toàn cục.
|
|
41
51
|
|
|
42
|
-
|
|
52
|
+
#### `ErrorCenterHandlerCallback`
|
|
53
|
+
Hàm callback: `(cause: ErrorCenterCauseItem) => void`.
|
|
43
54
|
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
```javascript
|
|
49
|
-
import { ErrorCenterHandler } from '@dxtmisha/functional-basic'
|
|
55
|
+
#### `ErrorCenterHandlerItem`
|
|
56
|
+
Liên kết giữa một nhóm và một mảng các hàm của nó.
|
|
57
|
+
- `group?: ErrorCenterGroup` — nhóm mục tiêu.
|
|
58
|
+
- `handlers: ErrorCenterHandlerCallback[]` — danh sách các hàm.
|
|
50
59
|
|
|
51
|
-
|
|
60
|
+
## Ví dụ
|
|
52
61
|
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
})
|
|
62
|
+
### Trình quản lý cô lập cho một mô-đun
|
|
63
|
+
```typescript
|
|
64
|
+
const uploadHandlers = new ErrorCenterHandler();
|
|
57
65
|
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
}
|
|
66
|
+
uploadHandlers.add('upload', (cause) => {
|
|
67
|
+
if (cause.code === 'retry') {
|
|
68
|
+
restartUpload();
|
|
69
|
+
}
|
|
70
|
+
});
|
|
62
71
|
|
|
63
|
-
|
|
64
|
-
handlerManager.on({
|
|
65
|
-
group: 'api',
|
|
66
|
-
code: '500',
|
|
67
|
-
message: 'Lỗi máy chủ nội bộ'
|
|
68
|
-
})
|
|
72
|
+
uploadHandlers.on({ group: 'upload', code: 'retry' });
|
|
69
73
|
```
|
package/src/media/functional/functional-basic/classes/ErrorCenterInstance/ErrorCenterInstance.en.mdx
CHANGED
|
@@ -2,122 +2,70 @@ import {Meta} from '@storybook/addon-docs/blocks'
|
|
|
2
2
|
|
|
3
3
|
<Meta title='@dxtmisha/en/functional-basic/Classes/ErrorCenterInstance - Error Instance'/>
|
|
4
4
|
|
|
5
|
-
# ErrorCenterInstance
|
|
5
|
+
# ErrorCenterInstance Class
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
While `ErrorCenter` provides a global static bridge, `ErrorCenterInstance` can be used directly for isolated error tracking or custom error management systems.
|
|
7
|
+
`ErrorCenterInstance` is the main engine of the error system. It combines an error registry and a handler manager. You can create independent instances of this class for different parts of the application to isolate their error processing logic.
|
|
10
8
|
|
|
11
9
|
## Key Features
|
|
12
10
|
|
|
13
|
-
- **Isolated Storage** —
|
|
14
|
-
- **
|
|
15
|
-
- **
|
|
16
|
-
- **
|
|
17
|
-
- **Chainable Methods** — Supports fluent configuration for adding causes and handlers.
|
|
18
|
-
|
|
19
|
-
## Check Methods
|
|
20
|
-
|
|
21
|
-
- `has(code: string, group?: string): boolean` — Checks if a cause exists in the instance's registry.
|
|
22
|
-
- `get(code: string, group?: string): ErrorCenterCauseItem | undefined` — Retrieves the stored error cause object.
|
|
23
|
-
|
|
24
|
-
## Configuration
|
|
25
|
-
|
|
26
|
-
- `add(cause: ErrorCenterCauseItem): this` — Adds a single error cause to the storage.
|
|
27
|
-
- `addList(causes: ErrorCenterCauseList): this` — Adds multiple error causes.
|
|
28
|
-
- `addHandler(group: ErrorCenterGroup, handler: ErrorCenterHandlerCallback): this` — Registers a callback for a specific error group.
|
|
29
|
-
- `addHandlerList(handlers: ErrorCenterHandlerList): this` — Registers a collection of handlers.
|
|
30
|
-
|
|
31
|
-
## Action Methods
|
|
11
|
+
- **Isolated Storage** — maintaining a local list of error causes.
|
|
12
|
+
- **Intelligent Merging** — automatic supplementation of error data based on a priority system.
|
|
13
|
+
- **Handling Delegation** — using `ErrorCenterHandler` to trigger callback functions.
|
|
14
|
+
- **Chainable API** — support for call chaining for configuration.
|
|
32
15
|
|
|
33
|
-
|
|
16
|
+
## Initialization
|
|
34
17
|
|
|
35
|
-
|
|
18
|
+
To create an instance, use the constructor `ErrorCenterInstance(causes, handler)`.
|
|
36
19
|
|
|
37
20
|
**Parameters:**
|
|
38
|
-
- `
|
|
39
|
-
|
|
40
|
-
**Returns:** `this`
|
|
41
|
-
|
|
42
|
-
## Types
|
|
43
|
-
|
|
44
|
-
### `ErrorCenterCauseItem`
|
|
45
|
-
|
|
46
|
-
The main object used to define an error cause in this instance.
|
|
21
|
+
- `causes?: ErrorCenterCauseList` — initial list of error causes.
|
|
22
|
+
- `handler?: ErrorCenterHandler` — handler instance (if not specified, a new one is created).
|
|
47
23
|
|
|
48
|
-
|
|
49
|
-
- `code: string` — Unique identifier for the error.
|
|
50
|
-
- `label?: string` — Human-readable name of the error.
|
|
51
|
-
- `message?: string` — Detailed description of the error.
|
|
52
|
-
- `details?: any` — Optional object for additional context or technical data.
|
|
53
|
-
|
|
54
|
-
## Guide: Managing Errors and Listeners
|
|
55
|
-
|
|
56
|
-
Using the `ErrorCenterInstance` involves three main steps: defining error causes, setting up listeners (handlers), and triggering the errors.
|
|
57
|
-
|
|
58
|
-
### 1. Adding Error Causes
|
|
59
|
-
|
|
60
|
-
Error causes act as a dictionary for your application. By pre-registering them, you ensure that consistent labels and messages are used throughout your platform.
|
|
61
|
-
|
|
62
|
-
```javascript
|
|
24
|
+
```typescript
|
|
63
25
|
import { ErrorCenterInstance } from '@dxtmisha/functional-basic'
|
|
64
26
|
|
|
65
|
-
const myErrorCenter = new ErrorCenterInstance(
|
|
66
|
-
|
|
67
|
-
// Register a single error cause
|
|
68
|
-
myErrorCenter.add({
|
|
69
|
-
group: 'auth',
|
|
70
|
-
code: 'token_expired',
|
|
71
|
-
label: 'Session Expired',
|
|
72
|
-
message: 'Your login session has expired. Please log in again.'
|
|
73
|
-
})
|
|
74
|
-
|
|
75
|
-
// Register multiple causes at once
|
|
76
|
-
myErrorCenter.addList([
|
|
77
|
-
{ group: 'api', code: '404', label: 'Not Found', message: 'The requested data does not exist.' },
|
|
78
|
-
{ group: 'api', code: '500', label: 'Server Error', message: 'Something went wrong on the server.' }
|
|
27
|
+
const myErrorCenter = new ErrorCenterInstance([
|
|
28
|
+
{ group: 'api', code: '404', label: 'Not Found' }
|
|
79
29
|
])
|
|
80
30
|
```
|
|
81
31
|
|
|
82
|
-
|
|
32
|
+
## Methods
|
|
83
33
|
|
|
84
|
-
|
|
34
|
+
### Action
|
|
35
|
+
- `on(cause: ErrorCenterCauseItem): this` — Starts the processing. Merges data from the registry with input data and passes it to the handler.
|
|
85
36
|
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
// E.g., redirect to login or show an alert
|
|
90
|
-
console.log(`[AUTH ERROR] ${cause.label}: ${cause.message}`)
|
|
91
|
-
})
|
|
37
|
+
### Verification
|
|
38
|
+
- `has(code: string, group?: string): boolean` — Search in the local registry.
|
|
39
|
+
- `get(code: string, group?: string): ErrorCenterCauseItem | undefined` — Retrieve data from the registry.
|
|
92
40
|
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
41
|
+
### Configuration
|
|
42
|
+
- `add(cause: ErrorCenterCauseItem): this` — Add an error to the local registry.
|
|
43
|
+
- `addList(causes: ErrorCenterCauseList): this` — Batch addition of errors.
|
|
44
|
+
- `addHandler(group: ErrorCenterGroup, handler: ErrorCenterHandlerCallback): this` — Register a reaction to a group.
|
|
45
|
+
- `addHandlerList(handlers: ErrorCenterHandlerList): this` — Batch registration of reactions.
|
|
98
46
|
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
47
|
+
## Types
|
|
48
|
+
|
|
49
|
+
#### `ErrorCenterCauseItem`
|
|
50
|
+
Object describing a specific error.
|
|
51
|
+
- `group?: ErrorCenterGroup` — error group (e.g., 'api').
|
|
52
|
+
- `code: string` — unique error code.
|
|
53
|
+
- `priority?: number` — priority level (default `500`). Used during data merging.
|
|
54
|
+
- `label?: string` — error title.
|
|
55
|
+
- `message?: string` — error description.
|
|
56
|
+
- `details?: any` — additional data.
|
|
104
57
|
|
|
105
|
-
|
|
58
|
+
#### `ErrorCenterHandlerCallback`
|
|
59
|
+
- `(cause: ErrorCenterCauseItem) => void` — processing function.
|
|
106
60
|
|
|
107
|
-
|
|
61
|
+
## Examples
|
|
108
62
|
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
code: 'token_expired'
|
|
115
|
-
})
|
|
63
|
+
### Initialization with a Dictionary
|
|
64
|
+
```typescript
|
|
65
|
+
const myEC = new ErrorCenterInstance([
|
|
66
|
+
{ group: 'db', code: 'connection_lost', label: 'DB Unavailable' }
|
|
67
|
+
]);
|
|
116
68
|
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
group: 'database',
|
|
120
|
-
code: 'connection_lost',
|
|
121
|
-
message: 'Lost connection to DB.' // You can pass inline data as well
|
|
122
|
-
})
|
|
69
|
+
myEC.addHandler('db', (cause) => alert(cause.label));
|
|
70
|
+
myEC.on({ group: 'db', code: 'connection_lost' });
|
|
123
71
|
```
|
package/src/media/functional/functional-basic/classes/ErrorCenterInstance/ErrorCenterInstance.ru.mdx
CHANGED
|
@@ -2,122 +2,70 @@ import {Meta} from '@storybook/addon-docs/blocks'
|
|
|
2
2
|
|
|
3
3
|
<Meta title='@dxtmisha/ru/functional-basic/Classes/ErrorCenterInstance - Экземпляр ошибок'/>
|
|
4
4
|
|
|
5
|
-
# ErrorCenterInstance
|
|
5
|
+
# Класс ErrorCenterInstance
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
Хотя `ErrorCenter` предоставляет глобальный статический мост, `ErrorCenterInstance` можно использовать напрямую для изолированного отслеживания ошибок или создания пользовательских систем управления.
|
|
7
|
+
`ErrorCenterInstance` — это основной движок системы ошибок. Он объединяет в себе реестр причин и менеджер обработчиков. Вы можете создавать независимые экземпляры этого класса для разных частей приложения, чтобы изолировать их логику обработки ошибок.
|
|
10
8
|
|
|
11
9
|
## Ключевые особенности
|
|
12
10
|
|
|
13
|
-
- **Изолированное хранилище** —
|
|
14
|
-
-
|
|
15
|
-
- **Делегирование обработки** —
|
|
16
|
-
-
|
|
17
|
-
- **Chainable API** — Поддерживает удобную конфигурацию для добавления причин и обработчиков.
|
|
18
|
-
|
|
19
|
-
## Методы проверки
|
|
20
|
-
|
|
21
|
-
- `has(code: string, group?: string): boolean` — Проверяет, существует ли причина с конкретным кодом в реестре.
|
|
22
|
-
- `get(code: string, group?: string): ErrorCenterCauseItem | undefined` — Извлекает сохраненный объект причины ошибки.
|
|
23
|
-
|
|
24
|
-
## Конфигурация
|
|
25
|
-
|
|
26
|
-
- `add(cause: ErrorCenterCauseItem): this` — Добавляет одну причину ошибки в хранилище экземпляра.
|
|
27
|
-
- `addList(causes: ErrorCenterCauseList): this` — Добавляет список причин ошибок.
|
|
28
|
-
- `addHandler(group: ErrorCenterGroup, handler: ErrorCenterHandlerCallback): this` — Регистрирует обработчик для конкретной группы.
|
|
29
|
-
- `addHandlerList(handlers: ErrorCenterHandlerList): this` — Регистрирует список обработчиков.
|
|
30
|
-
|
|
31
|
-
## Методы действий
|
|
11
|
+
- **Изолированное хранилище** — ведение локального списка причин ошибок.
|
|
12
|
+
- **Интеллектуальное слияние** — автоматическое дополнение данных ошибки на основе системы приоритетов.
|
|
13
|
+
- **Делегирование обработки** — использование `ErrorCenterHandler` для вызова функций обратного вызова.
|
|
14
|
+
- **Chainable API** — поддержка цепочки вызовов для конфигурации.
|
|
32
15
|
|
|
33
|
-
|
|
16
|
+
## Инициализация
|
|
34
17
|
|
|
35
|
-
|
|
18
|
+
Для создания экземпляра используйте конструктор `ErrorCenterInstance(causes, handler)`.
|
|
36
19
|
|
|
37
20
|
**Параметры:**
|
|
38
|
-
- `
|
|
39
|
-
|
|
40
|
-
**Возвращает:** `this`
|
|
41
|
-
|
|
42
|
-
## Типы
|
|
43
|
-
|
|
44
|
-
### `ErrorCenterCauseItem`
|
|
45
|
-
|
|
46
|
-
Основной объект, используемый для определения причины ошибки в этом экземпляре.
|
|
21
|
+
- `causes?: ErrorCenterCauseList` — начальный список причин ошибок.
|
|
22
|
+
- `handler?: ErrorCenterHandler` — экземпляр обработчика (если не указан, создается новый).
|
|
47
23
|
|
|
48
|
-
|
|
49
|
-
- `code: string` — уникальный идентификатор ошибки.
|
|
50
|
-
- `label?: string` — понятное человеку название ошибки.
|
|
51
|
-
- `message?: string` — подробное описание ошибки.
|
|
52
|
-
- `details?: any` — необязательный объект для дополнительных данных.
|
|
53
|
-
|
|
54
|
-
## Руководство: Управление причинами ошибок и обработчиками
|
|
55
|
-
|
|
56
|
-
Использование `ErrorCenterInstance` включает три основных шага: определение причин ошибок, настройка слушателей (обработчиков) и вызов ошибок.
|
|
57
|
-
|
|
58
|
-
### 1. Добавление причин ошибок
|
|
59
|
-
|
|
60
|
-
Причины ошибок действуют как словарь для вашего приложения. Предварительно регистрируя их, вы обеспечиваете единообразие заголовков и сообщений по всей платформе.
|
|
61
|
-
|
|
62
|
-
```javascript
|
|
24
|
+
```typescript
|
|
63
25
|
import { ErrorCenterInstance } from '@dxtmisha/functional-basic'
|
|
64
26
|
|
|
65
|
-
const myErrorCenter = new ErrorCenterInstance(
|
|
66
|
-
|
|
67
|
-
// Регистрация одной причины ошибки
|
|
68
|
-
myErrorCenter.add({
|
|
69
|
-
group: 'auth',
|
|
70
|
-
code: 'token_expired',
|
|
71
|
-
label: 'Сессия истекла',
|
|
72
|
-
message: 'Срок действия вашей сессии истек. Пожалуйста, войдите снова.'
|
|
73
|
-
})
|
|
74
|
-
|
|
75
|
-
// Регистрация нескольких причин сразу
|
|
76
|
-
myErrorCenter.addList([
|
|
77
|
-
{ group: 'api', code: '404', label: 'Не найдено', message: 'Запрошенные данные не существуют.' },
|
|
78
|
-
{ group: 'api', code: '500', label: 'Ошибка сервера', message: 'На сервере что-то пошло не так.' }
|
|
27
|
+
const myErrorCenter = new ErrorCenterInstance([
|
|
28
|
+
{ group: 'api', code: '404', label: 'Не найдено' }
|
|
79
29
|
])
|
|
80
30
|
```
|
|
81
31
|
|
|
82
|
-
|
|
32
|
+
## Методы
|
|
83
33
|
|
|
84
|
-
|
|
34
|
+
### Действие
|
|
35
|
+
- `on(cause: ErrorCenterCauseItem): this` — Запускает процесс обработки. Склеивает данные из реестра с входными данными и передает их обработчику.
|
|
85
36
|
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
// Например, перенаправление на страницу входа или показ уведомления
|
|
90
|
-
console.log(`[ОШИБКА АВТОРИЗАЦИИ] ${cause.label}: ${cause.message}`)
|
|
91
|
-
})
|
|
37
|
+
### Проверка
|
|
38
|
+
- `has(code: string, group?: string): boolean` — Поиск в локальном реестре.
|
|
39
|
+
- `get(code: string, group?: string): ErrorCenterCauseItem | undefined` — Получение данных из реестра.
|
|
92
40
|
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
41
|
+
### Конфигурация
|
|
42
|
+
- `add(cause: ErrorCenterCauseItem): this` — Добавление ошибки в локальный реестр.
|
|
43
|
+
- `addList(causes: ErrorCenterCauseList): this` — Пакетное добавление ошибок.
|
|
44
|
+
- `addHandler(group: ErrorCenterGroup, handler: ErrorCenterHandlerCallback): this` — Регистрация реакции на группу.
|
|
45
|
+
- `addHandlerList(handlers: ErrorCenterHandlerList): this` — Пакетная регистрация реакций.
|
|
98
46
|
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
47
|
+
## Типы
|
|
48
|
+
|
|
49
|
+
#### `ErrorCenterCauseItem`
|
|
50
|
+
Объект, описывающий конкретную ошибку.
|
|
51
|
+
- `group?: ErrorCenterGroup` — группа ошибки (например, 'api').
|
|
52
|
+
- `code: string` — уникальный код ошибки.
|
|
53
|
+
- `priority?: number` — уровень приоритета (по умолчанию `500`). Используется при слиянии данных.
|
|
54
|
+
- `label?: string` — заголовок ошибки.
|
|
55
|
+
- `message?: string` — описание ошибки.
|
|
56
|
+
- `details?: any` — дополнительные данные.
|
|
104
57
|
|
|
105
|
-
|
|
58
|
+
#### `ErrorCenterHandlerCallback`
|
|
59
|
+
- `(cause: ErrorCenterCauseItem) => void` — функция обработки.
|
|
106
60
|
|
|
107
|
-
|
|
61
|
+
## Примеры
|
|
108
62
|
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
code: 'token_expired'
|
|
115
|
-
})
|
|
63
|
+
### Инициализация со словарем
|
|
64
|
+
```typescript
|
|
65
|
+
const myEC = new ErrorCenterInstance([
|
|
66
|
+
{ group: 'db', code: 'connection_lost', label: 'БД недоступна' }
|
|
67
|
+
]);
|
|
116
68
|
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
group: 'database',
|
|
120
|
-
code: 'connection_lost',
|
|
121
|
-
message: 'Потеряно соединение с БД.' // Данные можно передавать "на лету"
|
|
122
|
-
})
|
|
69
|
+
myEC.addHandler('db', (cause) => alert(cause.label));
|
|
70
|
+
myEC.on({ group: 'db', code: 'connection_lost' });
|
|
123
71
|
```
|