@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
@@ -4,45 +4,41 @@ import {Meta} from '@storybook/addon-docs/blocks'
4
4
 
5
5
  # ApiDefault Class
6
6
 
7
- A class for managing default data for API requests. It allows setting base parameters that should be included in every request, supporting both standard objects and `FormData`.
7
+ A class for managing default data for API requests. It allows setting base parameters that should be included in every request, supporting both standard objects and `FormData`. This is useful for centrally defining common fields such as tokens, application IDs, or localization settings.
8
8
 
9
- ## Key Features
9
+ > `ApiDefault` is an **auxiliary class**, designed for managing request defaults. In most cases, it is recommended to define these through the `requestDefault` parameter in the global `Api` configuration.
10
10
 
11
- - **Centralized Defaults** — define common parameters (like tokens or locale) once for all API calls.
12
- - **Support for Multiple Formats** — works seamlessly with both plain JavaScript objects and `FormData`.
13
- - **Intelligent Merging** — merges defaults with request-specific data, prioritizing the actual request data if keys overlap.
14
- - **Easy Checks** — simple methods to check if any default data is currently set.
11
+ ## Key Features
15
12
 
16
- ## Initialization
13
+ - **Centralized Defaults** — Define common parameters once for all API calls.
14
+ - **Support for Multiple Formats** — Works seamlessly with both plain JavaScript objects and `FormData`.
15
+ - **Intelligent Merging** — Merges defaults with request-specific data, prioritizing the actual request data if keys overlap.
16
+ - **Chainable API** — Supports a fluent interface for setting parameters.
17
17
 
18
- To initialize the object, call the `ApiDefault()` constructor.
18
+ ## Methods
19
19
 
20
- ```typescript
21
- import { ApiDefault } from '@dxtmisha/functional'
20
+ ### Action
22
21
 
23
- // 1. Simple initialization
24
- const apiDefault = new ApiDefault()
22
+ #### `request`
25
23
 
26
- // 2. Setting default data
27
- apiDefault.set({ lang: 'en', version: 'v1' })
24
+ Merges the stored default data into a provided request object or `FormData` instance. If the input is a plain object, it returns a new merged object. If the input is `FormData`, it adds missing keys directly to the instance.
28
25
 
29
- // 3. Example usage with a request object
30
- const requestData = { user_id: 5 }
31
- const mergedRequest = apiDefault.request(requestData)
32
- // Result: { lang: 'en', version: 'v1', user_id: 5 }
26
+ **Parameters:**
27
+ - `request: ApiFetch['request']` The original request data (Object, FormData, or String).
33
28
 
34
- // 4. Example usage with FormData
35
- const fd = new FormData()
36
- fd.append('photo', fileBlob)
37
- apiDefault.request(fd)
38
- // Result: fd now contains 'lang' and 'version' if they were missing
39
- ```
29
+ **Returns:** `ApiFetch['request']` The transformed request data.
40
30
 
41
- ## Methods
31
+ ### Check
42
32
 
43
33
  - `is(): boolean` — Checks if any default data has been set.
44
- - `get(): ApiDefaultValue` — Returns the current default data.
45
- - `request(request: ApiFetch['request']): ApiFetch['request']` — Merges the stored default data into a provided request object or `FormData` instance.
46
- - `set(request: ApiDefaultValue)` — Sets the default data object for requests.
34
+ - `get(): ApiDefaultValue | undefined` — Returns the current default data object.
35
+
36
+ ### Configuration
37
+
38
+ - `set(request: ApiDefaultValue): this` — Sets the default data for all future requests.
47
39
 
40
+ ## Types
48
41
 
42
+ #### `ApiDefaultValue`
43
+ A plain object representing default parameters.
44
+ - `[key: string]: any` — Key-value pairs to be used as defaults.
@@ -4,45 +4,41 @@ import {Meta} from '@storybook/addon-docs/blocks'
4
4
 
5
5
  # Класс ApiDefault
6
6
 
7
- Класс для управления данными по умолчанию для API-запросов. Он позволяет устанавливать базовые параметры, которые должны быть включены в каждый запрос, поддерживая как стандартные объекты, так и `FormData`.
7
+ Класс для управления данными по умолчанию для API-запросов. Он позволяет устанавливать базовые параметры, которые должны быть включены в каждый запрос, поддерживая как стандартные объекты, так и `FormData`. Это полезно для централизованного определения общих полей, таких как токены, ID приложения или настройки локализации.
8
8
 
9
- ## Ключевые особенности
9
+ > `ApiDefault` является **вспомогательным классом**, предназначенным для управления значениями по умолчанию в запросах. В большинстве случаев рекомендуется определять их через параметр `requestDefault` в глобальной конфигурации `Api`.
10
10
 
