@orpc/server 0.0.0-next.b15d206 → 0.0.0-next.b1b9914
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 +131 -0
- package/dist/adapters/aws-lambda/index.d.mts +46 -0
- package/dist/adapters/aws-lambda/index.d.ts +46 -0
- package/dist/adapters/aws-lambda/index.mjs +42 -0
- package/dist/adapters/bun-ws/index.d.mts +36 -0
- package/dist/adapters/bun-ws/index.d.ts +36 -0
- package/dist/adapters/bun-ws/index.mjs +47 -0
- package/dist/adapters/crossws/index.d.mts +33 -0
- package/dist/adapters/crossws/index.d.ts +33 -0
- package/dist/adapters/crossws/index.mjs +45 -0
- 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 +124 -0
- package/dist/adapters/fetch/index.d.ts +124 -0
- package/dist/adapters/fetch/index.mjs +180 -0
- package/dist/adapters/message-port/index.d.mts +57 -0
- package/dist/adapters/message-port/index.d.ts +57 -0
- package/dist/adapters/message-port/index.mjs +55 -0
- package/dist/adapters/node/index.d.mts +99 -0
- package/dist/adapters/node/index.d.ts +99 -0
- package/dist/adapters/node/index.mjs +152 -0
- package/dist/adapters/standard/index.d.mts +21 -0
- package/dist/adapters/standard/index.d.ts +21 -0
- package/dist/adapters/standard/index.mjs +8 -0
- package/dist/adapters/standard-peer/index.d.mts +18 -0
- package/dist/adapters/standard-peer/index.d.ts +18 -0
- package/dist/adapters/standard-peer/index.mjs +7 -0
- package/dist/adapters/websocket/index.d.mts +56 -0
- package/dist/adapters/websocket/index.d.ts +56 -0
- package/dist/adapters/websocket/index.mjs +67 -0
- package/dist/adapters/ws/index.d.mts +31 -0
- package/dist/adapters/ws/index.d.ts +31 -0
- package/dist/adapters/ws/index.mjs +37 -0
- package/dist/helpers/index.d.mts +149 -0
- package/dist/helpers/index.d.ts +149 -0
- package/dist/helpers/index.mjs +198 -0
- package/dist/hibernation/index.d.mts +44 -0
- package/dist/hibernation/index.d.ts +44 -0
- package/dist/hibernation/index.mjs +65 -0
- package/dist/index.d.mts +803 -0
- package/dist/index.d.ts +803 -0
- package/dist/index.mjs +492 -0
- package/dist/plugins/index.d.mts +172 -0
- package/dist/plugins/index.d.ts +172 -0
- package/dist/plugins/index.mjs +287 -0
- package/dist/shared/server.B4BGqy3Y.d.mts +193 -0
- package/dist/shared/server.B4BGqy3Y.d.ts +193 -0
- package/dist/shared/server.Bxx6tqNe.mjs +219 -0
- package/dist/shared/server.COL12UTb.d.ts +32 -0
- package/dist/shared/server.CVKCo60T.d.mts +12 -0
- package/dist/shared/server.Cb6yD7DZ.d.ts +42 -0
- package/dist/shared/server.Ck-gOLzq.d.mts +32 -0
- package/dist/shared/server.DBCUJijK.d.mts +74 -0
- package/dist/shared/server.DNtJ-p60.d.ts +12 -0
- package/dist/shared/server.DPIFWpxG.d.ts +74 -0
- package/dist/shared/server.DZ5BIITo.mjs +9 -0
- package/dist/shared/server.Ds4HPpvH.mjs +409 -0
- package/dist/shared/server.DzV1hr3z.d.mts +42 -0
- package/dist/shared/server.TEVCLCFC.mjs +39 -0
- package/dist/shared/server.UVMTOWrk.mjs +26 -0
- package/package.json +106 -26
- package/dist/chunk-TDFYNRZV.js +0 -190
- package/dist/chunk-TDFYNRZV.js.map +0 -1
- package/dist/fetch.js +0 -681
- package/dist/fetch.js.map +0 -1
- package/dist/index.js +0 -394
- package/dist/index.js.map +0 -1
- package/dist/src/adapters/fetch.d.ts +0 -42
- package/dist/src/adapters/fetch.d.ts.map +0 -1
- package/dist/src/builder.d.ts +0 -49
- package/dist/src/builder.d.ts.map +0 -1
- package/dist/src/index.d.ts +0 -15
- package/dist/src/index.d.ts.map +0 -1
- package/dist/src/middleware.d.ts +0 -26
- package/dist/src/middleware.d.ts.map +0 -1
- package/dist/src/procedure-builder.d.ts +0 -31
- package/dist/src/procedure-builder.d.ts.map +0 -1
- package/dist/src/procedure-caller.d.ts +0 -19
- package/dist/src/procedure-caller.d.ts.map +0 -1
- package/dist/src/procedure-implementer.d.ts +0 -18
- package/dist/src/procedure-implementer.d.ts.map +0 -1
- package/dist/src/procedure.d.ts +0 -29
- package/dist/src/procedure.d.ts.map +0 -1
- package/dist/src/router-builder.d.ts +0 -22
- package/dist/src/router-builder.d.ts.map +0 -1
- package/dist/src/router-caller.d.ts +0 -22
- package/dist/src/router-caller.d.ts.map +0 -1
- package/dist/src/router-implementer.d.ts +0 -20
- package/dist/src/router-implementer.d.ts.map +0 -1
- package/dist/src/router.d.ts +0 -20
- package/dist/src/router.d.ts.map +0 -1
- package/dist/src/types.d.ts +0 -8
- package/dist/src/types.d.ts.map +0 -1
- package/dist/src/utils.d.ts +0 -3
- package/dist/src/utils.d.ts.map +0 -1
- package/dist/tsconfig.tsbuildinfo +0 -1
- package/src/adapters/fetch.test.ts +0 -629
- package/src/adapters/fetch.ts +0 -290
- package/src/builder.test.ts +0 -371
- package/src/builder.ts +0 -238
- package/src/index.ts +0 -16
- package/src/middleware.test.ts +0 -260
- package/src/middleware.ts +0 -136
- package/src/procedure-builder.test.ts +0 -223
- package/src/procedure-builder.ts +0 -158
- package/src/procedure-caller.test.ts +0 -171
- package/src/procedure-caller.ts +0 -138
- package/src/procedure-implementer.test.ts +0 -220
- package/src/procedure-implementer.ts +0 -102
- package/src/procedure.test.ts +0 -317
- package/src/procedure.ts +0 -237
- package/src/router-builder.test.ts +0 -106
- package/src/router-builder.ts +0 -122
- package/src/router-caller.test.ts +0 -126
- package/src/router-caller.ts +0 -64
- package/src/router-implementer.test.ts +0 -116
- package/src/router-implementer.ts +0 -113
- package/src/router.test-d.ts +0 -48
- package/src/router.test.ts +0 -142
- package/src/router.ts +0 -91
- package/src/types.test.ts +0 -18
- package/src/types.ts +0 -13
- package/src/utils.test.ts +0 -16
- package/src/utils.ts +0 -16
|
@@ -0,0 +1,65 @@
|
|
|
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 };
|