@orpc/server 0.0.0-next.7d3bd71 → 0.0.0-next.7db48bf

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.
Files changed (116) hide show
  1. package/README.md +131 -0
  2. package/dist/adapters/aws-lambda/index.d.mts +46 -0
  3. package/dist/adapters/aws-lambda/index.d.ts +46 -0
  4. package/dist/adapters/aws-lambda/index.mjs +42 -0
  5. package/dist/adapters/bun-ws/index.d.mts +36 -0
  6. package/dist/adapters/bun-ws/index.d.ts +36 -0
  7. package/dist/adapters/bun-ws/index.mjs +47 -0
  8. package/dist/adapters/crossws/index.d.mts +33 -0
  9. package/dist/adapters/crossws/index.d.ts +33 -0
  10. package/dist/adapters/crossws/index.mjs +45 -0
  11. package/dist/adapters/fastify/index.d.mts +53 -0
  12. package/dist/adapters/fastify/index.d.ts +53 -0
  13. package/dist/adapters/fastify/index.mjs +54 -0
  14. package/dist/adapters/fetch/index.d.mts +124 -0
  15. package/dist/adapters/fetch/index.d.ts +124 -0
  16. package/dist/adapters/fetch/index.mjs +180 -0
  17. package/dist/adapters/message-port/index.d.mts +57 -0
  18. package/dist/adapters/message-port/index.d.ts +57 -0
  19. package/dist/adapters/message-port/index.mjs +55 -0
  20. package/dist/adapters/node/index.d.mts +99 -0
  21. package/dist/adapters/node/index.d.ts +99 -0
  22. package/dist/adapters/node/index.mjs +152 -0
  23. package/dist/adapters/standard/index.d.mts +21 -0
  24. package/dist/adapters/standard/index.d.ts +21 -0
  25. package/dist/adapters/standard/index.mjs +8 -0
  26. package/dist/adapters/standard-peer/index.d.mts +18 -0
  27. package/dist/adapters/standard-peer/index.d.ts +18 -0
  28. package/dist/adapters/standard-peer/index.mjs +7 -0
  29. package/dist/adapters/websocket/index.d.mts +56 -0
  30. package/dist/adapters/websocket/index.d.ts +56 -0
  31. package/dist/adapters/websocket/index.mjs +67 -0
  32. package/dist/adapters/ws/index.d.mts +31 -0
  33. package/dist/adapters/ws/index.d.ts +31 -0
  34. package/dist/adapters/ws/index.mjs +37 -0
  35. package/dist/helpers/index.d.mts +149 -0
  36. package/dist/helpers/index.d.ts +149 -0
  37. package/dist/helpers/index.mjs +198 -0
  38. package/dist/hibernation/index.d.mts +44 -0
  39. package/dist/hibernation/index.d.ts +44 -0
  40. package/dist/hibernation/index.mjs +65 -0
  41. package/dist/index.d.mts +803 -0
  42. package/dist/index.d.ts +803 -0
  43. package/dist/index.mjs +492 -0
  44. package/dist/plugins/index.d.mts +172 -0
  45. package/dist/plugins/index.d.ts +172 -0
  46. package/dist/plugins/index.mjs +287 -0
  47. package/dist/shared/server.B4BGqy3Y.d.mts +193 -0
  48. package/dist/shared/server.B4BGqy3Y.d.ts +193 -0
  49. package/dist/shared/server.Bxx6tqNe.mjs +219 -0
  50. package/dist/shared/server.COL12UTb.d.ts +32 -0
  51. package/dist/shared/server.CVKCo60T.d.mts +12 -0
  52. package/dist/shared/server.Cb6yD7DZ.d.ts +42 -0
  53. package/dist/shared/server.Ck-gOLzq.d.mts +32 -0
  54. package/dist/shared/server.DBCUJijK.d.mts +74 -0
  55. package/dist/shared/server.DNtJ-p60.d.ts +12 -0
  56. package/dist/shared/server.DPIFWpxG.d.ts +74 -0
  57. package/dist/shared/server.DZ5BIITo.mjs +9 -0
  58. package/dist/shared/server.Ds4HPpvH.mjs +409 -0
  59. package/dist/shared/server.DzV1hr3z.d.mts +42 -0
  60. package/dist/shared/server.TEVCLCFC.mjs +39 -0
  61. package/dist/shared/server.UVMTOWrk.mjs +26 -0
  62. package/package.json +94 -39
  63. package/dist/chunk-47YYO5JS.js +0 -32
  64. package/dist/chunk-77FU7QSO.js +0 -181
  65. package/dist/chunk-MHVECKBC.js +0 -421
  66. package/dist/chunk-WQNNSBXW.js +0 -120
  67. package/dist/fetch.js +0 -10
  68. package/dist/hono.js +0 -34
  69. package/dist/index.js +0 -413
  70. package/dist/next.js +0 -31
  71. package/dist/node.js +0 -31
  72. package/dist/plugins.js +0 -11
  73. package/dist/src/adapters/fetch/index.d.ts +0 -3
  74. package/dist/src/adapters/fetch/rpc-handler.d.ts +0 -11
  75. package/dist/src/adapters/fetch/types.d.ts +0 -14
  76. package/dist/src/adapters/hono/index.d.ts +0 -3
  77. package/dist/src/adapters/hono/middleware.d.ts +0 -12
  78. package/dist/src/adapters/next/index.d.ts +0 -3
  79. package/dist/src/adapters/next/serve.d.ts +0 -19
  80. package/dist/src/adapters/node/index.d.ts +0 -3
  81. package/dist/src/adapters/node/rpc-handler.d.ts +0 -11
  82. package/dist/src/adapters/node/types.d.ts +0 -22
  83. package/dist/src/adapters/standard/handler.d.ts +0 -53
  84. package/dist/src/adapters/standard/index.d.ts +0 -6
  85. package/dist/src/adapters/standard/rpc-codec.d.ts +0 -16
  86. package/dist/src/adapters/standard/rpc-handler.d.ts +0 -8
  87. package/dist/src/adapters/standard/rpc-matcher.d.ts +0 -10
  88. package/dist/src/adapters/standard/types.d.ts +0 -21
  89. package/dist/src/builder-variants.d.ts +0 -75
  90. package/dist/src/builder.d.ts +0 -58
  91. package/dist/src/config.d.ts +0 -6
  92. package/dist/src/context.d.ts +0 -8
  93. package/dist/src/error.d.ts +0 -12
  94. package/dist/src/hidden.d.ts +0 -8
  95. package/dist/src/implementer-procedure.d.ts +0 -33
  96. package/dist/src/implementer-variants.d.ts +0 -18
  97. package/dist/src/implementer.d.ts +0 -29
  98. package/dist/src/index.d.ts +0 -25
  99. package/dist/src/lazy-utils.d.ts +0 -6
  100. package/dist/src/lazy.d.ts +0 -22
  101. package/dist/src/middleware-decorated.d.ts +0 -11
  102. package/dist/src/middleware-utils.d.ts +0 -5
  103. package/dist/src/middleware.d.ts +0 -38
  104. package/dist/src/plugins/base.d.ts +0 -11
  105. package/dist/src/plugins/cors.d.ts +0 -19
  106. package/dist/src/plugins/index.d.ts +0 -4
  107. package/dist/src/plugins/response-headers.d.ts +0 -10
  108. package/dist/src/procedure-client.d.ts +0 -33
  109. package/dist/src/procedure-decorated.d.ts +0 -24
  110. package/dist/src/procedure-utils.d.ts +0 -19
  111. package/dist/src/procedure.d.ts +0 -31
  112. package/dist/src/router-accessible-lazy.d.ts +0 -8
  113. package/dist/src/router-client.d.ts +0 -12
  114. package/dist/src/router.d.ts +0 -30
  115. package/dist/src/utils.d.ts +0 -24
  116. package/dist/standard.js +0 -13
@@ -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 };