@orpc/server 1.14.6 → 2.0.0-beta.1
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 +74 -136
- package/dist/adapters/crossws/index.d.mts +42 -21
- package/dist/adapters/crossws/index.d.ts +42 -21
- package/dist/adapters/crossws/index.mjs +37 -18
- package/dist/adapters/fetch/index.d.mts +83 -67
- package/dist/adapters/fetch/index.d.ts +83 -67
- package/dist/adapters/fetch/index.mjs +131 -106
- package/dist/adapters/message-port/index.d.mts +51 -34
- package/dist/adapters/message-port/index.d.ts +51 -34
- package/dist/adapters/message-port/index.mjs +73 -38
- package/dist/adapters/node/index.d.mts +82 -60
- package/dist/adapters/node/index.d.ts +82 -60
- package/dist/adapters/node/index.mjs +127 -98
- package/dist/adapters/standard/index.d.mts +16 -18
- package/dist/adapters/standard/index.d.ts +16 -18
- package/dist/adapters/standard/index.mjs +5 -5
- package/dist/adapters/standard-peer/index.d.mts +12 -14
- package/dist/adapters/standard-peer/index.d.ts +12 -14
- package/dist/adapters/standard-peer/index.mjs +2 -21
- package/dist/adapters/websocket/index.d.mts +39 -34
- package/dist/adapters/websocket/index.d.ts +39 -34
- package/dist/adapters/websocket/index.mjs +42 -33
- package/dist/extensions/callable.d.mts +10 -0
- package/dist/extensions/callable.d.ts +10 -0
- package/dist/extensions/callable.mjs +11 -0
- package/dist/helpers/index.d.mts +2 -2
- package/dist/helpers/index.d.ts +2 -2
- package/dist/helpers/index.mjs +1 -1
- package/dist/index.d.mts +163 -770
- package/dist/index.d.ts +163 -770
- package/dist/index.mjs +296 -403
- package/dist/plugins/index.d.mts +105 -143
- package/dist/plugins/index.d.ts +105 -143
- package/dist/plugins/index.mjs +232 -255
- package/dist/shared/server.BB_Ik9Ph.d.mts +104 -0
- package/dist/shared/server.BL22TloH.d.mts +184 -0
- package/dist/shared/server.BL22TloH.d.ts +184 -0
- package/dist/shared/server.B_U9y00a.d.mts +66 -0
- package/dist/shared/server.BsNNjG5J.d.mts +61 -0
- package/dist/shared/server.BwHnWUuN.mjs +222 -0
- package/dist/shared/server.CX4vUnDk.mjs +11 -0
- package/dist/shared/server.CjOb6ItT.mjs +41 -0
- package/dist/shared/server.CrlKQucM.mjs +233 -0
- package/dist/shared/server.D_QauotT.mjs +30 -0
- package/dist/shared/server.EOHJ3NJr.d.ts +104 -0
- package/dist/shared/server.GDpX6Df8.mjs +271 -0
- package/dist/shared/server.Pa0F03f_.d.ts +61 -0
- package/dist/shared/server.T9F3bzZx.d.ts +66 -0
- package/dist/shared/{server.DZ5BIITo.mjs → server.W91HSRkE.mjs} +2 -2
- package/package.json +26 -55
- package/dist/adapters/aws-lambda/index.d.mts +0 -46
- package/dist/adapters/aws-lambda/index.d.ts +0 -46
- package/dist/adapters/aws-lambda/index.mjs +0 -40
- package/dist/adapters/bun-ws/index.d.mts +0 -36
- package/dist/adapters/bun-ws/index.d.ts +0 -36
- package/dist/adapters/bun-ws/index.mjs +0 -47
- package/dist/adapters/fastify/index.d.mts +0 -53
- package/dist/adapters/fastify/index.d.ts +0 -53
- package/dist/adapters/fastify/index.mjs +0 -52
- package/dist/adapters/ws/index.d.mts +0 -31
- package/dist/adapters/ws/index.d.ts +0 -31
- package/dist/adapters/ws/index.mjs +0 -37
- package/dist/hibernation/index.d.mts +0 -44
- package/dist/hibernation/index.d.ts +0 -44
- package/dist/hibernation/index.mjs +0 -65
- package/dist/shared/server.7cEtMB30.d.ts +0 -74
- package/dist/shared/server.B8gYOD5g.d.mts +0 -12
- package/dist/shared/server.BqadksTP.d.mts +0 -74
- package/dist/shared/server.C8_sRzQB.d.mts +0 -42
- package/dist/shared/server.ChUyt5-i.d.mts +0 -32
- package/dist/shared/server.ChyoA9XY.d.ts +0 -42
- package/dist/shared/server.DEBcqOjg.mjs +0 -418
- package/dist/shared/server.EfTOZ2Q7.d.ts +0 -12
- package/dist/shared/server.TEVCLCFC.mjs +0 -39
- package/dist/shared/server.ZxHCEN1h.mjs +0 -226
- package/dist/shared/server.qKsRrdxW.d.mts +0 -193
- package/dist/shared/server.qKsRrdxW.d.ts +0 -193
- package/dist/shared/server.yoEB3Fx4.d.ts +0 -32
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import { resolveMaybeOptionalOptions } from '@orpc/shared';
|
|
2
|
-
import { toStandardLazyRequest, sendStandardResponse } from '@orpc/standard-server-aws-lambda';
|
|
3
|
-
import { r as resolveFriendlyStandardHandleOptions } from '../../shared/server.DZ5BIITo.mjs';
|
|
4
|
-
import { S as StrictGetMethodPlugin } from '../../shared/server.TEVCLCFC.mjs';
|
|
5
|
-
import { b as StandardRPCHandler } from '../../shared/server.ZxHCEN1h.mjs';
|
|
6
|
-
import '@orpc/contract';
|
|
7
|
-
import '@orpc/client/standard';
|
|
8
|
-
import '@orpc/client';
|
|
9
|
-
import '@orpc/standard-server';
|
|
10
|
-
import '../../shared/server.DEBcqOjg.mjs';
|
|
11
|
-
|
|
12
|
-
class AwsLambdaHandler {
|
|
13
|
-
constructor(standardHandler, options = {}) {
|
|
14
|
-
this.standardHandler = standardHandler;
|
|
15
|
-
this.sendStandardResponseOptions = options;
|
|
16
|
-
}
|
|
17
|
-
sendStandardResponseOptions;
|
|
18
|
-
async handle(event, responseStream, ...rest) {
|
|
19
|
-
const standardRequest = toStandardLazyRequest(event, responseStream);
|
|
20
|
-
const options = resolveFriendlyStandardHandleOptions(resolveMaybeOptionalOptions(rest));
|
|
21
|
-
const result = await this.standardHandler.handle(standardRequest, options);
|
|
22
|
-
if (!result.matched) {
|
|
23
|
-
return { matched: false };
|
|
24
|
-
}
|
|
25
|
-
await sendStandardResponse(responseStream, result.response, this.sendStandardResponseOptions);
|
|
26
|
-
return { matched: true };
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
class RPCHandler extends AwsLambdaHandler {
|
|
31
|
-
constructor(router, options = {}) {
|
|
32
|
-
if (options.strictGetMethodPluginEnabled ?? true) {
|
|
33
|
-
options.plugins ??= [];
|
|
34
|
-
options.plugins.push(new StrictGetMethodPlugin());
|
|
35
|
-
}
|
|
36
|
-
super(new StandardRPCHandler(router, options), options);
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
export { AwsLambdaHandler, RPCHandler };
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import { MaybeOptionalOptions } from '@orpc/shared';
|
|
2
|
-
import { C as Context, R as Router } from '../../shared/server.qKsRrdxW.mjs';
|
|
3
|
-
import { f as StandardHandler } from '../../shared/server.BqadksTP.mjs';
|
|
4
|
-
import { HandleStandardServerPeerMessageOptions } from '../standard-peer/index.mjs';
|
|
5
|
-
import { S as StandardRPCHandlerOptions } from '../../shared/server.ChUyt5-i.mjs';
|
|
6
|
-
import '@orpc/client';
|
|
7
|
-
import '@orpc/contract';
|
|
8
|
-
import '@orpc/standard-server';
|
|
9
|
-
import '@orpc/standard-server-peer';
|
|
10
|
-
import '../../shared/server.B8gYOD5g.mjs';
|
|
11
|
-
import '@orpc/client/standard';
|
|
12
|
-
import '../../shared/server.C8_sRzQB.mjs';
|
|
13
|
-
|
|
14
|
-
interface ServerWebSocket {
|
|
15
|
-
send(message: string | ArrayBufferLike | Uint8Array): number;
|
|
16
|
-
}
|
|
17
|
-
declare class BunWsHandler<T extends Context> {
|
|
18
|
-
private readonly standardHandler;
|
|
19
|
-
private readonly peers;
|
|
20
|
-
constructor(standardHandler: StandardHandler<T>);
|
|
21
|
-
message(ws: ServerWebSocket, message: string | ArrayBufferView, ...rest: MaybeOptionalOptions<HandleStandardServerPeerMessageOptions<T>>): Promise<void>;
|
|
22
|
-
close(ws: ServerWebSocket): void;
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
/**
|
|
26
|
-
* RPC Handler for Bun WS adapter
|
|
27
|
-
*
|
|
28
|
-
* @see {@link https://orpc.dev/docs/rpc-handler RPC Handler Docs}
|
|
29
|
-
* @see {@link https://orpc.dev/docs/adapters/websocket Websocket Adapter Docs}
|
|
30
|
-
*/
|
|
31
|
-
declare class RPCHandler<T extends Context> extends BunWsHandler<T> {
|
|
32
|
-
constructor(router: Router<any, T>, options?: NoInfer<StandardRPCHandlerOptions<T>>);
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
export { BunWsHandler, RPCHandler };
|
|
36
|
-
export type { ServerWebSocket };
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import { MaybeOptionalOptions } from '@orpc/shared';
|
|
2
|
-
import { C as Context, R as Router } from '../../shared/server.qKsRrdxW.js';
|
|
3
|
-
import { f as StandardHandler } from '../../shared/server.7cEtMB30.js';
|
|
4
|
-
import { HandleStandardServerPeerMessageOptions } from '../standard-peer/index.js';
|
|
5
|
-
import { S as StandardRPCHandlerOptions } from '../../shared/server.yoEB3Fx4.js';
|
|
6
|
-
import '@orpc/client';
|
|
7
|
-
import '@orpc/contract';
|
|
8
|
-
import '@orpc/standard-server';
|
|
9
|
-
import '@orpc/standard-server-peer';
|
|
10
|
-
import '../../shared/server.EfTOZ2Q7.js';
|
|
11
|
-
import '@orpc/client/standard';
|
|
12
|
-
import '../../shared/server.ChyoA9XY.js';
|
|
13
|
-
|
|
14
|
-
interface ServerWebSocket {
|
|
15
|
-
send(message: string | ArrayBufferLike | Uint8Array): number;
|
|
16
|
-
}
|
|
17
|
-
declare class BunWsHandler<T extends Context> {
|
|
18
|
-
private readonly standardHandler;
|
|
19
|
-
private readonly peers;
|
|
20
|
-
constructor(standardHandler: StandardHandler<T>);
|
|
21
|
-
message(ws: ServerWebSocket, message: string | ArrayBufferView, ...rest: MaybeOptionalOptions<HandleStandardServerPeerMessageOptions<T>>): Promise<void>;
|
|
22
|
-
close(ws: ServerWebSocket): void;
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
/**
|
|
26
|
-
* RPC Handler for Bun WS adapter
|
|
27
|
-
*
|
|
28
|
-
* @see {@link https://orpc.dev/docs/rpc-handler RPC Handler Docs}
|
|
29
|
-
* @see {@link https://orpc.dev/docs/adapters/websocket Websocket Adapter Docs}
|
|
30
|
-
*/
|
|
31
|
-
declare class RPCHandler<T extends Context> extends BunWsHandler<T> {
|
|
32
|
-
constructor(router: Router<any, T>, options?: NoInfer<StandardRPCHandlerOptions<T>>);
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
export { BunWsHandler, RPCHandler };
|
|
36
|
-
export type { ServerWebSocket };
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
import { resolveMaybeOptionalOptions } from '@orpc/shared';
|
|
2
|
-
import { ServerPeer } from '@orpc/standard-server-peer';
|
|
3
|
-
import { createServerPeerHandleRequestFn } from '../standard-peer/index.mjs';
|
|
4
|
-
import { b as StandardRPCHandler } from '../../shared/server.ZxHCEN1h.mjs';
|
|
5
|
-
import '../../shared/server.DZ5BIITo.mjs';
|
|
6
|
-
import '@orpc/client/standard';
|
|
7
|
-
import '@orpc/client';
|
|
8
|
-
import '@orpc/standard-server';
|
|
9
|
-
import '../../shared/server.DEBcqOjg.mjs';
|
|
10
|
-
import '@orpc/contract';
|
|
11
|
-
|
|
12
|
-
class BunWsHandler {
|
|
13
|
-
constructor(standardHandler) {
|
|
14
|
-
this.standardHandler = standardHandler;
|
|
15
|
-
}
|
|
16
|
-
peers = /* @__PURE__ */ new WeakMap();
|
|
17
|
-
async message(ws, message, ...rest) {
|
|
18
|
-
let peer = this.peers.get(ws);
|
|
19
|
-
if (!peer) {
|
|
20
|
-
this.peers.set(ws, peer = new ServerPeer(
|
|
21
|
-
(message2) => {
|
|
22
|
-
ws.send(message2);
|
|
23
|
-
}
|
|
24
|
-
));
|
|
25
|
-
}
|
|
26
|
-
const encodedMessage = typeof message === "string" ? message : new Uint8Array(message.buffer, message.byteOffset, message.byteLength);
|
|
27
|
-
await peer.message(
|
|
28
|
-
encodedMessage,
|
|
29
|
-
createServerPeerHandleRequestFn(this.standardHandler, resolveMaybeOptionalOptions(rest))
|
|
30
|
-
);
|
|
31
|
-
}
|
|
32
|
-
close(ws) {
|
|
33
|
-
const server = this.peers.get(ws);
|
|
34
|
-
if (server) {
|
|
35
|
-
server.close();
|
|
36
|
-
this.peers.delete(ws);
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
class RPCHandler extends BunWsHandler {
|
|
42
|
-
constructor(router, options = {}) {
|
|
43
|
-
super(new StandardRPCHandler(router, options));
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
export { BunWsHandler, RPCHandler };
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
import { Interceptor, MaybeOptionalOptions } from '@orpc/shared';
|
|
2
|
-
import { FastifyRequest, FastifyReply, SendStandardResponseOptions } from '@orpc/standard-server-fastify';
|
|
3
|
-
import { C as Context, R as Router } from '../../shared/server.qKsRrdxW.mjs';
|
|
4
|
-
import { F as FriendlyStandardHandleOptions } from '../../shared/server.B8gYOD5g.mjs';
|
|
5
|
-
import { b as StandardHandleOptions, f as StandardHandler } from '../../shared/server.BqadksTP.mjs';
|
|
6
|
-
import { S as StandardRPCHandlerOptions } from '../../shared/server.ChUyt5-i.mjs';
|
|
7
|
-
import '@orpc/client';
|
|
8
|
-
import '@orpc/contract';
|
|
9
|
-
import '@orpc/standard-server';
|
|
10
|
-
import '@orpc/client/standard';
|
|
11
|
-
import '../../shared/server.C8_sRzQB.mjs';
|
|
12
|
-
|
|
13
|
-
type FastifyHandleResult = {
|
|
14
|
-
matched: true;
|
|
15
|
-
} | {
|
|
16
|
-
matched: false;
|
|
17
|
-
};
|
|
18
|
-
interface FastifyInterceptorOptions<T extends Context> extends StandardHandleOptions<T> {
|
|
19
|
-
request: FastifyRequest;
|
|
20
|
-
reply: FastifyReply;
|
|
21
|
-
sendStandardResponseOptions: SendStandardResponseOptions;
|
|
22
|
-
}
|
|
23
|
-
interface FastifyHandlerOptions<T extends Context> extends SendStandardResponseOptions {
|
|
24
|
-
adapterInterceptors?: Interceptor<FastifyInterceptorOptions<T>, Promise<FastifyHandleResult>>[];
|
|
25
|
-
}
|
|
26
|
-
declare class FastifyHandler<T extends Context> {
|
|
27
|
-
private readonly standardHandler;
|
|
28
|
-
private readonly sendStandardResponseOptions;
|
|
29
|
-
private readonly adapterInterceptors;
|
|
30
|
-
constructor(standardHandler: StandardHandler<T>, options?: NoInfer<FastifyHandlerOptions<T>>);
|
|
31
|
-
handle(request: FastifyRequest, reply: FastifyReply, ...rest: MaybeOptionalOptions<FriendlyStandardHandleOptions<T>>): Promise<FastifyHandleResult>;
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
interface RPCHandlerOptions<T extends Context> extends FastifyHandlerOptions<T>, StandardRPCHandlerOptions<T> {
|
|
35
|
-
/**
|
|
36
|
-
* Enables or disables the StrictGetMethodPlugin.
|
|
37
|
-
*
|
|
38
|
-
* @default true
|
|
39
|
-
*/
|
|
40
|
-
strictGetMethodPluginEnabled?: boolean;
|
|
41
|
-
}
|
|
42
|
-
/**
|
|
43
|
-
* RPC Handler for Fastify Server
|
|
44
|
-
*
|
|
45
|
-
* @see {@link https://orpc.dev/docs/rpc-handler RPC Handler Docs}
|
|
46
|
-
* @see {@link https://orpc.dev/docs/adapters/http HTTP Adapter Docs}
|
|
47
|
-
*/
|
|
48
|
-
declare class RPCHandler<T extends Context> extends FastifyHandler<T> {
|
|
49
|
-
constructor(router: Router<any, T>, options?: NoInfer<RPCHandlerOptions<T>>);
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
export { FastifyHandler, RPCHandler };
|
|
53
|
-
export type { FastifyHandleResult, FastifyHandlerOptions, FastifyInterceptorOptions, RPCHandlerOptions };
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
import { Interceptor, MaybeOptionalOptions } from '@orpc/shared';
|
|
2
|
-
import { FastifyRequest, FastifyReply, SendStandardResponseOptions } from '@orpc/standard-server-fastify';
|
|
3
|
-
import { C as Context, R as Router } from '../../shared/server.qKsRrdxW.js';
|
|
4
|
-
import { F as FriendlyStandardHandleOptions } from '../../shared/server.EfTOZ2Q7.js';
|
|
5
|
-
import { b as StandardHandleOptions, f as StandardHandler } from '../../shared/server.7cEtMB30.js';
|
|
6
|
-
import { S as StandardRPCHandlerOptions } from '../../shared/server.yoEB3Fx4.js';
|
|
7
|
-
import '@orpc/client';
|
|
8
|
-
import '@orpc/contract';
|
|
9
|
-
import '@orpc/standard-server';
|
|
10
|
-
import '@orpc/client/standard';
|
|
11
|
-
import '../../shared/server.ChyoA9XY.js';
|
|
12
|
-
|
|
13
|
-
type FastifyHandleResult = {
|
|
14
|
-
matched: true;
|
|
15
|
-
} | {
|
|
16
|
-
matched: false;
|
|
17
|
-
};
|
|
18
|
-
interface FastifyInterceptorOptions<T extends Context> extends StandardHandleOptions<T> {
|
|
19
|
-
request: FastifyRequest;
|
|
20
|
-
reply: FastifyReply;
|
|
21
|
-
sendStandardResponseOptions: SendStandardResponseOptions;
|
|
22
|
-
}
|
|
23
|
-
interface FastifyHandlerOptions<T extends Context> extends SendStandardResponseOptions {
|
|
24
|
-
adapterInterceptors?: Interceptor<FastifyInterceptorOptions<T>, Promise<FastifyHandleResult>>[];
|
|
25
|
-
}
|
|
26
|
-
declare class FastifyHandler<T extends Context> {
|
|
27
|
-
private readonly standardHandler;
|
|
28
|
-
private readonly sendStandardResponseOptions;
|
|
29
|
-
private readonly adapterInterceptors;
|
|
30
|
-
constructor(standardHandler: StandardHandler<T>, options?: NoInfer<FastifyHandlerOptions<T>>);
|
|
31
|
-
handle(request: FastifyRequest, reply: FastifyReply, ...rest: MaybeOptionalOptions<FriendlyStandardHandleOptions<T>>): Promise<FastifyHandleResult>;
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
interface RPCHandlerOptions<T extends Context> extends FastifyHandlerOptions<T>, StandardRPCHandlerOptions<T> {
|
|
35
|
-
/**
|
|
36
|
-
* Enables or disables the StrictGetMethodPlugin.
|
|
37
|
-
*
|
|
38
|
-
* @default true
|
|
39
|
-
*/
|
|
40
|
-
strictGetMethodPluginEnabled?: boolean;
|
|
41
|
-
}
|
|
42
|
-
/**
|
|
43
|
-
* RPC Handler for Fastify Server
|
|
44
|
-
*
|
|
45
|
-
* @see {@link https://orpc.dev/docs/rpc-handler RPC Handler Docs}
|
|
46
|
-
* @see {@link https://orpc.dev/docs/adapters/http HTTP Adapter Docs}
|
|
47
|
-
*/
|
|
48
|
-
declare class RPCHandler<T extends Context> extends FastifyHandler<T> {
|
|
49
|
-
constructor(router: Router<any, T>, options?: NoInfer<RPCHandlerOptions<T>>);
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
export { FastifyHandler, RPCHandler };
|
|
53
|
-
export type { FastifyHandleResult, FastifyHandlerOptions, FastifyInterceptorOptions, RPCHandlerOptions };
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
import { toArray, intercept, resolveMaybeOptionalOptions } from '@orpc/shared';
|
|
2
|
-
import { toStandardLazyRequest, sendStandardResponse } from '@orpc/standard-server-fastify';
|
|
3
|
-
import { r as resolveFriendlyStandardHandleOptions } from '../../shared/server.DZ5BIITo.mjs';
|
|
4
|
-
import { S as StrictGetMethodPlugin } from '../../shared/server.TEVCLCFC.mjs';
|
|
5
|
-
import { b as StandardRPCHandler } from '../../shared/server.ZxHCEN1h.mjs';
|
|
6
|
-
import '@orpc/contract';
|
|
7
|
-
import '@orpc/client/standard';
|
|
8
|
-
import '@orpc/client';
|
|
9
|
-
import '@orpc/standard-server';
|
|
10
|
-
import '../../shared/server.DEBcqOjg.mjs';
|
|
11
|
-
|
|
12
|
-
class FastifyHandler {
|
|
13
|
-
constructor(standardHandler, options = {}) {
|
|
14
|
-
this.standardHandler = standardHandler;
|
|
15
|
-
this.adapterInterceptors = toArray(options.adapterInterceptors);
|
|
16
|
-
this.sendStandardResponseOptions = options;
|
|
17
|
-
}
|
|
18
|
-
sendStandardResponseOptions;
|
|
19
|
-
adapterInterceptors;
|
|
20
|
-
async handle(request, reply, ...rest) {
|
|
21
|
-
return intercept(
|
|
22
|
-
this.adapterInterceptors,
|
|
23
|
-
{
|
|
24
|
-
...resolveFriendlyStandardHandleOptions(resolveMaybeOptionalOptions(rest)),
|
|
25
|
-
request,
|
|
26
|
-
reply,
|
|
27
|
-
sendStandardResponseOptions: this.sendStandardResponseOptions
|
|
28
|
-
},
|
|
29
|
-
async ({ request: request2, reply: reply2, sendStandardResponseOptions, ...options }) => {
|
|
30
|
-
const standardRequest = toStandardLazyRequest(request2, reply2);
|
|
31
|
-
const result = await this.standardHandler.handle(standardRequest, options);
|
|
32
|
-
if (!result.matched) {
|
|
33
|
-
return { matched: false };
|
|
34
|
-
}
|
|
35
|
-
await sendStandardResponse(reply2, result.response, sendStandardResponseOptions);
|
|
36
|
-
return { matched: true };
|
|
37
|
-
}
|
|
38
|
-
);
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
class RPCHandler extends FastifyHandler {
|
|
43
|
-
constructor(router, options = {}) {
|
|
44
|
-
if (options.strictGetMethodPluginEnabled ?? true) {
|
|
45
|
-
options.plugins ??= [];
|
|
46
|
-
options.plugins.push(new StrictGetMethodPlugin());
|
|
47
|
-
}
|
|
48
|
-
super(new StandardRPCHandler(router, options), options);
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
export { FastifyHandler, RPCHandler };
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import { MaybeOptionalOptions } from '@orpc/shared';
|
|
2
|
-
import { WebSocket } from 'ws';
|
|
3
|
-
import { C as Context, R as Router } from '../../shared/server.qKsRrdxW.mjs';
|
|
4
|
-
import { f as StandardHandler } from '../../shared/server.BqadksTP.mjs';
|
|
5
|
-
import { HandleStandardServerPeerMessageOptions } from '../standard-peer/index.mjs';
|
|
6
|
-
import { S as StandardRPCHandlerOptions } from '../../shared/server.ChUyt5-i.mjs';
|
|
7
|
-
import '@orpc/client';
|
|
8
|
-
import '@orpc/contract';
|
|
9
|
-
import '@orpc/standard-server';
|
|
10
|
-
import '@orpc/standard-server-peer';
|
|
11
|
-
import '../../shared/server.B8gYOD5g.mjs';
|
|
12
|
-
import '@orpc/client/standard';
|
|
13
|
-
import '../../shared/server.C8_sRzQB.mjs';
|
|
14
|
-
|
|
15
|
-
declare class WsHandler<T extends Context> {
|
|
16
|
-
private readonly standardHandler;
|
|
17
|
-
constructor(standardHandler: StandardHandler<T>);
|
|
18
|
-
upgrade(ws: Pick<WebSocket, 'addEventListener' | 'send'>, ...rest: MaybeOptionalOptions<HandleStandardServerPeerMessageOptions<T>>): Promise<void>;
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
/**
|
|
22
|
-
* RPC Handler for ws (node ws) adapter
|
|
23
|
-
*
|
|
24
|
-
* @see {@link https://orpc.dev/docs/rpc-handler RPC Handler Docs}
|
|
25
|
-
* @see {@link https://orpc.dev/docs/adapters/websocket Websocket Adapter Docs}
|
|
26
|
-
*/
|
|
27
|
-
declare class RPCHandler<T extends Context> extends WsHandler<T> {
|
|
28
|
-
constructor(router: Router<any, T>, options?: NoInfer<StandardRPCHandlerOptions<T>>);
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
export { RPCHandler, WsHandler };
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import { MaybeOptionalOptions } from '@orpc/shared';
|
|
2
|
-
import { WebSocket } from 'ws';
|
|
3
|
-
import { C as Context, R as Router } from '../../shared/server.qKsRrdxW.js';
|
|
4
|
-
import { f as StandardHandler } from '../../shared/server.7cEtMB30.js';
|
|
5
|
-
import { HandleStandardServerPeerMessageOptions } from '../standard-peer/index.js';
|
|
6
|
-
import { S as StandardRPCHandlerOptions } from '../../shared/server.yoEB3Fx4.js';
|
|
7
|
-
import '@orpc/client';
|
|
8
|
-
import '@orpc/contract';
|
|
9
|
-
import '@orpc/standard-server';
|
|
10
|
-
import '@orpc/standard-server-peer';
|
|
11
|
-
import '../../shared/server.EfTOZ2Q7.js';
|
|
12
|
-
import '@orpc/client/standard';
|
|
13
|
-
import '../../shared/server.ChyoA9XY.js';
|
|
14
|
-
|
|
15
|
-
declare class WsHandler<T extends Context> {
|
|
16
|
-
private readonly standardHandler;
|
|
17
|
-
constructor(standardHandler: StandardHandler<T>);
|
|
18
|
-
upgrade(ws: Pick<WebSocket, 'addEventListener' | 'send'>, ...rest: MaybeOptionalOptions<HandleStandardServerPeerMessageOptions<T>>): Promise<void>;
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
/**
|
|
22
|
-
* RPC Handler for ws (node ws) adapter
|
|
23
|
-
*
|
|
24
|
-
* @see {@link https://orpc.dev/docs/rpc-handler RPC Handler Docs}
|
|
25
|
-
* @see {@link https://orpc.dev/docs/adapters/websocket Websocket Adapter Docs}
|
|
26
|
-
*/
|
|
27
|
-
declare class RPCHandler<T extends Context> extends WsHandler<T> {
|
|
28
|
-
constructor(router: Router<any, T>, options?: NoInfer<StandardRPCHandlerOptions<T>>);
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
export { RPCHandler, WsHandler };
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
import { readAsBuffer, resolveMaybeOptionalOptions } from '@orpc/shared';
|
|
2
|
-
import { ServerPeer } from '@orpc/standard-server-peer';
|
|
3
|
-
import { createServerPeerHandleRequestFn } from '../standard-peer/index.mjs';
|
|
4
|
-
import { b as StandardRPCHandler } from '../../shared/server.ZxHCEN1h.mjs';
|
|
5
|
-
import '../../shared/server.DZ5BIITo.mjs';
|
|
6
|
-
import '@orpc/client/standard';
|
|
7
|
-
import '@orpc/client';
|
|
8
|
-
import '@orpc/standard-server';
|
|
9
|
-
import '../../shared/server.DEBcqOjg.mjs';
|
|
10
|
-
import '@orpc/contract';
|
|
11
|
-
|
|
12
|
-
class WsHandler {
|
|
13
|
-
constructor(standardHandler) {
|
|
14
|
-
this.standardHandler = standardHandler;
|
|
15
|
-
}
|
|
16
|
-
async upgrade(ws, ...rest) {
|
|
17
|
-
const peer = new ServerPeer(ws.send.bind(ws));
|
|
18
|
-
ws.addEventListener("message", async (event) => {
|
|
19
|
-
const message = Array.isArray(event.data) ? await readAsBuffer(new Blob(event.data)) : event.data;
|
|
20
|
-
await peer.message(
|
|
21
|
-
message,
|
|
22
|
-
createServerPeerHandleRequestFn(this.standardHandler, resolveMaybeOptionalOptions(rest))
|
|
23
|
-
);
|
|
24
|
-
});
|
|
25
|
-
ws.addEventListener("close", () => {
|
|
26
|
-
peer.close();
|
|
27
|
-
});
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
class RPCHandler extends WsHandler {
|
|
32
|
-
constructor(router, options = {}) {
|
|
33
|
-
super(new StandardRPCHandler(router, options));
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
export { RPCHandler, WsHandler };
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
import { StandardRPCJsonSerializerOptions } from '@orpc/client/standard';
|
|
2
|
-
import { C as Context, R as Router } from '../shared/server.qKsRrdxW.mjs';
|
|
3
|
-
import { HibernationEventIterator } from '@orpc/standard-server';
|
|
4
|
-
export { HibernationEventIterator, HibernationEventIteratorCallback } from '@orpc/standard-server';
|
|
5
|
-
import { g as StandardHandlerPlugin, e as StandardHandlerOptions } from '../shared/server.BqadksTP.mjs';
|
|
6
|
-
import '@orpc/client';
|
|
7
|
-
import '@orpc/contract';
|
|
8
|
-
import '@orpc/shared';
|
|
9
|
-
|
|
10
|
-
interface EncodeHibernationRPCEventOptions extends StandardRPCJsonSerializerOptions {
|
|
11
|
-
/**
|
|
12
|
-
* The type of event, each type corresponds a different operation
|
|
13
|
-
*
|
|
14
|
-
* - 'message' = 'yield'
|
|
15
|
-
* - 'error' = 'throw'
|
|
16
|
-
* - 'done' = 'return'
|
|
17
|
-
*
|
|
18
|
-
* @default 'message'
|
|
19
|
-
*/
|
|
20
|
-
event?: 'message' | 'error' | 'done';
|
|
21
|
-
}
|
|
22
|
-
/**
|
|
23
|
-
* Encodes a Hibernation RPC Event
|
|
24
|
-
*
|
|
25
|
-
* @see {@link https://orpc.dev/docs/plugins/hibernation Hibernation Plugin}
|
|
26
|
-
*/
|
|
27
|
-
declare function encodeHibernationRPCEvent(id: string, payload: unknown, options?: EncodeHibernationRPCEventOptions): string;
|
|
28
|
-
|
|
29
|
-
interface HibernationPluginContext {
|
|
30
|
-
iterator?: HibernationEventIterator<any>;
|
|
31
|
-
}
|
|
32
|
-
/**
|
|
33
|
-
* Enable Hibernation APIs
|
|
34
|
-
*
|
|
35
|
-
* @see {@link https://orpc.dev/docs/plugins/hibernation Hibernation Plugin}
|
|
36
|
-
*/
|
|
37
|
-
declare class HibernationPlugin<T extends Context> implements StandardHandlerPlugin<T> {
|
|
38
|
-
readonly CONTEXT_SYMBOL: symbol;
|
|
39
|
-
order: number;
|
|
40
|
-
init(options: StandardHandlerOptions<T>, _router: Router<any, T>): void;
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
export { HibernationPlugin, encodeHibernationRPCEvent };
|
|
44
|
-
export type { EncodeHibernationRPCEventOptions, HibernationPluginContext };
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
import { StandardRPCJsonSerializerOptions } from '@orpc/client/standard';
|
|
2
|
-
import { C as Context, R as Router } from '../shared/server.qKsRrdxW.js';
|
|
3
|
-
import { HibernationEventIterator } from '@orpc/standard-server';
|
|
4
|
-
export { HibernationEventIterator, HibernationEventIteratorCallback } from '@orpc/standard-server';
|
|
5
|
-
import { g as StandardHandlerPlugin, e as StandardHandlerOptions } from '../shared/server.7cEtMB30.js';
|
|
6
|
-
import '@orpc/client';
|
|
7
|
-
import '@orpc/contract';
|
|
8
|
-
import '@orpc/shared';
|
|
9
|
-
|
|
10
|
-
interface EncodeHibernationRPCEventOptions extends StandardRPCJsonSerializerOptions {
|
|
11
|
-
/**
|
|
12
|
-
* The type of event, each type corresponds a different operation
|
|
13
|
-
*
|
|
14
|
-
* - 'message' = 'yield'
|
|
15
|
-
* - 'error' = 'throw'
|
|
16
|
-
* - 'done' = 'return'
|
|
17
|
-
*
|
|
18
|
-
* @default 'message'
|
|
19
|
-
*/
|
|
20
|
-
event?: 'message' | 'error' | 'done';
|
|
21
|
-
}
|
|
22
|
-
/**
|
|
23
|
-
* Encodes a Hibernation RPC Event
|
|
24
|
-
*
|
|
25
|
-
* @see {@link https://orpc.dev/docs/plugins/hibernation Hibernation Plugin}
|
|
26
|
-
*/
|
|
27
|
-
declare function encodeHibernationRPCEvent(id: string, payload: unknown, options?: EncodeHibernationRPCEventOptions): string;
|
|
28
|
-
|
|
29
|
-
interface HibernationPluginContext {
|
|
30
|
-
iterator?: HibernationEventIterator<any>;
|
|
31
|
-
}
|
|
32
|
-
/**
|
|
33
|
-
* Enable Hibernation APIs
|
|
34
|
-
*
|
|
35
|
-
* @see {@link https://orpc.dev/docs/plugins/hibernation Hibernation Plugin}
|
|
36
|
-
*/
|
|
37
|
-
declare class HibernationPlugin<T extends Context> implements StandardHandlerPlugin<T> {
|
|
38
|
-
readonly CONTEXT_SYMBOL: symbol;
|
|
39
|
-
order: number;
|
|
40
|
-
init(options: StandardHandlerOptions<T>, _router: Router<any, T>): void;
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
export { HibernationPlugin, encodeHibernationRPCEvent };
|
|
44
|
-
export type { EncodeHibernationRPCEventOptions, HibernationPluginContext };
|
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
import { toORPCError } from '@orpc/client';
|
|
2
|
-
import { StandardRPCJsonSerializer } from '@orpc/client/standard';
|
|
3
|
-
import { stringifyJSON } from '@orpc/shared';
|
|
4
|
-
import { getEventMeta, HibernationEventIterator } from '@orpc/standard-server';
|
|
5
|
-
export { HibernationEventIterator } from '@orpc/standard-server';
|
|
6
|
-
import { MessageType } from '@orpc/standard-server-peer';
|
|
7
|
-
|
|
8
|
-
function encodeHibernationRPCEvent(id, payload, options = {}) {
|
|
9
|
-
const { event = "message", ...rest } = options;
|
|
10
|
-
const serializer = new StandardRPCJsonSerializer(rest);
|
|
11
|
-
const data = event === "error" ? toORPCError(payload).toJSON() : payload;
|
|
12
|
-
const [json, meta] = serializer.serialize(data);
|
|
13
|
-
return stringifyJSON({
|
|
14
|
-
i: id,
|
|
15
|
-
t: MessageType.EVENT_ITERATOR,
|
|
16
|
-
p: {
|
|
17
|
-
e: event,
|
|
18
|
-
d: { json, meta: meta.length > 0 ? meta : void 0 },
|
|
19
|
-
m: getEventMeta(payload)
|
|
20
|
-
}
|
|
21
|
-
});
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
class HibernationPlugin {
|
|
25
|
-
CONTEXT_SYMBOL = Symbol("ORPC_HIBERNATION_CONTEXT");
|
|
26
|
-
order = 2e6;
|
|
27
|
-
// make sure execute after the batch plugin
|
|
28
|
-
init(options, _router) {
|
|
29
|
-
options.interceptors ??= [];
|
|
30
|
-
options.clientInterceptors ??= [];
|
|
31
|
-
options.interceptors.unshift(async (options2) => {
|
|
32
|
-
const hibernationContext = {};
|
|
33
|
-
const result = await options2.next({
|
|
34
|
-
...options2,
|
|
35
|
-
context: {
|
|
36
|
-
...options2.context,
|
|
37
|
-
[this.CONTEXT_SYMBOL]: hibernationContext
|
|
38
|
-
}
|
|
39
|
-
});
|
|
40
|
-
if (!result.matched || !hibernationContext.iterator) {
|
|
41
|
-
return result;
|
|
42
|
-
}
|
|
43
|
-
return {
|
|
44
|
-
...result,
|
|
45
|
-
response: {
|
|
46
|
-
...result.response,
|
|
47
|
-
body: hibernationContext.iterator
|
|
48
|
-
}
|
|
49
|
-
};
|
|
50
|
-
});
|
|
51
|
-
options.clientInterceptors.unshift(async (options2) => {
|
|
52
|
-
const hibernationContext = options2.context[this.CONTEXT_SYMBOL];
|
|
53
|
-
if (!hibernationContext) {
|
|
54
|
-
throw new TypeError("[HibernationPlugin] Hibernation context has been corrupted or modified by another plugin or interceptor");
|
|
55
|
-
}
|
|
56
|
-
const output = await options2.next();
|
|
57
|
-
if (output instanceof HibernationEventIterator) {
|
|
58
|
-
hibernationContext.iterator = output;
|
|
59
|
-
}
|
|
60
|
-
return output;
|
|
61
|
-
});
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
export { HibernationPlugin, encodeHibernationRPCEvent };
|
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
import { HTTPPath, ORPCError } from '@orpc/client';
|
|
2
|
-
import { Meta } from '@orpc/contract';
|
|
3
|
-
import { Interceptor } from '@orpc/shared';
|
|
4
|
-
import { StandardResponse, StandardLazyRequest } from '@orpc/standard-server';
|
|
5
|
-
import { C as Context, R as Router, b as AnyRouter, A as AnyProcedure, d as ProcedureClientInterceptorOptions } from './server.qKsRrdxW.js';
|
|
6
|
-
|
|
7
|
-
interface StandardHandlerPlugin<T extends Context> {
|
|
8
|
-
order?: number;
|
|
9
|
-
init?(options: StandardHandlerOptions<T>, router: Router<any, T>): void;
|
|
10
|
-
}
|
|
11
|
-
declare class CompositeStandardHandlerPlugin<T extends Context, TPlugin extends StandardHandlerPlugin<T>> implements StandardHandlerPlugin<T> {
|
|
12
|
-
protected readonly plugins: TPlugin[];
|
|
13
|
-
constructor(plugins?: readonly TPlugin[]);
|
|
14
|
-
init(options: StandardHandlerOptions<T>, router: Router<any, T>): void;
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
type StandardParams = Record<string, string>;
|
|
18
|
-
type StandardMatchResult = {
|
|
19
|
-
path: readonly string[];
|
|
20
|
-
procedure: AnyProcedure;
|
|
21
|
-
params?: StandardParams;
|
|
22
|
-
} | undefined;
|
|
23
|
-
interface StandardMatcher {
|
|
24
|
-
init(router: AnyRouter): void;
|
|
25
|
-
match(method: string, pathname: HTTPPath): Promise<StandardMatchResult>;
|
|
26
|
-
}
|
|
27
|
-
interface StandardCodec {
|
|
28
|
-
encode(output: unknown, procedure: AnyProcedure): StandardResponse;
|
|
29
|
-
encodeError(error: ORPCError<any, any>): StandardResponse;
|
|
30
|
-
decode(request: StandardLazyRequest, params: StandardParams | undefined, procedure: AnyProcedure): Promise<unknown>;
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
interface StandardHandleOptions<T extends Context> {
|
|
34
|
-
prefix?: HTTPPath;
|
|
35
|
-
context: T;
|
|
36
|
-
}
|
|
37
|
-
type StandardHandleResult = {
|
|
38
|
-
matched: true;
|
|
39
|
-
response: StandardResponse;
|
|
40
|
-
} | {
|
|
41
|
-
matched: false;
|
|
42
|
-
response: undefined;
|
|
43
|
-
};
|
|
44
|
-
interface StandardHandlerInterceptorOptions<T extends Context> extends StandardHandleOptions<T> {
|
|
45
|
-
request: StandardLazyRequest;
|
|
46
|
-
}
|
|
47
|
-
interface StandardHandlerOptions<TContext extends Context> {
|
|
48
|
-
plugins?: StandardHandlerPlugin<TContext>[];
|
|
49
|
-
/**
|
|
50
|
-
* Interceptors at the request level, helpful when you want catch errors
|
|
51
|
-
*/
|
|
52
|
-
interceptors?: Interceptor<StandardHandlerInterceptorOptions<TContext>, Promise<StandardHandleResult>>[];
|
|
53
|
-
/**
|
|
54
|
-
* Interceptors at the root level, helpful when you want override the request/response
|
|
55
|
-
*/
|
|
56
|
-
rootInterceptors?: Interceptor<StandardHandlerInterceptorOptions<TContext>, Promise<StandardHandleResult>>[];
|
|
57
|
-
/**
|
|
58
|
-
*
|
|
59
|
-
* Interceptors for procedure client.
|
|
60
|
-
*/
|
|
61
|
-
clientInterceptors?: Interceptor<ProcedureClientInterceptorOptions<TContext, Record<never, never>, Meta>, Promise<unknown>>[];
|
|
62
|
-
}
|
|
63
|
-
declare class StandardHandler<T extends Context> {
|
|
64
|
-
private readonly matcher;
|
|
65
|
-
private readonly codec;
|
|
66
|
-
private readonly interceptors;
|
|
67
|
-
private readonly clientInterceptors;
|
|
68
|
-
private readonly rootInterceptors;
|
|
69
|
-
constructor(router: Router<any, T>, matcher: StandardMatcher, codec: StandardCodec, options: NoInfer<StandardHandlerOptions<T>>);
|
|
70
|
-
handle(request: StandardLazyRequest, options: StandardHandleOptions<T>): Promise<StandardHandleResult>;
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
export { CompositeStandardHandlerPlugin as C, StandardHandler as f };
|
|
74
|
-
export type { StandardCodec as S, StandardParams as a, StandardHandleOptions as b, StandardHandleResult as c, StandardHandlerInterceptorOptions as d, StandardHandlerOptions as e, StandardHandlerPlugin as g, StandardMatchResult as h, StandardMatcher as i };
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { C as Context } from './server.qKsRrdxW.mjs';
|
|
2
|
-
import { b as StandardHandleOptions } from './server.BqadksTP.mjs';
|
|
3
|
-
|
|
4
|
-
type FriendlyStandardHandleOptions<T extends Context> = Omit<StandardHandleOptions<T>, 'context'> & (Record<never, never> extends T ? {
|
|
5
|
-
context?: T;
|
|
6
|
-
} : {
|
|
7
|
-
context: T;
|
|
8
|
-
});
|
|
9
|
-
declare function resolveFriendlyStandardHandleOptions<T extends Context>(options: FriendlyStandardHandleOptions<T>): StandardHandleOptions<T>;
|
|
10
|
-
|
|
11
|
-
export { resolveFriendlyStandardHandleOptions as r };
|
|
12
|
-
export type { FriendlyStandardHandleOptions as F };
|