UNPKG

fastify-fusion

Version:

Fastify API framework with `best practices` and `plugins` fused together to make it easy to build and maintain your API.

77 lines (66 loc) 2.95 kB
import { FastifyInstance } from 'fastify'; import { CacheableOptions, Cacheable } from 'cacheable'; export { CacheableOptions } from 'cacheable'; import { FastifyCorsOptions } from '@fastify/cors'; import { FastifyHelmetOptions } from '@fastify/helmet'; export { FastifyHelmetOptions } from '@fastify/helmet'; import pino, { LoggerOptions } from 'pino'; export { LoggerOptions } from 'pino'; import { FastifyRateLimitOptions } from '@fastify/rate-limit'; export { FastifyRateLimitOptions } from '@fastify/rate-limit'; declare const defaultCacheableOptions: CacheableOptions; declare function fuseCacheable(fastify: FastifyInstance, options?: CacheableOptions): Promise<void>; declare const defaultFastifyHelmetOptions: FastifyHelmetOptions; declare function fuseHelmet(fastify: FastifyInstance, options: FastifyHelmetOptions): Promise<void>; declare const defaultLoggingOptions: { transport: { target: string; options: { colorize: boolean; translateTime: boolean; ignore: string; singleLine: boolean; }; }; }; declare function fuseLog(fastify: FastifyInstance, options: LoggerOptions): Promise<void>; declare function logger(options?: LoggerOptions): pino.Logger; type OpenApiOptions = { title?: string; description?: string; version?: string; openApiRoutePrefix?: string; docsRoutePath?: string; }; declare function fuseOpenApi(fastify: FastifyInstance, options?: OpenApiOptions): Promise<void>; declare const defaultFastifyRateLimitOptions: FastifyRateLimitOptions; declare function fuseRateLimit(fastify: FastifyInstance, options: FastifyRateLimitOptions): Promise<void>; type StaticPath = { dir: string; path: string; }; type StaticOptions = StaticPath[]; declare function fuseStatic(fastify: FastifyInstance, options: StaticOptions): Promise<void>; type FuseOptions = { static?: boolean | StaticOptions; log?: boolean | LoggerOptions; helmet?: boolean | FastifyHelmetOptions; rateLimit?: boolean | FastifyRateLimitOptions; cors?: boolean | FastifyCorsOptions; openApi?: boolean | OpenApiOptions; cache?: boolean | CacheableOptions; }; declare function fuse(fastify: FastifyInstance, options?: FuseOptions): Promise<void>; declare module "fastify" { interface FastifyInstance { cache: Cacheable; } } type StartOptions = { port?: number; host?: string; message?: (host: string, port: number) => string; }; declare const defaultStartOptions: StartOptions; declare function start(fastify: FastifyInstance, options?: StartOptions): Promise<void>; export { type FuseOptions, type OpenApiOptions, type StartOptions, type StaticOptions, type StaticPath, defaultCacheableOptions, defaultFastifyHelmetOptions, defaultFastifyRateLimitOptions, defaultLoggingOptions, defaultStartOptions, fuse, fuseCacheable, fuseHelmet, fuseLog, fuseOpenApi, fuseRateLimit, fuseStatic, logger, start };