@orpc/server 2.0.0-beta.48 → 2.0.0-beta.49

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.
Files changed (269) hide show
  1. package/README.md +4 -4
  2. package/dist/adapters/aws-lambda/handler.d.ts +25 -0
  3. package/dist/adapters/aws-lambda/handler.js +24 -0
  4. package/dist/adapters/aws-lambda/index.d.ts +16 -0
  5. package/dist/adapters/aws-lambda/index.js +2 -0
  6. package/dist/adapters/aws-lambda/rpc-handler.d.ts +19 -0
  7. package/dist/adapters/aws-lambda/rpc-handler.js +18 -0
  8. package/dist/adapters/crossws/handler.d.ts +45 -0
  9. package/dist/adapters/crossws/handler.js +60 -0
  10. package/dist/adapters/crossws/index.d.ts +2 -0
  11. package/dist/adapters/crossws/index.js +2 -0
  12. package/dist/adapters/crossws/rpc-handler.d.ts +16 -0
  13. package/dist/adapters/crossws/rpc-handler.js +15 -0
  14. package/dist/adapters/fastify/handler.d.ts +21 -0
  15. package/dist/adapters/fastify/handler.js +20 -0
  16. package/dist/adapters/fastify/index.d.ts +2 -0
  17. package/dist/adapters/fastify/index.js +2 -0
  18. package/dist/adapters/fastify/rpc-handler.d.ts +15 -0
  19. package/dist/adapters/fastify/rpc-handler.js +14 -0
  20. package/dist/adapters/fetch/handler.d.ts +23 -0
  21. package/dist/adapters/fetch/handler.js +22 -0
  22. package/dist/adapters/fetch/index.d.ts +7 -0
  23. package/dist/adapters/fetch/index.js +7 -0
  24. package/dist/adapters/fetch/rpc-handler.d.ts +17 -0
  25. package/dist/adapters/fetch/rpc-handler.js +16 -0
  26. package/dist/adapters/message-port/handler.d.ts +64 -0
  27. package/dist/adapters/message-port/handler.js +86 -0
  28. package/dist/adapters/message-port/index.d.ts +2 -0
  29. package/dist/adapters/message-port/index.js +2 -0
  30. package/dist/adapters/message-port/rpc-handler.d.ts +16 -0
  31. package/dist/adapters/message-port/rpc-handler.js +15 -0
  32. package/dist/adapters/node/handler.d.ts +21 -0
  33. package/dist/adapters/node/handler.js +20 -0
  34. package/dist/adapters/node/index.d.ts +7 -0
  35. package/dist/adapters/node/index.js +7 -0
  36. package/dist/adapters/node/rpc-handler.d.ts +16 -0
  37. package/dist/adapters/node/rpc-handler.js +15 -0
  38. package/dist/adapters/standard/codec.d.ts +16 -0
  39. package/dist/adapters/standard/handler.d.ts +68 -0
  40. package/dist/adapters/standard/handler.js +205 -0
  41. package/dist/adapters/standard/index.d.ts +6 -0
  42. package/dist/adapters/standard/index.js +5 -0
  43. package/dist/adapters/standard/plugin.d.ts +32 -0
  44. package/dist/adapters/standard/plugin.js +16 -0
  45. package/dist/adapters/standard/rpc-handler-codec.d.ts +46 -0
  46. package/dist/adapters/standard/rpc-handler-codec.js +51 -0
  47. package/dist/adapters/standard/rpc-matcher.d.ts +53 -0
  48. package/dist/adapters/standard/rpc-matcher.js +152 -0
  49. package/dist/adapters/standard/utils.d.ts +10 -0
  50. package/dist/adapters/standard/utils.js +6 -0
  51. package/dist/adapters/standard-peer/index.d.ts +1 -0
  52. package/dist/adapters/standard-peer/index.js +1 -0
  53. package/dist/adapters/standard-peer/{utils.d.mts → utils.d.ts} +3 -3
  54. package/dist/adapters/standard-peer/utils.js +7 -0
  55. package/dist/adapters/websocket/handler.d.ts +59 -0
  56. package/dist/adapters/websocket/handler.js +85 -0
  57. package/dist/adapters/websocket/index.d.ts +2 -0
  58. package/dist/adapters/websocket/index.js +2 -0
  59. package/dist/adapters/websocket/rpc-handler.d.ts +16 -0
  60. package/dist/adapters/websocket/rpc-handler.js +15 -0
  61. package/dist/builder-variants.d.ts +226 -0
  62. package/dist/builder.d.ts +127 -0
  63. package/dist/builder.js +226 -0
  64. package/dist/context.d.ts +6 -0
  65. package/dist/extensions/callable.d.ts +11 -0
  66. package/dist/extensions/callable.js +7 -0
  67. package/dist/helpers/base64url.d.ts +31 -0
  68. package/dist/helpers/base64url.js +53 -0
  69. package/dist/helpers/cookie.d.ts +51 -0
  70. package/dist/helpers/cookie.js +69 -0
  71. package/dist/helpers/encryption.d.ts +28 -0
  72. package/dist/helpers/encryption.js +80 -0
  73. package/dist/helpers/index.d.ts +4 -0
  74. package/dist/helpers/index.js +4 -0
  75. package/dist/helpers/signing.d.ts +50 -0
  76. package/dist/helpers/signing.js +88 -0
  77. package/dist/implementer-procedure.d.ts +16 -0
  78. package/dist/implementer-procedure.js +44 -0
  79. package/dist/implementer-router.d.ts +40 -0
  80. package/dist/implementer-router.js +117 -0
  81. package/dist/implementer.d.ts +16 -0
  82. package/dist/implementer.js +37 -0
  83. package/dist/index.d.ts +61 -0
  84. package/dist/index.js +48 -0
  85. package/dist/lazy.d.ts +20 -0
  86. package/dist/lazy.js +31 -0
  87. package/dist/middleware-decorated.d.ts +10 -0
  88. package/dist/middleware-decorated.js +71 -0
  89. package/dist/middleware.d.ts +54 -0
  90. package/dist/plugins/batch.d.ts +102 -0
  91. package/dist/plugins/batch.js +405 -0
  92. package/dist/plugins/cors.d.ts +73 -0
  93. package/dist/plugins/cors.js +112 -0
  94. package/dist/plugins/get-method-csrf-protection.d.ts +23 -0
  95. package/dist/plugins/get-method-csrf-protection.js +64 -0
  96. package/dist/plugins/head-method.d.ts +23 -0
  97. package/dist/plugins/head-method.js +104 -0
  98. package/dist/plugins/index.d.ts +39 -0
  99. package/dist/plugins/index.js +29 -0
  100. package/dist/plugins/method-override.d.ts +38 -0
  101. package/dist/plugins/method-override.js +50 -0
  102. package/dist/plugins/request-compression.d.ts +16 -0
  103. package/dist/plugins/request-compression.js +82 -0
  104. package/dist/plugins/request-headers.d.ts +22 -0
  105. package/dist/plugins/request-headers.js +30 -0
  106. package/dist/plugins/request-limit.d.ts +30 -0
  107. package/dist/plugins/request-limit.js +68 -0
  108. package/dist/plugins/response-compression.d.ts +59 -0
  109. package/dist/plugins/response-compression.js +209 -0
  110. package/dist/plugins/response-headers.d.ts +30 -0
  111. package/dist/plugins/response-headers.js +47 -0
  112. package/dist/plugins/rethrow.d.ts +33 -0
  113. package/dist/plugins/rethrow.js +59 -0
  114. package/dist/plugins/signal-sync.d.ts +13 -0
  115. package/dist/plugins/signal-sync.js +91 -0
  116. package/dist/plugins/timeout.d.ts +37 -0
  117. package/dist/plugins/timeout.js +59 -0
  118. package/dist/procedure-client.d.ts +19 -0
  119. package/dist/procedure-client.js +175 -0
  120. package/dist/procedure-decorated.d.ts +10 -0
  121. package/dist/procedure-decorated.js +44 -0
  122. package/dist/procedure-utils.d.ts +41 -0
  123. package/dist/procedure-utils.js +49 -0
  124. package/dist/procedure.d.ts +72 -0
  125. package/dist/procedure.js +24 -0
  126. package/dist/router-client.d.ts +23 -0
  127. package/dist/router-client.js +43 -0
  128. package/dist/{router-hidden.d.mts → router-hidden.d.ts} +3 -3
  129. package/dist/router-hidden.js +14 -0
  130. package/dist/router-utils.d.ts +48 -0
  131. package/dist/router-utils.js +202 -0
  132. package/dist/router.d.ts +72 -0
  133. package/package.json +84 -86
  134. package/dist/adapters/aws-lambda/handler.d.mts +0 -25
  135. package/dist/adapters/aws-lambda/handler.mjs +0 -21
  136. package/dist/adapters/aws-lambda/index.d.mts +0 -16
  137. package/dist/adapters/aws-lambda/index.mjs +0 -2
  138. package/dist/adapters/aws-lambda/rpc-handler.d.mts +0 -18
  139. package/dist/adapters/aws-lambda/rpc-handler.mjs +0 -10
  140. package/dist/adapters/crossws/handler.d.mts +0 -41
  141. package/dist/adapters/crossws/handler.mjs +0 -38
  142. package/dist/adapters/crossws/index.d.mts +0 -2
  143. package/dist/adapters/crossws/index.mjs +0 -2
  144. package/dist/adapters/crossws/rpc-handler.d.mts +0 -15
  145. package/dist/adapters/crossws/rpc-handler.mjs +0 -10
  146. package/dist/adapters/fastify/handler.d.mts +0 -21
  147. package/dist/adapters/fastify/handler.mjs +0 -20
  148. package/dist/adapters/fastify/index.d.mts +0 -2
  149. package/dist/adapters/fastify/index.mjs +0 -2
  150. package/dist/adapters/fastify/rpc-handler.d.mts +0 -14
  151. package/dist/adapters/fastify/rpc-handler.mjs +0 -10
  152. package/dist/adapters/fetch/handler.d.mts +0 -23
  153. package/dist/adapters/fetch/handler.mjs +0 -22
  154. package/dist/adapters/fetch/index.d.mts +0 -7
  155. package/dist/adapters/fetch/index.mjs +0 -5
  156. package/dist/adapters/fetch/rpc-handler.d.mts +0 -16
  157. package/dist/adapters/fetch/rpc-handler.mjs +0 -10
  158. package/dist/adapters/message-port/handler.d.mts +0 -57
  159. package/dist/adapters/message-port/handler.mjs +0 -62
  160. package/dist/adapters/message-port/index.d.mts +0 -2
  161. package/dist/adapters/message-port/index.mjs +0 -2
  162. package/dist/adapters/message-port/rpc-handler.d.mts +0 -15
  163. package/dist/adapters/message-port/rpc-handler.mjs +0 -10
  164. package/dist/adapters/node/handler.d.mts +0 -21
  165. package/dist/adapters/node/handler.mjs +0 -20
  166. package/dist/adapters/node/index.d.mts +0 -7
  167. package/dist/adapters/node/index.mjs +0 -5
  168. package/dist/adapters/node/rpc-handler.d.mts +0 -15
  169. package/dist/adapters/node/rpc-handler.mjs +0 -10
  170. package/dist/adapters/standard/codec.d.mts +0 -16
  171. package/dist/adapters/standard/handler.d.mts +0 -68
  172. package/dist/adapters/standard/handler.mjs +0 -185
  173. package/dist/adapters/standard/index.d.mts +0 -6
  174. package/dist/adapters/standard/index.mjs +0 -5
  175. package/dist/adapters/standard/plugin.d.mts +0 -32
  176. package/dist/adapters/standard/plugin.mjs +0 -16
  177. package/dist/adapters/standard/rpc-handler-codec.d.mts +0 -42
  178. package/dist/adapters/standard/rpc-handler-codec.mjs +0 -51
  179. package/dist/adapters/standard/rpc-matcher.d.mts +0 -53
  180. package/dist/adapters/standard/rpc-matcher.mjs +0 -140
  181. package/dist/adapters/standard/utils.d.mts +0 -10
  182. package/dist/adapters/standard/utils.mjs +0 -6
  183. package/dist/adapters/standard-peer/index.d.mts +0 -1
  184. package/dist/adapters/standard-peer/index.mjs +0 -1
  185. package/dist/adapters/standard-peer/utils.mjs +0 -11
  186. package/dist/adapters/websocket/handler.d.mts +0 -55
  187. package/dist/adapters/websocket/handler.mjs +0 -55
  188. package/dist/adapters/websocket/index.d.mts +0 -2
  189. package/dist/adapters/websocket/index.mjs +0 -2
  190. package/dist/adapters/websocket/rpc-handler.d.mts +0 -15
  191. package/dist/adapters/websocket/rpc-handler.mjs +0 -10
  192. package/dist/builder-variants.d.mts +0 -267
  193. package/dist/builder.d.mts +0 -141
  194. package/dist/builder.mjs +0 -145
  195. package/dist/context.d.mts +0 -13
  196. package/dist/extensions/callable.d.mts +0 -17
  197. package/dist/extensions/callable.mjs +0 -7
  198. package/dist/helpers/base64url.d.mts +0 -31
  199. package/dist/helpers/base64url.mjs +0 -25
  200. package/dist/helpers/cookie.d.mts +0 -50
  201. package/dist/helpers/cookie.mjs +0 -35
  202. package/dist/helpers/encryption.d.mts +0 -28
  203. package/dist/helpers/encryption.mjs +0 -62
  204. package/dist/helpers/index.d.mts +0 -4
  205. package/dist/helpers/index.mjs +0 -4
  206. package/dist/helpers/signing.d.mts +0 -50
  207. package/dist/helpers/signing.mjs +0 -43
  208. package/dist/implementer-procedure.d.mts +0 -36
  209. package/dist/implementer-procedure.mjs +0 -38
  210. package/dist/implementer-router.d.mts +0 -78
  211. package/dist/implementer-router.mjs +0 -77
  212. package/dist/implementer.d.mts +0 -22
  213. package/dist/implementer.mjs +0 -30
  214. package/dist/index.d.mts +0 -57
  215. package/dist/index.mjs +0 -30
  216. package/dist/lazy.d.mts +0 -20
  217. package/dist/lazy.mjs +0 -22
  218. package/dist/middleware-decorated.d.mts +0 -27
  219. package/dist/middleware-decorated.mjs +0 -65
  220. package/dist/middleware.d.mts +0 -70
  221. package/dist/plugins/batch.d.mts +0 -104
  222. package/dist/plugins/batch.mjs +0 -373
  223. package/dist/plugins/cors.d.mts +0 -67
  224. package/dist/plugins/cors.mjs +0 -134
  225. package/dist/plugins/get-method-csrf-protection.d.mts +0 -23
  226. package/dist/plugins/get-method-csrf-protection.mjs +0 -45
  227. package/dist/plugins/head-method.d.mts +0 -23
  228. package/dist/plugins/head-method.mjs +0 -95
  229. package/dist/plugins/index.d.mts +0 -39
  230. package/dist/plugins/index.mjs +0 -23
  231. package/dist/plugins/method-override.d.mts +0 -38
  232. package/dist/plugins/method-override.mjs +0 -50
  233. package/dist/plugins/request-compression.d.mts +0 -16
  234. package/dist/plugins/request-compression.mjs +0 -67
  235. package/dist/plugins/request-headers.d.mts +0 -22
  236. package/dist/plugins/request-headers.mjs +0 -21
  237. package/dist/plugins/request-limit.d.mts +0 -30
  238. package/dist/plugins/request-limit.mjs +0 -53
  239. package/dist/plugins/response-compression.d.mts +0 -59
  240. package/dist/plugins/response-compression.mjs +0 -172
  241. package/dist/plugins/response-headers.d.mts +0 -30
  242. package/dist/plugins/response-headers.mjs +0 -34
  243. package/dist/plugins/rethrow.d.mts +0 -33
  244. package/dist/plugins/rethrow.mjs +0 -46
  245. package/dist/plugins/signal-sync.d.mts +0 -13
  246. package/dist/plugins/signal-sync.mjs +0 -84
  247. package/dist/plugins/timeout.d.mts +0 -37
  248. package/dist/plugins/timeout.mjs +0 -56
  249. package/dist/procedure-client.d.mts +0 -41
  250. package/dist/procedure-client.mjs +0 -157
  251. package/dist/procedure-decorated.d.mts +0 -20
  252. package/dist/procedure-decorated.mjs +0 -41
  253. package/dist/procedure-utils.d.mts +0 -52
  254. package/dist/procedure-utils.mjs +0 -33
  255. package/dist/procedure.d.mts +0 -93
  256. package/dist/procedure.mjs +0 -20
  257. package/dist/router-client.d.mts +0 -27
  258. package/dist/router-client.mjs +0 -35
  259. package/dist/router-hidden.mjs +0 -12
  260. package/dist/router-utils.d.mts +0 -59
  261. package/dist/router-utils.mjs +0 -191
  262. package/dist/router.d.mts +0 -61
  263. /package/dist/adapters/standard/{codec.mjs → codec.js} +0 -0
  264. /package/dist/{builder-variants.mjs → builder-variants.js} +0 -0
  265. /package/dist/{constants.d.mts → constants.d.ts} +0 -0
  266. /package/dist/{constants.mjs → constants.js} +0 -0
  267. /package/dist/{context.mjs → context.js} +0 -0
  268. /package/dist/{middleware.mjs → middleware.js} +0 -0
  269. /package/dist/{router.mjs → router.js} +0 -0
