@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,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
- Основной вспомогательный класс для управления и вызова обработчиков ошибок на основе определенных групп. Он позволяет реализовывать гибкие стратегии реагирования на ошибки, такие как отображение глобальных уведомлений для ошибок API при выполнении скрытого логирования для фоновых задач.
7
+ `ErrorCenterHandler` это менеджер для управления функциями обратного вызова (обработчиками). Он позволяет привязывать логику к определенным группам ошибок и выполнять её, когда происходит соответствующее событие.
8
8
 
9
9
  ## Ключевые особенности
10
10
 
11
- - **Регистрация обработчиков** — Удобное добавление нескольких функций обратного вызова к конкретным группам.
12
- - **Групповая фильтрация**Возможность нацеливаться на конкретные категории ошибок.
13
- - **Глобальный обработчик**Поддержка группы `undefined`, которая перехватывает любую ошибку без специфического обработчика.
14
- - **Последовательное выполнение**Запускает все зарегистрированные функции в порядке их добавления.
15
- - **Интегрированное логирование** — Автоматически выводит детали ошибки в консоль браузера.
11
+ - **Регистрация обработчиков** — удобное добавление функций обратного вызова к конкретным группам.
12
+ - **Глобальный обработчик**поддержка группы `undefined`, которая перехватывает любую ошибку без специфического обработчика.
13
+ - **Последовательное выполнение**запускает все зарегистрированные функции в порядке их добавления.
14
+ - **Интегрированное логирование**автоматически выводит детали ошибки в консоль.
16
15
 
17
- ## Методы проверки
16
+ ## Инициализация
18
17
 
19
- - `has(group: ErrorCenterGroup): boolean` Проверяет, зарегистрированы ли обработчики для группы.
20
- - `get(group: ErrorCenterGroup): ErrorCenterHandlerItem | undefined` — Извлекает элемент обработчика для группы.
18
+ Для создания экземпляра используйте конструктор `ErrorCenterHandler(handlers)`.
21
19
 
22
- ## Конфигурация
20
+ **Параметры:**
21
+ - `handlers?: ErrorCenterHandlerList` — начальный список обработчиков.
23
22
 
24
- - `add(group: ErrorCenterGroup, handler: ErrorCenterHandlerCallback): this` — Добавляет одну функцию обратного вызова в группу.
25
- - `addList(handlers: ErrorCenterHandlerList): this` Регистрирует пакет обработчиков.
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
- ### `on`
34
+ ## Методы
30
35
 
31
- Запускает все зарегистрированные обработчики для группы предоставленной причины ошибки. Если специфические обработчики не найдены, метод переходит к обработчикам, зарегистрированным для группы `undefined` (если они есть). Всегда выводит детали ошибки в консоль внутри.
36
+ ### Действие
37
+ - `on(cause: ErrorCenterCauseItem): this` — Запускает цепочку обработчиков. Всегда выводит ошибку в консоль через `console.error`.
32
38
 
33
- **Параметры:**
34
- - `cause: ErrorCenterCauseItem` — Детали ошибки для передачи обработчикам.
39
+ ### Проверка
40
+ - `has(group: ErrorCenterGroup): boolean` — Проверяет, есть ли обработчики для группы.
41
+ - `get(group: ErrorCenterGroup): ErrorCenterHandlerItem | undefined` — Возвращает список функций для группы.
35
42
 
36
- **Возвращает:** `this`
43
+ ### Конфигурация
44
+ - `add(group: ErrorCenterGroup, handler: ErrorCenterHandlerCallback): this` — Добавляет одну функцию в группу.
45
+ - `addList(handlers: ErrorCenterHandlerList): this` — Пакетная регистрация обработчиков.
37
46
 
38
47
  ## Типы
39
48
 
40
- ### `ErrorCenterHandlerCallback`
49
+ #### `ErrorCenterGroup`
50
+ Имя группы (`string`) или `undefined` для глобального перехвата.
41
51
 
42
- Сигнатура функции для обратных вызовов обработки ошибок.
52
+ #### `ErrorCenterHandlerCallback`
53
+ Функция обратного вызова: `(cause: ErrorCenterCauseItem) => void`.
43
54
 
44
- - `(cause: ErrorCenterCauseItem) => void` — получает объединенный объект причины ошибки.
45
-
46
- ## Пример использования
47
-
48
- ```javascript
49
- import { ErrorCenterHandler } from '@dxtmisha/functional-basic'
55
+ #### `ErrorCenterHandlerItem`
56
+ Связка группы и массива её функций.
57
+ - `group?: ErrorCenterGroup` — целевая группа.
58
+ - `handlers: ErrorCenterHandlerCallback[]` — список функций.
50
59
 
51
- const handlerManager = new ErrorCenterHandler()
60
+ ## Примеры
52
61
 
53
- // 1. Регистрация обработчика конкретной группы
54
- handlerManager.add('api', (cause) => {
55
- console.log('[API Handler]', cause.message)
56
- })
62
+ ### Изолированный менеджер для модуля
63
+ ```typescript
64
+ const uploadHandlers = new ErrorCenterHandler();
57
65
 
