@orpc/server 0.0.0-next.b4e6d3a → 0.0.0-next.b4fc1d9
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 +122 -0
- package/dist/adapters/fetch/index.d.mts +28 -0
- package/dist/adapters/fetch/index.d.ts +28 -0
- package/dist/adapters/fetch/index.mjs +9 -0
- package/dist/adapters/hono/index.d.mts +21 -0
- package/dist/adapters/hono/index.d.ts +21 -0
- package/dist/{hono.js → adapters/hono/index.mjs} +11 -19
- package/dist/adapters/next/index.d.mts +28 -0
- package/dist/adapters/next/index.d.ts +28 -0
- package/dist/{next.js → adapters/next/index.mjs} +11 -19
- package/dist/adapters/node/index.d.mts +36 -0
- package/dist/adapters/node/index.d.ts +36 -0
- package/dist/adapters/node/index.mjs +32 -0
- package/dist/adapters/standard/index.d.mts +26 -0
- package/dist/adapters/standard/index.d.ts +26 -0
- package/dist/adapters/standard/index.mjs +6 -0
- package/dist/index.d.mts +277 -0
- package/dist/index.d.ts +277 -0
- package/dist/{index.js → index.mjs} +92 -154
- package/dist/plugins/index.d.mts +31 -0
- package/dist/plugins/index.d.ts +31 -0
- package/dist/{chunk-XFBAK67J.js → plugins/index.mjs} +18 -43
- package/dist/shared/server.BY9sDlwl.mjs +158 -0
- package/dist/shared/server.BqBN5WhH.d.mts +8 -0
- package/dist/shared/server.BtxZnWJ9.mjs +374 -0
- package/dist/shared/server.CPqNKiJp.d.ts +75 -0
- package/dist/shared/server.Dba3Iiyp.mjs +12 -0
- package/dist/shared/server.Del5OmaY.mjs +29 -0
- package/dist/shared/server.Dm3ZuTuI.d.ts +8 -0
- package/dist/shared/server.MZvbGc3n.d.mts +143 -0
- package/dist/shared/server.MZvbGc3n.d.ts +143 -0
- package/dist/shared/server.P4_D9lKb.d.mts +75 -0
- package/package.json +29 -31
- package/dist/chunk-GIXDBJGV.js +0 -319
- package/dist/chunk-WJ2G7572.js +0 -145
- package/dist/chunk-XP6YRLY2.js +0 -378
- package/dist/fetch.js +0 -16
- package/dist/node.js +0 -170
- package/dist/plugins.js +0 -11
- package/dist/src/adapters/fetch/index.d.ts +0 -4
- package/dist/src/adapters/fetch/rpc-handler.d.ts +0 -11
- package/dist/src/adapters/fetch/types.d.ts +0 -14
- package/dist/src/adapters/fetch/utils.d.ts +0 -5
- package/dist/src/adapters/hono/index.d.ts +0 -3
- package/dist/src/adapters/hono/middleware.d.ts +0 -12
- package/dist/src/adapters/next/index.d.ts +0 -3
- package/dist/src/adapters/next/serve.d.ts +0 -19
- package/dist/src/adapters/node/index.d.ts +0 -4
- package/dist/src/adapters/node/rpc-handler.d.ts +0 -11
- package/dist/src/adapters/node/types.d.ts +0 -22
- package/dist/src/adapters/node/utils.d.ts +0 -5
- package/dist/src/adapters/standard/handler.d.ts +0 -50
- package/dist/src/adapters/standard/index.d.ts +0 -7
- package/dist/src/adapters/standard/rpc-codec.d.ts +0 -15
- package/dist/src/adapters/standard/rpc-handler.d.ts +0 -8
- package/dist/src/adapters/standard/rpc-matcher.d.ts +0 -10
- package/dist/src/adapters/standard/rpc-serializer.d.ts +0 -16
- package/dist/src/adapters/standard/types.d.ts +0 -44
- package/dist/src/builder-variants.d.ts +0 -74
- package/dist/src/builder.d.ts +0 -57
- package/dist/src/config.d.ts +0 -6
- package/dist/src/context.d.ts +0 -9
- package/dist/src/hidden.d.ts +0 -8
- package/dist/src/implementer-procedure.d.ts +0 -31
- package/dist/src/implementer-variants.d.ts +0 -17
- package/dist/src/implementer.d.ts +0 -28
- package/dist/src/index.d.ts +0 -23
- package/dist/src/lazy-utils.d.ts +0 -6
- package/dist/src/lazy.d.ts +0 -22
- package/dist/src/middleware-decorated.d.ts +0 -10
- package/dist/src/middleware-utils.d.ts +0 -5
- package/dist/src/middleware.d.ts +0 -36
- package/dist/src/plugins/base.d.ts +0 -13
- package/dist/src/plugins/cors.d.ts +0 -19
- package/dist/src/plugins/index.d.ts +0 -4
- package/dist/src/plugins/response-headers.d.ts +0 -10
- package/dist/src/procedure-client.d.ts +0 -30
- package/dist/src/procedure-decorated.d.ts +0 -22
- package/dist/src/procedure-utils.d.ts +0 -18
- package/dist/src/procedure.d.ts +0 -29
- package/dist/src/router-accessible-lazy.d.ts +0 -8
- package/dist/src/router-client.d.ts +0 -11
- package/dist/src/router.d.ts +0 -30
- package/dist/src/utils.d.ts +0 -24
- package/dist/standard.js +0 -17
@@ -1,35 +1,15 @@
|
|
1
|
-
import {
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
createContractedProcedure,
|
9
|
-
createLazyProcedureFormAnyLazy,
|
10
|
-
createProcedureClient,
|
11
|
-
deepSetLazyRouterPrefix,
|
12
|
-
eachAllContractProcedure,
|
13
|
-
eachContractProcedure,
|
14
|
-
flatLazy,
|
15
|
-
getLazyRouterPrefix,
|
16
|
-
getRouterChild,
|
17
|
-
getRouterContract,
|
18
|
-
isLazy,
|
19
|
-
isProcedure,
|
20
|
-
lazy,
|
21
|
-
middlewareOutputFn,
|
22
|
-
setRouterContract,
|
23
|
-
unlazy
|
24
|
-
} from "./chunk-XP6YRLY2.js";
|
1
|
+
import { mergeErrorMap, mergeMeta, mergeRoute, mergePrefix, mergeTags, isContractProcedure, getContractRouter } from '@orpc/contract';
|
2
|
+
export { ValidationError, eventIterator, type } from '@orpc/contract';
|
3
|
+
import { P as Procedure, d as addMiddleware, c as createProcedureClient, e as enhanceRouter, l as lazy, s as setHiddenRouterContract, i as isProcedure, f as isLazy, h as createAssertedLazyProcedure, g as getRouter } from './shared/server.BtxZnWJ9.mjs';
|
4
|
+
export { L as LAZY_SYMBOL, q as call, w as createAccessibleLazyRouter, b as createContractedProcedure, j as createORPCErrorConstructorMap, r as getHiddenRouterContract, k as getLazyMeta, o as isStartWithMiddlewares, m as mergeCurrentContext, p as mergeMiddlewares, n as middlewareOutputFn, x as resolveContractProcedures, a as toHttpPath, t as traverseContractProcedures, u as unlazy, y as unlazyRouter, v as validateORPCError } from './shared/server.BtxZnWJ9.mjs';
|
5
|
+
export { ORPCError, isDefinedError, safe } from '@orpc/client';
|
6
|
+
export { onError, onFinish, onStart, onSuccess } from '@orpc/shared';
|
7
|
+
export { getEventMeta, withEventMeta } from '@orpc/standard-server';
|
25
8
|
|
26
|
-
|
27
|
-
import { mergeErrorMap as mergeErrorMap2, mergeMeta as mergeMeta2, mergePrefix, mergeRoute as mergeRoute2, mergeTags } from "@orpc/contract";
|
28
|
-
|
29
|
-
// src/config.ts
|
30
|
-
var DEFAULT_CONFIG = {
|
9
|
+
const DEFAULT_CONFIG = {
|
31
10
|
initialInputValidationIndex: 0,
|
32
|
-
initialOutputValidationIndex: 0
|
11
|
+
initialOutputValidationIndex: 0,
|
12
|
+
dedupeLeadingMiddlewares: true
|
33
13
|
};
|
34
14
|
function fallbackConfig(key, value) {
|
35
15
|
if (value === void 0) {
|
@@ -38,9 +18,8 @@ function fallbackConfig(key, value) {
|
|
38
18
|
return value;
|
39
19
|
}
|
40
20
|
|
41
|
-
// src/middleware-decorated.ts
|
42
21
|
function decorateMiddleware(middleware) {
|
43
|
-
const decorated = middleware;
|
22
|
+
const decorated = (...args) => middleware(...args);
|
44
23
|
decorated.mapInput = (mapInput) => {
|
45
24
|
const mapped = decorateMiddleware(
|
46
25
|
(options, input, ...rest) => middleware(options, mapInput(input), ...rest)
|
@@ -50,10 +29,14 @@ function decorateMiddleware(middleware) {
|
|
50
29
|
decorated.concat = (concatMiddleware, mapInput) => {
|
51
30
|
const mapped = mapInput ? decorateMiddleware(concatMiddleware).mapInput(mapInput) : concatMiddleware;
|
52
31
|
const concatted = decorateMiddleware((options, input, output, ...rest) => {
|
53
|
-
const
|
54
|
-
|
55
|
-
|
56
|
-
|
32
|
+
const merged = middleware({
|
33
|
+
...options,
|
34
|
+
next: (...[nextOptions1]) => mapped({
|
35
|
+
...options,
|
36
|
+
context: { ...options.context, ...nextOptions1?.context },
|
37
|
+
next: (...[nextOptions2]) => options.next({ context: { ...nextOptions1?.context, ...nextOptions2?.context } })
|
38
|
+
}, input, output, ...rest)
|
39
|
+
}, input, output, ...rest);
|
57
40
|
return merged;
|
58
41
|
});
|
59
42
|
return concatted;
|
@@ -61,30 +44,28 @@ function decorateMiddleware(middleware) {
|
|
61
44
|
return decorated;
|
62
45
|
}
|
63
46
|
|
64
|
-
|
65
|
-
import { mergeErrorMap, mergeMeta, mergeRoute } from "@orpc/contract";
|
66
|
-
var DecoratedProcedure = class _DecoratedProcedure extends Procedure {
|
47
|
+
class DecoratedProcedure extends Procedure {
|
67
48
|
errors(errors) {
|
68
|
-
return new
|
49
|
+
return new DecoratedProcedure({
|
69
50
|
...this["~orpc"],
|
70
51
|
errorMap: mergeErrorMap(this["~orpc"].errorMap, errors)
|
71
52
|
});
|
72
53
|
}
|
73
54
|
meta(meta) {
|
74
|
-
return new
|
55
|
+
return new DecoratedProcedure({
|
75
56
|
...this["~orpc"],
|
76
57
|
meta: mergeMeta(this["~orpc"].meta, meta)
|
77
58
|
});
|
78
59
|
}
|
79
60
|
route(route) {
|
80
|
-
return new
|
61
|
+
return new DecoratedProcedure({
|
81
62
|
...this["~orpc"],
|
82
63
|
route: mergeRoute(this["~orpc"].route, route)
|
83
64
|
});
|
84
65
|
}
|
85
66
|
use(middleware, mapInput) {
|
86
67
|
const mapped = mapInput ? decorateMiddleware(middleware).mapInput(mapInput) : middleware;
|
87
|
-
return new
|
68
|
+
return new DecoratedProcedure({
|
88
69
|
...this["~orpc"],
|
89
70
|
middlewares: addMiddleware(this["~orpc"].middlewares, mapped)
|
90
71
|
});
|
@@ -93,9 +74,13 @@ var DecoratedProcedure = class _DecoratedProcedure extends Procedure {
|
|
93
74
|
* Make this procedure callable (works like a function while still being a procedure).
|
94
75
|
*/
|
95
76
|
callable(...rest) {
|
96
|
-
return
|
97
|
-
|
98
|
-
|
77
|
+
return new Proxy(createProcedureClient(this, ...rest), {
|
78
|
+
get: (target, key) => {
|
79
|
+
return Reflect.has(this, key) ? Reflect.get(this, key) : Reflect.get(target, key);
|
80
|
+
},
|
81
|
+
has: (target, key) => {
|
82
|
+
return Reflect.has(this, key) || Reflect.has(target, key);
|
83
|
+
}
|
99
84
|
});
|
100
85
|
}
|
101
86
|
/**
|
@@ -104,10 +89,9 @@ var DecoratedProcedure = class _DecoratedProcedure extends Procedure {
|
|
104
89
|
actionable(...rest) {
|
105
90
|
return this.callable(...rest);
|
106
91
|
}
|
107
|
-
}
|
92
|
+
}
|
108
93
|
|
109
|
-
|
110
|
-
var Builder = class _Builder {
|
94
|
+
class Builder {
|
111
95
|
"~orpc";
|
112
96
|
constructor(def) {
|
113
97
|
this["~orpc"] = def;
|
@@ -118,9 +102,10 @@ var Builder = class _Builder {
|
|
118
102
|
$config(config) {
|
119
103
|
const inputValidationCount = this["~orpc"].inputValidationIndex - fallbackConfig("initialInputValidationIndex", this["~orpc"].config.initialInputValidationIndex);
|
120
104
|
const outputValidationCount = this["~orpc"].outputValidationIndex - fallbackConfig("initialOutputValidationIndex", this["~orpc"].config.initialOutputValidationIndex);
|
121
|
-
return new
|
105
|
+
return new Builder({
|
122
106
|
...this["~orpc"],
|
123
107
|
config,
|
108
|
+
dedupeLeadingMiddlewares: fallbackConfig("dedupeLeadingMiddlewares", config.dedupeLeadingMiddlewares),
|
124
109
|
inputValidationIndex: fallbackConfig("initialInputValidationIndex", config.initialInputValidationIndex) + inputValidationCount,
|
125
110
|
outputValidationIndex: fallbackConfig("initialOutputValidationIndex", config.initialOutputValidationIndex) + outputValidationCount
|
126
111
|
});
|
@@ -129,7 +114,7 @@ var Builder = class _Builder {
|
|
129
114
|
* Reset initial context
|
130
115
|
*/
|
131
116
|
$context() {
|
132
|
-
return new
|
117
|
+
return new Builder({
|
133
118
|
...this["~orpc"],
|
134
119
|
middlewares: [],
|
135
120
|
inputValidationIndex: fallbackConfig("initialInputValidationIndex", this["~orpc"].config.initialInputValidationIndex),
|
@@ -140,7 +125,7 @@ var Builder = class _Builder {
|
|
140
125
|
* Reset initial meta
|
141
126
|
*/
|
142
127
|
$meta(initialMeta) {
|
143
|
-
return new
|
128
|
+
return new Builder({
|
144
129
|
...this["~orpc"],
|
145
130
|
meta: initialMeta
|
146
131
|
});
|
@@ -149,48 +134,54 @@ var Builder = class _Builder {
|
|
149
134
|
* Reset initial route
|
150
135
|
*/
|
151
136
|
$route(initialRoute) {
|
152
|
-
return new
|
137
|
+
return new Builder({
|
153
138
|
...this["~orpc"],
|
154
139
|
route: initialRoute
|
155
140
|
});
|
156
141
|
}
|
142
|
+
$input(initialInputSchema) {
|
143
|
+
return new Builder({
|
144
|
+
...this["~orpc"],
|
145
|
+
inputSchema: initialInputSchema
|
146
|
+
});
|
147
|
+
}
|
157
148
|
middleware(middleware) {
|
158
149
|
return decorateMiddleware(middleware);
|
159
150
|
}
|
160
151
|
errors(errors) {
|
161
|
-
return new
|
152
|
+
return new Builder({
|
162
153
|
...this["~orpc"],
|
163
|
-
errorMap:
|
154
|
+
errorMap: mergeErrorMap(this["~orpc"].errorMap, errors)
|
164
155
|
});
|
165
156
|
}
|
166
157
|
use(middleware, mapInput) {
|
167
158
|
const mapped = mapInput ? decorateMiddleware(middleware).mapInput(mapInput) : middleware;
|
168
|
-
return new
|
159
|
+
return new Builder({
|
169
160
|
...this["~orpc"],
|
170
161
|
middlewares: addMiddleware(this["~orpc"].middlewares, mapped)
|
171
162
|
});
|
172
163
|
}
|
173
164
|
meta(meta) {
|
174
|
-
return new
|
165
|
+
return new Builder({
|
175
166
|
...this["~orpc"],
|
176
|
-
meta:
|
167
|
+
meta: mergeMeta(this["~orpc"].meta, meta)
|
177
168
|
});
|
178
169
|
}
|
179
170
|
route(route) {
|
180
|
-
return new
|
171
|
+
return new Builder({
|
181
172
|
...this["~orpc"],
|
182
|
-
route:
|
173
|
+
route: mergeRoute(this["~orpc"].route, route)
|
183
174
|
});
|
184
175
|
}
|
185
176
|
input(schema) {
|
186
|
-
return new
|
177
|
+
return new Builder({
|
187
178
|
...this["~orpc"],
|
188
179
|
inputSchema: schema,
|
189
180
|
inputValidationIndex: fallbackConfig("initialInputValidationIndex", this["~orpc"].config.initialInputValidationIndex) + this["~orpc"].middlewares.length
|
190
181
|
});
|
191
182
|
}
|
192
183
|
output(schema) {
|
193
|
-
return new
|
184
|
+
return new Builder({
|
194
185
|
...this["~orpc"],
|
195
186
|
outputSchema: schema,
|
196
187
|
outputValidationIndex: fallbackConfig("initialOutputValidationIndex", this["~orpc"].config.initialOutputValidationIndex) + this["~orpc"].middlewares.length
|
@@ -203,43 +194,35 @@ var Builder = class _Builder {
|
|
203
194
|
});
|
204
195
|
}
|
205
196
|
prefix(prefix) {
|
206
|
-
return new
|
197
|
+
return new Builder({
|
207
198
|
...this["~orpc"],
|
208
199
|
prefix: mergePrefix(this["~orpc"].prefix, prefix)
|
209
200
|
});
|
210
201
|
}
|
211
202
|
tag(...tags) {
|
212
|
-
return new
|
203
|
+
return new Builder({
|
213
204
|
...this["~orpc"],
|
214
205
|
tags: mergeTags(this["~orpc"].tags, tags)
|
215
206
|
});
|
216
207
|
}
|
217
208
|
router(router) {
|
218
|
-
return
|
209
|
+
return enhanceRouter(router, this["~orpc"]);
|
219
210
|
}
|
220
211
|
lazy(loader) {
|
221
|
-
return
|
212
|
+
return enhanceRouter(lazy(loader), this["~orpc"]);
|
222
213
|
}
|
223
|
-
}
|
224
|
-
|
214
|
+
}
|
215
|
+
const os = new Builder({
|
225
216
|
config: {},
|
226
217
|
route: {},
|
227
218
|
meta: {},
|
228
219
|
errorMap: {},
|
229
|
-
inputSchema: void 0,
|
230
|
-
outputSchema: void 0,
|
231
220
|
inputValidationIndex: fallbackConfig("initialInputValidationIndex"),
|
232
221
|
outputValidationIndex: fallbackConfig("initialOutputValidationIndex"),
|
233
|
-
middlewares: []
|
222
|
+
middlewares: [],
|
223
|
+
dedupeLeadingMiddlewares: true
|
234
224
|
});
|
235
225
|
|
236
|
-
// src/context.ts
|
237
|
-
function mergeContext(context, other) {
|
238
|
-
return { ...context, ...other };
|
239
|
-
}
|
240
|
-
|
241
|
-
// src/implementer.ts
|
242
|
-
import { isContractProcedure } from "@orpc/contract";
|
243
226
|
function implementerInternal(contract, config, middlewares) {
|
244
227
|
if (isContractProcedure(contract)) {
|
245
228
|
const impl2 = new Builder({
|
@@ -247,12 +230,16 @@ function implementerInternal(contract, config, middlewares) {
|
|
247
230
|
config,
|
248
231
|
middlewares,
|
249
232
|
inputValidationIndex: fallbackConfig("initialInputValidationIndex", config?.initialInputValidationIndex) + middlewares.length,
|
250
|
-
outputValidationIndex: fallbackConfig("initialOutputValidationIndex", config?.initialOutputValidationIndex) + middlewares.length
|
233
|
+
outputValidationIndex: fallbackConfig("initialOutputValidationIndex", config?.initialOutputValidationIndex) + middlewares.length,
|
234
|
+
dedupeLeadingMiddlewares: fallbackConfig("dedupeLeadingMiddlewares", config.dedupeLeadingMiddlewares)
|
251
235
|
});
|
252
236
|
return impl2;
|
253
237
|
}
|
254
238
|
const impl = new Proxy(contract, {
|
255
239
|
get: (target, key) => {
|
240
|
+
if (typeof key !== "string") {
|
241
|
+
return Reflect.get(target, key);
|
242
|
+
}
|
256
243
|
let method;
|
257
244
|
if (key === "middleware") {
|
258
245
|
method = (mid) => decorateMiddleware(mid);
|
@@ -266,23 +253,29 @@ function implementerInternal(contract, config, middlewares) {
|
|
266
253
|
};
|
267
254
|
} else if (key === "router") {
|
268
255
|
method = (router) => {
|
269
|
-
const adapted =
|
256
|
+
const adapted = enhanceRouter(router, {
|
270
257
|
middlewares,
|
271
|
-
errorMap: {}
|
258
|
+
errorMap: {},
|
259
|
+
prefix: void 0,
|
260
|
+
tags: void 0,
|
261
|
+
dedupeLeadingMiddlewares: fallbackConfig("dedupeLeadingMiddlewares", config.dedupeLeadingMiddlewares)
|
272
262
|
});
|
273
|
-
return
|
263
|
+
return setHiddenRouterContract(adapted, contract);
|
274
264
|
};
|
275
265
|
} else if (key === "lazy") {
|
276
266
|
method = (loader) => {
|
277
|
-
const adapted =
|
267
|
+
const adapted = enhanceRouter(lazy(loader), {
|
278
268
|
middlewares,
|
279
|
-
errorMap: {}
|
269
|
+
errorMap: {},
|
270
|
+
prefix: void 0,
|
271
|
+
tags: void 0,
|
272
|
+
dedupeLeadingMiddlewares: fallbackConfig("dedupeLeadingMiddlewares", config.dedupeLeadingMiddlewares)
|
280
273
|
});
|
281
|
-
return
|
274
|
+
return setHiddenRouterContract(adapted, contract);
|
282
275
|
};
|
283
276
|
}
|
284
|
-
const next =
|
285
|
-
if (!next
|
277
|
+
const next = getContractRouter(target, [key]);
|
278
|
+
if (!next) {
|
286
279
|
return method ?? next;
|
287
280
|
}
|
288
281
|
const nextImpl = implementerInternal(next, config, middlewares);
|
@@ -309,44 +302,34 @@ function implement(contract, config = {}) {
|
|
309
302
|
method = (config2) => implement(contract, config2);
|
310
303
|
}
|
311
304
|
const next = Reflect.get(target, key);
|
312
|
-
if (!next || typeof next !== "function" && typeof next !== "object") {
|
313
|
-
return method
|
305
|
+
if (!method || !next || typeof next !== "function" && typeof next !== "object") {
|
306
|
+
return method || next;
|
314
307
|
}
|
315
|
-
|
316
|
-
|
317
|
-
get(
|
318
|
-
|
319
|
-
|
320
|
-
});
|
321
|
-
}
|
322
|
-
return next;
|
308
|
+
return new Proxy(method, {
|
309
|
+
get(_, key2) {
|
310
|
+
return Reflect.get(next, key2);
|
311
|
+
}
|
312
|
+
});
|
323
313
|
}
|
324
314
|
});
|
325
315
|
return impl;
|
326
316
|
}
|
327
317
|
|
328
|
-
|
329
|
-
function call(procedure, input, ...rest) {
|
330
|
-
return createProcedureClient(procedure, ...rest)(input);
|
331
|
-
}
|
332
|
-
|
333
|
-
// src/router-client.ts
|
334
|
-
function createRouterClient(router, ...rest) {
|
318
|
+
function createRouterClient(router, ...[options]) {
|
335
319
|
if (isProcedure(router)) {
|
336
|
-
const caller = createProcedureClient(router,
|
320
|
+
const caller = createProcedureClient(router, options);
|
337
321
|
return caller;
|
338
322
|
}
|
339
|
-
const procedureCaller = isLazy(router) ? createProcedureClient(
|
323
|
+
const procedureCaller = isLazy(router) ? createProcedureClient(createAssertedLazyProcedure(router), options) : {};
|
340
324
|
const recursive = new Proxy(procedureCaller, {
|
341
325
|
get(target, key) {
|
342
326
|
if (typeof key !== "string") {
|
343
327
|
return Reflect.get(target, key);
|
344
328
|
}
|
345
|
-
const next =
|
329
|
+
const next = getRouter(router, [key]);
|
346
330
|
if (!next) {
|
347
331
|
return Reflect.get(target, key);
|
348
332
|
}
|
349
|
-
const [options] = rest;
|
350
333
|
return createRouterClient(next, {
|
351
334
|
...options,
|
352
335
|
path: [...options?.path ?? [], key]
|
@@ -356,49 +339,4 @@ function createRouterClient(router, ...rest) {
|
|
356
339
|
return recursive;
|
357
340
|
}
|
358
341
|
|
359
|
-
|
360
|
-
import { isDefinedError, ORPCError, safe, type, ValidationError } from "@orpc/contract";
|
361
|
-
import { onError, onFinish, onStart, onSuccess } from "@orpc/shared";
|
362
|
-
export {
|
363
|
-
Builder,
|
364
|
-
DecoratedProcedure,
|
365
|
-
LAZY_LOADER_SYMBOL,
|
366
|
-
ORPCError,
|
367
|
-
Procedure,
|
368
|
-
ValidationError,
|
369
|
-
adaptRouter,
|
370
|
-
call,
|
371
|
-
convertPathToHttpPath,
|
372
|
-
createAccessibleLazyRouter,
|
373
|
-
createContractedProcedure,
|
374
|
-
createLazyProcedureFormAnyLazy,
|
375
|
-
createProcedureClient,
|
376
|
-
createRouterClient,
|
377
|
-
decorateMiddleware,
|
378
|
-
deepSetLazyRouterPrefix,
|
379
|
-
eachAllContractProcedure,
|
380
|
-
eachContractProcedure,
|
381
|
-
fallbackConfig,
|
382
|
-
flatLazy,
|
383
|
-
getLazyRouterPrefix,
|
384
|
-
getRouterChild,
|
385
|
-
getRouterContract,
|
386
|
-
implement,
|
387
|
-
implementerInternal,
|
388
|
-
isDefinedError,
|
389
|
-
isLazy,
|
390
|
-
isProcedure,
|
391
|
-
lazy,
|
392
|
-
mergeContext,
|
393
|
-
middlewareOutputFn,
|
394
|
-
onError,
|
395
|
-
onFinish,
|
396
|
-
onStart,
|
397
|
-
onSuccess,
|
398
|
-
os,
|
399
|
-
safe,
|
400
|
-
setRouterContract,
|
401
|
-
type,
|
402
|
-
unlazy
|
403
|
-
};
|
404
|
-
//# sourceMappingURL=index.js.map
|
342
|
+
export { Builder, DecoratedProcedure, Procedure, addMiddleware, createAssertedLazyProcedure, createProcedureClient, createRouterClient, decorateMiddleware, enhanceRouter, fallbackConfig, getRouter, implement, implementerInternal, isLazy, isProcedure, lazy, os, setHiddenRouterContract };
|
@@ -0,0 +1,31 @@
|
|
1
|
+
import { b as StandardHandlerInterceptorOptions, H as HandlerPlugin, a as StandardHandlerOptions } from '../shared/server.P4_D9lKb.mjs';
|
2
|
+
export { C as CompositeHandlerPlugin } from '../shared/server.P4_D9lKb.mjs';
|
3
|
+
import { Value } from '@orpc/shared';
|
4
|
+
import { C as Context } from '../shared/server.MZvbGc3n.mjs';
|
5
|
+
import '@orpc/contract';
|
6
|
+
import '@orpc/standard-server';
|
7
|
+
import '@orpc/client';
|
8
|
+
|
9
|
+
interface CORSOptions<TContext extends Context> {
|
10
|
+
origin?: Value<string | readonly string[] | null | undefined, [origin: string, options: StandardHandlerInterceptorOptions<TContext>]>;
|
11
|
+
timingOrigin?: Value<string | readonly string[] | null | undefined, [origin: string, options: StandardHandlerInterceptorOptions<TContext>]>;
|
12
|
+
allowMethods?: readonly string[];
|
13
|
+
allowHeaders?: readonly string[];
|
14
|
+
maxAge?: number;
|
15
|
+
credentials?: boolean;
|
16
|
+
exposeHeaders?: readonly string[];
|
17
|
+
}
|
18
|
+
declare class CORSPlugin<TContext extends Context> implements HandlerPlugin<TContext> {
|
19
|
+
private readonly options;
|
20
|
+
constructor(options?: CORSOptions<TContext>);
|
21
|
+
init(options: StandardHandlerOptions<TContext>): void;
|
22
|
+
}
|
23
|
+
|
24
|
+
interface ResponseHeadersPluginContext {
|
25
|
+
resHeaders?: Headers;
|
26
|
+
}
|
27
|
+
declare class ResponseHeadersPlugin<TContext extends ResponseHeadersPluginContext & Context> implements HandlerPlugin<TContext> {
|
28
|
+
init(options: StandardHandlerOptions<TContext>): void;
|
29
|
+
}
|
30
|
+
|
31
|
+
export { type CORSOptions, CORSPlugin, HandlerPlugin, ResponseHeadersPlugin, type ResponseHeadersPluginContext };
|
@@ -0,0 +1,31 @@
|
|
1
|
+
import { b as StandardHandlerInterceptorOptions, H as HandlerPlugin, a as StandardHandlerOptions } from '../shared/server.CPqNKiJp.js';
|
2
|
+
export { C as CompositeHandlerPlugin } from '../shared/server.CPqNKiJp.js';
|
3
|
+
import { Value } from '@orpc/shared';
|
4
|
+
import { C as Context } from '../shared/server.MZvbGc3n.js';
|
5
|
+
import '@orpc/contract';
|
6
|
+
import '@orpc/standard-server';
|
7
|
+
import '@orpc/client';
|
8
|
+
|
9
|
+
interface CORSOptions<TContext extends Context> {
|
10
|
+
origin?: Value<string | readonly string[] | null | undefined, [origin: string, options: StandardHandlerInterceptorOptions<TContext>]>;
|
11
|
+
timingOrigin?: Value<string | readonly string[] | null | undefined, [origin: string, options: StandardHandlerInterceptorOptions<TContext>]>;
|
12
|
+
allowMethods?: readonly string[];
|
13
|
+
allowHeaders?: readonly string[];
|
14
|
+
maxAge?: number;
|
15
|
+
credentials?: boolean;
|
16
|
+
exposeHeaders?: readonly string[];
|
17
|
+
}
|
18
|
+
declare class CORSPlugin<TContext extends Context> implements HandlerPlugin<TContext> {
|
19
|
+
private readonly options;
|
20
|
+
constructor(options?: CORSOptions<TContext>);
|
21
|
+
init(options: StandardHandlerOptions<TContext>): void;
|
22
|
+
}
|
23
|
+
|
24
|
+
interface ResponseHeadersPluginContext {
|
25
|
+
resHeaders?: Headers;
|
26
|
+
}
|
27
|
+
declare class ResponseHeadersPlugin<TContext extends ResponseHeadersPluginContext & Context> implements HandlerPlugin<TContext> {
|
28
|
+
init(options: StandardHandlerOptions<TContext>): void;
|
29
|
+
}
|
30
|
+
|
31
|
+
export { type CORSOptions, CORSPlugin, HandlerPlugin, ResponseHeadersPlugin, type ResponseHeadersPluginContext };
|
@@ -1,40 +1,21 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
constructor(plugins = []) {
|
4
|
-
this.plugins = plugins;
|
5
|
-
}
|
6
|
-
init(options) {
|
7
|
-
for (const plugin of this.plugins) {
|
8
|
-
plugin.init?.(options);
|
9
|
-
}
|
10
|
-
}
|
11
|
-
beforeCreateProcedureClient(clientOptions, interceptorOptions) {
|
12
|
-
for (const plugin of this.plugins) {
|
13
|
-
plugin.beforeCreateProcedureClient?.(clientOptions, interceptorOptions);
|
14
|
-
}
|
15
|
-
}
|
16
|
-
};
|
1
|
+
export { C as CompositeHandlerPlugin } from '../shared/server.Dba3Iiyp.mjs';
|
2
|
+
import { value } from '@orpc/shared';
|
17
3
|
|
18
|
-
|
19
|
-
import { value } from "@orpc/shared";
|
20
|
-
var CORSPlugin = class {
|
4
|
+
class CORSPlugin {
|
21
5
|
options;
|
22
|
-
constructor(options) {
|
6
|
+
constructor(options = {}) {
|
23
7
|
const defaults = {
|
24
|
-
origin:
|
8
|
+
origin: (origin) => origin,
|
25
9
|
allowMethods: ["GET", "HEAD", "PUT", "POST", "DELETE", "PATCH"]
|
26
10
|
};
|
27
|
-
if (options?.credentials) {
|
28
|
-
defaults.origin = (origin) => origin;
|
29
|
-
}
|
30
11
|
this.options = {
|
31
12
|
...defaults,
|
32
13
|
...options
|
33
14
|
};
|
34
15
|
}
|
35
16
|
init(options) {
|
36
|
-
options.
|
37
|
-
options.
|
17
|
+
options.rootInterceptors ??= [];
|
18
|
+
options.rootInterceptors.unshift(async (interceptorOptions) => {
|
38
19
|
if (interceptorOptions.request.method === "OPTIONS") {
|
39
20
|
const resHeaders = {};
|
40
21
|
if (this.options.maxAge !== void 0) {
|
@@ -60,7 +41,7 @@ var CORSPlugin = class {
|
|
60
41
|
}
|
61
42
|
return interceptorOptions.next();
|
62
43
|
});
|
63
|
-
options.
|
44
|
+
options.rootInterceptors.unshift(async (interceptorOptions) => {
|
64
45
|
const result = await interceptorOptions.next();
|
65
46
|
if (!result.matched) {
|
66
47
|
return result;
|
@@ -92,13 +73,12 @@ var CORSPlugin = class {
|
|
92
73
|
return result;
|
93
74
|
});
|
94
75
|
}
|
95
|
-
}
|
76
|
+
}
|
96
77
|
|
97
|
-
|
98
|
-
var ResponseHeadersPlugin = class {
|
78
|
+
class ResponseHeadersPlugin {
|
99
79
|
init(options) {
|
100
|
-
options.
|
101
|
-
options.
|
80
|
+
options.rootInterceptors ??= [];
|
81
|
+
options.rootInterceptors.push(async (interceptorOptions) => {
|
102
82
|
const headers = new Headers();
|
103
83
|
interceptorOptions.context.resHeaders = headers;
|
104
84
|
const result = await interceptorOptions.next();
|
@@ -106,23 +86,18 @@ var ResponseHeadersPlugin = class {
|
|
106
86
|
return result;
|
107
87
|
}
|
108
88
|
const responseHeaders = result.response.headers;
|
109
|
-
for (const [key,
|
89
|
+
for (const [key, value] of headers) {
|
110
90
|
if (Array.isArray(responseHeaders[key])) {
|
111
|
-
responseHeaders[key].push(
|
91
|
+
responseHeaders[key].push(value);
|
112
92
|
} else if (responseHeaders[key] !== void 0) {
|
113
|
-
responseHeaders[key] = [responseHeaders[key],
|
93
|
+
responseHeaders[key] = [responseHeaders[key], value];
|
114
94
|
} else {
|
115
|
-
responseHeaders[key] =
|
95
|
+
responseHeaders[key] = value;
|
116
96
|
}
|
117
97
|
}
|
118
98
|
return result;
|
119
99
|
});
|
120
100
|
}
|
121
|
-
}
|
101
|
+
}
|
122
102
|
|
123
|
-
export {
|
124
|
-
CompositePlugin,
|
125
|
-
CORSPlugin,
|
126
|
-
ResponseHeadersPlugin
|
127
|
-
};
|
128
|
-
//# sourceMappingURL=chunk-XFBAK67J.js.map
|
103
|
+
export { CORSPlugin, ResponseHeadersPlugin };
|