-
Notifications
You must be signed in to change notification settings - Fork 9
Description
Исторически, данный модуль вырос из потребности кешировать HTTP запросы, затем стал использоваться в других Cache кейзах.
Но сейчас стало понятно, что данных модуль хочется использоваться как более функциональную замену Map.
Поэтому нужно поправить ряд вещей:
-
Перейти на более привычный порядок типовых параметров K,V (сейчас везде V, K) - https://github.com/V4Fire/Core/blob/master/src/core/cache/interface.ts#L19 . Тут нужно будет аккуратно везде пройтись и поправить.
-
Уйти от трактовки K как строки по умолчанию - https://github.com/V4Fire/Core/blob/master/src/core/cache/interface.ts#L19
https://github.com/V4Fire/Core/blob/master/src/core/cache/decorators/helpers/add-emitter/interface.ts#L28 -
Очень хочется получить аналог default dict из python и тут можно расширить метод get
const cache = new Cache();
cache.get(key, defaultValue);
cache.get(key, () => defaultValue);
- Поправить вывод типов в декораторах. Сейчас почему то не выводится тип кеша.
// Cache<unknown, string>
const cache = addTTL(new Cache<string, string>(), 200);
- Добавить метод clone - возвращает кеш такого же типа, но клонированный.