Add caching utils

This commit is contained in:
Michael B. Gale
2024-07-22 15:25:54 +01:00
parent 19e7c25974
commit 51d90f48a6
3 changed files with 34 additions and 0 deletions

18
src/caching-utils.ts Normal file
View File

@@ -0,0 +1,18 @@
import { Logger } from "./logging";
import { tryGetFolderBytes } from "./util";
/**
* Returns the total size of all the specified paths.
* @param paths The paths for which to calculate the total size.
* @param logger A logger to record some informational messages to.
* @returns The total size of all specified paths.
*/
export async function getTotalCacheSize(
paths: string[],
logger: Logger,
): Promise<number> {
const sizes = await Promise.all(
paths.map((cacheDir) => tryGetFolderBytes(cacheDir, logger)),
);
return sizes.map((a) => a || 0).reduce((a, b) => a + b, 0);
}