@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
@@ -1,94 +1,86 @@
1
1
  import {Meta} from '@storybook/addon-docs/blocks'
2
2
 
3
- <Meta title='@dxtmisha/en/functional-basic/Classes/CacheItem - Cache Entry Management'/>
3
+ <Meta title='@dxtmisha/en/functional-basic/Classes/CacheItem - Advanced Cache Management'/>
4
4
 
5
5
  # CacheItem Class
6
6
 
7
+ > **⚠️ Deprecated** — This class is obsolete and should not be used. / Этот класс устарел и не рекомендуется к использованию.
8
+
7
9
  The internal engine driving individual cache entries. While `Cache` and `CacheStatic` provide the public interfaces for retrieving cached data across your application, it is the `CacheItem` class that securely manages the lifecycle, storage, and invalidation rules for each specific value.
8
10
 
11
+ > `CacheItem` is an **auxiliary class**, designed for internal management of individual cache entries. In most cases, it is recommended to interact with caching through the `Cache` or `CacheStatic` classes.
12
+
9
13
  ## Key Features
10
14
 
11
- - **Dependency Tracking** — maintains the comparison arrays used to determine if a cached value is still valid.
12
- - **Lazy Evaluation** — guarantees that the expensive callback function only runs when absolutely necessary.
13
- - **Historical Memory** — keeps a reference to the previously cached value (`getCacheOld`) even after recalculation happens.
14
- - **Async Execution** — natively handles both synchronous (`getCache`) and `Promise`-based asynchronous (`getCacheAsync`) data loading.
15
+ - **Dependency Tracking** — maintains comparison arrays used to determine if a cached value remains valid.
16
+ - **Lazy Evaluation** — ensures the expensive callback function only runs when dependencies have changed.
17
+ - **Historical Memory** — keeps a reference to the previously cached value (`getCacheOld`) even after a recalculation occurs.
18
+ - **Async Support** — natively handles both synchronous (`getCache`) and `Promise`-based asynchronous (`getCacheAsync`) data loading.
19
+ - **Strict Invalidation** — uses deep comparison logic to trigger updates only when necessary.
15
20
 
21
+ ## Initialization
16
22
 
17
- You typically do not instantiate `CacheItem` directly in your application code. Instead, you use the `Cache` class, which manages `CacheItem` instances for you. However, understanding its API is helpful for advanced scenarios.
23
+ As an auxiliary component, `CacheItem` is usually instantiated by higher-level managers. However, it can be created manually if custom, isolated caching logic is required.
18
24
 
19
- ## Initialization
25
+ ### Generic Constraints
20
26
 
21
- To initialize the object, call the `CacheItem(callback)` constructor.
27
+ The class supports the following generic to ensure strict typing of the cached value:
28
+ - `T` — The type of the value being cached.
22
29
 
23
30
  **Parameters:**
24
- - `callback: () => T` — a function that will generate data for the cache.
31
+ - `callback: () => T` — a function that will generate or fetch data for the cache.
25
32
 
26
33
  ```typescript
27
- import { CacheItem } from '@dxtmisha/functional'
34
+ import { CacheItem } from '@dxtmisha/functional-basic'
28
35
 
29
36
  // 1. Initialization with a data retrieval function
30
37
  const userCache = new CacheItem(() => fetchUserData())
38
+
39
+ // 2. Using generics for strict typing
40
+ const numberCache = new CacheItem<number>(() => Math.random())
31
41
  ```
32
42
 
33
- ## Cache Retrieval
43
+ ## Methods
34
44
 
35
- ### `getCache`
45
+ ### Cache Access
36
46
 
37
- Use `getCache` to obtain the value. The provided comparison array determines if recalculation is needed.
47
+ - `getCache(comparison?: any[]): T` Retrieves the value from the cache. If the comparison dependencies have changed, it triggers a recalculation.
48
+ - `getCacheAsync(comparison?: any[]): Promise<T>` — Asynchronous version of `getCache`. Returns a Promise that resolves to the cached or newly fetched data.
38
49
 
