@rosen-bridge/fastify-enhanced 3.1.0 → 3.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # @rosen-bridge/fastify-enhanced
2
2
 
3
+ ## 3.3.0
4
+
5
+ ### Minor Changes
6
+
7
+ - Add error handler to fastify to map the ResponseSerializationError message
8
+
9
+ ## 3.2.0
10
+
11
+ ### Minor Changes
12
+
13
+ - Add support for using AbstractLogger in place of the default Fastify logger
14
+
3
15
  ## 3.1.0
4
16
 
5
17
  ### Minor Changes
package/README.md CHANGED
@@ -204,3 +204,22 @@ curl --request POST \
204
204
  }'
205
205
  */
206
206
  ```
207
+
208
+ In order to use an instance of **AbstractLogger** for logging, use the `logger` property of the fastify options.
209
+
210
+ ```ts
211
+ import { ConsoleLogger } from '@rosen-bridge/abstract-logger';
212
+ import { makeFastify } from '@rosen-bridge/fastify-enhanced';
213
+
214
+ const fastify = await makeFastify(
215
+ {
216
+ path: '/swagger',
217
+ title: '',
218
+ description: '',
219
+ version: '0.0.1',
220
+ },
221
+ {
222
+ logger: new ConsoleLogger(),
223
+ },
224
+ );
225
+ ```
package/dist/fastify.d.ts CHANGED
@@ -1,9 +1,8 @@
1
- import { FastifyBaseLogger, FastifyHttpOptions } from 'fastify';
2
1
  import 'zod-openapi/extend';
3
- import { FastifyWithZod, FastifyWithZodServer, SwaggerOpts } from './types';
2
+ import { FastifyOpts, FastifyWithZod, SwaggerOpts } from './types';
4
3
  /**
5
4
  * creates an instance of Fastify with Zod validation library as validator and
6
5
  * type provider
7
6
  */
8
- export declare const makeFastify: (swaggerOpts?: SwaggerOpts, opts?: FastifyHttpOptions<FastifyWithZodServer, FastifyBaseLogger>) => Promise<FastifyWithZod>;
7
+ export declare const makeFastify: (swaggerOpts?: SwaggerOpts, opts?: FastifyOpts) => Promise<FastifyWithZod>;
9
8
  //# sourceMappingURL=fastify.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"fastify.d.ts","sourceRoot":"","sources":["../lib/fastify.ts"],"names":[],"mappings":"AAAA,OAAgB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAOzE,OAAO,oBAAoB,CAAC;AAG5B,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE5E;;;GAGG;AACH,eAAO,MAAM,WAAW,GACtB,cAAa,WAMZ,EACD,OAAM,kBAAkB,CAAC,oBAAoB,EAAE,iBAAiB,CAE/D,KACA,OAAO,CAAC,cAAc,CAYxB,CAAC"}
1
+ {"version":3,"file":"fastify.d.ts","sourceRoot":"","sources":["../lib/fastify.ts"],"names":[],"mappings":"AAQA,OAAO,oBAAoB,CAAC;AAM5B,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEnE;;;GAGG;AACH,eAAO,MAAM,WAAW,GACtB,cAAa,WAMZ,EACD,OAAM,WAAgB,KACrB,OAAO,CAAC,cAAc,CA4BxB,CAAC"}
package/dist/fastify.js CHANGED
@@ -1,6 +1,8 @@
1
1
  import Fastify from 'fastify';
2
- import { fastifyZodOpenApiPlugin, serializerCompiler, validatorCompiler, } from 'fastify-zod-openapi';
2
+ import { ResponseSerializationError, fastifyZodOpenApiPlugin, serializerCompiler, validatorCompiler, } from 'fastify-zod-openapi';
3
3
  import 'zod-openapi/extend';
4
+ import { DummyLogger } from '@rosen-bridge/abstract-logger';
5
+ import { FastifyLogger } from './logger';
4
6
  import { registerSwagger } from './swagger';
5
7
  /**
6
8
  * creates an instance of Fastify with Zod validation library as validator and
@@ -12,14 +14,27 @@ export const makeFastify = async (swaggerOpts = {
12
14
  description: '',
13
15
  version: '0.0.1',
14
16
  enableCSP: false,
15
- }, opts = {
16
- logger: true,
17
- }) => {
18
- const fastify = Fastify(opts).withTypeProvider();
17
+ }, opts = {}) => {
18
+ const { mapResponseSerializationErrors, ...fastifyOpts } = opts;
19
+ const fastify = Fastify({
20
+ ...fastifyOpts,
21
+ logger: false,
22
+ loggerInstance: new FastifyLogger(fastifyOpts.logger ?? new DummyLogger()),
23
+ }).withTypeProvider();
19
24
  fastify.setValidatorCompiler(validatorCompiler);
20
25
  fastify.setSerializerCompiler(serializerCompiler);
21
26
  await fastify.register(fastifyZodOpenApiPlugin);
22
27
  await registerSwagger(fastify, swaggerOpts);
28
+ fastify.setErrorHandler(function (error, request, reply) {
29
+ if ((mapResponseSerializationErrors ?? true) &&
30
+ error instanceof ResponseSerializationError) {
31
+ this.log.error(error);
32
+ reply.status(500).send({ message: 'Internal server error' });
33
+ }
34
+ else {
35
+ reply.send(error);
36
+ }
37
+ });
23
38
  return fastify;
24
39
  };
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFzdGlmeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL2xpYi9mYXN0aWZ5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sT0FBa0QsTUFBTSxTQUFTLENBQUM7QUFDekUsT0FBTyxFQUVMLHVCQUF1QixFQUN2QixrQkFBa0IsRUFDbEIsaUJBQWlCLEdBQ2xCLE1BQU0scUJBQXFCLENBQUM7QUFDN0IsT0FBTyxvQkFBb0IsQ0FBQztBQUU1QixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBRzVDOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxLQUFLLEVBQzlCLGNBQTJCO0lBQ3pCLElBQUksRUFBRSxVQUFVO0lBQ2hCLEtBQUssRUFBRSxLQUFLO0lBQ1osV0FBVyxFQUFFLEVBQUU7SUFDZixPQUFPLEVBQUUsT0FBTztJQUNoQixTQUFTLEVBQUUsS0FBSztDQUNqQixFQUNELE9BQW9FO0lBQ2xFLE1BQU0sRUFBRSxJQUFJO0NBQ2IsRUFDd0IsRUFBRTtJQUMzQixNQUFNLE9BQU8sR0FDWCxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsZ0JBQWdCLEVBQWlDLENBQUM7SUFFbEUsT0FBTyxDQUFDLG9CQUFvQixDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDaEQsT0FBTyxDQUFDLHFCQUFxQixDQUFDLGtCQUFrQixDQUFDLENBQUM7SUFFbEQsTUFBTSxPQUFPLENBQUMsUUFBUSxDQUFDLHVCQUF1QixDQUFDLENBQUM7SUFFaEQsTUFBTSxlQUFlLENBQUMsT0FBTyxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBRTVDLE9BQU8sT0FBTyxDQUFDO0FBQ2pCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBGYXN0aWZ5LCB7IEZhc3RpZnlCYXNlTG9nZ2VyLCBGYXN0aWZ5SHR0cE9wdGlvbnMgfSBmcm9tICdmYXN0aWZ5JztcbmltcG9ydCB7XG4gIHR5cGUgRmFzdGlmeVpvZE9wZW5BcGlUeXBlUHJvdmlkZXIsXG4gIGZhc3RpZnlab2RPcGVuQXBpUGx1Z2luLFxuICBzZXJpYWxpemVyQ29tcGlsZXIsXG4gIHZhbGlkYXRvckNvbXBpbGVyLFxufSBmcm9tICdmYXN0aWZ5LXpvZC1vcGVuYXBpJztcbmltcG9ydCAnem9kLW9wZW5hcGkvZXh0ZW5kJztcblxuaW1wb3J0IHsgcmVnaXN0ZXJTd2FnZ2VyIH0gZnJvbSAnLi9zd2FnZ2VyJztcbmltcG9ydCB7IEZhc3RpZnlXaXRoWm9kLCBGYXN0aWZ5V2l0aFpvZFNlcnZlciwgU3dhZ2dlck9wdHMgfSBmcm9tICcuL3R5cGVzJztcblxuLyoqXG4gKiBjcmVhdGVzIGFuIGluc3RhbmNlIG9mIEZhc3RpZnkgd2l0aCBab2QgdmFsaWRhdGlvbiBsaWJyYXJ5IGFzIHZhbGlkYXRvciBhbmRcbiAqIHR5cGUgcHJvdmlkZXJcbiAqL1xuZXhwb3J0IGNvbnN0IG1ha2VGYXN0aWZ5ID0gYXN5bmMgKFxuICBzd2FnZ2VyT3B0czogU3dhZ2dlck9wdHMgPSB7XG4gICAgcGF0aDogJy9zd2FnZ2VyJyxcbiAgICB0aXRsZTogJ2FwaScsXG4gICAgZGVzY3JpcHRpb246ICcnLFxuICAgIHZlcnNpb246ICcwLjAuMScsXG4gICAgZW5hYmxlQ1NQOiBmYWxzZSxcbiAgfSxcbiAgb3B0czogRmFzdGlmeUh0dHBPcHRpb25zPEZhc3RpZnlXaXRoWm9kU2VydmVyLCBGYXN0aWZ5QmFzZUxvZ2dlcj4gPSB7XG4gICAgbG9nZ2VyOiB0cnVlLFxuICB9LFxuKTogUHJvbWlzZTxGYXN0aWZ5V2l0aFpvZD4gPT4ge1xuICBjb25zdCBmYXN0aWZ5ID1cbiAgICBGYXN0aWZ5KG9wdHMpLndpdGhUeXBlUHJvdmlkZXI8RmFzdGlmeVpvZE9wZW5BcGlUeXBlUHJvdmlkZXI+KCk7XG5cbiAgZmFzdGlmeS5zZXRWYWxpZGF0b3JDb21waWxlcih2YWxpZGF0b3JDb21waWxlcik7XG4gIGZhc3RpZnkuc2V0U2VyaWFsaXplckNvbXBpbGVyKHNlcmlhbGl6ZXJDb21waWxlcik7XG5cbiAgYXdhaXQgZmFzdGlmeS5yZWdpc3RlcihmYXN0aWZ5Wm9kT3BlbkFwaVBsdWdpbik7XG5cbiAgYXdhaXQgcmVnaXN0ZXJTd2FnZ2VyKGZhc3RpZnksIHN3YWdnZXJPcHRzKTtcblxuICByZXR1cm4gZmFzdGlmeTtcbn07XG4iXX0=
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFzdGlmeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL2xpYi9mYXN0aWZ5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sT0FBTyxNQUFNLFNBQVMsQ0FBQztBQUM5QixPQUFPLEVBRUwsMEJBQTBCLEVBQzFCLHVCQUF1QixFQUN2QixrQkFBa0IsRUFDbEIsaUJBQWlCLEdBQ2xCLE1BQU0scUJBQXFCLENBQUM7QUFDN0IsT0FBTyxvQkFBb0IsQ0FBQztBQUU1QixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFNUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBRzVDOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxLQUFLLEVBQzlCLGNBQTJCO0lBQ3pCLElBQUksRUFBRSxVQUFVO0lBQ2hCLEtBQUssRUFBRSxLQUFLO0lBQ1osV0FBVyxFQUFFLEVBQUU7SUFDZixPQUFPLEVBQUUsT0FBTztJQUNoQixTQUFTLEVBQUUsS0FBSztDQUNqQixFQUNELE9BQW9CLEVBQUUsRUFDRyxFQUFFO0lBQzNCLE1BQU0sRUFBRSw4QkFBOEIsRUFBRSxHQUFHLFdBQVcsRUFBRSxHQUFHLElBQUksQ0FBQztJQUNoRSxNQUFNLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDdEIsR0FBRyxXQUFXO1FBQ2QsTUFBTSxFQUFFLEtBQUs7UUFDYixjQUFjLEVBQUUsSUFBSSxhQUFhLENBQUMsV0FBVyxDQUFDLE1BQU0sSUFBSSxJQUFJLFdBQVcsRUFBRSxDQUFDO0tBQzNFLENBQUMsQ0FBQyxnQkFBZ0IsRUFBaUMsQ0FBQztJQUVyRCxPQUFPLENBQUMsb0JBQW9CLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUNoRCxPQUFPLENBQUMscUJBQXFCLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJQUVsRCxNQUFNLE9BQU8sQ0FBQyxRQUFRLENBQUMsdUJBQXVCLENBQUMsQ0FBQztJQUVoRCxNQUFNLGVBQWUsQ0FBQyxPQUFPLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFFNUMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxVQUFVLEtBQUssRUFBRSxPQUFPLEVBQUUsS0FBSztRQUNyRCxJQUNFLENBQUMsOEJBQThCLElBQUksSUFBSSxDQUFDO1lBQ3hDLEtBQUssWUFBWSwwQkFBMEIsRUFDM0MsQ0FBQztZQUNELElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3RCLEtBQUssQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLENBQUMsQ0FBQztRQUMvRCxDQUFDO2FBQU0sQ0FBQztZQUNOLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDcEIsQ0FBQztJQUNILENBQUMsQ0FBQyxDQUFDO0lBRUgsT0FBTyxPQUFPLENBQUM7QUFDakIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IEZhc3RpZnkgZnJvbSAnZmFzdGlmeSc7XG5pbXBvcnQge1xuICB0eXBlIEZhc3RpZnlab2RPcGVuQXBpVHlwZVByb3ZpZGVyLFxuICBSZXNwb25zZVNlcmlhbGl6YXRpb25FcnJvcixcbiAgZmFzdGlmeVpvZE9wZW5BcGlQbHVnaW4sXG4gIHNlcmlhbGl6ZXJDb21waWxlcixcbiAgdmFsaWRhdG9yQ29tcGlsZXIsXG59IGZyb20gJ2Zhc3RpZnktem9kLW9wZW5hcGknO1xuaW1wb3J0ICd6b2Qtb3BlbmFwaS9leHRlbmQnO1xuXG5pbXBvcnQgeyBEdW1teUxvZ2dlciB9IGZyb20gJ0Byb3Nlbi1icmlkZ2UvYWJzdHJhY3QtbG9nZ2VyJztcblxuaW1wb3J0IHsgRmFzdGlmeUxvZ2dlciB9IGZyb20gJy4vbG9nZ2VyJztcbmltcG9ydCB7IHJlZ2lzdGVyU3dhZ2dlciB9IGZyb20gJy4vc3dhZ2dlcic7XG5pbXBvcnQgeyBGYXN0aWZ5T3B0cywgRmFzdGlmeVdpdGhab2QsIFN3YWdnZXJPcHRzIH0gZnJvbSAnLi90eXBlcyc7XG5cbi8qKlxuICogY3JlYXRlcyBhbiBpbnN0YW5jZSBvZiBGYXN0aWZ5IHdpdGggWm9kIHZhbGlkYXRpb24gbGlicmFyeSBhcyB2YWxpZGF0b3IgYW5kXG4gKiB0eXBlIHByb3ZpZGVyXG4gKi9cbmV4cG9ydCBjb25zdCBtYWtlRmFzdGlmeSA9IGFzeW5jIChcbiAgc3dhZ2dlck9wdHM6IFN3YWdnZXJPcHRzID0ge1xuICAgIHBhdGg6ICcvc3dhZ2dlcicsXG4gICAgdGl0bGU6ICdhcGknLFxuICAgIGRlc2NyaXB0aW9uOiAnJyxcbiAgICB2ZXJzaW9uOiAnMC4wLjEnLFxuICAgIGVuYWJsZUNTUDogZmFsc2UsXG4gIH0sXG4gIG9wdHM6IEZhc3RpZnlPcHRzID0ge30sXG4pOiBQcm9taXNlPEZhc3RpZnlXaXRoWm9kPiA9PiB7XG4gIGNvbnN0IHsgbWFwUmVzcG9uc2VTZXJpYWxpemF0aW9uRXJyb3JzLCAuLi5mYXN0aWZ5T3B0cyB9ID0gb3B0cztcbiAgY29uc3QgZmFzdGlmeSA9IEZhc3RpZnkoe1xuICAgIC4uLmZhc3RpZnlPcHRzLFxuICAgIGxvZ2dlcjogZmFsc2UsXG4gICAgbG9nZ2VySW5zdGFuY2U6IG5ldyBGYXN0aWZ5TG9nZ2VyKGZhc3RpZnlPcHRzLmxvZ2dlciA/PyBuZXcgRHVtbXlMb2dnZXIoKSksXG4gIH0pLndpdGhUeXBlUHJvdmlkZXI8RmFzdGlmeVpvZE9wZW5BcGlUeXBlUHJvdmlkZXI+KCk7XG5cbiAgZmFzdGlmeS5zZXRWYWxpZGF0b3JDb21waWxlcih2YWxpZGF0b3JDb21waWxlcik7XG4gIGZhc3RpZnkuc2V0U2VyaWFsaXplckNvbXBpbGVyKHNlcmlhbGl6ZXJDb21waWxlcik7XG5cbiAgYXdhaXQgZmFzdGlmeS5yZWdpc3RlcihmYXN0aWZ5Wm9kT3BlbkFwaVBsdWdpbik7XG5cbiAgYXdhaXQgcmVnaXN0ZXJTd2FnZ2VyKGZhc3RpZnksIHN3YWdnZXJPcHRzKTtcblxuICBmYXN0aWZ5LnNldEVycm9ySGFuZGxlcihmdW5jdGlvbiAoZXJyb3IsIHJlcXVlc3QsIHJlcGx5KSB7XG4gICAgaWYgKFxuICAgICAgKG1hcFJlc3BvbnNlU2VyaWFsaXphdGlvbkVycm9ycyA/PyB0cnVlKSAmJlxuICAgICAgZXJyb3IgaW5zdGFuY2VvZiBSZXNwb25zZVNlcmlhbGl6YXRpb25FcnJvclxuICAgICkge1xuICAgICAgdGhpcy5sb2cuZXJyb3IoZXJyb3IpO1xuICAgICAgcmVwbHkuc3RhdHVzKDUwMCkuc2VuZCh7IG1lc3NhZ2U6ICdJbnRlcm5hbCBzZXJ2ZXIgZXJyb3InIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXBseS5zZW5kKGVycm9yKTtcbiAgICB9XG4gIH0pO1xuXG4gIHJldHVybiBmYXN0aWZ5O1xufTtcbiJdfQ==
@@ -0,0 +1,73 @@
1
+ import { FastifyBaseLogger, LogLevel } from 'fastify';
2
+ import { AbstractLogger } from '@rosen-bridge/abstract-logger';
3
+ export declare class FastifyLogger implements FastifyBaseLogger {
4
+ protected logger: AbstractLogger;
5
+ level: LogLevel;
6
+ /**
7
+ * creates a new instance
8
+ *
9
+ * @param logger - the underlying logger to delegate to
10
+ * @param level - for FastifyBaseLogger interface compliance
11
+ */
12
+ constructor(logger: AbstractLogger, level?: LogLevel);
13
+ /**
14
+ * no-op silent logger method (for Pino interface compliance)
15
+ * logs nothing regardless of input
16
+ */
17
+ silent: () => void;
18
+ /**
19
+ * logs a trace-level message
20
+ *
21
+ * @param obj: object to be serialized
22
+ * @param msg: the log message to write
23
+ */
24
+ trace: (...args: unknown[]) => void;
25
+ /**
26
+ * logs a debug-level message
27
+ *
28
+ * @param obj: object to be serialized
29
+ * @param msg: the log message to write
30
+ */
31
+ debug: (...args: unknown[]) => void;
32
+ /**
33
+ * logs an info-level message
34
+ *
35
+ * @param obj: object to be serialized
36
+ * @param msg: the log message to write
37
+ */
38
+ info: (...args: unknown[]) => void;
39
+ /**
40
+ * logs a warning-level message
41
+ *
42
+ * @param obj: object to be serialized
43
+ * @param msg: the log message to write
44
+ */
45
+ warn: (...args: unknown[]) => void;
46
+ /**
47
+ * logs an error-level message
48
+ *
49
+ * @param obj: object to be serialized
50
+ * @param msg: the log message to write
51
+ */
52
+ error: (...args: unknown[]) => void;
53
+ /**
54
+ * logs a critical/fatal-level message
55
+ *
56
+ * @param obj: object to be serialized
57
+ * @param msg: the log message to write
58
+ */
59
+ fatal: (...args: unknown[]) => void;
60
+ /**
61
+ * creates a child logger with bindings and optional configuration
62
+ * conforms to the Pino/Fastify logger interface
63
+ *
64
+ * @param bindings - Key-value pairs to attach to all logs from the child logger
65
+ * @returns A new FastifyBaseLogger instance (child logger)
66
+ */
67
+ child: (bindings: Record<string, unknown>) => FastifyBaseLogger;
68
+ /**
69
+ * utility function to map and serialize the arguments of fastify logger functions
70
+ */
71
+ private parseArgs;
72
+ }
73
+ //# sourceMappingURL=logger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../lib/logger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAGtD,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAE/D,qBAAa,aAAc,YAAW,iBAAiB;IAQnD,SAAS,CAAC,MAAM,EAAE,cAAc;IACzB,KAAK,EAAE,QAAQ;IARxB;;;;;OAKG;gBAES,MAAM,EAAE,cAAc,EACzB,KAAK,GAAE,QAAiB;IAGjC;;;OAGG;IACH,MAAM,aAEJ;IAEF;;;;;OAKG;IACH,KAAK,GAAI,GAAG,MAAM,OAAO,EAAE,UAGzB;IAEF;;;;;OAKG;IACH,KAAK,GAAI,GAAG,MAAM,OAAO,EAAE,UAGzB;IAEF;;;;;OAKG;IACH,IAAI,GAAI,GAAG,MAAM,OAAO,EAAE,UAGxB;IAEF;;;;;OAKG;IACH,IAAI,GAAI,GAAG,MAAM,OAAO,EAAE,UAGxB;IAEF;;;;;OAKG;IACH,KAAK,GAAI,GAAG,MAAM,OAAO,EAAE,UAGzB;IAEF;;;;;OAKG;IACH,KAAK,GAAI,GAAG,MAAM,OAAO,EAAE,UAGzB;IAEF;;;;;;OAMG;IACH,KAAK,GAAI,UAAU,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAG,iBAAiB,CAK5D;IAEF;;OAEG;IACH,OAAO,CAAC,SAAS,CAuBf;CACH"}
package/dist/logger.js ADDED
@@ -0,0 +1,121 @@
1
+ import { serializers } from 'fastify/lib/logger-pino.js';
2
+ export class FastifyLogger {
3
+ logger;
4
+ level;
5
+ /**
6
+ * creates a new instance
7
+ *
8
+ * @param logger - the underlying logger to delegate to
9
+ * @param level - for FastifyBaseLogger interface compliance
10
+ */
11
+ constructor(logger, level = 'info') {
12
+ this.logger = logger;
13
+ this.level = level;
14
+ }
15
+ /**
16
+ * no-op silent logger method (for Pino interface compliance)
17
+ * logs nothing regardless of input
18
+ */
19
+ silent = () => {
20
+ // No-op
21
+ };
22
+ /**
23
+ * logs a trace-level message
24
+ *
25
+ * @param obj: object to be serialized
26
+ * @param msg: the log message to write
27
+ */
28
+ trace = (...args) => {
29
+ const { message, ...context } = this.parseArgs(...args);
30
+ this.logger.trace(message, context);
31
+ };
32
+ /**
33
+ * logs a debug-level message
34
+ *
35
+ * @param obj: object to be serialized
36
+ * @param msg: the log message to write
37
+ */
38
+ debug = (...args) => {
39
+ const { message, ...context } = this.parseArgs(...args);
40
+ this.logger.debug(message, context);
41
+ };
42
+ /**
43
+ * logs an info-level message
44
+ *
45
+ * @param obj: object to be serialized
46
+ * @param msg: the log message to write
47
+ */
48
+ info = (...args) => {
49
+ const { message, ...context } = this.parseArgs(...args);
50
+ this.logger.info(message, context);
51
+ };
52
+ /**
53
+ * logs a warning-level message
54
+ *
55
+ * @param obj: object to be serialized
56
+ * @param msg: the log message to write
57
+ */
58
+ warn = (...args) => {
59
+ const { message, ...context } = this.parseArgs(...args);
60
+ this.logger.warn(message, context);
61
+ };
62
+ /**
63
+ * logs an error-level message
64
+ *
65
+ * @param obj: object to be serialized
66
+ * @param msg: the log message to write
67
+ */
68
+ error = (...args) => {
69
+ const { message, ...context } = this.parseArgs(...args);
70
+ this.logger.error(message, context);
71
+ };
72
+ /**
73
+ * logs a critical/fatal-level message
74
+ *
75
+ * @param obj: object to be serialized
76
+ * @param msg: the log message to write
77
+ */
78
+ fatal = (...args) => {
79
+ const { message, ...context } = this.parseArgs(...args);
80
+ this.logger.critical(message, context);
81
+ };
82
+ /**
83
+ * creates a child logger with bindings and optional configuration
84
+ * conforms to the Pino/Fastify logger interface
85
+ *
86
+ * @param bindings - Key-value pairs to attach to all logs from the child logger
87
+ * @returns A new FastifyBaseLogger instance (child logger)
88
+ */
89
+ child = (bindings) => {
90
+ if (Object.keys(bindings).length === 0)
91
+ return this;
92
+ const childLogger = this.logger.child(JSON.stringify(bindings));
93
+ return new FastifyLogger(childLogger, this.level);
94
+ };
95
+ /**
96
+ * utility function to map and serialize the arguments of fastify logger functions
97
+ */
98
+ parseArgs = (...args) => {
99
+ const [arg0, arg1] = args;
100
+ let info = {};
101
+ if (typeof arg0 === 'string') {
102
+ // format: message [...splat]
103
+ info.message = arg0;
104
+ }
105
+ else {
106
+ // format: meta [message] [...splat]
107
+ info = (arg0 ?? {});
108
+ if (arg0 instanceof Error)
109
+ info = { err: arg0, message: arg0.message };
110
+ // serialize fastify req, res, err
111
+ for (const key in info) {
112
+ if (serializers[key])
113
+ info[key] = serializers[key](info[key]);
114
+ }
115
+ if (arg1)
116
+ info.message = arg1;
117
+ }
118
+ return info;
119
+ };
120
+ }
121
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nZ2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vbGliL2xvZ2dlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFJekQsTUFBTSxPQUFPLGFBQWE7SUFRWjtJQUNIO0lBUlQ7Ozs7O09BS0c7SUFDSCxZQUNZLE1BQXNCLEVBQ3pCLFFBQWtCLE1BQU07UUFEckIsV0FBTSxHQUFOLE1BQU0sQ0FBZ0I7UUFDekIsVUFBSyxHQUFMLEtBQUssQ0FBbUI7SUFDOUIsQ0FBQztJQUVKOzs7T0FHRztJQUNILE1BQU0sR0FBRyxHQUFHLEVBQUU7UUFDWixRQUFRO0lBQ1YsQ0FBQyxDQUFDO0lBRUY7Ozs7O09BS0c7SUFDSCxLQUFLLEdBQUcsQ0FBQyxHQUFHLElBQWUsRUFBRSxFQUFFO1FBQzdCLE1BQU0sRUFBRSxPQUFPLEVBQUUsR0FBRyxPQUFPLEVBQUUsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUM7UUFDeEQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsT0FBaUIsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNoRCxDQUFDLENBQUM7SUFFRjs7Ozs7T0FLRztJQUNILEtBQUssR0FBRyxDQUFDLEdBQUcsSUFBZSxFQUFFLEVBQUU7UUFDN0IsTUFBTSxFQUFFLE9BQU8sRUFBRSxHQUFHLE9BQU8sRUFBRSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQztRQUN4RCxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxPQUFpQixFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ2hELENBQUMsQ0FBQztJQUVGOzs7OztPQUtHO0lBQ0gsSUFBSSxHQUFHLENBQUMsR0FBRyxJQUFlLEVBQUUsRUFBRTtRQUM1QixNQUFNLEVBQUUsT0FBTyxFQUFFLEdBQUcsT0FBTyxFQUFFLEdBQUcsSUFBSSxDQUFDLFNBQVMs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Z0xldmVsIH0gZnJvbSAnZmFzdGlmeSc7XG5pbXBvcnQgeyBzZXJpYWxpemVycyB9IGZyb20gJ2Zhc3RpZnkvbGliL2xvZ2dlci1waW5vLmpzJztcblxuaW1wb3J0IHsgQWJzdHJhY3RMb2dnZXIgfSBmcm9tICdAcm9zZW4tYnJpZGdlL2Fic3RyYWN0LWxvZ2dlcic7XG5cbmV4cG9ydCBjbGFzcyBGYXN0aWZ5TG9nZ2VyIGltcGxlbWVudHMgRmFzdGlmeUJhc2VMb2dnZXIge1xuICAvKipcbiAgICogY3JlYXRlcyBhIG5ldyBpbnN0YW5jZVxuICAgKlxuICAgKiBAcGFyYW0gbG9nZ2VyIC0gdGhlIHVuZGVybHlpbmcgbG9nZ2VyIHRvIGRlbGVnYXRlIHRvXG4gICAqIEBwYXJhbSBsZXZlbCAtIGZvciBGYXN0aWZ5QmFzZUxvZ2dlciBpbnRlcmZhY2UgY29tcGxpYW5jZVxuICAgKi9cbiAgY29uc3RydWN0b3IoXG4gICAgcHJvdGVjdGVkIGxvZ2dlcjogQWJzdHJhY3RMb2dnZXIsXG4gICAgcHVibGljIGxldmVsOiBMb2dMZXZlbCA9ICdpbmZvJyxcbiAgKSB7fVxuXG4gIC8qKlxuICAgKiBuby1vcCBzaWxlbnQgbG9nZ2VyIG1ldGhvZCAoZm9yIFBpbm8gaW50ZXJmYWNlIGNvbXBsaWFuY2UpXG4gICAqIGxvZ3Mgbm90aGluZyByZWdhcmRsZXNzIG9mIGlucHV0XG4gICAqL1xuICBzaWxlbnQgPSAoKSA9PiB7XG4gICAgLy8gTm8tb3BcbiAgfTtcblxuICAvKipcbiAgICogbG9ncyBhIHRyYWNlLWxldmVsIG1lc3NhZ2VcbiAgICpcbiAgICogQHBhcmFtIG9iajogb2JqZWN0IHRvIGJlIHNlcmlhbGl6ZWRcbiAgICogQHBhcmFtIG1zZzogdGhlIGxvZyBtZXNzYWdlIHRvIHdyaXRlXG4gICAqL1xuICB0cmFjZSA9ICguLi5hcmdzOiB1bmtub3duW10pID0+IHtcbiAgICBjb25zdCB7IG1lc3NhZ2UsIC4uLmNvbnRleHQgfSA9IHRoaXMucGFyc2VBcmdzKC4uLmFyZ3MpO1xuICAgIHRoaXMubG9nZ2VyLnRyYWNlKG1lc3NhZ2UgYXMgc3RyaW5nLCBjb250ZXh0KTtcbiAgfTtcblxuICAvKipcbiAgICogbG9ncyBhIGRlYnVnLWxldmVsIG1lc3NhZ2VcbiAgICpcbiAgICogQHBhcmFtIG9iajogb2JqZWN0IHRvIGJlIHNlcmlhbGl6ZWRcbiAgICogQHBhcmFtIG1zZzogdGhlIGxvZyBtZXNzYWdlIHRvIHdyaXRlXG4gICAqL1xuICBkZWJ1ZyA9ICguLi5hcmdzOiB1bmtub3duW10pID0+IHtcbiAgICBjb25zdCB7IG1lc3NhZ2UsIC4uLmNvbnRleHQgfSA9IHRoaXMucGFyc2VBcmdzKC4uLmFyZ3MpO1xuICAgIHRoaXMubG9nZ2VyLmRlYnVnKG1lc3NhZ2UgYXMgc3RyaW5nLCBjb250ZXh0KTtcbiAgfTtcblxuICAvKipcbiAgICogbG9ncyBhbiBpbmZvLWxldmVsIG1lc3NhZ2VcbiAgICpcbiAgICogQHBhcmFtIG9iajogb2JqZWN0IHRvIGJlIHNlcmlhbGl6ZWRcbiAgICogQHBhcmFtIG1zZzogdGhlIGxvZyBtZXNzYWdlIHRvIHdyaXRlXG4gICAqL1xuICBpbmZvID0gKC4uLmFyZ3M6IHVua25vd25bXSkgPT4ge1xuICAgIGNvbnN0IHsgbWVzc2FnZSwgLi4uY29udGV4dCB9ID0gdGhpcy5wYXJzZUFyZ3MoLi4uYXJncyk7XG4gICAgdGhpcy5sb2dnZXIuaW5mbyhtZXNzYWdlIGFzIHN0cmluZywgY29udGV4dCk7XG4gIH07XG5cbiAgLyoqXG4gICAqIGxvZ3MgYSB3YXJuaW5nLWxldmVsIG1lc3NhZ2VcbiAgICpcbiAgICogQHBhcmFtIG9iajogb2JqZWN0IHRvIGJlIHNlcmlhbGl6ZWRcbiAgICogQHBhcmFtIG1zZzogdGhlIGxvZyBtZXNzYWdlIHRvIHdyaXRlXG4gICAqL1xuICB3YXJuID0gKC4uLmFyZ3M6IHVua25vd25bXSkgPT4ge1xuICAgIGNvbnN0IHsgbWVzc2FnZSwgLi4uY29udGV4dCB9ID0gdGhpcy5wYXJzZUFyZ3MoLi4uYXJncyk7XG4gICAgdGhpcy5sb2dnZXIud2FybihtZXNzYWdlIGFzIHN0cmluZywgY29udGV4dCk7XG4gIH07XG5cbiAgLyoqXG4gICAqIGxvZ3MgYW4gZXJyb3ItbGV2ZWwgbWVzc2FnZVxuICAgKlxuICAgKiBAcGFyYW0gb2JqOiBvYmplY3QgdG8gYmUgc2VyaWFsaXplZFxuICAgKiBAcGFyYW0gbXNnOiB0aGUgbG9nIG1lc3NhZ2UgdG8gd3JpdGVcbiAgICovXG4gIGVycm9yID0gKC4uLmFyZ3M6IHVua25vd25bXSkgPT4ge1xuICAgIGNvbnN0IHsgbWVzc2FnZSwgLi4uY29udGV4dCB9ID0gdGhpcy5wYXJzZUFyZ3MoLi4uYXJncyk7XG4gICAgdGhpcy5sb2dnZXIuZXJyb3IobWVzc2FnZSBhcyBzdHJpbmcsIGNvbnRleHQpO1xuICB9O1xuXG4gIC8qKlxuICAgKiBsb2dzIGEgY3JpdGljYWwvZmF0YWwtbGV2ZWwgbWVzc2FnZVxuICAgKlxuICAgKiBAcGFyYW0gb2JqOiBvYmplY3QgdG8gYmUgc2VyaWFsaXplZFxuICAgKiBAcGFyYW0gbXNnOiB0aGUgbG9nIG1lc3NhZ2UgdG8gd3JpdGVcbiAgICovXG4gIGZhdGFsID0gKC4uLmFyZ3M6IHVua25vd25bXSkgPT4ge1xuICAgIGNvbnN0IHsgbWVzc2FnZSwgLi4uY29udGV4dCB9ID0gdGhpcy5wYXJzZUFyZ3MoLi4uYXJncyk7XG4gICAgdGhpcy5sb2dnZXIuY3JpdGljYWwobWVzc2FnZSBhcyBzdHJpbmcsIGNvbnRleHQpO1xuICB9O1xuXG4gIC8qKlxuICAgKiBjcmVhdGVzIGEgY2hpbGQgbG9nZ2VyIHdpdGggYmluZGluZ3MgYW5kIG9wdGlvbmFsIGNvbmZpZ3VyYXRpb25cbiAgICogY29uZm9ybXMgdG8gdGhlIFBpbm8vRmFzdGlmeSBsb2dnZXIgaW50ZXJmYWNlXG4gICAqXG4gICAqIEBwYXJhbSBiaW5kaW5ncyAtIEtleS12YWx1ZSBwYWlycyB0byBhdHRhY2ggdG8gYWxsIGxvZ3MgZnJvbSB0aGUgY2hpbGQgbG9nZ2VyXG4gICAqIEByZXR1cm5zIEEgbmV3IEZhc3RpZnlCYXNlTG9nZ2VyIGluc3RhbmNlIChjaGlsZCBsb2dnZXIpXG4gICAqL1xuICBjaGlsZCA9IChiaW5kaW5nczogUmVjb3JkPHN0cmluZywgdW5rbm93bj4pOiBGYXN0aWZ5QmFzZUxvZ2dlciA9PiB7XG4gICAgaWYgKE9iamVjdC5rZXlzKGJpbmRpbmdzKS5sZW5ndGggPT09IDApIHJldHVybiB0aGlzO1xuXG4gICAgY29uc3QgY2hpbGRMb2dnZXIgPSB0aGlzLmxvZ2dlci5jaGlsZChKU09OLnN0cmluZ2lmeShiaW5kaW5ncykpO1xuICAgIHJldHVybiBuZXcgRmFzdGlmeUxvZ2dlcihjaGlsZExvZ2dlciwgdGhpcy5sZXZlbCk7XG4gIH07XG5cbiAgLyoqXG4gICAqIHV0aWxpdHkgZnVuY3Rpb24gdG8gbWFwIGFuZCBzZXJpYWxpemUgdGhlIGFyZ3VtZW50cyBvZiBmYXN0aWZ5IGxvZ2dlciBmdW5jdGlvbnNcbiAgICovXG4gIHByaXZhdGUgcGFyc2VBcmdzID0gKC4uLmFyZ3M6IHVua25vd25bXSk6IFJlY29yZDxzdHJpbmcsIHVua25vd24+ID0+IHtcbiAgICBjb25zdCBbYXJnMCwgYXJnMV0gPSBhcmdzO1xuXG4gICAgbGV0IGluZm86IFJlY29yZDxzdHJpbmcsIHVua25vd24+ID0ge307XG5cbiAgICBpZiAodHlwZW9mIGFyZzAgPT09ICdzdHJpbmcnKSB7XG4gICAgICAvLyBmb3JtYXQ6IG1lc3NhZ2UgWy4uLnNwbGF0XVxuICAgICAgaW5mby5tZXNzYWdlID0gYXJnMDtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gZm9ybWF0OiBtZXRhIFttZXNzYWdlXSBbLi4uc3BsYXRdXG4gICAgICBpbmZvID0gKGFyZzAgPz8ge30pIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xuXG4gICAgICBpZiAoYXJnMCBpbnN0YW5jZW9mIEVycm9yKSBpbmZvID0geyBlcnI6IGFyZzAsIG1lc3NhZ2U6IGFyZzAubWVzc2FnZSB9O1xuXG4gICAgICAvLyBzZXJpYWxpemUgZmFzdGlmeSByZXEsIHJlcywgZXJyXG4gICAgICBmb3IgKGNvbnN0IGtleSBpbiBpbmZvKSB7XG4gICAgICAgIGlmIChzZXJpYWxpemVyc1trZXldKSBpbmZvW2tleV0gPSBzZXJpYWxpemVyc1trZXldKGluZm9ba2V5XSk7XG4gICAgICB9XG5cbiAgICAgIGlmIChhcmcxKSBpbmZvLm1lc3NhZ2UgPSBhcmcxO1xuICAgIH1cblxuICAgIHJldHVybiBpbmZvO1xuICB9O1xufVxuIl19
package/dist/swagger.d.ts CHANGED
@@ -1,7 +1,6 @@
1
- import { FastifyPluginAsyncZodOpenApi } from 'fastify-zod-openapi';
2
- import { SwaggerOpts } from './types';
1
+ import { FastifyWithZod, SwaggerOpts } from './types';
3
2
  /**
4
3
  * adds swagger to the fastify instance
5
4
  */
6
- export declare const registerSwagger: FastifyPluginAsyncZodOpenApi<SwaggerOpts>;
5
+ export declare const registerSwagger: (fastify: FastifyWithZod, opts: SwaggerOpts) => Promise<void>;
7
6
  //# sourceMappingURL=swagger.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"swagger.d.ts","sourceRoot":"","sources":["../lib/swagger.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,4BAA4B,EAG7B,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEtC;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,4BAA4B,CACxD,WAAW,CA2CZ,CAAC"}
1
+ {"version":3,"file":"swagger.d.ts","sourceRoot":"","sources":["../lib/swagger.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEtD;;GAEG;AACH,eAAO,MAAM,eAAe,GAC1B,SAAS,cAAc,EACvB,MAAM,WAAW,kBA2ClB,CAAC"}
package/dist/swagger.js CHANGED
@@ -46,4 +46,4 @@ export const registerSwagger = async (fastify, opts) => {
46
46
  transformSpecificationClone: true,
47
47
  });
48
48
  };
49
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3dhZ2dlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL2xpYi9zd2FnZ2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sT0FBTyxNQUFNLGtCQUFrQixDQUFDO0FBQ3ZDLE9BQU8sU0FBUyxNQUFNLHFCQUFxQixDQUFDO0FBQzVDLE9BQU8sRUFFTCwwQkFBMEIsRUFDMUIsZ0NBQWdDLEdBQ2pDLE1BQU0scUJBQXFCLENBQUM7QUFLN0I7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxlQUFlLEdBRXhCLEtBQUssRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLEVBQUU7SUFDMUIsTUFBTSxPQUFPLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRTtRQUM5QixPQUFPLEVBQUU7WUFDUCxPQUFPLEVBQUUsT0FBNEI7WUFDckMsSUFBSSxFQUFFO2dCQUNKLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSztnQkFDakIsV0FBVyxFQUFFLElBQUksQ0FBQyxXQUFXO2dCQUM3QixPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU87YUFDdEI7WUFDRCxVQUFVLEVBQUU7Z0JBQ1YsZUFBZSxFQUFFO29CQUNmLE1BQU0sRUFBRTt3QkFDTixJQUFJLEVBQUUsUUFBUTt3QkFDZCxJQUFJLEVBQUUsU0FBUzt3QkFDZixFQUFFLEVBQUUsUUFBUTtxQkFDYjtpQkFDRjthQUNGO1NBQ0Y7UUFDRCxTQUFTLEVBQUUsMEJBQTBCO1FBQ3JDLGVBQWUsRUFBRSxnQ0FBZ0M7S0FDbEQsQ0FBQyxDQUFDO0lBRUgsTUFBTSxPQUFPLENBQUMsUUFBUSxDQUFDLFNBQVMsRUFBRTtRQUNoQyxXQUFXLEVBQUUsSUFBSSxDQUFDLElBQUk7UUFDdEIsUUFBUSxFQUFFO1lBQ1IsWUFBWSxFQUFFLE1BQU07WUFDcEIsV0FBVyxFQUFFLEtBQUs7U0FDbkI7UUFDRCxPQUFPLEVBQUU7WUFDUCxTQUFTLEVBQUUsQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLElBQWdCLEVBQUUsRUFBRTtnQkFDOUMsSUFBSSxFQUFFLENBQUM7WUFDVCxDQUFDO1lBQ0QsVUFBVSxFQUFFLENBQUMsT0FBTyxFQUFFLEtBQUssRUFBRSxJQUFnQixFQUFFLEVBQUU7Z0JBQy9DLElBQUksRUFBRSxDQUFDO1lBQ1QsQ0FBQztTQUNGO1FBQ0QsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTO1FBQ3pCLGtCQUFrQixFQUFFLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNO1FBQ3RDLHNCQUFzQixFQUFFLENBQUMsYUFBYSxFQUFFLEVBQUUsQ0FBQyxhQUFhO1FBQ3hELDJCQUEyQixFQUFFLElBQUk7S0FDbEMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHN3YWdnZXIgZnJvbSAnQGZhc3RpZnkvc3dhZ2dlcic7XG5pbXBvcnQgc3dhZ2dlclVpIGZyb20gJ0BmYXN0aWZ5L3N3YWdnZXItdWknO1xuaW1wb3J0IHtcbiAgRmFzdGlmeVBsdWdpbkFzeW5jWm9kT3BlbkFwaSxcbiAgZmFzdGlmeVpvZE9wZW5BcGlUcmFuc2Zvcm0sXG4gIGZhc3RpZnlab2RPcGVuQXBpVHJhbnNmb3JtT2JqZWN0LFxufSBmcm9tICdmYXN0aWZ5LXpvZC1vcGVuYXBpJztcbmltcG9ydCB7IFpvZE9wZW5BcGlWZXJzaW9uIH0gZnJvbSAnem9kLW9wZW5hcGknO1xuXG5pbXBvcnQgeyBTd2FnZ2VyT3B0cyB9IGZyb20gJy4vdHlwZXMnO1xuXG4vKipcbiAqIGFkZHMgc3dhZ2dlciB0byB0aGUgZmFzdGlmeSBpbnN0YW5jZVxuICovXG5leHBvcnQgY29uc3QgcmVnaXN0ZXJTd2FnZ2VyOiBGYXN0aWZ5UGx1Z2luQXN5bmNab2RPcGVuQXBpPFxuICBTd2FnZ2VyT3B0c1xuPiA9IGFzeW5jIChmYXN0aWZ5LCBvcHRzKSA9PiB7XG4gIGF3YWl0IGZhc3RpZnkucmVnaXN0ZXIoc3dhZ2dlciwge1xuICAgIG9wZW5hcGk6IHtcbiAgICAgIG9wZW5hcGk6ICczLjEuMCcgYXMgWm9kT3BlbkFwaVZlcnNpb24sXG4gICAgICBpbmZvOiB7XG4gICAgICAgIHRpdGxlOiBvcHRzLnRpdGxlLFxuICAgICAgICBkZXNjcmlwdGlvbjogb3B0cy5kZXNjcmlwdGlvbixcbiAgICAgICAgdmVyc2lvbjogb3B0cy52ZXJzaW9uLFxuICAgICAgfSxcbiAgICAgIGNvbXBvbmVudHM6IHtcbiAgICAgICAgc2VjdXJpdHlTY2hlbWVzOiB7XG4gICAgICAgICAgYXBpS2V5OiB7XG4gICAgICAgICAgICB0eXBlOiAnYXBpS2V5JyxcbiAgICAgICAgICAgIG5hbWU6ICdBcGktS2V5JyxcbiAgICAgICAgICAgIGluOiAnaGVhZGVyJyxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9LFxuICAgIHRyYW5zZm9ybTogZmFzdGlmeVpvZE9wZW5BcGlUcmFuc2Zvcm0sXG4gICAgdHJhbnNmb3JtT2JqZWN0OiBmYXN0aWZ5Wm9kT3BlbkFwaVRyYW5zZm9ybU9iamVjdCxcbiAgfSk7XG5cbiAgYXdhaXQgZmFzdGlmeS5yZWdpc3Rlcihzd2FnZ2VyVWksIHtcbiAgICByb3V0ZVByZWZpeDogb3B0cy5wYXRoLFxuICAgIHVpQ29uZmlnOiB7XG4gICAgICBkb2NFeHBhbnNpb246ICdmdWxsJyxcbiAgICAgIGRlZXBMaW5raW5nOiBmYWxzZSxcbiAgICB9LFxuICAgIHVpSG9va3M6IHtcbiAgICAgIG9uUmVxdWVzdDogKHJlcXVlc3QsIHJlcGx5LCBuZXh0OiAoKSA9PiB2b2lkKSA9PiB7XG4gICAgICAgIG5leHQoKTtcbiAgICAgIH0sXG4gICAgICBwcmVIYW5kbGVyOiAocmVxdWVzdCwgcmVwbHksIG5leHQ6ICgpID0+IHZvaWQpID0+IHtcbiAgICAgICAgbmV4dCgpO1xuICAgICAgfSxcbiAgICB9LFxuICAgIHN0YXRpY0NTUDogb3B0cy5lbmFibGVDU1AsXG4gICAgdHJhbnNmb3JtU3RhdGljQ1NQOiAoaGVhZGVyKSA9PiBoZWFkZXIsXG4gICAgdHJhbnNmb3JtU3BlY2lmaWNhdGlvbjogKHN3YWdnZXJPYmplY3QpID0+IHN3YWdnZXJPYmplY3QsXG4gICAgdHJhbnNmb3JtU3BlY2lmaWNhdGlvbkNsb25lOiB0cnVlLFxuICB9KTtcbn07XG4iXX0=
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3dhZ2dlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL2xpYi9zd2FnZ2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sT0FBTyxNQUFNLGtCQUFrQixDQUFDO0FBQ3ZDLE9BQU8sU0FBUyxNQUFNLHFCQUFxQixDQUFDO0FBQzVDLE9BQU8sRUFDTCwwQkFBMEIsRUFDMUIsZ0NBQWdDLEdBQ2pDLE1BQU0scUJBQXFCLENBQUM7QUFLN0I7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsS0FBSyxFQUNsQyxPQUF1QixFQUN2QixJQUFpQixFQUNqQixFQUFFO0lBQ0YsTUFBTSxPQUFPLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRTtRQUM5QixPQUFPLEVBQUU7WUFDUCxPQUFPLEVBQUUsT0FBNEI7WUFDckMsSUFBSSxFQUFFO2dCQUNKLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSztnQkFDakIsV0FBVyxFQUFFLElBQUksQ0FBQyxXQUFXO2dCQUM3QixPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU87YUFDdEI7WUFDRCxVQUFVLEVBQUU7Z0JBQ1YsZUFBZSxFQUFFO29CQUNmLE1BQU0sRUFBRTt3QkFDTixJQUFJLEVBQUUsUUFBUTt3QkFDZCxJQUFJLEVBQUUsU0FBUzt3QkFDZixFQUFFLEVBQUUsUUFBUTtxQkFDYjtpQkFDRjthQUNGO1NBQ0Y7UUFDRCxTQUFTLEVBQUUsMEJBQTBCO1FBQ3JDLGVBQWUsRUFBRSxnQ0FBZ0M7S0FDbEQsQ0FBQyxDQUFDO0lBRUgsTUFBTSxPQUFPLENBQUMsUUFBUSxDQUFDLFNBQVMsRUFBRTtRQUNoQyxXQUFXLEVBQUUsSUFBSSxDQUFDLElBQUk7UUFDdEIsUUFBUSxFQUFFO1lBQ1IsWUFBWSxFQUFFLE1BQU07WUFDcEIsV0FBVyxFQUFFLEtBQUs7U0FDbkI7UUFDRCxPQUFPLEVBQUU7WUFDUCxTQUFTLEVBQUUsQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLElBQWdCLEVBQUUsRUFBRTtnQkFDOUMsSUFBSSxFQUFFLENBQUM7WUFDVCxDQUFDO1lBQ0QsVUFBVSxFQUFFLENBQUMsT0FBTyxFQUFFLEtBQUssRUFBRSxJQUFnQixFQUFFLEVBQUU7Z0JBQy9DLElBQUksRUFBRSxDQUFDO1lBQ1QsQ0FBQztTQUNGO1FBQ0QsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTO1FBQ3pCLGtCQUFrQixFQUFFLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNO1FBQ3RDLHNCQUFzQixFQUFFLENBQUMsYUFBYSxFQUFFLEVBQUUsQ0FBQyxhQUFhO1FBQ3hELDJCQUEyQixFQUFFLElBQUk7S0FDbEMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHN3YWdnZXIgZnJvbSAnQGZhc3RpZnkvc3dhZ2dlcic7XG5pbXBvcnQgc3dhZ2dlclVpIGZyb20gJ0BmYXN0aWZ5L3N3YWdnZXItdWknO1xuaW1wb3J0IHtcbiAgZmFzdGlmeVpvZE9wZW5BcGlUcmFuc2Zvcm0sXG4gIGZhc3RpZnlab2RPcGVuQXBpVHJhbnNmb3JtT2JqZWN0LFxufSBmcm9tICdmYXN0aWZ5LXpvZC1vcGVuYXBpJztcbmltcG9ydCB7IFpvZE9wZW5BcGlWZXJzaW9uIH0gZnJvbSAnem9kLW9wZW5hcGknO1xuXG5pbXBvcnQgeyBGYXN0aWZ5V2l0aFpvZCwgU3dhZ2dlck9wdHMgfSBmcm9tICcuL3R5cGVzJztcblxuLyoqXG4gKiBhZGRzIHN3YWdnZXIgdG8gdGhlIGZhc3RpZnkgaW5zdGFuY2VcbiAqL1xuZXhwb3J0IGNvbnN0IHJlZ2lzdGVyU3dhZ2dlciA9IGFzeW5jIChcbiAgZmFzdGlmeTogRmFzdGlmeVdpdGhab2QsXG4gIG9wdHM6IFN3YWdnZXJPcHRzLFxuKSA9PiB7XG4gIGF3YWl0IGZhc3RpZnkucmVnaXN0ZXIoc3dhZ2dlciwge1xuICAgIG9wZW5hcGk6IHtcbiAgICAgIG9wZW5hcGk6ICczLjEuMCcgYXMgWm9kT3BlbkFwaVZlcnNpb24sXG4gICAgICBpbmZvOiB7XG4gICAgICAgIHRpdGxlOiBvcHRzLnRpdGxlLFxuICAgICAgICBkZXNjcmlwdGlvbjogb3B0cy5kZXNjcmlwdGlvbixcbiAgICAgICAgdmVyc2lvbjogb3B0cy52ZXJzaW9uLFxuICAgICAgfSxcbiAgICAgIGNvbXBvbmVudHM6IHtcbiAgICAgICAgc2VjdXJpdHlTY2hlbWVzOiB7XG4gICAgICAgICAgYXBpS2V5OiB7XG4gICAgICAgICAgICB0eXBlOiAnYXBpS2V5JyxcbiAgICAgICAgICAgIG5hbWU6ICdBcGktS2V5JyxcbiAgICAgICAgICAgIGluOiAnaGVhZGVyJyxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9LFxuICAgIHRyYW5zZm9ybTogZmFzdGlmeVpvZE9wZW5BcGlUcmFuc2Zvcm0sXG4gICAgdHJhbnNmb3JtT2JqZWN0OiBmYXN0aWZ5Wm9kT3BlbkFwaVRyYW5zZm9ybU9iamVjdCxcbiAgfSk7XG5cbiAgYXdhaXQgZmFzdGlmeS5yZWdpc3Rlcihzd2FnZ2VyVWksIHtcbiAgICByb3V0ZVByZWZpeDogb3B0cy5wYXRoLFxuICAgIHVpQ29uZmlnOiB7XG4gICAgICBkb2NFeHBhbnNpb246ICdmdWxsJyxcbiAgICAgIGRlZXBMaW5raW5nOiBmYWxzZSxcbiAgICB9LFxuICAgIHVpSG9va3M6IHtcbiAgICAgIG9uUmVxdWVzdDogKHJlcXVlc3QsIHJlcGx5LCBuZXh0OiAoKSA9PiB2b2lkKSA9PiB7XG4gICAgICAgIG5leHQoKTtcbiAgICAgIH0sXG4gICAgICBwcmVIYW5kbGVyOiAocmVxdWVzdCwgcmVwbHksIG5leHQ6ICgpID0+IHZvaWQpID0+IHtcbiAgICAgICAgbmV4dCgpO1xuICAgICAgfSxcbiAgICB9LFxuICAgIHN0YXRpY0NTUDogb3B0cy5lbmFibGVDU1AsXG4gICAgdHJhbnNmb3JtU3RhdGljQ1NQOiAoaGVhZGVyKSA9PiBoZWFkZXIsXG4gICAgdHJhbnNmb3JtU3BlY2lmaWNhdGlvbjogKHN3YWdnZXJPYmplY3QpID0+IHN3YWdnZXJPYmplY3QsXG4gICAgdHJhbnNmb3JtU3BlY2lmaWNhdGlvbkNsb25lOiB0cnVlLFxuICB9KTtcbn07XG4iXX0=
package/dist/types.d.ts CHANGED
@@ -1,8 +1,14 @@
1
- import { FastifyBaseLogger, FastifyInstance } from 'fastify';
1
+ import { FastifyInstance, FastifyHttpOptions } from 'fastify';
2
2
  import type { FastifyZodOpenApiTypeProvider } from 'fastify-zod-openapi';
3
3
  import * as http from 'http';
4
+ import { AbstractLogger } from '@rosen-bridge/abstract-logger';
5
+ import { FastifyLogger } from './logger';
4
6
  export type FastifyWithZodServer = http.Server<typeof http.IncomingMessage, typeof http.ServerResponse>;
5
- export type FastifyWithZod = FastifyInstance<FastifyWithZodServer, http.IncomingMessage, http.ServerResponse<http.IncomingMessage>, FastifyBaseLogger, FastifyZodOpenApiTypeProvider>;
7
+ export type FastifyWithZod = FastifyInstance<FastifyWithZodServer, http.IncomingMessage, http.ServerResponse<http.IncomingMessage>, FastifyLogger, FastifyZodOpenApiTypeProvider>;
8
+ export type FastifyOpts = Omit<FastifyHttpOptions<FastifyWithZodServer, FastifyLogger>, 'loggerInstance' | 'logger'> & {
9
+ logger?: AbstractLogger;
10
+ mapResponseSerializationErrors?: boolean;
11
+ };
6
12
  export type SwaggerOpts = {
7
13
  path: string;
8
14
  title: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../lib/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC7D,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,qBAAqB,CAAC;AACzE,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAE7B,MAAM,MAAM,oBAAoB,GAAG,IAAI,CAAC,MAAM,CAC5C,OAAO,IAAI,CAAC,eAAe,EAC3B,OAAO,IAAI,CAAC,cAAc,CAC3B,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,eAAe,CAC1C,oBAAoB,EACpB,IAAI,CAAC,eAAe,EACpB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,eAAe,CAAC,EACzC,iBAAiB,EACjB,6BAA6B,CAC9B,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,OAAO,CAAC;CACpB,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../lib/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAC9D,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,qBAAqB,CAAC;AACzE,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAE7B,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAE/D,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,MAAM,MAAM,oBAAoB,GAAG,IAAI,CAAC,MAAM,CAC5C,OAAO,IAAI,CAAC,eAAe,EAC3B,OAAO,IAAI,CAAC,cAAc,CAC3B,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,eAAe,CAC1C,oBAAoB,EACpB,IAAI,CAAC,eAAe,EACpB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,eAAe,CAAC,EACzC,aAAa,EACb,6BAA6B,CAC9B,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG,IAAI,CAC5B,kBAAkB,CAAC,oBAAoB,EAAE,aAAa,CAAC,EACvD,gBAAgB,GAAG,QAAQ,CAC5B,GAAG;IACF,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,8BAA8B,CAAC,EAAE,OAAO,CAAC;CAC1C,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,OAAO,CAAC;CACpB,CAAC"}
package/dist/types.js CHANGED
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9saWIvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZhc3RpZnlCYXNlTG9nZ2VyLCBGYXN0aWZ5SW5zdGFuY2UgfSBmcm9tICdmYXN0aWZ5JztcbmltcG9ydCB0eXBlIHsgRmFzdGlmeVpvZE9wZW5BcGlUeXBlUHJvdmlkZXIgfSBmcm9tICdmYXN0aWZ5LXpvZC1vcGVuYXBpJztcbmltcG9ydCAqIGFzIGh0dHAgZnJvbSAnaHR0cCc7XG5cbmV4cG9ydCB0eXBlIEZhc3RpZnlXaXRoWm9kU2VydmVyID0gaHR0cC5TZXJ2ZXI8XG4gIHR5cGVvZiBodHRwLkluY29taW5nTWVzc2FnZSxcbiAgdHlwZW9mIGh0dHAuU2VydmVyUmVzcG9uc2Vcbj47XG5cbmV4cG9ydCB0eXBlIEZhc3RpZnlXaXRoWm9kID0gRmFzdGlmeUluc3RhbmNlPFxuICBGYXN0aWZ5V2l0aFpvZFNlcnZlcixcbiAgaHR0cC5JbmNvbWluZ01lc3NhZ2UsXG4gIGh0dHAuU2VydmVyUmVzcG9uc2U8aHR0cC5JbmNvbWluZ01lc3NhZ2U+LFxuICBGYXN0aWZ5QmFzZUxvZ2dlcixcbiAgRmFzdGlmeVpvZE9wZW5BcGlUeXBlUHJvdmlkZXJcbj47XG5cbmV4cG9ydCB0eXBlIFN3YWdnZXJPcHRzID0ge1xuICBwYXRoOiBzdHJpbmc7XG4gIHRpdGxlOiBzdHJpbmc7XG4gIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG4gIHZlcnNpb246IHN0cmluZztcbiAgZW5hYmxlQ1NQOiBib29sZWFuO1xufTtcbiJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9saWIvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZhc3RpZnlJbnN0YW5jZSwgRmFzdGlmeUh0dHBPcHRpb25zIH0gZnJvbSAnZmFzdGlmeSc7XG5pbXBvcnQgdHlwZSB7IEZhc3RpZnlab2RPcGVuQXBpVHlwZVByb3ZpZGVyIH0gZnJvbSAnZmFzdGlmeS16b2Qtb3BlbmFwaSc7XG5pbXBvcnQgKiBhcyBodHRwIGZyb20gJ2h0dHAnO1xuXG5pbXBvcnQgeyBBYnN0cmFjdExvZ2dlciB9IGZyb20gJ0Byb3Nlbi1icmlkZ2UvYWJzdHJhY3QtbG9nZ2VyJztcblxuaW1wb3J0IHsgRmFzdGlmeUxvZ2dlciB9IGZyb20gJy4vbG9nZ2VyJztcblxuZXhwb3J0IHR5cGUgRmFzdGlmeVdpdGhab2RTZXJ2ZXIgPSBodHRwLlNlcnZlcjxcbiAgdHlwZW9mIGh0dHAuSW5jb21pbmdNZXNzYWdlLFxuICB0eXBlb2YgaHR0cC5TZXJ2ZXJSZXNwb25zZVxuPjtcblxuZXhwb3J0IHR5cGUgRmFzdGlmeVdpdGhab2QgPSBGYXN0aWZ5SW5zdGFuY2U8XG4gIEZhc3RpZnlXaXRoWm9kU2VydmVyLFxuICBodHRwLkluY29taW5nTWVzc2FnZSxcbiAgaHR0cC5TZXJ2ZXJSZXNwb25zZTxodHRwLkluY29taW5nTWVzc2FnZT4sXG4gIEZhc3RpZnlMb2dnZXIsXG4gIEZhc3RpZnlab2RPcGVuQXBpVHlwZVByb3ZpZGVyXG4+O1xuXG5leHBvcnQgdHlwZSBGYXN0aWZ5T3B0cyA9IE9taXQ8XG4gIEZhc3RpZnlIdHRwT3B0aW9uczxGYXN0aWZ5V2l0aFpvZFNlcnZlciwgRmFzdGlmeUxvZ2dlcj4sXG4gICdsb2dnZXJJbnN0YW5jZScgfCAnbG9nZ2VyJ1xuPiAmIHtcbiAgbG9nZ2VyPzogQWJzdHJhY3RMb2dnZXI7XG4gIG1hcFJlc3BvbnNlU2VyaWFsaXphdGlvbkVycm9ycz86IGJvb2xlYW47XG59O1xuXG5leHBvcnQgdHlwZSBTd2FnZ2VyT3B0cyA9IHtcbiAgcGF0aDogc3RyaW5nO1xuICB0aXRsZTogc3RyaW5nO1xuICBkZXNjcmlwdGlvbjogc3RyaW5nO1xuICB2ZXJzaW9uOiBzdHJpbmc7XG4gIGVuYWJsZUNTUDogYm9vbGVhbjtcbn07XG4iXX0=
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rosen-bridge/fastify-enhanced",
3
- "version": "3.1.0",
3
+ "version": "3.3.0",
4
4
  "description": "a wrapper around fastify web framework to make it even better",
5
5
  "repository": {
6
6
  "type": "git",
@@ -30,6 +30,7 @@
30
30
  "dependencies": {
31
31
  "@fastify/swagger": "^9.5.1",
32
32
  "@fastify/swagger-ui": "^5.2.3",
33
+ "@rosen-bridge/abstract-logger": "^4.0.0",
33
34
  "fastify": "^5.3.3",
34
35
  "fastify-zod-openapi": "^4.1.2",
35
36
  "zod-openapi": "^4.2.4"