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
TypeScript
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 };