39
- **Parameters:**
40
- - `comparison?: any[]` — array of dependencies. If they change, the callback is re-evaluated.
50
+ ### History
41
51
 
42
- **Returns:** `T` — the cached or freshly stringified value.
52
+ - `getCacheOld(): T | undefined` — Returns the value that was stored in the cache immediately prior to the last update.
43
53
 
54
+ ## Examples
55
+
56
+ ### Dependency-Based Invalidation
44
57
  ```javascript
45
58
  let count = 0
46
59
  const counterCache = new CacheItem(() => ++count)
47
60
 
48
- // Evaluates and caches 1
49
- counterCache.getCache([1])
50
-
51
- // Returns cached 1 (dependencies match)
52
- counterCache.getCache([1])
53
-
54
- // Dependencies changed to [2], evaluates and caches 2
55
- counterCache.getCache([2])
56
- ```
57
-
58
- ### `getCacheAsync`
61
+ // First call: evaluates and caches 1
62
+ counterCache.getCache([10]) // returns 1
59
63
 
60
- Functions exactly like `getCache`, but handles `Promise` returns.
64
+ // Second call: dependencies match [10], returns cached 1
65
+ counterCache.getCache([10]) // returns 1
61
66
 
62
- **Parameters:**
63
- - `comparison?: any[]` array of dependencies.
67
+ // Third call: dependencies changed to [20], evaluates and caches 2
68
+ counterCache.getCache([20]) // returns 2
64
69
 
65
- **Returns:** `Promise<T>` — the cached or newly fetched promise.
70
+ // Check history:
71
+ console.log(counterCache.getCacheOld()) // returns 1
72
+ ```
66
73
 
74
+ ### Async API Caching
67
75
  ```javascript
68
- const apiCache = new CacheItem(async () => await fetch('/data').then(res => res.json()))
76
+ const apiCache = new CacheItem(async () => {
77
+ const response = await fetch('/api/data')
78
+ return response.json()
79
+ })
69
80
 
70
- // Fetches from the network
81
+ // Fetches from the network for the first 'v1' request
71
82
  const data1 = await apiCache.getCacheAsync(['v1'])
72
83
 
73
- // Returns from cache instantly
84
+ // Returns from cache instantly for subsequent 'v1' requests
74
85
  const data2 = await apiCache.getCacheAsync(['v1'])
