@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.
Files changed (227) hide show
  1. package/dist/{defineProperty-DblGXmzD.js → defineProperty-149Ahniv.js} +4 -4
  2. package/dist/library.js +1 -1
  3. package/dist/media/descriptions/wikiDescriptionsArea.d.ts +7 -0
  4. package/dist/media/descriptions/wikiDescriptionsClientOnly.d.ts +7 -0
  5. package/dist/media/descriptions/wikiDescriptionsContainer.d.ts +7 -0
  6. package/dist/media/descriptions/wikiDescriptionsHeader.d.ts +7 -0
  7. package/dist/media/descriptions/wikiDescriptionsPageArea.d.ts +7 -0
  8. package/dist/media/mdx/Area/wikiMdxArea.d.ts +7 -0
  9. package/dist/media/mdx/ClientOnly/wikiMdxClientOnly.d.ts +7 -0
  10. package/dist/media/mdx/Container/wikiMdxContainer.d.ts +7 -0
  11. package/dist/media/mdx/Header/wikiMdxHeader.d.ts +7 -0
  12. package/dist/media/mdx/PageArea/wikiMdxPageArea.d.ts +7 -0
  13. package/dist/media.d.ts +1 -1
  14. package/dist/media.js +127 -68
  15. package/dist/storybook.js +2707 -1841
  16. package/dist/{wikiDescriptions-Cv4WzSNL.js → wikiDescriptions-7XaHU3Yk.js} +182 -0
  17. package/package.json +1 -1
  18. package/src/media/functional/functional/composables/useApiAsyncRef/useApiAsyncRef.en.mdx +43 -0
  19. package/src/media/functional/functional/composables/useApiAsyncRef/useApiAsyncRef.ru.mdx +43 -0
  20. package/src/media/functional/functional/composables/useApiAsyncRef/useApiAsyncRef.vi.mdx +41 -0
  21. package/src/media/functional/functional/composables/useApiRef/useApiRef.en.mdx +20 -4
  22. package/src/media/functional/functional/composables/useApiRef/useApiRef.ru.mdx +21 -3
  23. package/src/media/functional/functional/composables/useApiRef/useApiRef.vi.mdx +20 -2
  24. package/src/media/functional/functional/functions/computedAsync/computedAsync.en.mdx +8 -0
  25. package/src/media/functional/functional/functions/computedAsync/computedAsync.ru.mdx +8 -0
  26. package/src/media/functional/functional/functions/computedAsync/computedAsync.vi.mdx +8 -0
  27. package/src/media/functional/functional/functions/computedEternity/computedEternity.en.mdx +8 -0
  28. package/src/media/functional/functional/functions/computedEternity/computedEternity.ru.mdx +8 -0
  29. package/src/media/functional/functional/functions/computedEternity/computedEternity.vi.mdx +8 -0
  30. package/src/media/functional/functional-basic/api/api.en.mdx +45 -0
  31. package/src/media/functional/functional-basic/api/api.ru.mdx +45 -0
  32. package/src/media/functional/functional-basic/api/api.vi.mdx +45 -0
  33. package/src/media/functional/functional-basic/classes/Api/Api.en.mdx +57 -54
  34. package/src/media/functional/functional-basic/classes/Api/Api.ru.mdx +57 -54
  35. package/src/media/functional/functional-basic/classes/Api/Api.vi.mdx +57 -54
  36. package/src/media/functional/functional-basic/classes/ApiCache/ApiCache.en.mdx +111 -0
  37. package/src/media/functional/functional-basic/classes/ApiCache/ApiCache.ru.mdx +111 -0
  38. package/src/media/functional/functional-basic/classes/ApiCache/ApiCache.vi.mdx +111 -0
  39. package/src/media/functional/functional-basic/classes/ApiDataReturn/ApiDataReturn.en.mdx +32 -0
  40. package/src/media/functional/functional-basic/classes/ApiDataReturn/ApiDataReturn.ru.mdx +32 -0
  41. package/src/media/functional/functional-basic/classes/ApiDataReturn/ApiDataReturn.vi.mdx +32 -0
  42. package/src/media/functional/functional-basic/classes/ApiDefault/ApiDefault.en.mdx +24 -28
  43. package/src/media/functional/functional-basic/classes/ApiDefault/ApiDefault.ru.mdx +24 -28
  44. package/src/media/functional/functional-basic/classes/ApiDefault/ApiDefault.vi.mdx +24 -28
  45. package/src/media/functional/functional-basic/classes/ApiHeaders/ApiHeaders.en.mdx +28 -14
  46. package/src/media/functional/functional-basic/classes/ApiHeaders/ApiHeaders.ru.mdx +33 -19
  47. package/src/media/functional/functional-basic/classes/ApiHeaders/ApiHeaders.vi.mdx +33 -19
  48. package/src/media/functional/functional-basic/classes/ApiHydration/ApiHydration.en.mdx +56 -0
  49. package/src/media/functional/functional-basic/classes/ApiHydration/ApiHydration.ru.mdx +56 -0
  50. package/src/media/functional/functional-basic/classes/ApiHydration/ApiHydration.vi.mdx +55 -0
  51. package/src/media/functional/functional-basic/classes/ApiInstance/ApiInstance.en.mdx +106 -51
  52. package/src/media/functional/functional-basic/classes/ApiInstance/ApiInstance.ru.mdx +107 -52
  53. package/src/media/functional/functional-basic/classes/ApiInstance/ApiInstance.vi.mdx +103 -49
  54. package/src/media/functional/functional-basic/classes/ApiPreparation/ApiPreparation.en.mdx +44 -26
  55. package/src/media/functional/functional-basic/classes/ApiPreparation/ApiPreparation.ru.mdx +45 -27
  56. package/src/media/functional/functional-basic/classes/ApiPreparation/ApiPreparation.vi.mdx +44 -26
  57. package/src/media/functional/functional-basic/classes/ApiResponse/ApiResponse.en.mdx +59 -21
  58. package/src/media/functional/functional-basic/classes/ApiResponse/ApiResponse.ru.mdx +63 -25
  59. package/src/media/functional/functional-basic/classes/ApiResponse/ApiResponse.vi.mdx +64 -26
  60. package/src/media/functional/functional-basic/classes/ApiStatus/ApiStatus.en.mdx +29 -32
  61. package/src/media/functional/functional-basic/classes/ApiStatus/ApiStatus.ru.mdx +33 -36
  62. package/src/media/functional/functional-basic/classes/ApiStatus/ApiStatus.vi.mdx +33 -36
  63. package/src/media/functional/functional-basic/classes/BroadcastMessage/BroadcastMessage.en.mdx +34 -53
  64. package/src/media/functional/functional-basic/classes/BroadcastMessage/BroadcastMessage.ru.mdx +33 -52
  65. package/src/media/functional/functional-basic/classes/BroadcastMessage/BroadcastMessage.vi.mdx +39 -58
  66. package/src/media/functional/functional-basic/classes/Cache/Cache.en.mdx +7 -4
  67. package/src/media/functional/functional-basic/classes/Cache/Cache.ru.mdx +7 -4
  68. package/src/media/functional/functional-basic/classes/Cache/Cache.vi.mdx +28 -25
  69. package/src/media/functional/functional-basic/classes/CacheItem/CacheItem.en.mdx +45 -53
  70. package/src/media/functional/functional-basic/classes/CacheItem/CacheItem.ru.mdx +46 -54
  71. package/src/media/functional/functional-basic/classes/CacheItem/CacheItem.vi.mdx +47 -55
  72. package/src/media/functional/functional-basic/classes/CacheStatic/CacheStatic.en.mdx +13 -1
  73. package/src/media/functional/functional-basic/classes/CacheStatic/CacheStatic.ru.mdx +13 -1
  74. package/src/media/functional/functional-basic/classes/CacheStatic/CacheStatic.vi.mdx +13 -0
  75. package/src/media/functional/functional-basic/classes/Cookie/Cookie.en.mdx +88 -44
  76. package/src/media/functional/functional-basic/classes/Cookie/Cookie.ru.mdx +88 -44
  77. package/src/media/functional/functional-basic/classes/Cookie/Cookie.vi.mdx +85 -41
  78. package/src/media/functional/functional-basic/classes/CookieBlock/CookieBlock.en.mdx +43 -22
  79. package/src/media/functional/functional-basic/classes/CookieBlock/CookieBlock.ru.mdx +46 -25
  80. package/src/media/functional/functional-basic/classes/CookieBlock/CookieBlock.vi.mdx +43 -22
  81. package/src/media/functional/functional-basic/classes/CookieBlockInstance/CookieBlockInstance.en.mdx +84 -0
  82. package/src/media/functional/functional-basic/classes/CookieBlockInstance/CookieBlockInstance.ru.mdx +84 -0
  83. package/src/media/functional/functional-basic/classes/CookieBlockInstance/CookieBlockInstance.vi.mdx +100 -0
  84. package/src/media/functional/functional-basic/classes/CookieStorage/CookieStorage.en.mdx +178 -0
  85. package/src/media/functional/functional-basic/classes/CookieStorage/CookieStorage.ru.mdx +178 -0
  86. package/src/media/functional/functional-basic/classes/CookieStorage/CookieStorage.vi.mdx +178 -0
  87. package/src/media/functional/functional-basic/classes/DataStorage/DataStorage.en.mdx +32 -25
  88. package/src/media/functional/functional-basic/classes/DataStorage/DataStorage.ru.mdx +32 -25
  89. package/src/media/functional/functional-basic/classes/DataStorage/DataStorage.vi.mdx +32 -27
  90. package/src/media/functional/functional-basic/classes/Datetime/Datetime.en.mdx +36 -4
  91. package/src/media/functional/functional-basic/classes/Datetime/Datetime.ru.mdx +36 -4
  92. package/src/media/functional/functional-basic/classes/Datetime/Datetime.vi.mdx +36 -4
  93. package/src/media/functional/functional-basic/classes/ErrorCenter/ErrorCenter.en.mdx +101 -70
  94. package/src/media/functional/functional-basic/classes/ErrorCenter/ErrorCenter.ru.mdx +100 -69
  95. package/src/media/functional/functional-basic/classes/ErrorCenter/ErrorCenter.vi.mdx +101 -70
  96. package/src/media/functional/functional-basic/classes/ErrorCenterHandler/ErrorCenterHandler.en.mdx +46 -42
  97. package/src/media/functional/functional-basic/classes/ErrorCenterHandler/ErrorCenterHandler.ru.mdx +46 -42
  98. package/src/media/functional/functional-basic/classes/ErrorCenterHandler/ErrorCenterHandler.vi.mdx +46 -42
  99. package/src/media/functional/functional-basic/classes/ErrorCenterInstance/ErrorCenterInstance.en.mdx +44 -96
  100. package/src/media/functional/functional-basic/classes/ErrorCenterInstance/ErrorCenterInstance.ru.mdx +44 -96
  101. package/src/media/functional/functional-basic/classes/ErrorCenterInstance/ErrorCenterInstance.vi.mdx +44 -96
  102. package/src/media/functional/functional-basic/classes/EventItem/EventItem.en.mdx +49 -28
  103. package/src/media/functional/functional-basic/classes/EventItem/EventItem.ru.mdx +21 -0
  104. package/src/media/functional/functional-basic/classes/EventItem/EventItem.vi.mdx +63 -42
  105. package/src/media/functional/functional-basic/classes/Formatters/Formatters.en.mdx +97 -109
  106. package/src/media/functional/functional-basic/classes/Formatters/Formatters.ru.mdx +86 -98
  107. package/src/media/functional/functional-basic/classes/Formatters/Formatters.vi.mdx +99 -111
  108. package/src/media/functional/functional-basic/classes/Geo/Geo.en.mdx +3 -3
  109. package/src/media/functional/functional-basic/classes/Geo/Geo.ru.mdx +5 -5
  110. package/src/media/functional/functional-basic/classes/Geo/Geo.vi.mdx +5 -5
  111. package/src/media/functional/functional-basic/classes/GeoFlag/GeoFlag.en.mdx +83 -40
  112. package/src/media/functional/functional-basic/classes/GeoFlag/GeoFlag.ru.mdx +83 -40
  113. package/src/media/functional/functional-basic/classes/GeoFlag/GeoFlag.vi.mdx +87 -44
  114. package/src/media/functional/functional-basic/classes/GeoInstance/GeoInstance.en.mdx +81 -0
  115. package/src/media/functional/functional-basic/classes/GeoInstance/GeoInstance.ru.mdx +81 -0
  116. package/src/media/functional/functional-basic/classes/GeoInstance/GeoInstance.vi.mdx +81 -0
  117. package/src/media/functional/functional-basic/classes/GeoPhone/GeoPhone.en.mdx +56 -105
  118. package/src/media/functional/functional-basic/classes/GeoPhone/GeoPhone.ru.mdx +53 -102
  119. package/src/media/functional/functional-basic/classes/GeoPhone/GeoPhone.vi.mdx +55 -105
  120. package/src/media/functional/functional-basic/classes/Hash/Hash.en.mdx +18 -7
  121. package/src/media/functional/functional-basic/classes/Hash/Hash.ru.mdx +18 -7
  122. package/src/media/functional/functional-basic/classes/Hash/Hash.vi.mdx +18 -7
  123. package/src/media/functional/functional-basic/classes/HashInstance/HashInstance.en.mdx +54 -0
  124. package/src/media/functional/functional-basic/classes/HashInstance/HashInstance.ru.mdx +54 -0
  125. package/src/media/functional/functional-basic/classes/HashInstance/HashInstance.vi.mdx +54 -0
  126. package/src/media/functional/functional-basic/classes/Meta/Meta.en.mdx +16 -0
  127. package/src/media/functional/functional-basic/classes/Meta/Meta.ru.mdx +16 -0
  128. package/src/media/functional/functional-basic/classes/Meta/Meta.vi.mdx +17 -1
  129. package/src/media/functional/functional-basic/classes/MetaManager/MetaManager.en.mdx +9 -0
  130. package/src/media/functional/functional-basic/classes/MetaManager/MetaManager.ru.mdx +9 -0
  131. package/src/media/functional/functional-basic/classes/MetaManager/MetaManager.vi.mdx +9 -0
  132. package/src/media/functional/functional-basic/classes/MetaStatic/MetaStatic.en.mdx +79 -0
  133. package/src/media/functional/functional-basic/classes/MetaStatic/MetaStatic.ru.mdx +79 -0
  134. package/src/media/functional/functional-basic/classes/MetaStatic/MetaStatic.vi.mdx +79 -0
  135. package/src/media/functional/functional-basic/classes/ResumableTimer/ResumableTimer.en.mdx +50 -0
  136. package/src/media/functional/functional-basic/classes/ResumableTimer/ResumableTimer.ru.mdx +50 -0
  137. package/src/media/functional/functional-basic/classes/ResumableTimer/ResumableTimer.vi.mdx +50 -0
  138. package/src/media/functional/functional-basic/classes/ServerStorage/ServerStorage.en.mdx +131 -0
  139. package/src/media/functional/functional-basic/classes/ServerStorage/ServerStorage.ru.mdx +131 -0
  140. package/src/media/functional/functional-basic/classes/ServerStorage/ServerStorage.vi.mdx +131 -0
  141. package/src/media/functional/functional-basic/classes/StorageCallback/StorageCallback.en.mdx +97 -0
  142. package/src/media/functional/functional-basic/classes/StorageCallback/StorageCallback.ru.mdx +97 -0
  143. package/src/media/functional/functional-basic/classes/StorageCallback/StorageCallback.vi.mdx +97 -0
  144. package/src/media/functional/functional-basic/functions/addTagHighlightMatch/addTagHighlightMatch.en.mdx +13 -5
  145. package/src/media/functional/functional-basic/functions/addTagHighlightMatch/addTagHighlightMatch.ru.mdx +13 -5
  146. package/src/media/functional/functional-basic/functions/addTagHighlightMatch/addTagHighlightMatch.vi.mdx +13 -5
  147. package/src/media/functional/functional-basic/functions/anyToString/anyToString.en.mdx +37 -19
  148. package/src/media/functional/functional-basic/functions/anyToString/anyToString.ru.mdx +37 -19
  149. package/src/media/functional/functional-basic/functions/anyToString/anyToString.vi.mdx +35 -17
  150. package/src/media/functional/functional-basic/functions/applyTemplate/applyTemplate.en.mdx +31 -19
  151. package/src/media/functional/functional-basic/functions/applyTemplate/applyTemplate.ru.mdx +31 -19
  152. package/src/media/functional/functional-basic/functions/applyTemplate/applyTemplate.vi.mdx +32 -20
  153. package/src/media/functional/functional-basic/functions/blobToBase64/blobToBase64.en.mdx +29 -15
  154. package/src/media/functional/functional-basic/functions/blobToBase64/blobToBase64.ru.mdx +28 -14
  155. package/src/media/functional/functional-basic/functions/blobToBase64/blobToBase64.vi.mdx +28 -14
  156. package/src/media/functional/functional-basic/functions/capitalize/capitalize.en.mdx +7 -3
  157. package/src/media/functional/functional-basic/functions/capitalize/capitalize.ru.mdx +7 -3
  158. package/src/media/functional/functional-basic/functions/capitalize/capitalize.vi.mdx +7 -3
  159. package/src/media/functional/functional-basic/functions/copyObject/copyObject.en.mdx +17 -13
  160. package/src/media/functional/functional-basic/functions/copyObject/copyObject.ru.mdx +17 -13
  161. package/src/media/functional/functional-basic/functions/copyObject/copyObject.vi.mdx +17 -13
  162. package/src/media/functional/functional-basic/functions/createElement/createElement.en.mdx +2 -0
  163. package/src/media/functional/functional-basic/functions/createElement/createElement.ru.mdx +2 -0
  164. package/src/media/functional/functional-basic/functions/createElement/createElement.vi.mdx +2 -0
  165. package/src/media/functional/functional-basic/functions/encodeAttribute/encodeAttribute.en.mdx +1 -3
  166. package/src/media/functional/functional-basic/functions/encodeAttribute/encodeAttribute.ru.mdx +1 -3
  167. package/src/media/functional/functional-basic/functions/encodeAttribute/encodeAttribute.vi.mdx +1 -3
  168. package/src/media/functional/functional-basic/functions/executeFunction/executeFunction.en.mdx +13 -10
  169. package/src/media/functional/functional-basic/functions/executeFunction/executeFunction.ru.mdx +14 -11
  170. package/src/media/functional/functional-basic/functions/executeFunction/executeFunction.vi.mdx +12 -9
  171. package/src/media/functional/functional-basic/functions/executePromise/executePromise.en.mdx +14 -13
  172. package/src/media/functional/functional-basic/functions/executePromise/executePromise.ru.mdx +15 -14
  173. package/src/media/functional/functional-basic/functions/executePromise/executePromise.vi.mdx +14 -13
  174. package/src/media/functional/functional-basic/functions/forEach/forEach.en.mdx +1 -1
  175. package/src/media/functional/functional-basic/functions/forEach/forEach.ru.mdx +1 -1
  176. package/src/media/functional/functional-basic/functions/forEach/forEach.vi.mdx +1 -1
  177. package/src/media/functional/functional-basic/functions/frame/frame.en.mdx +7 -4
  178. package/src/media/functional/functional-basic/functions/frame/frame.ru.mdx +6 -3
  179. package/src/media/functional/functional-basic/functions/frame/frame.vi.mdx +7 -4
  180. package/src/media/functional/functional-basic/functions/getArrayHighlightMatch/getArrayHighlightMatch.en.mdx +34 -0
  181. package/src/media/functional/functional-basic/functions/getArrayHighlightMatch/getArrayHighlightMatch.ru.mdx +34 -0
  182. package/src/media/functional/functional-basic/functions/getArrayHighlightMatch/getArrayHighlightMatch.vi.mdx +35 -0
  183. package/src/media/functional/functional-basic/functions/getCurrentDate/getCurrentDate.en.mdx +2 -0
  184. package/src/media/functional/functional-basic/functions/getCurrentDate/getCurrentDate.ru.mdx +2 -0
  185. package/src/media/functional/functional-basic/functions/getCurrentDate/getCurrentDate.vi.mdx +2 -0
  186. package/src/media/functional/functional-basic/functions/getCurrentTime/getCurrentTime.en.mdx +21 -0
  187. package/src/media/functional/functional-basic/functions/getCurrentTime/getCurrentTime.ru.mdx +21 -0
  188. package/src/media/functional/functional-basic/functions/getCurrentTime/getCurrentTime.vi.mdx +21 -0
  189. package/src/media/functional/functional-basic/functions/getElementId/getElementId.en.mdx +17 -3
  190. package/src/media/functional/functional-basic/functions/getElementId/getElementId.ru.mdx +17 -3
  191. package/src/media/functional/functional-basic/functions/getElementId/getElementId.vi.mdx +18 -4
  192. package/src/media/functional/functional-basic/functions/getElementSafeScript/getElementSafeScript.en.mdx +31 -0
  193. package/src/media/functional/functional-basic/functions/getElementSafeScript/getElementSafeScript.ru.mdx +31 -0
  194. package/src/media/functional/functional-basic/functions/getElementSafeScript/getElementSafeScript.vi.mdx +31 -0
  195. package/src/media/functional/functional-basic/functions/getOnlyText/getOnlyText.en.mdx +25 -0
  196. package/src/media/functional/functional-basic/functions/getOnlyText/getOnlyText.ru.mdx +25 -0
  197. package/src/media/functional/functional-basic/functions/getOnlyText/getOnlyText.vi.mdx +25 -0
  198. package/src/media/functional/functional-basic/functions/getSearchExp/getSearchExp.en.mdx +11 -4
  199. package/src/media/functional/functional-basic/functions/getSearchExp/getSearchExp.ru.mdx +14 -7
  200. package/src/media/functional/functional-basic/functions/getSearchExp/getSearchExp.vi.mdx +13 -6
  201. package/src/media/functional/functional-basic/functions/getSeparatingSearchExp/getSeparatingSearchExp.en.mdx +3 -2
  202. package/src/media/functional/functional-basic/functions/getSeparatingSearchExp/getSeparatingSearchExp.ru.mdx +3 -2
  203. package/src/media/functional/functional-basic/functions/getSeparatingSearchExp/getSeparatingSearchExp.vi.mdx +3 -2
  204. package/src/media/functional/functional-basic/functions/toNumber/toNumber.en.mdx +25 -9
  205. package/src/media/functional/functional-basic/functions/toNumber/toNumber.ru.mdx +25 -9
  206. package/src/media/functional/functional-basic/functions/toNumber/toNumber.vi.mdx +25 -9
  207. package/src/media/functional/functional-basic/functions/toString/toString.en.mdx +28 -0
  208. package/src/media/functional/functional-basic/functions/toString/toString.ru.mdx +28 -0
  209. package/src/media/functional/functional-basic/functions/toString/toString.vi.mdx +28 -0
  210. package/src/media/functional/functional-basic/icons/icons.en.mdx +3 -0
  211. package/src/media/functional/functional-basic/icons/icons.ru.mdx +3 -0
  212. package/src/media/functional/functional-basic/icons/icons.vi.mdx +3 -0
  213. package/src/media/functional/nitro-basic/functions/getInject.en.mdx +27 -0
  214. package/src/media/functional/nitro-basic/functions/getInject.ru.mdx +27 -0
  215. package/src/media/functional/nitro-basic/functions/getInject.vi.mdx +20 -0
  216. package/src/media/functional/ui/about/about.en.mdx +45 -0
  217. package/src/media/functional/ui/about/about.ru.mdx +45 -0
  218. package/src/media/functional/ui/about/about.vi.mdx +45 -0
  219. package/src/media/functional/ui/component/component.en.mdx +104 -0
  220. package/src/media/functional/ui/component/component.ru.mdx +106 -0
  221. package/src/media/functional/ui/component/component.vi.mdx +104 -0
  222. package/src/media/functional/ui/setup/setup.en.mdx +72 -0
  223. package/src/media/functional/ui/setup/setup.ru.mdx +72 -0
  224. package/src/media/functional/ui/setup/setup.vi.mdx +72 -0
  225. package/src/media/functional/ui/wiki-data.en.mdx +114 -0
  226. package/src/media/functional/ui/wiki-data.ru.mdx +114 -0
  227. 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
