UNPKG

adonis5-cache

Version:
39 lines (38 loc) 1.74 kB
declare module '@ioc:Adonis/Addons/Adonis5-Cache' { import { CacheStorage } from '@ioc:Adonis/Addons/Adonis5-Cache'; type CacheKeysEventPayload = { keys: string[]; }; type CacheDataEventPayload = { [key: string]: unknown; }; type CacheForgottenEventPayload = { [key: string]: boolean; }; type EventPayload = CacheDataEventPayload | CacheKeysEventPayload | CacheForgottenEventPayload; interface CacheEvents { 'cache-record:read': CacheDataEventPayload; 'cache-record:written': CacheDataEventPayload; 'cache-record:missed': CacheKeysEventPayload; 'cache-record:forgotten': CacheForgottenEventPayload; } type CacheEventsConfig = Record<keyof CacheEvents, boolean>; type TtlUnits = 'years' | 'year' | 'yrs' | 'yr' | 'y' | 'weeks' | 'week' | 'w' | 'days' | 'day' | 'd' | 'hours' | 'hour' | 'hrs' | 'hr' | 'h' | 'minutes' | 'minute' | 'mins' | 'min' | 'm' | 'seconds' | 'second' | 'secs' | 'sec' | 's' | 'milliseconds' | 'millisecond' | 'msecs' | 'msec' | 'ms'; interface CacheConfig { recordTTL: number; currentCacheStorage: CacheStorage; enabledCacheStorages: CacheStorage[]; cacheKeyPrefix: string; ttlUnits: TtlUnits; enabledEvents: CacheEventsConfig; } } declare module '@ioc:Adonis/Core/Event' { import { CacheDataEventPayload, CacheKeysEventPayload, CacheForgottenEventPayload } from '@ioc:Adonis/Addons/Adonis5-Cache'; interface EventsList { 'cache-record:read': CacheDataEventPayload; 'cache-record:written': CacheDataEventPayload; 'cache-record:missed': CacheKeysEventPayload; 'cache-record:forgotten': CacheForgottenEventPayload; } }