@dokploy/trpc-openapi 0.0.5 → 3.1.0-beta.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/LICENSE +4 -16
- package/README.md +166 -85
- package/dist/cjs/adapters/express.d.ts +6 -0
- package/dist/cjs/adapters/express.d.ts.map +1 -0
- package/dist/{adapters → cjs/adapters}/express.js +2 -2
- package/dist/cjs/adapters/express.js.map +1 -0
- package/dist/cjs/adapters/fastify.d.ts +9 -0
- package/dist/cjs/adapters/fastify.d.ts.map +1 -0
- package/dist/cjs/adapters/fastify.js +65 -0
- package/dist/cjs/adapters/fastify.js.map +1 -0
- package/dist/cjs/adapters/fetch.d.ts +8 -0
- package/dist/cjs/adapters/fetch.d.ts.map +1 -0
- package/dist/cjs/adapters/fetch.js +100 -0
- package/dist/cjs/adapters/fetch.js.map +1 -0
- package/dist/cjs/adapters/index.d.ts +9 -0
- package/dist/cjs/adapters/index.d.ts.map +1 -0
- package/dist/cjs/adapters/index.js +25 -0
- package/dist/cjs/adapters/index.js.map +1 -0
- package/dist/cjs/adapters/koa.d.ts +9 -0
- package/dist/cjs/adapters/koa.d.ts.map +1 -0
- package/dist/cjs/adapters/koa.js +12 -0
- package/dist/cjs/adapters/koa.js.map +1 -0
- package/dist/cjs/adapters/next.d.ts +6 -0
- package/dist/cjs/adapters/next.d.ts.map +1 -0
- package/dist/{adapters → cjs/adapters}/next.js +15 -10
- package/dist/cjs/adapters/next.js.map +1 -0
- package/dist/{adapters → cjs/adapters}/node-http/core.d.ts +4 -3
- package/dist/cjs/adapters/node-http/core.d.ts.map +1 -0
- package/dist/{adapters → cjs/adapters}/node-http/core.js +72 -49
- package/dist/cjs/adapters/node-http/core.js.map +1 -0
- package/dist/cjs/adapters/node-http/errors.d.ts +6 -0
- package/dist/cjs/adapters/node-http/errors.d.ts.map +1 -0
- package/dist/cjs/adapters/node-http/errors.js +94 -0
- package/dist/cjs/adapters/node-http/errors.js.map +1 -0
- package/dist/cjs/adapters/node-http/index.d.ts +5 -0
- package/dist/cjs/adapters/node-http/index.d.ts.map +1 -0
- package/dist/cjs/adapters/node-http/index.js +21 -0
- package/dist/cjs/adapters/node-http/index.js.map +1 -0
- package/dist/{adapters → cjs/adapters}/node-http/input.d.ts +2 -2
- package/dist/cjs/adapters/node-http/input.d.ts.map +1 -0
- package/dist/{adapters → cjs/adapters}/node-http/input.js +7 -10
- package/dist/cjs/adapters/node-http/input.js.map +1 -0
- package/dist/{adapters → cjs/adapters}/node-http/procedures.d.ts +2 -2
- package/dist/cjs/adapters/node-http/procedures.d.ts.map +1 -0
- package/dist/{adapters → cjs/adapters}/node-http/procedures.js +10 -21
- package/dist/cjs/adapters/node-http/procedures.js.map +1 -0
- package/dist/cjs/adapters/nuxt.d.ts +6 -0
- package/dist/cjs/adapters/nuxt.d.ts.map +1 -0
- package/dist/cjs/adapters/nuxt.js +50 -0
- package/dist/cjs/adapters/nuxt.js.map +1 -0
- package/dist/{adapters → cjs/adapters}/standalone.d.ts +3 -3
- package/dist/cjs/adapters/standalone.d.ts.map +1 -0
- package/dist/{adapters → cjs/adapters}/standalone.js +5 -1
- package/dist/cjs/adapters/standalone.js.map +1 -0
- package/dist/cjs/generator/index.d.ts +40 -0
- package/dist/cjs/generator/index.d.ts.map +1 -0
- package/dist/cjs/generator/index.js +33 -0
- package/dist/cjs/generator/index.js.map +1 -0
- package/dist/cjs/generator/paths.d.ts +16 -0
- package/dist/cjs/generator/paths.d.ts.map +1 -0
- package/dist/cjs/generator/paths.js +122 -0
- package/dist/cjs/generator/paths.js.map +1 -0
- package/dist/cjs/generator/schema.d.ts +15 -0
- package/dist/cjs/generator/schema.d.ts.map +1 -0
- package/dist/cjs/generator/schema.js +195 -0
- package/dist/cjs/generator/schema.js.map +1 -0
- package/dist/cjs/index.d.ts +6 -0
- package/dist/cjs/index.d.ts.map +1 -0
- package/dist/cjs/index.js +24 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/types.d.ts +55 -0
- package/dist/cjs/types.d.ts.map +1 -0
- package/dist/cjs/types.js.map +1 -0
- package/dist/cjs/utils/index.d.ts +5 -0
- package/dist/cjs/utils/index.d.ts.map +1 -0
- package/dist/{adapters → cjs/utils}/index.js +4 -3
- package/dist/cjs/utils/index.js.map +1 -0
- package/dist/cjs/utils/method.d.ts +6 -0
- package/dist/cjs/utils/method.d.ts.map +1 -0
- package/dist/cjs/utils/method.js +29 -0
- package/dist/cjs/utils/method.js.map +1 -0
- package/dist/cjs/utils/path.d.ts.map +1 -0
- package/dist/{utils → cjs/utils}/path.js +1 -1
- package/dist/cjs/utils/path.js.map +1 -0
- package/dist/cjs/utils/procedure.d.ts +22 -0
- package/dist/cjs/utils/procedure.d.ts.map +1 -0
- package/dist/cjs/utils/procedure.js +92 -0
- package/dist/cjs/utils/procedure.js.map +1 -0
- package/dist/cjs/utils/zod.d.ts +16 -0
- package/dist/cjs/utils/zod.d.ts.map +1 -0
- package/dist/cjs/utils/zod.js +96 -0
- package/dist/cjs/utils/zod.js.map +1 -0
- package/dist/esm/adapters/express.d.ts +6 -0
- package/dist/esm/adapters/express.d.ts.map +1 -0
- package/dist/esm/adapters/express.js.map +1 -0
- package/dist/esm/adapters/express.mjs +8 -0
- package/dist/esm/adapters/fastify.d.ts +9 -0
- package/dist/esm/adapters/fastify.d.ts.map +1 -0
- package/dist/esm/adapters/fastify.js.map +1 -0
- package/dist/esm/adapters/fastify.mjs +61 -0
- package/dist/esm/adapters/fetch.d.ts +8 -0
- package/dist/esm/adapters/fetch.d.ts.map +1 -0
- package/dist/esm/adapters/fetch.js.map +1 -0
- package/dist/esm/adapters/fetch.mjs +95 -0
- package/dist/esm/adapters/index.d.ts +9 -0
- package/dist/esm/adapters/index.d.ts.map +1 -0
- package/dist/esm/adapters/index.js.map +1 -0
- package/dist/esm/adapters/index.mjs +9 -0
- package/dist/esm/adapters/koa.d.ts +9 -0
- package/dist/esm/adapters/koa.d.ts.map +1 -0
- package/dist/esm/adapters/koa.js.map +1 -0
- package/dist/esm/adapters/koa.mjs +8 -0
- package/dist/esm/adapters/next.d.ts +6 -0
- package/dist/esm/adapters/next.d.ts.map +1 -0
- package/dist/esm/adapters/next.js.map +1 -0
- package/dist/esm/adapters/next.mjs +45 -0
- package/dist/esm/adapters/node-http/core.d.ts +7 -0
- package/dist/esm/adapters/node-http/core.d.ts.map +1 -0
- package/dist/esm/adapters/node-http/core.js.map +1 -0
- package/dist/esm/adapters/node-http/core.mjs +166 -0
- package/dist/esm/adapters/node-http/errors.d.ts +6 -0
- package/dist/esm/adapters/node-http/errors.d.ts.map +1 -0
- package/dist/esm/adapters/node-http/errors.js.map +1 -0
- package/dist/esm/adapters/node-http/errors.mjs +90 -0
- package/dist/esm/adapters/node-http/index.d.ts +5 -0
- package/dist/esm/adapters/node-http/index.d.ts.map +1 -0
- package/dist/esm/adapters/node-http/index.js.map +1 -0
- package/dist/esm/adapters/node-http/index.mjs +5 -0
- package/dist/esm/adapters/node-http/input.d.ts +4 -0
- package/dist/esm/adapters/node-http/input.d.ts.map +1 -0
- package/dist/esm/adapters/node-http/input.js.map +1 -0
- package/dist/esm/adapters/node-http/input.mjs +65 -0
- package/dist/esm/adapters/node-http/procedures.d.ts +12 -0
- package/dist/esm/adapters/node-http/procedures.d.ts.map +1 -0
- package/dist/esm/adapters/node-http/procedures.js.map +1 -0
- package/dist/esm/adapters/node-http/procedures.mjs +34 -0
- package/dist/esm/adapters/nuxt.d.ts +6 -0
- package/dist/esm/adapters/nuxt.d.ts.map +1 -0
- package/dist/esm/adapters/nuxt.js.map +1 -0
- package/dist/esm/adapters/nuxt.mjs +45 -0
- package/dist/esm/adapters/standalone.d.ts +6 -0
- package/dist/esm/adapters/standalone.d.ts.map +1 -0
- package/dist/esm/adapters/standalone.js.map +1 -0
- package/dist/esm/adapters/standalone.mjs +11 -0
- package/dist/esm/generator/index.d.ts +40 -0
- package/dist/esm/generator/index.d.ts.map +1 -0
- package/dist/esm/generator/index.js.map +1 -0
- package/dist/esm/generator/index.mjs +31 -0
- package/dist/esm/generator/paths.d.ts +16 -0
- package/dist/esm/generator/paths.d.ts.map +1 -0
- package/dist/esm/generator/paths.js.map +1 -0
- package/dist/esm/generator/paths.mjs +129 -0
- package/dist/esm/generator/schema.d.ts +15 -0
- package/dist/esm/generator/schema.d.ts.map +1 -0
- package/dist/esm/generator/schema.js.map +1 -0
- package/dist/esm/generator/schema.mjs +203 -0
- package/dist/esm/index.d.ts +6 -0
- package/dist/esm/index.d.ts.map +1 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/index.mjs +6 -0
- package/dist/esm/types.d.ts +55 -0
- package/dist/esm/types.d.ts.map +1 -0
- package/dist/esm/types.js.map +1 -0
- package/dist/esm/types.mjs +2 -0
- package/dist/esm/utils/index.d.ts +5 -0
- package/dist/esm/utils/index.d.ts.map +1 -0
- package/dist/esm/utils/index.js.map +1 -0
- package/dist/esm/utils/index.mjs +5 -0
- package/dist/esm/utils/method.d.ts +6 -0
- package/dist/esm/utils/method.d.ts.map +1 -0
- package/dist/esm/utils/method.js.map +1 -0
- package/dist/esm/utils/method.mjs +22 -0
- package/dist/esm/utils/path.d.ts +4 -0
- package/dist/esm/utils/path.d.ts.map +1 -0
- package/dist/esm/utils/path.js.map +1 -0
- package/dist/esm/utils/path.mjs +11 -0
- package/dist/esm/utils/procedure.d.ts +22 -0
- package/dist/esm/utils/procedure.d.ts.map +1 -0
- package/dist/esm/utils/procedure.js.map +1 -0
- package/dist/esm/utils/procedure.mjs +85 -0
- package/dist/esm/utils/zod.d.ts +16 -0
- package/dist/esm/utils/zod.d.ts.map +1 -0
- package/dist/esm/utils/zod.js.map +1 -0
- package/dist/esm/utils/zod.mjs +82 -0
- package/package.json +49 -41
- package/dist/adapters/express.d.ts +0 -8
- package/dist/adapters/express.d.ts.map +0 -1
- package/dist/adapters/express.js.map +0 -1
- package/dist/adapters/index.d.ts +0 -4
- package/dist/adapters/index.d.ts.map +0 -1
- package/dist/adapters/index.js.map +0 -1
- package/dist/adapters/next.d.ts +0 -6
- package/dist/adapters/next.d.ts.map +0 -1
- package/dist/adapters/next.js.map +0 -1
- package/dist/adapters/node-http/core.d.ts.map +0 -1
- package/dist/adapters/node-http/core.js.map +0 -1
- package/dist/adapters/node-http/errors.d.ts +0 -4
- package/dist/adapters/node-http/errors.d.ts.map +0 -1
- package/dist/adapters/node-http/errors.js +0 -43
- package/dist/adapters/node-http/errors.js.map +0 -1
- package/dist/adapters/node-http/input.d.ts.map +0 -1
- package/dist/adapters/node-http/input.js.map +0 -1
- package/dist/adapters/node-http/procedures.d.ts.map +0 -1
- package/dist/adapters/node-http/procedures.js.map +0 -1
- package/dist/adapters/standalone.d.ts.map +0 -1
- package/dist/adapters/standalone.js.map +0 -1
- package/dist/generator/index.d.ts +0 -14
- package/dist/generator/index.d.ts.map +0 -1
- package/dist/generator/index.js +0 -39
- package/dist/generator/index.js.map +0 -1
- package/dist/generator/paths.d.ts +0 -4
- package/dist/generator/paths.d.ts.map +0 -1
- package/dist/generator/paths.js +0 -76
- package/dist/generator/paths.js.map +0 -1
- package/dist/generator/schema.d.ts +0 -7
- package/dist/generator/schema.d.ts.map +0 -1
- package/dist/generator/schema.js +0 -185
- package/dist/generator/schema.js.map +0 -1
- package/dist/index.d.ts +0 -6
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -11
- package/dist/index.js.map +0 -1
- package/dist/types.d.ts +0 -55
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js.map +0 -1
- package/dist/utils/method.d.ts +0 -3
- package/dist/utils/method.d.ts.map +0 -1
- package/dist/utils/method.js +0 -11
- package/dist/utils/method.js.map +0 -1
- package/dist/utils/path.d.ts.map +0 -1
- package/dist/utils/path.js.map +0 -1
- package/dist/utils/procedure.d.ts +0 -15
- package/dist/utils/procedure.d.ts.map +0 -1
- package/dist/utils/procedure.js +0 -62
- package/dist/utils/procedure.js.map +0 -1
- package/dist/utils/zod.d.ts +0 -19
- package/dist/utils/zod.d.ts.map +0 -1
- package/dist/utils/zod.js +0 -99
- package/dist/utils/zod.js.map +0 -1
- /package/dist/{types.js → cjs/types.js} +0 -0
- /package/dist/{utils → cjs/utils}/path.d.ts +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"paths.js","sourceRoot":"","sources":["../../../src/generator/paths.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
import { TRPCError } from '@trpc/server';
|
|
2
|
+
import { acceptsRequestBody, getPathParameters, normalizePath, forEachOpenApiProcedure, getInputOutputParsers, instanceofZodType, instanceofZodTypeLikeVoid, instanceofZodTypeObject, unwrapZodType, } from '../utils/index.mjs';
|
|
3
|
+
import { getParameterObjects, getRequestBodyObject, getResponsesObject, hasInputs } from './schema.mjs';
|
|
4
|
+
export var HttpMethods;
|
|
5
|
+
(function (HttpMethods) {
|
|
6
|
+
HttpMethods["GET"] = "get";
|
|
7
|
+
HttpMethods["POST"] = "post";
|
|
8
|
+
HttpMethods["PATCH"] = "patch";
|
|
9
|
+
HttpMethods["PUT"] = "put";
|
|
10
|
+
HttpMethods["DELETE"] = "delete";
|
|
11
|
+
})(HttpMethods || (HttpMethods = {}));
|
|
12
|
+
export const getOpenApiPathsObject = (appRouter, securitySchemeNames, filter) => {
|
|
13
|
+
const pathsObject = {};
|
|
14
|
+
const procedures = Object.assign({}, appRouter._def.procedures);
|
|
15
|
+
forEachOpenApiProcedure(procedures, ({ path: procedurePath, type, procedure, meta }) => {
|
|
16
|
+
if (typeof filter === 'function' && !filter({ metadata: meta })) {
|
|
17
|
+
return;
|
|
18
|
+
}
|
|
19
|
+
const procedureName = `${type}.${procedurePath}`;
|
|
20
|
+
try {
|
|
21
|
+
if (type === 'subscription') {
|
|
22
|
+
throw new TRPCError({
|
|
23
|
+
message: 'Subscriptions are not supported by OpenAPI v3',
|
|
24
|
+
code: 'INTERNAL_SERVER_ERROR',
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
const { openapi } = meta;
|
|
28
|
+
const { method, operationId, summary, description, tags, requestHeaders, responseHeaders, successDescription, errorResponses, protect = true, } = meta.openapi;
|
|
29
|
+
const path = normalizePath(openapi.path);
|
|
30
|
+
const pathParameters = getPathParameters(path);
|
|
31
|
+
const httpMethod = HttpMethods[method];
|
|
32
|
+
if (!httpMethod) {
|
|
33
|
+
throw new TRPCError({
|
|
34
|
+
message: 'Method must be GET, POST, PATCH, PUT or DELETE',
|
|
35
|
+
code: 'INTERNAL_SERVER_ERROR',
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
if (pathsObject[path]?.[httpMethod]) {
|
|
39
|
+
throw new TRPCError({
|
|
40
|
+
message: `Duplicate procedure defined for route ${method} ${path}`,
|
|
41
|
+
code: 'INTERNAL_SERVER_ERROR',
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
const contentTypes = openapi.contentTypes ?? ['application/json'];
|
|
45
|
+
if (contentTypes.length === 0) {
|
|
46
|
+
throw new TRPCError({
|
|
47
|
+
message: 'At least one content type must be specified',
|
|
48
|
+
code: 'INTERNAL_SERVER_ERROR',
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
const { inputParser, outputParser, hasInputsDefined } = getInputOutputParsers(procedure);
|
|
52
|
+
if (!instanceofZodType(inputParser)) {
|
|
53
|
+
throw new TRPCError({
|
|
54
|
+
message: 'Input parser expects a Zod validator',
|
|
55
|
+
code: 'INTERNAL_SERVER_ERROR',
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
if (!instanceofZodType(outputParser)) {
|
|
59
|
+
throw new TRPCError({
|
|
60
|
+
message: 'Output parser expects a Zod validator',
|
|
61
|
+
code: 'INTERNAL_SERVER_ERROR',
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
/** Dokploy: optional input/output shown as required in OpenAPI by default */
|
|
65
|
+
const isInputRequiredForOpenApi = true;
|
|
66
|
+
const o = inputParser.meta();
|
|
67
|
+
const inputSchema = unwrapZodType(inputParser, true).meta({
|
|
68
|
+
...(o?.title ? { title: o?.title } : {}),
|
|
69
|
+
...(o?.description ? { description: o?.description } : {}),
|
|
70
|
+
...(o?.examples ? { examples: o?.examples } : {}),
|
|
71
|
+
});
|
|
72
|
+
const requestData = {};
|
|
73
|
+
const hasPathParameters = pathParameters.length > 0;
|
|
74
|
+
const hasVoidLikeInput = instanceofZodTypeLikeVoid(inputSchema);
|
|
75
|
+
if (hasInputsDefined && (hasPathParameters || !hasVoidLikeInput)) {
|
|
76
|
+
if (!instanceofZodTypeObject(inputSchema)) {
|
|
77
|
+
throw new TRPCError({
|
|
78
|
+
message: 'Input parser must be a ZodObject',
|
|
79
|
+
code: 'INTERNAL_SERVER_ERROR',
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
if (acceptsRequestBody(method)) {
|
|
83
|
+
requestData.requestBody = getRequestBodyObject(inputSchema, isInputRequiredForOpenApi, pathParameters, contentTypes);
|
|
84
|
+
requestData.requestParams = getParameterObjects(inputSchema, isInputRequiredForOpenApi, pathParameters, requestHeaders, 'path');
|
|
85
|
+
}
|
|
86
|
+
else {
|
|
87
|
+
requestData.requestParams = getParameterObjects(inputSchema, isInputRequiredForOpenApi, pathParameters, requestHeaders, 'all');
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
const responses = getResponsesObject(outputParser, httpMethod, responseHeaders, protect, hasInputs(inputParser), successDescription, errorResponses);
|
|
91
|
+
const security = protect ? securitySchemeNames.map((name) => ({ [name]: [] })) : undefined;
|
|
92
|
+
pathsObject[path] = {
|
|
93
|
+
...pathsObject[path],
|
|
94
|
+
[httpMethod]: {
|
|
95
|
+
operationId: operationId ?? procedurePath.replace(/\./g, '-'),
|
|
96
|
+
summary,
|
|
97
|
+
description,
|
|
98
|
+
tags,
|
|
99
|
+
security,
|
|
100
|
+
...requestData,
|
|
101
|
+
responses,
|
|
102
|
+
...(openapi.deprecated ? { deprecated: openapi.deprecated } : {}),
|
|
103
|
+
},
|
|
104
|
+
};
|
|
105
|
+
}
|
|
106
|
+
catch (error) {
|
|
107
|
+
if (error instanceof TRPCError) {
|
|
108
|
+
error.message = `[${procedureName}] - ${error.message}`;
|
|
109
|
+
}
|
|
110
|
+
throw error;
|
|
111
|
+
}
|
|
112
|
+
});
|
|
113
|
+
return pathsObject;
|
|
114
|
+
};
|
|
115
|
+
export const mergePaths = (x, y) => {
|
|
116
|
+
if (x === undefined)
|
|
117
|
+
return y;
|
|
118
|
+
if (y === undefined)
|
|
119
|
+
return x;
|
|
120
|
+
const obj = x;
|
|
121
|
+
for (const [k, v] of Object.entries(y)) {
|
|
122
|
+
if (k in obj)
|
|
123
|
+
obj[k] = { ...obj[k], ...v };
|
|
124
|
+
else
|
|
125
|
+
obj[k] = v;
|
|
126
|
+
}
|
|
127
|
+
return obj;
|
|
128
|
+
};
|
|
129
|
+
//# sourceMappingURL=paths.js.map
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { TRPCError } from '@trpc/server';
|
|
2
|
+
import { ZodObject, z } from 'zod';
|
|
3
|
+
import { ZodOpenApiParameters, ZodOpenApiRequestBodyObject, ZodOpenApiResponseObject, ZodOpenApiResponsesObject } from 'zod-openapi';
|
|
4
|
+
import { OpenApiContentType } from '../types';
|
|
5
|
+
import { HttpMethods } from './paths';
|
|
6
|
+
export declare const getParameterObjects: (schema: z.ZodObject<z.ZodRawShape>, required: boolean, pathParameters: string[], headersSchema: ZodObject | undefined, inType: "all" | "path" | "query") => ZodOpenApiParameters | undefined;
|
|
7
|
+
export declare const getRequestBodyObject: (schema: z.ZodObject<z.ZodRawShape>, required: boolean, pathParameters: string[], contentTypes: OpenApiContentType[]) => ZodOpenApiRequestBodyObject | undefined;
|
|
8
|
+
export declare const hasInputs: (schema: unknown) => boolean;
|
|
9
|
+
export declare const errorResponseObject: (code?: TRPCError["code"], message?: string, issues?: {
|
|
10
|
+
message: string;
|
|
11
|
+
}[]) => ZodOpenApiResponseObject;
|
|
12
|
+
export declare const errorResponseFromStatusCode: (status: number) => ZodOpenApiResponseObject;
|
|
13
|
+
export declare const errorResponseFromMessage: (status: number, message: string) => ZodOpenApiResponseObject;
|
|
14
|
+
export declare const getResponsesObject: (schema: ZodObject, httpMethod: HttpMethods, headers: ZodObject | undefined, isProtected: boolean, hasInputs: boolean, successDescription?: string, errorResponses?: number[] | Record<number, string>) => ZodOpenApiResponsesObject;
|
|
15
|
+
//# sourceMappingURL=schema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/generator/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,SAAS,EAAU,CAAC,EAAE,MAAM,KAAK,CAAC;AAC3C,OAAO,EAEL,oBAAoB,EACpB,2BAA2B,EAC3B,wBAAwB,EACxB,yBAAyB,EAC1B,MAAM,aAAa,CAAC;AAOrB,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAW9C,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEtC,eAAO,MAAM,mBAAmB,GAC9B,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,EAClC,UAAU,OAAO,EACjB,gBAAgB,MAAM,EAAE,EACxB,eAAe,SAAS,GAAG,SAAS,EACpC,QAAQ,KAAK,GAAG,MAAM,GAAG,OAAO,KAC/B,oBAAoB,GAAG,SA0FzB,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAC/B,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,EAClC,UAAU,OAAO,EACjB,gBAAgB,MAAM,EAAE,EACxB,cAAc,kBAAkB,EAAE,KACjC,2BAA2B,GAAG,SA2BhC,CAAC;AAEF,eAAO,MAAM,SAAS,GAAI,QAAQ,OAAO,YAC6C,CAAC;AAIvF,eAAO,MAAM,mBAAmB,GAC9B,OAAM,SAAS,CAAC,MAAM,CAA2B,EACjD,UAAU,MAAM,EAChB,SAAS;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,EAAE,KAC7B,wBAyCF,CAAC;AAEF,eAAO,MAAM,2BAA2B,GAAI,QAAQ,MAAM,6BAIzD,CAAC;AAEF,eAAO,MAAM,wBAAwB,GAAI,QAAQ,MAAM,EAAE,SAAS,MAAM,6BACL,CAAC;AAEpE,eAAO,MAAM,kBAAkB,GAC7B,QAAQ,SAAS,EACjB,YAAY,WAAW,EACvB,SAAS,SAAS,GAAG,SAAS,EAC9B,aAAa,OAAO,EACpB,WAAW,OAAO,EAClB,qBAAqB,MAAM,EAC3B,iBAAiB,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KACjD,yBA0CD,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/generator/schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,203 @@
|
|
|
1
|
+
import { TRPCError } from '@trpc/server';
|
|
2
|
+
import { z } from 'zod';
|
|
3
|
+
import { HTTP_STATUS_TRPC_ERROR_CODE, TRPC_ERROR_CODE_HTTP_STATUS, TRPC_ERROR_CODE_MESSAGE, } from '../adapters/index.mjs';
|
|
4
|
+
import { instanceofZodType, instanceofZodTypeCoercible, instanceofZodTypeKind, instanceofZodTypeLikeString, instanceofZodTypeLikeVoid, instanceofZodTypeOptional, unwrapZodType, zodSupportsCoerce, } from '../utils/index.mjs';
|
|
5
|
+
import { HttpMethods } from './paths.mjs';
|
|
6
|
+
export const getParameterObjects = (schema, required, pathParameters, headersSchema, inType) => {
|
|
7
|
+
const shape = schema.shape;
|
|
8
|
+
const shapeKeys = Object.keys(shape);
|
|
9
|
+
for (const pathParameter of pathParameters) {
|
|
10
|
+
if (!shapeKeys.includes(pathParameter)) {
|
|
11
|
+
throw new TRPCError({
|
|
12
|
+
message: `Input parser expects key from path: "${pathParameter}"`,
|
|
13
|
+
code: 'INTERNAL_SERVER_ERROR',
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
// @ts-expect-error fix later
|
|
18
|
+
const { path, query } = shapeKeys
|
|
19
|
+
.filter((shapeKey) => {
|
|
20
|
+
const isPathParameter = pathParameters.includes(shapeKey);
|
|
21
|
+
if (inType === 'path') {
|
|
22
|
+
return isPathParameter;
|
|
23
|
+
}
|
|
24
|
+
else if (inType === 'query') {
|
|
25
|
+
return !isPathParameter;
|
|
26
|
+
}
|
|
27
|
+
return true;
|
|
28
|
+
})
|
|
29
|
+
.map((shapeKey) => {
|
|
30
|
+
let shapeSchema = shape[shapeKey];
|
|
31
|
+
const isShapeRequired = !shapeSchema.safeParse(undefined).success;
|
|
32
|
+
const isPathParameter = pathParameters.includes(shapeKey);
|
|
33
|
+
if (!instanceofZodTypeLikeString(shapeSchema)) {
|
|
34
|
+
if (zodSupportsCoerce) {
|
|
35
|
+
if (!instanceofZodTypeCoercible(shapeSchema)) {
|
|
36
|
+
throw new TRPCError({
|
|
37
|
+
message: `Input parser key: "${shapeKey}" must be ZodString, ZodNumber, ZodBoolean, ZodBigInt or ZodDate`,
|
|
38
|
+
code: 'INTERNAL_SERVER_ERROR',
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
else {
|
|
43
|
+
throw new TRPCError({
|
|
44
|
+
message: `Input parser key: "${shapeKey}" must be ZodString`,
|
|
45
|
+
code: 'INTERNAL_SERVER_ERROR',
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
if (instanceofZodTypeOptional(shapeSchema)) {
|
|
50
|
+
if (isPathParameter) {
|
|
51
|
+
throw new TRPCError({
|
|
52
|
+
message: `Path parameter: "${shapeKey}" must not be optional`,
|
|
53
|
+
code: 'INTERNAL_SERVER_ERROR',
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
shapeSchema = shapeSchema.unwrap();
|
|
57
|
+
}
|
|
58
|
+
return {
|
|
59
|
+
name: shapeKey,
|
|
60
|
+
paramType: isPathParameter ? 'path' : 'query',
|
|
61
|
+
required: isPathParameter || (required && isShapeRequired),
|
|
62
|
+
schema: shapeSchema,
|
|
63
|
+
};
|
|
64
|
+
})
|
|
65
|
+
.reduce(({ path, query }, { name, paramType, schema, required }) =>
|
|
66
|
+
// @ts-expect-error fix later
|
|
67
|
+
paramType === 'path'
|
|
68
|
+
? {
|
|
69
|
+
path: { ...path, [name]: required ? schema : schema.optional() },
|
|
70
|
+
query,
|
|
71
|
+
}
|
|
72
|
+
: {
|
|
73
|
+
path,
|
|
74
|
+
query: { ...query, [name]: required ? schema : schema.optional() },
|
|
75
|
+
}, { path: {}, query: {} });
|
|
76
|
+
let res = {};
|
|
77
|
+
if (headersSchema) {
|
|
78
|
+
res.header = headersSchema;
|
|
79
|
+
}
|
|
80
|
+
res = {
|
|
81
|
+
...res,
|
|
82
|
+
path: z.object(path),
|
|
83
|
+
query: z.object(query),
|
|
84
|
+
};
|
|
85
|
+
return res;
|
|
86
|
+
};
|
|
87
|
+
export const getRequestBodyObject = (schema, required, pathParameters, contentTypes) => {
|
|
88
|
+
// remove path parameters
|
|
89
|
+
const mask = {};
|
|
90
|
+
pathParameters.forEach((pathParameter) => {
|
|
91
|
+
mask[pathParameter] = true;
|
|
92
|
+
});
|
|
93
|
+
const o = schema.meta();
|
|
94
|
+
const dedupedSchema = schema.omit(mask).meta({
|
|
95
|
+
...(o?.title ? { title: o?.title } : {}),
|
|
96
|
+
...(o?.description ? { description: o?.description } : {}),
|
|
97
|
+
...(o?.examples ? { examples: o?.examples } : {}),
|
|
98
|
+
});
|
|
99
|
+
// if all keys are path parameters
|
|
100
|
+
if (pathParameters.length > 0 && Object.keys(dedupedSchema.shape).length === 0) {
|
|
101
|
+
return undefined;
|
|
102
|
+
}
|
|
103
|
+
const content = {};
|
|
104
|
+
for (const contentType of contentTypes) {
|
|
105
|
+
content[contentType] = {
|
|
106
|
+
schema: dedupedSchema,
|
|
107
|
+
};
|
|
108
|
+
}
|
|
109
|
+
return {
|
|
110
|
+
required,
|
|
111
|
+
content,
|
|
112
|
+
};
|
|
113
|
+
};
|
|
114
|
+
export const hasInputs = (schema) => instanceofZodType(schema) && !instanceofZodTypeLikeVoid(unwrapZodType(schema, true));
|
|
115
|
+
const errorResponseObjectByCode = {};
|
|
116
|
+
export const errorResponseObject = (code = 'INTERNAL_SERVER_ERROR', message, issues) => {
|
|
117
|
+
if (!errorResponseObjectByCode[code]) {
|
|
118
|
+
errorResponseObjectByCode[code] = {
|
|
119
|
+
description: message ?? 'An error response',
|
|
120
|
+
content: {
|
|
121
|
+
'application/json': {
|
|
122
|
+
schema: z
|
|
123
|
+
.object({
|
|
124
|
+
message: z.string().meta({
|
|
125
|
+
description: 'The error message',
|
|
126
|
+
example: message ?? 'Internal server error',
|
|
127
|
+
}),
|
|
128
|
+
code: z.string().meta({
|
|
129
|
+
description: 'The error code',
|
|
130
|
+
example: code ?? 'INTERNAL_SERVER_ERROR',
|
|
131
|
+
}),
|
|
132
|
+
issues: z
|
|
133
|
+
.array(z.object({ message: z.string() }))
|
|
134
|
+
.optional()
|
|
135
|
+
.meta({
|
|
136
|
+
description: 'An array of issues that were responsible for the error',
|
|
137
|
+
example: issues ?? [],
|
|
138
|
+
}),
|
|
139
|
+
})
|
|
140
|
+
.meta({
|
|
141
|
+
title: `${message ?? 'Internal server'} error (${TRPC_ERROR_CODE_HTTP_STATUS[code] ?? 500})`,
|
|
142
|
+
description: 'The error information',
|
|
143
|
+
example: {
|
|
144
|
+
code: code ?? 'INTERNAL_SERVER_ERROR',
|
|
145
|
+
message: message ?? 'Internal server error',
|
|
146
|
+
issues: issues ?? [],
|
|
147
|
+
},
|
|
148
|
+
id: `error.${code}`,
|
|
149
|
+
}),
|
|
150
|
+
},
|
|
151
|
+
},
|
|
152
|
+
};
|
|
153
|
+
}
|
|
154
|
+
return errorResponseObjectByCode[code];
|
|
155
|
+
};
|
|
156
|
+
export const errorResponseFromStatusCode = (status) => {
|
|
157
|
+
const code = HTTP_STATUS_TRPC_ERROR_CODE[status];
|
|
158
|
+
const message = code && TRPC_ERROR_CODE_MESSAGE[code];
|
|
159
|
+
return errorResponseObject(code, message ?? 'Unknown error');
|
|
160
|
+
};
|
|
161
|
+
export const errorResponseFromMessage = (status, message) => errorResponseObject(HTTP_STATUS_TRPC_ERROR_CODE[status], message);
|
|
162
|
+
export const getResponsesObject = (schema, httpMethod, headers, isProtected, hasInputs, successDescription, errorResponses) => ({
|
|
163
|
+
200: {
|
|
164
|
+
description: successDescription ?? 'Successful response',
|
|
165
|
+
headers: headers,
|
|
166
|
+
content: {
|
|
167
|
+
'application/json': {
|
|
168
|
+
schema: instanceofZodTypeKind(schema, 'void')
|
|
169
|
+
? {}
|
|
170
|
+
: instanceofZodTypeKind(schema, 'never') || instanceofZodTypeKind(schema, 'undefined')
|
|
171
|
+
? { not: {} }
|
|
172
|
+
: schema,
|
|
173
|
+
},
|
|
174
|
+
},
|
|
175
|
+
},
|
|
176
|
+
...(errorResponses !== undefined
|
|
177
|
+
? Object.fromEntries(Array.isArray(errorResponses)
|
|
178
|
+
? errorResponses.map((x) => [x, errorResponseFromStatusCode(x)])
|
|
179
|
+
: Object.entries(errorResponses).map(([k, v]) => [
|
|
180
|
+
k,
|
|
181
|
+
errorResponseFromMessage(Number(k), v),
|
|
182
|
+
]))
|
|
183
|
+
: {
|
|
184
|
+
...(isProtected
|
|
185
|
+
? {
|
|
186
|
+
401: errorResponseObject('UNAUTHORIZED', 'Authorization not provided'),
|
|
187
|
+
403: errorResponseObject('FORBIDDEN', 'Insufficient access'),
|
|
188
|
+
}
|
|
189
|
+
: {}),
|
|
190
|
+
...(hasInputs
|
|
191
|
+
? {
|
|
192
|
+
400: errorResponseObject('BAD_REQUEST', 'Invalid input data'),
|
|
193
|
+
...(httpMethod !== HttpMethods.POST
|
|
194
|
+
? {
|
|
195
|
+
404: errorResponseObject('NOT_FOUND', 'Not found'),
|
|
196
|
+
}
|
|
197
|
+
: {}),
|
|
198
|
+
}
|
|
199
|
+
: {}),
|
|
200
|
+
500: errorResponseObject('INTERNAL_SERVER_ERROR', 'Internal server error'),
|
|
201
|
+
}),
|
|
202
|
+
});
|
|
203
|
+
//# sourceMappingURL=schema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { TRPC_ERROR_CODE_KEY } from '@trpc/server/rpc';
|
|
2
|
+
import type { CreateRootTypes, Procedure, ProcedureType, Router, RouterRecord } from '@trpc/server/unstable-core-do-not-import';
|
|
3
|
+
import { IncomingMessage } from 'http';
|
|
4
|
+
import type { ZodObject } from 'zod';
|
|
5
|
+
import type { $ZodIssue } from 'zod/v4/core';
|
|
6
|
+
export { type OpenAPIObject, type SecuritySchemeObject } from 'openapi3-ts/oas31';
|
|
7
|
+
export type OpenApiMethod = 'GET' | 'POST' | 'PATCH' | 'PUT' | 'DELETE';
|
|
8
|
+
type TRPCMeta = Record<string, unknown>;
|
|
9
|
+
export type OpenApiContentType = 'application/json' | 'application/x-www-form-urlencoded' | (string & {});
|
|
10
|
+
export type OpenApiMeta<TMeta = TRPCMeta> = TMeta & {
|
|
11
|
+
openapi?: {
|
|
12
|
+
/** When true, only the provided openapi object is used (no defaults). */
|
|
13
|
+
override?: boolean;
|
|
14
|
+
/** When true, defaults are applied first then merged with provided openapi. */
|
|
15
|
+
additional?: boolean;
|
|
16
|
+
enabled?: boolean;
|
|
17
|
+
method?: OpenApiMethod;
|
|
18
|
+
path?: `/${string}`;
|
|
19
|
+
operationId?: string;
|
|
20
|
+
summary?: string;
|
|
21
|
+
description?: string;
|
|
22
|
+
protect?: boolean;
|
|
23
|
+
tags?: string[];
|
|
24
|
+
contentTypes?: OpenApiContentType[];
|
|
25
|
+
deprecated?: boolean;
|
|
26
|
+
requestHeaders?: ZodObject;
|
|
27
|
+
responseHeaders?: ZodObject;
|
|
28
|
+
successDescription?: string;
|
|
29
|
+
errorResponses?: number[] | Record<number, string>;
|
|
30
|
+
};
|
|
31
|
+
};
|
|
32
|
+
export type OpenApiProcedure = Procedure<ProcedureType, {
|
|
33
|
+
input: any;
|
|
34
|
+
output: any;
|
|
35
|
+
meta: TRPCMeta;
|
|
36
|
+
}>;
|
|
37
|
+
export type OpenApiProcedureRecord = Record<string, OpenApiProcedure | RouterRecord>;
|
|
38
|
+
export type OpenApiRouter = Router<CreateRootTypes<{
|
|
39
|
+
ctx: any;
|
|
40
|
+
meta: TRPCMeta;
|
|
41
|
+
errorShape: any;
|
|
42
|
+
transformer: any;
|
|
43
|
+
}>, RouterRecord>;
|
|
44
|
+
export type OpenApiSuccessResponse<D = any> = D;
|
|
45
|
+
export interface OpenApiErrorResponse {
|
|
46
|
+
message: string;
|
|
47
|
+
code: TRPC_ERROR_CODE_KEY;
|
|
48
|
+
issues?: $ZodIssue[];
|
|
49
|
+
}
|
|
50
|
+
export type OpenApiResponse<D = any> = OpenApiSuccessResponse<D> | OpenApiErrorResponse;
|
|
51
|
+
export type NodeHTTPRequest = IncomingMessage & {
|
|
52
|
+
body?: unknown;
|
|
53
|
+
query?: unknown;
|
|
54
|
+
};
|
|
55
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,KAAK,EACV,eAAe,EACf,SAAS,EACT,aAAa,EACb,MAAM,EACN,YAAY,EACb,MAAM,0CAA0C,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,MAAM,CAAC;AACvC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,KAAK,CAAC;AACrC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAElF,MAAM,MAAM,aAAa,GAAG,KAAK,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,GAAG,QAAQ,CAAC;AAExE,KAAK,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAExC,MAAM,MAAM,kBAAkB,GAC1B,kBAAkB,GAClB,mCAAmC,GAEnC,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;AAElB,MAAM,MAAM,WAAW,CAAC,KAAK,GAAG,QAAQ,IAAI,KAAK,GAAG;IAClD,OAAO,CAAC,EAAE;QACR,yEAAyE;QACzE,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,+EAA+E;QAC/E,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,MAAM,CAAC,EAAE,aAAa,CAAC;QACvB,IAAI,CAAC,EAAE,IAAI,MAAM,EAAE,CAAC;QACpB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;QAChB,YAAY,CAAC,EAAE,kBAAkB,EAAE,CAAC;QACpC,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,cAAc,CAAC,EAAE,SAAS,CAAC;QAC3B,eAAe,CAAC,EAAE,SAAS,CAAC;QAC5B,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B,cAAc,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KACpD,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,SAAS,CACtC,aAAa,EACb;IACE,KAAK,EAAE,GAAG,CAAC;IACX,MAAM,EAAE,GAAG,CAAC;IACZ,IAAI,EAAE,QAAQ,CAAC;CAChB,CACF,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG,MAAM,CAAC,MAAM,EAAE,gBAAgB,GAAG,YAAY,CAAC,CAAC;AAErF,MAAM,MAAM,aAAa,GAAG,MAAM,CAChC,eAAe,CAAC;IACd,GAAG,EAAE,GAAG,CAAC;IACT,IAAI,EAAE,QAAQ,CAAC;IACf,UAAU,EAAE,GAAG,CAAC;IAChB,WAAW,EAAE,GAAG,CAAC;CAClB,CAAC,EACF,YAAY,CACb,CAAC;AAEF,MAAM,MAAM,sBAAsB,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC;AAEhD,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,mBAAmB,CAAC;IAC1B,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC;CACtB;AAED,MAAM,MAAM,eAAe,CAAC,CAAC,GAAG,GAAG,IAAI,sBAAsB,CAAC,CAAC,CAAC,GAAG,oBAAoB,CAAC;AAExF,MAAM,MAAM,eAAe,GAAG,eAAe,GAAG;IAC9C,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,aAAa,CAAC;AAC5B,cAAc,OAAO,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,aAAa,CAAC;AAC5B,cAAc,OAAO,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { NodeHTTPResponse } from '@trpc/server/adapters/node-http';
|
|
2
|
+
import { NodeHTTPRequest, OpenApiMethod } from '../types';
|
|
3
|
+
export declare const acceptsRequestBody: (method: OpenApiMethod | "HEAD") => boolean;
|
|
4
|
+
export declare const getContentType: (req: NodeHTTPRequest | Request) => string | undefined;
|
|
5
|
+
export declare const getRequestSignal: (req: NodeHTTPRequest | Request, res: NodeHTTPResponse, maxBodySize?: number) => AbortSignal;
|
|
6
|
+
//# sourceMappingURL=method.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"method.d.ts","sourceRoot":"","sources":["../../../src/utils/method.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAC7F,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAE1D,eAAO,MAAM,kBAAkB,GAAI,QAAQ,aAAa,GAAG,MAAM,YAKhE,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,KAAK,eAAe,GAAG,OAAO,KAAG,MAAM,GAAG,SAMxE,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAC3B,KAAK,eAAe,GAAG,OAAO,EAC9B,KAAK,gBAAgB,EACrB,cAAc,MAAM,gBASrB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"method.js","sourceRoot":"","sources":["../../../src/utils/method.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAoB,MAAM,iCAAiC,CAAC;AAG7F,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,MAA8B,EAAE,EAAE;IACnE,IAAI,MAAM,KAAK,KAAK,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC5C,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,GAA8B,EAAsB,EAAE;IACnF,IAAI,GAAG,YAAY,OAAO,EAAE,CAAC;QAC3B,OAAO,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,SAAS,CAAC;IACtD,CAAC;IAED,OAAO,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,SAAS,CAAC;AAClD,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC9B,GAA8B,EAC9B,GAAqB,EACrB,WAAoB,EACpB,EAAE;IACF,IAAI,GAAG,YAAY,OAAO,EAAE,CAAC;QAC3B,OAAO,GAAG,CAAC,MAAM,CAAC;IACpB,CAAC;IAED,OAAO,wBAAwB,CAAC,GAAG,EAAE,GAAG,EAAE;QACxC,WAAW,EAAE,WAAW,IAAI,IAAI;KACjC,CAAC,CAAC,MAAM,CAAC;AACZ,CAAC,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { incomingMessageToRequest } from '@trpc/server/adapters/node-http';
|
|
2
|
+
export const acceptsRequestBody = (method) => {
|
|
3
|
+
if (method === 'GET' || method === 'DELETE') {
|
|
4
|
+
return false;
|
|
5
|
+
}
|
|
6
|
+
return true;
|
|
7
|
+
};
|
|
8
|
+
export const getContentType = (req) => {
|
|
9
|
+
if (req instanceof Request) {
|
|
10
|
+
return req.headers.get('content-type') ?? undefined;
|
|
11
|
+
}
|
|
12
|
+
return req.headers['content-type'] ?? undefined;
|
|
13
|
+
};
|
|
14
|
+
export const getRequestSignal = (req, res, maxBodySize) => {
|
|
15
|
+
if (req instanceof Request) {
|
|
16
|
+
return req.signal;
|
|
17
|
+
}
|
|
18
|
+
return incomingMessageToRequest(req, res, {
|
|
19
|
+
maxBodySize: maxBodySize ?? null,
|
|
20
|
+
}).signal;
|
|
21
|
+
};
|
|
22
|
+
//# sourceMappingURL=method.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"path.d.ts","sourceRoot":"","sources":["../../../src/utils/path.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,aAAa,GAAI,MAAM,MAAM,WAEzC,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAAI,MAAM,MAAM,KAAG,MAAM,EAEtD,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,MAAM,MAAM,WAGzC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"path.js","sourceRoot":"","sources":["../../../src/utils/path.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,IAAY,EAAE,EAAE;IAC5C,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,EAAE,CAAC;AAC5C,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,IAAY,EAAY,EAAE;IAC1D,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,GAAI,CAAC,CAAC;AACxE,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,IAAY,EAAE,EAAE;IAC5C,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC,EAAE,GAAW,EAAE,EAAE,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IACtF,OAAO,IAAI,MAAM,CAAC,IAAI,UAAU,GAAG,EAAE,GAAG,CAAC,CAAC;AAC5C,CAAC,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export const normalizePath = (path) => {
|
|
2
|
+
return `/${path.replace(/^\/|\/$/g, '')}`;
|
|
3
|
+
};
|
|
4
|
+
export const getPathParameters = (path) => {
|
|
5
|
+
return Array.from(path.matchAll(/\{(.+?)\}/g)).map(([, key]) => key);
|
|
6
|
+
};
|
|
7
|
+
export const getPathRegExp = (path) => {
|
|
8
|
+
const groupedExp = path.replace(/\{(.+?)\}/g, (_, key) => `(?<${key}>[^/]+)`);
|
|
9
|
+
return new RegExp(`^${groupedExp}$`, 'i');
|
|
10
|
+
};
|
|
11
|
+
//# sourceMappingURL=path.js.map
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { TRPCProcedureType } from '@trpc/server';
|
|
2
|
+
import { ZodObject } from 'zod';
|
|
3
|
+
import { OpenApiMethod } from '../types';
|
|
4
|
+
import { OpenApiMeta, OpenApiProcedure, OpenApiProcedureRecord } from '../types';
|
|
5
|
+
export declare const getInputOutputParsers: (procedure: OpenApiProcedure) => {
|
|
6
|
+
inputParser: ZodObject;
|
|
7
|
+
outputParser: ZodObject | undefined;
|
|
8
|
+
hasInputsDefined: boolean;
|
|
9
|
+
};
|
|
10
|
+
export declare const getMethod: (procedure: OpenApiProcedure) => OpenApiMethod;
|
|
11
|
+
export declare const forEachOpenApiProcedure: <TMeta = Record<string, unknown>>(procedureRecord: OpenApiProcedureRecord, callback: (values: {
|
|
12
|
+
path: string;
|
|
13
|
+
type: TRPCProcedureType;
|
|
14
|
+
procedure: OpenApiProcedure;
|
|
15
|
+
meta: {
|
|
16
|
+
openapi: NonNullable<OpenApiMeta["openapi"]> & {
|
|
17
|
+
method: OpenApiMethod;
|
|
18
|
+
path: `/${string}`;
|
|
19
|
+
};
|
|
20
|
+
} & TMeta;
|
|
21
|
+
}) => void) => void;
|
|
22
|
+
//# sourceMappingURL=procedure.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"procedure.d.ts","sourceRoot":"","sources":["../../../src/utils/procedure.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,SAAS,EAAK,MAAM,KAAK,CAAC;AAEnC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AASjF,eAAO,MAAM,qBAAqB,GAChC,WAAW,gBAAgB,KAC1B;IACD,WAAW,EAAE,SAAS,CAAC;IACvB,YAAY,EAAE,SAAS,GAAG,SAAS,CAAC;IACpC,gBAAgB,EAAE,OAAO,CAAC;CAoB3B,CAAC;AASF,eAAO,MAAM,SAAS,GAAI,WAAW,gBAAgB,KAAG,aAGvD,CAAC;AAcF,eAAO,MAAM,uBAAuB,GAAI,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACrE,iBAAiB,sBAAsB,EACvC,UAAU,CAAC,MAAM,EAAE;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,iBAAiB,CAAC;IACxB,SAAS,EAAE,gBAAgB,CAAC;IAC5B,IAAI,EAAE;QACJ,OAAO,EAAE,WAAW,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,GAAG;YAAE,MAAM,EAAE,aAAa,CAAC;YAAC,IAAI,EAAE,IAAI,MAAM,EAAE,CAAA;SAAE,CAAC;KAC9F,GAAG,KAAK,CAAC;CACX,KAAK,IAAI,SAqCX,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"procedure.js","sourceRoot":"","sources":["../../../src/utils/procedure.ts"],"names":[],"mappings":"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"}
|