@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,34 +4,34 @@ import {Meta} from '@storybook/addon-docs/blocks'
4
4
 
5
5
  # Formatters Class
6
6
 
7
- A specialized class for formatting lists of data based on provided configuration. It acts as a bridge between raw data and localized, human-readable strings, leveraging the `GeoIntl` singleton for consistent formatting across different locales.
7
+ A specialized class for formatting data lists based on a provided configuration. It serves as a bridge between raw data and localized, human-readable strings, utilizing the `GeoIntl` singleton for consistent formatting across different locales.
8
8
 
9
9
  ## Key Features
10
10
 
11
- - **Declarative Configuration** — Define formatting rules once and apply them to an entire dataset.
12
- - **Support for Multiple Types** — Built-in support for currency, dates, names, numbers, plurals, and units.
13
- - **Custom Transformations** — Ability to provide custom functions for unique formatting needs.
14
- - **Type Safety** — Full TypeScript support for items, options, and resulting formatted lists.
15
- - **Automatic Key Generation** — Automatically adds formatted values to items with a `Format` suffix (e.g., `price` becomes `priceFormat`).
11
+ - **Declarative Configuration** — Define formatting rules once and apply them to the entire dataset.
12
+ - **Support for Multiple Types** — Built-in support for currencies, dates, names, numbers, plurals, and units.
13
+ - **Custom Transformations** — The ability to provide your own functions for unique formatting needs.
14
+ - **Typing** — Full TypeScript support for items, parameters, and resulting formatted lists.
15
+ - **Automatic Key Generation** — Automatically adds formatted values to items with the `Format` suffix (e.g., `price` becomes `priceFormat`).
16
16
 
17
17
  ## Initialization
18
18
 
19
- To initialize the object, call the `Formatters(options, list)` constructor.
19
+ To initialize the object, call the constructor `Formatters(options, list)`.
20
20
 
21
21
  ### Generic Constraints
22
22
 
23
- - `Options extends FormattersOptionsList` — type of formatting options.
24
- - `List extends FormattersList<FormattersListItem> | FormattersListItem` — type of the input data (array or single item).
25
- - `Item extends (List extends any[] ? List[number] : List)` — type of a single item in the list.
23
+ - `Options extends FormattersOptionsList` — type of formatting parameters.
24
+ - `List extends FormattersListProp` — type of input data (array or single item).
25
+ - `Item extends FormattersItemProp<List>` — type of a single item in the list.
26
26
 
27
27
  **Parameters:**
28
- - `options: Options` — formatting options for each column/property.
29
- - `list?: List` — initial list of data to format.
28
+ - `options: Options` — formatting parameters for each column/property.
29
+ - `list?: List` — initial data list for formatting.
30
30
 
31
31
  ```typescript
32
32
  import { Formatters } from '@dxtmisha/functional-basic'
33
33
 
34
- // 1. Define formatting options
34
+ // 1. Defining formatting parameters
35
35
  const options = {
36
36
  price: {
37
37
  type: 'currency',
@@ -44,31 +44,17 @@ const options = {
44
44
  user: {
45
45
  type: 'name',
46
46
  options: { lastPropName: 'surname', firstPropName: 'name' }
47
- },
48
- weight: {
49
- type: 'unit',
50
- options: { unit: 'kilogram' }
51
- },
52
- count: {
53
- type: 'plural',
54
- options: { words: 'apple|apples' }
55
- },
56
- status: {
57
- transformation: (value: number) => value === 1 ? 'Active' : 'Inactive'
58
47
  }
59
48
  }
60
49
 
61
- // 2. Initial data (can be an array or a single object)
50
+ // 2. Raw data
62
51
  const data = [
63
52
  {
64
53
  price: 100,
65
54
  currency: 'USD',
66
55
  created: '2024-03-07T12:00:00',
67
56
  name: 'John',
68
- surname: 'Doe',
69
- weight: 75,
70
- count: 5,
71
- status: 1
57
+ surname: 'Doe'
72
58
  }
73
59
  ]
74
60
 
@@ -76,93 +62,95 @@ const data = [
76
62
  const formatter = new Formatters(options, data)
77
63
  ```
