inray 0.0.2 → 0.0.3

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 (155) hide show
  1. package/LICENSE.md +1 -0
  2. package/README.md +132 -32
  3. package/dist/caching/mod.d.ts +2 -0
  4. package/dist/caching/mod.d.ts.map +1 -0
  5. package/dist/caching/mod.js +2 -0
  6. package/dist/caching/mod.js.map +1 -0
  7. package/dist/caching/src/cache.d.ts +89 -0
  8. package/dist/caching/src/cache.d.ts.map +1 -0
  9. package/dist/caching/src/cache.js +309 -0
  10. package/dist/caching/src/cache.js.map +1 -0
  11. package/dist/caching/src/hashing/cache.d.ts +92 -0
  12. package/dist/caching/src/hashing/cache.d.ts.map +1 -0
  13. package/dist/caching/src/hashing/cache.js +119 -0
  14. package/dist/caching/src/hashing/cache.js.map +1 -0
  15. package/dist/caching/src/hashing/hooks/eventified.d.ts +157 -0
  16. package/dist/caching/src/hashing/hooks/eventified.d.ts.map +1 -0
  17. package/dist/caching/src/hashing/hooks/eventified.js +333 -0
  18. package/dist/caching/src/hashing/hooks/eventified.js.map +1 -0
  19. package/dist/caching/src/hashing/hooks/index.d.ts +199 -0
  20. package/dist/caching/src/hashing/hooks/index.d.ts.map +1 -0
  21. package/dist/caching/src/hashing/hooks/index.js +383 -0
  22. package/dist/caching/src/hashing/hooks/index.js.map +1 -0
  23. package/dist/caching/src/hashing/hooks/types.d.ts +217 -0
  24. package/dist/caching/src/hashing/hooks/types.d.ts.map +1 -0
  25. package/dist/caching/src/hashing/hooks/types.js +10 -0
  26. package/dist/caching/src/hashing/hooks/types.js.map +1 -0
  27. package/dist/caching/src/hashing/index.d.ts +236 -0
  28. package/dist/caching/src/hashing/index.d.ts.map +1 -0
  29. package/dist/caching/src/hashing/index.js +447 -0
  30. package/dist/caching/src/hashing/index.js.map +1 -0
  31. package/dist/caching/src/hashing/providers/crc.d.ts +15 -0
  32. package/dist/caching/src/hashing/providers/crc.d.ts.map +1 -0
  33. package/dist/caching/src/hashing/providers/crc.js +49 -0
  34. package/dist/caching/src/hashing/providers/crc.js.map +1 -0
  35. package/dist/caching/src/hashing/providers/crypto.d.ts +19 -0
  36. package/dist/caching/src/hashing/providers/crypto.d.ts.map +1 -0
  37. package/dist/caching/src/hashing/providers/crypto.js +28 -0
  38. package/dist/caching/src/hashing/providers/crypto.js.map +1 -0
  39. package/dist/caching/src/hashing/providers/djb2.d.ts +60 -0
  40. package/dist/caching/src/hashing/providers/djb2.d.ts.map +1 -0
  41. package/dist/caching/src/hashing/providers/djb2.js +92 -0
  42. package/dist/caching/src/hashing/providers/djb2.js.map +1 -0
  43. package/dist/caching/src/hashing/providers/fnv1.d.ts +33 -0
  44. package/dist/caching/src/hashing/providers/fnv1.d.ts.map +1 -0
  45. package/dist/caching/src/hashing/providers/fnv1.js +68 -0
  46. package/dist/caching/src/hashing/providers/fnv1.js.map +1 -0
  47. package/dist/caching/src/hashing/providers/murmur.d.ts +81 -0
  48. package/dist/caching/src/hashing/providers/murmur.d.ts.map +1 -0
  49. package/dist/caching/src/hashing/providers/murmur.js +173 -0
  50. package/dist/caching/src/hashing/providers/murmur.js.map +1 -0
  51. package/dist/caching/src/hashing/providers.d.ts +126 -0
  52. package/dist/caching/src/hashing/providers.d.ts.map +1 -0
  53. package/dist/caching/src/hashing/providers.js +163 -0
  54. package/dist/caching/src/hashing/providers.js.map +1 -0
  55. package/dist/caching/src/hashing/types.d.ts +340 -0
  56. package/dist/caching/src/hashing/types.d.ts.map +1 -0
  57. package/dist/caching/src/hashing/types.js +10 -0
  58. package/dist/caching/src/hashing/types.js.map +1 -0
  59. package/dist/caching/src/keyValue/capabilities.d.ts +161 -0
  60. package/dist/caching/src/keyValue/capabilities.d.ts.map +1 -0
  61. package/dist/caching/src/keyValue/capabilities.js +334 -0
  62. package/dist/caching/src/keyValue/capabilities.js.map +1 -0
  63. package/dist/caching/src/keyValue/event-manager.d.ts +27 -0
  64. package/dist/caching/src/keyValue/event-manager.d.ts.map +1 -0
  65. package/dist/caching/src/keyValue/event-manager.js +88 -0
  66. package/dist/caching/src/keyValue/event-manager.js.map +1 -0
  67. package/dist/caching/src/keyValue/generic-store.d.ts +243 -0
  68. package/dist/caching/src/keyValue/generic-store.d.ts.map +1 -0
  69. package/dist/caching/src/keyValue/generic-store.js +295 -0
  70. package/dist/caching/src/keyValue/generic-store.js.map +1 -0
  71. package/dist/caching/src/keyValue/hooks-manager.d.ts +21 -0
  72. package/dist/caching/src/keyValue/hooks-manager.d.ts.map +1 -0
  73. package/dist/caching/src/keyValue/hooks-manager.js +59 -0
  74. package/dist/caching/src/keyValue/hooks-manager.js.map +1 -0
  75. package/dist/caching/src/keyValue/index.d.ts +334 -0
  76. package/dist/caching/src/keyValue/index.d.ts.map +1 -0
  77. package/dist/caching/src/keyValue/index.js +796 -0
  78. package/dist/caching/src/keyValue/index.js.map +1 -0
  79. package/dist/caching/src/keyValue/serialize/serialize.d.ts +12 -0
  80. package/dist/caching/src/keyValue/serialize/serialize.d.ts.map +1 -0
  81. package/dist/caching/src/keyValue/serialize/serialize.js +64 -0
  82. package/dist/caching/src/keyValue/serialize/serialize.js.map +1 -0
  83. package/dist/caching/src/keyValue/stats-manager.d.ts +27 -0
  84. package/dist/caching/src/keyValue/stats-manager.d.ts.map +1 -0
  85. package/dist/caching/src/keyValue/stats-manager.js +64 -0
  86. package/dist/caching/src/keyValue/stats-manager.js.map +1 -0
  87. package/dist/caching/src/keyValue/types.d.ts +22 -0
  88. package/dist/caching/src/keyValue/types.d.ts.map +1 -0
  89. package/dist/caching/src/keyValue/types.js +11 -0
  90. package/dist/caching/src/keyValue/types.js.map +1 -0
  91. package/dist/caching/src/keyv-adapter.d.ts +40 -0
  92. package/dist/caching/src/keyv-adapter.d.ts.map +1 -0
  93. package/dist/caching/src/keyv-adapter.js +56 -0
  94. package/dist/caching/src/keyv-adapter.js.map +1 -0
  95. package/dist/caching/src/utils/cache-tags.d.ts +275 -0
  96. package/dist/caching/src/utils/cache-tags.d.ts.map +1 -0
  97. package/dist/caching/src/utils/cache-tags.js +407 -0
  98. package/dist/caching/src/utils/cache-tags.js.map +1 -0
  99. package/dist/caching/src/utils/cacheable-item-types.d.ts +35 -0
  100. package/dist/caching/src/utils/cacheable-item-types.d.ts.map +1 -0
  101. package/dist/caching/src/utils/cacheable-item-types.js +10 -0
  102. package/dist/caching/src/utils/cacheable-item-types.js.map +1 -0
  103. package/dist/caching/src/utils/coalesce-async.d.ts +29 -0
  104. package/dist/caching/src/utils/coalesce-async.d.ts.map +1 -0
  105. package/dist/caching/src/utils/coalesce-async.js +88 -0
  106. package/dist/caching/src/utils/coalesce-async.js.map +1 -0
  107. package/dist/caching/src/utils/hash.d.ts +55 -0
  108. package/dist/caching/src/utils/hash.d.ts.map +1 -0
  109. package/dist/caching/src/utils/hash.js +116 -0
  110. package/dist/caching/src/utils/hash.js.map +1 -0
  111. package/dist/caching/src/utils/index.d.ts +24 -0
  112. package/dist/caching/src/utils/index.d.ts.map +1 -0
  113. package/dist/caching/src/utils/index.js +21 -0
  114. package/dist/caching/src/utils/index.js.map +1 -0
  115. package/dist/caching/src/utils/is-keyv-instance.d.ts +10 -0
  116. package/dist/caching/src/utils/is-keyv-instance.d.ts.map +1 -0
  117. package/dist/caching/src/utils/is-keyv-instance.js +37 -0
  118. package/dist/caching/src/utils/is-keyv-instance.js.map +1 -0
  119. package/dist/caching/src/utils/is-object.d.ts +10 -0
  120. package/dist/caching/src/utils/is-object.d.ts.map +1 -0
  121. package/dist/caching/src/utils/is-object.js +13 -0
  122. package/dist/caching/src/utils/is-object.js.map +1 -0
  123. package/dist/caching/src/utils/less-than.d.ts +10 -0
  124. package/dist/caching/src/utils/less-than.d.ts.map +1 -0
  125. package/dist/caching/src/utils/less-than.js +13 -0
  126. package/dist/caching/src/utils/less-than.js.map +1 -0
  127. package/dist/caching/src/utils/memoize.d.ts +107 -0
  128. package/dist/caching/src/utils/memoize.d.ts.map +1 -0
  129. package/dist/caching/src/utils/memoize.js +201 -0
  130. package/dist/caching/src/utils/memoize.js.map +1 -0
  131. package/dist/caching/src/utils/mock-cacheable.d.ts +28 -0
  132. package/dist/caching/src/utils/mock-cacheable.d.ts.map +1 -0
  133. package/dist/caching/src/utils/mock-cacheable.js +87 -0
  134. package/dist/caching/src/utils/mock-cacheable.js.map +1 -0
  135. package/dist/caching/src/utils/run-if-fn.d.ts +12 -0
  136. package/dist/caching/src/utils/run-if-fn.d.ts.map +1 -0
  137. package/dist/caching/src/utils/run-if-fn.js +12 -0
  138. package/dist/caching/src/utils/run-if-fn.js.map +1 -0
  139. package/dist/caching/src/utils/shorthand-time.d.ts +27 -0
  140. package/dist/caching/src/utils/shorthand-time.d.ts.map +1 -0
  141. package/dist/caching/src/utils/shorthand-time.js +96 -0
  142. package/dist/caching/src/utils/shorthand-time.js.map +1 -0
  143. package/dist/caching/src/utils/sleep.d.ts +10 -0
  144. package/dist/caching/src/utils/sleep.d.ts.map +1 -0
  145. package/dist/caching/src/utils/sleep.js +11 -0
  146. package/dist/caching/src/utils/sleep.js.map +1 -0
  147. package/dist/caching/src/utils/stats.d.ts +354 -0
  148. package/dist/caching/src/utils/stats.d.ts.map +1 -0
  149. package/dist/caching/src/utils/stats.js +593 -0
  150. package/dist/caching/src/utils/stats.js.map +1 -0
  151. package/dist/caching/src/utils/ttl.d.ts +58 -0
  152. package/dist/caching/src/utils/ttl.d.ts.map +1 -0
  153. package/dist/caching/src/utils/ttl.js +77 -0
  154. package/dist/caching/src/utils/ttl.js.map +1 -0
  155. package/package.json +11 -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,4 +1,5 @@
