Import other modules into monorepo
Some checks failed
continuous-integration/drone/push Build is failing
Some checks failed
continuous-integration/drone/push Build is failing
This commit is contained in:
33
src/util/cache/Cache.ts
vendored
Normal file
33
src/util/cache/Cache.ts
vendored
Normal file
@@ -0,0 +1,33 @@
|
||||
import {Awaitable} from "../support/types"
|
||||
|
||||
/**
|
||||
* Abstract interface class for a cached object.
|
||||
*/
|
||||
export abstract class Cache {
|
||||
/**
|
||||
* Fetch a value from the cache by its key.
|
||||
* @param {string} key
|
||||
* @return Promise<any|undefined>
|
||||
*/
|
||||
public abstract fetch(key: string): Awaitable<string|undefined>;
|
||||
|
||||
/**
|
||||
* Store the given value in the cache by key.
|
||||
* @param {string} key
|
||||
* @param {string} value
|
||||
*/
|
||||
public abstract put(key: string, value: string): Awaitable<void>;
|
||||
|
||||
/**
|
||||
* Check if the cache has the given key.
|
||||
* @param {string} key
|
||||
* @return Promise<boolean>
|
||||
*/
|
||||
public abstract has(key: string): Awaitable<boolean>;
|
||||
|
||||
/**
|
||||
* Drop the given key from the cache.
|
||||
* @param {string} key
|
||||
*/
|
||||
public abstract drop(key: string): Awaitable<void>;
|
||||
}
|
||||
Reference in New Issue
Block a user