78
64
 
79
- ## Processing Data
65
+ ## Methods
80
66
 
81
- ### `to`
67
+ ### Processing
68
+ - `to(): FormattersReturn<List, Options>` — Processes the data and returns the result. If the input was an array, returns a new array of enriched items. If it was a single item — a single object. Adds properties with the `Format` suffix.
82
69
 
83
- Processes the data and returns the result. If the input was an array, it returns a new array of enriched items. If the input was a single item, it returns that single enriched item.
70
+ ### Configuration
71
+ - `setList(list?: List): this` — Updates the data for formatting. Supports chaining.
84
72
 
85
- **Returns:** `FormattersListColumns<Item, Options> | FormattersListColumnItem<Item, Options>` — enriched data with additional `*Format` properties.
73
+ ### Information
74
+ - `is(): boolean` — Checks if data is set for processing.
75
+ - `isArray(): boolean` — Whether the current data is an array.
76
+ - `length(): number` — Returns the count of records in the list.
77
+ - `getList(): FormattersList<Item>` — Returns the current list as an array.
78
+ - `getOptions(): Options` — Returns the current formatting configuration.
79
+
80
+ ## Formatting Types and Parameters
81
+
82
+ The `FormattersOptionsList` configuration is a dictionary where keys correspond to property names in the data (dot notation `path.to.prop` is supported), and values are `FormattersOptionsItem` objects.
83
+
84
+ ### General Structure of `FormattersOptionsItem`
85
+ - `type?: FormattersType` — Formatter type.
86
+ - `transformation?: (value, item, options) => string` — Custom transformation function.
87
+ - `options?: Options` — Parameter object, the structure of which depends on the selected `type`.
88
+
89
+ ### Detailed Type Description
90
+
91
+ #### 1. Currency (`currency`)
92
+ Used for localized display of monetary values.
93
+ - `currencyPropName?: string` — Property name in the item from which the currency code is taken (default is `currency`).
94
+ - `options?: string | Intl.NumberFormatOptions` — You can pass a fixed code (e.g., `'USD'`) or an `Intl.NumberFormat` settings object.
95
+ - `numberOnly?: boolean` — If `true`, returns only the formatted number without the currency symbol.
96
+
97
+ #### 2. Date (`date`)
98
+ Formatting dates and times via `GeoIntl`.
99
+ - `type?: GeoDate` — Preset format:
100
+ - `full` — Full date and time.
101
+ - `datetime` — Date and time (without seconds).
102
+ - `date` — Date only.
103
+ - `time` — Time only.
104
+ - `year-month`, `year`, `month`, `day`, `day-month`, `hour-minute`.
105
+ - `options?: Intl.DateTimeFormatOptions` — Standard `Intl` parameters (e.g., `month: 'long'`).
106
+ - `hour24?: boolean` — If `true`, forces 24-hour mode.
107
+
108
+ #### 3. Name (`name`)
109
+ Combines full name parts in the correct order.
110
+ - `lastPropName?: string` — Field for the last name (default is `lastName`).
111
+ - `firstPropName?: string` — Field for the first name (default is `firstName`).
112
+ - `surname?: string` — Field for the middle name/surname (default is `surname`).
113
+ - `short?: boolean` — If `true`, outputs the last name and initials (e.g., "Doe J.").
114
+
115
+ #### 4. Number (`number`)
116
+ Standard number formatting with digit separation.
117
+ - `options?: Intl.NumberFormatOptions` — `Intl` parameters (number of decimal places, style, etc.).
118
+
119
+ #### 5. Plural (`plural`)
120
+ Choosing the correct word form depending on the number.
121
+ - `words: string` — Word forms via the `|` separator.
122
+ - For English: `"apple|apples"`.
123
+ - For Russian: `"яблоко|яблока|яблок"`.
124
+ - `options?: Intl.PluralRulesOptions` — Pluralization rule settings.
125
+ - `optionsNumber?: Intl.NumberFormatOptions` — Settings for formatting the number itself that is output before the word.
126
+
127
+ #### 6. Unit (`unit`)
128
+ Adding units of measurement (km, kg, l).
129
+ - `unit: string` — Unit of measurement code (e.g., `'kilometer'`, `'kilogram'`, `'liter'`).
130
+ - `options?: Intl.NumberFormatOptions` — Formatting parameters for the numeric part.
131
+
132
+ ## Examples
133
+
134
+ ### Using Dot Notation
135
+ ```typescript
136
+ const options = {
137
+ 'user.profile.age': { type: 'number' }
138
+ }
139
+ const data = { user: { profile: { age: 25 } } }
140
+ const formatter = new Formatters(options, data)
86
141
 
87
- ```javascript
88
142
  const result = formatter.to()