75
86
  ```
76
-
77
- ## Historical Data
78
-
79
- ### `getCacheOld`
80
-
81
- If a cache invalidation occurs and new data is fetched, you can retrieve the immediate prior value using `getCacheOld()`.
82
-
83
- **Returns:** `T | undefined` — the previously cached data, if available.
84
-
85
- ```javascript
86
- counterCache.getCache([1]) // Returns 1
87
- counterCache.getCache([2]) // Returns 2
88
-
89
- console.log(counterCache.getCacheOld()) // Returns 1
90
- ```
91
-
92
- ## Internal Overview
93
-
94
- `CacheItem` relies on the internal `isUpdate` method to strictly compare the incoming `comparison` array against the previous one. If they differ in length or strict equality (`===`) of their elements, the cache is flagged as stale and the internal `value` is regenerated.
@@ -1,94 +1,86 @@
1
1
  import {Meta} from '@storybook/addon-docs/blocks'
2
2
 
3
- <Meta title='@dxtmisha/ru/functional-basic/Classes/CacheItem - Управление записью кэша'/>
3
+ <Meta title='@dxtmisha/ru/functional-basic/Classes/CacheItem - Продвинутое Управление Кэшем'/>
4
4
 
5
5
  # Класс CacheItem
6
6
 
7
- Внутренний движок, управляющий отдельными записями кэша. В то время как `Cache` и `CacheStatic` предоставляют публичные интерфейсы для извлечения кэшированных данных в вашем приложении, именно класс `CacheItem` надежно управляет жизненным циклом, хранением и правилами инвалидации конкретного значения.
7
+ > **⚠️ Устарел** Этот класс устарел и не рекомендуется к использованию.
8
8
 
9
- ## Ключевые особенности
9
+ Внутренний механизм, управляющий отдельными записями кэша. В то время как `Cache` и `CacheStatic` предоставляют публичные интерфейсы для работы с глобальным кэшем приложения, именно класс `CacheItem` отвечает за жизненный цикл, хранение и правила инвалидации каждого конкретного значения.
10
10
 
11
- - **Отслеживание зависимостей** поддерживает массивы сравнения, используемые для определения того, действительно ли кэшированное значение.
12
- - **Ленивые вычисления** — гарантирует, что ресурсоемкая функция обратного вызова (callback) запускается только тогда, когда это абсолютно необходимо.
13
- - **Историческая память** — сохраняет ссылку на ранее кэшированное значение (`getCacheOld`) даже после пересчета.
14
- - **Асинхронное выполнение** — нативно обрабатывает как синхронную (`getCache`), так и асинхронную загрузку данных на основе `Promise` (`getCacheAsync`).
11
+ > `CacheItem` является **вспомогательным классом**, предназначенным для внутреннего управления отдельными записями кэша. В большинстве случаев рекомендуется взаимодействовать с кэшированием через классы `Cache` или `CacheStatic`.
15
12
 
13
+ ## Ключевые особенности
16
14
 
17
- Обычно вы не создаете экземпляры `CacheItem` напрямую в коде приложения. Вместо этого вы используете класс `Cache`, который сам управляет экземплярами `CacheItem`. Однако понимание его API полезно для сложных сценариев.
15
+ - **Отслеживание зависимостей** поддерживает массивы сравнения для определения актуальности закэшированного значения.
16
+ - **Ленивые вычисления** — гарантирует, что ресурсоемкая функция (callback) запускается только при изменении зависимостей.
17
+ - **Историческая память** — сохраняет ссылку на предыдущее значение (`getCacheOld`) даже после обновления кэша.
18
+ - **Асинхронная поддержка** — нативная работа как с синхронными (`getCache`), так и с асинхронными (`getCacheAsync`) данными.
19
+ - **Строгая инвалидация** — использует логику глубокого сравнения для минимизации лишних вычислений.
18
20
 
19
21
  ## Инициализация
20
22
 
21
- Для инициализации объекта вызовите конструктор `CacheItem(callback)`.
23
+ Как вспомогательный компонент, `CacheItem` обычно создается менеджерами более высокого уровня. Тем не менее, его можно инициализировать вручную, если требуется кастомная, изолированная логика кэширования.
24
+
25
+ ### Ограничения дженериков (Generic Constraints)
26
+
27
+ Для обеспечения строгой типизации закэшированного значения класс поддерживает следующий дженерик:
28
+ - `T` — Тип данных, хранящихся в кэше.
22
29
 
23
30
  **Параметры:**
24
- - `callback: () => T` — функция, которая будет генерировать данные для кэша.
31
+ - `callback: () => T` — функция, которая генерирует или загружает данные для кэша.
25
32
 
26
33
  ```typescript
27
- import { CacheItem } from '@dxtmisha/functional'
34
+ import { CacheItem } from '@dxtmisha/functional-basic'
28
35
 
29
36
  // 1. Инициализация с функцией получения данных
30
37
  const userCache = new CacheItem(() => fetchUserData())
38
+
39
+ // 2. Использование дженериков для строгой типизации
40
+ const numberCache = new CacheItem<number>(() => Math.random())
31
41
  ```
32
42
 
33
- ## Извлечение кэша
43
+ ## Методы
34
44
 
35
- ### `getCache`
45
+ ### Доступ к кэшу
36
46
 
37
- Используйте `getCache` для получения значения. Предоставленный массив сравнения определяет необходимость пересчета.
47
+ - `getCache(comparison?: any[]): T` Извлекает значение из кэша. Если массив зависимостей `comparison` изменился, запускает пересчет.
48
+ - `getCacheAsync(comparison?: any[]): Promise<T>` — Асинхронная версия `getCache`. Возвращает Promise, который разрешается в закэшированные или новые данные.
38
49
 
39
- **Параметры:**
40
- - `comparison?: any[]` — массив зависимостей. Если они меняются, колбэк вычисляется заново.
50
+ ### История
41
51
 
42
- **Возвращает:** `T` — закэшированное или вычисленное значение.
52
+ - `getCacheOld(): T | undefined` — Возвращает значение, которое хранилось в кэше непосредственно до последнего обновления.
43
53
 
54
+ ## Примеры
55
+
56
+ ### Инвалидация на основе зависимостей
44
57
  ```javascript