@@ -1,191 +0,0 @@
1
- import { mergeErrorMap, ProcedureContract, resolveMetaPlugins } from "@orpc/contract";
2
- import { getOwn, isTypescriptObject, omit } from "@orpc/shared";
3
- import { Lazy, unlazy } from "./lazy.mjs";
4
- import { Procedure } from "./procedure.mjs";
5
- import { createContractProcedure } from "./procedure-utils.mjs";
6
- import { getHiddenRouterContract } from "./router-hidden.mjs";
7
- export function augmentRouter(router, options) {
8
- if (router instanceof Lazy) {
9
- const [meta, metaPlugins] = resolveMetaPlugins(options.meta, options.metaPlugins, router["~orpc"].metaPlugins);
10
- const enhanced = new Lazy({
11
- meta,
12
- metaPlugins,
13
- async loader() {
14
- const { default: unlaziedRouter } = await unlazy(router);
15
- const enhanced = augmentRouter(unlaziedRouter, options);
16
- return unlazy(enhanced);
17
- }
18
- });
19
- return enhanced;
20
- }
21
- if (router instanceof Procedure) {
22
- const [meta, metaPlugins] = resolveMetaPlugins(options.meta, options.metaPlugins, router["~orpc"].metaPlugins);
23
- const enhanced = new Procedure({
24
- ...omit(options, [
25
- "middlewares",
26
- "errorMap",
27
- "meta",
28
- "metaPlugins"
29
- ]),
30
- ...router["~orpc"],
31
- meta,
32
- metaPlugins,
33
- errorMap: mergeErrorMap(options.errorMap, router["~orpc"].errorMap),
34
- orderedMiddlewares: [...options.middlewares.map((middleware) => ({
35
- middleware,
36
- inputSchemasLengthAtUse: 0,
37
- outputSchemasLengthAtUse: 0
38
- })), ...router["~orpc"].orderedMiddlewares]
39
- });
40
- return enhanced;
41
- }
42
- if (!isTypescriptObject(router)) {
43
- return router;
44
- }
45
- const enhanced = {};
46
- for (const [key, child] of Object.entries(router)) {
47
- enhanced[key] = augmentRouter(child, options);
48
- }
49
- return enhanced;
50
- }
51
- export function augmentImplementedRouter(router, options) {
52
- if (router instanceof Lazy) {
53
- const enhanced = new Lazy({
54
- ...router["~orpc"],
55
- async loader() {
56
- const { default: unlaziedRouter } = await unlazy(router);
57
- const enhanced = augmentImplementedRouter(unlaziedRouter, options);
58
- return unlazy(enhanced);
59
- }
60
- });
61
- return enhanced;
62
- }
63
- if (router instanceof Procedure) {
64
- const enhanced = new Procedure({
65
- ...omit(options, ["middlewares"]),
66
- ...router["~orpc"],
67
- orderedMiddlewares: [...options.middlewares.map((middleware) => ({
68
- middleware,
69
- inputSchemasLengthAtUse: 0,
70
- outputSchemasLengthAtUse: 0
71
- })), ...router["~orpc"].orderedMiddlewares]
72
- });
73
- return enhanced;
74
- }
75
- if (!isTypescriptObject(router)) {
76
- return router;
77
- }
78
- const enhanced = {};
79
- for (const [key, child] of Object.entries(router)) {
80
- enhanced[key] = augmentImplementedRouter(child, options);
81
- }
82
- return enhanced;
83
- }
84
-
85
- export async function resolveContractProcedure(router, contract, path) {
86
- if (contract instanceof Procedure) {
87
- return contract;
88
- }
89
- const { default: maybeProcedure } = await unlazy(getRouter(router, path));
90
- if (!(maybeProcedure instanceof Procedure)) {
91
- throw new TypeError(`[Contract-First] Missing or invalid implementation for procedure at path: "${path.join(".")}". ` + `Ensure the procedure is correctly implemented and matches its contract.`);
92
- }
93
- return createContractProcedure(maybeProcedure, contract);
94
- }
95
- export function getRouter(router, path) {
96
- let current = router;
97
- for (let i = 0; i < path.length; i++) {
98
- const segment = path[i];
99
- if (!isTypescriptObject(current)) {
100
- return undefined;
101
- }
102
- if (current instanceof Procedure) {
103
- return undefined;
104
- }
105
- if (!(current instanceof Lazy)) {
106
- current = getOwn(current, segment);
107
- continue;
108
- }
109
- const lazied = current;
110
- const rest = path.slice(i);
111
- return new Lazy({
112
- ...lazied["~orpc"],
113
- async loader() {
114
- const unwrapped = await unlazy(lazied);
115
- const next = getRouter(unwrapped.default, rest);
116
- return await unlazy(next);
117
- }
118
- });
119
- }
120
- if (!isTypescriptObject(current)) {
121
- return undefined;
122
- }
123
- return current;
124
- }
125
- export function walkProcedureContractsSync(router, callback, path = []) {
126
- const lazyResults = [];
127
- walkProcedureContractsSyncInternal(router, callback, path.slice(), lazyResults);
128
- return lazyResults;
129
- }
130
- function walkProcedureContractsSyncInternal(router, callback, path, lazyResults) {
131
- const hiddenContract = getHiddenRouterContract(router);
132
- if (hiddenContract !== undefined) {
133
- router = hiddenContract;
134
- }
135
- if (router instanceof ProcedureContract) {
136
- callback(router, path.slice());
137
- return;
138
- }
139
- if (!isTypescriptObject(router)) {
140
- return;
141
- }
142
- for (const [key, value] of Object.entries(router)) {
143
- path.push(key);
144
- if (value instanceof Lazy) {
145
- lazyResults.push({
146
- router: value,
147
- path: path.slice()
148
- });
149
- } else {
150
- walkProcedureContractsSyncInternal(value, callback, path, lazyResults);
151
- }
152
- path.pop();
153
- }
154
- }
155
- export async function walkProcedureContractsAsync(router, callback, path = []) {
156
- const hiddenContract = getHiddenRouterContract(router);
157
- if (hiddenContract !== undefined) {
158
- router = hiddenContract;
159
- }
160
- if (router instanceof ProcedureContract) {
161
- await callback(router, path);
162
- return;
163
- }
164
- if (!isTypescriptObject(router)) {
165
- return;
166
- }
167
- for (const [key, value] of Object.entries(router)) {
168
- if (value instanceof Lazy) {
169
- const { default: router } = await unlazy(value);
170
- await walkProcedureContractsAsync(router, callback, [...path, key]);
171
- } else {
172
- await walkProcedureContractsAsync(value, callback, [...path, key]);
173
- }
174
- }
175
- }
176
-
177
- export async function unlazyRouter(router) {
178
- if (router instanceof Procedure) {
179
- return router;
180
- }
181
- if (!isTypescriptObject(router)) {
182
- return router;
183
- }
184
- const unlazied = {};
185
- for (const key of Object.keys(router)) {
186
- const item = router[key];
187
- const { default: unlaziedRouter } = await unlazy(item);
188
- unlazied[key] = await unlazyRouter(unlaziedRouter);
189
- }
190
- return unlazied;
191
- }
package/dist/router.d.mts DELETED
@@ -1,61 +0,0 @@
1
- import type { InferSchemaInput, InferSchemaOutput, ORPCErrorFromErrorMap, ProcedureContract, RouterContract, ThrowableError } from "@orpc/contract";
2
- import type { Context, MergedContext } from "./context.mjs";
3
- import type { Lazyable } from "./lazy.mjs";
4
- import type { Procedure } from "./procedure.mjs";
5
- export type Router<TInitialContext extends Context> = Procedure<TInitialContext, any, any, any, any> | {
6
- [k: string]: Lazyable<Router<TInitialContext>>;
7
- };
8
- export type ContractedRouter<
9
- T extends RouterContract,
10
- TInitialContext extends Context
11
- > = T extends ProcedureContract<infer $InputSchema, infer $OutputSchema, infer $ErrorMap> ? Procedure<TInitialContext, any, $InputSchema, $OutputSchema, $ErrorMap> : { [K in keyof T]: T[K] extends RouterContract ? Lazyable<ContractedRouter<T[K], TInitialContext>> : never };
12
- export type AnyRouter = Router<any>;
13
- export type InferRouterInitialContext<T extends AnyRouter> = T extends Router<infer $> ? $ : never;
14
- /**
15
- * Infer all initial context of the router.
16
- *
17
- * @remarks
18
- * **Note**: A procedure is a router too.
19
- *
20
- * @see {@link https://orpc.dev/docs/router#infer-router-initial-contexts | Router - Infer Router Initial Contexts}
21
- */
22
- export type InferRouterInitialContexts<T extends AnyRouter> = T extends Procedure<infer UInitialContext, any, any, any, any> ? UInitialContext : { [K in keyof T]: T[K] extends Lazyable<infer U extends AnyRouter> ? InferRouterInitialContexts<U> : never };
23
- /**
24
- * Infer all current context of the router.
25
- *
26
- * @remarks
27
- * **Note**: A procedure is a router too.
28
- *
29
- * @see {@link https://orpc.dev/docs/router#infer-router-final-contexts | Router - Infer Router Final Contexts}
30
- */
31
- export type InferRouterFinalContexts<T extends AnyRouter> = T extends Procedure<infer UInitialContext, infer UInjectedContext, any, any, any> ? MergedContext<UInitialContext, UInjectedContext> : { [K in keyof T]: T[K] extends Lazyable<infer U extends AnyRouter> ? InferRouterFinalContexts<U> : never };
32
- /**
33
- * Infer all router inputs.
34
- *
35
- * @remarks
36
- * **Note**: A procedure is a router too.
37
- *
38
- * @see {@link https://orpc.dev/docs/router#infer-router-inputs | Router - Infer Router Inputs}
39
- */
40
- export type InferRouterInputs<T extends AnyRouter> = T extends Procedure<any, any, infer UInputSchema, any, any> ? InferSchemaInput<UInputSchema> : { [K in keyof T]: T[K] extends Lazyable<infer U extends AnyRouter> ? InferRouterInputs<U> : never };
41
- /**
42
- * Infer all router outputs.
43
- *
44
- * @remarks
45
- * **Note**: A procedure is a router too.
46
- *
47
- * @see {@link https://orpc.dev/docs/router#infer-router-outputs | Router - Infer Router Outputs}
48
- */
49
- export type InferRouterOutputs<T extends AnyRouter> = T extends Procedure<any, any, any, infer UOutputSchema, any> ? InferSchemaOutput<UOutputSchema> : { [K in keyof T]: T[K] extends Lazyable<infer U extends AnyRouter> ? InferRouterOutputs<U> : never };
50
- /**
51
- * Infer the union of throwable errors for entire router.
52
- *
53
- * @see {@link https://orpc.dev/docs/router#infer-router-error | Router - Infer Router Error}
54
- */
55
- export type InferRouterError<T extends AnyRouter> = T extends Procedure<any, any, any, any, infer UErrorMap> ? ORPCErrorFromErrorMap<UErrorMap> | ThrowableError : { [K in keyof T]: T[K] extends Lazyable<infer U extends AnyRouter> ? InferRouterError<U> : never }[keyof T];
56
- /**
57
- * Infer throwable errors for each procedure, preserving the router shape.
58
- *
59
- * @see {@link https://orpc.dev/docs/router#infer-router-errors | Router - Infer Router Errors}
60
- */
61
- export type InferRouterErrors<T extends AnyRouter> = T extends Procedure<any, any, any, any, infer UErrorMap> ? ORPCErrorFromErrorMap<UErrorMap> | ThrowableError : { [K in keyof T]: T[K] extends Lazyable<infer U extends AnyRouter> ? InferRouterErrors<U> : never };
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes