@rosen-bridge/fastify-enhanced 1.0.0 → 2.0.1
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 +14 -0
- package/README.md +3 -3
- package/dist/fastify.d.ts.map +1 -1
- package/dist/fastify.js +2 -2
- package/dist/jsonParser.d.ts +1 -1
- package/dist/jsonParser.d.ts.map +1 -1
- package/dist/jsonParser.js +1 -1
- package/dist/serializerCompiler.d.ts +1 -1
- package/dist/serializerCompiler.d.ts.map +1 -1
- package/dist/serializerCompiler.js +1 -1
- package/dist/swagger.d.ts.map +1 -1
- package/dist/swagger.js +2 -1
- package/dist/utils.js +1 -1
- package/package.json +20 -14
- package/.eslintignore +0 -1
- package/dist/dataTypes.d.ts +0 -234
- package/dist/dataTypes.d.ts.map +0 -1
- package/dist/dataTypes.js +0 -6
- package/lib/error.ts +0 -9
- package/lib/fastify.ts +0 -53
- package/lib/index.ts +0 -3
- package/lib/jsonParser.ts +0 -23
- package/lib/serializerCompiler.ts +0 -42
- package/lib/swagger.ts +0 -52
- package/lib/types.ts +0 -18
- package/lib/utils.ts +0 -6
- package/tests/.gitkeep +0 -0
- package/tests/bin.ts +0 -13
- package/tests/e2e.spec.ts +0 -74
- package/tests/mockRoute.ts +0 -104
- package/tests/testData.ts +0 -101
- package/tsconfig.build.json +0 -8
- package/tsconfig.build.tsbuildinfo +0 -1
- package/tsconfig.json +0 -8
- package/vitest.config.ts +0 -19
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,19 @@
|
|
|
1
1
|
# @rosen-bridge/fastify-enhanced
|
|
2
2
|
|
|
3
|
+
## 2.0.1
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- Fix package-lock and move typescript and types/node into root
|
|
8
|
+
- Update dependencies
|
|
9
|
+
- @rosen-bridge/json-bigint@1.1.0
|
|
10
|
+
|
|
11
|
+
## 2.0.0
|
|
12
|
+
|
|
13
|
+
### Major Changes
|
|
14
|
+
|
|
15
|
+
- Update node version to 22.18
|
|
16
|
+
|
|
3
17
|
## 1.0.0
|
|
4
18
|
|
|
5
19
|
### Major Changes
|
package/README.md
CHANGED
|
@@ -44,7 +44,7 @@ const addTokenPaymentRoute = (
|
|
|
44
44
|
ServerResponse<IncomingMessage>,
|
|
45
45
|
FastifyBaseLogger,
|
|
46
46
|
ZodTypeProvider
|
|
47
|
-
|
|
47
|
+
>,
|
|
48
48
|
) => {
|
|
49
49
|
const bodySchema = types.object({
|
|
50
50
|
tokenName: types.string(),
|
|
@@ -85,7 +85,7 @@ const fastify = await createFastify(
|
|
|
85
85
|
description: '',
|
|
86
86
|
version: '0.0.1',
|
|
87
87
|
},
|
|
88
|
-
{ logger: false }
|
|
88
|
+
{ logger: false },
|
|
89
89
|
);
|
|
90
90
|
addTokenPaymentRoute(fastify);
|
|
91
91
|
|
|
@@ -109,6 +109,6 @@ fastify.register(
|
|
|
109
109
|
addTokenPaymentRoute(subFastify);
|
|
110
110
|
next();
|
|
111
111
|
},
|
|
112
|
-
{ prefix: 'subroute' }
|
|
112
|
+
{ prefix: 'subroute' },
|
|
113
113
|
);
|
|
114
114
|
```
|
package/dist/fastify.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fastify.d.ts","sourceRoot":"","sources":["../lib/fastify.ts"],"names":[],"mappings":"AAAA,OAAO,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"fastify.d.ts","sourceRoot":"","sources":["../lib/fastify.ts"],"names":[],"mappings":"AAAA,OAAO,oBAAoB,CAAC;AAS5B,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAMtD;;;GAGG;AACH,eAAO,MAAM,WAAW,GACtB,cAAa,WAKZ,EACD;;CAAuB,EACvB;;;;;;CAIE,KACD,OAAO,CAAC,cAAc,CAoBxB,CAAC"}
|
package/dist/fastify.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import 'zod-openapi/extend';
|
|
2
2
|
import { fastifyZodOpenApiPlugin, validatorCompiler, } from 'fastify-zod-openapi';
|
|
3
3
|
import Fastify from 'fastify';
|
|
4
|
-
import JsonBigIntFactory from 'json-bigint';
|
|
5
4
|
import { registerSwagger } from './swagger';
|
|
6
5
|
import { makeJsonParser } from './jsonParser';
|
|
7
6
|
import { makeSerializerCompiler } from './serializerCompiler';
|
|
7
|
+
import { JsonBigIntFactory } from '@rosen-bridge/json-bigint';
|
|
8
8
|
/**
|
|
9
9
|
* creates an instance of Fastify with Zod validation library as validator and
|
|
10
10
|
* type provider
|
|
@@ -28,4 +28,4 @@ export const makeFastify = async (swaggerOpts = {
|
|
|
28
28
|
await registerSwagger(fastify, swaggerOpts);
|
|
29
29
|
return fastify;
|
|
30
30
|
};
|
|
31
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
31
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFzdGlmeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL2xpYi9mYXN0aWZ5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sb0JBQW9CLENBQUM7QUFFNUIsT0FBTyxFQUVMLHVCQUF1QixFQUN2QixpQkFBaUIsR0FDbEIsTUFBTSxxQkFBcUIsQ0FBQztBQUM3QixPQUFPLE9BQU8sTUFBTSxTQUFTLENBQUM7QUFHOUIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUM1QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzlDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzlELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRTlEOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxLQUFLLEVBQzlCLGNBQTJCO0lBQ3pCLElBQUksRUFBRSxVQUFVO0lBQ2hCLEtBQUssRUFBRSxLQUFLO0lBQ1osV0FBVyxFQUFFLEVBQUU7SUFDZixPQUFPLEVBQUUsT0FBTztDQUNqQixFQUNELElBQUksR0FBRyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsRUFDdkIsV0FBVyxHQUFHLGlCQUFpQixDQUFDO0lBQzlCLGdCQUFnQixFQUFFLEtBQUs7SUFDdkIsZUFBZSxFQUFFLElBQUk7SUFDckIsYUFBYSxFQUFFLElBQUk7Q0FDcEIsQ0FBQyxFQUN1QixFQUFFO0lBQzNCLE1BQU0sT0FBTyxHQUNYLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxnQkFBZ0IsRUFBaUMsQ0FBQztJQUVsRSxPQUFPLENBQUMsb0JBQW9CLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUVoRCxNQUFNLGtCQUFrQixHQUFHLHNCQUFzQixDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQy9ELE9BQU8sQ0FBQyxxQkFBcUIsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBRWxELE1BQU0sT0FBTyxDQUFDLFFBQVEsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO0lBRWhELE9BQU8sQ0FBQyxvQkFBb0IsQ0FDMUIsa0JBQWtCLEVBQ2xCLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxFQUNyQixjQUFjLENBQUMsV0FBVyxDQUFDLENBQzVCLENBQUM7SUFFRixNQUFNLGVBQWUsQ0FBQyxPQUFPLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFFNUMsT0FBTyxPQUFPLENBQUM7QUFDakIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICd6b2Qtb3BlbmFwaS9leHRlbmQnO1xuXG5pbXBvcnQge1xuICB0eXBlIEZhc3RpZnlab2RPcGVuQXBpVHlwZVByb3ZpZGVyLFxuICBmYXN0aWZ5Wm9kT3BlbkFwaVBsdWdpbixcbiAgdmFsaWRhdG9yQ29tcGlsZXIsXG59IGZyb20gJ2Zhc3RpZnktem9kLW9wZW5hcGknO1xuaW1wb3J0IEZhc3RpZnkgZnJvbSAnZmFzdGlmeSc7XG5cbmltcG9ydCB7IEZhc3RpZnlXaXRoWm9kLCBTd2FnZ2VyT3B0cyB9IGZyb20gJy4vdHlwZXMnO1xuaW1wb3J0IHsgcmVnaXN0ZXJTd2FnZ2VyIH0gZnJvbSAnLi9zd2FnZ2VyJztcbmltcG9ydCB7IG1ha2VKc29uUGFyc2VyIH0gZnJvbSAnLi9qc29uUGFyc2VyJztcbmltcG9ydCB7IG1ha2VTZXJpYWxpemVyQ29tcGlsZXIgfSBmcm9tICcuL3NlcmlhbGl6ZXJDb21waWxlcic7XG5pbXBvcnQgeyBKc29uQmlnSW50RmFjdG9yeSB9IGZyb20gJ0Byb3Nlbi1icmlkZ2UvanNvbi1iaWdpbnQnO1xuXG4vKipcbiAqIGNyZWF0ZXMgYW4gaW5zdGFuY2Ugb2YgRmFzdGlmeSB3aXRoIFpvZCB2YWxpZGF0aW9uIGxpYnJhcnkgYXMgdmFsaWRhdG9yIGFuZFxuICogdHlwZSBwcm92aWRlclxuICovXG5leHBvcnQgY29uc3QgbWFrZUZhc3RpZnkgPSBhc3luYyAoXG4gIHN3YWdnZXJPcHRzOiBTd2FnZ2VyT3B0cyA9IHtcbiAgICBwYXRoOiAnL3N3YWdnZXInLFxuICAgIHRpdGxlOiAnYXBpJyxcbiAgICBkZXNjcmlwdGlvbjogJycsXG4gICAgdmVyc2lvbjogJzAuMC4xJyxcbiAgfSxcbiAgb3B0cyA9IHsgbG9nZ2VyOiB0cnVlIH0sXG4gIGpzb25IYW5kbGVyID0gSnNvbkJpZ0ludEZhY3Rvcnkoe1xuICAgIGFsd2F5c1BhcnNlQXNCaWc6IGZhbHNlLFxuICAgIHVzZU5hdGl2ZUJpZ0ludDogdHJ1ZSxcbiAgICBzdG9yZUFzU3RyaW5nOiB0cnVlLFxuICB9KSxcbik6IFByb21pc2U8RmFzdGlmeVdpdGhab2Q+ID0+IHtcbiAgY29uc3QgZmFzdGlmeSA9XG4gICAgRmFzdGlmeShvcHRzKS53aXRoVHlwZVByb3ZpZGVyPEZhc3RpZnlab2RPcGVuQXBpVHlwZVByb3ZpZGVyPigpO1xuXG4gIGZhc3RpZnkuc2V0VmFsaWRhdG9yQ29tcGlsZXIodmFsaWRhdG9yQ29tcGlsZXIpO1xuXG4gIGNvbnN0IHNlcmlhbGl6ZXJDb21waWxlciA9IG1ha2VTZXJpYWxpemVyQ29tcGlsZXIoanNvbkhhbmRsZXIpO1xuICBmYXN0aWZ5LnNldFNlcmlhbGl6ZXJDb21waWxlcihzZXJpYWxpemVyQ29tcGlsZXIpO1xuXG4gIGF3YWl0IGZhc3RpZnkucmVnaXN0ZXIoZmFzdGlmeVpvZE9wZW5BcGlQbHVnaW4pO1xuXG4gIGZhc3RpZnkuYWRkQ29udGVudFR5cGVQYXJzZXI8c3RyaW5nPihcbiAgICAnYXBwbGljYXRpb24vanNvbicsXG4gICAgeyBwYXJzZUFzOiAnc3RyaW5nJyB9LFxuICAgIG1ha2VKc29uUGFyc2VyKGpzb25IYW5kbGVyKSxcbiAgKTtcblxuICBhd2FpdCByZWdpc3RlclN3YWdnZXIoZmFzdGlmeSwgc3dhZ2dlck9wdHMpO1xuXG4gIHJldHVybiBmYXN0aWZ5O1xufTtcbiJdfQ==
|
package/dist/jsonParser.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { ContentTypeParserDoneFunction } from 'fastify/types/content-type-parser';
|
|
2
|
-
import JsonBigIntFactory from 'json-bigint';
|
|
2
|
+
import { JsonBigIntFactory } from '@rosen-bridge/json-bigint';
|
|
3
3
|
export declare const makeJsonParser: (jsonHandler: ReturnType<typeof JsonBigIntFactory>) => (req: unknown, body: string, done: ContentTypeParserDoneFunction) => void;
|
|
4
4
|
//# sourceMappingURL=jsonParser.d.ts.map
|
package/dist/jsonParser.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jsonParser.d.ts","sourceRoot":"","sources":["../lib/jsonParser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,6BAA6B,EAAE,MAAM,mCAAmC,CAAC;AAClF,OAAO,iBAAiB,MAAM,
|
|
1
|
+
{"version":3,"file":"jsonParser.d.ts","sourceRoot":"","sources":["../lib/jsonParser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,6BAA6B,EAAE,MAAM,mCAAmC,CAAC;AAClF,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAE9D,eAAO,MAAM,cAAc,GACzB,aAAa,UAAU,CAAC,OAAO,iBAAiB,CAAC,MAEzC,KAAK,OAAO,EAAE,MAAM,MAAM,EAAE,MAAM,6BAA6B,SAgBxE,CAAC"}
|
package/dist/jsonParser.js
CHANGED
|
@@ -15,4 +15,4 @@ export const makeJsonParser = (jsonHandler) => {
|
|
|
15
15
|
}
|
|
16
16
|
};
|
|
17
17
|
};
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianNvblBhcnNlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL2xpYi9qc29uUGFyc2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxDQUM1QixXQUFpRCxFQUNqRCxFQUFFO0lBQ0YsT0FBTyxDQUFDLEdBQVksRUFBRSxJQUFZLEVBQUUsSUFBbUMsRUFBRSxFQUFFO1FBQ3pFLElBQUksQ0FBQztZQUNILE1BQU0sSUFBSSxHQUFHLFdBQVcsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDckMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNuQixDQUFDO1FBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztZQUNiLElBQUksR0FBRyxZQUFZLEtBQUssSUFBSSxHQUFHLEtBQUssSUFBSSxFQUFFLENBQUM7Z0JBQ3pDLElBQUksQ0FBQyxHQUFHLEVBQUUsU0FBUyxDQUFDLENBQUM7WUFDdkIsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLE1BQU0sVUFBVSxHQUFHLElBQUksS0FBSyxDQUMxQixpRUFBaUUsRUFDakUsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLENBQ2YsQ0FBQztnQkFDRixJQUFJLENBQUMsVUFBVSxFQUFFLFNBQVMsQ0FBQyxDQUFDO1lBQzlCLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQyxDQUFDO0FBQ0osQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29udGVudFR5cGVQYXJzZXJEb25lRnVuY3Rpb24gfSBmcm9tICdmYXN0aWZ5L3R5cGVzL2NvbnRlbnQtdHlwZS1wYXJzZXInO1xuaW1wb3J0IHsgSnNvbkJpZ0ludEZhY3RvcnkgfSBmcm9tICdAcm9zZW4tYnJpZGdlL2pzb24tYmlnaW50JztcblxuZXhwb3J0IGNvbnN0IG1ha2VKc29uUGFyc2VyID0gKFxuICBqc29uSGFuZGxlcjogUmV0dXJuVHlwZTx0eXBlb2YgSnNvbkJpZ0ludEZhY3Rvcnk+LFxuKSA9PiB7XG4gIHJldHVybiAocmVxOiB1bmtub3duLCBib2R5OiBzdHJpbmcsIGRvbmU6IENvbnRlbnRUeXBlUGFyc2VyRG9uZUZ1bmN0aW9uKSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGpzb24gPSBqc29uSGFuZGxlci5wYXJzZShib2R5KTtcbiAgICAgIGRvbmUobnVsbCwganNvbik7XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICBpZiAoZXJyIGluc3RhbmNlb2YgRXJyb3IgfHwgZXJyID09PSBudWxsKSB7XG4gICAgICAgIGRvbmUoZXJyLCB1bmRlZmluZWQpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3Qgd3JhcHBlZEVyciA9IG5ldyBFcnJvcihcbiAgICAgICAgICBgQW4gdW5leHBlY3RlZCBlcnJvciBvY2N1cnJlZCB3aGlsZSB0cnlpbmcgdG8gcGFyc2UgcmVxdWVzdCBib2R5YCxcbiAgICAgICAgICB7IGNhdXNlOiBlcnIgfSxcbiAgICAgICAgKTtcbiAgICAgICAgZG9uZSh3cmFwcGVkRXJyLCB1bmRlZmluZWQpO1xuICAgICAgfVxuICAgIH1cbiAgfTtcbn07XG4iXX0=
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { FastifySerializerCompiler } from 'fastify/types/schema';
|
|
2
2
|
import { ZodAny } from 'zod';
|
|
3
|
-
import JsonBigIntFactory from 'json-bigint';
|
|
3
|
+
import { JsonBigIntFactory } from '@rosen-bridge/json-bigint';
|
|
4
4
|
type SerType = FastifySerializerCompiler<ZodAny | {
|
|
5
5
|
properties: ZodAny;
|
|
6
6
|
}>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serializerCompiler.d.ts","sourceRoot":"","sources":["../lib/serializerCompiler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,EAAE,MAAM,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"serializerCompiler.d.ts","sourceRoot":"","sources":["../lib/serializerCompiler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,EAAE,MAAM,EAAE,MAAM,KAAK,CAAC;AAI7B,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAE9D,KAAK,OAAO,GAAG,yBAAyB,CAAC,MAAM,GAAG;IAAE,UAAU,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAC1E,KAAK,WAAW,GAAG,UAAU,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAExD;;;GAGG;AACH,eAAO,MAAM,sBAAsB,GAChC,aAAa,WAAW,KAAG,OAW3B,CAAC"}
|
|
@@ -24,4 +24,4 @@ const resolveSchema = (maybeSchema) => {
|
|
|
24
24
|
}
|
|
25
25
|
throw new Error(`Invalid schema passed: ${JSON.stringify(maybeSchema)}`);
|
|
26
26
|
};
|
|
27
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VyaWFsaXplckNvbXBpbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vbGliL3NlcmlhbGl6ZXJDb21waWxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDbEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQU16Qzs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FDakMsQ0FBQyxXQUF3QixFQUFXLEVBQUUsQ0FDdEMsQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUNkLENBQUMsSUFBSSxFQUFFLEVBQUU7SUFDUCxNQUFNLE1BQU0sR0FBOEIsYUFBYSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUUxRSxNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3RDLElBQUksTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ25CLE9BQU8sV0FBVyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVELE1BQU0sSUFBSSx1QkFBdUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUM1QyxDQUFDLENBQUM7QUFFSjs7R0FFRztBQUNILE1BQU0sYUFBYSxHQUFHLENBQ3BCLFdBQTRDLEVBQ2pCLEVBQUU7SUFDN0IsSUFBSSxjQUFjLENBQUMsV0FBVyxFQUFFLFdBQVcsQ0FBQyxFQUFFLENBQUM7UUFDN0MsT0FBTyxXQUFXLENBQUM7SUFDckIsQ0FBQztJQUNELElBQUksY0FBYyxDQUFDLFdBQVcsRUFBRSxZQUFZLENBQUMsRUFBRSxDQUFDO1FBQzlDLE9BQU8sV0FBVyxDQUFDLFVBQVUsQ0FBQztJQUNoQyxDQUFDO0lBQ0QsTUFBTSxJQUFJLEtBQUssQ0FBQywwQkFBMEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUM7QUFDM0UsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRmFzdGlmeVNlcmlhbGl6ZXJDb21waWxlciB9IGZyb20gJ2Zhc3RpZnkvdHlwZXMvc2NoZW1hJztcbmltcG9ydCB7IFpvZEFueSB9IGZyb20gJ3pvZCc7XG5cbmltcG9ydCB7IFJlc3BvbnNlVmFsaWRhdGlvbkVycm9yIH0gZnJvbSAnLi9lcnJvcic7XG5pbXBvcnQgeyBoYXNPd25Qcm9wZXJ0eSB9IGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0IHsgSnNvbkJpZ0ludEZhY3RvcnkgfSBmcm9tICdAcm9zZW4tYnJpZGdlL2pzb24tYmlnaW50JztcblxudHlwZSBTZXJUeXBlID0gRmFzdGlmeVNlcmlhbGl6ZXJDb21waWxlcjxab2RBbnkgfCB7IHByb3BlcnRpZXM6IFpvZEFueSB9PjtcbnR5cGUgSnNvbkhhbmRsZXIgPSBSZXR1cm5UeXBlPHR5cGVvZiBKc29uQmlnSW50RmFjdG9yeT47XG5cbi8qKlxuICogY3JlYXRlcyBhIEZhc3RpZnkgc2VyaWFsaXplciBjb21waWxlciBiYXNlZCBvbiBab2QgdmFsaWRhdGlvbiBsaWJyYXJ5IGFuZFxuICogdXNpbmcgdGhlIHBhc3NlZCBqc29uIHBhcnNlci9zZXJpYWxpemVyXG4gKi9cbmV4cG9ydCBjb25zdCBtYWtlU2VyaWFsaXplckNvbXBpbGVyID1cbiAgKGpzb25IYW5kbGVyOiBKc29uSGFuZGxlcik6IFNlclR5cGUgPT5cbiAgKHNjaGVtYURlZikgPT5cbiAgKGRhdGEpID0+IHtcbiAgICBjb25zdCBzY2hlbWE6IFBpY2s8Wm9kQW55LCAnc2FmZVBhcnNlJz4gPSByZXNvbHZlU2NoZW1hKHNjaGVtYURlZi5zY2hlbWEpO1xuXG4gICAgY29uc3QgcmVzdWx0ID0gc2NoZW1hLnNhZmVQYXJzZShkYXRhKTtcbiAgICBpZiAocmVzdWx0LnN1Y2Nlc3MpIHtcbiAgICAgIHJldHVybiBqc29uSGFuZGxlci5zdHJpbmdpZnkocmVzdWx0LmRhdGEpO1xuICAgIH1cblxuICAgIHRocm93IG5ldyBSZXNwb25zZVZhbGlkYXRpb25FcnJvcihyZXN1bHQpO1xuICB9O1xuXG4vKipcbiAqIHJlc29sdmUgdGhlIHJpZ2h0IHNjaGVtYSB0byBiZSB1c2VkXG4gKi9cbmNvbnN0IHJlc29sdmVTY2hlbWEgPSAoXG4gIG1heWJlU2NoZW1hOiBab2RBbnkgfCB7IHByb3BlcnRpZXM6IFpvZEFueSB9LFxuKTogUGljazxab2RBbnksICdzYWZlUGFyc2UnPiA9PiB7XG4gIGlmIChoYXNPd25Qcm9wZXJ0eShtYXliZVNjaGVtYSwgJ3NhZmVQYXJzZScpKSB7XG4gICAgcmV0dXJuIG1heWJlU2NoZW1hO1xuICB9XG4gIGlmIChoYXNPd25Qcm9wZXJ0eShtYXliZVNjaGVtYSwgJ3Byb3BlcnRpZXMnKSkge1xuICAgIHJldHVybiBtYXliZVNjaGVtYS5wcm9wZXJ0aWVzO1xuICB9XG4gIHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBzY2hlbWEgcGFzc2VkOiAke0pTT04uc3RyaW5naWZ5KG1heWJlU2NoZW1hKX1gKTtcbn07XG4iXX0=
|
package/dist/swagger.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
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,
|
|
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,kBAqClB,CAAC"}
|
package/dist/swagger.js
CHANGED
|
@@ -33,10 +33,11 @@ export const registerSwagger = async (fastify, opts) => {
|
|
|
33
33
|
},
|
|
34
34
|
staticCSP: true,
|
|
35
35
|
transformStaticCSP: (header) => header,
|
|
36
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
36
37
|
transformSpecification: (swaggerObject, request, reply) => {
|
|
37
38
|
return swaggerObject;
|
|
38
39
|
},
|
|
39
40
|
transformSpecificationClone: true,
|
|
40
41
|
});
|
|
41
42
|
};
|
|
42
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3dhZ2dlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL2xpYi9zd2FnZ2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sT0FBTyxNQUFNLGtCQUFrQixDQUFDO0FBQ3ZDLE9BQU8sU0FBUyxNQUFNLHFCQUFxQixDQUFDO0FBQzVDLE9BQU8sRUFDTCwwQkFBMEIsRUFDMUIsZ0NBQWdDLEdBQ2pDLE1BQU0scUJBQXFCLENBQUM7QUFLN0I7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsS0FBSyxFQUNsQyxPQUF1QixFQUN2QixJQUFpQixFQUNqQixFQUFFO0lBQ0YsTUFBTSxPQUFPLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRTtRQUM5QixPQUFPLEVBQUU7WUFDUCxPQUFPLEVBQUUsT0FBNEI7WUFDckMsSUFBSSxFQUFFO2dCQUNKLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSztnQkFDakIsV0FBVyxFQUFFLElBQUksQ0FBQyxXQUFXO2dCQUM3QixPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU87YUFDdEI7U0FDRjtRQUNELFNBQVMsRUFBRSwwQkFBMEI7UUFDckMsZUFBZSxFQUFFLGdDQUFnQztLQUNsRCxDQUFDLENBQUM7SUFFSCxNQUFNLE9BQU8sQ0FBQyxRQUFRLENBQUMsU0FBUyxFQUFFO1FBQ2hDLFdBQVcsRUFBRSxJQUFJLENBQUMsSUFBSTtRQUN0QixRQUFRLEVBQUU7WUFDUixZQUFZLEVBQUUsTUFBTTtZQUNwQixXQUFXLEVBQUUsS0FBSztTQUNuQjtRQUNELE9BQU8sRUFBRTtZQUNQLFNBQVMsRUFBRSxDQUFDLE9BQVksRUFBRSxLQUFVLEVBQUUsSUFBZ0IsRUFBRSxFQUFFO2dCQUN4RCxJQUFJLEVBQUUsQ0FBQztZQUNULENBQUM7WUFDRCxVQUFVLEVBQUUsQ0FBQyxPQUFZLEVBQUUsS0FBVSxFQUFFLElBQWdCLEVBQUUsRUFBRTtnQkFDekQsSUFBSSxFQUFFLENBQUM7WUFDVCxDQUFDO1NBQ0Y7UUFDRCxTQUFTLEVBQUUsSUFBSTtRQUNmLGtCQUFrQixFQUFFLENBQUMsTUFBVyxFQUFFLEVBQUUsQ0FBQyxNQUFNO1FBQzNDLDZEQUE2RDtRQUM3RCxzQkFBc0IsRUFBRSxDQUFDLGFBQWtCLEVBQUUsT0FBWSxFQUFFLEtBQVUsRUFBRSxFQUFFO1lBQ3ZFLE9BQU8sYUFBYSxDQUFDO1FBQ3ZCLENBQUM7UUFDRCwyQkFBMkIsRUFBRSxJQUFJO0tBQ2xDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBzd2FnZ2VyIGZyb20gJ0BmYXN0aWZ5L3N3YWdnZXInO1xuaW1wb3J0IHN3YWdnZXJVaSBmcm9tICdAZmFzdGlmeS9zd2FnZ2VyLXVpJztcbmltcG9ydCB7XG4gIGZhc3RpZnlab2RPcGVuQXBpVHJhbnNmb3JtLFxuICBmYXN0aWZ5Wm9kT3BlbkFwaVRyYW5zZm9ybU9iamVjdCxcbn0gZnJvbSAnZmFzdGlmeS16b2Qtb3BlbmFwaSc7XG5pbXBvcnQgeyBab2RPcGVuQXBpVmVyc2lvbiB9IGZyb20gJ3pvZC1vcGVuYXBpJztcblxuaW1wb3J0IHsgRmFzdGlmeVdpdGhab2QsIFN3YWdnZXJPcHRzIH0gZnJvbSAnLi90eXBlcyc7XG5cbi8qKlxuICogYWRkcyBzd2FnZ2VyIHRvIHRoZSBmYXN0aWZ5IGluc3RhbmNlXG4gKi9cbmV4cG9ydCBjb25zdCByZWdpc3RlclN3YWdnZXIgPSBhc3luYyAoXG4gIGZhc3RpZnk6IEZhc3RpZnlXaXRoWm9kLFxuICBvcHRzOiBTd2FnZ2VyT3B0cyxcbikgPT4ge1xuICBhd2FpdCBmYXN0aWZ5LnJlZ2lzdGVyKHN3YWdnZXIsIHtcbiAgICBvcGVuYXBpOiB7XG4gICAgICBvcGVuYXBpOiAnMy4xLjAnIGFzIFpvZE9wZW5BcGlWZXJzaW9uLFxuICAgICAgaW5mbzoge1xuICAgICAgICB0aXRsZTogb3B0cy50aXRsZSxcbiAgICAgICAgZGVzY3JpcHRpb246IG9wdHMuZGVzY3JpcHRpb24sXG4gICAgICAgIHZlcnNpb246IG9wdHMudmVyc2lvbixcbiAgICAgIH0sXG4gICAgfSxcbiAgICB0cmFuc2Zvcm06IGZhc3RpZnlab2RPcGVuQXBpVHJhbnNmb3JtLFxuICAgIHRyYW5zZm9ybU9iamVjdDogZmFzdGlmeVpvZE9wZW5BcGlUcmFuc2Zvcm1PYmplY3QsXG4gIH0pO1xuXG4gIGF3YWl0IGZhc3RpZnkucmVnaXN0ZXIoc3dhZ2dlclVpLCB7XG4gICAgcm91dGVQcmVmaXg6IG9wdHMucGF0aCxcbiAgICB1aUNvbmZpZzoge1xuICAgICAgZG9jRXhwYW5zaW9uOiAnZnVsbCcsXG4gICAgICBkZWVwTGlua2luZzogZmFsc2UsXG4gICAgfSxcbiAgICB1aUhvb2tzOiB7XG4gICAgICBvblJlcXVlc3Q6IChyZXF1ZXN0OiBhbnksIHJlcGx5OiBhbnksIG5leHQ6ICgpID0+IHZvaWQpID0+IHtcbiAgICAgICAgbmV4dCgpO1xuICAgICAgfSxcbiAgICAgIHByZUhhbmRsZXI6IChyZXF1ZXN0OiBhbnksIHJlcGx5OiBhbnksIG5leHQ6ICgpID0+IHZvaWQpID0+IHtcbiAgICAgICAgbmV4dCgpO1xuICAgICAgfSxcbiAgICB9LFxuICAgIHN0YXRpY0NTUDogdHJ1ZSxcbiAgICB0cmFuc2Zvcm1TdGF0aWNDU1A6IChoZWFkZXI6IGFueSkgPT4gaGVhZGVyLFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcbiAgICB0cmFuc2Zvcm1TcGVjaWZpY2F0aW9uOiAoc3dhZ2dlck9iamVjdDogYW55LCByZXF1ZXN0OiBhbnksIHJlcGx5OiBhbnkpID0+IHtcbiAgICAgIHJldHVybiBzd2FnZ2VyT2JqZWN0O1xuICAgIH0sXG4gICAgdHJhbnNmb3JtU3BlY2lmaWNhdGlvbkNsb25lOiB0cnVlLFxuICB9KTtcbn07XG4iXX0=
|
package/dist/utils.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export const hasOwnProperty = (obj, prop) => {
|
|
2
2
|
return Object.prototype.hasOwnProperty.call(obj, prop);
|
|
3
3
|
};
|
|
4
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9saWIvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLENBQzVCLEdBQU0sRUFDTixJQUFPLEVBQ29CLEVBQUU7SUFDN0IsT0FBTyxNQUFNLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQ3pELENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBoYXNPd25Qcm9wZXJ0eSA9IDxULCBLIGV4dGVuZHMgUHJvcGVydHlLZXk+
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9saWIvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLENBQzVCLEdBQU0sRUFDTixJQUFPLEVBQ29CLEVBQUU7SUFDN0IsT0FBTyxNQUFNLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQ3pELENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBoYXNPd25Qcm9wZXJ0eSA9IDxULCBLIGV4dGVuZHMgUHJvcGVydHlLZXk+KFxuICBvYmo6IFQsXG4gIHByb3A6IEssXG4pOiBvYmogaXMgVCAmIFJlY29yZDxLLCBhbnk+ID0+IHtcbiAgcmV0dXJuIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChvYmosIHByb3ApO1xufTtcbiJdfQ==
|
package/package.json
CHANGED
|
@@ -1,41 +1,47 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rosen-bridge/fastify-enhanced",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "2.0.1",
|
|
4
4
|
"description": "a wrapper around fastify web framework to make it even better",
|
|
5
|
-
"repository":
|
|
5
|
+
"repository": {
|
|
6
|
+
"type": "git",
|
|
7
|
+
"url": "git+https://github.com/rosen-bridge/utils.git"
|
|
8
|
+
},
|
|
6
9
|
"license": "MIT",
|
|
7
10
|
"author": "Rosen Team",
|
|
8
11
|
"type": "module",
|
|
9
12
|
"main": "dist/index.js",
|
|
10
13
|
"types": "dist/index.d.ts",
|
|
14
|
+
"files": [
|
|
15
|
+
"dist",
|
|
16
|
+
"CHANGELOG.md"
|
|
17
|
+
],
|
|
11
18
|
"scripts": {
|
|
12
19
|
"build": "tsc --build tsconfig.build.json",
|
|
13
20
|
"coverage": "npm run test -- --run --coverage",
|
|
14
21
|
"lint": "eslint --fix . && npm run prettify",
|
|
15
|
-
"
|
|
16
|
-
"
|
|
22
|
+
"lint:check": "eslint . && npm run prettify:check",
|
|
23
|
+
"prettify": "prettier --write . --ignore-path ../../.gitignore",
|
|
24
|
+
"prettify:check": "prettier --check . --ignore-path ../../.gitignore",
|
|
25
|
+
"release": "npm run test -- --run && npm run build && npm publish --access public",
|
|
17
26
|
"test": "NODE_OPTIONS='--import tsx' vitest",
|
|
18
27
|
"test:bin": "tsx tests/bin.ts",
|
|
19
28
|
"type-check": "tsc --noEmit"
|
|
20
29
|
},
|
|
21
30
|
"devDependencies": {
|
|
22
|
-
"@
|
|
23
|
-
"
|
|
24
|
-
"
|
|
25
|
-
"typescript": "^5.8.3",
|
|
26
|
-
"vitest": "^2.0.5",
|
|
27
|
-
"@types/json-bigint": "^1.0.1"
|
|
28
|
-
},
|
|
29
|
-
"engines": {
|
|
30
|
-
"node": ">=20.11.0"
|
|
31
|
+
"@vitest/coverage-istanbul": "^3.1.4",
|
|
32
|
+
"tsx": "^4.20.5",
|
|
33
|
+
"vitest": "^3.1.4"
|
|
31
34
|
},
|
|
32
35
|
"dependencies": {
|
|
33
36
|
"@fastify/swagger": "^9.5.1",
|
|
34
37
|
"@fastify/swagger-ui": "^5.2.3",
|
|
38
|
+
"@rosen-bridge/json-bigint": "^1.1.0",
|
|
35
39
|
"fastify": "^5.3.3",
|
|
36
40
|
"fastify-zod-openapi": "^4.1.2",
|
|
37
|
-
"json-bigint": "^1.0.0",
|
|
38
41
|
"zod": "^3.25.56",
|
|
39
42
|
"zod-openapi": "^4.2.4"
|
|
43
|
+
},
|
|
44
|
+
"engines": {
|
|
45
|
+
"node": ">=22.18.0"
|
|
40
46
|
}
|
|
41
47
|
}
|
package/.eslintignore
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
dist
|
package/dist/dataTypes.d.ts
DELETED
|
@@ -1,234 +0,0 @@
|
|
|
1
|
-
import zod from 'zod';
|
|
2
|
-
export declare const types: {
|
|
3
|
-
bigint: () => zod.ZodPipeline<zod.ZodUnion<[zod.ZodNumber, zod.ZodBigInt]>, zod.ZodBigInt>;
|
|
4
|
-
string: (params?: ({
|
|
5
|
-
errorMap?: zod.ZodErrorMap | undefined;
|
|
6
|
-
invalid_type_error?: string | undefined;
|
|
7
|
-
required_error?: string | undefined;
|
|
8
|
-
description?: string | undefined;
|
|
9
|
-
} & {
|
|
10
|
-
coerce?: true | undefined;
|
|
11
|
-
}) | undefined) => zod.ZodString;
|
|
12
|
-
number: (params?: ({
|
|
13
|
-
errorMap?: zod.ZodErrorMap | undefined;
|
|
14
|
-
invalid_type_error?: string | undefined;
|
|
15
|
-
required_error?: string | undefined;
|
|
16
|
-
description?: string | undefined;
|
|
17
|
-
} & {
|
|
18
|
-
coerce?: boolean | undefined;
|
|
19
|
-
}) | undefined) => zod.ZodNumber;
|
|
20
|
-
boolean: (params?: ({
|
|
21
|
-
errorMap?: zod.ZodErrorMap | undefined;
|
|
22
|
-
invalid_type_error?: string | undefined;
|
|
23
|
-
required_error?: string | undefined;
|
|
24
|
-
description?: string | undefined;
|
|
25
|
-
} & {
|
|
26
|
-
coerce?: boolean | undefined;
|
|
27
|
-
}) | undefined) => zod.ZodBoolean;
|
|
28
|
-
symbol: (params?: zod.RawCreateParams) => zod.ZodSymbol;
|
|
29
|
-
undefined: (params?: zod.RawCreateParams) => zod.ZodUndefined;
|
|
30
|
-
object: <T extends zod.ZodRawShape>(shape: T, params?: zod.RawCreateParams) => zod.ZodObject<T, "strip", zod.ZodTypeAny, { [k_1 in keyof zod.objectUtil.addQuestionMarks<zod.baseObjectOutputType<T>, { [k in keyof zod.baseObjectOutputType<T>]: undefined extends zod.baseObjectOutputType<T>[k] ? never : k; }[keyof T]>]: zod.objectUtil.addQuestionMarks<zod.baseObjectOutputType<T>, { [k in keyof zod.baseObjectOutputType<T>]: undefined extends zod.baseObjectOutputType<T>[k] ? never : k; }[keyof T]>[k_1]; }, { [k_2 in keyof zod.baseObjectInputType<T>]: zod.baseObjectInputType<T>[k_2]; }>;
|
|
31
|
-
function: typeof zod.ZodFunction.create;
|
|
32
|
-
z: typeof zod.z;
|
|
33
|
-
setErrorMap: typeof zod.setErrorMap;
|
|
34
|
-
getErrorMap: typeof zod.getErrorMap;
|
|
35
|
-
defaultErrorMap: zod.ZodErrorMap;
|
|
36
|
-
addIssueToContext: typeof zod.addIssueToContext;
|
|
37
|
-
makeIssue: (params: {
|
|
38
|
-
data: any;
|
|
39
|
-
path: (string | number)[];
|
|
40
|
-
errorMaps: zod.ZodErrorMap[];
|
|
41
|
-
issueData: zod.IssueData;
|
|
42
|
-
}) => zod.ZodIssue;
|
|
43
|
-
EMPTY_PATH: zod.ParsePath;
|
|
44
|
-
ParseStatus: typeof zod.ParseStatus;
|
|
45
|
-
INVALID: zod.INVALID;
|
|
46
|
-
DIRTY: <T>(value: T) => zod.DIRTY<T>;
|
|
47
|
-
OK: <T>(value: T) => zod.OK<T>;
|
|
48
|
-
isAborted: (x: zod.ParseReturnType<any>) => x is zod.INVALID;
|
|
49
|
-
isDirty: <T>(x: zod.ParseReturnType<T>) => x is zod.OK<T> | zod.DIRTY<T>;
|
|
50
|
-
isValid: <T>(x: zod.ParseReturnType<T>) => x is zod.OK<T> | zod.DIRTY<T>;
|
|
51
|
-
isAsync: <T>(x: zod.ParseReturnType<T>) => x is zod.AsyncParseReturnType<T>;
|
|
52
|
-
util: typeof zod.util;
|
|
53
|
-
objectUtil: typeof zod.objectUtil;
|
|
54
|
-
ZodParsedType: {
|
|
55
|
-
function: "function";
|
|
56
|
-
number: "number";
|
|
57
|
-
string: "string";
|
|
58
|
-
nan: "nan";
|
|
59
|
-
integer: "integer";
|
|
60
|
-
float: "float";
|
|
61
|
-
boolean: "boolean";
|
|
62
|
-
date: "date";
|
|
63
|
-
bigint: "bigint";
|
|
64
|
-
symbol: "symbol";
|
|
65
|
-
undefined: "undefined";
|
|
66
|
-
null: "null";
|
|
67
|
-
array: "array";
|
|
68
|
-
object: "object";
|
|
69
|
-
unknown: "unknown";
|
|
70
|
-
promise: "promise";
|
|
71
|
-
void: "void";
|
|
72
|
-
never: "never";
|
|
73
|
-
map: "map";
|
|
74
|
-
set: "set";
|
|
75
|
-
};
|
|
76
|
-
getParsedType: (data: any) => zod.ZodParsedType;
|
|
77
|
-
ZodType: typeof zod.ZodType;
|
|
78
|
-
ZodString: typeof zod.ZodString;
|
|
79
|
-
ZodNumber: typeof zod.ZodNumber;
|
|
80
|
-
ZodBigInt: typeof zod.ZodBigInt;
|
|
81
|
-
ZodBoolean: typeof zod.ZodBoolean;
|
|
82
|
-
ZodDate: typeof zod.ZodDate;
|
|
83
|
-
ZodSymbol: typeof zod.ZodSymbol;
|
|
84
|
-
ZodUndefined: typeof zod.ZodUndefined;
|
|
85
|
-
ZodNull: typeof zod.ZodNull;
|
|
86
|
-
ZodAny: typeof zod.ZodAny;
|
|
87
|
-
ZodUnknown: typeof zod.ZodUnknown;
|
|
88
|
-
ZodNever: typeof zod.ZodNever;
|
|
89
|
-
ZodVoid: typeof zod.ZodVoid;
|
|
90
|
-
ZodArray: typeof zod.ZodArray;
|
|
91
|
-
ZodObject: typeof zod.ZodObject;
|
|
92
|
-
ZodUnion: typeof zod.ZodUnion;
|
|
93
|
-
ZodDiscriminatedUnion: typeof zod.ZodDiscriminatedUnion;
|
|
94
|
-
ZodIntersection: typeof zod.ZodIntersection;
|
|
95
|
-
ZodTuple: typeof zod.ZodTuple;
|
|
96
|
-
ZodRecord: typeof zod.ZodRecord;
|
|
97
|
-
ZodMap: typeof zod.ZodMap;
|
|
98
|
-
ZodSet: typeof zod.ZodSet;
|
|
99
|
-
ZodFunction: typeof zod.ZodFunction;
|
|
100
|
-
ZodLazy: typeof zod.ZodLazy;
|
|
101
|
-
ZodLiteral: typeof zod.ZodLiteral;
|
|
102
|
-
ZodEnum: typeof zod.ZodEnum;
|
|
103
|
-
ZodNativeEnum: typeof zod.ZodNativeEnum;
|
|
104
|
-
ZodPromise: typeof zod.ZodPromise;
|
|
105
|
-
ZodEffects: typeof zod.ZodEffects;
|
|
106
|
-
ZodTransformer: typeof zod.ZodEffects;
|
|
107
|
-
ZodOptional: typeof zod.ZodOptional;
|
|
108
|
-
ZodNullable: typeof zod.ZodNullable;
|
|
109
|
-
ZodDefault: typeof zod.ZodDefault;
|
|
110
|
-
ZodCatch: typeof zod.ZodCatch;
|
|
111
|
-
ZodNaN: typeof zod.ZodNaN;
|
|
112
|
-
BRAND: typeof zod.BRAND;
|
|
113
|
-
ZodBranded: typeof zod.ZodBranded;
|
|
114
|
-
ZodPipeline: typeof zod.ZodPipeline;
|
|
115
|
-
ZodReadonly: typeof zod.ZodReadonly;
|
|
116
|
-
custom: <T>(check?: ((data: unknown) => any) | undefined, params?: string | (Partial<zod.util.Omit<zod.ZodCustomIssue, "code">> & {
|
|
117
|
-
fatal?: boolean;
|
|
118
|
-
}) | ((input: any) => Partial<zod.util.Omit<zod.ZodCustomIssue, "code">> & {
|
|
119
|
-
fatal?: boolean;
|
|
120
|
-
}), fatal?: boolean | undefined) => zod.ZodType<T, zod.ZodTypeDef, T>;
|
|
121
|
-
Schema: typeof zod.ZodType;
|
|
122
|
-
ZodSchema: typeof zod.ZodType;
|
|
123
|
-
late: {
|
|
124
|
-
object: <T extends zod.ZodRawShape>(shape: () => T, params?: zod.RawCreateParams) => zod.ZodObject<T, "strip", zod.ZodTypeAny, { [k_1 in keyof zod.objectUtil.addQuestionMarks<zod.baseObjectOutputType<T>, { [k in keyof zod.baseObjectOutputType<T>]: undefined extends zod.baseObjectOutputType<T>[k] ? never : k; }[keyof T]>]: zod.objectUtil.addQuestionMarks<zod.baseObjectOutputType<T>, { [k in keyof zod.baseObjectOutputType<T>]: undefined extends zod.baseObjectOutputType<T>[k] ? never : k; }[keyof T]>[k_1]; }, { [k_2 in keyof zod.baseObjectInputType<T>]: zod.baseObjectInputType<T>[k_2]; }>;
|
|
125
|
-
};
|
|
126
|
-
ZodFirstPartyTypeKind: typeof zod.ZodFirstPartyTypeKind;
|
|
127
|
-
coerce: {
|
|
128
|
-
string: (params?: ({
|
|
129
|
-
errorMap?: zod.ZodErrorMap | undefined;
|
|
130
|
-
invalid_type_error?: string | undefined;
|
|
131
|
-
required_error?: string | undefined;
|
|
132
|
-
description?: string | undefined;
|
|
133
|
-
} & {
|
|
134
|
-
coerce?: true | undefined;
|
|
135
|
-
}) | undefined) => zod.ZodString;
|
|
136
|
-
number: (params?: ({
|
|
137
|
-
errorMap?: zod.ZodErrorMap | undefined;
|
|
138
|
-
invalid_type_error?: string | undefined;
|
|
139
|
-
required_error?: string | undefined;
|
|
140
|
-
description?: string | undefined;
|
|
141
|
-
} & {
|
|
142
|
-
coerce?: boolean | undefined;
|
|
143
|
-
}) | undefined) => zod.ZodNumber;
|
|
144
|
-
boolean: (params?: ({
|
|
145
|
-
errorMap?: zod.ZodErrorMap | undefined;
|
|
146
|
-
invalid_type_error?: string | undefined;
|
|
147
|
-
required_error?: string | undefined;
|
|
148
|
-
description?: string | undefined;
|
|
149
|
-
} & {
|
|
150
|
-
coerce?: boolean | undefined;
|
|
151
|
-
}) | undefined) => zod.ZodBoolean;
|
|
152
|
-
bigint: (params?: ({
|
|
153
|
-
errorMap?: zod.ZodErrorMap | undefined;
|
|
154
|
-
invalid_type_error?: string | undefined;
|
|
155
|
-
required_error?: string | undefined;
|
|
156
|
-
description?: string | undefined;
|
|
157
|
-
} & {
|
|
158
|
-
coerce?: boolean | undefined;
|
|
159
|
-
}) | undefined) => zod.ZodBigInt;
|
|
160
|
-
date: (params?: ({
|
|
161
|
-
errorMap?: zod.ZodErrorMap | undefined;
|
|
162
|
-
invalid_type_error?: string | undefined;
|
|
163
|
-
required_error?: string | undefined;
|
|
164
|
-
description?: string | undefined;
|
|
165
|
-
} & {
|
|
166
|
-
coerce?: boolean | undefined;
|
|
167
|
-
}) | undefined) => zod.ZodDate;
|
|
168
|
-
};
|
|
169
|
-
any: (params?: zod.RawCreateParams) => zod.ZodAny;
|
|
170
|
-
array: <T extends zod.ZodTypeAny>(schema: T, params?: zod.RawCreateParams) => zod.ZodArray<T, "many">;
|
|
171
|
-
date: (params?: ({
|
|
172
|
-
errorMap?: zod.ZodErrorMap | undefined;
|
|
173
|
-
invalid_type_error?: string | undefined;
|
|
174
|
-
required_error?: string | undefined;
|
|
175
|
-
description?: string | undefined;
|
|
176
|
-
} & {
|
|
177
|
-
coerce?: boolean | undefined;
|
|
178
|
-
}) | undefined) => zod.ZodDate;
|
|
179
|
-
discriminatedUnion: typeof zod.ZodDiscriminatedUnion.create;
|
|
180
|
-
effect: <I extends zod.ZodTypeAny>(schema: I, effect: zod.Effect<I["_output"]>, params?: zod.RawCreateParams) => zod.ZodEffects<I, I["_output"], zod.input<I>>;
|
|
181
|
-
enum: {
|
|
182
|
-
<U extends string, T extends Readonly<[U, ...U[]]>>(values: T, params?: zod.RawCreateParams): zod.ZodEnum<zod.Writeable<T>>;
|
|
183
|
-
<U extends string, T extends [U, ...U[]]>(values: T, params?: zod.RawCreateParams): zod.ZodEnum<T>;
|
|
184
|
-
};
|
|
185
|
-
instanceof: <T extends abstract new (..._: any[]) => {}>(cls: T, params?: Partial<zod.util.Omit<zod.ZodCustomIssue, "code">> & {
|
|
186
|
-
fatal?: boolean;
|
|
187
|
-
}) => zod.ZodType<InstanceType<T>, zod.ZodTypeDef, InstanceType<T>>;
|
|
188
|
-
intersection: <T extends zod.ZodTypeAny, U extends zod.ZodTypeAny>(left: T, right: U, params?: zod.RawCreateParams) => zod.ZodIntersection<T, U>;
|
|
189
|
-
lazy: <T extends zod.ZodTypeAny>(getter: () => T, params?: zod.RawCreateParams) => zod.ZodLazy<T>;
|
|
190
|
-
literal: <T extends zod.Primitive>(value: T, params?: zod.RawCreateParams) => zod.ZodLiteral<T>;
|
|
191
|
-
map: <Key extends zod.ZodTypeAny = zod.ZodTypeAny, Value extends zod.ZodTypeAny = zod.ZodTypeAny>(keyType: Key, valueType: Value, params?: zod.RawCreateParams) => zod.ZodMap<Key, Value>;
|
|
192
|
-
nan: (params?: zod.RawCreateParams) => zod.ZodNaN;
|
|
193
|
-
nativeEnum: <T extends zod.EnumLike>(values: T, params?: zod.RawCreateParams) => zod.ZodNativeEnum<T>;
|
|
194
|
-
never: (params?: zod.RawCreateParams) => zod.ZodNever;
|
|
195
|
-
null: (params?: zod.RawCreateParams) => zod.ZodNull;
|
|
196
|
-
nullable: <T extends zod.ZodTypeAny>(type: T, params?: zod.RawCreateParams) => zod.ZodNullable<T>;
|
|
197
|
-
oboolean: () => zod.ZodOptional<zod.ZodBoolean>;
|
|
198
|
-
onumber: () => zod.ZodOptional<zod.ZodNumber>;
|
|
199
|
-
optional: <T extends zod.ZodTypeAny>(type: T, params?: zod.RawCreateParams) => zod.ZodOptional<T>;
|
|
200
|
-
ostring: () => zod.ZodOptional<zod.ZodString>;
|
|
201
|
-
pipeline: typeof zod.ZodPipeline.create;
|
|
202
|
-
preprocess: <I extends zod.ZodTypeAny>(preprocess: (arg: unknown, ctx: zod.RefinementCtx) => unknown, schema: I, params?: zod.RawCreateParams) => zod.ZodEffects<I, I["_output"], unknown>;
|
|
203
|
-
promise: <T extends zod.ZodTypeAny>(schema: T, params?: zod.RawCreateParams) => zod.ZodPromise<T>;
|
|
204
|
-
record: typeof zod.ZodRecord.create;
|
|
205
|
-
set: <Value extends zod.ZodTypeAny = zod.ZodTypeAny>(valueType: Value, params?: zod.RawCreateParams) => zod.ZodSet<Value>;
|
|
206
|
-
strictObject: <T extends zod.ZodRawShape>(shape: T, params?: zod.RawCreateParams) => zod.ZodObject<T, "strict", zod.ZodTypeAny, { [k_1 in keyof zod.objectUtil.addQuestionMarks<zod.baseObjectOutputType<T>, { [k in keyof zod.baseObjectOutputType<T>]: undefined extends zod.baseObjectOutputType<T>[k] ? never : k; }[keyof T]>]: zod.objectUtil.addQuestionMarks<zod.baseObjectOutputType<T>, { [k in keyof zod.baseObjectOutputType<T>]: undefined extends zod.baseObjectOutputType<T>[k] ? never : k; }[keyof T]>[k_1]; }, { [k_2 in keyof zod.baseObjectInputType<T>]: zod.baseObjectInputType<T>[k_2]; }>;
|
|
207
|
-
transformer: <I extends zod.ZodTypeAny>(schema: I, effect: zod.Effect<I["_output"]>, params?: zod.RawCreateParams) => zod.ZodEffects<I, I["_output"], zod.input<I>>;
|
|
208
|
-
tuple: <T extends [] | [zod.ZodTypeAny, ...zod.ZodTypeAny[]]>(schemas: T, params?: zod.RawCreateParams) => zod.ZodTuple<T, null>;
|
|
209
|
-
union: <T extends readonly [zod.ZodTypeAny, zod.ZodTypeAny, ...zod.ZodTypeAny[]]>(types: T, params?: zod.RawCreateParams) => zod.ZodUnion<T>;
|
|
210
|
-
unknown: (params?: zod.RawCreateParams) => zod.ZodUnknown;
|
|
211
|
-
void: (params?: zod.RawCreateParams) => zod.ZodVoid;
|
|
212
|
-
NEVER: never;
|
|
213
|
-
ZodIssueCode: {
|
|
214
|
-
invalid_type: "invalid_type";
|
|
215
|
-
invalid_literal: "invalid_literal";
|
|
216
|
-
custom: "custom";
|
|
217
|
-
invalid_union: "invalid_union";
|
|
218
|
-
invalid_union_discriminator: "invalid_union_discriminator";
|
|
219
|
-
invalid_enum_value: "invalid_enum_value";
|
|
220
|
-
unrecognized_keys: "unrecognized_keys";
|
|
221
|
-
invalid_arguments: "invalid_arguments";
|
|
222
|
-
invalid_return_type: "invalid_return_type";
|
|
223
|
-
invalid_date: "invalid_date";
|
|
224
|
-
invalid_string: "invalid_string";
|
|
225
|
-
too_small: "too_small";
|
|
226
|
-
too_big: "too_big";
|
|
227
|
-
invalid_intersection_types: "invalid_intersection_types";
|
|
228
|
-
not_multiple_of: "not_multiple_of";
|
|
229
|
-
not_finite: "not_finite";
|
|
230
|
-
};
|
|
231
|
-
quotelessJson: (obj: any) => string;
|
|
232
|
-
ZodError: typeof zod.ZodError;
|
|
233
|
-
};
|
|
234
|
-
//# sourceMappingURL=dataTypes.d.ts.map
|
package/dist/dataTypes.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"dataTypes.d.ts","sourceRoot":"","sources":["../lib/dataTypes.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,KAAK,CAAC;AAEtB,eAAO,MAAM,KAAK;;;gBAKkh9C,CAAC;0BAAiD,CAAC;sBAAwC,CAAC;mBAAqC,CAAC;;cAAsC,CAAC;;;gBAAqG,CAAC;0BAAiD,CAAC;sBAAwC,CAAC;mBAAqC,CAAC;;cAAsC,CAAC;;;gBAAub,CAAC;0BAAiD,CAAC;sBAAwC,CAAC;mBAAqC,CAAC;;cAAsC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBAA5wH,CAAC,8CAA8C,CAAC;;;;aAA+D,CAAC;;;;kEAAgM,CAAC;;;;uBAAmkP,CAAC;oBAAqB,CAAC;8BAAqD,CAAC;0BAA4C,CAAC;uBAAyC,CAAC;;kBAA8C,CAAC;;uBAAyE,CAAC;oBAAqB,CAAC;8BAAqD,CAAC;0BAA4C,CAAC;uBAAyC,CAAC;;kBAA8C,CAAC;;wBAA6E,CAAC;oBAAqB,CAAC;8BAAqD,CAAC;0BAA4C,CAAC;uBAAyC,CAAC;;kBAA8C,CAAC;;uBAA6E,CAAC;oBAAqB,CAAC;8BAAqD,CAAC;0BAA4C,CAAC;uBAAyC,CAAC;;kBAA8C,CAAC;;qBAA0E,CAAC;oBAAqB,CAAC;8BAAqD,CAAC;0BAA4C,CAAC;uBAAyC,CAAC;;kBAA8C,CAAC;;;;;;gBAA70K,CAAC;0BAAiD,CAAC;sBAAwC,CAAC;mBAAqC,CAAC;;cAAsC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAD10/C,CAAC"}
|
package/dist/dataTypes.js
DELETED
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import zod from 'zod';
|
|
2
|
-
export const types = {
|
|
3
|
-
...zod,
|
|
4
|
-
bigint: () => zod.union([zod.number(), zod.bigint()]).pipe(zod.coerce.bigint()),
|
|
5
|
-
};
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YVR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vbGliL2RhdGFUeXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEdBQUcsTUFBTSxLQUFLLENBQUM7QUFFdEIsTUFBTSxDQUFDLE1BQU0sS0FBSyxHQUFHO0lBQ25CLEdBQUksR0FBa0M7SUFDdEMsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUNYLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLEVBQUUsR0FBRyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQztDQUNwRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHpvZCBmcm9tICd6b2QnO1xuXG5leHBvcnQgY29uc3QgdHlwZXMgPSB7XG4gIC4uLih6b2QgYXMgT21pdDx0eXBlb2Ygem9kLCAnYmlnaW50Jz4pLFxuICBiaWdpbnQ6ICgpID0+XG4gICAgem9kLnVuaW9uKFt6b2QubnVtYmVyKCksIHpvZC5iaWdpbnQoKV0pLnBpcGUoem9kLmNvZXJjZS5iaWdpbnQoKSksXG59O1xuIl19
|
package/lib/error.ts
DELETED
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
export class ResponseValidationError extends Error {
|
|
2
|
-
public details: Record<string, any>;
|
|
3
|
-
|
|
4
|
-
constructor(validationResult: Record<string, any>) {
|
|
5
|
-
super("Response doesn't match the schema");
|
|
6
|
-
this.name = 'ResponseValidationError';
|
|
7
|
-
this.details = validationResult.error;
|
|
8
|
-
}
|
|
9
|
-
}
|
package/lib/fastify.ts
DELETED
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
import 'zod-openapi/extend';
|
|
2
|
-
|
|
3
|
-
import {
|
|
4
|
-
type FastifyZodOpenApiTypeProvider,
|
|
5
|
-
fastifyZodOpenApiPlugin,
|
|
6
|
-
validatorCompiler,
|
|
7
|
-
} from 'fastify-zod-openapi';
|
|
8
|
-
import Fastify from 'fastify';
|
|
9
|
-
import JsonBigIntFactory from 'json-bigint';
|
|
10
|
-
|
|
11
|
-
import { FastifyWithZod, SwaggerOpts } from './types';
|
|
12
|
-
import { registerSwagger } from './swagger';
|
|
13
|
-
import { makeJsonParser } from './jsonParser';
|
|
14
|
-
import { makeSerializerCompiler } from './serializerCompiler';
|
|
15
|
-
|
|
16
|
-
/**
|
|
17
|
-
* creates an instance of Fastify with Zod validation library as validator and
|
|
18
|
-
* type provider
|
|
19
|
-
*/
|
|
20
|
-
export const makeFastify = async (
|
|
21
|
-
swaggerOpts: SwaggerOpts = {
|
|
22
|
-
path: '/swagger',
|
|
23
|
-
title: 'api',
|
|
24
|
-
description: '',
|
|
25
|
-
version: '0.0.1',
|
|
26
|
-
},
|
|
27
|
-
opts = { logger: true },
|
|
28
|
-
jsonHandler = JsonBigIntFactory({
|
|
29
|
-
alwaysParseAsBig: false,
|
|
30
|
-
useNativeBigInt: true,
|
|
31
|
-
storeAsString: true,
|
|
32
|
-
})
|
|
33
|
-
): Promise<FastifyWithZod> => {
|
|
34
|
-
const fastify =
|
|
35
|
-
Fastify(opts).withTypeProvider<FastifyZodOpenApiTypeProvider>();
|
|
36
|
-
|
|
37
|
-
fastify.setValidatorCompiler(validatorCompiler);
|
|
38
|
-
|
|
39
|
-
const serializerCompiler = makeSerializerCompiler(jsonHandler);
|
|
40
|
-
fastify.setSerializerCompiler(serializerCompiler);
|
|
41
|
-
|
|
42
|
-
await fastify.register(fastifyZodOpenApiPlugin);
|
|
43
|
-
|
|
44
|
-
fastify.addContentTypeParser<string>(
|
|
45
|
-
'application/json',
|
|
46
|
-
{ parseAs: 'string' },
|
|
47
|
-
makeJsonParser(jsonHandler)
|
|
48
|
-
);
|
|
49
|
-
|
|
50
|
-
await registerSwagger(fastify, swaggerOpts);
|
|
51
|
-
|
|
52
|
-
return fastify;
|
|
53
|
-
};
|
package/lib/index.ts
DELETED
package/lib/jsonParser.ts
DELETED
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { ContentTypeParserDoneFunction } from 'fastify/types/content-type-parser';
|
|
2
|
-
import JsonBigIntFactory from 'json-bigint';
|
|
3
|
-
|
|
4
|
-
export const makeJsonParser = (
|
|
5
|
-
jsonHandler: ReturnType<typeof JsonBigIntFactory>
|
|
6
|
-
) => {
|
|
7
|
-
return (req: unknown, body: string, done: ContentTypeParserDoneFunction) => {
|
|
8
|
-
try {
|
|
9
|
-
const json = jsonHandler.parse(body);
|
|
10
|
-
done(null, json);
|
|
11
|
-
} catch (err) {
|
|
12
|
-
if (err instanceof Error || err === null) {
|
|
13
|
-
done(err, undefined);
|
|
14
|
-
} else {
|
|
15
|
-
const wrappedErr = new Error(
|
|
16
|
-
`An unexpected error occurred while trying to parse request body`,
|
|
17
|
-
{ cause: err }
|
|
18
|
-
);
|
|
19
|
-
done(wrappedErr, undefined);
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
};
|
|
23
|
-
};
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
import { FastifySerializerCompiler } from 'fastify/types/schema';
|
|
2
|
-
import { ZodAny } from 'zod';
|
|
3
|
-
import JsonBigIntFactory from 'json-bigint';
|
|
4
|
-
|
|
5
|
-
import { ResponseValidationError } from './error';
|
|
6
|
-
import { hasOwnProperty } from './utils';
|
|
7
|
-
|
|
8
|
-
type SerType = FastifySerializerCompiler<ZodAny | { properties: ZodAny }>;
|
|
9
|
-
type JsonHandler = ReturnType<typeof JsonBigIntFactory>;
|
|
10
|
-
|
|
11
|
-
/**
|
|
12
|
-
* creates a Fastify serializer compiler based on Zod validation library and
|
|
13
|
-
* using the passed json parser/serializer
|
|
14
|
-
*/
|
|
15
|
-
export const makeSerializerCompiler =
|
|
16
|
-
(jsonHandler: JsonHandler): SerType =>
|
|
17
|
-
(schemaDef) =>
|
|
18
|
-
(data) => {
|
|
19
|
-
const schema: Pick<ZodAny, 'safeParse'> = resolveSchema(schemaDef.schema);
|
|
20
|
-
|
|
21
|
-
const result = schema.safeParse(data);
|
|
22
|
-
if (result.success) {
|
|
23
|
-
return jsonHandler.stringify(result.data);
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
throw new ResponseValidationError(result);
|
|
27
|
-
};
|
|
28
|
-
|
|
29
|
-
/**
|
|
30
|
-
* resolve the right schema to be used
|
|
31
|
-
*/
|
|
32
|
-
const resolveSchema = (
|
|
33
|
-
maybeSchema: ZodAny | { properties: ZodAny }
|
|
34
|
-
): Pick<ZodAny, 'safeParse'> => {
|
|
35
|
-
if (hasOwnProperty(maybeSchema, 'safeParse')) {
|
|
36
|
-
return maybeSchema;
|
|
37
|
-
}
|
|
38
|
-
if (hasOwnProperty(maybeSchema, 'properties')) {
|
|
39
|
-
return maybeSchema.properties;
|
|
40
|
-
}
|
|
41
|
-
throw new Error(`Invalid schema passed: ${JSON.stringify(maybeSchema)}`);
|
|
42
|
-
};
|