11
- - **Централизованные значения** — определите общие параметры (например, токены или локаль) один раз для всех вызовов API.
12
- - **Поддержка различных форматов** — бесшовно работает как с обычными объектами JavaScript, так и с `FormData`.
13
- - **Интеллектуальное слияние** — объединяет значения по умолчанию с данными конкретного запроса, отдавая приоритет данным запроса при совпадении ключей.
14
- - **Простые проверки** — удобные методы для проверки наличия установленных данных по умолчанию.
11
+ ## Ключевые особенности
15
12
 
16
- ## Инициализация
13
+ - **Централизованные значения** — Определите общие параметры один раз для всех вызовов API.
14
+ - **Поддержка различных форматов** — Бесшовно работает как с обычными объектами JavaScript, так и с `FormData`.
15
+ - **Интеллектуальное слияние** — Объединяет значения по умолчанию с данными конкретного запроса, отдавая приоритет данным запроса при совпадении ключей.
16
+ - **Chainable API** — Поддерживает цепочку вызовов при установке параметров.
17
17
 
18
- Для инициализации объекта вызовите конструктор `ApiDefault()`.
18
+ ## Методы
19
19
 
20
- ```typescript
21
- import { ApiDefault } from '@dxtmisha/functional'
20
+ ### Действие
22
21
 
23
- // 1. Простая инициализация
24
- const apiDefault = new ApiDefault()
22
+ #### `request`
25
23
 
26
- // 2. Установка данных по умолчанию
27
- apiDefault.set({ lang: 'ru', version: 'v1' })
24
+ Объединяет сохраненные данные по умолчанию с предоставленным объектом запроса или экземпляром `FormData`. Если входные данные являются объектом, метод возвращает новый объединенный объект. Если входные данные — `FormData`, недостающие ключи добавляются напрямую в экземпляр.
28
25
 
29
- // 3. Пример использования с объектом запроса
30
- const requestData = { user_id: 5 }
31
- const mergedRequest = apiDefault.request(requestData)
32
- // Результат: { lang: 'ru', version: 'v1', user_id: 5 }
26
+ **Параметры:**
27
+ - `request: ApiFetch['request']` Исходные данные запроса (Object, FormData или String).
33
28
 
34
- // 4. Пример использования с FormData
35
- const fd = new FormData()
36
- fd.append('photo', fileBlob)
37
- apiDefault.request(fd)
38
- // Результат: fd теперь содержит 'lang' и 'version', если они отсутствовали
39
- ```
29
+ **Возвращает:** `ApiFetch['request']` Трансформированные данные запроса.
40
30
 
41
- ## Методы
31
+ ### Проверка
42
32
 
43
33
  - `is(): boolean` — Проверяет, были ли установлены какие-либо данные по умолчанию.
44
- - `get(): ApiDefaultValue` — Возвращает текущие данные по умолчанию.
45
- - `request(request: ApiFetch['request']): ApiFetch['request']` — Объединяет сохраненные данные по умолчанию с предоставленным объектом запроса или экземпляром `FormData`.
46
- - `set(request: ApiDefaultValue)` — Устанавливает объект данных по умолчанию для всех запросов.
34
+ - `get(): ApiDefaultValue | undefined` — Возвращает текущий объект данных по умолчанию.
35
+
36
+ ### Конфигурация
37
+
38
+ - `set(request: ApiDefaultValue): this` — Устанавливает данные по умолчанию для всех будущих запросов.
47
39
 
40
+ ## Типы
48
41
 
42
+ #### `ApiDefaultValue`
43
+ Обычный объект, представляющий параметры по умолчанию.
44
+ - `[key: string]: any` — Пары ключе-значение, используемые по умолчанию.
@@ -4,45 +4,41 @@ import {Meta} from '@storybook/addon-docs/blocks'
4
4
 
5
5
  # Lớp ApiDefault
6
6
 
7
- Một lớp để quản lý dữ liệu mặc định cho các yêu cầu API. Nó cho phép thiết lập các tham số cơ bản cần được bao gồm trong mọi yêu cầu, hỗ trợ cả đối tượng thông thường và `FormData`.
7
+ Một lớp để quản lý dữ liệu mặc định cho các yêu cầu API. Nó cho phép thiết lập các tham số cơ bản cần được bao gồm trong mọi yêu cầu, hỗ trợ cả đối tượng thông thường và `FormData`. Điều này hữu ích để định nghĩa tập trung các trường chung như token, ID ứng dụng hoặc cài đặt ngôn ngữ.
8
8
 
9
- ## Các tính năng chính
9
+ > `ApiDefault` một **lớp bổ trợ** (auxiliary class), được thiết kế để quản lý các giá trị mặc định của yêu cầu. Trong hầu hết các trường hợp, bạn nên định nghĩa chúng thông qua tham số `requestDefault` trong cấu hình `Api` toàn cục.
10
10
 
