@uizard/nx-fast-s3-cache
Version:
Nx s3 cache using GNU tar, pigz and multipart s3 uploads/downloads
40 lines (39 loc) • 1.33 kB
TypeScript
export interface RemoteCacheImplementation {
/**
* Whether the remote cache is write-only, existing cache won't be fetched.
*/
writeOnly: boolean;
/**
* Stores the file on the remote cache.
* @param filename Filename of the file..
* @param data Buffer of the data that will be stored on the remote cache.
*/
storeFile: (filename: string, folderToArchive: string) => Promise<{
path: string | null;
timings: Record<string, number>;
} | null>;
/**
* Checks whether a file exists on the remote cache.
* @param filename Filename of the file.
* @returns `true` if the file exists, `false` if not.
*/
fileExists: (filename: string) => Promise<{
result: boolean;
timings?: Record<string, number>;
} | null>;
/**
* Retrieves a file from the remote cache.
* @param filename Filename of the file.
* @returns The path to the file that was retrieved
*/
retrieveFile: (file: string, destination: string) => Promise<{
path: string | null;
timings: Record<string, number>;
} | null>;
/**
* A name to identify your remote cache.
* Mainly used for console logging. So please use a pretty string.
* @example `name: 'My Beautiful Cache'`
*/
name: string;
}