45
58
  let count = 0
46
59
  const counterCache = new CacheItem(() => ++count)
47
60
 
48
- // Вычисляет и кэширует 1
49
- counterCache.getCache([1])
50
-
51
- // Возвращает закэшированную 1 (зависимости совпадают)
52
- counterCache.getCache([1])
53
-
54
- // Зависимости изменились на [2], вычисляет и кэширует 2
55
- counterCache.getCache([2])
56
- ```
57
-
58
- ### `getCacheAsync`
61
+ // Первый вызов: вычисляет и кэширует 1
62
+ counterCache.getCache([10]) // возвращает 1
59
63
 
60
- Работает точно так же, как `getCache`, но обрабатывает возврат `Promise`.
64
+ // Второй вызов: зависимости [10] не изменились, возвращает закэшированную 1
65
+ counterCache.getCache([10]) // возвращает 1
61
66
 
62
- **Параметры:**
63
- - `comparison?: any[]` опциональный массив зависимостей.
67
+ // Третий вызов: зависимости изменились на [20], вычисляет и кэширует 2
68
+ counterCache.getCache([20]) // возвращает 2
64
69
 
65
- **Возвращает:** `Promise<T>` — асинхронное значение из кэша.
70
+ // Проверка истории:
71
+ console.log(counterCache.getCacheOld()) // возвращает 1
72
+ ```
66
73
 
74
+ ### Кэширование данных API
67
75
  ```javascript
68
- const apiCache = new CacheItem(async () => await fetch('/data').then(res => res.json()))
76
+ const apiCache = new CacheItem(async () => {
77
+ const response = await fetch('/api/data')
78
+ return response.json()
79
+ })
69
80
 
70
- // Загружает из сети
81
+ // Загружает данные из сети при первом запросе с ключом 'v1'
71
82
  const data1 = await apiCache.getCacheAsync(['v1'])
72
83
 
73
- // Возвращает из кэша мгновенно
84
+ // Возвращает данные мгновенно из кэша для последующих запросов 'v1'
74
85
  const data2 = await apiCache.getCacheAsync(['v1'])
75
86
  ```
76
-
77
- ## Исторические данные
78
-
79
- ### `getCacheOld`
80
-
81
- Если происходит очистка кэша и загружаются новые данные, вы можете извлечь непосредственное предшествующее значение с помощью `getCacheOld()`.
82
-
83
- **Возвращает:** `T | undefined` — предыдущие закэшированные данные.
84
-
85
- ```javascript
86
- counterCache.getCache([1]) // Возвращает 1
87
- counterCache.getCache([2]) // Возвращает 2
88
-
89
- console.log(counterCache.getCacheOld()) // Возвращает 1
90
- ```
91
-
92
- ## Внутреннее устройство
93
-
94
- `CacheItem` опирается на внутренний метод `isUpdate` для строгого сравнения входящего массива `comparison` с предыдущим. Если они отличаются по длине или строгому равенству (`===`) своих элементов, кэш помечается как устаревший, и внутреннее свойство `value` регенерируется.
@@ -1,94 +1,86 @@
1
1
  import {Meta} from '@storybook/addon-docs/blocks'
2
2
 
3
- <Meta title='@dxtmisha/vi/functional-basic/Classes/CacheItem - Quản lý mục lưu trữ bộ nhớ đệm'/>
3
+ <Meta title='@dxtmisha/vi/functional-basic/Classes/CacheItem - Quản lý Bộ nhớ đệm Nâng cao'/>
4
4
 
5
5
  # Lớp CacheItem
6
6
 
