initial commit & scaffold

This commit is contained in:
Elijah Duffy
2025-12-24 16:59:16 -08:00
commit 7375b4d96f
16 changed files with 167 additions and 0 deletions

30
node-health/src/index.ts Normal file
View File

@@ -0,0 +1,30 @@
/**
* Simple liveness & readiness helpers
*/
export type ReadinessResult = {
ok: boolean;
details: { name: string; ok: boolean; error?: string }[];
};
export function liveness() {
return {
status: 'ok',
timestamp: Date.now(),
};
}
export async function readiness(
checks: Array<{ name: string; fn: () => Promise<boolean> | boolean }>
): Promise<ReadinessResult> {
const results: ReadinessResult['details'] = [];
for (const c of checks) {
try {
const r = await Promise.resolve(c.fn());
results.push({ name: c.name, ok: !!r });
} catch (err: any) {
results.push({ name: c.name, ok: false, error: err?.message ?? String(err) });
}
}
return { ok: results.every((r) => r.ok), details: results };
}