@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 +12 -0
- package/README.md +19 -0
- package/dist/fastify.d.ts +2 -3
- package/dist/fastify.d.ts.map +1 -1
- package/dist/fastify.js +21 -6
- package/dist/logger.d.ts +73 -0
- package/dist/logger.d.ts.map +1 -0
- package/dist/logger.js +121 -0
- package/dist/swagger.d.ts +2 -3
- package/dist/swagger.d.ts.map +1 -1
- package/dist/swagger.js +1 -1
- package/dist/types.d.ts +8 -2
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +1 -1
- package/package.json +2 -1
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 {
|
|
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?:
|
|
7
|
+
export declare const makeFastify: (swaggerOpts?: SwaggerOpts, opts?: FastifyOpts) => Promise<FastifyWithZod>;
|
|
9
8
|
//# sourceMappingURL=fastify.d.ts.map
|
package/dist/fastify.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fastify.d.ts","sourceRoot":"","sources":["../lib/fastify.ts"],"names":[],"mappings":"
|
|
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
|
-
|
|
17
|
-
|
|
18
|
-
|
|
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,
|
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFzdGlmeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL2xpYi9mYXN0aWZ5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sT0FBTyxNQUFNLFNBQVMsQ0FBQztBQUM5QixPQUFPLEVBRUwsMEJBQTBCLEVBQzFCLHVCQUF1QixFQUN2QixrQkFBa0IsRUFDbEIsaUJBQWlCLEdBQ2xCLE1BQU0scUJBQXFCLENBQUM7QUFDN0IsT0FBTyxvQkFBb0IsQ0FBQztBQUU1QixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFNUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBRzVDOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxLQUFLLEVBQzlCLGNBQTJCO0lBQ3pCLElBQUksRUFBRSxVQUFVO0lBQ2hCLEtBQUssRUFBRSxLQUFLO0lBQ1osV0FBVyxFQUFFLEVBQUU7SUFDZixPQUFPLEVBQUUsT0FBTztJQUNoQixTQUFTLEVBQUUsS0FBSztDQUNqQixFQUNELE9BQW9CLEVBQUUsRUFDRyxFQUFFO0lBQzNCLE1BQU0sRUFBRSw4QkFBOEIsRUFBRSxHQUFHLFdBQVcsRUFBRSxHQUFHLElBQUksQ0FBQztJQUNoRSxNQUFNLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDdEIsR0FBRyxXQUFXO1FBQ2QsTUFBTSxFQUFFLEtBQUs7UUFDYixjQUFjLEVBQUUsSUFBSSxhQUFhLENBQUMsV0FBVyxDQUFDLE1BQU0sSUFBSSxJQUFJLFdBQVcsRUFBRSxDQUFDO0tBQzNFLENBQUMsQ0FBQyxnQkFBZ0IsRUFBaUMsQ0FBQztJQUVyRCxPQUFPLENBQUMsb0JBQW9CLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUNoRCxPQUFPLENBQUMscUJBQXFCLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJQUVsRCxNQUFNLE9BQU8sQ0FBQyxRQUFRLENBQUMsdUJBQXVCLENBQUMsQ0FBQztJQUVoRCxNQUFNLGVBQWUsQ0FBQyxPQUFPLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFFNUMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxVQUFVLEtBQUssRUFBRSxPQUFPLEVBQUUsS0FBSztRQUNyRCxJQUNFLENBQUMsOEJBQThCLElBQUksSUFBSSxDQUFDO1lBQ3hDLEtBQUssWUFBWSwwQkFBMEIsRUFDM0MsQ0FBQztZQUNELElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3RCLEtBQUssQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLENBQUMsQ0FBQztRQUMvRCxDQUFDO2FBQU0sQ0FBQztZQUNOLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDcEIsQ0FBQztJQUNILENBQUMsQ0FBQyxDQUFDO0lBRUgsT0FBTyxPQUFPLENBQUM7QUFDakIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IEZhc3RpZnkgZnJvbSAnZmFzdGlmeSc7XG5pbXBvcnQge1xuICB0eXBlIEZhc3RpZnlab2RPcGVuQXBpVHlwZVByb3ZpZGVyLFxuICBSZXNwb25zZVNlcmlhbGl6YXRpb25FcnJvcixcbiAgZmFzdGlmeVpvZE9wZW5BcGlQbHVnaW4sXG4gIHNlcmlhbGl6ZXJDb21waWxlcixcbiAgdmFsaWRhdG9yQ29tcGlsZXIsXG59IGZyb20gJ2Zhc3RpZnktem9kLW9wZW5hcGknO1xuaW1wb3J0ICd6b2Qtb3BlbmFwaS9leHRlbmQnO1xuXG5pbXBvcnQgeyBEdW1teUxvZ2dlciB9IGZyb20gJ0Byb3Nlbi1icmlkZ2UvYWJzdHJhY3QtbG9nZ2VyJztcblxuaW1wb3J0IHsgRmFzdGlmeUxvZ2dlciB9IGZyb20gJy4vbG9nZ2VyJztcbmltcG9ydCB7IHJlZ2lzdGVyU3dhZ2dlciB9IGZyb20gJy4vc3dhZ2dlcic7XG5pbXBvcnQgeyBGYXN0aWZ5T3B0cywgRmFzdGlmeVdpdGhab2QsIFN3YWdnZXJPcHRzIH0gZnJvbSAnLi90eXBlcyc7XG5cbi8qKlxuICogY3JlYXRlcyBhbiBpbnN0YW5jZSBvZiBGYXN0aWZ5IHdpdGggWm9kIHZhbGlkYXRpb24gbGlicmFyeSBhcyB2YWxpZGF0b3IgYW5kXG4gKiB0eXBlIHByb3ZpZGVyXG4gKi9cbmV4cG9ydCBjb25zdCBtYWtlRmFzdGlmeSA9IGFzeW5jIChcbiAgc3dhZ2dlck9wdHM6IFN3YWdnZXJPcHRzID0ge1xuICAgIHBhdGg6ICcvc3dhZ2dlcicsXG4gICAgdGl0bGU6ICdhcGknLFxuICAgIGRlc2NyaXB0aW9uOiAnJyxcbiAgICB2ZXJzaW9uOiAnMC4wLjEnLFxuICAgIGVuYWJsZUNTUDogZmFsc2UsXG4gIH0sXG4gIG9wdHM6IEZhc3RpZnlPcHRzID0ge30sXG4pOiBQcm9taXNlPEZhc3RpZnlXaXRoWm9kPiA9PiB7XG4gIGNvbnN0IHsgbWFwUmVzcG9uc2VTZXJpYWxpemF0aW9uRXJyb3JzLCAuLi5mYXN0aWZ5T3B0cyB9ID0gb3B0cztcbiAgY29uc3QgZmFzdGlmeSA9IEZhc3RpZnkoe1xuICAgIC4uLmZhc3RpZnlPcHRzLFxuICAgIGxvZ2dlcjogZmFsc2UsXG4gICAgbG9nZ2VySW5zdGFuY2U6IG5ldyBGYXN0aWZ5TG9nZ2VyKGZhc3RpZnlPcHRzLmxvZ2dlciA/PyBuZXcgRHVtbXlMb2dnZXIoKSksXG4gIH0pLndpdGhUeXBlUHJvdmlkZXI8RmFzdGlmeVpvZE9wZW5BcGlUeXBlUHJvdmlkZXI+KCk7XG5cbiAgZmFzdGlmeS5zZXRWYWxpZGF0b3JDb21waWxlcih2YWxpZGF0b3JDb21waWxlcik7XG4gIGZhc3RpZnkuc2V0U2VyaWFsaXplckNvbXBpbGVyKHNlcmlhbGl6ZXJDb21waWxlcik7XG5cbiAgYXdhaXQgZmFzdGlmeS5yZWdpc3RlcihmYXN0aWZ5Wm9kT3BlbkFwaVBsdWdpbik7XG5cbiAgYXdhaXQgcmVnaXN0ZXJTd2FnZ2VyKGZhc3RpZnksIHN3YWdnZXJPcHRzKTtcblxuICBmYXN0aWZ5LnNldEVycm9ySGFuZGxlcihmdW5jdGlvbiAoZXJyb3IsIHJlcXVlc3QsIHJlcGx5KSB7XG4gICAgaWYgKFxuICAgICAgKG1hcFJlc3BvbnNlU2VyaWFsaXphdGlvbkVycm9ycyA/PyB0cnVlKSAmJlxuICAgICAgZXJyb3IgaW5zdGFuY2VvZiBSZXNwb25zZVNlcmlhbGl6YXRpb25FcnJvclxuICAgICkge1xuICAgICAgdGhpcy5sb2cuZXJyb3IoZXJyb3IpO1xuICAgICAgcmVwbHkuc3RhdHVzKDUwMCkuc2VuZCh7IG1lc3NhZ2U6ICdJbnRlcm5hbCBzZXJ2ZXIgZXJyb3InIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXBseS5zZW5kKGVycm9yKTtcbiAgICB9XG4gIH0pO1xuXG4gIHJldHVybiBmYXN0aWZ5O1xufTtcbiJdfQ==
|
package/dist/logger.d.ts
ADDED
|
@@ -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 {
|
|
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:
|
|
5
|
+
export declare const registerSwagger: (fastify: FastifyWithZod, opts: SwaggerOpts) => Promise<void>;
|
|
7
6
|
//# sourceMappingURL=swagger.d.ts.map
|
package/dist/swagger.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"swagger.d.ts","sourceRoot":"","sources":["../lib/swagger.ts"],"names":[],"mappings":"
|
|
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,
|
|
49
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3dhZ2dlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL2xpYi9zd2FnZ2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sT0FBTyxNQUFNLGtCQUFrQixDQUFDO0FBQ3ZDLE9BQU8sU0FBUyxNQUFNLHFCQUFxQixDQUFDO0FBQzVDLE9BQU8sRUFDTCwwQkFBMEIsRUFDMUIsZ0NBQWdDLEdBQ2pDLE1BQU0scUJBQXFCLENBQUM7QUFLN0I7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsS0FBSyxFQUNsQyxPQUF1QixFQUN2QixJQUFpQixFQUNqQixFQUFFO0lBQ0YsTUFBTSxPQUFPLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRTtRQUM5QixPQUFPLEVBQUU7WUFDUCxPQUFPLEVBQUUsT0FBNEI7WUFDckMsSUFBSSxFQUFFO2dCQUNKLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSztnQkFDakIsV0FBVyxFQUFFLElBQUksQ0FBQyxXQUFXO2dCQUM3QixPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU87YUFDdEI7WUFDRCxVQUFVLEVBQUU7Z0JBQ1YsZUFBZSxFQUFFO29CQUNmLE1BQU0sRUFBRTt3QkFDTixJQUFJLEVBQUUsUUFBUTt3QkFDZCxJQUFJLEVBQUUsU0FBUzt3QkFDZixFQUFFLEVBQUUsUUFBUTtxQkFDYjtpQkFDRjthQUNGO1NBQ0Y7UUFDRCxTQUFTLEVBQUUsMEJBQTBCO1FBQ3JDLGVBQWUsRUFBRSxnQ0FBZ0M7S0FDbEQsQ0FBQyxDQUFDO0lBRUgsTUFBTSxPQUFPLENBQUMsUUFBUSxDQUFDLFNBQVMsRUFBRTtRQUNoQyxXQUFXLEVBQUUsSUFBSSxDQUFDLElBQUk7UUFDdEIsUUFBUSxFQUFFO1lBQ1IsWUFBWSxFQUFFLE1BQU07WUFDcEIsV0FBVyxFQUFFLEtBQUs7U0FDbkI7UUFDRCxPQUFPLEVBQUU7WUFDUCxTQUFTLEVBQUUsQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLElBQWdCLEVBQUUsRUFBRTtnQkFDOUMsSUFBSSxFQUFFLENBQUM7WUFDVCxDQUFDO1lBQ0QsVUFBVSxFQUFFLENBQUMsT0FBTyxFQUFFLEtBQUssRUFBRSxJQUFnQixFQUFFLEVBQUU7Z0JBQy9DLElBQUksRUFBRSxDQUFDO1lBQ1QsQ0FBQztTQUNGO1FBQ0QsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTO1FBQ3pCLGtCQUFrQixFQUFFLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNO1FBQ3RDLHNCQUFzQixFQUFFLENBQUMsYUFBYSxFQUFFLEVBQUUsQ0FBQyxhQUFhO1FBQ3hELDJCQUEyQixFQUFFLElBQUk7S0FDbEMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHN3YWdnZXIgZnJvbSAnQGZhc3RpZnkvc3dhZ2dlcic7XG5pbXBvcnQgc3dhZ2dlclVpIGZyb20gJ0BmYXN0aWZ5L3N3YWdnZXItdWknO1xuaW1wb3J0IHtcbiAgZmFzdGlmeVpvZE9wZW5BcGlUcmFuc2Zvcm0sXG4gIGZhc3RpZnlab2RPcGVuQXBpVHJhbnNmb3JtT2JqZWN0LFxufSBmcm9tICdmYXN0aWZ5LXpvZC1vcGVuYXBpJztcbmltcG9ydCB7IFpvZE9wZW5BcGlWZXJzaW9uIH0gZnJvbSAnem9kLW9wZW5hcGknO1xuXG5pbXBvcnQgeyBGYXN0aWZ5V2l0aFpvZCwgU3dhZ2dlck9wdHMgfSBmcm9tICcuL3R5cGVzJztcblxuLyoqXG4gKiBhZGRzIHN3YWdnZXIgdG8gdGhlIGZhc3RpZnkgaW5zdGFuY2VcbiAqL1xuZXhwb3J0IGNvbnN0IHJlZ2lzdGVyU3dhZ2dlciA9IGFzeW5jIChcbiAgZmFzdGlmeTogRmFzdGlmeVdpdGhab2QsXG4gIG9wdHM6IFN3YWdnZXJPcHRzLFxuKSA9PiB7XG4gIGF3YWl0IGZhc3RpZnkucmVnaXN0ZXIoc3dhZ2dlciwge1xuICAgIG9wZW5hcGk6IHtcbiAgICAgIG9wZW5hcGk6ICczLjEuMCcgYXMgWm9kT3BlbkFwaVZlcnNpb24sXG4gICAgICBpbmZvOiB7XG4gICAgICAgIHRpdGxlOiBvcHRzLnRpdGxlLFxuICAgICAgICBkZXNjcmlwdGlvbjogb3B0cy5kZXNjcmlwdGlvbixcbiAgICAgICAgdmVyc2lvbjogb3B0cy52ZXJzaW9uLFxuICAgICAgfSxcbiAgICAgIGNvbXBvbmVudHM6IHtcbiAgICAgICAgc2VjdXJpdHlTY2hlbWVzOiB7XG4gICAgICAgICAgYXBpS2V5OiB7XG4gICAgICAgICAgICB0eXBlOiAnYXBpS2V5JyxcbiAgICAgICAgICAgIG5hbWU6ICdBcGktS2V5JyxcbiAgICAgICAgICAgIGluOiAnaGVhZGVyJyxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9LFxuICAgIHRyYW5zZm9ybTogZmFzdGlmeVpvZE9wZW5BcGlUcmFuc2Zvcm0sXG4gICAgdHJhbnNmb3JtT2JqZWN0OiBmYXN0aWZ5Wm9kT3BlbkFwaVRyYW5zZm9ybU9iamVjdCxcbiAgfSk7XG5cbiAgYXdhaXQgZmFzdGlmeS5yZWdpc3Rlcihzd2FnZ2VyVWksIHtcbiAgICByb3V0ZVByZWZpeDogb3B0cy5wYXRoLFxuICAgIHVpQ29uZmlnOiB7XG4gICAgICBkb2NFeHBhbnNpb246ICdmdWxsJyxcbiAgICAgIGRlZXBMaW5raW5nOiBmYWxzZSxcbiAgICB9LFxuICAgIHVpSG9va3M6IHtcbiAgICAgIG9uUmVxdWVzdDogKHJlcXVlc3QsIHJlcGx5LCBuZXh0OiAoKSA9PiB2b2lkKSA9PiB7XG4gICAgICAgIG5leHQoKTtcbiAgICAgIH0sXG4gICAgICBwcmVIYW5kbGVyOiAocmVxdWVzdCwgcmVwbHksIG5leHQ6ICgpID0+IHZvaWQpID0+IHtcbiAgICAgICAgbmV4dCgpO1xuICAgICAgfSxcbiAgICB9LFxuICAgIHN0YXRpY0NTUDogb3B0cy5lbmFibGVDU1AsXG4gICAgdHJhbnNmb3JtU3RhdGljQ1NQOiAoaGVhZGVyKSA9PiBoZWFkZXIsXG4gICAgdHJhbnNmb3JtU3BlY2lmaWNhdGlvbjogKHN3YWdnZXJPYmplY3QpID0+IHN3YWdnZXJPYmplY3QsXG4gICAgdHJhbnNmb3JtU3BlY2lmaWNhdGlvbkNsb25lOiB0cnVlLFxuICB9KTtcbn07XG4iXX0=
|
package/dist/types.d.ts
CHANGED
|
@@ -1,8 +1,14 @@
|
|
|
1
|
-
import {
|
|
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>,
|
|
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;
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../lib/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
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,
|
|
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.
|
|
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"
|