7
- Hệ thống cốt lõi (engine) quản độc lập từng mục lưu vào bộ nhớ cache. Trong khi `Cache` `CacheStatic` đóng vai trò là giao diện chung giúp lấy dữ liệu đang hoạt động trên hệ thống ứng dụng, thì `CacheItem` tạo những luồng bảo mật nghiêm ngặt kiểm soát vòng đời trạng thái (lifecycle), nơi lưu giữ biến nhớ, cũng như tính hợp lệ kết thúc vòng tuần hoàn cho từng giá trị được cấu hình cụ thể nhất.
7
+ > **⚠️ Đã lỗi thời** Lớp này đã lỗi thờikhông nên được sử dụng.
8
8
 
9
- ## Các tính năng chính
9
+ Hệ thống cốt lõi quản lý từng mục lưu trữ bộ nhớ đệm (cache) riêng biệt. Trong khi `Cache` và `CacheStatic` cung cấp các giao diện công khai để truy xuất dữ liệu cache trong toàn bộ ứng dụng, thì lớp `CacheItem` đảm nhận việc quản lý an toàn vòng đời, lưu trữ và các quy tắc vô hiệu hóa (invalidation) cho từng giá trị cụ thể.
10
10
 
11
- - **Trình theo dõi bộ phụ thuộc (Dependency Tracking)** duy trì mảng so sánh dùng làm gốc để tính toán nếu biến dữ liệu lưu trữ bị phát hiện tính hiệu/biến đổi sai lệch so với lần cuối lưu.
12
- - **Tính toán tuần tự (Lazy Evaluation)** — thực hiện nguyên lý tối giản tài nguyên: chỉ chạy lại quy trình tìm nạp từ đầu ở đoạn function nếu mảng lưu trữ đang bị lỗi thời hỏng cấu trúc.
13
- - **Lưu trữ ghi nhớ bộ đệm cũ (Historical Memory)** — vẫn giữ dữ liệu thuộc vùng cache cũ (`getCacheOld`) kể cả khi chức năng ghi đè/tỉnh toán lại đã hoàn tất.
14
- - **Thực thi Async** — hỗ trợ hoàn hảo phương pháp đồng bộ (`getCache`) và bất đồng bộ chạy kèm logic `Promise` (`getCacheAsync`) ở tiến trình nạp mảng dữ liệu.
11
+ > `CacheItem` một **lớp phụ trợ**, được thiết kế để quản nội bộ các mục lưu trữ bộ nhớ đệm riêng lẻ. Trong hầu hết các trường hợp, bạn nên tương tác với bộ nhớ đệm thông qua các lớp `Cache` hoặc `CacheStatic`.
15
12
 
13
+ ## Các tính năng chính
16
14
 
17
- Bạn thường không trực tiếp gọi/khởi tạo Class `CacheItem` trong ứng dụng của mình. Thay vào đó, bạn sử dụng `Cache` và class đó tự động bao đóng `CacheItem` ở định dạng nội bộ cho bạn. vậy, việc hiểu các hàm API từ gốc cũng hữu ích trong việc xây dựng kiến trúc nền nâng cao.
15
+ - **Theo dõi phụ thuộc** duy trì các mảng so sánh để xác định xem giá trị được lưu trong bộ nhớ đệm còn hiệu lực hay không.
16
+ - **Tính toán lười (Lazy Evaluation)** — đảm bảo rằng hàm callback (vốn có thể tốn kém tài nguyên) chỉ chạy khi các thành phần phụ thuộc thực sự thay đổi.
17
+ - **Bộ nhớ lịch sử** — giữ lại tham chiếu đến giá trị đã lưu trước đó (`getCacheOld`) ngay cả khi quá trình tính toán lại đã diễn ra.
18
+ - **Hỗ trợ Async** — xử lý tự nhiên cả việc nạp dữ liệu đồng bộ (`getCache`) và bất đồng bộ dựa trên `Promise` (`getCacheAsync`).
19
+ - **Vô hiệu hóa nghiêm ngặt** — sử dụng logic so sánh sâu để chỉ kích hoạt cập nhật khi thực sự cần thiết.
18
20
 
19
21
  ## Khởi tạo