11
- - **Mặc định hóa tập trung** — định nghĩa các tham số chung (như token hoặc ngôn ngữ) một lần cho tất cả các cuộc gọi API.
12
- - **Hỗ trợ nhiều định dạng** — hoạt động mượt mà với cả đối tượng JavaScript thuần túy và `FormData`.
13
- - **Gộp dữ liệu thông minh** — gộp các giá trị mặc định với dữ liệu cụ thể của yêu cầu, ưu tiên dữ liệu yêu cầu thực tế nếu có sự trùng lặp khóa.
14
- - **Kiểm tra dễ dàng** — các phương thức đơn giản để kiểm tra xem dữ liệu mặc định đã được thiết lập hay chưa.
11
+ ## Các tính năng chính
15
12
 
16
- ## Khởi tạo
13
+ - **Mặc định hóa tập trung** — Định nghĩa các tham số chung một lần cho tất cả các cuộc gọi API.
14
+ - **Hỗ trợ nhiều định dạng** — Hoạt động mượt mà với cả đối tượng JavaScript thuần túy và `FormData`.
15
+ - **Gộp dữ liệu thông minh** — Gộp các giá trị mặc định với dữ liệu cụ thể của yêu cầu, ưu tiên dữ liệu yêu cầu thực tế nếu có sự trùng lặp khóa.
16
+ - **Chainable API** — Hỗ trợ giao diện linh hoạt (chaining) để thiết lập các tham số.
17
17
 
18
- Để khởi tạo đối tượng, hãy gọi hàm khởi tạo `ApiDefault()`.
18
+ ## Các phương thức
19
19
 
20
- ```typescript
21
- import { ApiDefault } from '@dxtmisha/functional'
20
+ ### Hành động
22
21
 
23
- // 1. Khởi tạo đơn giản
24
- const apiDefault = new ApiDefault()
22
+ #### `request`
25
23
 
26
- // 2. Thiết lập dữ liệu mặc định
27
- apiDefault.set({ lang: 'vi', version: 'v1' })
24
+ Gộp dữ liệu mặc định đã lưu vào một đối tượng yêu cầu hoặc thực thể `FormData` được cung cấp. Nếu đầu vào một đối tượng thuần túy, nó sẽ trả về một đối tượng mới đã được gộp. Nếu đầu vào là `FormData`, nó sẽ thêm trực tiếp các khóa còn thiếu vào thực thể đó.
28
25
 
29
- // 3. Ví dụ sử dụng với một đối tượng yêu cầu
30
- const requestData = { user_id: 5 }
31
- const mergedRequest = apiDefault.request(requestData)
32
- // Kết quả: { lang: 'vi', version: 'v1', user_id: 5 }
26
+ **Tham số:**
27
+ - `request: ApiFetch['request']` Dữ liệu yêu cầu gốc (Đối tượng, FormData hoặc Chuỗi).
33
28
 
34
- // 4. dụ sử dụng với FormData
35
- const fd = new FormData()
36
- fd.append('photo', fileBlob)
37
- apiDefault.request(fd)
38
- // Kết quả: fd bây giờ chứa 'lang' và 'version' nếu chúng bị thiếu
39
- ```
29
+ **Trả về:** `ApiFetch['request']` Dữ liệu yêu cầu đã được chuyển đổi.
40
30
 
41
- ## Các phương thức
31
+ ### Kiểm tra
42
32
 
43
33
  - `is(): boolean` — Kiểm tra xem dữ liệu mặc định đã được thiết lập chưa.
44
- - `get(): ApiDefaultValue` — Trả về dữ liệu mặc định hiện tại.
45
- - `request(request: ApiFetch['request']): ApiFetch['request']` — Gộp dữ liệu mặc định đã lưu vào một đối tượng yêu cầu hoặc biến biểu mẫu `FormData` được cung cấp.
46
- - `set(request: ApiDefaultValue)` — Thiết lập dữ liệu mặc định cho các yêu cầu.
34
+ - `get(): ApiDefaultValue | undefined` — Trả về đối tượng dữ liệu mặc định hiện tại.
35
+
36
+ ### Cấu hình
37
+
38
+ - `set(request: ApiDefaultValue): this` — Thiết lập dữ liệu mặc định cho tất cả các yêu cầu trong tương lai.
47
39
 
40
+ ## Các kiểu dữ liệu
48
41
 
42
+ #### `ApiDefaultValue`
43
+ Một đối tượng thuần túy đại diện cho các tham số mặc định.
44
+ - `[key: string]: any` — Các cặp khóa-giá trị được sử dụng làm mặc định.
@@ -6,6 +6,8 @@ import {Meta} from '@storybook/addon-docs/blocks'
6
6
 
