UNPKG

@jointly/cache-candidate-plugin-base

Version:

This is a library providing types needed to create a plugin for cache-candidate.

70 lines (69 loc) 2.36 kB
export type PluginPayload = { options: any; key: string; timeoutCache: any; runningQueryCache: any; timeframeCache: any; fnArgs: any[]; result?: any; internals?: { getDataCacheRecord: ({ options, key, HookPayload, staleMap }: { options: any; key: string; HookPayload: PluginPayload; staleMap: StaleMap; }) => Promise<any>; addDataCacheRecord: ({ options, key, result, HookPayload }: { options: any; key: string; result: unknown; HookPayload: PluginPayload; }) => Promise<void>; deleteDataCacheRecord: ({ options, key, HookPayload, result, staleMap, forceDeleteFn }: { options: any; key: string; HookPayload: PluginPayload; result: unknown; staleMap: StaleMap; forceDeleteFn?: boolean; }) => Promise<void>; isDataCacheRecordExpired: ({ birthTime, options }: { birthTime: number; options: any; }) => boolean; getDataCacheKey: (...args: any[]) => string; getExceedingAmount: ({ options, key, timeframeCache, executionTime, args }: { options: any; key: string; timeframeCache: any; executionTime: number; args: any[]; }) => Promise<number>; }; }; export declare enum Hooks { SETUP = "SETUP", INIT = "INIT", EXECUTION_PRE = "EXECUTION_PRE", EXECUTION_POST = "EXECUTION_POST", DATACACHE_RECORD_ADD_PRE = "DATACACHE_RECORD_ADD_PRE", DATACACHE_RECORD_ADD_POST = "DATACACHE_RECORD_ADD_POST", DATACACHE_RECORD_DELETE_PRE = "DATACACHE_RECORD_DELETE_PRE", DATACACHE_RECORD_DELETE_POST = "DATACACHE_RECORD_DELETE_POST", CACHE_HIT = "CACHE_HIT" } export type ActionableHook = { hook: Hooks; action: (payload: PluginPayload, additionalParameters: any) => Promise<void>; }; export type CacheCandidatePlugin = { name: string; hooks: Array<ActionableHook>; }; export type CacheCandidatePluginAdditionalParameters = { additionalParameters?: { [key: string]: any; }; }; export type CacheCandidatePluginWithAdditionalParameters = CacheCandidatePlugin & CacheCandidatePluginAdditionalParameters; export type StaleMap = Map<string, unknown>;