20
22
 
21
- Để khởi tạo đối tượng, hãy gọi hàm khởi tạo `CacheItem(callback)`.
23
+ một thành phần phụ trợ, `CacheItem` thường được khởi tạo bởi các trình quản lý cấp cao hơn. Tuy nhiên, thể được tạo thủ công nếu yêu cầu logic lưu trữ bộ nhớ đệm riêng biệt và tùy chỉnh.
24
+
25
+ ### Ràng buộc Generic (Generic Constraints)
26
+
27
+ Lớp hỗ trợ generic sau để đảm bảo kiểm soát kiểu dữ liệu nghiêm ngặt cho giá trị được lưu:
28
+ - `T` — Kiểu dữ liệu của giá trị được lưu trong bộ nhớ đệm.
22
29
 
23
30
  **Tham số:**
24
- - `callback: () => T` — hàm sẽ tạo dữ liệu cho bộ nhớ đệm.
31
+ - `callback: () => T` — một hàm sẽ tạo hoặc lấy dữ liệu cho bộ nhớ đệm.
25
32
 
26
33
  ```typescript
27
- import { CacheItem } from '@dxtmisha/functional'
34
+ import { CacheItem } from '@dxtmisha/functional-basic'
28
35
 
29
- // 1. Khởi tạo với hàm lấy dữ liệu
36
+ // 1. Khởi tạo với một hàm truy xuất dữ liệu
30
37
  const userCache = new CacheItem(() => fetchUserData())
38
+
39
+ // 2. Sử dụng generic để kiểm soát kiểu dữ liệu nghiêm ngặt
40
+ const numberCache = new CacheItem<number>(() => Math.random())
31
41
  ```
32
42
 
33
- ## Lấy dữ liệu bộ nhớ đệm
43
+ ## Các phương thức
34
44
 
35
- ### `getCache`
45
+ ### Truy cập Bộ nhớ đệm
36
46
 
37
- Dùng `getCache` để móc nối lấy lại biến lưu trữ. Thiết lập cấu hình biến mảng đi kèm đóng vai trò so sánh mức độ trùng khớp cho tiến trình phân giải.
47
+ - `getCache(comparison?: any[]): T` Lấy giá trị từ bộ nhớ đệm. Nếu các thành phần phụ thuộc trong mảng `comparison` thay đổi, sẽ kích hoạt tính toán lại.
48
+ - `getCacheAsync(comparison?: any[]): Promise<T>` — Phiên bản bất đồng bộ của `getCache`. Trả về một Promise giải quyết thành dữ liệu đã lưu hoặc dữ liệu mới được lấy về.
38
49
 
39
- **Tham số:**
40
- - `comparison?: any[]` — danh sách các đối tượng thiết lập kèm. Nếu thông tin bị sai với lúc lưu lại thì callback tự động phân tách cấu trúc tính toán lần nữa.
50
+ ### Lịch sử
41
51
 
42
- **Trả về:** `T` — dữ liệu nguyên mẫu.
52
+ - `getCacheOld(): T | undefined` — Trả về giá trị đã được lưu trong bộ nhớ đệm ngay trước lần cập nhật cuối cùng.
43
53
 
54
+ ## Ví dụ
55
+
56
+ ### Vô hiệu hóa dựa trên phụ thuộc
44
57
  ```javascript
45
58
  let count = 0
46
59
  const counterCache = new CacheItem(() => ++count)
47
60
 
48
- // Hàm đánh giá gọi: 1
49
- counterCache.getCache([1])
50
-
51
- // Tìm ngay cache nhận dạng lưu: 1
52
- counterCache.getCache([1])
53
-
54
- // Tham số gắn kết biến đổi qua [2], xoá cache khởi động và lưu kết quả: 2
55
- counterCache.getCache([2])
56
- ```
57
-
58
- ### `getCacheAsync`
61
+ // Gọi lần đầu: tính toán và lưu cache giá trị 1
62
+ counterCache.getCache([10]) // trả về 1
59
63
 
