28 lines
601 B
TypeScript
28 lines
601 B
TypeScript
import fs from "node:fs";
|
|
|
|
export function resolveCacheTtlMs(params: {
|
|
envValue: string | undefined;
|
|
defaultTtlMs: number;
|
|
}): number {
|
|
const { envValue, defaultTtlMs } = params;
|
|
if (envValue) {
|
|
const parsed = Number.parseInt(envValue, 10);
|
|
if (Number.isFinite(parsed) && parsed >= 0) {
|
|
return parsed;
|
|
}
|
|
}
|
|
return defaultTtlMs;
|
|
}
|
|
|
|
export function isCacheEnabled(ttlMs: number): boolean {
|
|
return ttlMs > 0;
|
|
}
|
|
|
|
export function getFileMtimeMs(filePath: string): number | undefined {
|
|
try {
|
|
return fs.statSync(filePath).mtimeMs;
|
|
} catch {
|
|
return undefined;
|
|
}
|
|
}
|