- Статическая обертка для `ErrorCenterInstance`, предоставляющая централизованное управление хранением, извлечением и обработкой ошибок. Он выступает в роли глобального реестра причин ошибок и предоставляет механизм для регистрации и вызова пользовательских обработчиков для различных групп ошибок.
7
+ `ErrorCenter` это центральный инструмент для управления всеми ошибками в приложении. Он позволяет в одном месте регистрировать возможные причины ошибок, настраивать реакцию на них (например, показ уведомлений) и вызывать их из любой части кода.
8
8
 
9
- Класс следует паттерну "Статического моста", делегируя все операции синглтон-экземпляру, сохраняя при этом чистый, глобально доступный API.
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
- - `has(code: string, group?: string): boolean` — Проверяет наличие причины ошибки в реестре.
22
- - `get(code: string, group?: string): ErrorCenterCauseItem | undefined` — Извлекает полный объект причины ошибки.
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
- ### `ErrorCenterCauseItem`
49
-
50
- Основной объект, используемый для определения причины ошибки.
31
+ #### `ErrorCenterGroup`
32
+ Имя группы (например, 'api', 'auth') или `undefined` для общего обработчика.
51
33
 
52
- - `group?: ErrorCenterGroup` — категория/группа, к которой относится ошибка.
53
- - `code: string` уникальный идентификатор ошибки.
54
- - `label?: string` — понятное человеку название ошибки.
55
- - `message?: string` — подробное описание ошибки.
56
- - `details?: any` — необязательный объект для дополнительных данных.
34
+ #### `ErrorCenterCauseItem`
35
+ Объект, описывающий ошибку: `group`, `code` (обязательно), `priority`, `label`, `message`, `details`.
57
36
 
