@dokploy/trpc-openapi 0.0.9 → 0.0.11
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 +164 -86
- 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 +18 -0
- package/dist/cjs/utils/procedure.d.ts.map +1 -0
- package/dist/cjs/utils/procedure.js +83 -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 +8 -0
- package/dist/esm/adapters/express.js.map +1 -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 +61 -0
- package/dist/esm/adapters/fastify.js.map +1 -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 +95 -0
- package/dist/esm/adapters/fetch.js.map +1 -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 +9 -0
- package/dist/esm/adapters/index.js.map +1 -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 +8 -0
- package/dist/esm/adapters/koa.js.map +1 -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 +45 -0
- package/dist/esm/adapters/next.js.map +1 -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 +166 -0
- package/dist/esm/adapters/node-http/core.js.map +1 -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 +90 -0
- package/dist/esm/adapters/node-http/errors.js.map +1 -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 +5 -0
- package/dist/esm/adapters/node-http/index.js.map +1 -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 +65 -0
- package/dist/esm/adapters/node-http/input.js.map +1 -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 +34 -0
- package/dist/esm/adapters/node-http/procedures.js.map +1 -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 +45 -0
- package/dist/esm/adapters/nuxt.js.map +1 -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 +11 -0
- package/dist/esm/adapters/standalone.js.map +1 -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 +31 -0
- package/dist/esm/generator/index.js.map +1 -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 +129 -0
- package/dist/esm/generator/paths.js.map +1 -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 +203 -0
- package/dist/esm/generator/schema.js.map +1 -0
- package/dist/esm/index.d.ts +6 -0
- package/dist/esm/index.d.ts.map +1 -0
- package/dist/esm/index.js +6 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/types.d.ts +55 -0
- package/dist/esm/types.d.ts.map +1 -0
- package/dist/esm/types.js +2 -0
- package/dist/esm/types.js.map +1 -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 +5 -0
- package/dist/esm/utils/index.js.map +1 -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 +22 -0
- package/dist/esm/utils/method.js.map +1 -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 +11 -0
- package/dist/esm/utils/path.js.map +1 -0
- package/dist/esm/utils/procedure.d.ts +18 -0
- package/dist/esm/utils/procedure.d.ts.map +1 -0
- package/dist/esm/utils/procedure.js +79 -0
- package/dist/esm/utils/procedure.js.map +1 -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 +82 -0
- package/dist/esm/utils/zod.js.map +1 -0
- package/package.json +52 -46
- 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 -14
- 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 -14
- package/dist/utils/zod.d.ts.map +0 -1
- package/dist/utils/zod.js +0 -115
- 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,100 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createOpenApiFetchHandler = void 0;
|
|
4
|
+
const server_1 = require("@trpc/server");
|
|
5
|
+
const node_http_1 = require("./node-http");
|
|
6
|
+
const getUrlEncodedBody = async (req) => {
|
|
7
|
+
const params = new URLSearchParams(await req.text());
|
|
8
|
+
const data = {};
|
|
9
|
+
for (const key of params.keys()) {
|
|
10
|
+
data[key] = params.getAll(key);
|
|
11
|
+
}
|
|
12
|
+
return data;
|
|
13
|
+
};
|
|
14
|
+
// co-body does not parse Request body correctly
|
|
15
|
+
const getRequestBody = async (req) => {
|
|
16
|
+
var _a, _b;
|
|
17
|
+
try {
|
|
18
|
+
if ((_a = req.headers.get('content-type')) === null || _a === void 0 ? void 0 : _a.includes('application/json')) {
|
|
19
|
+
return {
|
|
20
|
+
isValid: true,
|
|
21
|
+
// use JSON.parse instead of req.json() because req.json() does not throw on invalid JSON
|
|
22
|
+
data: JSON.parse(await req.text()),
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
if ((_b = req.headers.get('content-type')) === null || _b === void 0 ? void 0 : _b.includes('application/x-www-form-urlencoded')) {
|
|
26
|
+
return {
|
|
27
|
+
isValid: true,
|
|
28
|
+
data: await getUrlEncodedBody(req),
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
return {
|
|
32
|
+
isValid: true,
|
|
33
|
+
data: req.body,
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
catch (err) {
|
|
37
|
+
return {
|
|
38
|
+
isValid: false,
|
|
39
|
+
cause: err,
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
};
|
|
43
|
+
const createRequestProxy = async (req, url) => {
|
|
44
|
+
const body = await getRequestBody(req);
|
|
45
|
+
return new Proxy(req, {
|
|
46
|
+
get: (target, prop) => {
|
|
47
|
+
if (prop === 'url') {
|
|
48
|
+
return url ? url : target.url;
|
|
49
|
+
}
|
|
50
|
+
if (prop === 'body') {
|
|
51
|
+
if (!body.isValid) {
|
|
52
|
+
throw new server_1.TRPCError({
|
|
53
|
+
code: 'PARSE_ERROR',
|
|
54
|
+
message: 'Failed to parse request body',
|
|
55
|
+
cause: body.cause,
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
return body.data;
|
|
59
|
+
}
|
|
60
|
+
return target[prop];
|
|
61
|
+
},
|
|
62
|
+
});
|
|
63
|
+
};
|
|
64
|
+
const createOpenApiFetchHandler = async (opts) => {
|
|
65
|
+
const resHeaders = new Headers();
|
|
66
|
+
const url = new URL(opts.req.url.replace(opts.endpoint, ''));
|
|
67
|
+
const req = await createRequestProxy(opts.req, url.toString());
|
|
68
|
+
// @ts-expect-error FIXME
|
|
69
|
+
const openApiHttpHandler = (0, node_http_1.createOpenApiNodeHttpHandler)(opts);
|
|
70
|
+
return new Promise((resolve) => {
|
|
71
|
+
let statusCode;
|
|
72
|
+
const res = {
|
|
73
|
+
setHeader: (key, value) => {
|
|
74
|
+
if (typeof value === 'string') {
|
|
75
|
+
resHeaders.set(key, value);
|
|
76
|
+
}
|
|
77
|
+
else {
|
|
78
|
+
for (const v of value) {
|
|
79
|
+
resHeaders.append(key, v);
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
},
|
|
83
|
+
get statusCode() {
|
|
84
|
+
return statusCode;
|
|
85
|
+
},
|
|
86
|
+
set statusCode(code) {
|
|
87
|
+
statusCode = code;
|
|
88
|
+
},
|
|
89
|
+
end: (body) => {
|
|
90
|
+
resolve(new Response(body, {
|
|
91
|
+
headers: resHeaders,
|
|
92
|
+
status: statusCode,
|
|
93
|
+
}));
|
|
94
|
+
},
|
|
95
|
+
};
|
|
96
|
+
return openApiHttpHandler(req, res);
|
|
97
|
+
});
|
|
98
|
+
};
|
|
99
|
+
exports.createOpenApiFetchHandler = createOpenApiFetchHandler;
|
|
100
|
+
//# sourceMappingURL=fetch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fetch.js","sourceRoot":"","sources":["../../../src/adapters/fetch.ts"],"names":[],"mappings":";;;AAAA,yCAAyC;AAKzC,2CAA2D;AAU3D,MAAM,iBAAiB,GAAG,KAAK,EAAE,GAAY,EAAE,EAAE;IAC/C,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;IAErD,MAAM,IAAI,GAA4B,EAAE,CAAC;IAEzC,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;QAChC,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACjC,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,gDAAgD;AAChD,MAAM,cAAc,GAAG,KAAK,EAAE,GAAY,EAAE,EAAE;;IAC5C,IAAI,CAAC;QACH,IAAI,MAAA,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,0CAAE,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC;YAClE,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,yFAAyF;gBACzF,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;aACnC,CAAC;QACJ,CAAC;QAED,IAAI,MAAA,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,0CAAE,QAAQ,CAAC,mCAAmC,CAAC,EAAE,CAAC;YACnF,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,IAAI,EAAE,MAAM,iBAAiB,CAAC,GAAG,CAAC;aACnC,CAAC;QACJ,CAAC;QAED,OAAO;YACL,OAAO,EAAE,IAAI;YACb,IAAI,EAAE,GAAG,CAAC,IAAI;SACf,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,GAAG;SACX,CAAC;IACJ,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,kBAAkB,GAAG,KAAK,EAAE,GAAY,EAAE,GAAY,EAAE,EAAE;IAC9D,MAAM,IAAI,GAAG,MAAM,cAAc,CAAC,GAAG,CAAC,CAAC;IAEvC,OAAO,IAAI,KAAK,CAAC,GAAG,EAAE;QACpB,GAAG,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE;YACpB,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;gBACnB,OAAO,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;YAChC,CAAC;YAED,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;gBACpB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;oBAClB,MAAM,IAAI,kBAAS,CAAC;wBAClB,IAAI,EAAE,aAAa;wBACnB,OAAO,EAAE,8BAA8B;wBACvC,KAAK,EAAE,IAAI,CAAC,KAAK;qBAClB,CAAC,CAAC;gBACL,CAAC;gBAED,OAAO,IAAI,CAAC,IAAI,CAAC;YACnB,CAAC;YAED,OAAO,MAAM,CAAC,IAA2B,CAAC,CAAC;QAC7C,CAAC;KACF,CAAC,CAAC;AACL,CAAC,CAAC;AAEK,MAAM,yBAAyB,GAAG,KAAK,EAC5C,IAA+C,EAC5B,EAAE;IACrB,MAAM,UAAU,GAAG,IAAI,OAAO,EAAE,CAAC;IACjC,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;IAC7D,MAAM,GAAG,GAAY,MAAM,kBAAkB,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;IAExE,yBAAyB;IACzB,MAAM,kBAAkB,GAAG,IAAA,wCAA4B,EAAC,IAAI,CAAC,CAAC;IAE9D,OAAO,IAAI,OAAO,CAAW,CAAC,OAAO,EAAE,EAAE;QACvC,IAAI,UAAkB,CAAC;QAEvB,MAAM,GAAG,GAAG;YACV,SAAS,EAAE,CAAC,GAAW,EAAE,KAAiC,EAAE,EAAE;gBAC5D,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;oBAC9B,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;gBAC7B,CAAC;qBAAM,CAAC;oBACN,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;wBACtB,UAAU,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;oBAC5B,CAAC;gBACH,CAAC;YACH,CAAC;YACD,IAAI,UAAU;gBACZ,OAAO,UAAU,CAAC;YACpB,CAAC;YACD,IAAI,UAAU,CAAC,IAAY;gBACzB,UAAU,GAAG,IAAI,CAAC;YACpB,CAAC;YACD,GAAG,EAAE,CAAC,IAAY,EAAE,EAAE;gBACpB,OAAO,CACL,IAAI,QAAQ,CAAC,IAAI,EAAE;oBACjB,OAAO,EAAE,UAAU;oBACnB,MAAM,EAAE,UAAU;iBACnB,CAAC,CACH,CAAC;YACJ,CAAC;SAC2B,CAAC;QAE/B,OAAO,kBAAkB,CAAC,GAAiC,EAAE,GAAG,CAAC,CAAC;IACpE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAzCW,QAAA,yBAAyB,6BAyCpC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/adapters/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,aAAa,CAAC;AAC5B,cAAc,OAAO,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./standalone"), exports);
|
|
18
|
+
__exportStar(require("./express"), exports);
|
|
19
|
+
__exportStar(require("./next"), exports);
|
|
20
|
+
__exportStar(require("./fastify"), exports);
|
|
21
|
+
__exportStar(require("./fetch"), exports);
|
|
22
|
+
__exportStar(require("./nuxt"), exports);
|
|
23
|
+
__exportStar(require("./node-http"), exports);
|
|
24
|
+
__exportStar(require("./koa"), exports);
|
|
25
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/adapters/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAA6B;AAC7B,4CAA0B;AAC1B,yCAAuB;AACvB,4CAA0B;AAC1B,0CAAwB;AACxB,yCAAuB;AACvB,8CAA4B;AAC5B,wCAAsB"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { ParameterizedContext, Middleware } from 'koa';
|
|
2
|
+
import { OpenApiRouter } from '../types';
|
|
3
|
+
import { CreateOpenApiNodeHttpHandlerOptions } from './node-http';
|
|
4
|
+
type Request = ParameterizedContext['req'];
|
|
5
|
+
type Response = ParameterizedContext['res'];
|
|
6
|
+
export type CreateOpenApiKoaMiddlewareOptions<TRouter extends OpenApiRouter> = CreateOpenApiNodeHttpHandlerOptions<TRouter, Request, Response>;
|
|
7
|
+
export declare const createOpenApiKoaMiddleware: <TRouter extends OpenApiRouter>(opts: CreateOpenApiKoaMiddlewareOptions<TRouter>) => Middleware;
|
|
8
|
+
export {};
|
|
9
|
+
//# sourceMappingURL=koa.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"koa.d.ts","sourceRoot":"","sources":["../../../src/adapters/koa.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAQ,UAAU,EAAE,MAAM,KAAK,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,mCAAmC,EAAgC,MAAM,aAAa,CAAC;AAEhG,KAAK,OAAO,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAC;AAC3C,KAAK,QAAQ,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAC;AAE5C,MAAM,MAAM,iCAAiC,CAAC,OAAO,SAAS,aAAa,IACzE,mCAAmC,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;AAElE,eAAO,MAAM,0BAA0B,GAAI,OAAO,SAAS,aAAa,EACtE,MAAM,iCAAiC,CAAC,OAAO,CAAC,KAC/C,UAMF,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createOpenApiKoaMiddleware = void 0;
|
|
4
|
+
const node_http_1 = require("./node-http");
|
|
5
|
+
const createOpenApiKoaMiddleware = (opts) => {
|
|
6
|
+
const openApiHttpHandler = (0, node_http_1.createOpenApiNodeHttpHandler)(opts);
|
|
7
|
+
return async (ctx, next) => {
|
|
8
|
+
await openApiHttpHandler(ctx.req, ctx.res, next);
|
|
9
|
+
};
|
|
10
|
+
};
|
|
11
|
+
exports.createOpenApiKoaMiddleware = createOpenApiKoaMiddleware;
|
|
12
|
+
//# sourceMappingURL=koa.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"koa.js","sourceRoot":"","sources":["../../../src/adapters/koa.ts"],"names":[],"mappings":";;;AAEA,2CAAgG;AAQzF,MAAM,0BAA0B,GAAG,CACxC,IAAgD,EACpC,EAAE;IACd,MAAM,kBAAkB,GAAG,IAAA,wCAA4B,EAAC,IAAI,CAAC,CAAC;IAE9D,OAAO,KAAK,EAAE,GAAyB,EAAE,IAAU,EAAE,EAAE;QACrD,MAAM,kBAAkB,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IACnD,CAAC,CAAC;AACJ,CAAC,CAAC;AARW,QAAA,0BAA0B,8BAQrC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { NextApiRequest, NextApiResponse } from 'next';
|
|
2
|
+
import { OpenApiRouter } from '../types';
|
|
3
|
+
import { CreateOpenApiNodeHttpHandlerOptions } from './node-http';
|
|
4
|
+
export type CreateOpenApiNextHandlerOptions<TRouter extends OpenApiRouter> = CreateOpenApiNodeHttpHandlerOptions<TRouter, NextApiRequest, NextApiResponse>;
|
|
5
|
+
export declare const createOpenApiNextHandler: <TRouter extends OpenApiRouter>(opts: CreateOpenApiNextHandlerOptions<TRouter>) => (req: NextApiRequest, res: NextApiResponse) => Promise<void>;
|
|
6
|
+
//# sourceMappingURL=next.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"next.d.ts","sourceRoot":"","sources":["../../../src/adapters/next.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,MAAM,CAAC;AAEvD,OAAO,EAAwB,aAAa,EAAE,MAAM,UAAU,CAAC;AAE/D,OAAO,EAAE,mCAAmC,EAAgC,MAAM,aAAa,CAAC;AAEhG,MAAM,MAAM,+BAA+B,CAAC,OAAO,SAAS,aAAa,IACvE,mCAAmC,CAAC,OAAO,EAAE,cAAc,EAAE,eAAe,CAAC,CAAC;AAEhF,eAAO,MAAM,wBAAwB,GAAI,OAAO,SAAS,aAAa,EACpE,MAAM,+BAA+B,CAAC,OAAO,CAAC,MAIhC,KAAK,cAAc,EAAE,KAAK,eAAe,kBA2CxD,CAAC"}
|
|
@@ -2,34 +2,34 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.createOpenApiNextHandler = void 0;
|
|
4
4
|
const server_1 = require("@trpc/server");
|
|
5
|
-
const
|
|
6
|
-
const
|
|
5
|
+
const utils_1 = require("../utils");
|
|
6
|
+
const node_http_1 = require("./node-http");
|
|
7
7
|
const createOpenApiNextHandler = (opts) => {
|
|
8
|
-
const openApiHttpHandler = (0,
|
|
8
|
+
const openApiHttpHandler = (0, node_http_1.createOpenApiNodeHttpHandler)(opts);
|
|
9
9
|
return async (req, res) => {
|
|
10
10
|
var _a;
|
|
11
11
|
let pathname = null;
|
|
12
|
-
if (typeof req.query.trpc ===
|
|
12
|
+
if (typeof req.query.trpc === 'string') {
|
|
13
13
|
pathname = req.query.trpc;
|
|
14
14
|
}
|
|
15
15
|
else if (Array.isArray(req.query.trpc)) {
|
|
16
|
-
pathname = req.query.trpc.join(
|
|
16
|
+
pathname = req.query.trpc.join('/');
|
|
17
17
|
}
|
|
18
18
|
if (pathname === null) {
|
|
19
19
|
const error = new server_1.TRPCError({
|
|
20
|
-
message: 'Query "trpc" not found - is the `trpc-openapi` file named `[...trpc].ts`?',
|
|
21
|
-
code:
|
|
20
|
+
message: 'Query "trpc" not found - is the `trpc-to-openapi` file named `[...trpc].ts`?',
|
|
21
|
+
code: 'INTERNAL_SERVER_ERROR',
|
|
22
22
|
});
|
|
23
23
|
(_a = opts.onError) === null || _a === void 0 ? void 0 : _a.call(opts, {
|
|
24
24
|
error,
|
|
25
|
-
type:
|
|
25
|
+
type: 'unknown',
|
|
26
26
|
path: undefined,
|
|
27
27
|
input: undefined,
|
|
28
28
|
ctx: undefined,
|
|
29
29
|
req,
|
|
30
30
|
});
|
|
31
31
|
res.statusCode = 500;
|
|
32
|
-
res.setHeader(
|
|
32
|
+
res.setHeader('Content-Type', 'application/json');
|
|
33
33
|
const body = {
|
|
34
34
|
message: error.message,
|
|
35
35
|
code: error.code,
|
|
@@ -37,7 +37,12 @@ const createOpenApiNextHandler = (opts) => {
|
|
|
37
37
|
res.end(JSON.stringify(body));
|
|
38
38
|
return;
|
|
39
39
|
}
|
|
40
|
-
|
|
40
|
+
if (!('once' in res)) {
|
|
41
|
+
Object.assign(res, {
|
|
42
|
+
once: () => undefined,
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
req.url = (0, utils_1.normalizePath)(pathname);
|
|
41
46
|
await openApiHttpHandler(req, res);
|
|
42
47
|
};
|
|
43
48
|
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"next.js","sourceRoot":"","sources":["../../../src/adapters/next.ts"],"names":[],"mappings":";;;AAAA,yCAAyC;AAIzC,oCAAyC;AACzC,2CAAgG;AAKzF,MAAM,wBAAwB,GAAG,CACtC,IAA8C,EAC9C,EAAE;IACF,MAAM,kBAAkB,GAAG,IAAA,wCAA4B,EAAC,IAAI,CAAC,CAAC;IAE9D,OAAO,KAAK,EAAE,GAAmB,EAAE,GAAoB,EAAE,EAAE;;QACzD,IAAI,QAAQ,GAAkB,IAAI,CAAC;QACnC,IAAI,OAAO,GAAG,CAAC,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACvC,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC;QAC5B,CAAC;aAAM,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YACzC,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACtC,CAAC;QAED,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;YACtB,MAAM,KAAK,GAAG,IAAI,kBAAS,CAAC;gBAC1B,OAAO,EAAE,8EAA8E;gBACvF,IAAI,EAAE,uBAAuB;aAC9B,CAAC,CAAC;YAEH,MAAA,IAAI,CAAC,OAAO,qDAAG;gBACb,KAAK;gBACL,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,SAAS;gBACf,KAAK,EAAE,SAAS;gBAChB,GAAG,EAAE,SAAS;gBACd,GAAG;aACJ,CAAC,CAAC;YAEH,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC;YACrB,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC;YAClD,MAAM,IAAI,GAAyB;gBACjC,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,IAAI,EAAE,KAAK,CAAC,IAAI;aACjB,CAAC;YACF,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;YAE9B,OAAO;QACT,CAAC;QAED,IAAI,CAAC,CAAC,MAAM,IAAI,GAAG,CAAC,EAAE,CAAC;YACrB,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE;gBACjB,IAAI,EAAE,GAAG,EAAE,CAAC,SAAS;aACtB,CAAC,CAAC;QACL,CAAC;QAED,GAAG,CAAC,GAAG,GAAG,IAAA,qBAAa,EAAC,QAAQ,CAAC,CAAC;QAClC,MAAM,kBAAkB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IACrC,CAAC,CAAC;AACJ,CAAC,CAAC;AAhDW,QAAA,wBAAwB,4BAgDnC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import type
|
|
2
|
-
import
|
|
3
|
-
|
|
1
|
+
import { type NodeHTTPHandlerOptions, type NodeHTTPResponse } from '@trpc/server/adapters/node-http';
|
|
2
|
+
import { NodeHTTPRequest } from '../../types';
|
|
3
|
+
import { OpenApiRouter } from '../../types';
|
|
4
|
+
export type CreateOpenApiNodeHttpHandlerOptions<TRouter extends OpenApiRouter, TRequest extends NodeHTTPRequest, TResponse extends NodeHTTPResponse> = Pick<NodeHTTPHandlerOptions<TRouter, TRequest, TResponse>, 'router' | 'createContext' | 'responseMeta' | 'onError' | 'maxBodySize'>;
|
|
4
5
|
export type OpenApiNextFunction = () => void;
|
|
5
6
|
export declare const createOpenApiNodeHttpHandler: <TRouter extends OpenApiRouter, TRequest extends NodeHTTPRequest, TResponse extends NodeHTTPResponse>(opts: CreateOpenApiNodeHttpHandlerOptions<TRouter, TRequest, TResponse>) => (req: TRequest, res: TResponse, next?: OpenApiNextFunction) => Promise<void>;
|
|
6
7
|
//# sourceMappingURL=core.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../../../src/adapters/node-http/core.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,sBAAsB,EAC3B,KAAK,gBAAgB,EACtB,MAAM,iCAAiC,CAAC;AAGzC,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9C,OAAO,EAKL,aAAa,EAEd,MAAM,aAAa,CAAC;AAkBrB,MAAM,MAAM,mCAAmC,CAC7C,OAAO,SAAS,aAAa,EAC7B,QAAQ,SAAS,eAAe,EAChC,SAAS,SAAS,gBAAgB,IAChC,IAAI,CACN,sBAAsB,CAAC,OAAO,EAAE,QAAQ,EAAE,SAAS,CAAC,EACpD,QAAQ,GAAG,eAAe,GAAG,cAAc,GAAG,SAAS,GAAG,aAAa,CACxE,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG,MAAM,IAAI,CAAC;AAE7C,eAAO,MAAM,4BAA4B,GACvC,OAAO,SAAS,aAAa,EAC7B,QAAQ,SAAS,eAAe,EAChC,SAAS,SAAS,gBAAgB,EAElC,MAAM,mCAAmC,CAAC,OAAO,EAAE,QAAQ,EAAE,SAAS,CAAC,MAYzD,KAAK,QAAQ,EAAE,KAAK,SAAS,EAAE,OAAO,mBAAmB,kBA8KxE,CAAC"}
|
|
@@ -1,25 +1,19 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
3
|
exports.createOpenApiNodeHttpHandler = void 0;
|
|
7
|
-
// @ts-nocheck
|
|
8
4
|
const server_1 = require("@trpc/server");
|
|
9
|
-
const
|
|
5
|
+
const unstable_core_do_not_import_1 = require("@trpc/server/unstable-core-do-not-import");
|
|
6
|
+
const zod_1 = require("zod");
|
|
10
7
|
const generator_1 = require("../../generator");
|
|
11
|
-
const
|
|
12
|
-
const path_1 = require("../../utils/path");
|
|
13
|
-
const procedure_1 = require("../../utils/procedure");
|
|
14
|
-
const zod_1 = require("../../utils/zod");
|
|
8
|
+
const utils_1 = require("../../utils");
|
|
15
9
|
const errors_1 = require("./errors");
|
|
16
10
|
const input_1 = require("./input");
|
|
17
11
|
const procedures_1 = require("./procedures");
|
|
18
12
|
const createOpenApiNodeHttpHandler = (opts) => {
|
|
19
|
-
const router = (
|
|
13
|
+
const router = Object.assign({}, opts.router);
|
|
20
14
|
// Validate router
|
|
21
|
-
if (process.env.NODE_ENV !==
|
|
22
|
-
(0, generator_1.generateOpenApiDocument)(router, { title:
|
|
15
|
+
if (process.env.NODE_ENV !== 'production') {
|
|
16
|
+
(0, generator_1.generateOpenApiDocument)(router, { title: '', version: '', baseUrl: '' });
|
|
23
17
|
}
|
|
24
18
|
const { createContext, responseMeta, onError, maxBodySize } = opts;
|
|
25
19
|
const getProcedure = (0, procedures_1.createProcedureCache)(router);
|
|
@@ -27,9 +21,9 @@ const createOpenApiNodeHttpHandler = (opts) => {
|
|
|
27
21
|
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
|
|
28
22
|
const sendResponse = (statusCode, headers, body) => {
|
|
29
23
|
res.statusCode = statusCode;
|
|
30
|
-
res.setHeader(
|
|
24
|
+
res.setHeader('Content-Type', 'application/json');
|
|
31
25
|
for (const [key, value] of Object.entries(headers)) {
|
|
32
|
-
if (typeof value !==
|
|
26
|
+
if (typeof value !== 'undefined') {
|
|
33
27
|
res.setHeader(key, value);
|
|
34
28
|
}
|
|
35
29
|
}
|
|
@@ -37,49 +31,79 @@ const createOpenApiNodeHttpHandler = (opts) => {
|
|
|
37
31
|
};
|
|
38
32
|
const method = req.method;
|
|
39
33
|
const reqUrl = req.url;
|
|
40
|
-
const url = new URL(reqUrl.startsWith(
|
|
41
|
-
const path = (0,
|
|
42
|
-
const { procedure, pathInput } = (_a = getProcedure(method, path)) !== null && _a !== void 0 ? _a : {};
|
|
34
|
+
const url = new URL(reqUrl.startsWith('/') ? `http://127.0.0.1${reqUrl}` : reqUrl);
|
|
35
|
+
const path = (0, utils_1.normalizePath)(url.pathname);
|
|
43
36
|
let input = undefined;
|
|
44
37
|
let ctx = undefined;
|
|
38
|
+
let info = undefined;
|
|
45
39
|
let data = undefined;
|
|
40
|
+
const { procedure, pathInput } = (_a = getProcedure(method, path)) !== null && _a !== void 0 ? _a : {};
|
|
46
41
|
try {
|
|
47
42
|
if (!procedure) {
|
|
48
43
|
if (next) {
|
|
49
44
|
return next();
|
|
50
45
|
}
|
|
51
46
|
// Can be used for warmup
|
|
52
|
-
if (method ===
|
|
47
|
+
if (method === 'HEAD') {
|
|
53
48
|
sendResponse(204, {}, undefined);
|
|
54
49
|
return;
|
|
55
50
|
}
|
|
56
51
|
throw new server_1.TRPCError({
|
|
57
|
-
message:
|
|
58
|
-
code:
|
|
52
|
+
message: 'Not found',
|
|
53
|
+
code: 'NOT_FOUND',
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
const contentType = (0, utils_1.getContentType)(req);
|
|
57
|
+
const useBody = (0, utils_1.acceptsRequestBody)(method);
|
|
58
|
+
if (useBody && !(contentType === null || contentType === void 0 ? void 0 : contentType.startsWith('application/json'))) {
|
|
59
|
+
throw new server_1.TRPCError({
|
|
60
|
+
code: 'UNSUPPORTED_MEDIA_TYPE',
|
|
61
|
+
message: contentType
|
|
62
|
+
? `Unsupported content-type "${contentType}`
|
|
63
|
+
: 'Missing content-type header',
|
|
59
64
|
});
|
|
60
65
|
}
|
|
61
|
-
const
|
|
62
|
-
const
|
|
63
|
-
.inputParser;
|
|
64
|
-
const unwrappedSchema = (0, zod_1.unwrapZodType)(schema, true);
|
|
66
|
+
const { inputParser } = (0, utils_1.getInputOutputParsers)(procedure.procedure);
|
|
67
|
+
const unwrappedSchema = (0, utils_1.unwrapZodType)(inputParser, true);
|
|
65
68
|
// input should stay undefined if z.void()
|
|
66
|
-
if (!(0,
|
|
69
|
+
if (!(0, utils_1.instanceofZodTypeLikeVoid)(unwrappedSchema)) {
|
|
67
70
|
input = Object.assign(Object.assign({}, (useBody ? await (0, input_1.getBody)(req, maxBodySize) : (0, input_1.getQuery)(req, url))), pathInput);
|
|
68
71
|
}
|
|
69
72
|
// if supported, coerce all string values to correct types
|
|
70
|
-
if (
|
|
71
|
-
if (
|
|
72
|
-
Object.
|
|
73
|
-
|
|
74
|
-
if
|
|
75
|
-
|
|
73
|
+
if (utils_1.zodSupportsCoerce && (0, utils_1.instanceofZodTypeObject)(unwrappedSchema)) {
|
|
74
|
+
if (!useBody) {
|
|
75
|
+
for (const [key, shape] of Object.entries(unwrappedSchema.shape)) {
|
|
76
|
+
let isArray = false;
|
|
77
|
+
// Check if it's a direct array
|
|
78
|
+
if (shape instanceof zod_1.ZodArray) {
|
|
79
|
+
isArray = true;
|
|
76
80
|
}
|
|
77
|
-
|
|
81
|
+
// Check if it's an optional array
|
|
82
|
+
else if ((0, utils_1.instanceofZodTypeOptional)(shape)) {
|
|
83
|
+
const innerType = shape.unwrap();
|
|
84
|
+
if (innerType instanceof zod_1.ZodArray) {
|
|
85
|
+
isArray = true;
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
if (isArray && input[key] !== undefined && !Array.isArray(input[key])) {
|
|
89
|
+
input[key] = [input[key]];
|
|
90
|
+
}
|
|
91
|
+
}
|
|
78
92
|
}
|
|
93
|
+
(0, utils_1.coerceSchema)(unwrappedSchema);
|
|
79
94
|
}
|
|
80
|
-
|
|
95
|
+
info = {
|
|
96
|
+
isBatchCall: false,
|
|
97
|
+
accept: null,
|
|
98
|
+
calls: [],
|
|
99
|
+
type: procedure.type,
|
|
100
|
+
connectionParams: null,
|
|
101
|
+
signal: (0, utils_1.getRequestSignal)(req, res, maxBodySize),
|
|
102
|
+
url,
|
|
103
|
+
};
|
|
104
|
+
ctx = await (createContext === null || createContext === void 0 ? void 0 : createContext({ req, res, info }));
|
|
81
105
|
const caller = router.createCaller(ctx);
|
|
82
|
-
const segments = procedure.path.split(
|
|
106
|
+
const segments = procedure.path.split('.');
|
|
83
107
|
const procedureFn = segments.reduce((acc, curr) => acc[curr], caller);
|
|
84
108
|
data = await procedureFn(input);
|
|
85
109
|
const meta = responseMeta === null || responseMeta === void 0 ? void 0 : responseMeta({
|
|
@@ -88,6 +112,8 @@ const createOpenApiNodeHttpHandler = (opts) => {
|
|
|
88
112
|
ctx,
|
|
89
113
|
data: [data],
|
|
90
114
|
errors: [],
|
|
115
|
+
info,
|
|
116
|
+
eagerGeneration: true,
|
|
91
117
|
});
|
|
92
118
|
const statusCode = (_b = meta === null || meta === void 0 ? void 0 : meta.status) !== null && _b !== void 0 ? _b : 200;
|
|
93
119
|
const headers = (_c = meta === null || meta === void 0 ? void 0 : meta.headers) !== null && _c !== void 0 ? _c : {};
|
|
@@ -98,40 +124,37 @@ const createOpenApiNodeHttpHandler = (opts) => {
|
|
|
98
124
|
const error = (0, errors_1.getErrorFromUnknown)(cause);
|
|
99
125
|
onError === null || onError === void 0 ? void 0 : onError({
|
|
100
126
|
error,
|
|
101
|
-
type: (_d = procedure === null || procedure === void 0 ? void 0 : procedure.type) !== null && _d !== void 0 ? _d :
|
|
127
|
+
type: (_d = procedure === null || procedure === void 0 ? void 0 : procedure.type) !== null && _d !== void 0 ? _d : 'unknown',
|
|
102
128
|
path: procedure === null || procedure === void 0 ? void 0 : procedure.path,
|
|
103
129
|
input,
|
|
104
130
|
ctx,
|
|
105
131
|
req,
|
|
106
132
|
});
|
|
107
133
|
const meta = responseMeta === null || responseMeta === void 0 ? void 0 : responseMeta({
|
|
108
|
-
type: (_e = procedure === null || procedure === void 0 ? void 0 : procedure.type) !== null && _e !== void 0 ? _e :
|
|
134
|
+
type: (_e = procedure === null || procedure === void 0 ? void 0 : procedure.type) !== null && _e !== void 0 ? _e : 'unknown',
|
|
109
135
|
paths: (procedure === null || procedure === void 0 ? void 0 : procedure.path) ? [procedure === null || procedure === void 0 ? void 0 : procedure.path] : undefined,
|
|
110
136
|
ctx,
|
|
111
137
|
data: [data],
|
|
112
138
|
errors: [error],
|
|
139
|
+
info,
|
|
140
|
+
eagerGeneration: true,
|
|
113
141
|
});
|
|
114
|
-
const errorShape =
|
|
142
|
+
const errorShape = (0, unstable_core_do_not_import_1.getErrorShape)({
|
|
143
|
+
config: router._def._config,
|
|
115
144
|
error,
|
|
116
|
-
type: (_f = procedure === null || procedure === void 0 ? void 0 : procedure.type) !== null && _f !== void 0 ? _f :
|
|
145
|
+
type: (_f = procedure === null || procedure === void 0 ? void 0 : procedure.type) !== null && _f !== void 0 ? _f : 'unknown',
|
|
117
146
|
path: procedure === null || procedure === void 0 ? void 0 : procedure.path,
|
|
118
147
|
input,
|
|
119
148
|
ctx,
|
|
120
149
|
});
|
|
121
|
-
const isInputValidationError = error.code ===
|
|
150
|
+
const isInputValidationError = error.code === 'BAD_REQUEST' &&
|
|
122
151
|
error.cause instanceof Error &&
|
|
123
|
-
error.cause.name ===
|
|
152
|
+
error.cause.name === 'ZodError';
|
|
124
153
|
const statusCode = (_h = (_g = meta === null || meta === void 0 ? void 0 : meta.status) !== null && _g !== void 0 ? _g : errors_1.TRPC_ERROR_CODE_HTTP_STATUS[error.code]) !== null && _h !== void 0 ? _h : 500;
|
|
125
154
|
const headers = (_j = meta === null || meta === void 0 ? void 0 : meta.headers) !== null && _j !== void 0 ? _j : {};
|
|
126
|
-
const body = {
|
|
127
|
-
|
|
128
|
-
?
|
|
129
|
-
: (_l = (_k = errorShape === null || errorShape === void 0 ? void 0 : errorShape.message) !== null && _k !== void 0 ? _k : error.message) !== null && _l !== void 0 ? _l : "An error occurred",
|
|
130
|
-
code: error.code,
|
|
131
|
-
issues: isInputValidationError
|
|
132
|
-
? error.cause.errors
|
|
133
|
-
: undefined,
|
|
134
|
-
};
|
|
155
|
+
const body = Object.assign(Object.assign({}, errorShape), { message: isInputValidationError
|
|
156
|
+
? 'Input validation failed'
|
|
157
|
+
: ((_l = (_k = errorShape === null || errorShape === void 0 ? void 0 : errorShape.message) !== null && _k !== void 0 ? _k : error.message) !== null && _l !== void 0 ? _l : 'An error occurred'), code: error.code, issues: isInputValidationError ? error.cause.issues : undefined });
|
|
135
158
|
sendResponse(statusCode, headers, body);
|
|
136
159
|
}
|
|
137
160
|
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"core.js","sourceRoot":"","sources":["../../../../src/adapters/node-http/core.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { TRPCError } from '@trpc/server';
|
|
2
|
+
export declare const TRPC_ERROR_CODE_HTTP_STATUS: Record<TRPCError['code'], number>;
|
|
3
|
+
export declare const HTTP_STATUS_TRPC_ERROR_CODE: Record<number, TRPCError['code']>;
|
|
4
|
+
export declare const TRPC_ERROR_CODE_MESSAGE: Record<TRPCError['code'], string>;
|
|
5
|
+
export declare function getErrorFromUnknown(cause: unknown): TRPCError;
|
|
6
|
+
//# sourceMappingURL=errors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../../src/adapters/node-http/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,eAAO,MAAM,2BAA2B,EAAE,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,MAAM,CAsBzE,CAAC;AAEF,eAAO,MAAM,2BAA2B,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,CAqBzE,CAAC;AAEF,eAAO,MAAM,uBAAuB,EAAE,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,MAAM,CAsBrE,CAAC;AAEF,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,CAwB7D"}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TRPC_ERROR_CODE_MESSAGE = exports.HTTP_STATUS_TRPC_ERROR_CODE = exports.TRPC_ERROR_CODE_HTTP_STATUS = void 0;
|
|
4
|
+
exports.getErrorFromUnknown = getErrorFromUnknown;
|
|
5
|
+
const server_1 = require("@trpc/server");
|
|
6
|
+
exports.TRPC_ERROR_CODE_HTTP_STATUS = {
|
|
7
|
+
PARSE_ERROR: 400,
|
|
8
|
+
BAD_REQUEST: 400,
|
|
9
|
+
NOT_FOUND: 404,
|
|
10
|
+
INTERNAL_SERVER_ERROR: 500,
|
|
11
|
+
UNAUTHORIZED: 401,
|
|
12
|
+
FORBIDDEN: 403,
|
|
13
|
+
TIMEOUT: 408,
|
|
14
|
+
CONFLICT: 409,
|
|
15
|
+
CLIENT_CLOSED_REQUEST: 499,
|
|
16
|
+
PRECONDITION_FAILED: 412,
|
|
17
|
+
PAYLOAD_TOO_LARGE: 413,
|
|
18
|
+
METHOD_NOT_SUPPORTED: 405,
|
|
19
|
+
UNSUPPORTED_MEDIA_TYPE: 415,
|
|
20
|
+
TOO_MANY_REQUESTS: 429,
|
|
21
|
+
UNPROCESSABLE_CONTENT: 422,
|
|
22
|
+
NOT_IMPLEMENTED: 501,
|
|
23
|
+
BAD_GATEWAY: 502,
|
|
24
|
+
SERVICE_UNAVAILABLE: 503,
|
|
25
|
+
GATEWAY_TIMEOUT: 504,
|
|
26
|
+
PAYMENT_REQUIRED: 402,
|
|
27
|
+
PRECONDITION_REQUIRED: 428,
|
|
28
|
+
};
|
|
29
|
+
exports.HTTP_STATUS_TRPC_ERROR_CODE = {
|
|
30
|
+
400: 'BAD_REQUEST',
|
|
31
|
+
404: 'NOT_FOUND',
|
|
32
|
+
500: 'INTERNAL_SERVER_ERROR',
|
|
33
|
+
401: 'UNAUTHORIZED',
|
|
34
|
+
403: 'FORBIDDEN',
|
|
35
|
+
408: 'TIMEOUT',
|
|
36
|
+
409: 'CONFLICT',
|
|
37
|
+
499: 'CLIENT_CLOSED_REQUEST',
|
|
38
|
+
412: 'PRECONDITION_FAILED',
|
|
39
|
+
413: 'PAYLOAD_TOO_LARGE',
|
|
40
|
+
405: 'METHOD_NOT_SUPPORTED',
|
|
41
|
+
415: 'UNSUPPORTED_MEDIA_TYPE',
|
|
42
|
+
429: 'TOO_MANY_REQUESTS',
|
|
43
|
+
422: 'UNPROCESSABLE_CONTENT',
|
|
44
|
+
501: 'NOT_IMPLEMENTED',
|
|
45
|
+
502: 'BAD_GATEWAY',
|
|
46
|
+
503: 'SERVICE_UNAVAILABLE',
|
|
47
|
+
504: 'GATEWAY_TIMEOUT',
|
|
48
|
+
402: 'PAYMENT_REQUIRED',
|
|
49
|
+
428: 'PRECONDITION_REQUIRED',
|
|
50
|
+
};
|
|
51
|
+
exports.TRPC_ERROR_CODE_MESSAGE = {
|
|
52
|
+
PARSE_ERROR: 'Parse error',
|
|
53
|
+
BAD_REQUEST: 'Bad request',
|
|
54
|
+
NOT_FOUND: 'Not found',
|
|
55
|
+
INTERNAL_SERVER_ERROR: 'Internal server error',
|
|
56
|
+
UNAUTHORIZED: 'Unauthorized',
|
|
57
|
+
FORBIDDEN: 'Forbidden',
|
|
58
|
+
TIMEOUT: 'Timeout',
|
|
59
|
+
CONFLICT: 'Conflict',
|
|
60
|
+
CLIENT_CLOSED_REQUEST: 'Client closed request',
|
|
61
|
+
PRECONDITION_FAILED: 'Precondition failed',
|
|
62
|
+
PAYLOAD_TOO_LARGE: 'Payload too large',
|
|
63
|
+
METHOD_NOT_SUPPORTED: 'Method not supported',
|
|
64
|
+
TOO_MANY_REQUESTS: 'Too many requests',
|
|
65
|
+
UNPROCESSABLE_CONTENT: 'Unprocessable content',
|
|
66
|
+
NOT_IMPLEMENTED: 'Not implemented',
|
|
67
|
+
BAD_GATEWAY: 'Bad gateway',
|
|
68
|
+
SERVICE_UNAVAILABLE: 'Service unavailable',
|
|
69
|
+
GATEWAY_TIMEOUT: 'Gateway timeout',
|
|
70
|
+
UNSUPPORTED_MEDIA_TYPE: 'Unsupported media type',
|
|
71
|
+
PAYMENT_REQUIRED: 'Payment required',
|
|
72
|
+
PRECONDITION_REQUIRED: 'Precondition required',
|
|
73
|
+
};
|
|
74
|
+
function getErrorFromUnknown(cause) {
|
|
75
|
+
if (cause instanceof Error && cause.name === 'TRPCError') {
|
|
76
|
+
return cause;
|
|
77
|
+
}
|
|
78
|
+
let errorCause = undefined;
|
|
79
|
+
let stack = undefined;
|
|
80
|
+
if (cause instanceof Error) {
|
|
81
|
+
errorCause = cause;
|
|
82
|
+
stack = cause.stack;
|
|
83
|
+
}
|
|
84
|
+
const error = new server_1.TRPCError({
|
|
85
|
+
message: 'Internal server error',
|
|
86
|
+
code: 'INTERNAL_SERVER_ERROR',
|
|
87
|
+
cause: errorCause,
|
|
88
|
+
});
|
|
89
|
+
if (stack) {
|
|
90
|
+
error.stack = stack;
|
|
91
|
+
}
|
|
92
|
+
return error;
|
|
93
|
+
}
|
|
94
|
+
//# sourceMappingURL=errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../../src/adapters/node-http/errors.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/adapters/node-http/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC"}
|