@orpc/server 0.0.0-next.57c6d70 → 0.0.0-next.57cda55
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 +10 -5
- package/dist/adapters/aws-lambda/index.d.mts +7 -7
- package/dist/adapters/aws-lambda/index.d.ts +7 -7
- package/dist/adapters/aws-lambda/index.mjs +3 -3
- package/dist/adapters/bun-ws/index.d.mts +7 -7
- package/dist/adapters/bun-ws/index.d.ts +7 -7
- package/dist/adapters/bun-ws/index.mjs +10 -10
- package/dist/adapters/crossws/index.d.mts +7 -7
- package/dist/adapters/crossws/index.d.ts +7 -7
- package/dist/adapters/crossws/index.mjs +5 -7
- package/dist/adapters/fastify/index.d.mts +53 -0
- package/dist/adapters/fastify/index.d.ts +53 -0
- package/dist/adapters/fastify/index.mjs +54 -0
- package/dist/adapters/fetch/index.d.mts +57 -12
- package/dist/adapters/fetch/index.d.ts +57 -12
- package/dist/adapters/fetch/index.mjs +74 -4
- package/dist/adapters/message-port/index.d.mts +37 -11
- package/dist/adapters/message-port/index.d.ts +37 -11
- package/dist/adapters/message-port/index.mjs +29 -15
- package/dist/adapters/node/index.d.mts +34 -13
- package/dist/adapters/node/index.d.ts +34 -13
- package/dist/adapters/node/index.mjs +69 -13
- package/dist/adapters/standard/index.d.mts +6 -6
- package/dist/adapters/standard/index.d.ts +6 -6
- package/dist/adapters/standard/index.mjs +2 -2
- package/dist/adapters/standard-peer/index.d.mts +9 -5
- package/dist/adapters/standard-peer/index.d.ts +9 -5
- package/dist/adapters/standard-peer/index.mjs +1 -1
- package/dist/adapters/websocket/index.d.mts +11 -9
- package/dist/adapters/websocket/index.d.ts +11 -9
- package/dist/adapters/websocket/index.mjs +5 -7
- package/dist/adapters/ws/index.d.mts +7 -7
- package/dist/adapters/ws/index.d.ts +7 -7
- package/dist/adapters/ws/index.mjs +5 -7
- package/dist/helpers/index.d.mts +20 -1
- package/dist/helpers/index.d.ts +20 -1
- package/dist/helpers/index.mjs +17 -1
- package/dist/hibernation/index.d.mts +13 -13
- package/dist/hibernation/index.d.ts +13 -13
- package/dist/hibernation/index.mjs +8 -8
- package/dist/index.d.mts +102 -102
- package/dist/index.d.ts +102 -102
- package/dist/index.mjs +34 -31
- package/dist/plugins/index.d.mts +46 -11
- package/dist/plugins/index.d.ts +46 -11
- package/dist/plugins/index.mjs +110 -58
- package/dist/shared/{server.Bmh5xd4n.d.ts → server.7cEtMB30.d.ts} +1 -1
- package/dist/shared/{server.BEFBl-Cb.d.mts → server.B8gYOD5g.d.mts} +2 -2
- package/dist/shared/{server.gqRxT-yN.d.mts → server.BqadksTP.d.mts} +1 -1
- package/dist/shared/{server.CIL9uKTN.mjs → server.Bxx6tqNe.mjs} +64 -39
- package/dist/shared/{server.DhJj-1X9.d.mts → server.C8_sRzQB.d.mts} +1 -1
- package/dist/shared/{server.BU4WI18A.d.mts → server.ChUyt5-i.d.mts} +3 -3
- package/dist/shared/{server.jMTkVNIb.d.ts → server.ChyoA9XY.d.ts} +1 -1
- package/dist/shared/{server.NeumLVdS.mjs → server.Ds4HPpvH.mjs} +105 -66
- package/dist/shared/{server.B7b2w3_i.d.ts → server.EfTOZ2Q7.d.ts} +2 -2
- package/dist/shared/{server.BW-nUGgA.mjs → server.TEVCLCFC.mjs} +3 -0
- package/dist/shared/server.UVMTOWrk.mjs +26 -0
- package/dist/shared/{server.CYNGeoCm.d.mts → server.qKsRrdxW.d.mts} +10 -11
- package/dist/shared/{server.CYNGeoCm.d.ts → server.qKsRrdxW.d.ts} +10 -11
- package/dist/shared/{server.D0H-iaY3.d.ts → server.yoEB3Fx4.d.ts} +3 -3
- package/package.json +24 -14
- package/dist/shared/server.C6Q5sqYw.mjs +0 -20
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
import { ORPCError } from '@orpc/client';
|
|
2
|
-
import { toArray, intercept, resolveMaybeOptionalOptions } from '@orpc/shared';
|
|
2
|
+
import { once, toArray, intercept, resolveMaybeOptionalOptions } from '@orpc/shared';
|
|
3
|
+
import compression from '@orpc/interop/compression';
|
|
3
4
|
import { toStandardLazyRequest, sendStandardResponse } from '@orpc/standard-server-node';
|
|
4
5
|
import { r as resolveFriendlyStandardHandleOptions } from '../../shared/server.DZ5BIITo.mjs';
|
|
5
6
|
import '@orpc/standard-server';
|
|
6
7
|
import '@orpc/contract';
|
|
7
|
-
import { C as CompositeStandardHandlerPlugin, b as StandardRPCHandler } from '../../shared/server.
|
|
8
|
+
import { C as CompositeStandardHandlerPlugin, b as StandardRPCHandler } from '../../shared/server.Bxx6tqNe.mjs';
|
|
8
9
|
import '@orpc/client/standard';
|
|
9
10
|
import '@orpc/standard-server/batch';
|
|
10
11
|
import '@orpc/standard-server-fetch';
|
|
11
|
-
import { S as StrictGetMethodPlugin } from '../../shared/server.
|
|
12
|
-
import '../../shared/server.
|
|
12
|
+
import { S as StrictGetMethodPlugin } from '../../shared/server.TEVCLCFC.mjs';
|
|
13
|
+
import '../../shared/server.Ds4HPpvH.mjs';
|
|
13
14
|
|
|
14
15
|
class BodyLimitPlugin {
|
|
15
16
|
maxBodySize;
|
|
@@ -19,14 +20,12 @@ class BodyLimitPlugin {
|
|
|
19
20
|
initRuntimeAdapter(options) {
|
|
20
21
|
options.adapterInterceptors ??= [];
|
|
21
22
|
options.adapterInterceptors.push(async (options2) => {
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
if (!isHeaderChecked && Number(options2.request.headers["content-length"]) > this.maxBodySize) {
|
|
23
|
+
const checkHeader = once(() => {
|
|
24
|
+
if (Number(options2.request.headers["content-length"]) > this.maxBodySize) {
|
|
25
25
|
throw new ORPCError("PAYLOAD_TOO_LARGE");
|
|
26
26
|
}
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
const originalEmit = options2.request.emit.bind(options2.request);
|
|
27
|
+
});
|
|
28
|
+
const originalEmit = options2.request.emit;
|
|
30
29
|
let currentBodySize = 0;
|
|
31
30
|
options2.request.emit = (event, ...args) => {
|
|
32
31
|
if (event === "data") {
|
|
@@ -36,9 +35,66 @@ class BodyLimitPlugin {
|
|
|
36
35
|
throw new ORPCError("PAYLOAD_TOO_LARGE");
|
|
37
36
|
}
|
|
38
37
|
}
|
|
39
|
-
return originalEmit(event, ...args);
|
|
38
|
+
return originalEmit.call(options2.request, event, ...args);
|
|
40
39
|
};
|
|
41
|
-
|
|
40
|
+
try {
|
|
41
|
+
return await options2.next(options2);
|
|
42
|
+
} finally {
|
|
43
|
+
options2.request.emit = originalEmit;
|
|
44
|
+
}
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
class CompressionPlugin {
|
|
50
|
+
compressionHandler;
|
|
51
|
+
constructor(options = {}) {
|
|
52
|
+
this.compressionHandler = compression({
|
|
53
|
+
...options,
|
|
54
|
+
filter: (req, res) => {
|
|
55
|
+
const hasContentDisposition = res.hasHeader("content-disposition");
|
|
56
|
+
const contentType = res.getHeader("content-type")?.toString();
|
|
57
|
+
if (!hasContentDisposition && contentType?.startsWith("text/event-stream")) {
|
|
58
|
+
return false;
|
|
59
|
+
}
|
|
60
|
+
return options.filter ? options.filter(req, res) : compression.filter(req, res);
|
|
61
|
+
}
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
initRuntimeAdapter(options) {
|
|
65
|
+
options.adapterInterceptors ??= [];
|
|
66
|
+
options.adapterInterceptors.unshift(async (options2) => {
|
|
67
|
+
let resolve;
|
|
68
|
+
let reject;
|
|
69
|
+
const promise = new Promise((res, rej) => {
|
|
70
|
+
resolve = res;
|
|
71
|
+
reject = rej;
|
|
72
|
+
});
|
|
73
|
+
const originalWrite = options2.response.write;
|
|
74
|
+
const originalEnd = options2.response.end;
|
|
75
|
+
const originalOn = options2.response.on;
|
|
76
|
+
this.compressionHandler(
|
|
77
|
+
options2.request,
|
|
78
|
+
options2.response,
|
|
79
|
+
async (err) => {
|
|
80
|
+
if (err) {
|
|
81
|
+
reject(err);
|
|
82
|
+
} else {
|
|
83
|
+
try {
|
|
84
|
+
resolve(await options2.next());
|
|
85
|
+
} catch (error) {
|
|
86
|
+
reject(error);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
);
|
|
91
|
+
try {
|
|
92
|
+
return await promise;
|
|
93
|
+
} finally {
|
|
94
|
+
options2.response.write = originalWrite;
|
|
95
|
+
options2.response.end = originalEnd;
|
|
96
|
+
options2.response.on = originalOn;
|
|
97
|
+
}
|
|
42
98
|
});
|
|
43
99
|
}
|
|
44
100
|
}
|
|
@@ -93,4 +149,4 @@ class RPCHandler extends NodeHttpHandler {
|
|
|
93
149
|
}
|
|
94
150
|
}
|
|
95
151
|
|
|
96
|
-
export { BodyLimitPlugin, CompositeNodeHttpHandlerPlugin, NodeHttpHandler, RPCHandler };
|
|
152
|
+
export { BodyLimitPlugin, CompositeNodeHttpHandlerPlugin, CompressionPlugin, NodeHttpHandler, RPCHandler };
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import { S as StandardCodec, a as StandardParams } from '../../shared/server.
|
|
2
|
-
export { C as CompositeStandardHandlerPlugin, b as StandardHandleOptions, c as StandardHandleResult, f as StandardHandler, d as StandardHandlerInterceptorOptions, e as StandardHandlerOptions, g as StandardHandlerPlugin, h as StandardMatchResult, i as StandardMatcher } from '../../shared/server.
|
|
1
|
+
import { S as StandardCodec, a as StandardParams } from '../../shared/server.BqadksTP.mjs';
|
|
2
|
+
export { C as CompositeStandardHandlerPlugin, b as StandardHandleOptions, c as StandardHandleResult, f as StandardHandler, d as StandardHandlerInterceptorOptions, e as StandardHandlerOptions, g as StandardHandlerPlugin, h as StandardMatchResult, i as StandardMatcher } from '../../shared/server.BqadksTP.mjs';
|
|
3
3
|
import { ORPCError } from '@orpc/client';
|
|
4
4
|
import { StandardRPCSerializer } from '@orpc/client/standard';
|
|
5
5
|
import { StandardLazyRequest, StandardResponse } from '@orpc/standard-server';
|
|
6
|
-
import { A as AnyProcedure } from '../../shared/server.
|
|
7
|
-
export { a as StandardRPCHandler, S as StandardRPCHandlerOptions, c as StandardRPCMatcher, b as StandardRPCMatcherOptions } from '../../shared/server.
|
|
8
|
-
export { F as FriendlyStandardHandleOptions, r as resolveFriendlyStandardHandleOptions } from '../../shared/server.
|
|
6
|
+
import { A as AnyProcedure } from '../../shared/server.qKsRrdxW.mjs';
|
|
7
|
+
export { a as StandardRPCHandler, S as StandardRPCHandlerOptions, c as StandardRPCMatcher, b as StandardRPCMatcherOptions } from '../../shared/server.ChUyt5-i.mjs';
|
|
8
|
+
export { F as FriendlyStandardHandleOptions, r as resolveFriendlyStandardHandleOptions } from '../../shared/server.B8gYOD5g.mjs';
|
|
9
9
|
import '@orpc/contract';
|
|
10
10
|
import '@orpc/shared';
|
|
11
|
-
import '../../shared/server.
|
|
11
|
+
import '../../shared/server.C8_sRzQB.mjs';
|
|
12
12
|
|
|
13
13
|
declare class StandardRPCCodec implements StandardCodec {
|
|
14
14
|
private readonly serializer;
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import { S as StandardCodec, a as StandardParams } from '../../shared/server.
|
|
2
|
-
export { C as CompositeStandardHandlerPlugin, b as StandardHandleOptions, c as StandardHandleResult, f as StandardHandler, d as StandardHandlerInterceptorOptions, e as StandardHandlerOptions, g as StandardHandlerPlugin, h as StandardMatchResult, i as StandardMatcher } from '../../shared/server.
|
|
1
|
+
import { S as StandardCodec, a as StandardParams } from '../../shared/server.7cEtMB30.js';
|
|
2
|
+
export { C as CompositeStandardHandlerPlugin, b as StandardHandleOptions, c as StandardHandleResult, f as StandardHandler, d as StandardHandlerInterceptorOptions, e as StandardHandlerOptions, g as StandardHandlerPlugin, h as StandardMatchResult, i as StandardMatcher } from '../../shared/server.7cEtMB30.js';
|
|
3
3
|
import { ORPCError } from '@orpc/client';
|
|
4
4
|
import { StandardRPCSerializer } from '@orpc/client/standard';
|
|
5
5
|
import { StandardLazyRequest, StandardResponse } from '@orpc/standard-server';
|
|
6
|
-
import { A as AnyProcedure } from '../../shared/server.
|
|
7
|
-
export { a as StandardRPCHandler, S as StandardRPCHandlerOptions, c as StandardRPCMatcher, b as StandardRPCMatcherOptions } from '../../shared/server.
|
|
8
|
-
export { F as FriendlyStandardHandleOptions, r as resolveFriendlyStandardHandleOptions } from '../../shared/server.
|
|
6
|
+
import { A as AnyProcedure } from '../../shared/server.qKsRrdxW.js';
|
|
7
|
+
export { a as StandardRPCHandler, S as StandardRPCHandlerOptions, c as StandardRPCMatcher, b as StandardRPCMatcherOptions } from '../../shared/server.yoEB3Fx4.js';
|
|
8
|
+
export { F as FriendlyStandardHandleOptions, r as resolveFriendlyStandardHandleOptions } from '../../shared/server.EfTOZ2Q7.js';
|
|
9
9
|
import '@orpc/contract';
|
|
10
10
|
import '@orpc/shared';
|
|
11
|
-
import '../../shared/server.
|
|
11
|
+
import '../../shared/server.ChyoA9XY.js';
|
|
12
12
|
|
|
13
13
|
declare class StandardRPCCodec implements StandardCodec {
|
|
14
14
|
private readonly serializer;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
export { C as CompositeStandardHandlerPlugin, S as StandardHandler, a as StandardRPCCodec, b as StandardRPCHandler, c as StandardRPCMatcher } from '../../shared/server.
|
|
1
|
+
export { C as CompositeStandardHandlerPlugin, S as StandardHandler, a as StandardRPCCodec, b as StandardRPCHandler, c as StandardRPCMatcher } from '../../shared/server.Bxx6tqNe.mjs';
|
|
2
2
|
export { r as resolveFriendlyStandardHandleOptions } from '../../shared/server.DZ5BIITo.mjs';
|
|
3
3
|
import '@orpc/client/standard';
|
|
4
4
|
import '@orpc/client';
|
|
5
5
|
import '@orpc/shared';
|
|
6
6
|
import '@orpc/standard-server';
|
|
7
|
-
import '../../shared/server.
|
|
7
|
+
import '../../shared/server.Ds4HPpvH.mjs';
|
|
8
8
|
import '@orpc/contract';
|
|
@@ -1,14 +1,18 @@
|
|
|
1
|
-
import { ServerPeer, EncodedMessage } from '@orpc/standard-server-peer';
|
|
2
|
-
import { C as Context } from '../../shared/server.
|
|
3
|
-
import { f as StandardHandler } from '../../shared/server.
|
|
4
|
-
import { F as FriendlyStandardHandleOptions } from '../../shared/server.
|
|
1
|
+
import { ServerPeer, EncodedMessage, ServerPeerHandleRequestFn } from '@orpc/standard-server-peer';
|
|
2
|
+
import { C as Context } from '../../shared/server.qKsRrdxW.mjs';
|
|
3
|
+
import { f as StandardHandler } from '../../shared/server.BqadksTP.mjs';
|
|
4
|
+
import { F as FriendlyStandardHandleOptions } from '../../shared/server.B8gYOD5g.mjs';
|
|
5
5
|
import '@orpc/client';
|
|
6
6
|
import '@orpc/contract';
|
|
7
7
|
import '@orpc/shared';
|
|
8
8
|
import '@orpc/standard-server';
|
|
9
9
|
|
|
10
10
|
type HandleStandardServerPeerMessageOptions<T extends Context> = Omit<FriendlyStandardHandleOptions<T>, 'prefix'>;
|
|
11
|
+
/**
|
|
12
|
+
* @deprecated Use `createServerPeerRequestHandleFn` instead.
|
|
13
|
+
*/
|
|
11
14
|
declare function handleStandardServerPeerMessage<T extends Context>(handler: StandardHandler<T>, peer: ServerPeer, message: EncodedMessage, options: HandleStandardServerPeerMessageOptions<T>): Promise<void>;
|
|
15
|
+
declare function createServerPeerHandleRequestFn<T extends Context>(handler: StandardHandler<T>, options: HandleStandardServerPeerMessageOptions<T>): ServerPeerHandleRequestFn;
|
|
12
16
|
|
|
13
|
-
export { handleStandardServerPeerMessage };
|
|
17
|
+
export { createServerPeerHandleRequestFn, handleStandardServerPeerMessage };
|
|
14
18
|
export type { HandleStandardServerPeerMessageOptions };
|
|
@@ -1,14 +1,18 @@
|
|
|
1
|
-
import { ServerPeer, EncodedMessage } from '@orpc/standard-server-peer';
|
|
2
|
-
import { C as Context } from '../../shared/server.
|
|
3
|
-
import { f as StandardHandler } from '../../shared/server.
|
|
4
|
-
import { F as FriendlyStandardHandleOptions } from '../../shared/server.
|
|
1
|
+
import { ServerPeer, EncodedMessage, ServerPeerHandleRequestFn } from '@orpc/standard-server-peer';
|
|
2
|
+
import { C as Context } from '../../shared/server.qKsRrdxW.js';
|
|
3
|
+
import { f as StandardHandler } from '../../shared/server.7cEtMB30.js';
|
|
4
|
+
import { F as FriendlyStandardHandleOptions } from '../../shared/server.EfTOZ2Q7.js';
|
|
5
5
|
import '@orpc/client';
|
|
6
6
|
import '@orpc/contract';
|
|
7
7
|
import '@orpc/shared';
|
|
8
8
|
import '@orpc/standard-server';
|
|
9
9
|
|
|
10
10
|
type HandleStandardServerPeerMessageOptions<T extends Context> = Omit<FriendlyStandardHandleOptions<T>, 'prefix'>;
|
|
11
|
+
/**
|
|
12
|
+
* @deprecated Use `createServerPeerRequestHandleFn` instead.
|
|
13
|
+
*/
|
|
11
14
|
declare function handleStandardServerPeerMessage<T extends Context>(handler: StandardHandler<T>, peer: ServerPeer, message: EncodedMessage, options: HandleStandardServerPeerMessageOptions<T>): Promise<void>;
|
|
15
|
+
declare function createServerPeerHandleRequestFn<T extends Context>(handler: StandardHandler<T>, options: HandleStandardServerPeerMessageOptions<T>): ServerPeerHandleRequestFn;
|
|
12
16
|
|
|
13
|
-
export { handleStandardServerPeerMessage };
|
|
17
|
+
export { createServerPeerHandleRequestFn, handleStandardServerPeerMessage };
|
|
14
18
|
export type { HandleStandardServerPeerMessageOptions };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { h as handleStandardServerPeerMessage } from '../../shared/server.
|
|
1
|
+
export { c as createServerPeerHandleRequestFn, h as handleStandardServerPeerMessage } from '../../shared/server.UVMTOWrk.mjs';
|
|
2
2
|
import '@orpc/client';
|
|
3
3
|
import '@orpc/shared';
|
|
4
4
|
import '@orpc/standard-server';
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import { MaybeOptionalOptions } from '@orpc/shared';
|
|
2
|
-
import { C as Context, R as Router } from '../../shared/server.
|
|
3
|
-
import { f as StandardHandler } from '../../shared/server.
|
|
2
|
+
import { C as Context, R as Router } from '../../shared/server.qKsRrdxW.mjs';
|
|
3
|
+
import { f as StandardHandler } from '../../shared/server.BqadksTP.mjs';
|
|
4
4
|
import { HandleStandardServerPeerMessageOptions } from '../standard-peer/index.mjs';
|
|
5
|
-
import { S as StandardRPCHandlerOptions } from '../../shared/server.
|
|
5
|
+
import { S as StandardRPCHandlerOptions } from '../../shared/server.ChUyt5-i.mjs';
|
|
6
6
|
import '@orpc/client';
|
|
7
7
|
import '@orpc/contract';
|
|
8
8
|
import '@orpc/standard-server';
|
|
9
9
|
import '@orpc/standard-server-peer';
|
|
10
|
-
import '../../shared/server.
|
|
10
|
+
import '../../shared/server.B8gYOD5g.mjs';
|
|
11
11
|
import '@orpc/client/standard';
|
|
12
|
-
import '../../shared/server.
|
|
12
|
+
import '../../shared/server.C8_sRzQB.mjs';
|
|
13
13
|
|
|
14
14
|
type MinimalWebsocket = Pick<WebSocket, 'addEventListener' | 'send'>;
|
|
15
15
|
declare class WebsocketHandler<T extends Context> {
|
|
@@ -40,15 +40,17 @@ declare class WebsocketHandler<T extends Context> {
|
|
|
40
40
|
close(ws: MinimalWebsocket): void;
|
|
41
41
|
}
|
|
42
42
|
|
|
43
|
+
interface RPCHandlerOptions<T extends Context> extends StandardRPCHandlerOptions<T> {
|
|
44
|
+
}
|
|
43
45
|
/**
|
|
44
46
|
* RPC Handler for Websocket adapter
|
|
45
47
|
*
|
|
46
|
-
* @see {@link https://orpc.
|
|
47
|
-
* @see {@link https://orpc.
|
|
48
|
+
* @see {@link https://orpc.dev/docs/rpc-handler RPC Handler Docs}
|
|
49
|
+
* @see {@link https://orpc.dev/docs/adapters/websocket Websocket Adapter Docs}
|
|
48
50
|
*/
|
|
49
51
|
declare class RPCHandler<T extends Context> extends WebsocketHandler<T> {
|
|
50
|
-
constructor(router: Router<any, T>, options?: NoInfer<
|
|
52
|
+
constructor(router: Router<any, T>, options?: NoInfer<RPCHandlerOptions<T>>);
|
|
51
53
|
}
|
|
52
54
|
|
|
53
55
|
export { RPCHandler, WebsocketHandler };
|
|
54
|
-
export type { MinimalWebsocket };
|
|
56
|
+
export type { MinimalWebsocket, RPCHandlerOptions };
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import { MaybeOptionalOptions } from '@orpc/shared';
|
|
2
|
-
import { C as Context, R as Router } from '../../shared/server.
|
|
3
|
-
import { f as StandardHandler } from '../../shared/server.
|
|
2
|
+
import { C as Context, R as Router } from '../../shared/server.qKsRrdxW.js';
|
|
3
|
+
import { f as StandardHandler } from '../../shared/server.7cEtMB30.js';
|
|
4
4
|
import { HandleStandardServerPeerMessageOptions } from '../standard-peer/index.js';
|
|
5
|
-
import { S as StandardRPCHandlerOptions } from '../../shared/server.
|
|
5
|
+
import { S as StandardRPCHandlerOptions } from '../../shared/server.yoEB3Fx4.js';
|
|
6
6
|
import '@orpc/client';
|
|
7
7
|
import '@orpc/contract';
|
|
8
8
|
import '@orpc/standard-server';
|
|
9
9
|
import '@orpc/standard-server-peer';
|
|
10
|
-
import '../../shared/server.
|
|
10
|
+
import '../../shared/server.EfTOZ2Q7.js';
|
|
11
11
|
import '@orpc/client/standard';
|
|
12
|
-
import '../../shared/server.
|
|
12
|
+
import '../../shared/server.ChyoA9XY.js';
|
|
13
13
|
|
|
14
14
|
type MinimalWebsocket = Pick<WebSocket, 'addEventListener' | 'send'>;
|
|
15
15
|
declare class WebsocketHandler<T extends Context> {
|
|
@@ -40,15 +40,17 @@ declare class WebsocketHandler<T extends Context> {
|
|
|
40
40
|
close(ws: MinimalWebsocket): void;
|
|
41
41
|
}
|
|
42
42
|
|
|
43
|
+
interface RPCHandlerOptions<T extends Context> extends StandardRPCHandlerOptions<T> {
|
|
44
|
+
}
|
|
43
45
|
/**
|
|
44
46
|
* RPC Handler for Websocket adapter
|
|
45
47
|
*
|
|
46
|
-
* @see {@link https://orpc.
|
|
47
|
-
* @see {@link https://orpc.
|
|
48
|
+
* @see {@link https://orpc.dev/docs/rpc-handler RPC Handler Docs}
|
|
49
|
+
* @see {@link https://orpc.dev/docs/adapters/websocket Websocket Adapter Docs}
|
|
48
50
|
*/
|
|
49
51
|
declare class RPCHandler<T extends Context> extends WebsocketHandler<T> {
|
|
50
|
-
constructor(router: Router<any, T>, options?: NoInfer<
|
|
52
|
+
constructor(router: Router<any, T>, options?: NoInfer<RPCHandlerOptions<T>>);
|
|
51
53
|
}
|
|
52
54
|
|
|
53
55
|
export { RPCHandler, WebsocketHandler };
|
|
54
|
-
export type { MinimalWebsocket };
|
|
56
|
+
export type { MinimalWebsocket, RPCHandlerOptions };
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { readAsBuffer, resolveMaybeOptionalOptions } from '@orpc/shared';
|
|
2
2
|
import { ServerPeer } from '@orpc/standard-server-peer';
|
|
3
|
-
import {
|
|
3
|
+
import { c as createServerPeerHandleRequestFn } from '../../shared/server.UVMTOWrk.mjs';
|
|
4
4
|
import '@orpc/client';
|
|
5
5
|
import '@orpc/standard-server';
|
|
6
6
|
import '@orpc/contract';
|
|
7
|
-
import { b as StandardRPCHandler } from '../../shared/server.
|
|
7
|
+
import { b as StandardRPCHandler } from '../../shared/server.Bxx6tqNe.mjs';
|
|
8
8
|
import '@orpc/client/standard';
|
|
9
9
|
import '../../shared/server.DZ5BIITo.mjs';
|
|
10
|
-
import '../../shared/server.
|
|
10
|
+
import '../../shared/server.Ds4HPpvH.mjs';
|
|
11
11
|
|
|
12
12
|
class WebsocketHandler {
|
|
13
13
|
#peers = /* @__PURE__ */ new WeakMap();
|
|
@@ -40,11 +40,9 @@ class WebsocketHandler {
|
|
|
40
40
|
this.#peers.set(ws, peer = new ServerPeer(ws.send.bind(ws)));
|
|
41
41
|
}
|
|
42
42
|
const message = data instanceof Blob ? await readAsBuffer(data) : data;
|
|
43
|
-
await
|
|
44
|
-
this.#handler,
|
|
45
|
-
peer,
|
|
43
|
+
await peer.message(
|
|
46
44
|
message,
|
|
47
|
-
resolveMaybeOptionalOptions(rest)
|
|
45
|
+
createServerPeerHandleRequestFn(this.#handler, resolveMaybeOptionalOptions(rest))
|
|
48
46
|
);
|
|
49
47
|
}
|
|
50
48
|
/**
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import { MaybeOptionalOptions } from '@orpc/shared';
|
|
2
2
|
import { WebSocket } from 'ws';
|
|
3
|
-
import { C as Context, R as Router } from '../../shared/server.
|
|
4
|
-
import { f as StandardHandler } from '../../shared/server.
|
|
3
|
+
import { C as Context, R as Router } from '../../shared/server.qKsRrdxW.mjs';
|
|
4
|
+
import { f as StandardHandler } from '../../shared/server.BqadksTP.mjs';
|
|
5
5
|
import { HandleStandardServerPeerMessageOptions } from '../standard-peer/index.mjs';
|
|
6
|
-
import { S as StandardRPCHandlerOptions } from '../../shared/server.
|
|
6
|
+
import { S as StandardRPCHandlerOptions } from '../../shared/server.ChUyt5-i.mjs';
|
|
7
7
|
import '@orpc/client';
|
|
8
8
|
import '@orpc/contract';
|
|
9
9
|
import '@orpc/standard-server';
|
|
10
10
|
import '@orpc/standard-server-peer';
|
|
11
|
-
import '../../shared/server.
|
|
11
|
+
import '../../shared/server.B8gYOD5g.mjs';
|
|
12
12
|
import '@orpc/client/standard';
|
|
13
|
-
import '../../shared/server.
|
|
13
|
+
import '../../shared/server.C8_sRzQB.mjs';
|
|
14
14
|
|
|
15
15
|
declare class WsHandler<T extends Context> {
|
|
16
16
|
private readonly standardHandler;
|
|
@@ -21,8 +21,8 @@ declare class WsHandler<T extends Context> {
|
|
|
21
21
|
/**
|
|
22
22
|
* RPC Handler for ws (node ws) adapter
|
|
23
23
|
*
|
|
24
|
-
* @see {@link https://orpc.
|
|
25
|
-
* @see {@link https://orpc.
|
|
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
26
|
*/
|
|
27
27
|
declare class RPCHandler<T extends Context> extends WsHandler<T> {
|
|
28
28
|
constructor(router: Router<any, T>, options?: NoInfer<StandardRPCHandlerOptions<T>>);
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import { MaybeOptionalOptions } from '@orpc/shared';
|
|
2
2
|
import { WebSocket } from 'ws';
|
|
3
|
-
import { C as Context, R as Router } from '../../shared/server.
|
|
4
|
-
import { f as StandardHandler } from '../../shared/server.
|
|
3
|
+
import { C as Context, R as Router } from '../../shared/server.qKsRrdxW.js';
|
|
4
|
+
import { f as StandardHandler } from '../../shared/server.7cEtMB30.js';
|
|
5
5
|
import { HandleStandardServerPeerMessageOptions } from '../standard-peer/index.js';
|
|
6
|
-
import { S as StandardRPCHandlerOptions } from '../../shared/server.
|
|
6
|
+
import { S as StandardRPCHandlerOptions } from '../../shared/server.yoEB3Fx4.js';
|
|
7
7
|
import '@orpc/client';
|
|
8
8
|
import '@orpc/contract';
|
|
9
9
|
import '@orpc/standard-server';
|
|
10
10
|
import '@orpc/standard-server-peer';
|
|
11
|
-
import '../../shared/server.
|
|
11
|
+
import '../../shared/server.EfTOZ2Q7.js';
|
|
12
12
|
import '@orpc/client/standard';
|
|
13
|
-
import '../../shared/server.
|
|
13
|
+
import '../../shared/server.ChyoA9XY.js';
|
|
14
14
|
|
|
15
15
|
declare class WsHandler<T extends Context> {
|
|
16
16
|
private readonly standardHandler;
|
|
@@ -21,8 +21,8 @@ declare class WsHandler<T extends Context> {
|
|
|
21
21
|
/**
|
|
22
22
|
* RPC Handler for ws (node ws) adapter
|
|
23
23
|
*
|
|
24
|
-
* @see {@link https://orpc.
|
|
25
|
-
* @see {@link https://orpc.
|
|
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
26
|
*/
|
|
27
27
|
declare class RPCHandler<T extends Context> extends WsHandler<T> {
|
|
28
28
|
constructor(router: Router<any, T>, options?: NoInfer<StandardRPCHandlerOptions<T>>);
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { readAsBuffer, resolveMaybeOptionalOptions } from '@orpc/shared';
|
|
2
2
|
import { ServerPeer } from '@orpc/standard-server-peer';
|
|
3
|
-
import {
|
|
3
|
+
import { c as createServerPeerHandleRequestFn } from '../../shared/server.UVMTOWrk.mjs';
|
|
4
4
|
import '@orpc/client';
|
|
5
5
|
import '@orpc/standard-server';
|
|
6
6
|
import '@orpc/contract';
|
|
7
|
-
import { b as StandardRPCHandler } from '../../shared/server.
|
|
7
|
+
import { b as StandardRPCHandler } from '../../shared/server.Bxx6tqNe.mjs';
|
|
8
8
|
import '@orpc/client/standard';
|
|
9
9
|
import '../../shared/server.DZ5BIITo.mjs';
|
|
10
|
-
import '../../shared/server.
|
|
10
|
+
import '../../shared/server.Ds4HPpvH.mjs';
|
|
11
11
|
|
|
12
12
|
class WsHandler {
|
|
13
13
|
constructor(standardHandler) {
|
|
@@ -17,11 +17,9 @@ class WsHandler {
|
|
|
17
17
|
const peer = new ServerPeer(ws.send.bind(ws));
|
|
18
18
|
ws.addEventListener("message", async (event) => {
|
|
19
19
|
const message = Array.isArray(event.data) ? await readAsBuffer(new Blob(event.data)) : event.data;
|
|
20
|
-
await
|
|
21
|
-
this.standardHandler,
|
|
22
|
-
peer,
|
|
20
|
+
await peer.message(
|
|
23
21
|
message,
|
|
24
|
-
resolveMaybeOptionalOptions(rest)
|
|
22
|
+
createServerPeerHandleRequestFn(this.standardHandler, resolveMaybeOptionalOptions(rest))
|
|
25
23
|
);
|
|
26
24
|
});
|
|
27
25
|
ws.addEventListener("close", () => {
|
package/dist/helpers/index.d.mts
CHANGED
|
@@ -68,6 +68,10 @@ interface GetCookieOptions extends ParseOptions {
|
|
|
68
68
|
* ```
|
|
69
69
|
*/
|
|
70
70
|
declare function getCookie(headers: Headers | undefined, name: string, options?: GetCookieOptions): string | undefined;
|
|
71
|
+
/**
|
|
72
|
+
* Deletes a cookie by marking it expired.
|
|
73
|
+
*/
|
|
74
|
+
declare function deleteCookie(headers: Headers | undefined, name: string, options?: Omit<SetCookieOptions, 'maxAge'>): void;
|
|
71
75
|
|
|
72
76
|
/**
|
|
73
77
|
* Encrypts a string using AES-GCM with a secret key.
|
|
@@ -125,6 +129,21 @@ declare function sign(value: string, secret: string): Promise<string>;
|
|
|
125
129
|
* ```
|
|
126
130
|
*/
|
|
127
131
|
declare function unsign(signedValue: string | undefined | null, secret: string): Promise<string | undefined>;
|
|
132
|
+
/**
|
|
133
|
+
* Extracts the value part from a signed string without verification.
|
|
134
|
+
*
|
|
135
|
+
* This function simply extracts the original value from a signed string
|
|
136
|
+
* without performing any signature verification. It's useful when you need
|
|
137
|
+
* to access the value quickly without the overhead of cryptographic verification.
|
|
138
|
+
*
|
|
139
|
+
* @example
|
|
140
|
+
* ```ts
|
|
141
|
+
* const signedValue = "user123.oneQsU0r5dvwQFHFEjjV1uOI_IR3gZfkYHij3TRauVA"
|
|
142
|
+
* const value = getSignedValue(signedValue)
|
|
143
|
+
* expect(value).toEqual("user123")
|
|
144
|
+
* ```
|
|
145
|
+
*/
|
|
146
|
+
declare function getSignedValue(signedValue: string | undefined | null): string | undefined;
|
|
128
147
|
|
|
129
|
-
export { decodeBase64url, decrypt, encodeBase64url, encrypt, getCookie, setCookie, sign, unsign };
|
|
148
|
+
export { decodeBase64url, decrypt, deleteCookie, encodeBase64url, encrypt, getCookie, getSignedValue, setCookie, sign, unsign };
|
|
130
149
|
export type { GetCookieOptions, SetCookieOptions };
|
package/dist/helpers/index.d.ts
CHANGED
|
@@ -68,6 +68,10 @@ interface GetCookieOptions extends ParseOptions {
|
|
|
68
68
|
* ```
|
|
69
69
|
*/
|
|
70
70
|
declare function getCookie(headers: Headers | undefined, name: string, options?: GetCookieOptions): string | undefined;
|
|
71
|
+
/**
|
|
72
|
+
* Deletes a cookie by marking it expired.
|
|
73
|
+
*/
|
|
74
|
+
declare function deleteCookie(headers: Headers | undefined, name: string, options?: Omit<SetCookieOptions, 'maxAge'>): void;
|
|
71
75
|
|
|
72
76
|
/**
|
|
73
77
|
* Encrypts a string using AES-GCM with a secret key.
|
|
@@ -125,6 +129,21 @@ declare function sign(value: string, secret: string): Promise<string>;
|
|
|
125
129
|
* ```
|
|
126
130
|
*/
|
|
127
131
|
declare function unsign(signedValue: string | undefined | null, secret: string): Promise<string | undefined>;
|
|
132
|
+
/**
|
|
133
|
+
* Extracts the value part from a signed string without verification.
|
|
134
|
+
*
|
|
135
|
+
* This function simply extracts the original value from a signed string
|
|
136
|
+
* without performing any signature verification. It's useful when you need
|
|
137
|
+
* to access the value quickly without the overhead of cryptographic verification.
|
|
138
|
+
*
|
|
139
|
+
* @example
|
|
140
|
+
* ```ts
|
|
141
|
+
* const signedValue = "user123.oneQsU0r5dvwQFHFEjjV1uOI_IR3gZfkYHij3TRauVA"
|
|
142
|
+
* const value = getSignedValue(signedValue)
|
|
143
|
+
* expect(value).toEqual("user123")
|
|
144
|
+
* ```
|
|
145
|
+
*/
|
|
146
|
+
declare function getSignedValue(signedValue: string | undefined | null): string | undefined;
|
|
128
147
|
|
|
129
|
-
export { decodeBase64url, decrypt, encodeBase64url, encrypt, getCookie, setCookie, sign, unsign };
|
|
148
|
+
export { decodeBase64url, decrypt, deleteCookie, encodeBase64url, encrypt, getCookie, getSignedValue, setCookie, sign, unsign };
|
|
130
149
|
export type { GetCookieOptions, SetCookieOptions };
|
package/dist/helpers/index.mjs
CHANGED
|
@@ -50,6 +50,12 @@ function getCookie(headers, name, options = {}) {
|
|
|
50
50
|
}
|
|
51
51
|
return parse(cookieHeader, options)[name];
|
|
52
52
|
}
|
|
53
|
+
function deleteCookie(headers, name, options = {}) {
|
|
54
|
+
return setCookie(headers, name, "", {
|
|
55
|
+
...options,
|
|
56
|
+
maxAge: 0
|
|
57
|
+
});
|
|
58
|
+
}
|
|
53
59
|
|
|
54
60
|
const PBKDF2_CONFIG = {
|
|
55
61
|
name: "PBKDF2",
|
|
@@ -178,5 +184,15 @@ async function unsign(signedValue, secret) {
|
|
|
178
184
|
);
|
|
179
185
|
return isValid ? value : void 0;
|
|
180
186
|
}
|
|
187
|
+
function getSignedValue(signedValue) {
|
|
188
|
+
if (typeof signedValue !== "string") {
|
|
189
|
+
return void 0;
|
|
190
|
+
}
|
|
191
|
+
const lastDotIndex = signedValue.lastIndexOf(".");
|
|
192
|
+
if (lastDotIndex === -1) {
|
|
193
|
+
return void 0;
|
|
194
|
+
}
|
|
195
|
+
return signedValue.slice(0, lastDotIndex);
|
|
196
|
+
}
|
|
181
197
|
|
|
182
|
-
export { decodeBase64url, decrypt, encodeBase64url, encrypt, getCookie, setCookie, sign, unsign };
|
|
198
|
+
export { decodeBase64url, decrypt, deleteCookie, encodeBase64url, encrypt, getCookie, getSignedValue, setCookie, sign, unsign };
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { StandardRPCJsonSerializerOptions } from '@orpc/client/standard';
|
|
2
|
-
import { g as StandardHandlerPlugin, e as StandardHandlerOptions } from '../shared/server.
|
|
3
|
-
import {
|
|
4
|
-
export {
|
|
5
|
-
import { C as Context, R as Router } from '../shared/server.
|
|
2
|
+
import { g as StandardHandlerPlugin, e as StandardHandlerOptions } from '../shared/server.BqadksTP.mjs';
|
|
3
|
+
import { HibernationEventIterator } from '@orpc/standard-server';
|
|
4
|
+
export { HibernationEventIterator, HibernationEventIteratorCallback } from '@orpc/standard-server';
|
|
5
|
+
import { C as Context, R as Router } from '../shared/server.qKsRrdxW.mjs';
|
|
6
6
|
import '@orpc/client';
|
|
7
7
|
import '@orpc/contract';
|
|
8
8
|
import '@orpc/shared';
|
|
9
9
|
|
|
10
|
-
interface
|
|
10
|
+
interface EncodeHibernationRPCEventOptions extends StandardRPCJsonSerializerOptions {
|
|
11
11
|
/**
|
|
12
12
|
* The type of event, each type corresponds a different operation
|
|
13
13
|
*
|
|
@@ -22,23 +22,23 @@ interface experimental_EncodeHibernationRPCEventOptions extends StandardRPCJsonS
|
|
|
22
22
|
/**
|
|
23
23
|
* Encodes a Hibernation RPC Event
|
|
24
24
|
*
|
|
25
|
-
* @see {@link https://orpc.
|
|
25
|
+
* @see {@link https://orpc.dev/docs/plugins/hibernation Hibernation Plugin}
|
|
26
26
|
*/
|
|
27
|
-
declare function
|
|
27
|
+
declare function encodeHibernationRPCEvent(id: string, payload: unknown, options?: EncodeHibernationRPCEventOptions): string;
|
|
28
28
|
|
|
29
|
-
interface
|
|
30
|
-
iterator?:
|
|
29
|
+
interface HibernationPluginContext {
|
|
30
|
+
iterator?: HibernationEventIterator<any>;
|
|
31
31
|
}
|
|
32
32
|
/**
|
|
33
33
|
* Enable Hibernation APIs
|
|
34
34
|
*
|
|
35
|
-
* @see {@link https://orpc.
|
|
35
|
+
* @see {@link https://orpc.dev/docs/plugins/hibernation Hibernation Plugin}
|
|
36
36
|
*/
|
|
37
|
-
declare class
|
|
37
|
+
declare class HibernationPlugin<T extends Context> implements StandardHandlerPlugin<T> {
|
|
38
38
|
readonly CONTEXT_SYMBOL: symbol;
|
|
39
39
|
order: number;
|
|
40
40
|
init(options: StandardHandlerOptions<T>, _router: Router<any, T>): void;
|
|
41
41
|
}
|
|
42
42
|
|
|
43
|
-
export {
|
|
44
|
-
export type {
|
|
43
|
+
export { HibernationPlugin, encodeHibernationRPCEvent };
|
|
44
|
+
export type { EncodeHibernationRPCEventOptions, HibernationPluginContext };
|