1 | import { FastifyInstance } from './instance'
|
2 | import { RawServerBase, RawRequestDefaultExpression, RawReplyDefaultExpression, RawServerDefault } from './utils'
|
3 | import { FastifyTypeProvider, FastifyTypeProviderDefault } from './type-provider'
|
4 | import { FastifyBaseLogger } from './logger'
|
5 |
|
6 | export type FastifyPluginOptions = Record<string, any>
|
7 |
|
8 |
|
9 |
|
10 |
|
11 |
|
12 |
|
13 | export type FastifyPluginCallback<
|
14 | Options extends FastifyPluginOptions = Record<never, never>,
|
15 | Server extends RawServerBase = RawServerDefault,
|
16 | TypeProvider extends FastifyTypeProvider = FastifyTypeProviderDefault,
|
17 | Logger extends FastifyBaseLogger = FastifyBaseLogger,
|
18 | > = (
|
19 | instance: FastifyInstance<Server, RawRequestDefaultExpression<Server>, RawReplyDefaultExpression<Server>, Logger, TypeProvider>,
|
20 | opts: Options,
|
21 | done: (err?: Error) => void
|
22 | ) => void
|
23 |
|
24 |
|
25 |
|
26 |
|
27 |
|
28 |
|
29 | export type FastifyPluginAsync<
|
30 | Options extends FastifyPluginOptions = Record<never, never>,
|
31 | Server extends RawServerBase = RawServerDefault,
|
32 | TypeProvider extends FastifyTypeProvider = FastifyTypeProviderDefault,
|
33 | Logger extends FastifyBaseLogger = FastifyBaseLogger,
|
34 | > = (
|
35 | instance: FastifyInstance<Server, RawRequestDefaultExpression<Server>, RawReplyDefaultExpression<Server>, Logger, TypeProvider>,
|
36 | opts: Options
|
37 | ) => Promise<void>;
|
38 |
|
39 |
|
40 |
|
41 |
|
42 |
|
43 |
|
44 | export type FastifyPlugin<Options extends FastifyPluginOptions = Record<never, never>> = FastifyPluginCallback<Options> | FastifyPluginAsync<Options>
|