@orpc/server 0.0.0-next.4e27480 → 0.0.0-next.4f63ec1
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/dist/chunk-KPT6FDBK.js +32 -0
- package/dist/chunk-LXOL226G.js +182 -0
- package/dist/chunk-MHVECKBC.js +421 -0
- package/dist/chunk-XI6WGCB3.js +125 -0
- package/dist/fetch.js +6 -11
- package/dist/hono.js +18 -14
- package/dist/index.js +214 -844
- package/dist/next.js +6 -11
- package/dist/node.js +19 -75
- package/dist/plugins.js +11 -0
- package/dist/src/adapters/fetch/index.d.ts +1 -4
- package/dist/src/adapters/fetch/rpc-handler.d.ts +11 -0
- package/dist/src/adapters/fetch/types.d.ts +4 -11
- package/dist/src/adapters/hono/middleware.d.ts +6 -6
- package/dist/src/adapters/next/serve.d.ts +11 -11
- package/dist/src/adapters/node/index.d.ts +1 -3
- package/dist/src/adapters/node/rpc-handler.d.ts +11 -0
- package/dist/src/adapters/node/types.d.ts +15 -15
- package/dist/src/adapters/standard/handler.d.ts +51 -0
- package/dist/src/adapters/standard/index.d.ts +6 -0
- package/dist/src/adapters/standard/rpc-codec.d.ts +16 -0
- package/dist/src/adapters/standard/rpc-handler.d.ts +8 -0
- package/dist/src/adapters/standard/rpc-matcher.d.ts +10 -0
- package/dist/src/adapters/standard/types.d.ts +21 -0
- package/dist/src/builder-variants.d.ts +75 -0
- package/dist/src/builder.d.ts +47 -38
- package/dist/src/context.d.ts +7 -10
- package/dist/src/error.d.ts +8 -6
- package/dist/src/hidden.d.ts +5 -3
- package/dist/src/implementer-procedure.d.ts +33 -0
- package/dist/src/implementer-variants.d.ts +18 -0
- package/dist/src/implementer.d.ts +29 -0
- package/dist/src/index.d.ts +11 -12
- package/dist/src/lazy-utils.d.ts +4 -2
- package/dist/src/lazy.d.ts +9 -5
- package/dist/src/middleware-decorated.d.ts +7 -6
- package/dist/src/middleware-utils.d.ts +5 -0
- package/dist/src/middleware.d.ts +23 -21
- package/dist/src/plugins/base.d.ts +13 -0
- package/dist/src/plugins/cors.d.ts +19 -0
- package/dist/src/plugins/index.d.ts +4 -0
- package/dist/src/plugins/response-headers.d.ts +10 -0
- package/dist/src/procedure-client.d.ts +23 -12
- package/dist/src/procedure-decorated.d.ts +13 -15
- package/dist/src/procedure-utils.d.ts +6 -4
- package/dist/src/procedure.d.ts +18 -32
- package/dist/src/router-accessible-lazy.d.ts +8 -0
- package/dist/src/router-client.d.ts +8 -22
- package/dist/src/router.d.ts +26 -12
- package/dist/src/utils.d.ts +23 -2
- package/dist/standard.js +13 -0
- package/package.json +20 -3
- package/dist/chunk-GK2Z6B6W.js +0 -230
- package/dist/chunk-SXUFCJBY.js +0 -301
- package/dist/chunk-WUOGVGWG.js +0 -1
- package/dist/src/adapters/fetch/orpc-handler.d.ts +0 -20
- package/dist/src/adapters/fetch/orpc-payload-codec.d.ts +0 -16
- package/dist/src/adapters/fetch/orpc-procedure-matcher.d.ts +0 -12
- package/dist/src/adapters/fetch/super-json.d.ts +0 -12
- package/dist/src/adapters/node/orpc-handler.d.ts +0 -12
- package/dist/src/adapters/node/request-listener.d.ts +0 -28
- package/dist/src/builder-with-errors-middlewares.d.ts +0 -51
- package/dist/src/builder-with-errors.d.ts +0 -52
- package/dist/src/builder-with-middlewares.d.ts +0 -48
- package/dist/src/implementer-chainable.d.ts +0 -14
- package/dist/src/lazy-decorated.d.ts +0 -7
- package/dist/src/procedure-builder-with-input.d.ts +0 -34
- package/dist/src/procedure-builder-with-output.d.ts +0 -33
- package/dist/src/procedure-builder.d.ts +0 -27
- package/dist/src/procedure-implementer.d.ts +0 -22
- package/dist/src/router-builder.d.ts +0 -33
- package/dist/src/router-implementer.d.ts +0 -22
- package/dist/src/types.d.ts +0 -14
package/dist/index.js
CHANGED
@@ -1,32 +1,42 @@
|
|
1
1
|
import {
|
2
2
|
LAZY_LOADER_SYMBOL,
|
3
3
|
Procedure,
|
4
|
-
|
4
|
+
adaptRouter,
|
5
|
+
addMiddleware,
|
6
|
+
convertPathToHttpPath,
|
7
|
+
createAccessibleLazyRouter,
|
8
|
+
createContractedProcedure,
|
9
|
+
createLazyProcedureFormAnyLazy,
|
5
10
|
createProcedureClient,
|
11
|
+
deepSetLazyRouterPrefix,
|
12
|
+
eachAllContractProcedure,
|
13
|
+
eachContractProcedure,
|
6
14
|
flatLazy,
|
15
|
+
getLazyRouterPrefix,
|
7
16
|
getRouterChild,
|
17
|
+
getRouterContract,
|
8
18
|
isLazy,
|
9
19
|
isProcedure,
|
10
20
|
lazy,
|
11
|
-
mergeContext,
|
12
21
|
middlewareOutputFn,
|
22
|
+
setRouterContract,
|
13
23
|
unlazy
|
14
|
-
} from "./chunk-
|
24
|
+
} from "./chunk-MHVECKBC.js";
|
15
25
|
|
16
26
|
// src/builder.ts
|
17
|
-
import {
|
18
|
-
|
19
|
-
// src/builder-with-errors.ts
|
20
|
-
import { ContractProcedure as ContractProcedure2 } from "@orpc/contract";
|
21
|
-
|
22
|
-
// src/builder-with-errors-middlewares.ts
|
23
|
-
import { ContractProcedure } from "@orpc/contract";
|
27
|
+
import { mergeErrorMap as mergeErrorMap2, mergeMeta as mergeMeta2, mergePrefix, mergeRoute as mergeRoute2, mergeTags } from "@orpc/contract";
|
24
28
|
|
25
|
-
// src/
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
29
|
+
// src/config.ts
|
30
|
+
var DEFAULT_CONFIG = {
|
31
|
+
initialInputValidationIndex: 0,
|
32
|
+
initialOutputValidationIndex: 0
|
33
|
+
};
|
34
|
+
function fallbackConfig(key, value) {
|
35
|
+
if (value === void 0) {
|
36
|
+
return DEFAULT_CONFIG[key];
|
37
|
+
}
|
38
|
+
return value;
|
39
|
+
}
|
30
40
|
|
31
41
|
// src/middleware-decorated.ts
|
32
42
|
function decorateMiddleware(middleware) {
|
@@ -40,10 +50,14 @@ function decorateMiddleware(middleware) {
|
|
40
50
|
decorated.concat = (concatMiddleware, mapInput) => {
|
41
51
|
const mapped = mapInput ? decorateMiddleware(concatMiddleware).mapInput(mapInput) : concatMiddleware;
|
42
52
|
const concatted = decorateMiddleware((options, input, output, ...rest) => {
|
43
|
-
const
|
44
|
-
|
45
|
-
|
46
|
-
|
53
|
+
const merged = middleware({
|
54
|
+
...options,
|
55
|
+
next: (...[nextOptions1]) => mapped({
|
56
|
+
...options,
|
57
|
+
context: { ...options.context, ...nextOptions1?.context },
|
58
|
+
next: (...[nextOptions2]) => options.next({ context: { ...nextOptions1?.context, ...nextOptions2?.context } })
|
59
|
+
}, input, output, ...rest)
|
60
|
+
}, input, output, ...rest);
|
47
61
|
return merged;
|
48
62
|
});
|
49
63
|
return concatted;
|
@@ -52,64 +66,31 @@ function decorateMiddleware(middleware) {
|
|
52
66
|
}
|
53
67
|
|
54
68
|
// src/procedure-decorated.ts
|
55
|
-
import {
|
69
|
+
import { mergeErrorMap, mergeMeta, mergeRoute } from "@orpc/contract";
|
56
70
|
var DecoratedProcedure = class _DecoratedProcedure extends Procedure {
|
57
|
-
static decorate(procedure) {
|
58
|
-
if (procedure instanceof _DecoratedProcedure) {
|
59
|
-
return procedure;
|
60
|
-
}
|
61
|
-
return new _DecoratedProcedure(procedure["~orpc"]);
|
62
|
-
}
|
63
|
-
prefix(prefix) {
|
64
|
-
return new _DecoratedProcedure({
|
65
|
-
...this["~orpc"],
|
66
|
-
contract: DecoratedContractProcedure.decorate(this["~orpc"].contract).prefix(prefix)
|
67
|
-
});
|
68
|
-
}
|
69
|
-
route(route) {
|
70
|
-
return new _DecoratedProcedure({
|
71
|
-
...this["~orpc"],
|
72
|
-
contract: DecoratedContractProcedure.decorate(this["~orpc"].contract).route(route)
|
73
|
-
});
|
74
|
-
}
|
75
71
|
errors(errors) {
|
76
72
|
return new _DecoratedProcedure({
|
77
73
|
...this["~orpc"],
|
78
|
-
|
74
|
+
errorMap: mergeErrorMap(this["~orpc"].errorMap, errors)
|
79
75
|
});
|
80
76
|
}
|
81
|
-
|
82
|
-
const middleware_ = mapInput ? decorateMiddleware(middleware).mapInput(mapInput) : middleware;
|
77
|
+
meta(meta) {
|
83
78
|
return new _DecoratedProcedure({
|
84
79
|
...this["~orpc"],
|
85
|
-
|
80
|
+
meta: mergeMeta(this["~orpc"].meta, meta)
|
86
81
|
});
|
87
82
|
}
|
88
|
-
|
83
|
+
route(route) {
|
89
84
|
return new _DecoratedProcedure({
|
90
85
|
...this["~orpc"],
|
91
|
-
|
86
|
+
route: mergeRoute(this["~orpc"].route, route)
|
92
87
|
});
|
93
88
|
}
|
94
|
-
|
95
|
-
const
|
96
|
-
if (this["~orpc"].middlewares.length) {
|
97
|
-
let min = 0;
|
98
|
-
for (let i = 0; i < this["~orpc"].middlewares.length; i++) {
|
99
|
-
const index = castedMiddlewares.indexOf(this["~orpc"].middlewares[i], min);
|
100
|
-
if (index === -1) {
|
101
|
-
castedMiddlewares.push(...this["~orpc"].middlewares.slice(i));
|
102
|
-
break;
|
103
|
-
}
|
104
|
-
min = index + 1;
|
105
|
-
}
|
106
|
-
}
|
107
|
-
const numNewMiddlewares = castedMiddlewares.length - this["~orpc"].middlewares.length;
|
89
|
+
use(middleware, mapInput) {
|
90
|
+
const mapped = mapInput ? decorateMiddleware(middleware).mapInput(mapInput) : middleware;
|
108
91
|
return new _DecoratedProcedure({
|
109
92
|
...this["~orpc"],
|
110
|
-
|
111
|
-
outputValidationIndex: this["~orpc"].outputValidationIndex + numNewMiddlewares,
|
112
|
-
middlewares: castedMiddlewares
|
93
|
+
middlewares: addMiddleware(this["~orpc"].middlewares, mapped)
|
113
94
|
});
|
114
95
|
}
|
115
96
|
/**
|
@@ -129,851 +110,230 @@ var DecoratedProcedure = class _DecoratedProcedure extends Procedure {
|
|
129
110
|
}
|
130
111
|
};
|
131
112
|
|
132
|
-
// src/
|
133
|
-
var
|
134
|
-
"~type" = "ProcedureImplementer";
|
135
|
-
"~orpc";
|
136
|
-
constructor(def) {
|
137
|
-
this["~orpc"] = def;
|
138
|
-
}
|
139
|
-
use(middleware, mapInput) {
|
140
|
-
const mappedMiddleware = mapInput ? decorateMiddleware(middleware).mapInput(mapInput) : middleware;
|
141
|
-
return new _ProcedureImplementer({
|
142
|
-
...this["~orpc"],
|
143
|
-
middlewares: [...this["~orpc"].middlewares, mappedMiddleware]
|
144
|
-
});
|
145
|
-
}
|
146
|
-
handler(handler) {
|
147
|
-
return new DecoratedProcedure({
|
148
|
-
...this["~orpc"],
|
149
|
-
handler
|
150
|
-
});
|
151
|
-
}
|
152
|
-
};
|
153
|
-
|
154
|
-
// src/procedure-builder-with-input.ts
|
155
|
-
var ProcedureBuilderWithInput = class _ProcedureBuilderWithInput {
|
156
|
-
"~type" = "ProcedureBuilderWithInput";
|
157
|
-
"~orpc";
|
158
|
-
constructor(def) {
|
159
|
-
this["~orpc"] = def;
|
160
|
-
}
|
161
|
-
errors(errors) {
|
162
|
-
return new _ProcedureBuilderWithInput({
|
163
|
-
...this["~orpc"],
|
164
|
-
contract: DecoratedContractProcedure2.decorate(this["~orpc"].contract).errors(errors)
|
165
|
-
});
|
166
|
-
}
|
167
|
-
route(route) {
|
168
|
-
return new _ProcedureBuilderWithInput({
|
169
|
-
...this["~orpc"],
|
170
|
-
contract: DecoratedContractProcedure2.decorate(this["~orpc"].contract).route(route)
|
171
|
-
});
|
172
|
-
}
|
173
|
-
use(middleware, mapInput) {
|
174
|
-
const maybeWithMapInput = mapInput ? decorateMiddleware(middleware).mapInput(mapInput) : middleware;
|
175
|
-
return new _ProcedureBuilderWithInput({
|
176
|
-
...this["~orpc"],
|
177
|
-
outputValidationIndex: this["~orpc"].outputValidationIndex + 1,
|
178
|
-
middlewares: [...this["~orpc"].middlewares, maybeWithMapInput]
|
179
|
-
});
|
180
|
-
}
|
181
|
-
output(schema, example) {
|
182
|
-
return new ProcedureImplementer({
|
183
|
-
...this["~orpc"],
|
184
|
-
contract: new ContractProcedureBuilderWithInput(this["~orpc"].contract["~orpc"]).output(schema, example)
|
185
|
-
});
|
186
|
-
}
|
187
|
-
handler(handler) {
|
188
|
-
return new DecoratedProcedure({
|
189
|
-
...this["~orpc"],
|
190
|
-
handler
|
191
|
-
});
|
192
|
-
}
|
193
|
-
};
|
194
|
-
|
195
|
-
// src/procedure-builder-with-output.ts
|
196
|
-
import { ContractProcedureBuilderWithOutput, DecoratedContractProcedure as DecoratedContractProcedure3 } from "@orpc/contract";
|
197
|
-
var ProcedureBuilderWithOutput = class _ProcedureBuilderWithOutput {
|
198
|
-
"~type" = "ProcedureBuilderWithOutput";
|
199
|
-
"~orpc";
|
200
|
-
constructor(def) {
|
201
|
-
this["~orpc"] = def;
|
202
|
-
}
|
203
|
-
errors(errors) {
|
204
|
-
return new _ProcedureBuilderWithOutput({
|
205
|
-
...this["~orpc"],
|
206
|
-
contract: DecoratedContractProcedure3.decorate(this["~orpc"].contract).errors(errors)
|
207
|
-
});
|
208
|
-
}
|
209
|
-
route(route) {
|
210
|
-
return new _ProcedureBuilderWithOutput({
|
211
|
-
...this["~orpc"],
|
212
|
-
contract: DecoratedContractProcedure3.decorate(this["~orpc"].contract).route(route)
|
213
|
-
});
|
214
|
-
}
|
215
|
-
use(middleware) {
|
216
|
-
return new _ProcedureBuilderWithOutput({
|
217
|
-
...this["~orpc"],
|
218
|
-
inputValidationIndex: this["~orpc"].inputValidationIndex + 1,
|
219
|
-
middlewares: [...this["~orpc"].middlewares, middleware]
|
220
|
-
});
|
221
|
-
}
|
222
|
-
input(schema, example) {
|
223
|
-
return new ProcedureImplementer({
|
224
|
-
...this["~orpc"],
|
225
|
-
contract: new ContractProcedureBuilderWithOutput(this["~orpc"].contract["~orpc"]).input(schema, example)
|
226
|
-
});
|
227
|
-
}
|
228
|
-
handler(handler) {
|
229
|
-
return new DecoratedProcedure({
|
230
|
-
...this["~orpc"],
|
231
|
-
handler
|
232
|
-
});
|
233
|
-
}
|
234
|
-
};
|
235
|
-
|
236
|
-
// src/procedure-builder.ts
|
237
|
-
var ProcedureBuilder = class _ProcedureBuilder {
|
238
|
-
"~type" = "ProcedureBuilder";
|
113
|
+
// src/builder.ts
|
114
|
+
var Builder = class _Builder {
|
239
115
|
"~orpc";
|
240
116
|
constructor(def) {
|
241
117
|
this["~orpc"] = def;
|
242
118
|
}
|
243
|
-
|
244
|
-
|
245
|
-
|
246
|
-
|
247
|
-
|
248
|
-
|
249
|
-
|
250
|
-
return new _ProcedureBuilder({
|
251
|
-
...this["~orpc"],
|
252
|
-
contract: DecoratedContractProcedure4.decorate(this["~orpc"].contract).route(route)
|
253
|
-
});
|
254
|
-
}
|
255
|
-
use(middleware) {
|
256
|
-
return new _ProcedureBuilder({
|
257
|
-
...this["~orpc"],
|
258
|
-
inputValidationIndex: this["~orpc"].inputValidationIndex + 1,
|
259
|
-
outputValidationIndex: this["~orpc"].outputValidationIndex + 1,
|
260
|
-
middlewares: [...this["~orpc"].middlewares, middleware]
|
261
|
-
});
|
262
|
-
}
|
263
|
-
input(schema, example) {
|
264
|
-
return new ProcedureBuilderWithInput({
|
119
|
+
/**
|
120
|
+
* Reset config
|
121
|
+
*/
|
122
|
+
$config(config) {
|
123
|
+
const inputValidationCount = this["~orpc"].inputValidationIndex - fallbackConfig("initialInputValidationIndex", this["~orpc"].config.initialInputValidationIndex);
|
124
|
+
const outputValidationCount = this["~orpc"].outputValidationIndex - fallbackConfig("initialOutputValidationIndex", this["~orpc"].config.initialOutputValidationIndex);
|
125
|
+
return new _Builder({
|
265
126
|
...this["~orpc"],
|
266
|
-
|
127
|
+
config,
|
128
|
+
inputValidationIndex: fallbackConfig("initialInputValidationIndex", config.initialInputValidationIndex) + inputValidationCount,
|
129
|
+
outputValidationIndex: fallbackConfig("initialOutputValidationIndex", config.initialOutputValidationIndex) + outputValidationCount
|
267
130
|
});
|
268
131
|
}
|
269
|
-
|
270
|
-
|
132
|
+
/**
|
133
|
+
* Reset initial context
|
134
|
+
*/
|
135
|
+
$context() {
|
136
|
+
return new _Builder({
|
271
137
|
...this["~orpc"],
|
272
|
-
|
138
|
+
middlewares: [],
|
139
|
+
inputValidationIndex: fallbackConfig("initialInputValidationIndex", this["~orpc"].config.initialInputValidationIndex),
|
140
|
+
outputValidationIndex: fallbackConfig("initialOutputValidationIndex", this["~orpc"].config.initialOutputValidationIndex)
|
273
141
|
});
|
274
142
|
}
|
275
|
-
|
276
|
-
|
143
|
+
/**
|
144
|
+
* Reset initial meta
|
145
|
+
*/
|
146
|
+
$meta(initialMeta) {
|
147
|
+
return new _Builder({
|
277
148
|
...this["~orpc"],
|
278
|
-
|
149
|
+
meta: initialMeta
|
279
150
|
});
|
280
151
|
}
|
281
|
-
|
282
|
-
|
283
|
-
|
284
|
-
|
285
|
-
|
286
|
-
return new Proxy(obj, {
|
287
|
-
get(target, key) {
|
288
|
-
if (key === ROUTER_CONTRACT_SYMBOL) {
|
289
|
-
return contract;
|
290
|
-
}
|
291
|
-
return Reflect.get(target, key);
|
292
|
-
}
|
293
|
-
});
|
294
|
-
}
|
295
|
-
function getRouterContract(obj) {
|
296
|
-
return obj[ROUTER_CONTRACT_SYMBOL];
|
297
|
-
}
|
298
|
-
var LAZY_ROUTER_PREFIX_SYMBOL = Symbol("ORPC_LAZY_ROUTER_PREFIX");
|
299
|
-
function deepSetLazyRouterPrefix(router, prefix) {
|
300
|
-
return new Proxy(router, {
|
301
|
-
get(target, key) {
|
302
|
-
if (key !== LAZY_ROUTER_PREFIX_SYMBOL) {
|
303
|
-
const val = Reflect.get(target, key);
|
304
|
-
if (val && (typeof val === "object" || typeof val === "function")) {
|
305
|
-
return deepSetLazyRouterPrefix(val, prefix);
|
306
|
-
}
|
307
|
-
return val;
|
308
|
-
}
|
309
|
-
return prefix;
|
310
|
-
}
|
311
|
-
});
|
312
|
-
}
|
313
|
-
function getLazyRouterPrefix(obj) {
|
314
|
-
return obj[LAZY_ROUTER_PREFIX_SYMBOL];
|
315
|
-
}
|
316
|
-
|
317
|
-
// src/lazy-decorated.ts
|
318
|
-
function decorateLazy(lazied) {
|
319
|
-
const flattenLazy = flatLazy(lazied);
|
320
|
-
const recursive = new Proxy(flattenLazy, {
|
321
|
-
get(target, key) {
|
322
|
-
if (typeof key !== "string") {
|
323
|
-
return Reflect.get(target, key);
|
324
|
-
}
|
325
|
-
const next = getRouterChild(flattenLazy, key);
|
326
|
-
return decorateLazy(next);
|
327
|
-
}
|
328
|
-
});
|
329
|
-
return recursive;
|
330
|
-
}
|
331
|
-
|
332
|
-
// src/router-builder.ts
|
333
|
-
var RouterBuilder = class _RouterBuilder {
|
334
|
-
"~type" = "RouterBuilder";
|
335
|
-
"~orpc";
|
336
|
-
constructor(def) {
|
337
|
-
this["~orpc"] = def;
|
338
|
-
if (def.prefix && def.prefix.includes("{")) {
|
339
|
-
throw new Error(`
|
340
|
-
Dynamic routing in prefix not supported yet.
|
341
|
-
Please remove "{" from "${def.prefix}".
|
342
|
-
`);
|
343
|
-
}
|
344
|
-
}
|
345
|
-
prefix(prefix) {
|
346
|
-
return new _RouterBuilder({
|
152
|
+
/**
|
153
|
+
* Reset initial route
|
154
|
+
*/
|
155
|
+
$route(initialRoute) {
|
156
|
+
return new _Builder({
|
347
157
|
...this["~orpc"],
|
348
|
-
|
158
|
+
route: initialRoute
|
349
159
|
});
|
350
160
|
}
|
351
|
-
|
352
|
-
return
|
353
|
-
...this["~orpc"],
|
354
|
-
tags: [...this["~orpc"].tags ?? [], ...tags]
|
355
|
-
});
|
161
|
+
middleware(middleware) {
|
162
|
+
return decorateMiddleware(middleware);
|
356
163
|
}
|
357
164
|
errors(errors) {
|
358
|
-
return new
|
359
|
-
...this["~orpc"],
|
360
|
-
errorMap: {
|
361
|
-
...this["~orpc"].errorMap,
|
362
|
-
...errors
|
363
|
-
}
|
364
|
-
});
|
365
|
-
}
|
366
|
-
use(middleware) {
|
367
|
-
return new _RouterBuilder({
|
165
|
+
return new _Builder({
|
368
166
|
...this["~orpc"],
|
369
|
-
|
167
|
+
errorMap: mergeErrorMap2(this["~orpc"].errorMap, errors)
|
370
168
|
});
|
371
169
|
}
|
372
|
-
|
373
|
-
const
|
374
|
-
return
|
375
|
-
}
|
376
|
-
lazy(loader) {
|
377
|
-
const adapted = adapt(flatLazy(lazy(loader)), this["~orpc"]);
|
378
|
-
return adapted;
|
379
|
-
}
|
380
|
-
};
|
381
|
-
function adapt(item, options) {
|
382
|
-
if (isLazy(item)) {
|
383
|
-
const adaptedLazy = decorateLazy(lazy(async () => {
|
384
|
-
const routerOrProcedure = (await unlazy(item)).default;
|
385
|
-
const adapted2 = adapt(routerOrProcedure, options);
|
386
|
-
return { default: adapted2 };
|
387
|
-
}));
|
388
|
-
const lazyPrefix = getLazyRouterPrefix(item);
|
389
|
-
if (options.prefix || lazyPrefix) {
|
390
|
-
const prefixed = deepSetLazyRouterPrefix(adaptedLazy, `${options.prefix ?? ""}${lazyPrefix ?? ""}`);
|
391
|
-
return prefixed;
|
392
|
-
}
|
393
|
-
return adaptedLazy;
|
394
|
-
}
|
395
|
-
if (isProcedure(item)) {
|
396
|
-
let decorated = DecoratedProcedure.decorate(item);
|
397
|
-
if (options.tags?.length) {
|
398
|
-
decorated = decorated.unshiftTag(...options.tags);
|
399
|
-
}
|
400
|
-
if (options.prefix) {
|
401
|
-
decorated = decorated.prefix(options.prefix);
|
402
|
-
}
|
403
|
-
if (options.middlewares?.length) {
|
404
|
-
decorated = decorated.unshiftMiddleware(...options.middlewares);
|
405
|
-
}
|
406
|
-
if (Object.keys(options.errorMap).length) {
|
407
|
-
decorated = decorated.errors(options.errorMap);
|
408
|
-
}
|
409
|
-
return decorated;
|
410
|
-
}
|
411
|
-
const adapted = {};
|
412
|
-
for (const key in item) {
|
413
|
-
adapted[key] = adapt(item[key], options);
|
414
|
-
}
|
415
|
-
return adapted;
|
416
|
-
}
|
417
|
-
|
418
|
-
// src/builder-with-errors-middlewares.ts
|
419
|
-
var BuilderWithErrorsMiddlewares = class _BuilderWithErrorsMiddlewares {
|
420
|
-
"~type" = "BuilderWithErrorsMiddlewares";
|
421
|
-
"~orpc";
|
422
|
-
constructor(def) {
|
423
|
-
this["~orpc"] = def;
|
424
|
-
}
|
425
|
-
errors(errors) {
|
426
|
-
return new _BuilderWithErrorsMiddlewares({
|
170
|
+
use(middleware, mapInput) {
|
171
|
+
const mapped = mapInput ? decorateMiddleware(middleware).mapInput(mapInput) : middleware;
|
172
|
+
return new _Builder({
|
427
173
|
...this["~orpc"],
|
428
|
-
|
429
|
-
...this["~orpc"].errorMap,
|
430
|
-
...errors
|
431
|
-
}
|
174
|
+
middlewares: addMiddleware(this["~orpc"].middlewares, mapped)
|
432
175
|
});
|
433
176
|
}
|
434
|
-
|
435
|
-
return new
|
177
|
+
meta(meta) {
|
178
|
+
return new _Builder({
|
436
179
|
...this["~orpc"],
|
437
|
-
|
438
|
-
outputValidationIndex: this["~orpc"].outputValidationIndex + 1,
|
439
|
-
middlewares: [...this["~orpc"].middlewares, middleware]
|
440
|
-
// FIXME: I believe we can remove `as any` here
|
180
|
+
meta: mergeMeta2(this["~orpc"].meta, meta)
|
441
181
|
});
|
442
182
|
}
|
443
183
|
route(route) {
|
444
|
-
return new
|
184
|
+
return new _Builder({
|
445
185
|
...this["~orpc"],
|
446
|
-
|
447
|
-
route: {
|
448
|
-
...this["~orpc"].config.initialRoute,
|
449
|
-
...route
|
450
|
-
},
|
451
|
-
InputSchema: void 0,
|
452
|
-
OutputSchema: void 0,
|
453
|
-
errorMap: this["~orpc"].errorMap
|
454
|
-
})
|
186
|
+
route: mergeRoute2(this["~orpc"].route, route)
|
455
187
|
});
|
456
188
|
}
|
457
|
-
input(schema
|
458
|
-
return new
|
189
|
+
input(schema) {
|
190
|
+
return new _Builder({
|
459
191
|
...this["~orpc"],
|
460
|
-
|
461
|
-
|
462
|
-
OutputSchema: void 0,
|
463
|
-
InputSchema: schema,
|
464
|
-
inputExample: example,
|
465
|
-
errorMap: this["~orpc"].errorMap
|
466
|
-
})
|
192
|
+
inputSchema: schema,
|
193
|
+
inputValidationIndex: fallbackConfig("initialInputValidationIndex", this["~orpc"].config.initialInputValidationIndex) + this["~orpc"].middlewares.length
|
467
194
|
});
|
468
195
|
}
|
469
|
-
output(schema
|
470
|
-
return new
|
196
|
+
output(schema) {
|
197
|
+
return new _Builder({
|
471
198
|
...this["~orpc"],
|
472
|
-
|
473
|
-
|
474
|
-
InputSchema: void 0,
|
475
|
-
OutputSchema: schema,
|
476
|
-
outputExample: example,
|
477
|
-
errorMap: this["~orpc"].errorMap
|
478
|
-
})
|
199
|
+
outputSchema: schema,
|
200
|
+
outputValidationIndex: fallbackConfig("initialOutputValidationIndex", this["~orpc"].config.initialOutputValidationIndex) + this["~orpc"].middlewares.length
|
479
201
|
});
|
480
202
|
}
|
481
203
|
handler(handler) {
|
482
204
|
return new DecoratedProcedure({
|
483
205
|
...this["~orpc"],
|
484
|
-
contract: new ContractProcedure({
|
485
|
-
route: this["~orpc"].config.initialRoute,
|
486
|
-
InputSchema: void 0,
|
487
|
-
OutputSchema: void 0,
|
488
|
-
errorMap: this["~orpc"].errorMap
|
489
|
-
}),
|
490
206
|
handler
|
491
207
|
});
|
492
208
|
}
|
493
209
|
prefix(prefix) {
|
494
|
-
return new
|
210
|
+
return new _Builder({
|
495
211
|
...this["~orpc"],
|
496
|
-
prefix
|
212
|
+
prefix: mergePrefix(this["~orpc"].prefix, prefix)
|
497
213
|
});
|
498
214
|
}
|
499
215
|
tag(...tags) {
|
500
|
-
return new
|
216
|
+
return new _Builder({
|
501
217
|
...this["~orpc"],
|
502
|
-
tags
|
218
|
+
tags: mergeTags(this["~orpc"].tags, tags)
|
503
219
|
});
|
504
220
|
}
|
505
221
|
router(router) {
|
506
|
-
return
|
222
|
+
return adaptRouter(router, this["~orpc"]);
|
507
223
|
}
|
508
224
|
lazy(loader) {
|
509
|
-
return
|
225
|
+
return adaptRouter(flatLazy(lazy(loader)), this["~orpc"]);
|
510
226
|
}
|
511
227
|
};
|
228
|
+
var os = new Builder({
|
229
|
+
config: {},
|
230
|
+
route: {},
|
231
|
+
meta: {},
|
232
|
+
errorMap: {},
|
233
|
+
inputSchema: void 0,
|
234
|
+
outputSchema: void 0,
|
235
|
+
inputValidationIndex: fallbackConfig("initialInputValidationIndex"),
|
236
|
+
outputValidationIndex: fallbackConfig("initialOutputValidationIndex"),
|
237
|
+
middlewares: []
|
238
|
+
});
|
512
239
|
|
513
|
-
// src/
|
514
|
-
|
515
|
-
|
516
|
-
initialOutputValidationIndex: 0
|
517
|
-
};
|
518
|
-
function fallbackConfig(key, value) {
|
519
|
-
if (value === void 0) {
|
520
|
-
return DEFAULT_CONFIG[key];
|
521
|
-
}
|
522
|
-
return value;
|
240
|
+
// src/context.ts
|
241
|
+
function mergeContext(context, other) {
|
242
|
+
return { ...context, ...other };
|
523
243
|
}
|
524
244
|
|
525
|
-
// src/
|
526
|
-
var BuilderWithErrors = class _BuilderWithErrors {
|
527
|
-
"~type" = "BuilderWithErrors";
|
528
|
-
"~orpc";
|
529
|
-
constructor(def) {
|
530
|
-
this["~orpc"] = def;
|
531
|
-
}
|
532
|
-
config(config) {
|
533
|
-
return new _BuilderWithErrors({
|
534
|
-
...this["~orpc"],
|
535
|
-
config: {
|
536
|
-
...this["~orpc"].config,
|
537
|
-
...config
|
538
|
-
}
|
539
|
-
});
|
540
|
-
}
|
541
|
-
context() {
|
542
|
-
return this;
|
543
|
-
}
|
544
|
-
errors(errors) {
|
545
|
-
return new _BuilderWithErrors({
|
546
|
-
...this["~orpc"],
|
547
|
-
errorMap: {
|
548
|
-
...this["~orpc"].errorMap,
|
549
|
-
...errors
|
550
|
-
}
|
551
|
-
});
|
552
|
-
}
|
553
|
-
middleware(middleware) {
|
554
|
-
return decorateMiddleware(middleware);
|
555
|
-
}
|
556
|
-
use(middleware) {
|
557
|
-
return new BuilderWithErrorsMiddlewares({
|
558
|
-
...this["~orpc"],
|
559
|
-
inputValidationIndex: fallbackConfig("initialInputValidationIndex", this["~orpc"].config.initialInputValidationIndex) + 1,
|
560
|
-
outputValidationIndex: fallbackConfig("initialOutputValidationIndex", this["~orpc"].config.initialOutputValidationIndex) + 1,
|
561
|
-
middlewares: [middleware]
|
562
|
-
// FIXME: I believe we can remove `as any` here
|
563
|
-
});
|
564
|
-
}
|
565
|
-
route(route) {
|
566
|
-
return new ProcedureBuilder({
|
567
|
-
middlewares: [],
|
568
|
-
inputValidationIndex: fallbackConfig("initialInputValidationIndex", this["~orpc"].config.initialInputValidationIndex),
|
569
|
-
outputValidationIndex: fallbackConfig("initialOutputValidationIndex", this["~orpc"].config.initialOutputValidationIndex),
|
570
|
-
contract: new ContractProcedure2({
|
571
|
-
route: {
|
572
|
-
...this["~orpc"].config.initialRoute,
|
573
|
-
...route
|
574
|
-
},
|
575
|
-
InputSchema: void 0,
|
576
|
-
OutputSchema: void 0,
|
577
|
-
errorMap: this["~orpc"].errorMap
|
578
|
-
})
|
579
|
-
});
|
580
|
-
}
|
581
|
-
input(schema, example) {
|
582
|
-
return new ProcedureBuilderWithInput({
|
583
|
-
middlewares: [],
|
584
|
-
inputValidationIndex: fallbackConfig("initialInputValidationIndex", this["~orpc"].config.initialInputValidationIndex),
|
585
|
-
outputValidationIndex: fallbackConfig("initialOutputValidationIndex", this["~orpc"].config.initialOutputValidationIndex),
|
586
|
-
contract: new ContractProcedure2({
|
587
|
-
route: this["~orpc"].config.initialRoute,
|
588
|
-
OutputSchema: void 0,
|
589
|
-
InputSchema: schema,
|
590
|
-
inputExample: example,
|
591
|
-
errorMap: this["~orpc"].errorMap
|
592
|
-
})
|
593
|
-
});
|
594
|
-
}
|
595
|
-
output(schema, example) {
|
596
|
-
return new ProcedureBuilderWithOutput({
|
597
|
-
middlewares: [],
|
598
|
-
inputValidationIndex: fallbackConfig("initialInputValidationIndex", this["~orpc"].config.initialInputValidationIndex),
|
599
|
-
outputValidationIndex: fallbackConfig("initialOutputValidationIndex", this["~orpc"].config.initialOutputValidationIndex),
|
600
|
-
contract: new ContractProcedure2({
|
601
|
-
route: this["~orpc"].config.initialRoute,
|
602
|
-
InputSchema: void 0,
|
603
|
-
OutputSchema: schema,
|
604
|
-
outputExample: example,
|
605
|
-
errorMap: this["~orpc"].errorMap
|
606
|
-
})
|
607
|
-
});
|
608
|
-
}
|
609
|
-
handler(handler) {
|
610
|
-
return new DecoratedProcedure({
|
611
|
-
middlewares: [],
|
612
|
-
inputValidationIndex: fallbackConfig("initialInputValidationIndex", this["~orpc"].config.initialInputValidationIndex),
|
613
|
-
outputValidationIndex: fallbackConfig("initialOutputValidationIndex", this["~orpc"].config.initialOutputValidationIndex),
|
614
|
-
contract: new ContractProcedure2({
|
615
|
-
route: this["~orpc"].config.initialRoute,
|
616
|
-
InputSchema: void 0,
|
617
|
-
OutputSchema: void 0,
|
618
|
-
errorMap: this["~orpc"].errorMap
|
619
|
-
}),
|
620
|
-
handler
|
621
|
-
});
|
622
|
-
}
|
623
|
-
prefix(prefix) {
|
624
|
-
return new RouterBuilder({
|
625
|
-
middlewares: [],
|
626
|
-
errorMap: this["~orpc"].errorMap,
|
627
|
-
prefix
|
628
|
-
});
|
629
|
-
}
|
630
|
-
tag(...tags) {
|
631
|
-
return new RouterBuilder({
|
632
|
-
middlewares: [],
|
633
|
-
errorMap: this["~orpc"].errorMap,
|
634
|
-
tags
|
635
|
-
});
|
636
|
-
}
|
637
|
-
router(router) {
|
638
|
-
return new RouterBuilder({
|
639
|
-
middlewares: [],
|
640
|
-
...this["~orpc"]
|
641
|
-
}).router(router);
|
642
|
-
}
|
643
|
-
lazy(loader) {
|
644
|
-
return new RouterBuilder({
|
645
|
-
middlewares: [],
|
646
|
-
...this["~orpc"]
|
647
|
-
}).lazy(loader);
|
648
|
-
}
|
649
|
-
};
|
650
|
-
|
651
|
-
// src/builder-with-middlewares.ts
|
652
|
-
import { ContractProcedure as ContractProcedure3 } from "@orpc/contract";
|
653
|
-
|
654
|
-
// src/implementer-chainable.ts
|
245
|
+
// src/implementer.ts
|
655
246
|
import { isContractProcedure } from "@orpc/contract";
|
656
|
-
|
657
|
-
|
658
|
-
// src/router-implementer.ts
|
659
|
-
var RouterImplementer = class _RouterImplementer {
|
660
|
-
"~type" = "RouterImplementer";
|
661
|
-
"~orpc";
|
662
|
-
constructor(def) {
|
663
|
-
this["~orpc"] = def;
|
664
|
-
}
|
665
|
-
use(middleware) {
|
666
|
-
return new _RouterImplementer({
|
667
|
-
...this["~orpc"],
|
668
|
-
middlewares: [...this["~orpc"].middlewares ?? [], middleware]
|
669
|
-
});
|
670
|
-
}
|
671
|
-
router(router) {
|
672
|
-
const adapted = new RouterBuilder({
|
673
|
-
...this["~orpc"],
|
674
|
-
errorMap: {}
|
675
|
-
}).router(router);
|
676
|
-
const contracted = setRouterContract(adapted, this["~orpc"].contract);
|
677
|
-
return contracted;
|
678
|
-
}
|
679
|
-
lazy(loader) {
|
680
|
-
const adapted = new RouterBuilder({
|
681
|
-
...this["~orpc"],
|
682
|
-
errorMap: {}
|
683
|
-
}).lazy(loader);
|
684
|
-
const contracted = setRouterContract(adapted, this["~orpc"].contract);
|
685
|
-
return contracted;
|
686
|
-
}
|
687
|
-
};
|
688
|
-
|
689
|
-
// src/implementer-chainable.ts
|
690
|
-
function createChainableImplementer(contract, options) {
|
247
|
+
function implementerInternal(contract, config, middlewares) {
|
691
248
|
if (isContractProcedure(contract)) {
|
692
|
-
const
|
693
|
-
contract,
|
694
|
-
|
695
|
-
|
696
|
-
|
697
|
-
|
698
|
-
|
699
|
-
|
700
|
-
|
701
|
-
|
702
|
-
|
703
|
-
|
704
|
-
|
705
|
-
|
706
|
-
|
707
|
-
|
708
|
-
|
709
|
-
|
249
|
+
const impl2 = new Builder({
|
250
|
+
...contract["~orpc"],
|
251
|
+
config,
|
252
|
+
middlewares,
|
253
|
+
inputValidationIndex: fallbackConfig("initialInputValidationIndex", config?.initialInputValidationIndex) + middlewares.length,
|
254
|
+
outputValidationIndex: fallbackConfig("initialOutputValidationIndex", config?.initialOutputValidationIndex) + middlewares.length
|
255
|
+
});
|
256
|
+
return impl2;
|
257
|
+
}
|
258
|
+
const impl = new Proxy(contract, {
|
259
|
+
get: (target, key) => {
|
260
|
+
let method;
|
261
|
+
if (key === "middleware") {
|
262
|
+
method = (mid) => decorateMiddleware(mid);
|
263
|
+
} else if (key === "use") {
|
264
|
+
method = (mid) => {
|
265
|
+
return implementerInternal(
|
266
|
+
contract,
|
267
|
+
config,
|
268
|
+
addMiddleware(middlewares, mid)
|
269
|
+
);
|
270
|
+
};
|
271
|
+
} else if (key === "router") {
|
272
|
+
method = (router) => {
|
273
|
+
const adapted = adaptRouter(router, {
|
274
|
+
middlewares,
|
275
|
+
errorMap: {}
|
276
|
+
});
|
277
|
+
return setRouterContract(adapted, contract);
|
278
|
+
};
|
279
|
+
} else if (key === "lazy") {
|
280
|
+
method = (loader) => {
|
281
|
+
const adapted = adaptRouter(flatLazy(lazy(loader)), {
|
282
|
+
middlewares,
|
283
|
+
errorMap: {}
|
284
|
+
});
|
285
|
+
return setRouterContract(adapted, contract);
|
286
|
+
};
|
287
|
+
}
|
710
288
|
const next = Reflect.get(target, key);
|
711
|
-
|
712
|
-
|
713
|
-
return next;
|
289
|
+
if (!next || typeof next !== "function" && typeof next !== "object") {
|
290
|
+
return method ?? next;
|
714
291
|
}
|
715
|
-
|
716
|
-
|
292
|
+
const nextImpl = implementerInternal(next, config, middlewares);
|
293
|
+
if (method) {
|
294
|
+
return new Proxy(method, {
|
295
|
+
get(_, key2) {
|
296
|
+
return Reflect.get(nextImpl, key2);
|
297
|
+
}
|
298
|
+
});
|
717
299
|
}
|
718
|
-
return
|
300
|
+
return nextImpl;
|
719
301
|
}
|
720
302
|
});
|
721
|
-
return
|
303
|
+
return impl;
|
722
304
|
}
|
723
|
-
|
724
|
-
|
725
|
-
|
726
|
-
|
727
|
-
|
728
|
-
|
729
|
-
|
730
|
-
|
731
|
-
|
732
|
-
return new _BuilderWithMiddlewares({
|
733
|
-
...this["~orpc"],
|
734
|
-
inputValidationIndex: this["~orpc"].inputValidationIndex + 1,
|
735
|
-
outputValidationIndex: this["~orpc"].outputValidationIndex + 1,
|
736
|
-
middlewares: [...this["~orpc"].middlewares, middleware]
|
737
|
-
});
|
738
|
-
}
|
739
|
-
errors(errors) {
|
740
|
-
return new BuilderWithErrorsMiddlewares({
|
741
|
-
...this["~orpc"],
|
742
|
-
errorMap: errors
|
743
|
-
});
|
744
|
-
}
|
745
|
-
route(route) {
|
746
|
-
return new ProcedureBuilder({
|
747
|
-
...this["~orpc"],
|
748
|
-
contract: new ContractProcedure3({
|
749
|
-
route: {
|
750
|
-
...this["~orpc"].config.initialRoute,
|
751
|
-
...route
|
752
|
-
},
|
753
|
-
InputSchema: void 0,
|
754
|
-
OutputSchema: void 0,
|
755
|
-
errorMap: {}
|
756
|
-
})
|
757
|
-
});
|
758
|
-
}
|
759
|
-
input(schema, example) {
|
760
|
-
return new ProcedureBuilderWithInput({
|
761
|
-
...this["~orpc"],
|
762
|
-
contract: new ContractProcedure3({
|
763
|
-
route: this["~orpc"].config.initialRoute,
|
764
|
-
OutputSchema: void 0,
|
765
|
-
InputSchema: schema,
|
766
|
-
inputExample: example,
|
767
|
-
errorMap: {}
|
768
|
-
})
|
769
|
-
});
|
770
|
-
}
|
771
|
-
output(schema, example) {
|
772
|
-
return new ProcedureBuilderWithOutput({
|
773
|
-
...this["~orpc"],
|
774
|
-
contract: new ContractProcedure3({
|
775
|
-
route: this["~orpc"].config.initialRoute,
|
776
|
-
InputSchema: void 0,
|
777
|
-
OutputSchema: schema,
|
778
|
-
outputExample: example,
|
779
|
-
errorMap: {}
|
780
|
-
})
|
781
|
-
});
|
782
|
-
}
|
783
|
-
handler(handler) {
|
784
|
-
return new DecoratedProcedure({
|
785
|
-
...this["~orpc"],
|
786
|
-
contract: new ContractProcedure3({
|
787
|
-
route: this["~orpc"].config.initialRoute,
|
788
|
-
InputSchema: void 0,
|
789
|
-
OutputSchema: void 0,
|
790
|
-
errorMap: {}
|
791
|
-
}),
|
792
|
-
handler
|
793
|
-
});
|
794
|
-
}
|
795
|
-
prefix(prefix) {
|
796
|
-
return new RouterBuilder({
|
797
|
-
middlewares: this["~orpc"].middlewares,
|
798
|
-
errorMap: {},
|
799
|
-
prefix
|
800
|
-
});
|
801
|
-
}
|
802
|
-
tag(...tags) {
|
803
|
-
return new RouterBuilder({
|
804
|
-
middlewares: this["~orpc"].middlewares,
|
805
|
-
errorMap: {},
|
806
|
-
tags
|
807
|
-
});
|
808
|
-
}
|
809
|
-
router(router) {
|
810
|
-
return new RouterBuilder({
|
811
|
-
errorMap: {},
|
812
|
-
...this["~orpc"]
|
813
|
-
}).router(router);
|
814
|
-
}
|
815
|
-
lazy(loader) {
|
816
|
-
return new RouterBuilder({
|
817
|
-
errorMap: {},
|
818
|
-
...this["~orpc"]
|
819
|
-
}).lazy(loader);
|
820
|
-
}
|
821
|
-
contract(contract) {
|
822
|
-
return createChainableImplementer(contract, this["~orpc"]);
|
823
|
-
}
|
824
|
-
};
|
825
|
-
|
826
|
-
// src/builder.ts
|
827
|
-
var Builder = class _Builder {
|
828
|
-
"~type" = "Builder";
|
829
|
-
"~orpc";
|
830
|
-
constructor(def) {
|
831
|
-
this["~orpc"] = def;
|
832
|
-
}
|
833
|
-
config(config) {
|
834
|
-
return new _Builder({
|
835
|
-
...this["~orpc"],
|
836
|
-
config: {
|
837
|
-
...this["~orpc"].config,
|
838
|
-
...config
|
305
|
+
function implement(contract, config = {}) {
|
306
|
+
const implInternal = implementerInternal(contract, config, []);
|
307
|
+
const impl = new Proxy(implInternal, {
|
308
|
+
get: (target, key) => {
|
309
|
+
let method;
|
310
|
+
if (key === "$context") {
|
311
|
+
method = () => impl;
|
312
|
+
} else if (key === "$config") {
|
313
|
+
method = (config2) => implement(contract, config2);
|
839
314
|
}
|
840
|
-
|
841
|
-
|
842
|
-
|
843
|
-
|
844
|
-
|
845
|
-
|
846
|
-
|
847
|
-
|
848
|
-
|
849
|
-
|
850
|
-
|
851
|
-
|
852
|
-
}
|
853
|
-
}
|
854
|
-
|
855
|
-
|
856
|
-
...this["~orpc"],
|
857
|
-
inputValidationIndex: fallbackConfig("initialInputValidationIndex", this["~orpc"].config.initialInputValidationIndex) + 1,
|
858
|
-
outputValidationIndex: fallbackConfig("initialOutputValidationIndex", this["~orpc"].config.initialOutputValidationIndex) + 1,
|
859
|
-
middlewares: [middleware]
|
860
|
-
// FIXME: I believe we can remove `as any` here
|
861
|
-
});
|
862
|
-
}
|
863
|
-
route(route) {
|
864
|
-
return new ProcedureBuilder({
|
865
|
-
middlewares: [],
|
866
|
-
inputValidationIndex: fallbackConfig("initialInputValidationIndex", this["~orpc"].config.initialInputValidationIndex),
|
867
|
-
outputValidationIndex: fallbackConfig("initialOutputValidationIndex", this["~orpc"].config.initialOutputValidationIndex),
|
868
|
-
contract: new ContractProcedure4({
|
869
|
-
route: {
|
870
|
-
...this["~orpc"].config.initialRoute,
|
871
|
-
...route
|
872
|
-
},
|
873
|
-
InputSchema: void 0,
|
874
|
-
OutputSchema: void 0,
|
875
|
-
errorMap: {}
|
876
|
-
})
|
877
|
-
});
|
878
|
-
}
|
879
|
-
input(schema, example) {
|
880
|
-
return new ProcedureBuilderWithInput({
|
881
|
-
middlewares: [],
|
882
|
-
inputValidationIndex: fallbackConfig("initialInputValidationIndex", this["~orpc"].config.initialInputValidationIndex),
|
883
|
-
outputValidationIndex: fallbackConfig("initialOutputValidationIndex", this["~orpc"].config.initialOutputValidationIndex),
|
884
|
-
contract: new ContractProcedure4({
|
885
|
-
route: this["~orpc"].config.initialRoute,
|
886
|
-
OutputSchema: void 0,
|
887
|
-
InputSchema: schema,
|
888
|
-
inputExample: example,
|
889
|
-
errorMap: {}
|
890
|
-
})
|
891
|
-
});
|
892
|
-
}
|
893
|
-
output(schema, example) {
|
894
|
-
return new ProcedureBuilderWithOutput({
|
895
|
-
middlewares: [],
|
896
|
-
inputValidationIndex: fallbackConfig("initialInputValidationIndex", this["~orpc"].config.initialInputValidationIndex),
|
897
|
-
outputValidationIndex: fallbackConfig("initialOutputValidationIndex", this["~orpc"].config.initialOutputValidationIndex),
|
898
|
-
contract: new ContractProcedure4({
|
899
|
-
route: this["~orpc"].config.initialRoute,
|
900
|
-
InputSchema: void 0,
|
901
|
-
OutputSchema: schema,
|
902
|
-
outputExample: example,
|
903
|
-
errorMap: {}
|
904
|
-
})
|
905
|
-
});
|
906
|
-
}
|
907
|
-
handler(handler) {
|
908
|
-
return new DecoratedProcedure({
|
909
|
-
middlewares: [],
|
910
|
-
inputValidationIndex: fallbackConfig("initialInputValidationIndex", this["~orpc"].config.initialInputValidationIndex),
|
911
|
-
outputValidationIndex: fallbackConfig("initialOutputValidationIndex", this["~orpc"].config.initialOutputValidationIndex),
|
912
|
-
contract: new ContractProcedure4({
|
913
|
-
route: this["~orpc"].config.initialRoute,
|
914
|
-
InputSchema: void 0,
|
915
|
-
OutputSchema: void 0,
|
916
|
-
errorMap: {}
|
917
|
-
}),
|
918
|
-
handler
|
919
|
-
});
|
920
|
-
}
|
921
|
-
prefix(prefix) {
|
922
|
-
return new RouterBuilder({
|
923
|
-
middlewares: [],
|
924
|
-
errorMap: {},
|
925
|
-
prefix
|
926
|
-
});
|
927
|
-
}
|
928
|
-
tag(...tags) {
|
929
|
-
return new RouterBuilder({
|
930
|
-
middlewares: [],
|
931
|
-
errorMap: {},
|
932
|
-
tags
|
933
|
-
});
|
934
|
-
}
|
935
|
-
router(router) {
|
936
|
-
return new RouterBuilder({
|
937
|
-
middlewares: [],
|
938
|
-
errorMap: []
|
939
|
-
}).router(router);
|
940
|
-
}
|
941
|
-
lazy(loader) {
|
942
|
-
return new RouterBuilder({
|
943
|
-
middlewares: [],
|
944
|
-
errorMap: {}
|
945
|
-
}).lazy(loader);
|
946
|
-
}
|
947
|
-
contract(contract) {
|
948
|
-
return createChainableImplementer(contract, {
|
949
|
-
middlewares: [],
|
950
|
-
inputValidationIndex: 0,
|
951
|
-
outputValidationIndex: 0
|
952
|
-
});
|
953
|
-
}
|
954
|
-
};
|
315
|
+
const next = Reflect.get(target, key);
|
316
|
+
if (!next || typeof next !== "function" && typeof next !== "object") {
|
317
|
+
return method ?? next;
|
318
|
+
}
|
319
|
+
if (method) {
|
320
|
+
return new Proxy(method, {
|
321
|
+
get(_, key2) {
|
322
|
+
return Reflect.get(next, key2);
|
323
|
+
}
|
324
|
+
});
|
325
|
+
}
|
326
|
+
return next;
|
327
|
+
}
|
328
|
+
});
|
329
|
+
return impl;
|
330
|
+
}
|
955
331
|
|
956
332
|
// src/procedure-utils.ts
|
957
333
|
function call(procedure, input, ...rest) {
|
958
334
|
return createProcedureClient(procedure, ...rest)(input);
|
959
335
|
}
|
960
336
|
|
961
|
-
// src/lazy-utils.ts
|
962
|
-
function createLazyProcedureFormAnyLazy(lazied) {
|
963
|
-
const lazyProcedure = lazy(async () => {
|
964
|
-
const { default: maybeProcedure } = await unlazy(flatLazy(lazied));
|
965
|
-
if (!isProcedure(maybeProcedure)) {
|
966
|
-
throw new Error(`
|
967
|
-
Expected a lazy<procedure> but got lazy<unknown>.
|
968
|
-
This should be caught by TypeScript compilation.
|
969
|
-
Please report this issue if this makes you feel uncomfortable.
|
970
|
-
`);
|
971
|
-
}
|
972
|
-
return { default: maybeProcedure };
|
973
|
-
});
|
974
|
-
return lazyProcedure;
|
975
|
-
}
|
976
|
-
|
977
337
|
// src/router-client.ts
|
978
338
|
function createRouterClient(router, ...rest) {
|
979
339
|
if (isProcedure(router)) {
|
@@ -1001,43 +361,53 @@ function createRouterClient(router, ...rest) {
|
|
1001
361
|
}
|
1002
362
|
|
1003
363
|
// src/index.ts
|
1004
|
-
import { isDefinedError, ORPCError, safe
|
1005
|
-
|
1006
|
-
|
1007
|
-
}
|
364
|
+
import { isDefinedError, ORPCError, safe } from "@orpc/client";
|
365
|
+
import { eventIterator, type, ValidationError } from "@orpc/contract";
|
366
|
+
import { getEventMeta, withEventMeta } from "@orpc/server-standard";
|
367
|
+
import { onError, onFinish, onStart, onSuccess } from "@orpc/shared";
|
1008
368
|
export {
|
1009
369
|
Builder,
|
1010
370
|
DecoratedProcedure,
|
1011
371
|
LAZY_LOADER_SYMBOL,
|
1012
372
|
ORPCError,
|
1013
373
|
Procedure,
|
1014
|
-
|
1015
|
-
|
1016
|
-
RouterBuilder,
|
1017
|
-
RouterImplementer,
|
374
|
+
ValidationError,
|
375
|
+
adaptRouter,
|
1018
376
|
call,
|
1019
|
-
|
1020
|
-
|
377
|
+
convertPathToHttpPath,
|
378
|
+
createAccessibleLazyRouter,
|
379
|
+
createContractedProcedure,
|
380
|
+
createLazyProcedureFormAnyLazy,
|
1021
381
|
createProcedureClient,
|
1022
382
|
createRouterClient,
|
1023
|
-
decorateLazy,
|
1024
383
|
decorateMiddleware,
|
1025
384
|
deepSetLazyRouterPrefix,
|
385
|
+
eachAllContractProcedure,
|
386
|
+
eachContractProcedure,
|
387
|
+
eventIterator,
|
1026
388
|
fallbackConfig,
|
1027
389
|
flatLazy,
|
390
|
+
getEventMeta,
|
1028
391
|
getLazyRouterPrefix,
|
1029
392
|
getRouterChild,
|
1030
393
|
getRouterContract,
|
394
|
+
implement,
|
395
|
+
implementerInternal,
|
1031
396
|
isDefinedError,
|
1032
397
|
isLazy,
|
1033
398
|
isProcedure,
|
1034
399
|
lazy,
|
1035
400
|
mergeContext,
|
1036
401
|
middlewareOutputFn,
|
402
|
+
onError,
|
403
|
+
onFinish,
|
404
|
+
onStart,
|
405
|
+
onSuccess,
|
1037
406
|
os,
|
1038
407
|
safe,
|
1039
408
|
setRouterContract,
|
1040
409
|
type,
|
1041
|
-
unlazy
|
410
|
+
unlazy,
|
411
|
+
withEventMeta
|
1042
412
|
};
|
1043
413
|
//# sourceMappingURL=index.js.map
|