58
- // 2. Регистрация глобального обработчика
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. Вызов ошибки
64
- handlerManager.on({
65
- group: 'api',
66
- code: '500',
67
- message: 'Внутренняя ошибка сервера'
68
- })
72
+ uploadHandlers.on({ group: 'upload', code: 'retry' });
69
73
  ```
@@ -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
- Một lớp tiện ích cốt lõi để quản lý kích hoạt các trình xử lý lỗi dựa trên các nhóm đã được định nghĩa. Nó cho phép các chiến lược phản hồi lỗi linh hoạt, chẳng hạn như hiển thị thông báo toàn cục cho các lỗi API trong khi thực hiện ghi nhật âm thầm cho các tác vụ nền.
7
+ `ErrorCenterHandler` trình quản để 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ể thực thi khi 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ý** — Dễ dàng thêm nhiều hàm gọi lại cho các nhóm lỗi cụ thể.
12
- - **Lọc theo nhóm** — Nhắm mục tiêu các danh mục lỗi cụ thể (ví dụ: `api`, `auth`, `validation`).
13
- - **Dự phòng toàn cục**Hỗ trợ trình xử cho nhóm `undefined` để bắt bất kỳ lỗi nào không có trình xử lý cụ thể.
14
- - **Thực thi tuần tự**Kích hoạt tất cả các hàm gọi lại theo thứ tự chúng được thêm vào.
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 trình xử cụ thể.
13
+ - **Thực thi tuần tự**kích hoạt tất cả các hàm đã đăng 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
- ## Các phương thức kiểm tra
16
+ ## Khởi tạo
18
17
 
19
- - `has(group: ErrorCenterGroup): boolean` Kiểm tra xem có trình xử lý nào được đăng ký cho một nhóm không.
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
- ## Cấu hình
20
+ **Tham số:**
21
+ - `handlers?: ErrorCenterHandlerList` — danh sách trình xử lý ban đầu.
23
22
 
24
- - `add(group: ErrorCenterGroup, handler: ErrorCenterHandlerCallback): this` — Thêm một hàm gọi lại cho một nhóm.
25
- - `addList(handlers: ErrorCenterHandlerList): this` Đăng ký một loạt các trình xử lý.
23
+ ```typescript
24
+ import { ErrorCenterHandler } from '@dxtmisha/functional-basic'
26
25
 
27
- ## Các phương thức hành động
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
- ### `on`
34
+ ## Các phương thức
30
35
 
31
- Kích hoạt tất cả các trình xử lý đã đăng ký cho nhóm của nguyên nhân lỗi được cung cấp. Nếu không tìm thấy trình xử lý cụ thể nào, nó sẽ quay về các trình xử lý được đăng ký cho nhóm `undefined` (nếu có). Luôn xuất chi tiết lỗi ra bảng điều khiển nội bộ.
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
- **Tham số:**
34
- - `cause: ErrorCenterCauseItem` — Chi tiết lỗi để chuyển cho các trình xử lý.
39
+ ### Xác minh
40
+ - `has(group: ErrorCenterGroup): boolean` — Kiểm tra xem 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
- **Trả về:** `this`
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
- ### `ErrorCenterHandlerCallback`
49
+ #### `ErrorCenterGroup`
50
+ Tên nhóm (`string`) hoặc `undefined` để chặn toàn cục.
41
51
 
42
- Hàm cho các callback xử lý lỗi.
52
+ #### `ErrorCenterHandlerCallback`
53
+ Hàm callback: `(cause: ErrorCenterCauseItem) => void`.
43
54
 
44
- - `(cause: ErrorCenterCauseItem) => void` — Nhận đối tượng nguyên nhân lỗi đã được hợp nhất.
45
-
46
- ## dụ sử dụng
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
- const handlerManager = new ErrorCenterHandler()
60
+ ## dụ
52
61
 
53
- // 1. Đăng trình xử cho nhóm cụ thể
54
- handlerManager.add('api', (cause) => {
55
- console.log('[API Handler]', cause.message)
56
- })
62
+ ### Trình quản lập cho một mô-đun
63
+ ```typescript
64
+ const uploadHandlers = new ErrorCenterHandler();
57
65
 
58
- // 2. Đăng trình xử lý dự phòng toàn cục
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. Kích hoạt một lỗi
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
  ```
@@ -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
- A class for managing error storage and handling within a specific instance. It provides the core logic for maintaining a registry of error causes and orchestrating their notification through a handler manager.
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** — Maintain a local list of error causes separate from the global state.
14
- - **Data Merging** — Automatically supplements triggered errors with pre-registered label and message data.
15
- - **Handler Delegation** — Uses a dedicated `ErrorCenterHandler` to manage and execute callbacks.
16
- - **Predefined Causes** — Can be initialized with a list of default error causes.
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
- ### `on`
16
+ ## Initialization
34
17
 
35
- Triggers error handling. It looks up the pre-registered data for the provided error code, merges it with the input `cause`, and passes it to the internal handler.
18
+ To create an instance, use the constructor `ErrorCenterInstance(causes, handler)`.
36
19
 
37
20
  **Parameters:**
