Add caching utils

This commit is contained in:
Michael B. Gale 2024-07-22 15:25:54 +01:00
parent 19e7c25974
commit 51d90f48a6
No known key found for this signature in database
GPG key ID: FF5E2765BD00628F
3 changed files with 34 additions and 0 deletions

15
lib/caching-utils.js generated Normal file
View file

@ -0,0 +1,15 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.getTotalCacheSize = getTotalCacheSize;
const util_1 = require("./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.
*/
async function getTotalCacheSize(paths, logger) {
const sizes = await Promise.all(paths.map((cacheDir) => (0, util_1.tryGetFolderBytes)(cacheDir, logger)));
return sizes.map((a) => a || 0).reduce((a, b) => a + b, 0);
}
//# sourceMappingURL=caching-utils.js.map

1
lib/caching-utils.js.map Normal file
View file

@ -0,0 +1 @@
{"version":3,"file":"caching-utils.js","sourceRoot":"","sources":["../src/caching-utils.ts"],"names":[],"mappings":";;AASA,8CAQC;AAhBD,iCAA2C;AAE3C;;;;;GAKG;AACI,KAAK,UAAU,iBAAiB,CACrC,KAAe,EACf,MAAc;IAEd,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,GAAG,CAC7B,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAA,wBAAiB,EAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAC7D,CAAC;IACF,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;AAC7D,CAAC"}

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);
}