UNPKG

@lokalise/fastify-extras

Version:

Opinionated set of fastify plugins, commonly used in Lokalise

33 lines (32 loc) 1.18 kB
import { type Either } from '@lokalise/node-core'; import type { FastifyPluginCallback } from 'fastify'; import type { HealthChecker } from './healthcheckCommons.js'; export interface CommonHealthcheckPluginOptions { responsePayload?: Record<string, unknown>; logLevel?: 'fatal' | 'error' | 'warn' | 'info' | 'debug' | 'trace' | 'silent'; healthChecks: readonly HealthCheck[]; infoProviders?: readonly InfoProvider[]; isRootRouteEnabled?: boolean; } type HealthcheckResult = { name: string; isMandatory: boolean; result: Either<Error, true>; }; type ResolvedHealthcheckResponse = { isFullyHealthy: boolean; isPartiallyHealthy: boolean; healthChecks: Record<string, string>; }; export type InfoProvider = { name: string; dataResolver: () => Record<string, unknown>; }; export type HealthCheck = { name: string; isMandatory: boolean; checker: HealthChecker; }; export declare function resolveHealthcheckResults(results: HealthcheckResult[], opts: CommonHealthcheckPluginOptions): ResolvedHealthcheckResponse; export declare const commonHealthcheckPlugin: FastifyPluginCallback<CommonHealthcheckPluginOptions>; export {};