7
7
  A class for managing and merging HTTP request headers. It handles default application-wide headers, custom headers for specific requests, and default `Content-Type` assignment.
8
8
 
9
+ > `ApiHeaders` is an **auxiliary class**, designed for managing HTTP headers. In most cases, it is recommended to define global headers through the `headers` parameter in the global `Api` configuration.
10
+
9
11
  ## Key Features
10
12
 
11
13
  - **Default Headers** — set global headers like `Authorization` or `X-App-Version` once.
@@ -13,25 +15,37 @@ A class for managing and merging HTTP request headers. It handles default applic
13
15
  - **Safe Merging** — merges multiple header sources without mutating the original objects.
14
16
  - **Validation** — ensures only valid objects are processed as headers.
15
17
 
16
- ## Initialization
18
+ ## Methods
17
19
 
18
- To initialize the object, call the `ApiHeaders()` constructor.
20
+ ### Action
19
21
 
20
- ```typescript
21
- import { ApiHeaders } from '@dxtmisha/functional'
22
+ #### `get`
22
23
 
23
- // 1. Simple initialization
24
- const apiHeaders = new ApiHeaders()
24
+ Intersects default headers with custom ones and injects `Content-Type`. If the `value` parameter is `null`, headers are disabled.
25
25
 
26
- // 2. Setting default headers
27
- apiHeaders.set({ 'X-App-Platform': 'web' })
26
+ **Parameters:**
27
+ - `value?: Record<string, string> | null` — Custom headers to merge with defaults.
28
+ - `type: string | undefined | null` — The `Content-Type` to set (defaults to `application/json;charset=UTF-8`).
28
29
 
29
- // 3. Getting headers for a request
30
- const headers = apiHeaders.get({ 'Authorization': 'Bearer token123' })
31
- // Result: { 'X-App-Platform': 'web', 'Authorization': 'Bearer token123', 'Content-Type': 'application/json;charset=UTF-8' }
32
- ```
30
+ **Returns:** `Record<string, string> | undefined` The merged headers object.
33
31
 
34
- ## Methods
32
+ #### `getByRequest`
33
+
34
+ A specialized version of `get` that adjusts headers based on the request type. Specifically, it ensures `Content-Type` is not manually set for `FormData` to allow correct boundary generation.
35
+
36
+ **Parameters:**
37
+ - `request: ApiFetch['request']` — The request payload (Object, FormData, or String).
38
+ - `value?: Record<string, string> | null` — Custom headers.
39
+ - `type: string` — The desired `Content-Type`.
40
+
41
+ **Returns:** `Record<string, string> | undefined` — The processed headers object.
42
+
43
+ ### Configuration
35
44
 
36
- - `get(value?: Record<string, string> | null, type = 'application/json;charset=UTF-8'): Record<string, string> | undefined` — Intersects default headers with custom ones and injects `Content-Type`.
37
45
  - `set(headers: Record<string, string>): this` — Sets or updates the default headers object.
46
+
47
+ ## Types
48
+
49
+ #### `ApiHeadersValue`
50
+ A plain object representing HTTP headers.
51
+ - `[key: string]: string` — Key-value pairs where key is the header name and value is the header content.
@@ -4,34 +4,48 @@ import {Meta} from '@storybook/addon-docs/blocks'
4
4
 
5
5
  # Класс ApiHeaders
6
6
 
7
- Класс для управления и слияния заголовков HTTP-запросов. Он обрабатывает заголовки по умолчанию, пользовательские заголовки для конкретных запросов и автоматическое назначение `Content-Type`.
7
+ Класс для управления и слияния заголовков HTTP-запросов. Он обрабатывает заголовки по умолчанию для всего приложения, пользовательские заголовки для конкретных запросов и автоматическое назначение `Content-Type`.
8
+
9
+ > `ApiHeaders` является **вспомогательным классом**, предназначенным для управления HTTP-заголовками. В большинстве случаев рекомендуется определять глобальные заголовки через параметр `headers` в глобальной конфигурации `Api`.
8
10
 
9
11
  ## Ключевые особенности
10
12
 
11
- - **Заголовки по умолчанию** — установите глобальные заголовки, такие как `Authorization` или `X-App-Version`, один раз.
12
- - **Динамический Content-Type** — автоматически управляет заголовком `Content-Type` (по умолчанию `application/json;charset=UTF-8`).
13
- - **Безопасное слияние** — объединяет несколько источников заголовков без изменения исходных объектов.
14
- - **Валидация ввода** гарантирует, что для заголовков используются только допустимые объекты.
13
+ - **Заголовки по умолчанию** — Установите глобальные заголовки, такие как `Authorization` или `X-App-Version`, один раз.
14
+ - **Динамический Content-Type** — Автоматически управляет заголовком `Content-Type` (по умолчанию `application/json;charset=UTF-8`).
15
+ - **Безопасное слияние** — Объединяет несколько источников заголовков без изменения исходных объектов.
16
+ - **Валидация**Гарантирует, что для заголовков используются только допустимые объекты.
15
17
 