38
- - `cause: ErrorCenterCauseItem` — The error information to trigger.
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
- - `group?: ErrorCenterGroup` — The category/group the error belongs to.
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
- ### 2. Adding Listeners
32
+ ## Methods
83
33
 
84
- Listeners (handlers) are callback functions that execute when a specific error occurs. You assign listeners to a specific `group` so they only react to relevant errors.
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
- ```javascript
87
- // Add a listener specifically for the "auth" group
88
- myErrorCenter.addHandler('auth', (cause) => {
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
- // Add a listener for the "api" group
94
- myErrorCenter.addHandler('api', (cause) => {
95
- // E.g., show a toast notification
96
- console.error(`[API ERROR ${cause.code}] ${cause.message}`)
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
- // Add a global fallback listener (catches errors without a specific group handler)
100
- myErrorCenter.addHandler(undefined, (cause) => {
101
- console.warn(`[UNKNOWN ERROR]`, cause)
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
- ### 3. Triggering Errors
58
+ #### `ErrorCenterHandlerCallback`
59
+ - `(cause: ErrorCenterCauseItem) => void` — processing function.
106
60
 
107
- When an error occurs in your application, you trigger the handling process using the `on` method. You only need to provide the `code` and the `group`. The `ErrorCenterInstance` will automatically merge this with the pre-registered `label` and `message` before passing it to the listeners.
61
+ ## Examples
108
62
 
109
- ```javascript
110
- // Trigger an authentication error
111
- // The listeners for "auth" will receive the full ErrorCenterCauseItem
112
- myErrorCenter.on({
113
- group: 'auth',
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
- // Trigger an unregistered error (will fallback to the undefined group listener)
118
- myErrorCenter.on({
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
  ```
@@ -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
- - **Делегирование обработки** — Использует выделенный `ErrorCenterHandler` для выполнения функций обратного вызова.
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
- ### `on`
16
+ ## Инициализация
34
17
 
35
- Запускает обработку ошибки. Метод ищет предварительно зарегистрированные данные для указанного кода ошибки, объединяет их с входной причиной (`cause`) и передает внутреннему обработчику.
18
+ Для создания экземпляра используйте конструктор `ErrorCenterInstance(causes, handler)`.
36
19
 
37
20
  **Параметры:**
38
- - `cause: ErrorCenterCauseItem` — Информация об ошибке для запуска.
39
-
40
- **Возвращает:** `this`
41
-
42
- ## Типы
43
-
44
- ### `ErrorCenterCauseItem`
45
-
46
- Основной объект, используемый для определения причины ошибки в этом экземпляре.
21
+ - `causes?: ErrorCenterCauseList` — начальный список причин ошибок.
22
+ - `handler?: ErrorCenterHandler` — экземпляр обработчика (если не указан, создается новый).
47
23
 
48
- - `group?: ErrorCenterGroup` — категория/группа, к которой относится ошибка.
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
- ### 2. Добавление слушателей
32
+ ## Методы
83
33
 
84
- Слушатели (обработчики) — это функции обратного вызова, которые выполняются при возникновении определенной ошибки. Вы назначаете слушателей для конкретной группы (`group`), чтобы они реагировали только на соответствующие ошибки.
34
+ ### Действие
35
+ - `on(cause: ErrorCenterCauseItem): this` — Запускает процесс обработки. Склеивает данные из реестра с входными данными и передает их обработчику.
85
36
 
86
- ```javascript
87
- // Добавление слушателя специально для группы "auth"
88
- myErrorCenter.addHandler('auth', (cause) => {
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
- // Добавление слушателя для группы "api"
94
- myErrorCenter.addHandler('api', (cause) => {
95
- // Например, показ всплывающего уведомления
96
- console.error(`[ОШИБКА API ${cause.code}] ${cause.message}`)
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
- myErrorCenter.addHandler(undefined, (cause) => {
101
- console.warn(`[НЕИЗВЕСТНАЯ ОШИБКА]`, cause)
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
- ### 3. Вызов ошибок
58
+ #### `ErrorCenterHandlerCallback`
59
+ - `(cause: ErrorCenterCauseItem) => void` — функция обработки.
106
60
 
107
- Когда в вашем приложении происходит ошибка, вы запускаете процесс обработки с помощью метода `on`. Вам нужно указать только код (`code`) и группу (`group`). `ErrorCenterInstance` автоматически объединит это с предварительно зарегистрированными данными (`label` и `message`) перед передачей слушателям.
61
+ ## Примеры
108
62
 
109
- ```javascript
110
- // Запуск ошибки авторизации
111
- // Слушатели для "auth" получат полный объект ErrorCenterCauseItem
112
- myErrorCenter.on({
113
- group: 'auth',
114
- code: 'token_expired'
115
- })
63
+ ### Инициализация со словарем
64
+ ```typescript
65
+ const myEC = new ErrorCenterInstance([
66
+ { group: 'db', code: 'connection_lost', label: 'БД недоступна' }
67
+ ]);
116
68
 
117
- // Запуск незарегистрированной ошибки (сработает обработчик группы undefined)
118
- myErrorCenter.on({
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
  ```