@orpc/openapi 2.0.0-beta.25 → 2.0.0-beta.27
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/README.md +37 -76
- package/dist/adapters/fetch/index.d.mts +1 -1
- package/dist/adapters/fetch/index.d.ts +1 -1
- package/dist/adapters/fetch/index.mjs +1 -1
- package/dist/adapters/standard/index.d.mts +1 -1
- package/dist/adapters/standard/index.d.ts +1 -1
- package/dist/adapters/standard/index.mjs +1 -1
- package/dist/extensions/route.d.mts +2 -2
- package/dist/extensions/route.d.ts +2 -2
- package/dist/index.d.mts +4 -4
- package/dist/index.d.ts +4 -4
- package/dist/index.mjs +5 -0
- package/dist/plugins/index.d.mts +1 -1
- package/dist/plugins/index.d.ts +1 -1
- package/dist/shared/{openapi.B2hM6qoN.d.mts → openapi.Bd9icEUa.d.mts} +1 -3
- package/dist/shared/{openapi.B48raJ3F.mjs → openapi.BlHXe8vI.mjs} +12 -21
- package/dist/shared/{openapi.CEDnaiYB.d.ts → openapi.D1CqEIRy.d.ts} +1 -3
- package/dist/shared/{openapi.CIWc8Aoj.d.ts → openapi.DTYZZ6Ph.d.ts} +2 -2
- package/dist/shared/{openapi.zfTTuQ4S.d.mts → openapi.DfTTLtn5.d.mts} +14 -2
- package/dist/shared/{openapi.zfTTuQ4S.d.ts → openapi.DfTTLtn5.d.ts} +14 -2
- package/dist/shared/{openapi.BLIDkvGl.d.mts → openapi.Drcd0PuL.d.mts} +2 -2
- package/package.json +10 -9
package/README.md
CHANGED
|
@@ -56,6 +56,7 @@ You can read the documentation [here](https://orpc.dev).
|
|
|
56
56
|
- [@orpc/swr](https://www.npmjs.com/package/@orpc/swr): Integrate with [SWR](https://swr.vercel.app/).
|
|
57
57
|
- [@orpc/experimental-effect](https://www.npmjs.com/package/@orpc/experimental-effect): Integrate with [Effect](https://effect.website/).
|
|
58
58
|
- [@orpc/nest](https://www.npmjs.com/package/@orpc/nest): Implement your contract with [NestJS](https://nestjs.com/).
|
|
59
|
+
- [@orpc/node](https://www.npmjs.com/package/@orpc/node): [Node.js](https://nodejs.org/) plugins, helpers, like serving static files.
|
|
59
60
|
- [@orpc/bun](https://www.npmjs.com/package/@orpc/bun): Adapters for [Bun's Redis](https://bun.sh/).
|
|
60
61
|
- [@orpc/cloudflare](https://www.npmjs.com/package/@orpc/cloudflare): Adapters for [Cloudflare's RateLimit and Durable Objects](https://developers.cloudflare.com/workers/).
|
|
61
62
|
- [@orpc/trpc](https://www.npmjs.com/package/@orpc/trpc): Reuse existing [tRPC](https://trpc.io/) routers within oRPC.
|
|
@@ -74,7 +75,7 @@ Like what we build over at [middleapi](https://github.com/middleapi)? You can he
|
|
|
74
75
|
|
|
75
76
|
<table>
|
|
76
77
|
<tr>
|
|
77
|
-
<td align="center"><a href="https://screenshotone.com/?ref=orpc" target="_blank" rel="noopener" title="ScreenshotOne.com"><img src="https://avatars.githubusercontent.com/u/97035603?v=4" width="279" alt="ScreenshotOne.com"/><br />ScreenshotOne.com</a></td>
|
|
78
|
+
<td align="center"><a href="https://screenshotone.com/?ref=orpc" target="_blank" rel="sponsored noopener" title="ScreenshotOne.com"><img src="https://avatars.githubusercontent.com/u/97035603?v=4" width="279" alt="ScreenshotOne.com"/><br />ScreenshotOne.com</a></td>
|
|
78
79
|
</tr>
|
|
79
80
|
</table>
|
|
80
81
|
|
|
@@ -82,7 +83,7 @@ Like what we build over at [middleapi](https://github.com/middleapi)? You can he
|
|
|
82
83
|
|
|
83
84
|
<table>
|
|
84
85
|
<tr>
|
|
85
|
-
<td align="center"><a href="https://misskey.io/?ref=orpc" target="_blank" rel="noopener" title="村上さん"><img src="https://avatars.githubusercontent.com/u/37681609?u=0dd4c7e4ba937cbb52b068c55914b1d8164dc0c7&v=4" width="209" alt="村上さん"/><br />村上さん</a></td>
|
|
86
|
+
<td align="center"><a href="https://misskey.io/?ref=orpc" target="_blank" rel="sponsored noopener" title="村上さん"><img src="https://avatars.githubusercontent.com/u/37681609?u=0dd4c7e4ba937cbb52b068c55914b1d8164dc0c7&v=4" width="209" alt="村上さん"/><br />村上さん</a></td>
|
|
86
87
|
</tr>
|
|
87
88
|
</table>
|
|
88
89
|
|
|
@@ -90,7 +91,7 @@ Like what we build over at [middleapi](https://github.com/middleapi)? You can he
|
|
|
90
91
|
|
|
91
92
|
<table>
|
|
92
93
|
<tr>
|
|
93
|
-
<td align="center"><a href="https://github.com/ln-markets?ref=orpc" target="_blank" rel="noopener" title="LN Markets"><img src="https://avatars.githubusercontent.com/u/70597625?v=4" width="167" alt="LN Markets"/><br />LN Markets</a></td>
|
|
94
|
+
<td align="center"><a href="https://github.com/ln-markets?ref=orpc" target="_blank" rel="sponsored noopener" title="LN Markets"><img src="https://avatars.githubusercontent.com/u/70597625?v=4" width="167" alt="LN Markets"/><br />LN Markets</a></td>
|
|
94
95
|
</tr>
|
|
95
96
|
</table>
|
|
96
97
|
|
|
@@ -98,24 +99,25 @@ Like what we build over at [middleapi](https://github.com/middleapi)? You can he
|
|
|
98
99
|
|
|
99
100
|
<table>
|
|
100
101
|
<tr>
|
|
101
|
-
<td align="center"><a href="https://github.com/hrmcdonald?ref=orpc" target="_blank" rel="noopener" title="Reece McDonald"><img src="https://avatars.githubusercontent.com/u/39349270?v=4" width="139" alt="Reece McDonald"/><br />Reece McDonald</a></td>
|
|
102
|
-
<td align="center"><a href="https://github.com/
|
|
103
|
-
<td align="center"><a href="https://github.com/
|
|
104
|
-
<td align="center"><a href="https://github.com/
|
|
105
|
-
<td align="center"><a href="https://github.com/
|
|
106
|
-
<td align="center"><a href="https://github.com/
|
|
102
|
+
<td align="center"><a href="https://github.com/hrmcdonald?ref=orpc" target="_blank" rel="sponsored noopener" title="Reece McDonald"><img src="https://avatars.githubusercontent.com/u/39349270?v=4" width="139" alt="Reece McDonald"/><br />Reece McDonald</a></td>
|
|
103
|
+
<td align="center"><a href="https://github.com/u1-liquid?ref=orpc" target="_blank" rel="sponsored noopener" title="あわわわとーにゅ"><img src="https://avatars.githubusercontent.com/u/17376330?u=de3353804be889f009f7e0a1582daf04d0ab292d&v=4" width="139" alt="あわわわとーにゅ"/><br />あわわわとーにゅ</a></td>
|
|
104
|
+
<td align="center"><a href="https://github.com/nicognaW?ref=orpc" target="_blank" rel="sponsored noopener" title="nk"><img src="https://avatars.githubusercontent.com/u/66731869?u=4699bda3a9092d3ec34fbd959450767bcc8b8b6d&v=4" width="139" alt="nk"/><br />nk</a></td>
|
|
105
|
+
<td align="center"><a href="https://github.com/supastarter?ref=orpc" target="_blank" rel="sponsored noopener" title="supastarter"><img src="https://avatars.githubusercontent.com/u/110960143?v=4" width="139" alt="supastarter"/><br />supastarter</a></td>
|
|
106
|
+
<td align="center"><a href="https://github.com/divmgl?ref=orpc" target="_blank" rel="sponsored noopener" title="Dexter Miguel"><img src="https://avatars.githubusercontent.com/u/5452298?u=645993204be8696c085ecf0d228c3062efe2ed65&v=4" width="139" alt="Dexter Miguel"/><br />Dexter Miguel</a></td>
|
|
107
|
+
<td align="center"><a href="https://github.com/herrfugbaum?ref=orpc" target="_blank" rel="sponsored noopener" title="herrfugbaum"><img src="https://avatars.githubusercontent.com/u/12859776?u=644dc1666d0220bc0468eb0de3c56b919f635b16&v=4" width="139" alt="herrfugbaum"/><br />herrfugbaum</a></td>
|
|
107
108
|
</tr>
|
|
108
109
|
<tr>
|
|
109
|
-
<td align="center"><a href="https://github.com/
|
|
110
|
-
<td align="center"><a href="https://github.com/
|
|
111
|
-
<td align="center"><a href="https://github.com/
|
|
112
|
-
<td align="center"><a href="https://github.com/
|
|
113
|
-
<td align="center"><a href="https://github.com/
|
|
114
|
-
<td align="center"><a href="https://github.com/
|
|
110
|
+
<td align="center"><a href="https://github.com/ryota-murakami?ref=orpc" target="_blank" rel="sponsored noopener" title="Ryota Murakami"><img src="https://avatars.githubusercontent.com/u/5501268?u=599389e03340734325726ca3f8f423c021d47d7f&v=4" width="139" alt="Ryota Murakami"/><br />Ryota Murakami</a></td>
|
|
111
|
+
<td align="center"><a href="https://github.com/dcramer?ref=orpc" target="_blank" rel="sponsored noopener" title="David Cramer"><img src="https://avatars.githubusercontent.com/u/23610?v=4" width="139" alt="David Cramer"/><br />David Cramer</a></td>
|
|
112
|
+
<td align="center"><a href="https://github.com/valerii15298?ref=orpc" target="_blank" rel="sponsored noopener" title="Valerii Petryniak"><img src="https://avatars.githubusercontent.com/u/44531564?u=88ac74d9bacd20401518441907acad21063cd397&v=4" width="139" alt="Valerii Petryniak"/><br />Valerii Petryniak</a></td>
|
|
113
|
+
<td align="center"><a href="https://github.com/letstri?ref=orpc" target="_blank" rel="sponsored noopener" title="Valerii Strilets"><img src="https://avatars.githubusercontent.com/u/13253748?u=c7b10399ccc8f8081e24db94ec32cd9858e86ac3&v=4" width="139" alt="Valerii Strilets"/><br />Valerii Strilets</a></td>
|
|
114
|
+
<td align="center"><a href="https://github.com/K-Mistele?ref=orpc" target="_blank" rel="sponsored noopener" title="Kyle Mistele"><img src="https://avatars.githubusercontent.com/u/18430555?u=3afebeb81de666e35aaac3ed46f14159d7603ffb&v=4" width="139" alt="Kyle Mistele"/><br />Kyle Mistele</a></td>
|
|
115
|
+
<td align="center"><a href="https://github.com/christ12938?ref=orpc" target="_blank" rel="sponsored noopener" title="christ12938"><img src="https://avatars.githubusercontent.com/u/25758598?v=4" width="139" alt="christ12938"/><br />christ12938</a></td>
|
|
115
116
|
</tr>
|
|
116
117
|
<tr>
|
|
117
|
-
<td align="center"><a href="https://github.com/
|
|
118
|
-
<td align="center"><a href="https://github.com/
|
|
118
|
+
<td align="center"><a href="https://github.com/Ryanjso?ref=orpc" target="_blank" rel="sponsored noopener" title="Ryan Soderberg"><img src="https://avatars.githubusercontent.com/u/39172778?u=5ed913c31d57e7221b75784abcad48c7ebddde27&v=4" width="139" alt="Ryan Soderberg"/><br />Ryan Soderberg</a></td>
|
|
119
|
+
<td align="center"><a href="https://github.com/itigoore01?ref=orpc" target="_blank" rel="sponsored noopener" title="shota"><img src="https://avatars.githubusercontent.com/u/11831107?u=c976a6dc7e055eb026304c46c99100ed22b0c8e0&v=4" width="139" alt="shota"/><br />shota</a></td>
|
|
120
|
+
<td align="center"><a href="https://github.com/ellis-driscoll?ref=orpc" target="_blank" rel="sponsored noopener" title="Ellis Driscoll"><img src="https://avatars.githubusercontent.com/u/70685966?u=c5f95bc33b5991d9744abe00052542e4a2ed3cb9&v=4" width="139" alt="Ellis Driscoll"/><br />Ellis Driscoll</a></td>
|
|
119
121
|
</tr>
|
|
120
122
|
</table>
|
|
121
123
|
|
|
@@ -123,72 +125,31 @@ Like what we build over at [middleapi](https://github.com/middleapi)? You can he
|
|
|
123
125
|
|
|
124
126
|
<table>
|
|
125
127
|
<tr>
|
|
126
|
-
<td align="center"><a href="https://github.com/rhinodavid?ref=orpc" target="_blank" rel="noopener" title="David Walsh"><img src="https://avatars.githubusercontent.com/u/5778036?u=b5521f07d2f88c3db2a0dae62b5f2f8357214af0&v=4" width="119" alt="David Walsh"/><br />David Walsh</a></td>
|
|
127
|
-
<td align="center"><a href="https://github.com/Robbe95?ref=orpc" target="_blank" rel="noopener" title="Robbe Vaes"><img src="https://avatars.githubusercontent.com/u/44748019?u=e0232402c045ad4eac7cbd217f1f47e083103b89&v=4" width="119" alt="Robbe Vaes"/><br />Robbe Vaes</a></td>
|
|
128
|
-
<td align="center"><a href="https://github.com/aidansunbury?ref=orpc" target="_blank" rel="noopener" title="Aidan Sunbury"><img src="https://avatars.githubusercontent.com/u/64103161?v=4" width="119" alt="Aidan Sunbury"/><br />Aidan Sunbury</a></td>
|
|
129
|
-
<td align="center"><a href="https://github.com/soonoo?ref=orpc" target="_blank" rel="noopener" title="soonoo"><img src="https://avatars.githubusercontent.com/u/5436405?u=5d0b4aa955c87e30e6bda7f0cccae5402da99528&v=4" width="119" alt="soonoo"/><br />soonoo</a></td>
|
|
130
|
-
<td align="center"><a href="https://github.com/kporten?ref=orpc" target="_blank" rel="noopener" title="Kevin Porten"><img src="https://avatars.githubusercontent.com/u/1839345?u=dc2263d5cfe0d927ce1a0be04a1d55dd6b55405c&v=4" width="119" alt="Kevin Porten"/><br />Kevin Porten</a></td>
|
|
131
|
-
<td align="center"><a href="https://github.com/pumpkinlink?ref=orpc" target="_blank" rel="noopener" title="Denis"><img src="https://avatars.githubusercontent.com/u/11864620?u=5f47bbe6c65d0f6f5cf011021490238e4b0593d0&v=4" width="119" alt="Denis"/><br />Denis</a></td>
|
|
132
|
-
<td align="center"><a href="https://github.com/christopher-kapic?ref=orpc" target="_blank" rel="noopener" title="Christopher Kapic"><img src="https://avatars.githubusercontent.com/u/59740769?u=e7ad4b72b5bf6c9eb1644c26dbf3332a8f987377&v=4" width="119" alt="Christopher Kapic"/><br />Christopher Kapic</a></td>
|
|
128
|
+
<td align="center"><a href="https://github.com/rhinodavid?ref=orpc" target="_blank" rel="sponsored noopener" title="David Walsh"><img src="https://avatars.githubusercontent.com/u/5778036?u=b5521f07d2f88c3db2a0dae62b5f2f8357214af0&v=4" width="119" alt="David Walsh"/><br />David Walsh</a></td>
|
|
129
|
+
<td align="center"><a href="https://github.com/Robbe95?ref=orpc" target="_blank" rel="sponsored noopener" title="Robbe Vaes"><img src="https://avatars.githubusercontent.com/u/44748019?u=e0232402c045ad4eac7cbd217f1f47e083103b89&v=4" width="119" alt="Robbe Vaes"/><br />Robbe Vaes</a></td>
|
|
130
|
+
<td align="center"><a href="https://github.com/aidansunbury?ref=orpc" target="_blank" rel="sponsored noopener" title="Aidan Sunbury"><img src="https://avatars.githubusercontent.com/u/64103161?v=4" width="119" alt="Aidan Sunbury"/><br />Aidan Sunbury</a></td>
|
|
131
|
+
<td align="center"><a href="https://github.com/soonoo?ref=orpc" target="_blank" rel="sponsored noopener" title="soonoo"><img src="https://avatars.githubusercontent.com/u/5436405?u=5d0b4aa955c87e30e6bda7f0cccae5402da99528&v=4" width="119" alt="soonoo"/><br />soonoo</a></td>
|
|
132
|
+
<td align="center"><a href="https://github.com/kporten?ref=orpc" target="_blank" rel="sponsored noopener" title="Kevin Porten"><img src="https://avatars.githubusercontent.com/u/1839345?u=dc2263d5cfe0d927ce1a0be04a1d55dd6b55405c&v=4" width="119" alt="Kevin Porten"/><br />Kevin Porten</a></td>
|
|
133
|
+
<td align="center"><a href="https://github.com/pumpkinlink?ref=orpc" target="_blank" rel="sponsored noopener" title="Denis"><img src="https://avatars.githubusercontent.com/u/11864620?u=5f47bbe6c65d0f6f5cf011021490238e4b0593d0&v=4" width="119" alt="Denis"/><br />Denis</a></td>
|
|
134
|
+
<td align="center"><a href="https://github.com/christopher-kapic?ref=orpc" target="_blank" rel="sponsored noopener" title="Christopher Kapic"><img src="https://avatars.githubusercontent.com/u/59740769?u=e7ad4b72b5bf6c9eb1644c26dbf3332a8f987377&v=4" width="119" alt="Christopher Kapic"/><br />Christopher Kapic</a></td>
|
|
133
135
|
</tr>
|
|
134
136
|
<tr>
|
|
135
|
-
<td align="center"><a href="https://github.com/thomasballinger?ref=orpc" target="_blank" rel="noopener" title="Tom Ballinger"><img src="https://avatars.githubusercontent.com/u/458879?u=4b045ac75d721b6ac2b42a74d7d37f61f0414031&v=4" width="119" alt="Tom Ballinger"/><br />Tom Ballinger</a></td>
|
|
136
|
-
<td align="center"><a href="https://github.com/SSam0419?ref=orpc" target="_blank" rel="noopener" title="Sam"><img src="https://avatars.githubusercontent.com/u/102863520?u=3c89611f549d5070be232eb4532f690c8f2e7a65&v=4" width="119" alt="Sam"/><br />Sam</a></td>
|
|
137
|
-
<td align="center"><a href="https://github.com/Titoine?ref=orpc" target="_blank" rel="noopener" title="Titoine"><img src="https://avatars.githubusercontent.com/u/3514286?u=1bb1e86b0c99c8a1121372e56d51a177eea12191&v=4" width="119" alt="Titoine"/><br />Titoine</a></td>
|
|
138
|
-
<td align="center"><a href="https://github.com/Mnigos?ref=orpc" target="_blank" rel="noopener" title="Igor Makowski"><img src="https://avatars.githubusercontent.com/u/56691628?u=ee8c879478f7c151b9156aef6c74243fa3e247a8&v=4" width="119" alt="Igor Makowski"/><br />Igor Makowski</a></td>
|
|
139
|
-
<td align="center"><a href="https://github.com/hanayashiki?ref=orpc" target="_blank" rel="noopener" title="hanayashiki"><img src="https://avatars.githubusercontent.com/u/26056783?u=06c3b9205a16fd41a871e82da1cc2a09306d53f5&v=4" width="119" alt="hanayashiki"/><br />hanayashiki</a></td>
|
|
140
|
-
<td align="center"><a href="https://github.com/ldub?ref=orpc" target="_blank" rel="noopener" title="Lev Dubinets"><img src="https://avatars.githubusercontent.com/u/3114081?u=f547f5d5012cab54851f1b1ad72d10e537f78fc2&v=4" width="119" alt="Lev Dubinets"/><br />Lev Dubinets</a></td>
|
|
141
|
-
<td align="center"><a href="https://github.com/mr-kelly?ref=orpc" target="_blank" rel="noopener" title="Kelly Peilin Chan"><img src="https://avatars.githubusercontent.com/u/520852?u=6b0f7105f694e7b5cacf410a3f04c7044b469dc8&v=4" width="119" alt="Kelly Peilin Chan"/><br />Kelly Peilin Chan</a></td>
|
|
137
|
+
<td align="center"><a href="https://github.com/thomasballinger?ref=orpc" target="_blank" rel="sponsored noopener" title="Tom Ballinger"><img src="https://avatars.githubusercontent.com/u/458879?u=4b045ac75d721b6ac2b42a74d7d37f61f0414031&v=4" width="119" alt="Tom Ballinger"/><br />Tom Ballinger</a></td>
|
|
138
|
+
<td align="center"><a href="https://github.com/SSam0419?ref=orpc" target="_blank" rel="sponsored noopener" title="Sam"><img src="https://avatars.githubusercontent.com/u/102863520?u=3c89611f549d5070be232eb4532f690c8f2e7a65&v=4" width="119" alt="Sam"/><br />Sam</a></td>
|
|
139
|
+
<td align="center"><a href="https://github.com/Titoine?ref=orpc" target="_blank" rel="sponsored noopener" title="Titoine"><img src="https://avatars.githubusercontent.com/u/3514286?u=1bb1e86b0c99c8a1121372e56d51a177eea12191&v=4" width="119" alt="Titoine"/><br />Titoine</a></td>
|
|
140
|
+
<td align="center"><a href="https://github.com/Mnigos?ref=orpc" target="_blank" rel="sponsored noopener" title="Igor Makowski"><img src="https://avatars.githubusercontent.com/u/56691628?u=ee8c879478f7c151b9156aef6c74243fa3e247a8&v=4" width="119" alt="Igor Makowski"/><br />Igor Makowski</a></td>
|
|
141
|
+
<td align="center"><a href="https://github.com/hanayashiki?ref=orpc" target="_blank" rel="sponsored noopener" title="hanayashiki"><img src="https://avatars.githubusercontent.com/u/26056783?u=06c3b9205a16fd41a871e82da1cc2a09306d53f5&v=4" width="119" alt="hanayashiki"/><br />hanayashiki</a></td>
|
|
142
|
+
<td align="center"><a href="https://github.com/ldub?ref=orpc" target="_blank" rel="sponsored noopener" title="Lev Dubinets"><img src="https://avatars.githubusercontent.com/u/3114081?u=f547f5d5012cab54851f1b1ad72d10e537f78fc2&v=4" width="119" alt="Lev Dubinets"/><br />Lev Dubinets</a></td>
|
|
143
|
+
<td align="center"><a href="https://github.com/mr-kelly?ref=orpc" target="_blank" rel="sponsored noopener" title="Kelly Peilin Chan"><img src="https://avatars.githubusercontent.com/u/520852?u=6b0f7105f694e7b5cacf410a3f04c7044b469dc8&v=4" width="119" alt="Kelly Peilin Chan"/><br />Kelly Peilin Chan</a></td>
|
|
142
144
|
</tr>
|
|
143
145
|
<tr>
|
|
144
|
-
<td align="center"><a href="https://github.com/guyariely?ref=orpc" target="_blank" rel="noopener" title="Guy Ariely"><img src="https://avatars.githubusercontent.com/u/42813496?u=edb6b7f563bf28e160a290832e7da57c0506f8ca&v=4" width="119" alt="Guy Ariely"/><br />Guy Ariely</a></td>
|
|
145
|
-
<td align="center"><a href="https://github.com/piscis?ref=orpc" target="_blank" rel="noopener" title="Alex"><img src="https://avatars.githubusercontent.com/u/326163?u=b245f368bd940cf51d08c0b6bf55f8257f359437&v=4" width="119" alt="Alex"/><br />Alex</a></td>
|
|
146
|
-
<td align="center"><a href="https://github.com/finom?ref=orpc" target="_blank" rel="noopener" title="Andrey Gubanov"><img src="https://avatars.githubusercontent.com/u/1082083?u=c5f2daf7ebece498e85c83367bb37b4e10e2649d&v=4" width="119" alt="Andrey Gubanov"/><br />Andrey Gubanov</a></td>
|
|
146
|
+
<td align="center"><a href="https://github.com/guyariely?ref=orpc" target="_blank" rel="sponsored noopener" title="Guy Ariely"><img src="https://avatars.githubusercontent.com/u/42813496?u=edb6b7f563bf28e160a290832e7da57c0506f8ca&v=4" width="119" alt="Guy Ariely"/><br />Guy Ariely</a></td>
|
|
147
|
+
<td align="center"><a href="https://github.com/piscis?ref=orpc" target="_blank" rel="sponsored noopener" title="Alex"><img src="https://avatars.githubusercontent.com/u/326163?u=b245f368bd940cf51d08c0b6bf55f8257f359437&v=4" width="119" alt="Alex"/><br />Alex</a></td>
|
|
148
|
+
<td align="center"><a href="https://github.com/finom?ref=orpc" target="_blank" rel="sponsored noopener" title="Andrey Gubanov"><img src="https://avatars.githubusercontent.com/u/1082083?u=c5f2daf7ebece498e85c83367bb37b4e10e2649d&v=4" width="119" alt="Andrey Gubanov"/><br />Andrey Gubanov</a></td>
|
|
147
149
|
</tr>
|
|
148
150
|
</table>
|
|
149
151
|
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
<p>
|
|
153
|
-
<a href="https://github.com/MrMaxie?ref=orpc" target="_blank" rel="noopener" title="Maxie"><img src="https://avatars.githubusercontent.com/u/3857836?u=5e6b57973d4385d655663ffdd836e487856f2984&v=4" width="32" height="32" alt="Maxie" /></a>
|
|
154
|
-
<a href="https://github.com/Stijn-Timmer?ref=orpc" target="_blank" rel="noopener" title="Stijn Timmer"><img src="https://avatars.githubusercontent.com/u/100147665?u=106b2c18e9c98a61861b4ee7fc100f5b9906a6c9&v=4" width="32" height="32" alt="Stijn Timmer" /></a>
|
|
155
|
-
<a href="https://github.com/u1-liquid?ref=orpc" target="_blank" rel="noopener" title="あわわわとーにゅ"><img src="https://avatars.githubusercontent.com/u/17376330?u=de3353804be889f009f7e0a1582daf04d0ab292d&v=4" width="32" height="32" alt="あわわわとーにゅ" /></a>
|
|
156
|
-
<a href="https://github.com/zuplo?ref=orpc" target="_blank" rel="noopener" title="Zuplo"><img src="https://avatars.githubusercontent.com/u/85497839?v=4" width="32" height="32" alt="Zuplo" /></a>
|
|
157
|
-
<a href="https://github.com/motopods?ref=orpc" target="_blank" rel="noopener" title="motopods"><img src="https://avatars.githubusercontent.com/u/58200641?v=4" width="32" height="32" alt="motopods" /></a>
|
|
158
|
-
<a href="https://github.com/franciscohermida?ref=orpc" target="_blank" rel="noopener" title="Francisco Hermida"><img src="https://avatars.githubusercontent.com/u/483242?u=bbcbc80eb9d8781ff401f7dafc3b59cd7bea0561&v=4" width="32" height="32" alt="Francisco Hermida" /></a>
|
|
159
|
-
<a href="https://github.com/theoludwig?ref=orpc" target="_blank" rel="noopener" title="Théo LUDWIG"><img src="https://avatars.githubusercontent.com/u/25207499?u=a6a9653725a2f574c07893748806668e0598cdbe&v=4" width="32" height="32" alt="Théo LUDWIG" /></a>
|
|
160
|
-
<a href="https://github.com/abhay-ramesh?ref=orpc" target="_blank" rel="noopener" title="Abhay Ramesh"><img src="https://avatars.githubusercontent.com/u/66196314?u=c5c2b0327b26606c2efcfaf17046ab18c3d25c57&v=4" width="32" height="32" alt="Abhay Ramesh" /></a>
|
|
161
|
-
<a href="https://github.com/shr-ink?ref=orpc" target="_blank" rel="noopener" title="shr.ink oü"><img src="https://avatars.githubusercontent.com/u/139700438?v=4" width="32" height="32" alt="shr.ink oü" /></a>
|
|
162
|
-
<a href="https://github.com/johngerome?ref=orpc" target="_blank" rel="noopener" title="0x4e32"><img src="https://avatars.githubusercontent.com/u/2002000?u=505e54608466ab53754f702973687b04c6424c1f&v=4" width="32" height="32" alt="0x4e32" /></a>
|
|
163
|
-
<a href="https://github.com/yzuyr?ref=orpc" target="_blank" rel="noopener" title="Ryuz"><img src="https://avatars.githubusercontent.com/u/196539378?u=d38374588d219b6748b16406982f6559411466d4&v=4" width="32" height="32" alt="Ryuz" /></a>
|
|
164
|
-
<a href="https://github.com/happyboy2022?ref=orpc" target="_blank" rel="noopener" title="happyboy"><img src="https://avatars.githubusercontent.com/u/103669586?u=65b49c4b893ed3703909fbb3a7a22313f3f9c121&v=4" width="32" height="32" alt="happyboy" /></a>
|
|
165
|
-
<a href="https://github.com/YiCChi?ref=orpc" target="_blank" rel="noopener" title="yicchi"><img src="https://avatars.githubusercontent.com/u/86967274?u=6c2756f09fe15dd94d572f560e979cd157982852&v=4" width="32" height="32" alt="yicchi" /></a>
|
|
166
|
-
<a href="https://github.com/cloudycotton?ref=orpc" target="_blank" rel="noopener" title="Saksham"><img src="https://avatars.githubusercontent.com/u/168998965?u=9b9634a5aed66a51c1b880663272725b00b92b14&v=4" width="32" height="32" alt="Saksham" /></a>
|
|
167
|
-
<a href="https://github.com/hrynevychroman?ref=orpc" target="_blank" rel="noopener" title="Roman Hrynevych"><img src="https://avatars.githubusercontent.com/u/82209198?u=1a1d111ab3d589855b9cc8a7fefb1b5c6a4fbbaf&v=4" width="32" height="32" alt="Roman Hrynevych" /></a>
|
|
168
|
-
<a href="https://github.com/rokitgg?ref=orpc" target="_blank" rel="noopener" title="rokitg"><img src="https://avatars.githubusercontent.com/u/125133357?u=06c74aefaa2236b06a2e5fba5a5c612339f45912&v=4" width="32" height="32" alt="rokitg" /></a>
|
|
169
|
-
<a href="https://github.com/omarkhatibgg?ref=orpc" target="_blank" rel="noopener" title="Omar Khatib"><img src="https://avatars.githubusercontent.com/u/9054278?u=afbba7331b85c51b8eee4130f5fd31b1017dc919&v=4" width="32" height="32" alt="Omar Khatib" /></a>
|
|
170
|
-
<a href="https://github.com/YuSabo90002?ref=orpc" target="_blank" rel="noopener" title="Yu-Sabo"><img src="https://avatars.githubusercontent.com/u/13120582?v=4" width="32" height="32" alt="Yu-Sabo" /></a>
|
|
171
|
-
<a href="https://github.com/bapspatil?ref=orpc" target="_blank" rel="noopener" title="Bapusaheb Patil"><img src="https://avatars.githubusercontent.com/u/16699418?u=6d9d8e0a64a6f91ca1c4d559c72d931172bdcbbd&v=4" width="32" height="32" alt="Bapusaheb Patil" /></a>
|
|
172
|
-
<a href="https://github.com/ripgrim?ref=orpc" target="_blank" rel="noopener" title="grim"><img src="https://avatars.githubusercontent.com/u/75869731?u=b17c42ec2309552fdb822a86b25a2f99146a4d72&v=4" width="32" height="32" alt="grim" /></a>
|
|
173
|
-
<a href="https://github.com/nelsonlaidev?ref=orpc" target="_blank" rel="noopener" title="Nelson Lai"><img src="https://avatars.githubusercontent.com/u/75498339?u=2fc0e0b95dd184c5ffb744df977cb15a18b60672&v=4" width="32" height="32" alt="Nelson Lai" /></a>
|
|
174
|
-
<a href="https://github.com/nguyenlc1993?ref=orpc" target="_blank" rel="noopener" title="Lê Cao Nguyên"><img src="https://avatars.githubusercontent.com/u/13871971?u=83c8b69d9e35b589c4e1f066cc113b1d9461386f&v=4" width="32" height="32" alt="Lê Cao Nguyên" /></a>
|
|
175
|
-
<a href="https://github.com/wobsoriano?ref=orpc" target="_blank" rel="noopener" title="Robert Soriano"><img src="https://avatars.githubusercontent.com/u/13049130?u=6d72104182e7c9ed25934815313fb69107332111&v=4" width="32" height="32" alt="Robert Soriano" /></a>
|
|
176
|
-
<a href="https://github.com/andrewpeters9?ref=orpc" target="_blank" rel="noopener" title="Andrew Peters"><img src="https://avatars.githubusercontent.com/u/36251325?v=4" width="32" height="32" alt="Andrew Peters" /></a>
|
|
177
|
-
<a href="https://github.com/R44VC0RP?ref=orpc" target="_blank" rel="noopener" title="Ryan Vogel"><img src="https://avatars.githubusercontent.com/u/89211796?u=1857347b9787d8d8a7ea5bfc333f96be92d5a683&v=4" width="32" height="32" alt="Ryan Vogel" /></a>
|
|
178
|
-
<a href="https://github.com/SKostyukovich?ref=orpc" target="_blank" rel="noopener" title="SKostyukovich"><img src="https://avatars.githubusercontent.com/u/10700067?v=4" width="32" height="32" alt="SKostyukovich" /></a>
|
|
179
|
-
<a href="https://github.com/peter-adam-dy?ref=orpc" target="_blank" rel="noopener" title="Peter Adam"><img src="https://avatars.githubusercontent.com/u/132129459?u=4f3dbbb3b443990b56acb7d6a5d11ed2c555f6db&v=4" width="32" height="32" alt="Peter Adam" /></a>
|
|
180
|
-
<a href="https://github.com/FabworksHQ?ref=orpc" target="_blank" rel="noopener" title="Fabworks"><img src="https://avatars.githubusercontent.com/u/160179500?v=4" width="32" height="32" alt="Fabworks" /></a>
|
|
181
|
-
<a href="https://github.com/NovakAnton?ref=orpc" target="_blank" rel="noopener" title="Novak Antonijevic"><img src="https://avatars.githubusercontent.com/u/157126729?u=ae49fa22292d55c0434ff0ca008206155b18663b&v=4" width="32" height="32" alt="Novak Antonijevic" /></a>
|
|
182
|
-
<a href="https://github.com/laduniestu?ref=orpc" target="_blank" rel="noopener" title="Laduni Estu Syalwa"><img src="https://avatars.githubusercontent.com/u/44757637?u=a2fc1ea8f7d827a96721176f79d30592d1c48059&v=4" width="32" height="32" alt="Laduni Estu Syalwa" /></a>
|
|
183
|
-
<a href="https://github.com/yukimotochern?ref=orpc" target="_blank" rel="noopener" title="Chen, Zhi-Yuan"><img src="https://avatars.githubusercontent.com/u/20896173?u=945c33fc21725e4d566a0d02afc54b136ca1d67a&v=4" width="32" height="32" alt="Chen, Zhi-Yuan" /></a>
|
|
184
|
-
<a href="https://github.com/illarionvk?ref=orpc" target="_blank" rel="noopener" title="Illarion Koperski"><img src="https://avatars.githubusercontent.com/u/5012724?u=7cfa13652f7ac5fb3c56d880e3eb3fbe40c3ea34&v=4" width="32" height="32" alt="Illarion Koperski" /></a>
|
|
185
|
-
<a href="https://github.com/steelbrain?ref=orpc" target="_blank" rel="noopener" title="Anees Iqbal"><img src="https://avatars.githubusercontent.com/u/4278113?u=22b80b5399eed68ac76cd58b02961b0481f1db11&v=4" width="32" height="32" alt="Anees Iqbal" /></a>
|
|
186
|
-
<a href="https://github.com/Scrumplex?ref=orpc" target="_blank" rel="noopener" title="Sefa Eyeoglu"><img src="https://avatars.githubusercontent.com/u/11587657?u=ab503582165c0bbff0cca47ce31c9450bb1553c9&v=4" width="32" height="32" alt="Sefa Eyeoglu" /></a>
|
|
187
|
-
<a href="https://github.com/nattstack?ref=orpc" target="_blank" rel="noopener" title="natt"><img src="https://avatars.githubusercontent.com/u/31426677?u=fa9dbb8b3e66eb0ea3c88db5dc07f31c8c5418fe&v=4" width="32" height="32" alt="natt" /></a>
|
|
188
|
-
<a href="https://github.com/ChromeGG?ref=orpc" target="_blank" rel="noopener" title="Adam Tkaczyk"><img src="https://avatars.githubusercontent.com/u/39050595?u=a58ca6042a6950e94e6e92442db76ef584279bc0&v=4" width="32" height="32" alt="Adam Tkaczyk" /></a>
|
|
189
|
-
<a href="https://github.com/plancraft?ref=orpc" target="_blank" rel="noopener" title="plancraft"><img src="https://avatars.githubusercontent.com/u/46482287?v=4" width="32" height="32" alt="plancraft" /></a>
|
|
190
|
-
<a href="https://github.com/Nic13Gamer?ref=orpc" target="_blank" rel="noopener" title="Nicholas"><img src="https://avatars.githubusercontent.com/u/54724556?u=56a7ab430ce7a80d648ab6eba051d454a818ed0b&v=4" width="32" height="32" alt="Nicholas" /></a>
|
|
191
|
-
</p>
|
|
152
|
+
With thanks to 37 past sponsors who helped get oRPC here.
|
|
192
153
|
|
|
193
154
|
## References
|
|
194
155
|
|
|
@@ -6,7 +6,7 @@ import { ClientContext } from '@orpc/client';
|
|
|
6
6
|
import { FetchLinkTransportOptions } from '@orpc/client/fetch';
|
|
7
7
|
import { StandardLink, StandardLinkOptions } from '@orpc/client/standard';
|
|
8
8
|
import { RouterContract } from '@orpc/contract';
|
|
9
|
-
import { O as OpenAPILinkCodecOptions } from '../../shared/openapi.
|
|
9
|
+
import { O as OpenAPILinkCodecOptions } from '../../shared/openapi.Bd9icEUa.mjs';
|
|
10
10
|
import '@orpc/shared';
|
|
11
11
|
import '@standardserver/core';
|
|
12
12
|
import '../../shared/openapi.Dz-JaXHo.mjs';
|
|
@@ -6,7 +6,7 @@ import { ClientContext } from '@orpc/client';
|
|
|
6
6
|
import { FetchLinkTransportOptions } from '@orpc/client/fetch';
|
|
7
7
|
import { StandardLink, StandardLinkOptions } from '@orpc/client/standard';
|
|
8
8
|
import { RouterContract } from '@orpc/contract';
|
|
9
|
-
import { O as OpenAPILinkCodecOptions } from '../../shared/openapi.
|
|
9
|
+
import { O as OpenAPILinkCodecOptions } from '../../shared/openapi.D1CqEIRy.js';
|
|
10
10
|
import '@orpc/shared';
|
|
11
11
|
import '@standardserver/core';
|
|
12
12
|
import '../../shared/openapi.Dz-JaXHo.js';
|
|
@@ -3,7 +3,7 @@ import { StandardHandler } from '@orpc/server/standard';
|
|
|
3
3
|
import { O as OpenAPIHandlerCodec } from '../../shared/openapi.BaqI61Xi.mjs';
|
|
4
4
|
import { FetchLinkTransport } from '@orpc/client/fetch';
|
|
5
5
|
import { StandardLink } from '@orpc/client/standard';
|
|
6
|
-
import { O as OpenAPILinkCodec } from '../../shared/openapi.
|
|
6
|
+
import { O as OpenAPILinkCodec } from '../../shared/openapi.BlHXe8vI.mjs';
|
|
7
7
|
import '@orpc/client';
|
|
8
8
|
import '@orpc/server';
|
|
9
9
|
import '@orpc/shared';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export { a as OpenAPIHandlerCodec, b as OpenAPIHandlerCodecCore, c as OpenAPIHandlerCodecCoreOptions, O as OpenAPIHandlerCodecOptions, d as OpenAPIMatcher, e as OpenAPIMatcherOptions } from '../../shared/openapi.9smDzQwj.mjs';
|
|
2
|
-
export { a as OpenAPILinkCodec,
|
|
2
|
+
export { a as OpenAPILinkCodec, O as OpenAPILinkCodecOptions } from '../../shared/openapi.Bd9icEUa.mjs';
|
|
3
3
|
import { StandardHeaders } from '@standardserver/core';
|
|
4
4
|
import { O as OpenAPISerializer } from '../../shared/openapi.Dz-JaXHo.mjs';
|
|
5
5
|
import '@orpc/client';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export { a as OpenAPIHandlerCodec, b as OpenAPIHandlerCodecCore, c as OpenAPIHandlerCodecCoreOptions, O as OpenAPIHandlerCodecOptions, d as OpenAPIMatcher, e as OpenAPIMatcherOptions } from '../../shared/openapi.YCiBHaJ-.js';
|
|
2
|
-
export { a as OpenAPILinkCodec,
|
|
2
|
+
export { a as OpenAPILinkCodec, O as OpenAPILinkCodecOptions } from '../../shared/openapi.D1CqEIRy.js';
|
|
3
3
|
import { StandardHeaders } from '@standardserver/core';
|
|
4
4
|
import { O as OpenAPISerializer } from '../../shared/openapi.Dz-JaXHo.js';
|
|
5
5
|
import '@orpc/client';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export { O as OpenAPIHandlerCodec, a as OpenAPIHandlerCodecCore, b as OpenAPIMatcher, s as serializeHeaders } from '../../shared/openapi.BaqI61Xi.mjs';
|
|
2
|
-
export { O as OpenAPILinkCodec
|
|
2
|
+
export { O as OpenAPILinkCodec } from '../../shared/openapi.BlHXe8vI.mjs';
|
|
3
3
|
import '@orpc/client';
|
|
4
4
|
import '@orpc/server';
|
|
5
5
|
import '@orpc/shared';
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { AnyORPCError } from '@orpc/client';
|
|
2
2
|
import { ErrorMap, AnySchema } from '@orpc/contract';
|
|
3
3
|
import { Context } from '@orpc/server';
|
|
4
|
-
import { O as OpenAPIMeta } from '../shared/openapi.
|
|
4
|
+
import { O as OpenAPIMeta } from '../shared/openapi.Drcd0PuL.mjs';
|
|
5
5
|
import '@orpc/shared';
|
|
6
6
|
import '@standardserver/core';
|
|
7
|
-
import '../shared/openapi.
|
|
7
|
+
import '../shared/openapi.DfTTLtn5.mjs';
|
|
8
8
|
import '@hey-api/spec-types';
|
|
9
9
|
|
|
10
10
|
declare module '@orpc/contract' {
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { AnyORPCError } from '@orpc/client';
|
|
2
2
|
import { ErrorMap, AnySchema } from '@orpc/contract';
|
|
3
3
|
import { Context } from '@orpc/server';
|
|
4
|
-
import { O as OpenAPIMeta } from '../shared/openapi.
|
|
4
|
+
import { O as OpenAPIMeta } from '../shared/openapi.DTYZZ6Ph.js';
|
|
5
5
|
import '@orpc/shared';
|
|
6
6
|
import '@standardserver/core';
|
|
7
|
-
import '../shared/openapi.
|
|
7
|
+
import '../shared/openapi.DfTTLtn5.js';
|
|
8
8
|
import '@hey-api/spec-types';
|
|
9
9
|
|
|
10
10
|
declare module '@orpc/contract' {
|
package/dist/index.d.mts
CHANGED
|
@@ -3,9 +3,9 @@ export { B as BracketNotationSerializeResult, a as BracketNotationSerializer, b
|
|
|
3
3
|
import { ClientContext, ORPCClientOptions, ClientLink } from '@orpc/client';
|
|
4
4
|
export { COMMON_ERROR_STATUS_MAP } from '@orpc/client';
|
|
5
5
|
import { RouterContract, RouterContractClient, AnyProcedureContract, ProcedureContract } from '@orpc/contract';
|
|
6
|
-
import { J as JsonifiedClient, O as OpenAPIDocument } from './shared/openapi.
|
|
7
|
-
export { a as JsonifiedArray, b as JsonifiedClientError, c as JsonifiedValue, d as OpenAPIOperationObject } from './shared/openapi.
|
|
8
|
-
export { a as OpenAPIFunction, O as OpenAPIMeta, b as OpenAPIMetaPlugin, c as OpenAPIMethodMetaPlugin, d as OpenAPIPathMetaPlugin, e as OpenAPIPrefixMetaPlugin, f as OpenAPISpecMetaPlugin, g as getOpenAPIMeta, o as openapi } from './shared/openapi.
|
|
6
|
+
import { J as JsonifiedClient, O as OpenAPIDocument } from './shared/openapi.DfTTLtn5.mjs';
|
|
7
|
+
export { a as JsonifiedArray, b as JsonifiedClientError, c as JsonifiedValue, d as OpenAPIOperationObject } from './shared/openapi.DfTTLtn5.mjs';
|
|
8
|
+
export { a as OpenAPIFunction, O as OpenAPIMeta, b as OpenAPIMetaPlugin, c as OpenAPIMethodMetaPlugin, d as OpenAPIPathMetaPlugin, e as OpenAPIPrefixMetaPlugin, f as OpenAPISpecMetaPlugin, g as getOpenAPIMeta, o as openapi } from './shared/openapi.Drcd0PuL.mjs';
|
|
9
9
|
import { JsonSchema, JsonSchemaConverter } from '@orpc/json-schema';
|
|
10
10
|
import { AnyRouter, AnyProcedure } from '@orpc/server';
|
|
11
11
|
import { Value } from '@orpc/shared';
|
|
@@ -100,7 +100,7 @@ interface OpenAPIGeneratorGenerateOptions {
|
|
|
100
100
|
errorStatusMap?: Record<string, number> | undefined;
|
|
101
101
|
}
|
|
102
102
|
/**
|
|
103
|
-
* Generates an OpenAPI
|
|
103
|
+
* Generates an OpenAPI document from a contract or router.
|
|
104
104
|
* Relies on JSON schema converters to translate input, output, and error schemas into JSON Schemas.
|
|
105
105
|
*
|
|
106
106
|
* @see {@link https://orpc.dev/docs/openapi/specification#openapi-generator | OpenAPI Specification - OpenAPI Generator}
|
package/dist/index.d.ts
CHANGED
|
@@ -3,9 +3,9 @@ export { B as BracketNotationSerializeResult, a as BracketNotationSerializer, b
|
|
|
3
3
|
import { ClientContext, ORPCClientOptions, ClientLink } from '@orpc/client';
|
|
4
4
|
export { COMMON_ERROR_STATUS_MAP } from '@orpc/client';
|
|
5
5
|
import { RouterContract, RouterContractClient, AnyProcedureContract, ProcedureContract } from '@orpc/contract';
|
|
6
|
-
import { J as JsonifiedClient, O as OpenAPIDocument } from './shared/openapi.
|
|
7
|
-
export { a as JsonifiedArray, b as JsonifiedClientError, c as JsonifiedValue, d as OpenAPIOperationObject } from './shared/openapi.
|
|
8
|
-
export { a as OpenAPIFunction, O as OpenAPIMeta, b as OpenAPIMetaPlugin, c as OpenAPIMethodMetaPlugin, d as OpenAPIPathMetaPlugin, e as OpenAPIPrefixMetaPlugin, f as OpenAPISpecMetaPlugin, g as getOpenAPIMeta, o as openapi } from './shared/openapi.
|
|
6
|
+
import { J as JsonifiedClient, O as OpenAPIDocument } from './shared/openapi.DfTTLtn5.js';
|
|
7
|
+
export { a as JsonifiedArray, b as JsonifiedClientError, c as JsonifiedValue, d as OpenAPIOperationObject } from './shared/openapi.DfTTLtn5.js';
|
|
8
|
+
export { a as OpenAPIFunction, O as OpenAPIMeta, b as OpenAPIMetaPlugin, c as OpenAPIMethodMetaPlugin, d as OpenAPIPathMetaPlugin, e as OpenAPIPrefixMetaPlugin, f as OpenAPISpecMetaPlugin, g as getOpenAPIMeta, o as openapi } from './shared/openapi.DTYZZ6Ph.js';
|
|
9
9
|
import { JsonSchema, JsonSchemaConverter } from '@orpc/json-schema';
|
|
10
10
|
import { AnyRouter, AnyProcedure } from '@orpc/server';
|
|
11
11
|
import { Value } from '@orpc/shared';
|
|
@@ -100,7 +100,7 @@ interface OpenAPIGeneratorGenerateOptions {
|
|
|
100
100
|
errorStatusMap?: Record<string, number> | undefined;
|
|
101
101
|
}
|
|
102
102
|
/**
|
|
103
|
-
* Generates an OpenAPI
|
|
103
|
+
* Generates an OpenAPI document from a contract or router.
|
|
104
104
|
* Relies on JSON schema converters to translate input, output, and error schemas into JSON Schemas.
|
|
105
105
|
*
|
|
106
106
|
* @see {@link https://orpc.dev/docs/openapi/specification#openapi-generator | OpenAPI Specification - OpenAPI Generator}
|
package/dist/index.mjs
CHANGED
|
@@ -762,6 +762,11 @@ class OpenAPIGenerator {
|
|
|
762
762
|
const def = contract["~orpc"];
|
|
763
763
|
const meta = getOpenAPIMeta(contract);
|
|
764
764
|
const method = (meta?.method ?? DEFAULT_OPENAPI_METHOD).toLowerCase();
|
|
765
|
+
if (method === "query" && doc.openapi !== "3.2.0") {
|
|
766
|
+
throw new OpenAPIGeneratorError(
|
|
767
|
+
`QUERY operations require OpenAPI 3.2. Set base.openapi to '3.2.0'.`
|
|
768
|
+
);
|
|
769
|
+
}
|
|
765
770
|
const postPath = meta?.path ?? pathToHttpPath(path);
|
|
766
771
|
const httpPath = meta?.prefix ? mergeHttpPath(meta.prefix, postPath) : postPath;
|
|
767
772
|
const dynamicPathParams = getDynamicPathParams(httpPath);
|
package/dist/plugins/index.d.mts
CHANGED
|
@@ -4,7 +4,7 @@ import { Value, Promisable } from '@orpc/shared';
|
|
|
4
4
|
import { ApiReferenceConfiguration } from '@scalar/api-reference';
|
|
5
5
|
import { StandardUrl } from '@standardserver/core';
|
|
6
6
|
import { SwaggerUIOptions } from 'swagger-ui';
|
|
7
|
-
import { O as OpenAPIDocument } from '../shared/openapi.
|
|
7
|
+
import { O as OpenAPIDocument } from '../shared/openapi.DfTTLtn5.mjs';
|
|
8
8
|
import '@hey-api/spec-types';
|
|
9
9
|
import '@orpc/client';
|
|
10
10
|
|
package/dist/plugins/index.d.ts
CHANGED
|
@@ -4,7 +4,7 @@ import { Value, Promisable } from '@orpc/shared';
|
|
|
4
4
|
import { ApiReferenceConfiguration } from '@scalar/api-reference';
|
|
5
5
|
import { StandardUrl } from '@standardserver/core';
|
|
6
6
|
import { SwaggerUIOptions } from 'swagger-ui';
|
|
7
|
-
import { O as OpenAPIDocument } from '../shared/openapi.
|
|
7
|
+
import { O as OpenAPIDocument } from '../shared/openapi.DfTTLtn5.js';
|
|
8
8
|
import '@hey-api/spec-types';
|
|
9
9
|
import '@orpc/client';
|
|
10
10
|
|
|
@@ -5,8 +5,6 @@ import { Value, Promisable } from '@orpc/shared';
|
|
|
5
5
|
import { StandardUrl, StandardHeaders, StandardLazyResponse, StandardRequest } from '@standardserver/core';
|
|
6
6
|
import { O as OpenAPISerializer } from './openapi.Dz-JaXHo.mjs';
|
|
7
7
|
|
|
8
|
-
declare class OpenAPILinkCodecError extends TypeError {
|
|
9
|
-
}
|
|
10
8
|
interface OpenAPILinkCodecOptions<T extends ClientContext> {
|
|
11
9
|
/**
|
|
12
10
|
* Base URL for all requests, without origin. Should match the OpenAPI handler mount path.
|
|
@@ -43,5 +41,5 @@ declare class OpenAPILinkCodec<T extends ClientContext> implements StandardLinkC
|
|
|
43
41
|
private resolveProcedure;
|
|
44
42
|
}
|
|
45
43
|
|
|
46
|
-
export { OpenAPILinkCodec as a
|
|
44
|
+
export { OpenAPILinkCodec as a };
|
|
47
45
|
export type { OpenAPILinkCodecOptions as O };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { isORPCErrorJson, createORPCErrorFromJson
|
|
1
|
+
import { createORPCErrorFromMalformedResponse, isORPCErrorJson, createORPCErrorFromJson } from '@orpc/client';
|
|
2
2
|
import { getRouterContract, ProcedureContract } from '@orpc/contract';
|
|
3
3
|
import { unlazy } from '@orpc/server';
|
|
4
4
|
import { value, pathToHttpPath, mergeHttpPath, isTypescriptObject, stringifyJSON } from '@orpc/shared';
|
|
@@ -8,8 +8,6 @@ import { O as OpenAPISerializer, D as DEFAULT_OPENAPI_METHOD, a as DEFAULT_OPENA
|
|
|
8
8
|
import { g as getOpenAPIMeta } from './openapi.B9PQzqBn.mjs';
|
|
9
9
|
import { s as serializeHeaders } from './openapi.BaqI61Xi.mjs';
|
|
10
10
|
|
|
11
|
-
class OpenAPILinkCodecError extends TypeError {
|
|
12
|
-
}
|
|
13
11
|
const END_SLASH_REGEX = /\/$/;
|
|
14
12
|
class OpenAPILinkCodec {
|
|
15
13
|
constructor(router, options = {}) {
|
|
@@ -43,7 +41,7 @@ class OpenAPILinkCodec {
|
|
|
43
41
|
let data = input;
|
|
44
42
|
if (dynamicParams?.length) {
|
|
45
43
|
if (!isTypescriptObject(input)) {
|
|
46
|
-
throw new
|
|
44
|
+
throw new TypeError(
|
|
47
45
|
`Input must be an object with "compact" input structure when the path has dynamic params (${dynamicParams.map((p) => p.parameterName).join(", ")}) in call to procedure (${path.join(".")}).`
|
|
48
46
|
);
|
|
49
47
|
}
|
|
@@ -79,7 +77,7 @@ class OpenAPILinkCodec {
|
|
|
79
77
|
};
|
|
80
78
|
}
|
|
81
79
|
if (!isValidDetailedInput(input)) {
|
|
82
|
-
throw new
|
|
80
|
+
throw new TypeError(`
|
|
83
81
|
Invalid "detailed" input structure in call to procedure (${path.join(".")}):
|
|
84
82
|
\u2022 Expected an object or undefined with optional properties:
|
|
85
83
|
- params (object, required when the path has dynamic params)
|
|
@@ -93,7 +91,7 @@ class OpenAPILinkCodec {
|
|
|
93
91
|
}
|
|
94
92
|
if (dynamicParams?.length) {
|
|
95
93
|
if (!input?.params) {
|
|
96
|
-
throw new
|
|
94
|
+
throw new TypeError(
|
|
97
95
|
`The "params" property is required for "detailed" input when the path has dynamic params (${dynamicParams.map((p) => p.parameterName).join(", ")}) in call to procedure (${path.join(".")}).`
|
|
98
96
|
);
|
|
99
97
|
}
|
|
@@ -145,7 +143,7 @@ class OpenAPILinkCodec {
|
|
|
145
143
|
}
|
|
146
144
|
}
|
|
147
145
|
if (!encoded) {
|
|
148
|
-
throw new
|
|
146
|
+
throw new TypeError(`Path param "${param.parameterName}" cannot be empty in call to procedure (${path.join(".")}).`);
|
|
149
147
|
}
|
|
150
148
|
return encoded;
|
|
151
149
|
}
|
|
@@ -247,19 +245,14 @@ class OpenAPILinkCodec {
|
|
|
247
245
|
const isOk = response.status < 400;
|
|
248
246
|
const procedure = await this.resolveProcedure(path);
|
|
249
247
|
const meta = getOpenAPIMeta(procedure);
|
|
248
|
+
const body = await response.resolveBody(meta?.responseBodyHint);
|
|
250
249
|
const deserialized = await (async () => {
|
|
251
|
-
let isBodyOk = false;
|
|
252
250
|
try {
|
|
253
|
-
const body = await response.resolveBody(meta?.responseBodyHint);
|
|
254
|
-
isBodyOk = true;
|
|
255
251
|
return this.serializer.deserialize(body);
|
|
256
252
|
} catch (error) {
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
});
|
|
261
|
-
}
|
|
262
|
-
throw new Error("Invalid OpenAPI response format.", {
|
|
253
|
+
throw createORPCErrorFromMalformedResponse({
|
|
254
|
+
message: "Invalid OpenAPI response format.",
|
|
255
|
+
response: { status: response.status, headers: response.headers, body },
|
|
263
256
|
cause: error
|
|
264
257
|
});
|
|
265
258
|
}
|
|
@@ -274,9 +267,7 @@ class OpenAPILinkCodec {
|
|
|
274
267
|
}
|
|
275
268
|
return {
|
|
276
269
|
kind: "error",
|
|
277
|
-
error:
|
|
278
|
-
data: { headers: response.headers, status: response.status, body: deserialized }
|
|
279
|
-
})
|
|
270
|
+
error: createORPCErrorFromMalformedResponse({ response: { headers: response.headers, status: response.status, body } })
|
|
280
271
|
};
|
|
281
272
|
}
|
|
282
273
|
const outputStructure = meta?.outputStructure ?? DEFAULT_OPENAPI_OUTPUT_STRUCTURE;
|
|
@@ -292,7 +283,7 @@ class OpenAPILinkCodec {
|
|
|
292
283
|
async resolveProcedure(path) {
|
|
293
284
|
const { default: maybeProcedure } = await unlazy(getRouterContract(this.router, path));
|
|
294
285
|
if (!(maybeProcedure instanceof ProcedureContract)) {
|
|
295
|
-
throw new
|
|
286
|
+
throw new TypeError(`Expected a procedure or contract at path (${path.join(".")})`);
|
|
296
287
|
}
|
|
297
288
|
return maybeProcedure;
|
|
298
289
|
}
|
|
@@ -357,4 +348,4 @@ function encodeDelimitedObject(entries, encodedDelimiter) {
|
|
|
357
348
|
).join(encodedDelimiter);
|
|
358
349
|
}
|
|
359
350
|
|
|
360
|
-
export { OpenAPILinkCodec as O
|
|
351
|
+
export { OpenAPILinkCodec as O };
|
|
@@ -5,8 +5,6 @@ import { Value, Promisable } from '@orpc/shared';
|
|
|
5
5
|
import { StandardUrl, StandardHeaders, StandardLazyResponse, StandardRequest } from '@standardserver/core';
|
|
6
6
|
import { O as OpenAPISerializer } from './openapi.Dz-JaXHo.js';
|
|
7
7
|
|
|
8
|
-
declare class OpenAPILinkCodecError extends TypeError {
|
|
9
|
-
}
|
|
10
8
|
interface OpenAPILinkCodecOptions<T extends ClientContext> {
|
|
11
9
|
/**
|
|
12
10
|
* Base URL for all requests, without origin. Should match the OpenAPI handler mount path.
|
|
@@ -43,5 +41,5 @@ declare class OpenAPILinkCodec<T extends ClientContext> implements StandardLinkC
|
|
|
43
41
|
private resolveProcedure;
|
|
44
42
|
}
|
|
45
43
|
|
|
46
|
-
export { OpenAPILinkCodec as a
|
|
44
|
+
export { OpenAPILinkCodec as a };
|
|
47
45
|
export type { OpenAPILinkCodecOptions as O };
|
|
@@ -2,7 +2,7 @@ import { AnySchema, ErrorMap, MetaPlugin, AnyProcedureContract } from '@orpc/con
|
|
|
2
2
|
import { Lazy } from '@orpc/server';
|
|
3
3
|
import { Value } from '@orpc/shared';
|
|
4
4
|
import { StandardBodyHint } from '@standardserver/core';
|
|
5
|
-
import { d as OpenAPIOperationObject } from './openapi.
|
|
5
|
+
import { d as OpenAPIOperationObject } from './openapi.DfTTLtn5.js';
|
|
6
6
|
|
|
7
7
|
interface OpenAPIMeta {
|
|
8
8
|
/**
|
|
@@ -10,7 +10,7 @@ interface OpenAPIMeta {
|
|
|
10
10
|
*
|
|
11
11
|
* @default 'POST'
|
|
12
12
|
*/
|
|
13
|
-
method?: 'HEAD' | 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH' | undefined;
|
|
13
|
+
method?: 'HEAD' | 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH' | 'QUERY' | undefined;
|
|
14
14
|
/**
|
|
15
15
|
* URL path for this procedure. Supports dynamic parameters via `{param}` syntax,
|
|
16
16
|
* and `{+param}` to allow slashes in the matched value.
|
|
@@ -1,11 +1,23 @@
|
|
|
1
1
|
import { OpenAPIV3_1 } from '@hey-api/spec-types';
|
|
2
2
|
import { AnyNestedClient, Client, ORPCError } from '@orpc/client';
|
|
3
|
+
import { AsyncIteratorClass } from '@orpc/shared';
|
|
3
4
|
|
|
4
|
-
type OpenAPIDocument = OpenAPIV3_1.Document;
|
|
5
5
|
type OpenAPIOperationObject = OpenAPIV3_1.OperationObject;
|
|
6
|
+
/**
|
|
7
|
+
* An OpenAPI 3.1 document with the OpenAPI 3.2 QUERY additions used by oRPC.
|
|
8
|
+
* This type does not claim support for the complete OpenAPI 3.2 specification.
|
|
9
|
+
*/
|
|
10
|
+
type OpenAPIDocument = Omit<OpenAPIV3_1.Document, 'openapi' | 'paths'> & {
|
|
11
|
+
openapi: OpenAPIV3_1.Document['openapi'] | '3.2.0';
|
|
12
|
+
paths?: undefined | (OpenAPIV3_1.PathsObject & {
|
|
13
|
+
[path: `/${string}`]: OpenAPIV3_1.PathItemObject & {
|
|
14
|
+
query?: OpenAPIOperationObject | undefined;
|
|
15
|
+
};
|
|
16
|
+
});
|
|
17
|
+
};
|
|
6
18
|
type JsonifiedValue<T> = T extends string ? T : T extends number ? T : T extends boolean ? T : T extends null ? T : T extends undefined ? T : T extends Array<unknown> ? JsonifiedArray<T> : T extends Record<string, unknown> ? {
|
|
7
19
|
[K in keyof T]: JsonifiedValue<T[K]>;
|
|
8
|
-
} : T extends Date ? string : T extends bigint ? string : T extends File ? File : T extends Blob ? Blob : T extends RegExp ? string : T extends URL ? string : T extends Map<infer K, infer V> ? JsonifiedArray<[K, V][]> : T extends Set<infer U> ? JsonifiedArray<U[]> : T extends AsyncIteratorObject<infer U, infer V> ? AsyncIteratorObject<JsonifiedValue<U>, JsonifiedValue<V>> : unknown;
|
|
20
|
+
} : T extends Date ? string : T extends bigint ? string : T extends File ? File : T extends Blob ? Blob : T extends RegExp ? string : T extends URL ? string : T extends Map<infer K, infer V> ? JsonifiedArray<[K, V][]> : T extends Set<infer U> ? JsonifiedArray<U[]> : T extends AsyncIteratorClass<infer U, infer V> ? AsyncIteratorClass<JsonifiedValue<U>, JsonifiedValue<V>> : T extends AsyncGenerator<infer U, infer V> ? AsyncGenerator<JsonifiedValue<U>, JsonifiedValue<V>> : T extends AsyncIteratorObject<infer U, infer V> ? AsyncIteratorObject<JsonifiedValue<U>, JsonifiedValue<V>> : unknown;
|
|
9
21
|
type JsonifiedArray<T extends Array<unknown>> = T extends readonly [] ? [] : T extends readonly [infer U, ...infer V] ? [U extends undefined ? null : JsonifiedValue<U>, ...JsonifiedArray<V>] : T extends Array<infer U> ? Array<JsonifiedValue<U>> : unknown;
|
|
10
22
|
type JsonifiedClientError<T> = T extends ORPCError<infer UCode, infer UData> ? ORPCError<UCode, JsonifiedValue<UData>> : T;
|
|
11
23
|
/**
|
|
@@ -1,11 +1,23 @@
|
|
|
1
1
|
import { OpenAPIV3_1 } from '@hey-api/spec-types';
|
|
2
2
|
import { AnyNestedClient, Client, ORPCError } from '@orpc/client';
|
|
3
|
+
import { AsyncIteratorClass } from '@orpc/shared';
|
|
3
4
|
|
|
4
|
-
type OpenAPIDocument = OpenAPIV3_1.Document;
|
|
5
5
|
type OpenAPIOperationObject = OpenAPIV3_1.OperationObject;
|
|
6
|
+
/**
|
|
7
|
+
* An OpenAPI 3.1 document with the OpenAPI 3.2 QUERY additions used by oRPC.
|
|
8
|
+
* This type does not claim support for the complete OpenAPI 3.2 specification.
|
|
9
|
+
*/
|
|
10
|
+
type OpenAPIDocument = Omit<OpenAPIV3_1.Document, 'openapi' | 'paths'> & {
|
|
11
|
+
openapi: OpenAPIV3_1.Document['openapi'] | '3.2.0';
|
|
12
|
+
paths?: undefined | (OpenAPIV3_1.PathsObject & {
|
|
13
|
+
[path: `/${string}`]: OpenAPIV3_1.PathItemObject & {
|
|
14
|
+
query?: OpenAPIOperationObject | undefined;
|
|
15
|
+
};
|
|
16
|
+
});
|
|
17
|
+
};
|
|
6
18
|
type JsonifiedValue<T> = T extends string ? T : T extends number ? T : T extends boolean ? T : T extends null ? T : T extends undefined ? T : T extends Array<unknown> ? JsonifiedArray<T> : T extends Record<string, unknown> ? {
|
|
7
19
|
[K in keyof T]: JsonifiedValue<T[K]>;
|
|
8
|
-
} : T extends Date ? string : T extends bigint ? string : T extends File ? File : T extends Blob ? Blob : T extends RegExp ? string : T extends URL ? string : T extends Map<infer K, infer V> ? JsonifiedArray<[K, V][]> : T extends Set<infer U> ? JsonifiedArray<U[]> : T extends AsyncIteratorObject<infer U, infer V> ? AsyncIteratorObject<JsonifiedValue<U>, JsonifiedValue<V>> : unknown;
|
|
20
|
+
} : T extends Date ? string : T extends bigint ? string : T extends File ? File : T extends Blob ? Blob : T extends RegExp ? string : T extends URL ? string : T extends Map<infer K, infer V> ? JsonifiedArray<[K, V][]> : T extends Set<infer U> ? JsonifiedArray<U[]> : T extends AsyncIteratorClass<infer U, infer V> ? AsyncIteratorClass<JsonifiedValue<U>, JsonifiedValue<V>> : T extends AsyncGenerator<infer U, infer V> ? AsyncGenerator<JsonifiedValue<U>, JsonifiedValue<V>> : T extends AsyncIteratorObject<infer U, infer V> ? AsyncIteratorObject<JsonifiedValue<U>, JsonifiedValue<V>> : unknown;
|
|
9
21
|
type JsonifiedArray<T extends Array<unknown>> = T extends readonly [] ? [] : T extends readonly [infer U, ...infer V] ? [U extends undefined ? null : JsonifiedValue<U>, ...JsonifiedArray<V>] : T extends Array<infer U> ? Array<JsonifiedValue<U>> : unknown;
|
|
10
22
|
type JsonifiedClientError<T> = T extends ORPCError<infer UCode, infer UData> ? ORPCError<UCode, JsonifiedValue<UData>> : T;
|
|
11
23
|
/**
|
|
@@ -2,7 +2,7 @@ import { AnySchema, ErrorMap, MetaPlugin, AnyProcedureContract } from '@orpc/con
|
|
|
2
2
|
import { Lazy } from '@orpc/server';
|
|
3
3
|
import { Value } from '@orpc/shared';
|
|
4
4
|
import { StandardBodyHint } from '@standardserver/core';
|
|
5
|
-
import { d as OpenAPIOperationObject } from './openapi.
|
|
5
|
+
import { d as OpenAPIOperationObject } from './openapi.DfTTLtn5.mjs';
|
|
6
6
|
|
|
7
7
|
interface OpenAPIMeta {
|
|
8
8
|
/**
|
|
@@ -10,7 +10,7 @@ interface OpenAPIMeta {
|
|
|
10
10
|
*
|
|
11
11
|
* @default 'POST'
|
|
12
12
|
*/
|
|
13
|
-
method?: 'HEAD' | 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH' | undefined;
|
|
13
|
+
method?: 'HEAD' | 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH' | 'QUERY' | undefined;
|
|
14
14
|
/**
|
|
15
15
|
* URL path for this procedure. Supports dynamic parameters via `{param}` syntax,
|
|
16
16
|
* and `{+param}` to allow slashes in the matched value.
|
package/package.json
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@orpc/openapi",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "2.0.0-beta.
|
|
4
|
+
"version": "2.0.0-beta.27",
|
|
5
5
|
"license": "MIT",
|
|
6
|
+
"funding": "https://github.com/sponsors/dinwwwh",
|
|
6
7
|
"homepage": "https://orpc.dev",
|
|
7
8
|
"repository": {
|
|
8
9
|
"type": "git",
|
|
@@ -88,18 +89,18 @@
|
|
|
88
89
|
"@standardserver/core": "^0.7.1",
|
|
89
90
|
"@standardserver/fetch": "^0.7.1",
|
|
90
91
|
"rou3": "^0.9.1",
|
|
91
|
-
"@orpc/client": "2.0.0-beta.
|
|
92
|
-
"@orpc/
|
|
93
|
-
"@orpc/
|
|
94
|
-
"@orpc/shared": "2.0.0-beta.
|
|
95
|
-
"@orpc/
|
|
92
|
+
"@orpc/client": "2.0.0-beta.27",
|
|
93
|
+
"@orpc/contract": "2.0.0-beta.27",
|
|
94
|
+
"@orpc/server": "2.0.0-beta.27",
|
|
95
|
+
"@orpc/shared": "2.0.0-beta.27",
|
|
96
|
+
"@orpc/json-schema": "2.0.0-beta.27"
|
|
96
97
|
},
|
|
97
98
|
"devDependencies": {
|
|
98
|
-
"@scalar/api-reference": "^1.64.
|
|
99
|
+
"@scalar/api-reference": "^1.64.1",
|
|
99
100
|
"@standardserver/aws-lambda": "^0.7.1",
|
|
100
101
|
"@types/swagger-ui": "^5.32.0",
|
|
101
|
-
"fastify": "^5.11.
|
|
102
|
-
"swagger-ui": "^5.32.
|
|
102
|
+
"fastify": "^5.11.3",
|
|
103
|
+
"swagger-ui": "^5.32.12",
|
|
103
104
|
"zod": "^4.4.3"
|
|
104
105
|
},
|
|
105
106
|
"scripts": {
|