@orpc/server 0.0.0-next.e9dc36e → 0.0.0-next.ea1d4fd

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 (125) 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 +106 -26
  63. package/dist/chunk-TDFYNRZV.js +0 -190
  64. package/dist/chunk-TDFYNRZV.js.map +0 -1
  65. package/dist/fetch.js +0 -681
  66. package/dist/fetch.js.map +0 -1
  67. package/dist/index.js +0 -394
  68. package/dist/index.js.map +0 -1
  69. package/dist/src/adapters/fetch.d.ts +0 -42
  70. package/dist/src/adapters/fetch.d.ts.map +0 -1
  71. package/dist/src/builder.d.ts +0 -49
  72. package/dist/src/builder.d.ts.map +0 -1
  73. package/dist/src/index.d.ts +0 -15
  74. package/dist/src/index.d.ts.map +0 -1
  75. package/dist/src/middleware.d.ts +0 -26
  76. package/dist/src/middleware.d.ts.map +0 -1
  77. package/dist/src/procedure-builder.d.ts +0 -31
  78. package/dist/src/procedure-builder.d.ts.map +0 -1
  79. package/dist/src/procedure-caller.d.ts +0 -19
  80. package/dist/src/procedure-caller.d.ts.map +0 -1
  81. package/dist/src/procedure-implementer.d.ts +0 -18
  82. package/dist/src/procedure-implementer.d.ts.map +0 -1
  83. package/dist/src/procedure.d.ts +0 -29
  84. package/dist/src/procedure.d.ts.map +0 -1
  85. package/dist/src/router-builder.d.ts +0 -22
  86. package/dist/src/router-builder.d.ts.map +0 -1
  87. package/dist/src/router-caller.d.ts +0 -22
  88. package/dist/src/router-caller.d.ts.map +0 -1
  89. package/dist/src/router-implementer.d.ts +0 -20
  90. package/dist/src/router-implementer.d.ts.map +0 -1
  91. package/dist/src/router.d.ts +0 -20
  92. package/dist/src/router.d.ts.map +0 -1
  93. package/dist/src/types.d.ts +0 -8
  94. package/dist/src/types.d.ts.map +0 -1
  95. package/dist/src/utils.d.ts +0 -3
  96. package/dist/src/utils.d.ts.map +0 -1
  97. package/dist/tsconfig.tsbuildinfo +0 -1
  98. package/src/adapters/fetch.test.ts +0 -629
  99. package/src/adapters/fetch.ts +0 -290
  100. package/src/builder.test.ts +0 -371
  101. package/src/builder.ts +0 -238
  102. package/src/index.ts +0 -16
  103. package/src/middleware.test.ts +0 -260
  104. package/src/middleware.ts +0 -136
  105. package/src/procedure-builder.test.ts +0 -223
  106. package/src/procedure-builder.ts +0 -158
  107. package/src/procedure-caller.test.ts +0 -171
  108. package/src/procedure-caller.ts +0 -138
  109. package/src/procedure-implementer.test.ts +0 -220
  110. package/src/procedure-implementer.ts +0 -102
  111. package/src/procedure.test.ts +0 -317
  112. package/src/procedure.ts +0 -237
  113. package/src/router-builder.test.ts +0 -106
  114. package/src/router-builder.ts +0 -122
  115. package/src/router-caller.test.ts +0 -126
  116. package/src/router-caller.ts +0 -64
  117. package/src/router-implementer.test.ts +0 -116
  118. package/src/router-implementer.ts +0 -113
  119. package/src/router.test-d.ts +0 -48
  120. package/src/router.test.ts +0 -142
  121. package/src/router.ts +0 -91
  122. package/src/types.test.ts +0 -18
  123. package/src/types.ts +0 -13
  124. package/src/utils.test.ts +0 -16
  125. 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 };