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.
- package/LICENSE.md +1 -0
- package/README.md +132 -32
- package/dist/caching/mod.d.ts +2 -0
- package/dist/caching/mod.d.ts.map +1 -0
- package/dist/caching/mod.js +2 -0
- package/dist/caching/mod.js.map +1 -0
- package/dist/caching/src/cache.d.ts +89 -0
- package/dist/caching/src/cache.d.ts.map +1 -0
- package/dist/caching/src/cache.js +309 -0
- package/dist/caching/src/cache.js.map +1 -0
- package/dist/caching/src/hashing/cache.d.ts +92 -0
- package/dist/caching/src/hashing/cache.d.ts.map +1 -0
- package/dist/caching/src/hashing/cache.js +119 -0
- package/dist/caching/src/hashing/cache.js.map +1 -0
- package/dist/caching/src/hashing/hooks/eventified.d.ts +157 -0
- package/dist/caching/src/hashing/hooks/eventified.d.ts.map +1 -0
- package/dist/caching/src/hashing/hooks/eventified.js +333 -0
- package/dist/caching/src/hashing/hooks/eventified.js.map +1 -0
- package/dist/caching/src/hashing/hooks/index.d.ts +199 -0
- package/dist/caching/src/hashing/hooks/index.d.ts.map +1 -0
- package/dist/caching/src/hashing/hooks/index.js +383 -0
- package/dist/caching/src/hashing/hooks/index.js.map +1 -0
- package/dist/caching/src/hashing/hooks/types.d.ts +217 -0
- package/dist/caching/src/hashing/hooks/types.d.ts.map +1 -0
- package/dist/caching/src/hashing/hooks/types.js +10 -0
- package/dist/caching/src/hashing/hooks/types.js.map +1 -0
- package/dist/caching/src/hashing/index.d.ts +236 -0
- package/dist/caching/src/hashing/index.d.ts.map +1 -0
- package/dist/caching/src/hashing/index.js +447 -0
- package/dist/caching/src/hashing/index.js.map +1 -0
- package/dist/caching/src/hashing/providers/crc.d.ts +15 -0
- package/dist/caching/src/hashing/providers/crc.d.ts.map +1 -0
- package/dist/caching/src/hashing/providers/crc.js +49 -0
- package/dist/caching/src/hashing/providers/crc.js.map +1 -0
- package/dist/caching/src/hashing/providers/crypto.d.ts +19 -0
- package/dist/caching/src/hashing/providers/crypto.d.ts.map +1 -0
- package/dist/caching/src/hashing/providers/crypto.js +28 -0
- package/dist/caching/src/hashing/providers/crypto.js.map +1 -0
- package/dist/caching/src/hashing/providers/djb2.d.ts +60 -0
- package/dist/caching/src/hashing/providers/djb2.d.ts.map +1 -0
- package/dist/caching/src/hashing/providers/djb2.js +92 -0
- package/dist/caching/src/hashing/providers/djb2.js.map +1 -0
- package/dist/caching/src/hashing/providers/fnv1.d.ts +33 -0
- package/dist/caching/src/hashing/providers/fnv1.d.ts.map +1 -0
- package/dist/caching/src/hashing/providers/fnv1.js +68 -0
- package/dist/caching/src/hashing/providers/fnv1.js.map +1 -0
- package/dist/caching/src/hashing/providers/murmur.d.ts +81 -0
- package/dist/caching/src/hashing/providers/murmur.d.ts.map +1 -0
- package/dist/caching/src/hashing/providers/murmur.js +173 -0
- package/dist/caching/src/hashing/providers/murmur.js.map +1 -0
- package/dist/caching/src/hashing/providers.d.ts +126 -0
- package/dist/caching/src/hashing/providers.d.ts.map +1 -0
- package/dist/caching/src/hashing/providers.js +163 -0
- package/dist/caching/src/hashing/providers.js.map +1 -0
- package/dist/caching/src/hashing/types.d.ts +340 -0
- package/dist/caching/src/hashing/types.d.ts.map +1 -0
- package/dist/caching/src/hashing/types.js +10 -0
- package/dist/caching/src/hashing/types.js.map +1 -0
- package/dist/caching/src/keyValue/capabilities.d.ts +161 -0
- package/dist/caching/src/keyValue/capabilities.d.ts.map +1 -0
- package/dist/caching/src/keyValue/capabilities.js +334 -0
- package/dist/caching/src/keyValue/capabilities.js.map +1 -0
- package/dist/caching/src/keyValue/event-manager.d.ts +27 -0
- package/dist/caching/src/keyValue/event-manager.d.ts.map +1 -0
- package/dist/caching/src/keyValue/event-manager.js +88 -0
- package/dist/caching/src/keyValue/event-manager.js.map +1 -0
- package/dist/caching/src/keyValue/generic-store.d.ts +243 -0
- package/dist/caching/src/keyValue/generic-store.d.ts.map +1 -0
- package/dist/caching/src/keyValue/generic-store.js +295 -0
- package/dist/caching/src/keyValue/generic-store.js.map +1 -0
- package/dist/caching/src/keyValue/hooks-manager.d.ts +21 -0
- package/dist/caching/src/keyValue/hooks-manager.d.ts.map +1 -0
- package/dist/caching/src/keyValue/hooks-manager.js +59 -0
- package/dist/caching/src/keyValue/hooks-manager.js.map +1 -0
- package/dist/caching/src/keyValue/index.d.ts +334 -0
- package/dist/caching/src/keyValue/index.d.ts.map +1 -0
- package/dist/caching/src/keyValue/index.js +796 -0
- package/dist/caching/src/keyValue/index.js.map +1 -0
- package/dist/caching/src/keyValue/serialize/serialize.d.ts +12 -0
- package/dist/caching/src/keyValue/serialize/serialize.d.ts.map +1 -0
- package/dist/caching/src/keyValue/serialize/serialize.js +64 -0
- package/dist/caching/src/keyValue/serialize/serialize.js.map +1 -0
- package/dist/caching/src/keyValue/stats-manager.d.ts +27 -0
- package/dist/caching/src/keyValue/stats-manager.d.ts.map +1 -0
- package/dist/caching/src/keyValue/stats-manager.js +64 -0
- package/dist/caching/src/keyValue/stats-manager.js.map +1 -0
- package/dist/caching/src/keyValue/types.d.ts +22 -0
- package/dist/caching/src/keyValue/types.d.ts.map +1 -0
- package/dist/caching/src/keyValue/types.js +11 -0
- package/dist/caching/src/keyValue/types.js.map +1 -0
- package/dist/caching/src/keyv-adapter.d.ts +40 -0
- package/dist/caching/src/keyv-adapter.d.ts.map +1 -0
- package/dist/caching/src/keyv-adapter.js +56 -0
- package/dist/caching/src/keyv-adapter.js.map +1 -0
- package/dist/caching/src/utils/cache-tags.d.ts +275 -0
- package/dist/caching/src/utils/cache-tags.d.ts.map +1 -0
- package/dist/caching/src/utils/cache-tags.js +407 -0
- package/dist/caching/src/utils/cache-tags.js.map +1 -0
- package/dist/caching/src/utils/cacheable-item-types.d.ts +35 -0
- package/dist/caching/src/utils/cacheable-item-types.d.ts.map +1 -0
- package/dist/caching/src/utils/cacheable-item-types.js +10 -0
- package/dist/caching/src/utils/cacheable-item-types.js.map +1 -0
- package/dist/caching/src/utils/coalesce-async.d.ts +29 -0
- package/dist/caching/src/utils/coalesce-async.d.ts.map +1 -0
- package/dist/caching/src/utils/coalesce-async.js +88 -0
- package/dist/caching/src/utils/coalesce-async.js.map +1 -0
- package/dist/caching/src/utils/hash.d.ts +55 -0
- package/dist/caching/src/utils/hash.d.ts.map +1 -0
- package/dist/caching/src/utils/hash.js +116 -0
- package/dist/caching/src/utils/hash.js.map +1 -0
- package/dist/caching/src/utils/index.d.ts +24 -0
- package/dist/caching/src/utils/index.d.ts.map +1 -0
- package/dist/caching/src/utils/index.js +21 -0
- package/dist/caching/src/utils/index.js.map +1 -0
- package/dist/caching/src/utils/is-keyv-instance.d.ts +10 -0
- package/dist/caching/src/utils/is-keyv-instance.d.ts.map +1 -0
- package/dist/caching/src/utils/is-keyv-instance.js +37 -0
- package/dist/caching/src/utils/is-keyv-instance.js.map +1 -0
- package/dist/caching/src/utils/is-object.d.ts +10 -0
- package/dist/caching/src/utils/is-object.d.ts.map +1 -0
- package/dist/caching/src/utils/is-object.js +13 -0
- package/dist/caching/src/utils/is-object.js.map +1 -0
- package/dist/caching/src/utils/less-than.d.ts +10 -0
- package/dist/caching/src/utils/less-than.d.ts.map +1 -0
- package/dist/caching/src/utils/less-than.js +13 -0
- package/dist/caching/src/utils/less-than.js.map +1 -0
- package/dist/caching/src/utils/memoize.d.ts +107 -0
- package/dist/caching/src/utils/memoize.d.ts.map +1 -0
- package/dist/caching/src/utils/memoize.js +201 -0
- package/dist/caching/src/utils/memoize.js.map +1 -0
- package/dist/caching/src/utils/mock-cacheable.d.ts +28 -0
- package/dist/caching/src/utils/mock-cacheable.d.ts.map +1 -0
- package/dist/caching/src/utils/mock-cacheable.js +87 -0
- package/dist/caching/src/utils/mock-cacheable.js.map +1 -0
- package/dist/caching/src/utils/run-if-fn.d.ts +12 -0
- package/dist/caching/src/utils/run-if-fn.d.ts.map +1 -0
- package/dist/caching/src/utils/run-if-fn.js +12 -0
- package/dist/caching/src/utils/run-if-fn.js.map +1 -0
- package/dist/caching/src/utils/shorthand-time.d.ts +27 -0
- package/dist/caching/src/utils/shorthand-time.d.ts.map +1 -0
- package/dist/caching/src/utils/shorthand-time.js +96 -0
- package/dist/caching/src/utils/shorthand-time.js.map +1 -0
- package/dist/caching/src/utils/sleep.d.ts +10 -0
- package/dist/caching/src/utils/sleep.d.ts.map +1 -0
- package/dist/caching/src/utils/sleep.js +11 -0
- package/dist/caching/src/utils/sleep.js.map +1 -0
- package/dist/caching/src/utils/stats.d.ts +354 -0
- package/dist/caching/src/utils/stats.d.ts.map +1 -0
- package/dist/caching/src/utils/stats.js +593 -0
- package/dist/caching/src/utils/stats.js.map +1 -0
- package/dist/caching/src/utils/ttl.d.ts +58 -0
- package/dist/caching/src/utils/ttl.d.ts.map +1 -0
- package/dist/caching/src/utils/ttl.js +77 -0
- package/dist/caching/src/utils/ttl.js.map +1 -0
- 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
|
-
|
|
65
|
-
Эту фазу можно обозначить как "vendoring"
|
|
66
|
-
2. Библиотека реструктурируется - дублирующий API (по отношению к SDK) вычищается, библиотека использует инструментарий из SDK. Эта фаза - "формирование fork-а"
|
|
67
|
-
3. При необходимости - остальные части SDK обновляются и используют новую интегрированную часть, то есть фаза "обеспечения консистентности SDK"
|
|
65
|
+
<span style="color:red">I</span> - _"Поставка в составе SDK"_, исходная библиотека поставляется как есть
|
|
68
66
|
|
|
69
|
-
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
179
|
+
However, sometimes integrated libraries change their original name for one or more reasons:
|
|
114
180
|
|
|
115
|
-
|
|
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
|
-
|
|
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 @@
|
|
|
1
|
+
{"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../../src/caching/mod.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC"}
|
|
@@ -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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"}
|