60
- Mọi thông số giống với cách thiết lập làm việc của `getCache`, nhưng hệ thống tiếp nhận biến `Promise` trả ra khi cần.
64
+ // Gọi lần hai: các thành phần phụ thuộc khớp với [10], trả về giá trị 1 đã lưu
65
+ counterCache.getCache([10]) // trả về 1
61
66
 
62
- **Tham số:**
63
- - `comparison?: any[]` mảng phụ thuộc.
67
+ // Gọi lần ba: các thành phần phụ thuộc thay đổi thành [20], tính toán và lưu cache giá trị 2
68
+ counterCache.getCache([20]) // trả về 2
64
69
 
65
- **Trả về:** `Promise<T>` dữ liệu `Promise` được tạo kết nối mạng.
70
+ // Kiểm tra lịch sử:
71
+ console.log(counterCache.getCacheOld()) // trả về 1
72
+ ```
66
73
 
74
+ ### Cấu hình Cache cho API Async
67
75
  ```javascript
68
- const apiCache = new CacheItem(async () => await fetch('/data').then(res => res.json()))
76
+ const apiCache = new CacheItem(async () => {
77
+ const response = await fetch('/api/data')
78
+ return response.json()
79
+ })
69
80
 
70
- // Chạy mạng network để tải API thông tin
81
+ // Lấy dữ liệu từ mạng cho yêu cầu 'v1' đầu tiên
71
82
  const data1 = await apiCache.getCacheAsync(['v1'])
72
83
 
73
- // Vượt lớp mạng trỏ thẳng đến bộ đệm lưu trữ
84
+ // Trả về từ bộ nhớ đệm ngay lập tức cho các yêu cầu 'v1' tiếp theo
74
85
  const data2 = await apiCache.getCacheAsync(['v1'])
75
86
  ```
76
-
77
- ## Dữ liệu lịch sử
78
-
79
- ### `getCacheOld`
80
-
81
- Hàm phụ lấy lại biến thuộc nhóm ghi đè trước lần cuối tái tạo cache data, thông qua lệnh gọi `getCacheOld()`.
82
-
83
- **Trả về:** `T | undefined` — biến định danh cũ nhất.
84
-
85
- ```javascript
86
- counterCache.getCache([1]) // Trả 1
87
- counterCache.getCache([2]) // Trả 2
88
-
89
- console.log(counterCache.getCacheOld()) // Trả 1
90
- ```
91
-
92
- ## Tổng quan nội bộ
93
-
94
- `CacheItem` hoạt động chặt qua module `isUpdate` tiến hành phân giải và đánh dấu (`===`) xem giá trị từ array đầu vào của thuộc tính biến tham chiếu `comparison` với độ tin cậy được thiết lập từ mảng cũ đã giống về độ dài cấu trúc hoặc số chiều trong node hay không. Chỉ cần một giá trị khác với biến ban đầu thì `CacheItem` đánh dấu mảng thành cấu trúc chết (stale/hỏng) để tạo tiến trình đẩy `value` tính lại toàn bộ.
@@ -4,6 +4,8 @@ import {Meta} from '@storybook/addon-docs/blocks'
4
4
 
5
5
  # CacheStatic Class
6
6
 
7
+ > **⚠️ Deprecated** — This class is obsolete and should not be used. / Этот класс устарел и не рекомендуется к использованию.
8
+
7
9
  A wrapper class providing a globally accessible, static cache instance. It allows you to perform fast caching operations anywhere during code execution without needing to instantiate or pass around a dedicated `Cache` object.
8
10
 
9
11
  ## Key Features
@@ -47,7 +49,17 @@ function calculateHeavyData(id) {
47
49
  const res1 = calculateHeavyData(5)
48
50
 
49
51
  // File B.js
50
- // Same function, same id. It hits the global cache.
51
52
  // Will NOT log 'Calculating...', instantly returns 500
52
53
  const res2 = calculateHeavyData(5)
53
54
  ```
