@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
|
@@ -2,94 +2,125 @@ import {Meta} from '@storybook/addon-docs/blocks'
|
|
|
2
2
|
|
|
3
3
|
<Meta title='@dxtmisha/ru/functional-basic/Classes/ErrorCenter - Управление ошибками'/>
|
|
4
4
|
|
|
5
|
-
# ErrorCenter
|
|
5
|
+
# Класс ErrorCenter
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
`ErrorCenter` — это центральный инструмент для управления всеми ошибками в приложении. Он позволяет в одном месте регистрировать возможные причины ошибок, настраивать реакцию на них (например, показ уведомлений) и вызывать их из любой части кода.
|
|
8
8
|
|
|
9
|
-
Класс
|
|
9
|
+
Класс работает как статическая обертка (Static Bridge), направляя все запросы к единственному экземпляру `ErrorCenterInstance`.
|
|
10
10
|
|
|
11
|
-
##
|
|
11
|
+
## Методы
|
|
12
12
|
|
|
13
|
-
|
|
14
|
-
-
|
|
15
|
-
- **Групповая обработка** — позволяет регистрировать несколько функций обратного вызова для конкретных категорий.
|
|
16
|
-
- **Chainable API** — методы добавления причин и обработчиков поддерживают цепочки вызовов.
|
|
17
|
-
- **Предустановленные значения** — по умолчанию настроен стандартными сетевыми ошибками (`timeout`, `offline`, `notFound` и т.д.).
|
|
13
|
+
### Действие
|
|
14
|
+
- `on(cause: ErrorCenterCauseItem): void` — Запускает процесс обработки. Ищет данные в реестре, объединяет их и вызывает нужные функции обратного вызова.
|
|
18
15
|
|
|
19
|
-
|
|
16
|
+
### Проверка
|
|
17
|
+
- `has(code: string, group?: string): boolean` — Проверяет, зарегистрирована ли ошибка.
|
|
18
|
+
- `get(code: string, group?: string): ErrorCenterCauseItem | undefined` — Возвращает данные ошибки из реестра.
|
|
20
19
|
|
|
21
|
-
|
|
22
|
-
- `
|
|
20
|
+
### Конфигурация
|
|
21
|
+
- `add(cause: ErrorCenterCauseItem): void` — Добавляет одну причину ошибки.
|
|
22
|
+
- `addList(causes: ErrorCenterCauseList): void` — Добавляет список ошибок (массовая регистрация).
|
|
23
|
+
- `addHandler(group: ErrorCenterGroup, handler: ErrorCenterHandlerCallback): void` — Регистрирует реакцию на группу ошибок.
|
|
24
|
+
- `addHandlerList(handlers: ErrorCenterHandlerList): void` — Пакетная регистрация нескольких обработчиков.
|
|
23
25
|
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
- `getItem(): ErrorCenterInstance` — Возвращает базовый экземпляр, используемый оберткой.
|
|
27
|
-
|
|
28
|
-
## Конфигурация
|
|
29
|
-
|
|
30
|
-
- `add(cause: ErrorCenterCauseItem): this` — Добавляет одну причину ошибки в хранилище.
|
|
31
|
-
- `addList(causes: ErrorCenterCauseList): this` — Добавляет список причин ошибок в реестр.
|
|
32
|
-
- `addHandler(group: ErrorCenterGroup, handler: ErrorCenterHandlerCallback): this` — Регистрирует функцию обратного вызова для группы.
|
|
33
|
-
- `addHandlerList(handlers: ErrorCenterHandlerList): this` — Регистрирует набор обработчиков.
|
|
34
|
-
|
|
35
|
-
## Методы действий
|
|
36
|
-
|
|
37
|
-
### `on`
|
|
38
|
-
|
|
39
|
-
Запускает обработку указанной ошибки. Метод ищет предварительно зарегистрированные данные для указанного кода ошибки, объединяет их с входной причиной (`cause`), выполняет все зарегистрированные обработчики для этой группы и выводит ошибку в консоль.
|
|
40
|
-
|
|
41
|
-
**Параметры:**
|
|
42
|
-
- `cause: ErrorCenterCauseItem` — Причина для запуска. Код и группа обязательны, если причина была зарегистрирована ранее через `add()`.
|
|
43
|
-
|
|
44
|
-
**Возвращает:** `this`
|
|
26
|
+
### Вспомогательные
|
|
27
|
+
- `getItem(): ErrorCenterInstance` — Возвращает внутренний экземпляр класса.
|
|
45
28
|
|
|
46
29
|
## Типы
|
|
47
30
|
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
Основной объект, используемый для определения причины ошибки.
|
|
31
|
+
#### `ErrorCenterGroup`
|
|
32
|
+
Имя группы (например, 'api', 'auth') или `undefined` для общего обработчика.
|
|
51
33
|
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
- `label?: string` — понятное человеку название ошибки.
|
|
55
|
-
- `message?: string` — подробное описание ошибки.
|
|
56
|
-
- `details?: any` — необязательный объект для дополнительных данных.
|
|
34
|
+
#### `ErrorCenterCauseItem`
|
|
35
|
+
Объект, описывающий ошибку: `group`, `code` (обязательно), `priority`, `label`, `message`, `details`.
|
|
57
36
|
|
|
58
|
-
|
|
37
|
+
## Руководство по работе
|
|
59
38
|
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
39
|
+
### Шаг 1: Регистрация (Registry)
|
|
40
|
+
Составьте словарь ошибок, чтобы хранить тексты отдельно от кода.
|
|
41
|
+
```typescript
|
|
42
|
+
ErrorCenter.add({
|
|
43
|
+
group: 'auth',
|
|
44
|
+
code: 'LOGIN_FAILED',
|
|
45
|
+
label: 'Ошибка входа',
|
|
46
|
+
message: 'Неверный пароль.'
|
|
47
|
+
})
|
|
48
|
+
```
|
|
63
49
|
|
|
64
|
-
|
|
50
|
+
### Шаг 2: Подписка (Handlers)
|
|
51
|
+
Укажите, как приложение должно реагировать на группу ошибок.
|
|
52
|
+
```typescript
|
|
53
|
+
ErrorCenter.addHandler('auth', (cause) => {
|
|
54
|
+
alert(cause.message);
|
|
55
|
+
});
|
|
56
|
+
```
|
|
65
57
|
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
58
|
+
### Шаг 3: Вызов (Execution)
|
|
59
|
+
Вызовите ошибку по её коду и группе.
|
|
60
|
+
```typescript
|
|
61
|
+
ErrorCenter.on({ group: 'auth', code: 'LOGIN_FAILED' });
|
|
62
|
+
```
|
|
71
63
|
|
|
72
|
-
##
|
|
64
|
+
## Стандартные причины ошибок
|
|
73
65
|
|
|
74
|
-
|
|
66
|
+
Класс уже содержит готовые описания для частых ситуаций.
|
|
67
|
+
|
|
68
|
+
#### Группа API (`api`)
|
|
69
|
+
Используется для ошибок сетевых запросов.
|
|
70
|
+
- **forbidden** — Доступ запрещен (403).
|
|
71
|
+
- **notFound** — Ресурс не найден (404).
|
|
72
|
+
- **offline** — Нет интернет-соединения.
|
|
73
|
+
- **server** — Внутренняя ошибка сервера (500).
|
|
74
|
+
- **timeout** — Тайм-аут запроса.
|
|
75
|
+
- **unauthorized** — Ошибка авторизации (401).
|
|
76
|
+
- **unknown** — Неизвестная ошибка.
|
|
77
|
+
- **cacheClear**, **cacheGet**, **cacheRemove**, **cacheSet** — Ошибки при работе с кэшем.
|
|
78
|
+
|
|
79
|
+
#### Группа Intl (`intl`)
|
|
80
|
+
Ошибки при форматировании данных (даты, числа и т.д.).
|
|
81
|
+
- **datetime**, **display**, **number**, **plural**, **relative**.
|
|
82
|
+
- **invalid** — Невалидная дата или неверный формат.
|
|
83
|
+
|
|
84
|
+
#### Группа Storage (`storage`)
|
|
85
|
+
Ошибки при работе с локальным или серверным хранилищем.
|
|
86
|
+
- **context** — Отсутствует контекст.
|
|
87
|
+
- **error** — Общий сбой записи/чтения.
|
|
88
|
+
|
|
89
|
+
#### Прочие группы
|
|
90
|
+
Для данных групп предусмотрен универсальный код ошибки `error`. Вызов осуществляется через `ErrorCenter.on({ group: 'название_группы', code: 'error' })`.
|
|
91
|
+
- **broadcast** — Ошибки при обмене данными между вкладками браузера.
|
|
92
|
+
- **hydration** — Ошибка при синхронизации данных между сервером и клиентом.
|
|
93
|
+
- **share** — Ошибка при попытке поделиться контентом (Sharing API).
|
|
94
|
+
- **transformation** — Ошибка при преобразовании или парсинге данных.
|
|
95
|
+
|
|
96
|
+
## Примеры
|
|
97
|
+
|
|
98
|
+
### Интеграция с системой уведомлений
|
|
99
|
+
```typescript
|
|
75
100
|
import { ErrorCenter } from '@dxtmisha/functional-basic'
|
|
76
101
|
|
|
77
|
-
//
|
|
102
|
+
// Настраиваем один раз при старте приложения
|
|
78
103
|
ErrorCenter.addHandler('api', (cause) => {
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
})
|
|
104
|
+
Toast.show(cause.label || 'Ошибка', cause.message);
|
|
105
|
+
});
|
|
106
|
+
|
|
107
|
+
// Используем в любом сервисе
|
|
108
|
+
async function loadData() {
|
|
109
|
+
try {
|
|
110
|
+
const data = await fetch('/api');
|
|
111
|
+
} catch (e) {
|
|
112
|
+
ErrorCenter.on({ group: 'api', code: 'server', details: e });
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
```
|
|
92
116
|
|
|
93
|
-
|
|
94
|
-
|
|
117
|
+
### Работа с кастомными группами
|
|
118
|
+
```typescript
|
|
119
|
+
// Регистрация на лету
|
|
120
|
+
ErrorCenter.on({
|
|
121
|
+
group: 'upload',
|
|
122
|
+
code: 'SIZE_LIMIT',
|
|
123
|
+
label: 'Файл слишком велик',
|
|
124
|
+
message: 'Максимум 5МБ'
|
|
125
|
+
});
|
|
95
126
|
```
|
|
@@ -2,94 +2,125 @@ import {Meta} from '@storybook/addon-docs/blocks'
|
|
|
2
2
|
|
|
3
3
|
<Meta title='@dxtmisha/vi/functional-basic/Classes/ErrorCenter - Quản lý lỗi'/>
|
|
4
4
|
|
|
5
|
-
# ErrorCenter
|
|
5
|
+
# Lớp ErrorCenter
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
`ErrorCenter` là công cụ trung tâm để quản lý tất cả các lỗi trong ứng dụng. Nó cho phép bạn đăng ký các nguyên nhân lỗi có thể xảy ra ở một nơi, cấu hình phản ứng với chúng (ví dụ: hiển thị thông báo) và kích hoạt chúng từ bất kỳ phần nào của mã.
|
|
8
8
|
|
|
9
|
-
Lớp này
|
|
9
|
+
Lớp này hoạt động như một vỏ bọc tĩnh (Static Bridge), chuyển tất cả các yêu cầu đến một `ErrorCenterInstance` duy nhất.
|
|
10
10
|
|
|
11
|
-
## Các
|
|
11
|
+
## Các phương thức
|
|
12
12
|
|
|
13
|
-
|
|
14
|
-
-
|
|
15
|
-
- **Xử lý theo nhóm** — Cho phép đăng ký nhiều hàm gọi lại cho các danh mục lỗi cụ thể.
|
|
16
|
-
- **Chainable API** — Các phương thức thêm nguyên nhân và trình xử lý hỗ trợ thiết kế giao diện linh hoạt.
|
|
17
|
-
- **Giá trị mặc định** — Đi kèm với các nguyên nhân lỗi mạng tiêu chuẩn (`timeout`, `offline`, `notFound`, v.v.).
|
|
13
|
+
### Hành động
|
|
14
|
+
- `on(cause: ErrorCenterCauseItem): void` — Bắt đầu quá trình xử lý. Tìm kiếm dữ liệu trong sổ đăng ký, hợp nhất chúng và gọi các callback thích hợp.
|
|
18
15
|
|
|
19
|
-
|
|
16
|
+
### Xác minh
|
|
17
|
+
- `has(code: string, group?: string): boolean` — Kiểm tra xem lỗi đã được đăng ký chưa.
|
|
18
|
+
- `get(code: string, group?: string): ErrorCenterCauseItem | undefined` — Trả về dữ liệu lỗi từ sổ đăng ký.
|
|
20
19
|
|
|
21
|
-
|
|
22
|
-
- `
|
|
20
|
+
### Cấu hình
|
|
21
|
+
- `add(cause: ErrorCenterCauseItem): void` — Thêm một nguyên nhân lỗi.
|
|
22
|
+
- `addList(causes: ErrorCenterCauseList): void` — Thêm một danh sách lỗi (đăng ký hàng loạt).
|
|
23
|
+
- `addHandler(group: ErrorCenterGroup, handler: ErrorCenterHandlerCallback): void` — Đăng ký phản ứng cho một nhóm lỗi.
|
|
24
|
+
- `addHandlerList(handlers: ErrorCenterHandlerList): void` — Đăng ký hàng loạt nhiều trình xử lý.
|
|
23
25
|
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
- `getItem(): ErrorCenterInstance` — Trả về thực thể nền tảng được sử dụng bởi lớp tĩnh.
|
|
27
|
-
|
|
28
|
-
## Cấu hình
|
|
29
|
-
|
|
30
|
-
- `add(cause: ErrorCenterCauseItem): this` — Thêm một nguyên nhân lỗi duy nhất vào bộ lưu trữ toàn cầu.
|
|
31
|
-
- `addList(causes: ErrorCenterCauseList): this` — Thêm nhiều nguyên nhân lỗi vào bộ lưu trữ cùng một lúc.
|
|
32
|
-
- `addHandler(group: ErrorCenterGroup, handler: ErrorCenterHandlerCallback): this` — Đăng ký một hàm gọi lại cho một nhóm lỗi cụ thể.
|
|
33
|
-
- `addHandlerList(handlers: ErrorCenterHandlerList): this` — Đăng ký một loạt các trình xử lý.
|
|
34
|
-
|
|
35
|
-
## Các phương thức hành động
|
|
36
|
-
|
|
37
|
-
### `on`
|
|
38
|
-
|
|
39
|
-
Kích hoạt xử lý lỗi cho nguyên nhân được chỉ định. Nó tìm kiếm dữ liệu đã đăng ký trước đó cho mã lỗi (nếu có), hợp nhất với nguyên nhân đầu vào (`cause`), thực thi tất cả các trình xử lý đã đăng ký cho nhóm đó và ghi lỗi vào bảng điều khiển (console).
|
|
40
|
-
|
|
41
|
-
**Tham số:**
|
|
42
|
-
- `cause: ErrorCenterCauseItem` — Nguyên nhân lỗi cần kích hoạt. Chỉ cần cung cấp mã và nhóm nếu nguyên nhân đó đã được đăng ký trước đó qua `add()`.
|
|
43
|
-
|
|
44
|
-
**Trả về:** `this`
|
|
26
|
+
### Bổ trợ
|
|
27
|
+
- `getItem(): ErrorCenterInstance` — Trả về thực thể nội bộ của lớp.
|
|
45
28
|
|
|
46
29
|
## Các kiểu dữ liệu
|
|
47
30
|
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
Đối tượng chính được sử dụng để xác định nguyên nhân gây lỗi.
|
|
31
|
+
#### `ErrorCenterGroup`
|
|
32
|
+
Tên nhóm (ví dụ: 'api', 'auth') hoặc `undefined` cho trình xử lý chung.
|
|
51
33
|
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
- `label?: string` — tên lỗi dễ đọc cho người dùng.
|
|
55
|
-
- `message?: string` — mô tả chi tiết về lỗi.
|
|
56
|
-
- `details?: any` — đối tượng tùy chọn cho các dữ liệu bổ sung.
|
|
34
|
+
#### `ErrorCenterCauseItem`
|
|
35
|
+
Đối tượng mô tả lỗi: `group`, `code` (bắt buộc), `priority`, `label`, `message`, `details`.
|
|
57
36
|
|
|
58
|
-
|
|
37
|
+
## Hướng dẫn sử dụng
|
|
59
38
|
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
39
|
+
### Bước 1: Đăng ký (Registry)
|
|
40
|
+
Lập một từ điển lỗi để lưu trữ văn bản tách biệt với mã.
|
|
41
|
+
```typescript
|
|
42
|
+
ErrorCenter.add({
|
|
43
|
+
group: 'auth',
|
|
44
|
+
code: 'LOGIN_FAILED',
|
|
45
|
+
label: 'Đăng nhập thất bại',
|
|
46
|
+
message: 'Mật khẩu không hợp lệ.'
|
|
47
|
+
})
|
|
48
|
+
```
|
|
65
49
|
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
50
|
+
### Bước 2: Đăng ký nhận lỗi (Handlers)
|
|
51
|
+
Chỉ định cách ứng dụng sẽ phản ứng với một nhóm lỗi.
|
|
52
|
+
```typescript
|
|
53
|
+
ErrorCenter.addHandler('auth', (cause) => {
|
|
54
|
+
alert(cause.message);
|
|
55
|
+
});
|
|
56
|
+
```
|
|
71
57
|
|
|
72
|
-
|
|
58
|
+
### Bước 3: Kích hoạt (Execution)
|
|
59
|
+
Kích hoạt lỗi bằng mã và nhóm của nó.
|
|
60
|
+
```typescript
|
|
61
|
+
ErrorCenter.on({ group: 'auth', code: 'LOGIN_FAILED' });
|
|
62
|
+
```
|
|
73
63
|
|
|
74
|
-
|
|
64
|
+
## Nguyên nhân lỗi tiêu chuẩn
|
|
65
|
+
|
|
66
|
+
Lớp đã chứa các mô tả sẵn có cho các tình huống phổ biến.
|
|
67
|
+
|
|
68
|
+
#### Nhóm API (`api`)
|
|
69
|
+
Được sử dụng cho các lỗi yêu cầu mạng.
|
|
70
|
+
- **forbidden** — Truy cập bị cấm (403).
|
|
71
|
+
- **notFound** — Không tìm thấy tài nguyên (404).
|
|
72
|
+
- **offline** — Không có kết nối internet.
|
|
73
|
+
- **server** — Lỗi máy chủ nội bộ (500).
|
|
74
|
+
- **timeout** — Hết thời gian yêu cầu.
|
|
75
|
+
- **unauthorized** — Lỗi xác thực (401).
|
|
76
|
+
- **unknown** — Lỗi không xác định.
|
|
77
|
+
- **cacheClear**, **cacheGet**, **cacheRemove**, **cacheSet** — Lỗi khi làm việc với bộ nhớ đệm.
|
|
78
|
+
|
|
79
|
+
#### Nhóm Intl (`intl`)
|
|
80
|
+
Lỗi trong quá trình định dạng dữ liệu (ngày tháng, số, v.v.).
|
|
81
|
+
- **datetime**, **display**, **number**, **plural**, **relative**.
|
|
82
|
+
- **invalid** — Ngày không hợp lệ hoặc định dạng sai.
|
|
83
|
+
|
|
84
|
+
#### Nhóm Storage (`storage`)
|
|
85
|
+
Lỗi khi tương tác với bộ lưu trữ cục bộ hoặc máy chủ.
|
|
86
|
+
- **context** — Thiếu ngữ cảnh.
|
|
87
|
+
- **error** — Lỗi đọc/ghi chung.
|
|
88
|
+
|
|
89
|
+
#### Các nhóm khác
|
|
90
|
+
Các nhóm này sử dụng mã lỗi chung `error`. Việc kích hoạt được thực hiện thông qua `ErrorCenter.on({ group: 'tên_nhóm', code: 'error' })`.
|
|
91
|
+
- **broadcast** — Lỗi trong việc trao đổi dữ liệu giữa các tab trình duyệt.
|
|
92
|
+
- **hydration** — Lỗi trong quá trình đồng bộ hóa dữ liệu giữa máy chủ và máy khách.
|
|
93
|
+
- **share** — Lỗi khi cố gắng chia sẻ nội dung (Sharing API).
|
|
94
|
+
- **transformation** — Lỗi trong quá trình chuyển đổi hoặc phân tích cú pháp dữ liệu.
|
|
95
|
+
|
|
96
|
+
## Ví dụ
|
|
97
|
+
|
|
98
|
+
### Tích hợp với hệ thống thông báo
|
|
99
|
+
```typescript
|
|
75
100
|
import { ErrorCenter } from '@dxtmisha/functional-basic'
|
|
76
101
|
|
|
77
|
-
//
|
|
102
|
+
// Thiết lập một lần khi khởi động ứng dụng
|
|
78
103
|
ErrorCenter.addHandler('api', (cause) => {
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
})
|
|
104
|
+
Toast.show(cause.label || 'Lỗi', cause.message);
|
|
105
|
+
});
|
|
106
|
+
|
|
107
|
+
// Sử dụng trong bất kỳ dịch vụ nào
|
|
108
|
+
async function loadData() {
|
|
109
|
+
try {
|
|
110
|
+
const data = await fetch('/api');
|
|
111
|
+
} catch (e) {
|
|
112
|
+
ErrorCenter.on({ group: 'api', code: 'server', details: e });
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
```
|
|
92
116
|
|
|
93
|
-
|
|
94
|
-
|
|
117
|
+
### Làm việc với các nhóm tùy chỉnh
|
|
118
|
+
```typescript
|
|
119
|
+
// Đăng ký tức thì
|
|
120
|
+
ErrorCenter.on({
|
|
121
|
+
group: 'upload',
|
|
122
|
+
code: 'SIZE_LIMIT',
|
|
123
|
+
label: 'Tệp quá lớn',
|
|
124
|
+
message: 'Tối đa 5MB'
|
|
125
|
+
});
|
|
95
126
|
```
|
package/src/media/functional/functional-basic/classes/ErrorCenterHandler/ErrorCenterHandler.en.mdx
CHANGED
|
@@ -2,68 +2,72 @@ import {Meta} from '@storybook/addon-docs/blocks'
|
|
|
2
2
|
|
|
3
3
|
<Meta title='@dxtmisha/en/functional-basic/Classes/ErrorCenterHandler - Handler Management'/>
|
|
4
4
|
|
|
5
|
-
# ErrorCenterHandler
|
|
5
|
+
# ErrorCenterHandler Class
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
`ErrorCenterHandler` is a manager for handling callback functions (handlers). It allows you to bind logic to specific error groups and execute it when a corresponding event occurs.
|
|
8
8
|
|
|
9
9
|
## Key Features
|
|
10
10
|
|
|
11
|
-
- **Handler Registration** —
|
|
12
|
-
- **
|
|
13
|
-
- **
|
|
14
|
-
- **
|
|
15
|
-
- **Integrated Logging** — Automatically outputs error details to the browser console for debugging.
|
|
11
|
+
- **Handler Registration** — convenient addition of callback functions to specific groups.
|
|
12
|
+
- **Global Handler** — support for the `undefined` group, which catches any error without a specific handler.
|
|
13
|
+
- **Sequential Execution** — triggers all registered functions in the order they were added.
|
|
14
|
+
- **Integrated Logging** — automatically outputs error details to the console.
|
|
16
15
|
|
|
17
|
-
##
|
|
16
|
+
## Initialization
|
|
18
17
|
|
|
19
|
-
|
|
20
|
-
- `get(group: ErrorCenterGroup): ErrorCenterHandlerItem | undefined` — Retrieves the handler mapping for a group.
|
|
18
|
+
To create an instance, use the constructor `ErrorCenterHandler(handlers)`.
|
|
21
19
|
|
|
22
|
-
|
|
20
|
+
**Parameters:**
|
|
21
|
+
- `handlers?: ErrorCenterHandlerList` — initial list of handlers.
|
|
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
|
+
## Methods
|
|
30
35
|
|
|
31
|
-
|
|
36
|
+
### Action
|
|
37
|
+
- `on(cause: ErrorCenterCauseItem): this` — Triggers the chain of handlers. Always outputs an error to the console via `console.error`.
|
|
32
38
|
|
|
33
|
-
|
|
34
|
-
- `
|
|
39
|
+
### Verification
|
|
40
|
+
- `has(group: ErrorCenterGroup): boolean` — Checks if there are handlers for a group.
|
|
41
|
+
- `get(group: ErrorCenterGroup): ErrorCenterHandlerItem | undefined` — Returns a list of functions for a group.
|
|
35
42
|
|
|
36
|
-
|
|
43
|
+
### Configuration
|
|
44
|
+
- `add(group: ErrorCenterGroup, handler: ErrorCenterHandlerCallback): this` — Adds a single function to a group.
|
|
45
|
+
- `addList(handlers: ErrorCenterHandlerList): this` — Batch registration of handlers.
|
|
37
46
|
|
|
38
47
|
## Types
|
|
39
48
|
|
|
40
|
-
|
|
49
|
+
#### `ErrorCenterGroup`
|
|
50
|
+
Group name (`string`) or `undefined` for global interception.
|
|
41
51
|
|
|
42
|
-
|
|
52
|
+
#### `ErrorCenterHandlerCallback`
|
|
53
|
+
Callback function: `(cause: ErrorCenterCauseItem) => void`.
|
|
43
54
|
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
```javascript
|
|
49
|
-
import { ErrorCenterHandler } from '@dxtmisha/functional-basic'
|
|
55
|
+
#### `ErrorCenterHandlerItem`
|
|
56
|
+
Link between a group and an array of its functions.
|
|
57
|
+
- `group?: ErrorCenterGroup` — target group.
|
|
58
|
+
- `handlers: ErrorCenterHandlerCallback[]` — list of functions.
|
|
50
59
|
|
|
51
|
-
|
|
60
|
+
## Examples
|
|
52
61
|
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
})
|
|
62
|
+
### Isolated Manager for a Module
|
|
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: 'Internal Server Error'
|
|
68
|
-
})
|
|
72
|
+
uploadHandlers.on({ group: 'upload', code: 'retry' });
|
|
69
73
|
```
|