inray 0.0.2 → 0.0.4

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 (257) hide show
  1. package/LICENSE.md +1 -0
  2. package/README.md +220 -36
  3. package/dist/async/abortable.d.ts +2 -2
  4. package/dist/async/abortable.d.ts.map +1 -1
  5. package/dist/async/abortable.js.map +1 -1
  6. package/dist/caching/mod.d.ts +2 -0
  7. package/dist/caching/mod.d.ts.map +1 -0
  8. package/dist/caching/mod.js +2 -0
  9. package/dist/caching/mod.js.map +1 -0
  10. package/dist/caching/src/cache.d.ts +89 -0
  11. package/dist/caching/src/cache.d.ts.map +1 -0
  12. package/dist/caching/src/cache.js +309 -0
  13. package/dist/caching/src/cache.js.map +1 -0
  14. package/dist/caching/src/hashing/cache.d.ts +92 -0
  15. package/dist/caching/src/hashing/cache.d.ts.map +1 -0
  16. package/dist/caching/src/hashing/cache.js +119 -0
  17. package/dist/caching/src/hashing/cache.js.map +1 -0
  18. package/dist/caching/src/hashing/hooks/eventified.d.ts +157 -0
  19. package/dist/caching/src/hashing/hooks/eventified.d.ts.map +1 -0
  20. package/dist/caching/src/hashing/hooks/eventified.js +333 -0
  21. package/dist/caching/src/hashing/hooks/eventified.js.map +1 -0
  22. package/dist/caching/src/hashing/hooks/index.d.ts +199 -0
  23. package/dist/caching/src/hashing/hooks/index.d.ts.map +1 -0
  24. package/dist/caching/src/hashing/hooks/index.js +383 -0
  25. package/dist/caching/src/hashing/hooks/index.js.map +1 -0
  26. package/dist/caching/src/hashing/hooks/types.d.ts +217 -0
  27. package/dist/caching/src/hashing/hooks/types.d.ts.map +1 -0
  28. package/dist/caching/src/hashing/hooks/types.js +10 -0
  29. package/dist/caching/src/hashing/hooks/types.js.map +1 -0
  30. package/dist/caching/src/hashing/index.d.ts +236 -0
  31. package/dist/caching/src/hashing/index.d.ts.map +1 -0
  32. package/dist/caching/src/hashing/index.js +447 -0
  33. package/dist/caching/src/hashing/index.js.map +1 -0
  34. package/dist/caching/src/hashing/providers/crc.d.ts +15 -0
  35. package/dist/caching/src/hashing/providers/crc.d.ts.map +1 -0
  36. package/dist/caching/src/hashing/providers/crc.js +49 -0
  37. package/dist/caching/src/hashing/providers/crc.js.map +1 -0
  38. package/dist/caching/src/hashing/providers/crypto.d.ts +19 -0
  39. package/dist/caching/src/hashing/providers/crypto.d.ts.map +1 -0
  40. package/dist/caching/src/hashing/providers/crypto.js +28 -0
  41. package/dist/caching/src/hashing/providers/crypto.js.map +1 -0
  42. package/dist/caching/src/hashing/providers/djb2.d.ts +60 -0
  43. package/dist/caching/src/hashing/providers/djb2.d.ts.map +1 -0
  44. package/dist/caching/src/hashing/providers/djb2.js +92 -0
  45. package/dist/caching/src/hashing/providers/djb2.js.map +1 -0
  46. package/dist/caching/src/hashing/providers/fnv1.d.ts +33 -0
  47. package/dist/caching/src/hashing/providers/fnv1.d.ts.map +1 -0
  48. package/dist/caching/src/hashing/providers/fnv1.js +68 -0
  49. package/dist/caching/src/hashing/providers/fnv1.js.map +1 -0
  50. package/dist/caching/src/hashing/providers/murmur.d.ts +81 -0
  51. package/dist/caching/src/hashing/providers/murmur.d.ts.map +1 -0
  52. package/dist/caching/src/hashing/providers/murmur.js +173 -0
  53. package/dist/caching/src/hashing/providers/murmur.js.map +1 -0
  54. package/dist/caching/src/hashing/providers.d.ts +126 -0
  55. package/dist/caching/src/hashing/providers.d.ts.map +1 -0
  56. package/dist/caching/src/hashing/providers.js +163 -0
  57. package/dist/caching/src/hashing/providers.js.map +1 -0
  58. package/dist/caching/src/hashing/types.d.ts +340 -0
  59. package/dist/caching/src/hashing/types.d.ts.map +1 -0
  60. package/dist/caching/src/hashing/types.js +10 -0
  61. package/dist/caching/src/hashing/types.js.map +1 -0
  62. package/dist/caching/src/keyValue/capabilities.d.ts +161 -0
  63. package/dist/caching/src/keyValue/capabilities.d.ts.map +1 -0
  64. package/dist/caching/src/keyValue/capabilities.js +334 -0
  65. package/dist/caching/src/keyValue/capabilities.js.map +1 -0
  66. package/dist/caching/src/keyValue/event-manager.d.ts +27 -0
  67. package/dist/caching/src/keyValue/event-manager.d.ts.map +1 -0
  68. package/dist/caching/src/keyValue/event-manager.js +88 -0
  69. package/dist/caching/src/keyValue/event-manager.js.map +1 -0
  70. package/dist/caching/src/keyValue/generic-store.d.ts +243 -0
  71. package/dist/caching/src/keyValue/generic-store.d.ts.map +1 -0
  72. package/dist/caching/src/keyValue/generic-store.js +295 -0
  73. package/dist/caching/src/keyValue/generic-store.js.map +1 -0
  74. package/dist/caching/src/keyValue/hooks-manager.d.ts +21 -0
  75. package/dist/caching/src/keyValue/hooks-manager.d.ts.map +1 -0
  76. package/dist/caching/src/keyValue/hooks-manager.js +59 -0
  77. package/dist/caching/src/keyValue/hooks-manager.js.map +1 -0
  78. package/dist/caching/src/keyValue/index.d.ts +334 -0
  79. package/dist/caching/src/keyValue/index.d.ts.map +1 -0
  80. package/dist/caching/src/keyValue/index.js +796 -0
  81. package/dist/caching/src/keyValue/index.js.map +1 -0
  82. package/dist/caching/src/keyValue/serialize/serialize.d.ts +12 -0
  83. package/dist/caching/src/keyValue/serialize/serialize.d.ts.map +1 -0
  84. package/dist/caching/src/keyValue/serialize/serialize.js +64 -0
  85. package/dist/caching/src/keyValue/serialize/serialize.js.map +1 -0
  86. package/dist/caching/src/keyValue/stats-manager.d.ts +27 -0
  87. package/dist/caching/src/keyValue/stats-manager.d.ts.map +1 -0
  88. package/dist/caching/src/keyValue/stats-manager.js +64 -0
  89. package/dist/caching/src/keyValue/stats-manager.js.map +1 -0
  90. package/dist/caching/src/keyValue/types.d.ts +22 -0
  91. package/dist/caching/src/keyValue/types.d.ts.map +1 -0
  92. package/dist/caching/src/keyValue/types.js +11 -0
  93. package/dist/caching/src/keyValue/types.js.map +1 -0
  94. package/dist/caching/src/keyv-adapter.d.ts +40 -0
  95. package/dist/caching/src/keyv-adapter.d.ts.map +1 -0
  96. package/dist/caching/src/keyv-adapter.js +56 -0
  97. package/dist/caching/src/keyv-adapter.js.map +1 -0
  98. package/dist/caching/src/utils/cache-tags.d.ts +275 -0
  99. package/dist/caching/src/utils/cache-tags.d.ts.map +1 -0
  100. package/dist/caching/src/utils/cache-tags.js +407 -0
  101. package/dist/caching/src/utils/cache-tags.js.map +1 -0
  102. package/dist/caching/src/utils/cacheable-item-types.d.ts +35 -0
  103. package/dist/caching/src/utils/cacheable-item-types.d.ts.map +1 -0
  104. package/dist/caching/src/utils/cacheable-item-types.js +10 -0
  105. package/dist/caching/src/utils/cacheable-item-types.js.map +1 -0
  106. package/dist/caching/src/utils/coalesce-async.d.ts +29 -0
  107. package/dist/caching/src/utils/coalesce-async.d.ts.map +1 -0
  108. package/dist/caching/src/utils/coalesce-async.js +88 -0
  109. package/dist/caching/src/utils/coalesce-async.js.map +1 -0
  110. package/dist/caching/src/utils/hash.d.ts +55 -0
  111. package/dist/caching/src/utils/hash.d.ts.map +1 -0
  112. package/dist/caching/src/utils/hash.js +116 -0
  113. package/dist/caching/src/utils/hash.js.map +1 -0
  114. package/dist/caching/src/utils/index.d.ts +24 -0
  115. package/dist/caching/src/utils/index.d.ts.map +1 -0
  116. package/dist/caching/src/utils/index.js +21 -0
  117. package/dist/caching/src/utils/index.js.map +1 -0
  118. package/dist/caching/src/utils/is-keyv-instance.d.ts +10 -0
  119. package/dist/caching/src/utils/is-keyv-instance.d.ts.map +1 -0
  120. package/dist/caching/src/utils/is-keyv-instance.js +37 -0
  121. package/dist/caching/src/utils/is-keyv-instance.js.map +1 -0
  122. package/dist/caching/src/utils/is-object.d.ts +10 -0
  123. package/dist/caching/src/utils/is-object.d.ts.map +1 -0
  124. package/dist/caching/src/utils/is-object.js +13 -0
  125. package/dist/caching/src/utils/is-object.js.map +1 -0
  126. package/dist/caching/src/utils/less-than.d.ts +10 -0
  127. package/dist/caching/src/utils/less-than.d.ts.map +1 -0
  128. package/dist/caching/src/utils/less-than.js +13 -0
  129. package/dist/caching/src/utils/less-than.js.map +1 -0
  130. package/dist/caching/src/utils/memoize.d.ts +107 -0
  131. package/dist/caching/src/utils/memoize.d.ts.map +1 -0
  132. package/dist/caching/src/utils/memoize.js +201 -0
  133. package/dist/caching/src/utils/memoize.js.map +1 -0
  134. package/dist/caching/src/utils/mock-cacheable.d.ts +28 -0
  135. package/dist/caching/src/utils/mock-cacheable.d.ts.map +1 -0
  136. package/dist/caching/src/utils/mock-cacheable.js +87 -0
  137. package/dist/caching/src/utils/mock-cacheable.js.map +1 -0
  138. package/dist/caching/src/utils/run-if-fn.d.ts +12 -0
  139. package/dist/caching/src/utils/run-if-fn.d.ts.map +1 -0
  140. package/dist/caching/src/utils/run-if-fn.js +12 -0
  141. package/dist/caching/src/utils/run-if-fn.js.map +1 -0
  142. package/dist/caching/src/utils/shorthand-time.d.ts +27 -0
  143. package/dist/caching/src/utils/shorthand-time.d.ts.map +1 -0
  144. package/dist/caching/src/utils/shorthand-time.js +96 -0
  145. package/dist/caching/src/utils/shorthand-time.js.map +1 -0
  146. package/dist/caching/src/utils/sleep.d.ts +10 -0
  147. package/dist/caching/src/utils/sleep.d.ts.map +1 -0
  148. package/dist/caching/src/utils/sleep.js +11 -0
  149. package/dist/caching/src/utils/sleep.js.map +1 -0
  150. package/dist/caching/src/utils/stats.d.ts +354 -0
  151. package/dist/caching/src/utils/stats.d.ts.map +1 -0
  152. package/dist/caching/src/utils/stats.js +593 -0
  153. package/dist/caching/src/utils/stats.js.map +1 -0
  154. package/dist/caching/src/utils/ttl.d.ts +58 -0
  155. package/dist/caching/src/utils/ttl.d.ts.map +1 -0
  156. package/dist/caching/src/utils/ttl.js +77 -0
  157. package/dist/caching/src/utils/ttl.js.map +1 -0
  158. package/dist/logtape/logtape/level.d.ts +1 -2
  159. package/dist/logtape/logtape/level.d.ts.map +1 -1
  160. package/dist/logtape/logtape/level.js +1 -1
  161. package/dist/logtape/logtape/level.js.map +1 -1
  162. package/dist/logtape/logtape/mod.d.ts +1 -1
  163. package/dist/logtape/logtape/mod.d.ts.map +1 -1
  164. package/dist/logtape/logtape/mod.js +1 -1
  165. package/dist/logtape/logtape/mod.js.map +1 -1
  166. package/dist/utils/mod.d.ts +1 -1
  167. package/dist/utils/mod.d.ts.map +1 -1
  168. package/dist/utils/mod.js.map +1 -1
  169. package/dist/utils/validation/inRangeOfMaxInt32.d.ts +2 -0
  170. package/dist/utils/validation/inRangeOfMaxInt32.d.ts.map +1 -0
  171. package/dist/utils/validation/inRangeOfMaxInt32.js +4 -0
  172. package/dist/utils/validation/inRangeOfMaxInt32.js.map +1 -0
  173. package/dist/utils/validation/isEmail.d.ts +2 -0
  174. package/dist/utils/validation/isEmail.d.ts.map +1 -0
  175. package/dist/utils/validation/isEmail.js +7 -0
  176. package/dist/utils/validation/isEmail.js.map +1 -0
  177. package/dist/utils/validation/isEmptyObject.d.ts +9 -0
  178. package/dist/utils/validation/isEmptyObject.d.ts.map +1 -0
  179. package/dist/utils/validation/isEmptyObject.js +16 -0
  180. package/dist/utils/validation/isEmptyObject.js.map +1 -0
  181. package/dist/utils/validation/isNotEmptyString.d.ts +7 -0
  182. package/dist/utils/validation/isNotEmptyString.d.ts.map +1 -0
  183. package/dist/utils/validation/isNotEmptyString.js +17 -0
  184. package/dist/utils/validation/isNotEmptyString.js.map +1 -0
  185. package/dist/utils/validation/isPositiveInteger.d.ts +2 -0
  186. package/dist/utils/validation/isPositiveInteger.d.ts.map +1 -0
  187. package/dist/utils/validation/isPositiveInteger.js +7 -0
  188. package/dist/utils/validation/isPositiveInteger.js.map +1 -0
  189. package/dist/utils/validation/isUuid.d.ts +2 -0
  190. package/dist/utils/validation/isUuid.d.ts.map +1 -0
  191. package/dist/utils/validation/isUuid.js +7 -0
  192. package/dist/utils/validation/isUuid.js.map +1 -0
  193. package/dist/utils/validation/isUuidArray.d.ts +2 -0
  194. package/dist/utils/validation/isUuidArray.d.ts.map +1 -0
  195. package/dist/utils/validation/isUuidArray.js +7 -0
  196. package/dist/utils/validation/isUuidArray.js.map +1 -0
  197. package/dist/utils/validation/isValidFileName.d.ts +2 -0
  198. package/dist/utils/validation/isValidFileName.d.ts.map +1 -0
  199. package/dist/utils/validation/isValidFileName.js +33 -0
  200. package/dist/utils/validation/isValidFileName.js.map +1 -0
  201. package/dist/utils/validation/isValidUrlLike.d.ts +6 -0
  202. package/dist/utils/validation/isValidUrlLike.d.ts.map +1 -0
  203. package/dist/utils/validation/isValidUrlLike.js +8 -0
  204. package/dist/utils/validation/isValidUrlLike.js.map +1 -0
  205. package/dist/utils/validation/mod.d.ts +21 -0
  206. package/dist/utils/validation/mod.d.ts.map +1 -0
  207. package/dist/utils/validation/mod.js +21 -0
  208. package/dist/utils/validation/mod.js.map +1 -0
  209. package/dist/utils/validation/vEnvBoolean.d.ts +3 -0
  210. package/dist/utils/validation/vEnvBoolean.d.ts.map +1 -0
  211. package/dist/utils/validation/vEnvBoolean.js +5 -0
  212. package/dist/utils/validation/vEnvBoolean.js.map +1 -0
  213. package/dist/utils/validation/vEnvBooleanOrUndefined.d.ts +3 -0
  214. package/dist/utils/validation/vEnvBooleanOrUndefined.d.ts.map +1 -0
  215. package/dist/utils/validation/vEnvBooleanOrUndefined.js +5 -0
  216. package/dist/utils/validation/vEnvBooleanOrUndefined.js.map +1 -0
  217. package/dist/utils/validation/vEnvLogLevel.d.ts +4 -0
  218. package/dist/utils/validation/vEnvLogLevel.d.ts.map +1 -0
  219. package/dist/utils/validation/vEnvLogLevel.js +6 -0
  220. package/dist/utils/validation/vEnvLogLevel.js.map +1 -0
  221. package/dist/utils/validation/vFileName.d.ts +4 -0
  222. package/dist/utils/validation/vFileName.d.ts.map +1 -0
  223. package/dist/utils/validation/vFileName.js +21 -0
  224. package/dist/utils/validation/vFileName.js.map +1 -0
  225. package/dist/utils/validation/vISO8601DateTime.d.ts +5 -0
  226. package/dist/utils/validation/vISO8601DateTime.d.ts.map +1 -0
  227. package/dist/utils/validation/vISO8601DateTime.js +37 -0
  228. package/dist/utils/validation/vISO8601DateTime.js.map +1 -0
  229. package/dist/utils/validation/vLatinInput.d.ts +3 -0
  230. package/dist/utils/validation/vLatinInput.d.ts.map +1 -0
  231. package/dist/utils/validation/vLatinInput.js +3 -0
  232. package/dist/utils/validation/vLatinInput.js.map +1 -0
  233. package/dist/utils/validation/vOmniBoolean.d.ts +3 -0
  234. package/dist/utils/validation/vOmniBoolean.d.ts.map +1 -0
  235. package/dist/utils/validation/vOmniBoolean.js +10 -0
  236. package/dist/utils/validation/vOmniBoolean.js.map +1 -0
  237. package/dist/utils/validation/vQueryBoolean.d.ts +3 -0
  238. package/dist/utils/validation/vQueryBoolean.d.ts.map +1 -0
  239. package/dist/utils/validation/vQueryBoolean.js +7 -0
  240. package/dist/utils/validation/vQueryBoolean.js.map +1 -0
  241. package/dist/utils/validation/vQueryEmailArray.d.ts +9 -0
  242. package/dist/utils/validation/vQueryEmailArray.d.ts.map +1 -0
  243. package/dist/utils/validation/vQueryEmailArray.js +29 -0
  244. package/dist/utils/validation/vQueryEmailArray.js.map +1 -0
  245. package/dist/utils/validation/vQueryNumberArray.d.ts +10 -0
  246. package/dist/utils/validation/vQueryNumberArray.d.ts.map +1 -0
  247. package/dist/utils/validation/vQueryNumberArray.js +32 -0
  248. package/dist/utils/validation/vQueryNumberArray.js.map +1 -0
  249. package/dist/utils/validation/vQueryStringifiedEnumArray.d.ts +3 -0
  250. package/dist/utils/validation/vQueryStringifiedEnumArray.d.ts.map +1 -0
  251. package/dist/utils/validation/vQueryStringifiedEnumArray.js +25 -0
  252. package/dist/utils/validation/vQueryStringifiedEnumArray.js.map +1 -0
  253. package/dist/utils/validation/vQueryUuidArray.d.ts +9 -0
  254. package/dist/utils/validation/vQueryUuidArray.d.ts.map +1 -0
  255. package/dist/utils/validation/vQueryUuidArray.js +27 -0
  256. package/dist/utils/validation/vQueryUuidArray.js.map +1 -0
  257. package/package.json +19 -3