55
+
56
+ ### `getAsync`
57
+
58
+ Asynchronous version of the `get()` method. Useful when the callback function returns a `Promise`.
59
+
60
+ **Parameters:**
61
+ - `name: string` — a unique identifier for the specific global cache entry.
62
+ - `callback: () => Promise<T> | T` — the asynchronous function that computes the value.
63
+ - `comparison?: any[]` — optional array of dependencies. Passing a new array (where values or length differ) invalidates the cache and forces a recalculation.
64
+
65
+ **Returns:** `Promise<T>` — a promise that resolves to the cached or computed value.
@@ -4,6 +4,8 @@ import {Meta} from '@storybook/addon-docs/blocks'
4
4
 
5
5
  # Класс CacheStatic
6
6
 
7
+ > **⚠️ Устарел** — Этот класс устарел и не рекомендуется к использованию.
8
+
7
9
  Класс-обертка, предоставляющий глобально доступный статический экземпляр кэша. Он позволяет выполнять операции быстрого кэширования в любом месте во время выполнения кода без необходимости создавать экземпляр или передавать объект `Cache`.
8
10
 
9
11
  ## Ключевые особенности
@@ -47,7 +49,17 @@ function calculateHeavyData(id) {
47
49
  const res1 = calculateHeavyData(5)
48
50
 
49
51
  // Файл B.js
50
- // Та же функция, тот же id. Попадает в глобальный кэш.
51
52
  // НЕ будет выводить 'Вычисляем...', мгновенно вернет 500
52
53
  const res2 = calculateHeavyData(5)
53
54
  ```
55
+
56
+ ### `getAsync`
57
+
58
+ Асинхронная версия метода `get()`. Полезна, когда функция обратного вызова возвращает `Promise`.
59
+
60
+ **Параметры:**
61
+ - `name: string` — уникальный идентификатор для вашей записи в глобальном кэше.
62
+ - `callback: () => Promise<T> | T` — асинхронная функция, которая вычисляет значение.
63
+ - `comparison?: any[]` — опциональный массив зависимостей. Передача нового массива (где значения или длина отличаются) очищает кэш и вызывает пересчет.
64
+
65
+ **Возвращает:** `Promise<T>` — промис, который разрешается в кэшированное или вычисленное значение.
@@ -4,6 +4,8 @@ import {Meta} from '@storybook/addon-docs/blocks'
4
4
 
5
5
  # Lớp CacheStatic
6
6
 
7
+ > **⚠️ Đã lỗi thời** — Lớp này đã lỗi thời và không nên được sử dụng.
8
+
7
9
  Một lớp định dạng lớp bọc ngoài (wrapper class) đóng vai trò xây dựng lớp giao tiếp toàn cục sử dụng bộ nhớ cache tĩnh (static cache instance). Với `CacheStatic`, cơ chế hoạt động giúp bộ nhớ có tính linh hoạt xuyên suốt đoạn code ở mọi nơi trong phân lớp code được thực thi, thay thế và loại bỏ hoàn toàn quá trình tạo đối tượng object `Cache` chuyên biệt như cấu trúc gốc.
8
10
 
9
11
  ## Các tính năng chính
@@ -51,3 +53,14 @@ const res1 = calculateHeavyData(5)
51
53
  // Không thực thi lại callback 'Calculating...', kết xuất liền giá trị 500.
52
54
  const res2 = calculateHeavyData(5)
53
55
  ```
56
+
57
+ ### `getAsync`
58
+
59
+ Phiên bản bất đồng bộ của phương thức `get()`. Hữu ích khi hàm callback trả về một `Promise`.
60
+
61
+ **Tham số:**
62
+ - `name: string` — định danh duy nhất cho mục nhập cache toàn cục cụ thể.
63
+ - `callback: () => Promise<T> | T` — hàm bất đồng bộ thực hiện tính toán giá trị.
64
+ - `comparison?: any[]` — mảng phụ thuộc tùy chọn. Việc truyền một mảng mới (nơi các giá trị hoặc độ dài khác nhau) sẽ vô hiệu hóa bộ nhớ đệm và buộc tính toán lại.
65
+
66
+ **Trả về:** `Promise<T>` — một promise trả về giá trị đã lưu trong bộ nhớ đệm hoặc giá trị vừa được tính toán.