16
- ## Инициализация
18
+ ## Методы
17
19
 
18
- Для инициализации объекта вызовите конструктор `ApiHeaders()`.
20
+ ### Действие
19
21
 
20
- ```typescript
21
- import { ApiHeaders } from '@dxtmisha/functional'
22
+ #### `get`
22
23
 
23
- // 1. Простая инициализация
24
- const apiHeaders = new ApiHeaders()
24
+ Объединяет заголовки по умолчанию с пользовательскими и добавляет `Content-Type`. Если параметр `value` равен `null`, заголовки отключаются.
25
25
 
26
- // 2. Установка заголовков по умолчанию
27
- apiHeaders.set({ 'X-App-Platform': 'web' })
26
+ **Параметры:**
27
+ - `value?: Record<string, string> | null` — Пользовательские заголовки для слияния.
28
+ - `type: string | undefined | null` — Значение `Content-Type` (по умолчанию `application/json;charset=UTF-8`).
28
29
 
29
- // 3. Получение заголовков для запроса
30
- const headers = apiHeaders.get({ 'Authorization': 'Bearer token123' })
31
- // Результат: { 'X-App-Platform': 'web', 'Authorization': 'Bearer token123', 'Content-Type': 'application/json;charset=UTF-8' }
32
- ```
30
+ **Возвращает:** `Record<string, string> | undefined` — Объект объединенных заголовков.
33
31
 
34
- ## Методы
32
+ #### `getByRequest`
33
+
34
+ Специализированная версия метода `get`, которая корректирует заголовки в зависимости от типа запроса. В частности, она гарантирует, что `Content-Type` не устанавливается вручную для `FormData`, чтобы обеспечить корректную генерацию `boundary`.
35
+
36
+ **Параметры:**
37
+ - `request: ApiFetch['request']` — Данные запроса (Объект, FormData или Строка).
38
+ - `value?: Record<string, string> | null` — Пользовательские заголовки.
39
+ - `type: string` — Желаемый `Content-Type`.
40
+
41
+ **Возвращает:** `Record<string, string> | undefined` — Обработанный объект заголовков.
42
+
43
+ ### Конфигурация
35
44
 
36
- - `get(value?: Record<string, string> | null, type = 'application/json;charset=UTF-8'): Record<string, string> | undefined` — Объединяет заголовки по умолчанию с пользовательскими и добавляет `Content-Type`.
37
45
  - `set(headers: Record<string, string>): this` — Устанавливает или обновляет заголовки по умолчанию.
46
+
47
+ ## Типы
48
+
49
+ #### `ApiHeadersValue`
50
+ Обычный объект, представляющий HTTP-заголовки.
51
+ - `[key: string]: string` — Пары ключ-значение, где ключ — имя заголовка, а значение — содержимое заголовка.
@@ -6,32 +6,46 @@ import {Meta} from '@storybook/addon-docs/blocks'
6
6
 
7
7
  Một lớp để quản lý và gộp các tiêu đề (headers) yêu cầu HTTP. Nó xử lý các tiêu đề mặc định cho toàn bộ ứng dụng, tiêu đề tùy chỉnh cho các yêu cầu cụ thể và việc tự động gán `Content-Type`.
8
8
 
9
+ > `ApiHeaders` là một **lớp bổ trợ** (auxiliary class), được thiết kế để quản lý các tiêu đề HTTP. Trong hầu hết các trường hợp, bạn nên định nghĩa các tiêu đề toàn cục thông qua tham số `headers` trong cấu hình `Api` toàn cục.
10
+
9
11
  ## Các tính năng chính
10
12
 
11
- - **Tiêu đề mặc định** — thiết lập các tiêu đề chung một lần duy nhất, ví dụ như `Authorization` hoặc `X-App-Version`.
12
- - **Content-Type Động** — tự động quản lý tiêu đề `Content-Type` (mặc định là `application/json;charset=UTF-8`).
13
- - **Gộp an toàn** — gộp nhiều nguồn tiêu đề khác nhau mà không làm thay đổi các đối tượng gốc.
14
- - **Xác thực đầu vào** — đảm bảo chỉ các đối tượng hợp lệ mới được xử lý dưới dạng tiêu đề.
13
+ - **Tiêu đề mặc định** — Thiết lập các tiêu đề chung một lần duy nhất, ví dụ như `Authorization` hoặc `X-App-Version`.
14
+ - **Content-Type động** — Tự động quản lý tiêu đề `Content-Type` (mặc định là `application/json;charset=UTF-8`).
15
+ - **Gộp an toàn** — Gộp nhiều nguồn tiêu đề khác nhau mà không làm thay đổi các đối tượng gốc.
16
+ - **Xác thực** — Đảm bảo chỉ các đối tượng hợp lệ mới được xử lý dưới dạng tiêu đề.
15
17
 