package/LICENSE.md CHANGED
@@ -44,6 +44,7 @@ Additional Functionality and integrated external libraries:
44
44
  | [postgres.js](https://github.com/porsager/postgres/tree/master) | [Rasmus Porsager](https://github.com/porsager) | [UNLICENSE](./src/db/postgres/UNLICENSE.md) | **3.4.9** | Zero | same |
45
45
  | [hono](https://hono.dev/) | [Yusuke Wada](https://github.com/yusukebe) | [MIT](./src/hono/LICENSE.md) | **4.13.5** | Low | same |
46
46
  | [@hono/node-server](https://github.com/honojs/node-server) | [Yusuke Wada](https://github.com/yusukebe) | [MIT](./src/hono/node-server/LICENSE.md) | **2.1.1** | Zero or low | same |
47
+ | [cache-manager](https://cacheable.org/docs/cache-manager/) and parts: keyv, @keyv/serialize, @cacheable/utils, hashery, hookified | [Jared Wray](https://github.com/jaredwray) | [MIT](<./src/caching/LICENSE%20(cache-manager%20and%20parts).md>) | **7.2.9** | Average | caching |
47
48
 
48
49
  \* - integrated version of library
49
50
 
package/README.md CHANGED
@@ -1,18 +1,17 @@
1
1
  Inray - all-in-one инструментарий для разработки **Node.js** приложений
2
2
 
3
+ 🚧⚠️🛠️ Under heavy development / В активной разработке 🚧⚠️🛠️
4
+
3
5
  ## Оглавление
4
6
 
5
7
  - [Основная идея проекта](#основная-идея-проекта)
6
8
  - [Причины и особенности реализации](#причины-и-особенности-реализации)
7
9
  - [Текущий состав SDK](#текущий-состав-sdk)
8
10
  - [Обновления и версионирование](#обновления-и-версионирование)
9
- - [Уязвимости и CVE](#уязвимости-и-cve)
10
- - [Документация](#документация)
11
- - [Пример использования](#пример-использования)
11
+ - [Документация](#документация-и-примеры-использования)
12
12
  - [Совместимость c Runtime](#совместимость-c-runtime)
13
- - [Лицензии](#лицензии)
13
+ - [Лицензирование](#лицензирование)
14
14
  - [Благодарность](#благодарность)
15
- - [Changelog](./CHANGELOG.md)
16
15
 
17
16
  ## Основная идея проекта
18
17
 
@@ -56,49 +55,140 @@ Inray - all-in-one инструментарий для разработки **No
56
55
  - смена рантайма _не всегда возможна_, как следствие - решения могут быть просто не применимы в Node.js _(к примеру большая часть расширенного функционала Bun, очевидно, не доступна вне него)_
57
56
  - предоставляемые решения могут не в полной мере покрывать ожидаемые потребности в функционале
58
57
 
58
+ ## Текущий состав SDK
59
+
59
60
  ⚠️ На текущий момент репозиторий представляет собой _группу библиотек_, поставляемых с минимальными функциональными изменениями (vendoring).
60
61
  В будущем все библиотеки будут переработаны под единое окружение и будут переиспользовать друг друга в рамках SDK для обеспечения согласованности.
61
62
 
62
- Сценарий следующий:
63
+ Уровни интеграции в SDK:
63
64
 
64
- 1. Библиотека интегрируется в Inray - функционал не затрагивается, лишь приводится под единый TypeScript конфиг + тесты переводится на Vitest (всё одинаковое в рамках SDK).
65
- Эту фазу можно обозначить как "vendoring"
66
- 2. Библиотека реструктурируется - дублирующий API (по отношению к SDK) вычищается, библиотека использует инструментарий из SDK. Эта фаза - "формирование fork-а"
67
- 3. При необходимости - остальные части SDK обновляются и используют новую интегрированную часть, то есть фаза "обеспечения консистентности SDK"
65
+ <span style="color:red">I</span> - _"Поставка в составе SDK"_, исходная библиотека поставляется как есть
68
66
 
69
- ## Текущий состав SDK
67
+ <span style="color:green">II</span> - _"Первичная интеграция"_, библиотека приводится под единый TypeScript конфиг + тесты переводится на Vitest (всё одинаковое в рамках SDK). Функционал по возможности остаётся как есть
68
+
69
+ <span style="color:blue">III</span> - _"Рефакторинг" (форк)_, дублирующий API, по отношению к SDK - вычищается, библиотека начинает использовать инструментарий из SDK
70
+
71
+ <span style="color:purple">IV</span> - "Внедрение", остальные части SDK обновляются и используют новую интегрированную часть, то есть обеспечивается консистентность
70
72
 
71
- | Логический домен / область применения | Исходные библиотеки | Комментарий |
72
- | :---------------------------------------------------------- | :------------------------------------------------ | :---------------- |
73
- | Вспомогательные асинхронные функции | @std/async | In progress 🛠️... |
74
- | Работа с байтами | @std/bytes | |
75
- | Работа с потоками (stream) | @std/streams | |
76
- | Коллекции и структуры данных | @std/collections <br> @std/data-structures | |
77
- | Кодирование, декодирование, форматирование и транслитерация | @std/encoding <br> @std/fmt <br> unidecode | |
78
- | Работа с датами и временем | date-fns | |
79
- | Логирование | logtape (и его части) | |
80
- | Обработка файлов распространенных форматов | @std/json <br> @std/jsonc <br> @std/csv <br> yaml | |
81
- | Обработка MIME-типов | @std/media-types | |
82
- | Задачи по расписанию | node-cron | |
83
- | Валидация | valibot (и его части) | |
84
- | Драйверы к базам данных | postgres.js | |
85
- | Криптографические функции | jose | |
86
- | Работа с телефонными номерами | libphonenumber-js | |
87
- | Основной серверный фреймворк | hono | |
73
+ | Логический домен / область применения | Домен (inray/\*) | Уровень интеграции* | Исходные библиотеки | Комментарий |
74
+ | :---------------------------------------------------------------- | :---------------------------------- | :---------------------------------: | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :---------------- |
75
+ | Вспомогательные асинхронные функции | /async | <span style="color:green">II</span> | [@std/async](https://jsr.io/@std/async/doc) | In progress 🛠️... |
76
+ | Работа с байтами | /bytes | <span style="color:green">II</span> | [@std/bytes](https://jsr.io/@std/bytes/doc) | |
77
+ | Работа с потоками (stream) | /streams | <span style="color:green">II</span> | [@std/streams](https://jsr.io/@std/streams/doc) | |
78
+ | Коллекции и структуры данных | /collections и<br> /data-structures | <span style="color:green">II</span> | [@std/collections](https://jsr.io/@std/collections/doc) <br> [@std/data-structures](https://jsr.io/@std/data-structures/doc) | |
79
+ | Кодирование, декодирование, форматирование и транслитерация | /encoding и<br> /unidecode | <span style="color:green">II</span> | [@std/encoding](https://jsr.io/@std/encoding/doc) <br> [@std/fmt](https://jsr.io/@std/fmt/doc/all_symbols?no_default_entrypoint) <br> [unidecode](https://github.com/FGRibreau/node-unidecode) | |
80
+ | Работа с датами и временем | /date-fns | <span style="color:green">II</span> | [date-fns](https://date-fns.org/v4.4.0/docs/Getting-Started) | |
81
+ | Логирование | /logtape | <span style="color:green">II</span> | [logtape (и его части)](https://logtape.org/) | |
82
+ | Обработка файлов распространенных форматов | /json, /jsonc, /csv, /yaml | <span style="color:green">II</span> | [@std/json](https://jsr.io/@std/json/doc) <br> [@std/jsonc](https://jsr.io/@std/jsonc/doc) <br> [@std/csv](https://jsr.io/@std/csv/doc) <br> [yaml](https://eemeli.org/yaml/#yaml) | |
83
+ | Обработка MIME-типов | /media-types | <span style="color:green">II</span> | [@std/media-types](https://jsr.io/@std/media-types/doc) | |
84
+ | Задачи по расписанию | /node-cron | <span style="color:green">II</span> | [node-cron](https://www.nodecron.com/) | |
85
+ | Валидация | /valibot | <span style="color:green">II</span> | [valibot (и его части)](https://valibot.dev/) | |
86
+ | Драйверы к базам данных | /db/postgres | <span style="color:red">I</span> | [postgres.js](https://github.com/porsager/postgres/tree/master) | |
87
+ | Криптографические функции | /jose | <span style="color:green">II</span> | [jose](https://github.com/panva/jose) | |
88
+ | Работа с телефонными номерами | /phonenumbers | <span style="color:blue">III</span> | [libphonenumber-js](https://gitlab.com/catamphetamine/libphonenumber-js) | |
89
+ | Основной серверный фреймворк | /hono | <span style="color:green">II</span> | [hono](https://hono.dev/docs/) | |
90
+ | Различные инструменты и вспомогательные функции общего назначения | /utils | <span style="color:blue">III</span> | - | |
91
+ | Кеширование | /caching | <span style="color:blue">III</span> | [cache-manager (и его части)](https://cacheable.org/) | |
92
+
93
+ \* _уровень может отображать как итог, так и процесс_
88
94
 
89
95
  ## Обновления и версионирование
90
96
 
91
97
  In progress 🛠️...
92
98
 
93
- ## Уязвимости и CVE
99
+ ### Уязвимости и CVE
100
+
101
+ In progress 🛠️...
102
+
103
+ ## Документация и примеры использования
104
+
105
+ In progress 🛠️...
106
+
107
+ ### inray/async - асинхронные функции
108
+
109
+ In progress 🛠️...
110
+
111
+ ### inray/bytes - работа с байтами
112
+
113
+ In progress 🛠️...
114
+
115
+ ### inray/caching - кеширование
116
+
117
+ In progress 🛠️...
118
+
119
+ ### inray/collections - коллекции и вспомогательные функции для работы с итерируемыми объектами
120
+
121
+ In progress 🛠️...
122
+
123
+ ### inray/csv - работа с CSV-файлами
94
124
 
95
125
  In progress 🛠️...
96
126
 
97
- ## Документация
127
+ ### inray/data-structures - обобщенные структуры данных
98
128
 
99
129
  In progress 🛠️...
100
130
 
101
- ## Пример использования
131
+ ### inray/date-fns - работа с датой и временем
132
+
133
+ In progress 🛠️...
134
+
135
+ ### inray/db, inray/db/postgres - работа с БД
136
+
137
+ In progress 🛠️...
138
+
139
+ ### inray/encoding - кодирование и декодирование данных
140
+
141
+ In progress 🛠️...
142
+
143
+ ### inray/fmt/bytes, inray/fmt/colors, inray/fmt/duration - функции строкового представления различных данных
144
+
145
+ In progress 🛠️...
146
+
147
+ ### inray/hono - веб-фреймворк Hono и его части
148
+
149
+ In progress 🛠️...
150
+
151
+ ### inray/jose - набор криптографический функций в рамках библиотеки jose
152
+
153
+ In progress 🛠️...
154
+
155
+ ### inray/json - дополнительные хелперы для работы с JSON
156
+
157
+ In progress 🛠️...
158
+
159
+ ### inray/jsonc - парсинг JSONC файлов
160
+
161
+ In progress 🛠️...
162
+
163
+ ### inray/logtape - логгер logtape и его части
164
+
165
+ In progress 🛠️...
166
+
167
+ ### inray/media-types - работа с "content-type" и MIME
168
+
169
+ In progress 🛠️...
170
+
171
+ ### inray/node-cron - задачи по расписанию в рамках библиотеки node-cron
172
+
173
+ In progress 🛠️...
174
+
175
+ ### inray/phonenumbers - парсинг и валидация телефонных номеров
176
+
177
+ In progress 🛠️...
178
+
179
+ ### inray/streams - работа с потоками (Stream)
180
+
181
+ In progress 🛠️...
182
+
183
+ ### inray/unidecode - транслитерация строк
184
+
185
+ In progress 🛠️...
186
+
187
+ ### inray/utils - вспомогательные функции, классы, типы и валидаторы общего назначения
188
+
189
+ In progress 🛠️...
190
+
191
+ ### inray/yaml - работа с YAML-файлами в рамках библиотеки yaml
102
192
 
103
193
  In progress 🛠️...
104
194
 
@@ -106,14 +196,108 @@ In progress 🛠️...
106
196
 
107
197
  In progress 🛠️...
108
198
 
109
- ## Лицензии
199
+ ## Лицензирование
200
+
201
+ Лицензия Inray и его оригинальных компонентов - [**ISC**](#inray-license)
202
+
203
+ Поставляемые библиотеки - [см. тут](#integrated-libraries-license)
204
+
205
+ ### inray License
206
+
207
+ ISC License
208
+
209
+ Copyright (c) 2026 Evgeniy Bushin
210
+
211
+ Permission to use, copy, modify, and/or distribute this software for any
212
+ purpose with or without fee is hereby granted, provided that the above
213
+ copyright notice and this permission notice appear in all copies.
214
+
215
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
216
+ REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
217
+ AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
218
+ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
219
+ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
220
+ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
221
+ PERFORMANCE OF THIS SOFTWARE.
222
+
223
+ ### integrated libraries License
224
+
225
+ Integrated and modified external libraries:
226
+
227
+ | Library name | Author | License | Version\* | Modification level\*\* | Internal name\*\*\* |
228
+ | :---------------------------------------------------------------------------------------------------------------------------------------- | :---------------------------------------------------- | :---------: | :--------------- | ---------------------- | ------------------- |
229
+ | [valibot](https://valibot.dev/) | [Fabian Hiller](https://github.com/fabian-hiller) | MIT | **1.4.2** | Zero or low | same |
230
+ | [@valibot/i18n](https://github.com/open-circle/valibot/tree/main/packages/i18n) | [Fabian Hiller](https://github.com/fabian-hiller) | MIT | **1.2.0** | Zero or low | same |
231
+ | [@valibot/to-json-schema](https://github.com/open-circle/valibot/tree/main/packages/to-json-schema) | [Fabian Hiller](https://github.com/fabian-hiller) | MIT | **1.7.1** | Zero | same |
232
+ | [node-cron](https://www.nodecron.com/) | [Lucas Merencia](https://github.com/merencia) | ISC | **4.6.0** | Zero or low | same |
233
+ | [yaml](https://eemeli.org/yaml/#yaml) | [Eemeli Aro](https://github.com/eemeli) | ISC | **3.0.0-1 (RC)** | Zero or low | same |
234
+ | [@std/async](https://jsr.io/@std/async) | [Deno authors](https://github.com/denoland) | MIT | **1.5.0** | Zero or low | same as domain |
235
+ | [@std/bytes](https://jsr.io/@std/bytes) | [Deno authors](https://github.com/denoland) | MIT | **1.0.6** | Zero or low | same as domain |
236
+ | [@std/collections](https://jsr.io/@std/collections) | [Deno authors](https://github.com/denoland) | MIT | **1.3.0** | Zero or low | same as domain |
237
+ | [@std/csv](https://jsr.io/@std/csv) | [Deno authors](https://github.com/denoland) | MIT | **1.0.6** | Low | same as domain |
238
+ | [@std/data-structures](https://jsr.io/@std/data-structures) | [Deno authors](https://github.com/denoland) | MIT | **1.1.1** | Zero or low | same as domain |
239
+ | [@std/encoding](https://jsr.io/@std/encoding) | [Deno authors](https://github.com/denoland) | MIT | **1.0.11** | Low | same as domain |
240
+ | [@std/fmt](https://jsr.io/@std/fmt) | [Deno authors](https://github.com/denoland) | MIT | **1.0.10** | Low | same as domain |
241
+ | [@std/json](https://jsr.io/@std/json) | [Deno authors](https://github.com/denoland) | MIT | **1.1.0** | Low | same as domain |
242
+ | [@std/jsonc](https://jsr.io/@std/jsonc) | [Deno authors](https://github.com/denoland) | MIT | **1.0.2** | Zero or low | same as domain |
243
+ | [@std/media-types](https://jsr.io/@std/media-types) | [Deno authors](https://github.com/denoland) | MIT | **1.1.0** | Zero or low | same as domain |
244
+ | [@std/streams](https://jsr.io/@std/streams) | [Deno authors](https://github.com/denoland) | MIT | **1.1.1** | Low | same as domain |
245
+ | [jose](https://github.com/panva/jose) | [Filip Skokan](https://github.com/panva) | MIT | **6.2.8** | Zero or low | same |
246
+ | [date-fns](https://date-fns.org/) | [Sasha Koss](https://github.com/kossnocorp) | MIT | **4.4.0** | Zero or low | same |
247
+ | [unidecode](https://github.com/FGRibreau/node-unidecode) | [Francois-Guillaume Ribreau](https://fgribreau.com) | BSD | **1.1.0** | Average | same |
248
+ | [libphonenumber-js](https://gitlab.com/catamphetamine/libphonenumber-js) | [Nikolay Kuchumov](https://gitlab.com/catamphetamine) | MIT, Apache | **1.13.11** | High | phonenumbers |
249
+ | [logtape](https://logtape.org/) and parts: <br> @logtape/config, @logtape/file, <br> @logtape/pretty, @logtape/redaction, @logtape/syslog | [Hong Minhee (洪 民憙)](https://github.com/dahlia) | MIT | **2.3.2** | Zero or low | same |
250
+ | [postgres.js](https://github.com/porsager/postgres/tree/master) | [Rasmus Porsager](https://github.com/porsager) | UNLICENSE | **3.4.9** | Zero | same |
251
+ | [hono](https://hono.dev/) | [Yusuke Wada](https://github.com/yusukebe) | MIT | **4.13.5** | Low | same |
252
+ | [@hono/node-server](https://github.com/honojs/node-server) | [Yusuke Wada](https://github.com/yusukebe) | MIT | **2.1.1** | Zero or low | same |
253
+ | [cache-manager](https://cacheable.org/docs/cache-manager/) and parts: keyv, @keyv/serialize, @cacheable/utils, hashery, hookified | [Jared Wray](https://github.com/jaredwray) | MIT | **7.2.9** | Average | caching |
254
+
255
+ \* - integrated version of library
256
+
257
+ \*\* - modification level of source code - how many changes was provided for integration in "Inray"
258
+
259
+ \*\*\* -
110
260
 
111
- Лицензия Inray - **ISC**
261
+ Integrated libraries retain the original name whenever possible as a tribute to the authors. At the same time, in order not to mislead users, re-exporting of these libraries uses an explicit namespace (this shows that the "Inray"'s user is not using the original/latest version of the library, but integrated into the SDK)
112
262
 
113
- Поставляемые библиотеки без изменений, т.е. vendoring - [см. тут](./LICENSE.md)
263
+ However, sometimes integrated libraries change their original name for one or more reasons:
114
264
 
115
- Библиотеки изменённые до состояния форка (fork) и ставшие частью Inray - **ISC** (с упоминанием оригинальной лицензии библиотеки в [LICENSE](./LICENSE.md) и упоминанием оригинального Copyright исходном коде)
265
+ - _the difference may grow over time_ - the "Inray" library is updated much less frequently (more like a distribution) than the third-party libraries it integrates
266
+ - _avoiding strong maintenance associations_ - some changes to highly specialized libraries may confuse users and provoke false rollback/merge requests for "Inray" and the original library itself
267
+ - _avoiding distortion of functionality under the same name_ - the integrated library could have significant changes, and therefore the version in "Inray" no longer _reflects_ the original
116
268
 
117
269
  ## Благодарность
118
270
 
119
- [Список тут 🙏](./THANK_YOU.md)
271
+ За тяжкий труд и великолепную работу, хочу выразить благодарность 🙏 авторам оригинальных библиотек, что стали частью Inray:
272
+
273
+ - [Ryan Dahl](https://github.com/ry)
274
+ - [Yusuke Wada](https://github.com/yusukebe)
275
+ - [Taku Amano](https://github.com/usualoma)
276
+ - [Fabian Hiller](https://github.com/fabian-hiller)
277
+ - [Elton Lobo](https://github.com/EltonLobo07)
278
+ - [Sasha Koss](https://github.com/kossnocorp)
279
+ - [Lesha Koss](https://github.com/leshakoss)
280
+ - [Filip Skokan](https://github.com/panva)
281
+ - [Lucas Merencia](https://github.com/merencia)
282
+ - [Eemeli Aro](https://github.com/eemeli)
283
+ - [Hong Minhee](https://github.com/dahlia)
284
+ - [Francois-Guillaume Ribreau](https://github.com/FGRibreau)
285
+ - [Nikolay Kuchumov](https://gitlab.com/catamphetamine)
286
+ - [Bartek Iwańczuk](https://github.com/bartlomieju)
287
+ - [Leo Kettmeir](https://github.com/crowlKats)
288
+ - [David Sherret](https://github.com/dsherret)
289
+ - [Divy Srivastava](https://github.com/littledivy)
290
+ - [Nathan Whitaker](https://github.com/nathanwhit)
291
+ - [Nayeem Rahman](https://github.com/nayeemrmn)
292
+ - [Luca Casonato](https://github.com/lucacasonato)
293
+ - [Yoshiya Hinosawa](https://github.com/kt3k)
294
+ - [Matt Mastracci](https://github.com/mmastrac)
295
+ - [Bert Belder](https://github.com/piscisaureus)
296
+ - [Marvin Hagemeister](https://github.com/marvinhagemeister)
297
+ - [Asher Gomez](https://github.com/iuioiua)
298
+ - [Tim Reichen](https://github.com/timreichen)
299
+ - [Kitson Kelly](https://github.com/kitsonk)
300
+ - [Casper Beyer](https://github.com/caspervonb)
301
+ - [Tomas Zijdemans](https://github.com/tomas-zijdemans)
302
+ - [Rasmus Porsager](https://github.com/porsager)
303
+ - [Jared Wray](https://github.com/jaredwray)
@@ -17,7 +17,7 @@
17
17
  * @returns A promise that can be aborted.
18
18
  *
19
19
  * @example Error-handling a timeout
20
- * ```ts ignore
20
+ * ```ts
21
21
  * import { abortable, delay } from "inray/async";
22
22
  *
23
23
  * const promise = delay(1_000);
@@ -31,7 +31,7 @@
31
31
  * ```
32
32
  *
33
33
  * @example Error-handling an abort
34
- * ```ts ignore
34
+ * ```ts
35
35
  * import { abortable, delay } from "inray/async";
36
36
  *
37
37
  * const promise = delay(1_000);
@@ -1 +1 @@
1
- {"version":3,"file":"abortable.d.ts","sourceRoot":"","sources":["../../src/async/abortable.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,KAAK;AAKL;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;AAC7E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkDG;AAEH,wBAAgB,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,WAAW,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"abortable.d.ts","sourceRoot":"","sources":["../../src/async/abortable.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,KAAK;AAIL;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;AAC7E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkDG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,WAAW,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"abortable.js","sourceRoot":"","sources":["../../src/async/abortable.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,KAAK;AA8FL,MAAM,UAAU,SAAS,CAAI,CAAgC,EAAE,MAAmB;IAChF,IAAI,CAAC,YAAY,OAAO,EAAE,CAAC;QACzB,OAAO,gBAAgB,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IACrC,CAAC;SAAM,CAAC;QACN,OAAO,sBAAsB,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IAC3C,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,CAAI,CAAa,EAAE,MAAmB;IAC7D,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,aAAa,EAAS,CAAC;IAC3D,MAAM,KAAK,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC1C,IAAI,MAAM,CAAC,OAAO;QAAE,KAAK,EAAE,CAAC;IAC5B,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IACxD,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE;QAC7C,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;AACL,CAAC;AAED,KAAK,SAAS,CAAC,CAAC,sBAAsB,CAAI,CAAmB,EAAE,MAAmB;IAChF,MAAM,CAAC,cAAc,EAAE,CAAC;IACxB,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,aAAa,EAAS,CAAC;IAC3D,MAAM,KAAK,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC1C,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAExD,MAAM,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC;IACrC,IAAI,CAAC;QACH,OAAO,IAAI,EAAE,CAAC;YACZ,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YAChD,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE;gBACd,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YAC7C,CAAC,CAAC,CAAC;YACH,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC;YACnC,IAAI,IAAI,EAAE,CAAC;gBACT,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;gBAC3C,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC;gBACxC,OAAO,MAAM,EAAE,KAAK,CAAC;YACvB,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC;QACpB,MAAM,CAAC,CAAC;IACV,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"abortable.js","sourceRoot":"","sources":["../../src/async/abortable.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,KAAK;AA4FL,MAAM,UAAU,SAAS,CAAI,CAAgC,EAAE,MAAmB;IAChF,IAAI,CAAC,YAAY,OAAO,EAAE,CAAC;QACzB,OAAO,gBAAgB,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IACrC,CAAC;SAAM,CAAC;QACN,OAAO,sBAAsB,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IAC3C,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,CAAI,CAAa,EAAE,MAAmB;IAC7D,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,aAAa,EAAS,CAAC;IAC3D,MAAM,KAAK,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC1C,IAAI,MAAM,CAAC,OAAO;QAAE,KAAK,EAAE,CAAC;IAC5B,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IACxD,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE;QAC7C,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;AACL,CAAC;AAED,KAAK,SAAS,CAAC,CAAC,sBAAsB,CAAI,CAAmB,EAAE,MAAmB;IAChF,MAAM,CAAC,cAAc,EAAE,CAAC;IACxB,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,aAAa,EAAS,CAAC;IAC3D,MAAM,KAAK,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC1C,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAExD,MAAM,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC;IACrC,IAAI,CAAC;QACH,OAAO,IAAI,EAAE,CAAC;YACZ,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YAChD,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE;gBACd,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YAC7C,CAAC,CAAC,CAAC;YACH,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC;YACnC,IAAI,IAAI,EAAE,CAAC;gBACT,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;gBAC3C,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC;gBACxC,OAAO,MAAM,EAAE,KAAK,CAAC;YACvB,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC;QACpB,MAAM,CAAC,CAAC;IACV,CAAC;AACH,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from './src/cache.ts';
2
+ //# sourceMappingURL=mod.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../../src/caching/mod.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from "./src/cache.js";
2
+ //# sourceMappingURL=mod.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mod.js","sourceRoot":"","sources":["../../src/caching/mod.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC"}
@@ -0,0 +1,89 @@
1
+ /**
2
+ * Original library: cache-manager (v7.2.9)
3
+ * - Copyright (c) Jared Wray
4
+ *
5
+ * Modified and integrated in "Inray":
6
+ * - Evgeniy Bushin
7
+ */
8
+ /***/
9
+ import EventEmitter from 'node:events';
10
+ import { Keyv, type StoredDataRaw } from './keyValue/index.ts';
11
+ export type CreateCacheOptions = {
12
+ stores?: Keyv[];
13
+ ttl?: number;
14
+ refreshThreshold?: number;
15
+ refreshAllStores?: boolean;
16
+ nonBlocking?: boolean;
17
+ cacheId?: string;
18
+ };
19
+ type WrapOptions<T> = {
20
+ ttl?: number | ((value: T) => number);
21
+ refreshThreshold?: number | ((value: T) => number);
22
+ };
23
+ type WrapOptionsRaw<T> = WrapOptions<T> & {
24
+ raw: true;
25
+ };
26
+ export type Cache = {
27
+ get: <T>(key: string) => Promise<T | undefined>;
28
+ mget: <T>(keys: string[]) => Promise<Array<T | undefined>>;
29
+ ttl: (key: string) => Promise<number | undefined>;
30
+ set: <T>(key: string, value: T, ttl?: number) => Promise<T>;
31
+ mset: <T>(list: Array<{
32
+ key: string;
33
+ value: T;
34
+ ttl?: number;
35
+ }>) => Promise<Array<{
36
+ key: string;
37
+ value: T;
38
+ ttl?: number;
39
+ }>>;
40
+ del: (key: string) => Promise<boolean>;
41
+ mdel: (keys: string[]) => Promise<boolean>;
42
+ clear: () => Promise<boolean>;
43
+ on: <E extends keyof Events>(event: E, listener: Events[E]) => EventEmitter;
44
+ off: <E extends keyof Events>(event: E, listener: Events[E]) => EventEmitter;
45
+ disconnect: () => Promise<undefined>;
46
+ cacheId: () => string;
47
+ stores: Keyv[];
48
+ wrap<T>(key: string, fnc: () => T | Promise<T>, ttl?: number | ((value: T) => number), refreshThreshold?: number | ((value: T) => number)): Promise<T>;
49
+ wrap<T>(key: string, fnc: () => T | Promise<T>, options: WrapOptions<T>): Promise<T>;
50
+ wrap<T>(key: string, fnc: () => T | Promise<T>, options: WrapOptionsRaw<T>): Promise<StoredDataRaw<T>>;
51
+ };
52
+ export type Events = {
53
+ get: <T>(data: {
54
+ key: string;
55
+ value?: T;
56
+ error?: unknown;
57
+ }) => void;
58
+ mget: <T>(data: {
59
+ keys: string[];
60
+ value?: T[];
61
+ error?: unknown;
62
+ }) => void;
63
+ set: <T>(data: {
64
+ key: string;
65
+ value: T;
66
+ error?: unknown;
67
+ }) => void;
68
+ mset: <T>(data: {
69
+ list: Array<{
70
+ key: string;
71
+ value: T;
72
+ ttl?: number;
73
+ }>;
74
+ error?: unknown;
75
+ }) => void;
76
+ del: (data: {
77
+ key: string;
78
+ error?: unknown;
79
+ }) => void;
80
+ clear: (error?: unknown) => void;
81
+ refresh: <T>(data: {
82
+ key: string;
83
+ value: T;
84
+ error?: unknown;
85
+ }) => void;
86
+ };
87
+ export declare const createCache: (options?: CreateCacheOptions) => Cache;
88
+ export { type CacheManagerStore, KeyvAdapter } from './keyv-adapter.js';
89
+ //# sourceMappingURL=cache.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../../../src/caching/src/cache.ts"],"names":[],"mappings":"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"}