1
1
  Inray - all-in-one инструментарий для разработки **Node.js** приложений
2
+ 🚧🚧🚧 under heavy development / в активной разработке 🚧🚧🚧
2
3
 
3
4
  ## Оглавление
4
5
 
@@ -6,13 +7,11 @@ Inray - all-in-one инструментарий для разработки **No
6
7
  - [Причины и особенности реализации](#причины-и-особенности-реализации)
7
8
  - [Текущий состав SDK](#текущий-состав-sdk)
8
9
  - [Обновления и версионирование](#обновления-и-версионирование)
9
- - [Уязвимости и CVE](#уязвимости-и-cve)
10
10
  - [Документация](#документация)
11
11
  - [Пример использования](#пример-использования)
12
12
  - [Совместимость c Runtime](#совместимость-c-runtime)
13
- - [Лицензии](#лицензии)
13
+ - [Лицензирование](#лицензирование)
14
14
  - [Благодарность](#благодарность)
15
- - [Changelog](./CHANGELOG.md)
16
15
 
17
16
  ## Основная идея проекта
18
17
 
@@ -56,41 +55,48 @@ 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
94
100
 
95
101
  In progress 🛠️...
96
102
 
@@ -106,14 +112,108 @@ In progress 🛠️...
106
112
 
107
113
  In progress 🛠️...
108
114
 
109
- ## Лицензии
115
+ ## Лицензирование
116
+
117
+ Лицензия Inray и его оригинальных компонентов - [**ISC**](#inray-license)
118
+
119
+ Поставляемые библиотеки - [см. тут](#integrated-libraries-license)
120
+
121
+ ### inray License
122
+
123
+ ISC License
124
+
125
+ Copyright (c) 2026 Evgeniy Bushin
126
+
127
+ Permission to use, copy, modify, and/or distribute this software for any
128
+ purpose with or without fee is hereby granted, provided that the above
129
+ copyright notice and this permission notice appear in all copies.
130
+
131
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
132
+ REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
133
+ AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
134
+ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
135
+ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
136
+ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
137
+ PERFORMANCE OF THIS SOFTWARE.
138
+
139
+ ### integrated libraries License
140
+
141
+ Integrated and modified external libraries:
142
+
143
+ | Library name | Author | License | Version\* | Modification level\*\* | Internal name\*\*\* |
144
+ | :---------------------------------------------------------------------------------------------------------------------------------------- | :---------------------------------------------------- | :---------: | :--------------- | ---------------------- | ------------------- |
145
+ | [valibot](https://valibot.dev/) | [Fabian Hiller](https://github.com/fabian-hiller) | MIT | **1.4.2** | Zero or low | same |
146
+ | [@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 |
147
+ | [@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 |
148
+ | [node-cron](https://www.nodecron.com/) | [Lucas Merencia](https://github.com/merencia) | ISC | **4.6.0** | Zero or low | same |
149
+ | [yaml](https://eemeli.org/yaml/#yaml) | [Eemeli Aro](https://github.com/eemeli) | ISC | **3.0.0-1 (RC)** | Zero or low | same |
150
+ | [@std/async](https://jsr.io/@std/async) | [Deno authors](https://github.com/denoland) | MIT | **1.5.0** | Zero or low | same as domain |
151
+ | [@std/bytes](https://jsr.io/@std/bytes) | [Deno authors](https://github.com/denoland) | MIT | **1.0.6** | Zero or low | same as domain |
152
+ | [@std/collections](https://jsr.io/@std/collections) | [Deno authors](https://github.com/denoland) | MIT | **1.3.0** | Zero or low | same as domain |
153
+ | [@std/csv](https://jsr.io/@std/csv) | [Deno authors](https://github.com/denoland) | MIT | **1.0.6** | Low | same as domain |
154
+ | [@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 |
155
+ | [@std/encoding](https://jsr.io/@std/encoding) | [Deno authors](https://github.com/denoland) | MIT | **1.0.11** | Low | same as domain |
156
+ | [@std/fmt](https://jsr.io/@std/fmt) | [Deno authors](https://github.com/denoland) | MIT | **1.0.10** | Low | same as domain |
157
+ | [@std/json](https://jsr.io/@std/json) | [Deno authors](https://github.com/denoland) | MIT | **1.1.0** | Low | same as domain |
158
+ | [@std/jsonc](https://jsr.io/@std/jsonc) | [Deno authors](https://github.com/denoland) | MIT | **1.0.2** | Zero or low | same as domain |
159
+ | [@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 |
160
+ | [@std/streams](https://jsr.io/@std/streams) | [Deno authors](https://github.com/denoland) | MIT | **1.1.1** | Low | same as domain |
161
+ | [jose](https://github.com/panva/jose) | [Filip Skokan](https://github.com/panva) | MIT | **6.2.8** | Zero or low | same |
162
+ | [date-fns](https://date-fns.org/) | [Sasha Koss](https://github.com/kossnocorp) | MIT | **4.4.0** | Zero or low | same |
163
+ | [unidecode](https://github.com/FGRibreau/node-unidecode) | [Francois-Guillaume Ribreau](https://fgribreau.com) | BSD | **1.1.0** | Average | same |
164
+ | [libphonenumber-js](https://gitlab.com/catamphetamine/libphonenumber-js) | [Nikolay Kuchumov](https://gitlab.com/catamphetamine) | MIT, Apache | **1.13.11** | High | phonenumbers |
165
+ | [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 |
166
+ | [postgres.js](https://github.com/porsager/postgres/tree/master) | [Rasmus Porsager](https://github.com/porsager) | UNLICENSE | **3.4.9** | Zero | same |
167
+ | [hono](https://hono.dev/) | [Yusuke Wada](https://github.com/yusukebe) | MIT | **4.13.5** | Low | same |
168
+ | [@hono/node-server](https://github.com/honojs/node-server) | [Yusuke Wada](https://github.com/yusukebe) | MIT | **2.1.1** | Zero or low | same |
169
+ | [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 |
170
+
171
+ \* - integrated version of library
172
+
173
+ \*\* - modification level of source code - how many changes was provided for integration in "Inray"
174
+
175
+ \*\*\* -
110
176
 
111
- Лицензия Inray - **ISC**
177
+ 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
178
 
113
- Поставляемые библиотеки без изменений, т.е. vendoring - [см. тут](./LICENSE.md)
179
+ However, sometimes integrated libraries change their original name for one or more reasons:
114
180
 
115
- Библиотеки изменённые до состояния форка (fork) и ставшие частью Inray - **ISC** (с упоминанием оригинальной лицензии библиотеки в [LICENSE](./LICENSE.md) и упоминанием оригинального Copyright исходном коде)
181
+ - _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
182
+ - _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
183
+ - _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
184
 
117
185
  ## Благодарность
118
186
 
119
- [Список тут 🙏](./THANK_YOU.md)
187
+ За тяжкий труд и великолепную работу, хочу выразить благодарность 🙏 авторам оригинальных библиотек, что стали частью Inray:
188
+
189
+ - [Ryan Dahl](https://github.com/ry)
190
+ - [Yusuke Wada](https://github.com/yusukebe)
191
+ - [Taku Amano](https://github.com/usualoma)
192
+ - [Fabian Hiller](https://github.com/fabian-hiller)
193
+ - [Elton Lobo](https://github.com/EltonLobo07)
194
+ - [Sasha Koss](https://github.com/kossnocorp)
195
+ - [Lesha Koss](https://github.com/leshakoss)
196
+ - [Filip Skokan](https://github.com/panva)
197
+ - [Lucas Merencia](https://github.com/merencia)
198
+ - [Eemeli Aro](https://github.com/eemeli)
199
+ - [Hong Minhee](https://github.com/dahlia)
200
+ - [Francois-Guillaume Ribreau](https://github.com/FGRibreau)
201
+ - [Nikolay Kuchumov](https://gitlab.com/catamphetamine)
202
+ - [Bartek Iwańczuk](https://github.com/bartlomieju)
203
+ - [Leo Kettmeir](https://github.com/crowlKats)
204
+ - [David Sherret](https://github.com/dsherret)
205
+ - [Divy Srivastava](https://github.com/littledivy)
206
+ - [Nathan Whitaker](https://github.com/nathanwhit)
207
+ - [Nayeem Rahman](https://github.com/nayeemrmn)
208
+ - [Luca Casonato](https://github.com/lucacasonato)
209
+ - [Yoshiya Hinosawa](https://github.com/kt3k)
210
+ - [Matt Mastracci](https://github.com/mmastrac)
211
+ - [Bert Belder](https://github.com/piscisaureus)
212
+ - [Marvin Hagemeister](https://github.com/marvinhagemeister)
213
+ - [Asher Gomez](https://github.com/iuioiua)
214
+ - [Tim Reichen](https://github.com/timreichen)
215
+ - [Kitson Kelly](https://github.com/kitsonk)
216
+ - [Casper Beyer](https://github.com/caspervonb)
217
+ - [Tomas Zijdemans](https://github.com/tomas-zijdemans)
218
+ - [Rasmus Porsager](https://github.com/porsager)
219
+ - [Jared Wray](https://github.com/jaredwray)
@@ -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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"}