58
- ### `ErrorCenterGroup`
37
+ ## Руководство по работе
59
38
 
60
- Простое определение типа для категорий ошибок: `string | undefined`.
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
- `ErrorCenter` автоматически наполняется следующими стандартными сетевыми причинами:
50
+ ### Шаг 2: Подписка (Handlers)
51
+ Укажите, как приложение должно реагировать на группу ошибок.
52
+ ```typescript
53
+ ErrorCenter.addHandler('auth', (cause) => {
54
+ alert(cause.message);
55
+ });
56
+ ```
65
57
 
66
- - `unknown` **Неизвестная ошибка**: Произошла непредвиденная ошибка. Пожалуйста, попробуйте еще раз.
67
- - `timeout` **Тайм-аут запроса**: Запрос занял слишком много времени. Пожалуйста, проверьте соединение.
68
- - `offline` — **Нет соединения**: Вы находитесь в автономном режиме. Пожалуйста, проверьте интернет-соединение.
69
- - `notFound` **Не найдено**: Запрошенный ресурс не найден.
70
- - `server` — **Ошибка сервера**: Произошла внутренняя ошибка сервера.
58
+ ### Шаг 3: Вызов (Execution)
59
+ Вызовите ошибку по её коду и группе.
60
+ ```typescript
61
+ ErrorCenter.on({ group: 'auth', code: 'LOGIN_FAILED' });
62
+ ```
71
63
 
