import { createHash } from 'node:crypto'; import { readFile, stat } from '../backends/files.js'; export async function sha256(path: string): Promise { const buf = await readFile(path); return createHash('sha256').update(buf).digest('hex'); } export async function sha256OrNull(path: string): Promise { try { await stat(path); } catch { return null; } return sha256(path); } export function sha256Buffer(buf: Buffer): string { return createHash('sha256').update(buf).digest('hex'); }