16
- ## Khởi tạo
18
+ ## Các phương thức
17
19
 
18
- Để khởi tạo đối tượng, hãy gọi hàm khởi tạo `ApiHeaders()`.
20
+ ### Hành động
19
21
 
20
- ```typescript
21
- import { ApiHeaders } from '@dxtmisha/functional'
22
+ #### `get`
22
23
 
23
- // 1. Khởi tạo đơn giản
24
- const apiHeaders = new ApiHeaders()
24
+ Giao thoa tiêu đề mặc định với những tiêu đề tùy chỉnh và tiêm `Content-Type`. Nếu tham số `value` là `null`, các tiêu đề sẽ bị tắt.
25
25
 
26
- // 2. Thiết lập các tiêu đề mặc định
27
- apiHeaders.set({ 'X-App-Platform': 'web' })
26
+ **Tham số:**
27
+ - `value?: Record<string, string> | null` — Các tiêu đề tùy chỉnh để gộp với mặc định.
28
+ - `type: string | undefined | null` — Giá trị `Content-Type` (mặc định là `application/json;charset=UTF-8`).
28
29
 
29
- // 3. Lấy các tiêu đề cho yêu cầu
30
- const headers = apiHeaders.get({ 'Authorization': 'Bearer token123' })
31
- // Kết quả: { 'X-App-Platform': 'web', 'Authorization': 'Bearer token123', 'Content-Type': 'application/json;charset=UTF-8' }
32
- ```
30
+ **Trả về:** `Record<string, string> | undefined` — Đối tượng tiêu đề đã được gộp.
33
31
 
34
- ## Các phương thức
32
+ #### `getByRequest`
33
+
34
+ Một phiên bản chuyên biệt của `get` để điều chỉnh tiêu đề dựa trên loại yêu cầu. Cụ thể, nó đảm bảo `Content-Type` không được thiết lập thủ công cho `FormData` để cho phép tạo boundary chính xác.
35
+
36
+ **Tham số:**
37
+ - `request: ApiFetch['request']` — Dữ liệu yêu cầu (Đối tượng, FormData hoặc Chuỗi).
38
+ - `value?: Record<string, string> | null` — Các tiêu đề tùy chỉnh.
39
+ - `type: string` — `Content-Type` mong muốn.
40
+
41
+ **Trả về:** `Record<string, string> | undefined` — Đối tượng tiêu đề đã được xử lý.
42
+
43
+ ### Cấu hình
44
+
45
+ - `set(headers: Record<string, string>): this` — Thiết lập hoặc cập nhật đối tượng tiêu đề mặc định.
46
+
47
+ ## Các kiểu dữ liệu
35
48
 