72
- ## Пример использования
64
+ ## Стандартные причины ошибок
73
65
 
74
- ```javascript
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
- // 1. Настройка глобальных обработчиков
102
+ // Настраиваем один раз при старте приложения
78
103
  ErrorCenter.addHandler('api', (cause) => {
79
- notification.error({
80
- title: cause.label,
81
- message: cause.message
82
- })
83
- })
84
-
85
- // 2. Регистрация специфических причин ошибок
86
- ErrorCenter.add({
87
- group: 'auth',
88
- code: 'token_expired',
89
- label: 'Сессия истекла',
90
- message: 'Ваша сессия истекла. Пожалуйста, войдите снова.'
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
- // 3. Вызов ошибки через реестр
94
- ErrorCenter.on({ group: 'auth', code: 'token_expired' })
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
- Một lớp tĩnh (static wrapper) cho `ErrorCenterInstance` cung cấp quản lý tập trung cho việc lưu trữ, truy xuất xử lý lỗi dựa trên sự kiện. Nó đóng vai trò như một bộ lưu trữ toàn cầu cho các nguyên nhân gây lỗi cung cấp chế để đăng cũng như kích hoạt các trình xử tùy chỉnh cho các nhóm lỗi khác nhau.
7
+ `ErrorCenter` công cụ trung tâm để quản tất cả các lỗi trong ứng dụng. Nó cho phép bạn đăng các nguyên nhân lỗi 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) kích hoạt chúng từ bất kỳ phần nào của mã.
8
8
 
9
- Lớp này tuân theo hình "Static Bridge", chuyển giao tất cả các hoạt động cho một thực thể duy nhất (singleton instance) trong khi vẫn duy trì một API sạch sẽ, có thể truy cập toàn cầu.
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 tính năng chính
11
+ ## Các phương thức
12
12
 
13
- - **Truy cập tĩnh** — Truy cập toàn cầu vào quản lý lỗi mà không cần khởi tạo thủ công.
14
- - **Bộ lưu trữ tập trung** Lưu trữ các nguyên nhân lỗi được tiêu chuẩn hóa để phản hồi UI nhất quán.
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
- ## Các phương thức kiểm tra
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
- - `has(code: string, group?: string): boolean` — Kiểm tra xem một nguyên nhân lỗi có tồn tại trong bộ lưu trữ hay không.
22
- - `get(code: string, group?: string): ErrorCenterCauseItem | undefined` — Truy xuất đối tượng nguyên nhân lỗi đầy đủ.
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
- ## Truy xuất thực thể
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
- ### `ErrorCenterCauseItem`
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
- - `group?: ErrorCenterGroup` — danh mục/nhóm mà lỗi thuộc về.
53
- - `code: string` định danh duy nhất cho lỗi.
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
- ### `ErrorCenterGroup`
37
+ ## Hướng dẫn sử dụng
59
38
 
60
- Định nghĩa kiểu đơn giản để phân loại lỗi: `string | undefined`.
61
-
62
- ## Các nguyên nhân lỗi mặc định
63
-
64
- `ErrorCenter` được điền sẵn tự động với các nguyên nhân mạng tiêu chuẩn sau:
39
+ ### Bước 1: Đăng (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
- - `unknown` **Lỗi không xác định**: Đã xảy ra lỗi không mong muốn. Vui lòng thử lại.
67
- - `timeout` **Yêu cầu hết hạn**: Yêu cầu mất quá nhiều thời gian. Vui lòng kiểm tra kết nối.
68
- - `offline` — **Không có kết nối**: Bạn đang ngoại tuyến. Vui lòng kiểm tra mạng.
69
- - `notFound` **Không tìm thấy**: Tài nguyên được yêu cầu không thể tìm thấy.
70
- - `server` — **Lỗi máy chủ**: Đã xảy ra lỗi nội bộ máy chủ.
50
+ ### Bước 2: Đăng 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
- ## dụ sử dụng
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
- ```javascript
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
- // 1. Cấu hình trình xử toàn cục
102
+ // Thiết lập một lần khi khởi động ứng dụng
78
103
  ErrorCenter.addHandler('api', (cause) => {
79
- notification.error({
80
- title: cause.label,
81
- message: cause.message
82
- })
83
- })
84
-
85
- // 2. Đăng các nguyên nhân lỗi cụ thể
86
- ErrorCenter.add({
87
- group: 'auth',
88
- code: 'token_expired',
89
- label: 'Phiên làm việc hết hạn',
90
- message: 'Vui lòng đăng nhập lại.'
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
- // 3. Kích hoạt lỗi qua và nhóm
94
- ErrorCenter.on({ group: 'auth', code: 'token_expired' })
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
  ```
@@ -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
- A core utility class for managing and triggering error handlers based on defined groups. It allows for flexible error response strategies, such as showing global notifications for API errors while performing silent logging for background tasks.
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** — Easily add multiple callback functions to specific error groups.
12
- - **Group Filtering** — Target specific categories of errors (e.g., `api`, `auth`, `validation`).
13
- - **Global Fallback** — Support for an `undefined` group handler that catches any error without a specific handler.
14
- - **Sequential Execution** — Triggers all registered callbacks for a group in the order they were added.
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
- ## Check Methods
16
+ ## Initialization
18
17
 
19
- - `has(group: ErrorCenterGroup): boolean` Checks if any handlers are registered for a specific group.
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
- ## Configuration
20
+ **Parameters:**
21
+ - `handlers?: ErrorCenterHandlerList` — initial list of handlers.
23
22
 
24
- - `add(group: ErrorCenterGroup, handler: ErrorCenterHandlerCallback): this` — Adds a single callback function to a group.
25
- - `addList(handlers: ErrorCenterHandlerList): this` Registers a batch of handlers.
23
+ ```typescript
24
+ import { ErrorCenterHandler } from '@dxtmisha/functional-basic'
26
25
 
27
- ## Action Methods
26
+ const handlers = new ErrorCenterHandler([
27
+ {
28
+ group: 'api',
29
+ handlers: [(cause) => console.log('API Error:', cause.code)]
30
+ }
31
+ ]);
32
+ ```
28
33
 
29
- ### `on`
34
+ ## Methods
30
35
 
31
- Triggers all registered handlers for the provided error cause's group. If no specific handlers are found, it falls back to the handlers registered for the `undefined` group (if any). Always logs the error details to the console internally.
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
- **Parameters:**
34
- - `cause: ErrorCenterCauseItem` — The error details to pass to handlers.
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
- **Returns:** `this`
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
- ### `ErrorCenterHandlerCallback`
49
+ #### `ErrorCenterGroup`
50
+ Group name (`string`) or `undefined` for global interception.
41
51
 
42
- The function signature for error handling callbacks.
52
+ #### `ErrorCenterHandlerCallback`
53
+ Callback function: `(cause: ErrorCenterCauseItem) => void`.
43
54
 
44
- - `(cause: ErrorCenterCauseItem) => void` — Receives the merged error cause object.
45
-
46
- ## Usage Example
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
- const handlerManager = new ErrorCenterHandler()
60
+ ## Examples
52
61
 
53
- // 1. Register a specific group handler
54
- handlerManager.add('api', (cause) => {
55
- console.log('[API Handler]', cause.message)
56
- })
62
+ ### Isolated Manager for a Module
63
+ ```typescript
64
+ const uploadHandlers = new ErrorCenterHandler();
57
65
 
58
- // 2. Register a global fallback handler
59
- handlerManager.add(undefined, (cause) => {
60
- console.error('[Global Fallback]', cause.code)
61
- })
66
+ uploadHandlers.add('upload', (cause) => {
67
+ if (cause.code === 'retry') {
68
+ restartUpload();
69
+ }
70
+ });
62
71
 
63
- // 3. Triggering an error
64
- handlerManager.on({
65
- group: 'api',
66
- code: '500',
67
- message: 'Internal Server Error'
68
- })
72
+ uploadHandlers.on({ group: 'upload', code: 'retry' });
69
73
  ```