@orpc/server 0.0.0-next.bc9d3dd → 0.0.0-next.c0088c7
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 +118 -0
- package/dist/adapters/fetch/index.d.mts +26 -0
- package/dist/adapters/fetch/index.d.ts +26 -0
- package/dist/adapters/fetch/index.mjs +9 -0
- package/dist/adapters/hono/index.d.mts +19 -0
- package/dist/adapters/hono/index.d.ts +19 -0
- package/dist/{hono.js → adapters/hono/index.mjs} +11 -19
- package/dist/adapters/next/index.d.mts +26 -0
- package/dist/adapters/next/index.d.ts +26 -0
- package/dist/{next.js → adapters/next/index.mjs} +11 -19
- package/dist/adapters/node/index.d.mts +34 -0
- package/dist/adapters/node/index.d.ts +34 -0
- package/dist/adapters/node/index.mjs +31 -0
- package/dist/adapters/standard/index.d.mts +25 -0
- package/dist/adapters/standard/index.d.ts +25 -0
- package/dist/adapters/standard/index.mjs +6 -0
- package/dist/index.d.mts +255 -0
- package/dist/index.d.ts +255 -0
- package/dist/{index.js → index.mjs} +41 -112
- package/dist/plugins/index.d.mts +31 -0
- package/dist/plugins/index.d.ts +31 -0
- package/dist/{chunk-XFBAK67J.js → plugins/index.mjs} +17 -42
- package/dist/shared/server.BHIDiY4a.mjs +28 -0
- package/dist/shared/server.CtBp-i4f.d.mts +77 -0
- package/dist/shared/server.DKrKGnk2.mjs +161 -0
- package/dist/shared/server.Drm1Lma3.d.ts +77 -0
- package/dist/shared/server.Q6ZmnTgO.mjs +12 -0
- package/dist/{chunk-SV6DBVXJ.js → shared/server.V6zT5iYQ.mjs} +84 -82
- package/dist/shared/server.ptXwNGQr.d.mts +158 -0
- package/dist/shared/server.ptXwNGQr.d.ts +158 -0
- package/package.json +29 -31
- package/dist/chunk-4IQKTPXM.js +0 -145
- package/dist/chunk-SD2T3J2Z.js +0 -319
- 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 -10
- package/dist/src/adapters/fetch/types.d.ts +0 -13
- 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 -13
- package/dist/src/adapters/next/index.d.ts +0 -3
- package/dist/src/adapters/next/serve.d.ts +0 -20
- package/dist/src/adapters/node/index.d.ts +0 -4
- package/dist/src/adapters/node/rpc-handler.d.ts +0 -10
- package/dist/src/adapters/node/types.d.ts +0 -21
- package/dist/src/adapters/node/utils.d.ts +0 -5
- package/dist/src/adapters/standard/handler.d.ts +0 -51
- 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 -30
- 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 -37
- 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 -31
- package/dist/src/procedure-decorated.d.ts +0 -21
- package/dist/src/procedure-utils.d.ts +0 -17
- 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 -29
- package/dist/src/utils.d.ts +0 -24
- package/dist/standard.js +0 -17
@@ -1,33 +1,12 @@
|
|
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-SV6DBVXJ.js";
|
1
|
+
import { mergeErrorMap, mergeMeta, mergeRoute, mergePrefix, mergeTags, isContractProcedure } from '@orpc/contract';
|
2
|
+
export { ValidationError, eventIterator, type } from '@orpc/contract';
|
3
|
+
import { P as Procedure, d as addMiddleware, c as createProcedureClient, f as adaptRouter, h as flatLazy, l as lazy, s as setRouterContract, i as isProcedure, j as isLazy, k as createLazyProcedureFormAnyLazy, g as getRouterChild } from './shared/server.V6zT5iYQ.mjs';
|
4
|
+
export { L as LAZY_LOADER_SYMBOL, a as convertPathToHttpPath, q as createAccessibleLazyRouter, b as createContractedProcedure, n as deepSetLazyRouterPrefix, r as eachAllContractProcedure, e as eachContractProcedure, o as getLazyRouterPrefix, m as getRouterContract, p as middlewareOutputFn, u as unlazy } from './shared/server.V6zT5iYQ.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
11
|
initialOutputValidationIndex: 0
|
33
12
|
};
|
@@ -38,7 +17,6 @@ function fallbackConfig(key, value) {
|
|
38
17
|
return value;
|
39
18
|
}
|
40
19
|
|
41
|
-
// src/middleware-decorated.ts
|
42
20
|
function decorateMiddleware(middleware) {
|
43
21
|
const decorated = middleware;
|
44
22
|
decorated.mapInput = (mapInput) => {
|
@@ -50,10 +28,14 @@ function decorateMiddleware(middleware) {
|
|
50
28
|
decorated.concat = (concatMiddleware, mapInput) => {
|
51
29
|
const mapped = mapInput ? decorateMiddleware(concatMiddleware).mapInput(mapInput) : concatMiddleware;
|
52
30
|
const concatted = decorateMiddleware((options, input, output, ...rest) => {
|
53
|
-
const
|
54
|
-
|
55
|
-
|
56
|
-
|
31
|
+
const merged = middleware({
|
32
|
+
...options,
|
33
|
+
next: (...[nextOptions1]) => mapped({
|
34
|
+
...options,
|
35
|
+
context: { ...options.context, ...nextOptions1?.context },
|
36
|
+
next: (...[nextOptions2]) => options.next({ context: { ...nextOptions1?.context, ...nextOptions2?.context } })
|
37
|
+
}, input, output, ...rest)
|
38
|
+
}, input, output, ...rest);
|
57
39
|
return merged;
|
58
40
|
});
|
59
41
|
return concatted;
|
@@ -61,30 +43,28 @@ function decorateMiddleware(middleware) {
|
|
61
43
|
return decorated;
|
62
44
|
}
|
63
45
|
|
64
|
-
|
65
|
-
import { mergeErrorMap, mergeMeta, mergeRoute } from "@orpc/contract";
|
66
|
-
var DecoratedProcedure = class _DecoratedProcedure extends Procedure {
|
46
|
+
class DecoratedProcedure extends Procedure {
|
67
47
|
errors(errors) {
|
68
|
-
return new
|
48
|
+
return new DecoratedProcedure({
|
69
49
|
...this["~orpc"],
|
70
50
|
errorMap: mergeErrorMap(this["~orpc"].errorMap, errors)
|
71
51
|
});
|
72
52
|
}
|
73
53
|
meta(meta) {
|
74
|
-
return new
|
54
|
+
return new DecoratedProcedure({
|
75
55
|
...this["~orpc"],
|
76
56
|
meta: mergeMeta(this["~orpc"].meta, meta)
|
77
57
|
});
|
78
58
|
}
|
79
59
|
route(route) {
|
80
|
-
return new
|
60
|
+
return new DecoratedProcedure({
|
81
61
|
...this["~orpc"],
|
82
62
|
route: mergeRoute(this["~orpc"].route, route)
|
83
63
|
});
|
84
64
|
}
|
85
65
|
use(middleware, mapInput) {
|
86
66
|
const mapped = mapInput ? decorateMiddleware(middleware).mapInput(mapInput) : middleware;
|
87
|
-
return new
|
67
|
+
return new DecoratedProcedure({
|
88
68
|
...this["~orpc"],
|
89
69
|
middlewares: addMiddleware(this["~orpc"].middlewares, mapped)
|
90
70
|
});
|
@@ -104,10 +84,9 @@ var DecoratedProcedure = class _DecoratedProcedure extends Procedure {
|
|
104
84
|
actionable(...rest) {
|
105
85
|
return this.callable(...rest);
|
106
86
|
}
|
107
|
-
}
|
87
|
+
}
|
108
88
|
|
109
|
-
|
110
|
-
var Builder = class _Builder {
|
89
|
+
class Builder {
|
111
90
|
"~orpc";
|
112
91
|
constructor(def) {
|
113
92
|
this["~orpc"] = def;
|
@@ -118,7 +97,7 @@ var Builder = class _Builder {
|
|
118
97
|
$config(config) {
|
119
98
|
const inputValidationCount = this["~orpc"].inputValidationIndex - fallbackConfig("initialInputValidationIndex", this["~orpc"].config.initialInputValidationIndex);
|
120
99
|
const outputValidationCount = this["~orpc"].outputValidationIndex - fallbackConfig("initialOutputValidationIndex", this["~orpc"].config.initialOutputValidationIndex);
|
121
|
-
return new
|
100
|
+
return new Builder({
|
122
101
|
...this["~orpc"],
|
123
102
|
config,
|
124
103
|
inputValidationIndex: fallbackConfig("initialInputValidationIndex", config.initialInputValidationIndex) + inputValidationCount,
|
@@ -129,7 +108,7 @@ var Builder = class _Builder {
|
|
129
108
|
* Reset initial context
|
130
109
|
*/
|
131
110
|
$context() {
|
132
|
-
return new
|
111
|
+
return new Builder({
|
133
112
|
...this["~orpc"],
|
134
113
|
middlewares: [],
|
135
114
|
inputValidationIndex: fallbackConfig("initialInputValidationIndex", this["~orpc"].config.initialInputValidationIndex),
|
@@ -140,7 +119,7 @@ var Builder = class _Builder {
|
|
140
119
|
* Reset initial meta
|
141
120
|
*/
|
142
121
|
$meta(initialMeta) {
|
143
|
-
return new
|
122
|
+
return new Builder({
|
144
123
|
...this["~orpc"],
|
145
124
|
meta: initialMeta
|
146
125
|
});
|
@@ -149,7 +128,7 @@ var Builder = class _Builder {
|
|
149
128
|
* Reset initial route
|
150
129
|
*/
|
151
130
|
$route(initialRoute) {
|
152
|
-
return new
|
131
|
+
return new Builder({
|
153
132
|
...this["~orpc"],
|
154
133
|
route: initialRoute
|
155
134
|
});
|
@@ -158,39 +137,39 @@ var Builder = class _Builder {
|
|
158
137
|
return decorateMiddleware(middleware);
|
159
138
|
}
|
160
139
|
errors(errors) {
|
161
|
-
return new
|
140
|
+
return new Builder({
|
162
141
|
...this["~orpc"],
|
163
|
-
errorMap:
|
142
|
+
errorMap: mergeErrorMap(this["~orpc"].errorMap, errors)
|
164
143
|
});
|
165
144
|
}
|
166
145
|
use(middleware, mapInput) {
|
167
146
|
const mapped = mapInput ? decorateMiddleware(middleware).mapInput(mapInput) : middleware;
|
168
|
-
return new
|
147
|
+
return new Builder({
|
169
148
|
...this["~orpc"],
|
170
149
|
middlewares: addMiddleware(this["~orpc"].middlewares, mapped)
|
171
150
|
});
|
172
151
|
}
|
173
152
|
meta(meta) {
|
174
|
-
return new
|
153
|
+
return new Builder({
|
175
154
|
...this["~orpc"],
|
176
|
-
meta:
|
155
|
+
meta: mergeMeta(this["~orpc"].meta, meta)
|
177
156
|
});
|
178
157
|
}
|
179
158
|
route(route) {
|
180
|
-
return new
|
159
|
+
return new Builder({
|
181
160
|
...this["~orpc"],
|
182
|
-
route:
|
161
|
+
route: mergeRoute(this["~orpc"].route, route)
|
183
162
|
});
|
184
163
|
}
|
185
164
|
input(schema) {
|
186
|
-
return new
|
165
|
+
return new Builder({
|
187
166
|
...this["~orpc"],
|
188
167
|
inputSchema: schema,
|
189
168
|
inputValidationIndex: fallbackConfig("initialInputValidationIndex", this["~orpc"].config.initialInputValidationIndex) + this["~orpc"].middlewares.length
|
190
169
|
});
|
191
170
|
}
|
192
171
|
output(schema) {
|
193
|
-
return new
|
172
|
+
return new Builder({
|
194
173
|
...this["~orpc"],
|
195
174
|
outputSchema: schema,
|
196
175
|
outputValidationIndex: fallbackConfig("initialOutputValidationIndex", this["~orpc"].config.initialOutputValidationIndex) + this["~orpc"].middlewares.length
|
@@ -203,13 +182,13 @@ var Builder = class _Builder {
|
|
203
182
|
});
|
204
183
|
}
|
205
184
|
prefix(prefix) {
|
206
|
-
return new
|
185
|
+
return new Builder({
|
207
186
|
...this["~orpc"],
|
208
187
|
prefix: mergePrefix(this["~orpc"].prefix, prefix)
|
209
188
|
});
|
210
189
|
}
|
211
190
|
tag(...tags) {
|
212
|
-
return new
|
191
|
+
return new Builder({
|
213
192
|
...this["~orpc"],
|
214
193
|
tags: mergeTags(this["~orpc"].tags, tags)
|
215
194
|
});
|
@@ -220,8 +199,8 @@ var Builder = class _Builder {
|
|
220
199
|
lazy(loader) {
|
221
200
|
return adaptRouter(flatLazy(lazy(loader)), this["~orpc"]);
|
222
201
|
}
|
223
|
-
}
|
224
|
-
|
202
|
+
}
|
203
|
+
const os = new Builder({
|
225
204
|
config: {},
|
226
205
|
route: {},
|
227
206
|
meta: {},
|
@@ -233,13 +212,10 @@ var os = new Builder({
|
|
233
212
|
middlewares: []
|
234
213
|
});
|
235
214
|
|
236
|
-
// src/context.ts
|
237
215
|
function mergeContext(context, other) {
|
238
216
|
return { ...context, ...other };
|
239
217
|
}
|
240
218
|
|
241
|
-
// src/implementer.ts
|
242
|
-
import { isContractProcedure } from "@orpc/contract";
|
243
219
|
function implementerInternal(contract, config, middlewares) {
|
244
220
|
if (isContractProcedure(contract)) {
|
245
221
|
const impl2 = new Builder({
|
@@ -325,12 +301,10 @@ function implement(contract, config = {}) {
|
|
325
301
|
return impl;
|
326
302
|
}
|
327
303
|
|
328
|
-
// src/procedure-utils.ts
|
329
304
|
function call(procedure, input, ...rest) {
|
330
305
|
return createProcedureClient(procedure, ...rest)(input);
|
331
306
|
}
|
332
307
|
|
333
|
-
// src/router-client.ts
|
334
308
|
function createRouterClient(router, ...rest) {
|
335
309
|
if (isProcedure(router)) {
|
336
310
|
const caller = createProcedureClient(router, ...rest);
|
@@ -356,49 +330,4 @@ function createRouterClient(router, ...rest) {
|
|
356
330
|
return recursive;
|
357
331
|
}
|
358
332
|
|
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
|
333
|
+
export { Builder, DecoratedProcedure, Procedure, adaptRouter, call, createLazyProcedureFormAnyLazy, createProcedureClient, createRouterClient, decorateMiddleware, fallbackConfig, flatLazy, getRouterChild, implement, implementerInternal, isLazy, isProcedure, lazy, mergeContext, os, setRouterContract };
|
@@ -0,0 +1,31 @@
|
|
1
|
+
import { a as StandardHandlerInterceptorOptions, P as Plugin, b as StandardHandlerOptions } from '../shared/server.CtBp-i4f.mjs';
|
2
|
+
export { C as CompositePlugin } from '../shared/server.CtBp-i4f.mjs';
|
3
|
+
import { Value } from '@orpc/shared';
|
4
|
+
import { C as Context } from '../shared/server.ptXwNGQr.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 | string[] | null | undefined, [origin: string, options: StandardHandlerInterceptorOptions<TContext>]>;
|
11
|
+
timingOrigin?: Value<string | string[] | null | undefined, [origin: string, options: StandardHandlerInterceptorOptions<TContext>]>;
|
12
|
+
allowMethods?: string[];
|
13
|
+
allowHeaders?: string[];
|
14
|
+
maxAge?: number;
|
15
|
+
credentials?: boolean;
|
16
|
+
exposeHeaders?: string[];
|
17
|
+
}
|
18
|
+
declare class CORSPlugin<TContext extends Context> implements Plugin<TContext> {
|
19
|
+
private readonly options;
|
20
|
+
constructor(options?: Partial<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 Plugin<TContext> {
|
28
|
+
init(options: StandardHandlerOptions<TContext>): void;
|
29
|
+
}
|
30
|
+
|
31
|
+
export { type CORSOptions, CORSPlugin, Plugin, ResponseHeadersPlugin, type ResponseHeadersPluginContext };
|
@@ -0,0 +1,31 @@
|
|
1
|
+
import { a as StandardHandlerInterceptorOptions, P as Plugin, b as StandardHandlerOptions } from '../shared/server.Drm1Lma3.js';
|
2
|
+
export { C as CompositePlugin } from '../shared/server.Drm1Lma3.js';
|
3
|
+
import { Value } from '@orpc/shared';
|
4
|
+
import { C as Context } from '../shared/server.ptXwNGQr.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 | string[] | null | undefined, [origin: string, options: StandardHandlerInterceptorOptions<TContext>]>;
|
11
|
+
timingOrigin?: Value<string | string[] | null | undefined, [origin: string, options: StandardHandlerInterceptorOptions<TContext>]>;
|
12
|
+
allowMethods?: string[];
|
13
|
+
allowHeaders?: string[];
|
14
|
+
maxAge?: number;
|
15
|
+
credentials?: boolean;
|
16
|
+
exposeHeaders?: string[];
|
17
|
+
}
|
18
|
+
declare class CORSPlugin<TContext extends Context> implements Plugin<TContext> {
|
19
|
+
private readonly options;
|
20
|
+
constructor(options?: Partial<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 Plugin<TContext> {
|
28
|
+
init(options: StandardHandlerOptions<TContext>): void;
|
29
|
+
}
|
30
|
+
|
31
|
+
export { type CORSOptions, CORSPlugin, Plugin, 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 CompositePlugin } from '../shared/server.Q6ZmnTgO.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
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 };
|
@@ -0,0 +1,28 @@
|
|
1
|
+
import { RPCSerializer } from '@orpc/client/standard';
|
2
|
+
import { toStandardLazyRequest, toFetchResponse } from '@orpc/standard-server-fetch';
|
3
|
+
import { S as StandardHandler, a as RPCMatcher, R as RPCCodec } from './server.DKrKGnk2.mjs';
|
4
|
+
|
5
|
+
class RPCHandler {
|
6
|
+
standardHandler;
|
7
|
+
constructor(router, options = {}) {
|
8
|
+
const serializer = new RPCSerializer();
|
9
|
+
const matcher = new RPCMatcher();
|
10
|
+
const codec = new RPCCodec(serializer);
|
11
|
+
this.standardHandler = new StandardHandler(router, matcher, codec, options);
|
12
|
+
}
|
13
|
+
async handle(request, ...[
|
14
|
+
options = {}
|
15
|
+
]) {
|
16
|
+
const standardRequest = toStandardLazyRequest(request);
|
17
|
+
const result = await this.standardHandler.handle(standardRequest, options);
|
18
|
+
if (!result.matched) {
|
19
|
+
return result;
|
20
|
+
}
|
21
|
+
return {
|
22
|
+
matched: true,
|
23
|
+
response: toFetchResponse(result.response, options)
|
24
|
+
};
|
25
|
+
}
|
26
|
+
}
|
27
|
+
|
28
|
+
export { RPCHandler as R };
|
@@ -0,0 +1,77 @@
|
|
1
|
+
import { HTTPPath, Schema, Meta, SchemaOutput, ErrorFromErrorMap } from '@orpc/contract';
|
2
|
+
import { Interceptor, MaybeOptionalOptions } from '@orpc/shared';
|
3
|
+
import { StandardResponse, StandardLazyRequest } from '@orpc/standard-server';
|
4
|
+
import { a as AnyRouter, A as AnyProcedure, C as Context, P as ProcedureClientInterceptorOptions, R as Router } from './server.ptXwNGQr.mjs';
|
5
|
+
import { ORPCError } from '@orpc/client';
|
6
|
+
|
7
|
+
type StandardParams = Record<string, string>;
|
8
|
+
type StandardMatchResult = {
|
9
|
+
path: string[];
|
10
|
+
procedure: AnyProcedure;
|
11
|
+
params?: StandardParams;
|
12
|
+
} | undefined;
|
13
|
+
interface StandardMatcher {
|
14
|
+
init(router: AnyRouter): void;
|
15
|
+
match(method: string, pathname: HTTPPath): Promise<StandardMatchResult>;
|
16
|
+
}
|
17
|
+
interface StandardCodec {
|
18
|
+
encode(output: unknown, procedure: AnyProcedure): StandardResponse;
|
19
|
+
encodeError(error: ORPCError<any, any>): StandardResponse;
|
20
|
+
decode(request: StandardLazyRequest, params: StandardParams | undefined, procedure: AnyProcedure): Promise<unknown>;
|
21
|
+
}
|
22
|
+
|
23
|
+
type StandardHandleOptions<T extends Context> = {
|
24
|
+
prefix?: HTTPPath;
|
25
|
+
} & (Record<never, never> extends T ? {
|
26
|
+
context?: T;
|
27
|
+
} : {
|
28
|
+
context: T;
|
29
|
+
});
|
30
|
+
type WellStandardHandleOptions<T extends Context> = StandardHandleOptions<T> & {
|
31
|
+
context: T;
|
32
|
+
};
|
33
|
+
type StandardHandleResult = {
|
34
|
+
matched: true;
|
35
|
+
response: StandardResponse;
|
36
|
+
} | {
|
37
|
+
matched: false;
|
38
|
+
response: undefined;
|
39
|
+
};
|
40
|
+
type StandardHandlerInterceptorOptions<TContext extends Context> = WellStandardHandleOptions<TContext> & {
|
41
|
+
request: StandardLazyRequest;
|
42
|
+
};
|
43
|
+
interface StandardHandlerOptions<TContext extends Context> {
|
44
|
+
plugins?: Plugin<TContext>[];
|
45
|
+
/**
|
46
|
+
* Interceptors at the request level, helpful when you want catch errors
|
47
|
+
*/
|
48
|
+
interceptors?: Interceptor<StandardHandlerInterceptorOptions<TContext>, StandardHandleResult, unknown>[];
|
49
|
+
/**
|
50
|
+
* Interceptors at the root level, helpful when you want override the request/response
|
51
|
+
*/
|
52
|
+
rootInterceptors?: Interceptor<StandardHandlerInterceptorOptions<TContext>, StandardHandleResult, unknown>[];
|
53
|
+
/**
|
54
|
+
*
|
55
|
+
* Interceptors for procedure client.
|
56
|
+
*/
|
57
|
+
clientInterceptors?: Interceptor<ProcedureClientInterceptorOptions<TContext, Schema, Record<never, never>, Meta>, SchemaOutput<Schema, unknown>, ErrorFromErrorMap<Record<never, never>>>[];
|
58
|
+
}
|
59
|
+
declare class StandardHandler<T extends Context> {
|
60
|
+
private readonly matcher;
|
61
|
+
private readonly codec;
|
62
|
+
private readonly options;
|
63
|
+
private readonly plugin;
|
64
|
+
constructor(router: Router<T, any>, matcher: StandardMatcher, codec: StandardCodec, options: NoInfer<StandardHandlerOptions<T>>);
|
65
|
+
handle(request: StandardLazyRequest, ...[options]: MaybeOptionalOptions<StandardHandleOptions<T>>): Promise<StandardHandleResult>;
|
66
|
+
}
|
67
|
+
|
68
|
+
interface Plugin<TContext extends Context> {
|
69
|
+
init?(options: StandardHandlerOptions<TContext>): void;
|
70
|
+
}
|
71
|
+
declare class CompositePlugin<TContext extends Context> implements Plugin<TContext> {
|
72
|
+
private readonly plugins;
|
73
|
+
constructor(plugins?: Plugin<TContext>[]);
|
74
|
+
init(options: StandardHandlerOptions<TContext>): void;
|
75
|
+
}
|
76
|
+
|
77
|
+
export { CompositePlugin as C, type Plugin as P, type StandardHandleOptions as S, type WellStandardHandleOptions as W, type StandardHandlerInterceptorOptions as a, type StandardHandlerOptions as b, type StandardCodec as c, type StandardParams as d, type StandardMatcher as e, type StandardMatchResult as f, type StandardHandleResult as g, StandardHandler as h };
|