36
- - `get(value?: Record<string, string> | null, type = 'application/json;charset=UTF-8'): Record<string, string> | undefined` — Giao thoa tiêu đề mặc định với những tiêu đề tùy chỉnh được truyền vào và tiêm `Content-Type`.
37
- - `set(headers: Record<string, string>): this` Thiết lập hoặc cập nhật mảng đối tượng tiêu đề mặc định.
49
+ #### `ApiHeadersValue`
50
+ Một đối tượng thuần túy đại diện cho các tiêu đề HTTP.
51
+ - `[key: string]: string` — Các cặp khóa-giá trị trong đó khóa là tên tiêu đề và giá trị là nội dung tiêu đề.
@@ -0,0 +1,56 @@
1
+ import {Meta} from '@storybook/addon-docs/blocks'
2
+
3
+ <Meta title='@dxtmisha/en/functional-basic/Classes/ApiHydration - API Data Hydration'/>
4
+
5
+ # ApiHydration Class
6
+
7
+ A class for collecting API data for hydration on the client side during SSR (Server-Side Rendering). It allows the server to capture API responses during the initial render and pass them to the client, preventing redundant network requests when the application initializes in the browser.
8
+
9
+ > `ApiHydration` is an **auxiliary class**, designed for SSR data management. In most cases, it is recommended to interact with hydration through the global `Api` object using methods like `Api.getHydrationScript()`.
10
+
11
+ ## Key Features
12
+
13
+ - **SSR Optimization** — reduces the number of requests after the page loads by reusing server-side data.
14
+ - **Data Capture** — automatically collects successful API responses marked for global use.
15
+ - **HTML Embedding** — generates a safe `<script>` tag with JSON-serialized data for embedding in the document.
16
+ - **Client Synchronization** — allows `ApiResponse` to load hydrated data automatically on the client side.
17
+
18
+ ## Methods
19
+
20
+ ### Action
21
+
22
+ #### `toClient`
23
+
24
+ Saves the API response for client-side hydration. This method only executes on the server and only for requests where `global` is set to true.
25
+
26
+ **Parameters:**
27
+ - `apiFetch: ApiFetch` — The API request configuration.
28
+ - `response: T` — The data payload to be hydrated on the client.
29
+
30
+ #### `toString`
31
+
32
+ Returns a string representation of the captured hydration data, wrapped in a safe `<script>` tag with a unique ID.
33
+
34
+ **Returns:** `string` — The formatted HTML script tag.
35
+
36
+ ### Configuration
37
+
38
+ - `initResponse(response: ApiResponse): void` — Initializes the `ApiResponse` instance with hydration data if running in a DOM environment.
39
+
40
+ ## Types
41
+
42
+ #### `ApiHydrationList`
43
+ A list of captured API responses for hydration.
44
+ - `path: string` — The API endpoint path.
45
+ - `method: ApiMethodItem` — The HTTP method used.
46
+ - `request: any` — The request payload.
47
+ - `response: any` — The server response data.
48
+ - `global?: boolean` — Global usage flag.
49
+
50
+ ## Guide: Hydration Mechanics
51
+
52
+ The following rules and conditions define how the hydration system captures and transfers data between the server and the browser:
53
+
54
+ - **Global Flag** — only requests where the `global` property is set to `true` in the configuration are captured for hydration.
55
+ - **Automatic Handling** — the `global` flag is automatically set to `true` for all `GET` requests. Other methods require explicit manual enabling.
56
+ - **Server Execution** — data capture occurs exclusively on the server side (where `isDomRuntime()` is false).
@@ -0,0 +1,56 @@
1
+ import {Meta} from '@storybook/addon-docs/blocks'
2
+
3
+ <Meta title='@dxtmisha/ru/functional-basic/Classes/ApiHydration - Гидратация данных API'/>
4
+
5
+ # Класс ApiHydration
6
+
7
+ Класс для сбора данных API для гидратации на стороне клиента во время SSR (Server-Side Rendering). Он позволяет серверу захватывать ответы API во время начальной отрисовки и передавать их клиенту, предотвращая избыточные сетевые запросы при инициализации приложения в браузере.
8
+
9
+ > `ApiHydration` является **вспомогательным классом**, предназначенным для управления данными SSR. В большинстве случаев рекомендуется взаимодействовать с гидратацией через глобальный объект `Api`, используя такие методы, как `Api.getHydrationScript()`.
10
+
11
+ ## Ключевые особенности
12
+
13
+ - **Оптимизация SSR** — сокращает количество запросов после загрузки страницы за счет повторного использования серверных данных.
14
+ - **Захват данных** — автоматически собирает успешные ответы API, помеченные для глобального использования.
15
+ - **Внедрение в HTML** — генерирует безопасный тег `<script>` с JSON-сериализованными данными для вставки в документ.
16
+ - **Синхронизация с клиентом** — позволяет `ApiResponse` автоматически загружать гидрированные данные на стороне клиента.
17
+
18
+ ## Методы
19
+
20
+ ### Действие
21
+
22
+ #### `toClient`
23
+
24
+ Сохраняет ответ API для гидратации на стороне клиента. Этот метод выполняется только на сервере и только для запросов, где `global` установлен в true.
25
+
26
+ **Параметры:**
27
+ - `apiFetch: ApiFetch` — Конфигурация запроса API.
28
+ - `response: T` — Данные ответа, которые будут переданы клиенту.
29
+
30
+ #### `toString`
31
+
32
+ Возвращает строковое представление захваченных данных гидратации, обернутое в безопасный тег `<script>` с уникальным ID.
33
+
34
+ **Возвращает:** `string` — Отформатированный HTML-тег скрипта.
35
+
36
+ ### Конфигурация
37
+
38
+ - `initResponse(response: ApiResponse): void` — Инициализирует экземпляр `ApiResponse` данными гидратации, если код выполняется в среде DOM.
39
+
40
+ ## Типы
41
+
42
+ #### `ApiHydrationList`
43
+ Список захваченных ответов API для гидратации.
44
+ - `path: string` — Путь эндпоинта API.
45
+ - `method: ApiMethodItem` — Используемый HTTP-метод.
46
+ - `request: any` — Данные запроса.
47
+ - `response: any` — Данные ответа сервера.
48
+ - `global?: boolean` — Флаг глобального использования.
49
+
50
+ ## Руководство: Механика гидратации
51
+
52
+ Следующие правила и условия определяют, как система гидратации захватывает и передает данные между сервером и браузером:
53
+
54
+ - **Флаг global** — захватываются только те запросы, у которых свойство `global` в конфигурации установлено в `true`.
55
+ - **Автоматическая обработка** — флаг `global` автоматически устанавливается в `true` для всех `GET`-запросов. Другие методы требуют явного включения вручную.
56
+ - **Серверное выполнение** — захват данных происходит исключительно на стороне сервера (где `isDomRuntime()` возвращает false).
@@ -0,0 +1,55 @@
1
+ import {Meta} from '@storybook/addon-docs/blocks'
2
+
3
+ <Meta title='@dxtmisha/vi/functional-basic/Classes/ApiHydration - Giảm tải dữ liệu API'/>
4
+
5
+ # Lớp ApiHydration
6
+
7
+ Một lớp để thu thập dữ liệu API cho việc "hydrat hóa" (hydration) phía máy khách trong quá trình SSR (Server-Side Rendering). Nó cho phép máy chủ ghi lại các phản hồi API trong lần render đầu tiên và chuyển chúng đến máy khách, ngăn chặn các yêu cầu mạng dư thừa khi ứng dụng khởi tạo trong trình duyệt.
8
+
9
+ > `ApiHydration` là một **lớp bổ trợ** (auxiliary class), được thiết kế để quản lý dữ liệu SSR. Trong hầu hết các trường hợp, bạn nên tương tác với việc hydrat hóa thông qua đối tượng `Api` toàn cục bằng các phương thức như `Api.getHydrationScript()`.
10
+
11
+ ## Các tính năng chính
12
+
13
+ - **Tối ưu hóa SSR** — giảm số lượng yêu cầu sau khi tải trang bằng cách sử dụng lại dữ liệu từ phía máy chủ.
14
+ - **Thu thập dữ liệu** — tự động thu thập các phản hồi API thành công được đánh dấu để sử dụng toàn cục.
15
+ - **Nhúng HTML** — tạo một thẻ `<script>` an toàn với dữ liệu đã được JSON-serial hóa để nhúng vào tài liệu.
16
+ - **Đồng bộ hóa máy khách** — cho phép `ApiResponse` tự động tải dữ liệu đã hydrat hóa ở phía máy khách.
17
+
18
+ ## Các phương thức
19
+
20
+ ### Hành động
21
+
22
+ #### `toClient`
23
+
24
+ Lưu phản hồi API để hydrat hóa phía máy khách. Phương thức này chỉ thực thi trên máy chủ và chỉ dành cho các yêu cầu đã đặt `global` là true.
25
+
26
+ **Tham số:**
27
+ - `apiFetch: ApiFetch` — Cấu hình yêu cầu API.
28
+ - `response: T` — Dữ liệu phản hồi sẽ được chuyển đến máy khách.
29
+
30
+ #### `toString`
31
+
32
+ Trả về chuỗi đại diện cho dữ liệu hydrat hóa đã thu thập, được bọc trong một thẻ `<script>` an toàn với ID duy nhất.
33
+
34
+ **Trả về:** `string` — Thẻ script HTML đã được định dạng.
35
+
36
+ ### Cấu hình
37
+
38
+ - `initResponse(response: ApiResponse): void` — Khởi tạo thực thể `ApiResponse` với dữ liệu hydrat hóa nếu đang chạy trong môi trường DOM.
39
+
40
+ ## Các kiểu dữ liệu
41
+
42
+ #### `ApiHydrationList`
43
+ Danh sách các phản hồi API đã thu thập để hydrat hóa.
44
+ - `path: string` — Đường dẫn endpoint API.
45
+ - `method: ApiMethodItem` — Phương thức HTTP đã sử dụng.
46
+ - `request: any` — Dữ liệu yêu cầu.
47
+ - `response: any` — Dữ liệu phản hồi từ máy chủ.
48
+
49
+ ## Hướng dẫn: Cơ chế Hydrat hóa
50
+
51
+ Các quy tắc và điều kiện sau đây xác định cách hệ thống hydrat hóa thu thập và chuyển dữ liệu giữa máy chủ và trình duyệt:
52
+
53
+ - **Cờ toàn cục** — chỉ các yêu cầu có thuộc tính `global` được đặt thành `true` mới được ghi lại để hydrat hóa.
54
+ - **Xử lý tự động** — cờ `global` được tự động đặt thành `true` cho tất cả các yêu cầu `GET`. Các phương thức khác yêu cầu bật thủ công.
55
+ - **Thực thi phía máy chủ** — việc thu thập dữ liệu chỉ xảy ra ở phía máy chủ (nơi `isDomRuntime()` trả về false).