89
- /*
90
- Result (if array): [
91
- {
92
- id: 101,
93
- price: 100,
94
- currency: 'USD',
95
- priceFormat: '$100.00',
96
- status: 1,
97
- statusFormat: 'Active',
98
- ...
99
- }
100
- ]
101
-
102
- Result (if single item): {
103
- price: 100,
104
- priceFormat: '$100.00',
105
- ...
106
- }
107
- */
143
+ // result.userProfileAgeFormat === "25"
108
144
  ```
109
145
 
110
- ## Retrieval and Data Management
111
-
112
- - `is(): boolean` — Checks if the list/item is set.
113
- - `isArray(): boolean` — Checks if the current data is an array.
114
- - `length(): number` — Returns the count of records in the list.
115
- - `getList(): Item[]` — Returns the current list of data as an array.
116
- - `getOptions(): Options` — Returns the current formatting configuration mapping.
117
- - `setList(list?: List): this` — Updates the data and returns the instance for chaining.
118
-
119
- ## Configuration Structure
120
-
121
- The configuration object passed to the constructor is a map where each key corresponds to a property name in your data. Each value must follow the `FormattersOptionsItem` structure.
122
-
123
- ### Main Item Structure
124
-
146
+ ### Custom Transformation
125
147
  ```typescript
126
- {
127
- // 1. Specify the formatting type
128
- type: 'currency' | 'date' | 'name' | 'number' | 'plural' | 'unit',
129
-
130
- // 2. Pass type-specific parameters here
131
- options: { ... },
132
-
133
- // 3. Or use a custom function (overrides type-specific logic)
134
- transformation: (value, item, options) => string
148
+ const options = {
149
+ status: {
150
+ // Custom function takes precedence over type
151
+ transformation: (value, item) => {
152
+ return value === 'active' ? `✅ ${item.name} is online` : '❌ Offline'
153
+ }
154
+ }
135
155
  }
136
156
  ```
137
-
138
- ## Specific Parameters
139
-
140
- Below are the parameters available within the **`options`** property for each type.
141
-
142
- ### Currency (`currency`)
143
- - `currencyPropName?: string` — Property in the item containing the currency code (defaults to `item.currency`).
144
- - `options?: string | Intl.NumberFormatOptions` — Fixed currency code or full `Intl` options.
145
- - `numberOnly?: boolean` — If `true`, returns only the formatted number without the symbol.
146
-
147
- ### Date (`date`)
148
- - `type?: GeoDate` — Preset type: `full`, `datetime`, `date`, `year-month`, `year`, `month`, `day`, `day-month`, `time`, `hour-minute`, `hour`, `minute`, `second`.
149
- - `options?: Intl.DateTimeFormatOptions['month'] | Intl.DateTimeFormatOptions` — Additional `Intl` date options or month style.
150
- - `hour24?: boolean` — Forces 24-hour format if `true`.
151
-
152
- ### Name (`name`)
153
- - `lastPropName?: string` — Field for last name (default: `lastName`).
154
- - `firstPropName?: string` — Field for first name (default: `firstName`).
155
- - `surname?: string` — Field for surname (default: `surname`).
156
- - `short?: boolean` — Whether to use short format (initials).
157
-
158
- ### Number (`number`)
159
- - `options?: Intl.NumberFormatOptions` — Standard `Intl` number options.
160
-
161
- ### Plural (`plural`)
162
- - `words: string` — Word forms separated by `|` (e.g., `"apple|apples"`).
163
- - `options?: Intl.PluralRulesOptions` — Plural rule settings.
164
- - `optionsNumber?: Intl.NumberFormatOptions` — Formatting for the number itself.
165
-
166
- ### Unit (`unit`)
167
- - `unit: string | Intl.NumberFormatOptions` — The unit to display (e.g., `'kilometer'`, `'kilogram'`).
168
-
@@ -21,8 +21,8 @@ import {Meta} from '@storybook/addon-docs/blocks'
21
21
  ### Ограничения дженериков (Generic Constraints)
22
22
 
23
23
  - `Options extends FormattersOptionsList` — тип параметров форматирования.
24
- - `List extends FormattersList<FormattersListItem> | FormattersListItem` — тип входных данных (массив или один элемент).
25
- - `Item extends (List extends any[] ? List[number] : List)` — тип одного элемента в списке.
24
+ - `List extends FormattersListProp` — тип входных данных (массив или один элемент).
25
+ - `Item extends FormattersItemProp<List>` — тип одного элемента в списке.
26
26
 
27
27
  **Параметры:**
28
28
  - `options: Options` — параметры форматирования для каждого столбца/свойства.
@@ -44,31 +44,17 @@ const options = {
44
44
  user: {
45
45
  type: 'name',
46
46
  options: { lastPropName: 'surname', firstPropName: 'name' }
47
- },
48
- weight: {
49
- type: 'unit',
50
- options: { unit: 'kilogram' }
51
- },
52
- count: {
53
- type: 'plural',
54
- options: { words: 'яблоко|яблока|яблок' }
55
- },
56
- status: {
57
- transformation: (value: number) => value === 1 ? 'Активен' : 'Неактивен'
58
47
  }
59
48
  }
60
49
 
61
- // 2. Исходные данные (может быть массивом или одним объектом)
50
+ // 2. Исходные данные
62
51
  const data = [
63
52
  {
64
53
  price: 100,
65
54
  currency: 'RUB',
66
55
  created: '2024-03-07T12:00:00',
67
56
  name: 'Иван',
68
- surname: 'Иванов',
69
- weight: 75,
70
- count: 5,
71
- status: 1
57
+ surname: 'Иванов'
72
58
  }
73
59
  ]
74
60
 
@@ -76,93 +62,95 @@ const data = [
76
62
  const formatter = new Formatters(options, data)
77
63
  ```
78
64
 
79
- ## Обработка данных
65
+ ## Методы
80
66
 
81
- ### `to`
67
+ ### Обработка
68
+ - `to(): FormattersReturn<List, Options>` — Обрабатывает данные и возвращает результат. Если на вход был массив, возвращает новый массив обогащенных элементов. Если был один элемент — один объект. Добавляет свойства с суффиксом `Format`.
82
69
 
83
- Обрабатывает данные и возвращает результат. Если на вход был передан массив, метод возвращает новый массив обогащенных элементов. Если был один элемент — возвращает один обогащенный элемент.
70
+ ### Настройка
71
+ - `setList(list?: List): this` — Обновляет данные для форматирования. Поддерживает чейнинг.
84
72
 
85
- **Возвращает:** `FormattersListColumns<Item, Options> | FormattersListColumnItem<Item, Options>` — обогащенные данные с дополнительными свойствами `*Format`.
73
+ ### Информация
74
+ - `is(): boolean` — Проверяет, установлены ли данные для обработки.
75
+ - `isArray(): boolean` — Являются ли текущие данные массивом.
76
+ - `length(): number` — Возвращает количество записей в списке.
77
+ - `getList(): FormattersList<Item>` — Возвращает текущий список в виде массива.
78
+ - `getOptions(): Options` — Возвращает текущую конфигурацию форматирования.
79
+
80
+ ## Типы и параметры форматирования
81
+
82
+ Конфигурация `FormattersOptionsList` — это словарь, где ключи соответствуют именам свойств в данных (поддерживается точечная нотация `path.to.prop`), а значения — объекту `FormattersOptionsItem`.
83
+
84
+ ### Общая структура `FormattersOptionsItem`
85
+ - `type?: FormattersType` — Тип форматировщика.
86
+ - `transformation?: (value, item, options) => string` — Кастомная функция преобразования.
87
+ - `options?: Options` — Объект параметров, структура которого зависит от выбранного `type`.
88
+
89
+ ### Подробное описание типов
90
+
91
+ #### 1. Валюта (`currency`)
92
+ Используется для локализованного отображения денежных значений.
93
+ - `currencyPropName?: string` — Имя свойства в элементе, из которого берется код валюты (по умолчанию `currency`).
94
+ - `options?: string | Intl.NumberFormatOptions` — Можно передать фиксированный код (например, `'USD'`) или объект настроек `Intl.NumberFormat`.
95
+ - `numberOnly?: boolean` — Если `true`, возвращает только отформатированное число без символа валюты.
96
+
97
+ #### 2. Дата (`date`)
98
+ Форматирование дат и времени через `GeoIntl`.
99
+ - `type?: GeoDate` — Предустановленный формат:
100
+ - `full` — Полная дата и время.
101
+ - `datetime` — Дата и время (без секунд).
102
+ - `date` — Только дата.
103
+ - `time` — Только время.
104
+ - `year-month`, `year`, `month`, `day`, `day-month`, `hour-minute`.
105
+ - `options?: Intl.DateTimeFormatOptions` — Стандартные параметры `Intl` (например, `month: 'long'`).
106
+ - `hour24?: boolean` — Если `true`, принудительно включает 24-часовой режим.
107
+
108
+ #### 3. Имя (`name`)
109
+ Склеивает ФИО в правильном порядке.
110
+ - `lastPropName?: string` — Поле для фамилии (по умолчанию `lastName`).
111
+ - `firstPropName?: string` — Поле для имени (по умолчанию `firstName`).
112
+ - `surname?: string` — Поле для отчества (по умолчанию `surname`).
113
+ - `short?: boolean` — Если `true`, выводит фамилию и инициалы (например, «Иванов И. И.»).
114
+
115
+ #### 4. Число (`number`)
116
+ Обычное форматирование чисел с разделением разрядов.
117
+ - `options?: Intl.NumberFormatOptions` — Параметры `Intl` (количество знаков после запятой, стиль и т.д.).
118
+
119
+ #### 5. Множественное число (`plural`)
120
+ Выбор правильной формы слова в зависимости от числа.
121
+ - `words: string` — Формы слова через разделитель `|`.
122
+ - Для русского: `"яблоко|яблока|яблок"`.
123
+ - Для английского: `"apple|apples"`.
124
+ - `options?: Intl.PluralRulesOptions` — Настройки правил плюрализации.
125
+ - `optionsNumber?: Intl.NumberFormatOptions` — Настройки форматирования самого числа, которое выводится перед словом.
126
+
127
+ #### 6. Единица измерения (`unit`)
128
+ Добавление единиц измерения (км, кг, л).
129
+ - `unit: string` — Код единицы измерения (например, `'kilometer'`, `'kilogram'`, `'liter'`).
130
+ - `options?: Intl.NumberFormatOptions` — Параметры форматирования числовой части.
131
+
132
+ ## Примеры
133
+
134
+ ### Использование точечной нотации (Dot Notation)
135
+ ```typescript
136
+ const options = {
137
+ 'user.profile.age': { type: 'number' }
138
+ }
139
+ const data = { user: { profile: { age: 25 } } }
140
+ const formatter = new Formatters(options, data)
86
141
 
87
- ```javascript
88
142
  const result = formatter.to()
89
- /*
90
- Результат (если массив): [
91
- {
92
- id: 101,
93
- price: 100,
94
- currency: 'RUB',
95
- priceFormat: '100,00 ₽',
96
- status: 1,
97
- statusFormat: 'Активен',
98
- ...
99
- }
100
- ]
101
-
102
- Результат (если один объект): {
103
- price: 100,
104
- priceFormat: '100,00 ₽',
105
- ...
106
- }
107
- */
143
+ // result.userProfileAgeFormat === "25"
108
144
  ```
109
145
 
110
- ## Получение и управление данными
111
-
112
- - `is(): boolean` — Проверяет, установлен ли список/элемент.
113
- - `isArray(): boolean` — Проверяет, являются ли текущие данные массивом.
114
- - `length(): number` — Возвращает количество записей в списке.
115
- - `getList(): Item[]` — Возвращает текущий список данных в виде массива.
116
- - `getOptions(): Options` — Возвращает текущую карту конфигурации форматирования.
117
- - `setList(list?: List): this` — Обновляет данные для форматирования и возвращает экземпляр класса для цепочки вызовов.
118
-
119
- ## Структура конфигурации
120
-
121
- Объект конфигурации, передаваемый в конструктор, представляет собой карту, где каждый ключ соответствует имени свойства в ваших данных. Каждое значение должно соответствовать структуре `FormattersOptionsItem`.
122
-
123
- ### Основная структура элемента
124
-
146
+ ### Кастомная трансформация
125
147
  ```typescript
126
- {
127
- // 1. Укажите тип форматирования
128
- type: 'currency' | 'date' | 'name' | 'number' | 'plural' | 'unit',
129
-
130
- // 2. Передайте параметры, специфичные для типа, здесь
131
- options: { ... },
132
-
133
- // 3. Или используйте собственную функцию (перекрывает логику типа)
134
- transformation: (value, item, options) => string
148
+ const options = {
149
+ status: {
150
+ // Пользовательская функция имеет приоритет над type
151
+ transformation: (value, item) => {
152
+ return value === 'active' ? `✅ ${item.name} в сети` : '❌ Оффлайн'
153
+ }
154
+ }
135
155
  }
136
156
  ```
137
-
138
- ## Специфичные параметры
139
-
140
- Ниже приведены параметры, доступные внутри свойства **`options`** для каждого типа.
141
-
142
- ### Валюта (`currency`)
143
- - `currencyPropName?: string` — Свойство в элементе, содержащее код валюты (по умолчанию `item.currency`).
144
- - `options?: string | Intl.NumberFormatOptions` — Фиксированный код валюты или полные параметры `Intl`.
145
- - `numberOnly?: boolean` — Если `true`, возвращает только отформатированное число без символа.
146
-
147
- ### Дата (`date`)
148
- - `type?: GeoDate` — Предустановленный тип: `full`, `datetime`, `date`, `year-month`, `year`, `month`, `day`, `day-month`, `time`, `hour-minute`, `hour`, `minute`, `second`.
149
- - `options?: Intl.DateTimeFormatOptions['month'] | Intl.DateTimeFormatOptions` — Дополнительные параметры `Intl` или стиль месяца.
150
- - `hour24?: boolean` — Принудительно использует 24-часовой формат, если `true`.
151
-
152
- ### Имя (`name`)
153
- - `lastPropName?: string` — Поле для фамилии (по умолчанию: `lastName`).
154
- - `firstPropName?: string` — Поле для имени (по умолчанию: `firstName`).
155
- - `surname?: string` — Поле для отчества (по умолчанию: `surname`).
156
- - `short?: boolean` — Использовать ли краткий формат (инициалы).
157
-
158
- ### Число (`number`)
159
- - `options?: Intl.NumberFormatOptions` — Стандартные параметры чисел `Intl`.
160
-
161
- ### Множественное число (`plural`)
162
- - `words: string` — Формы слов, разделенные `|` (например, `"яблоко|яблока|яблок"`).
163
- - `options?: Intl.PluralRulesOptions` — Настройки правил множественного числа.
164
- - `optionsNumber?: Intl.NumberFormatOptions` — Форматирование самого числа.
165
-
166
- ### Единица измерения (`unit`)
167
- - `unit: string | Intl.NumberFormatOptions` — Единица измерения для отображения (например, `'kilometer'`, `'kilogram'`).
168
-