trpc-uwebsockets 11.0.4 → 11.1.3

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 CHANGED
@@ -25,7 +25,7 @@ import {
25
25
  CreateContextOptions,
26
26
  } from 'trpc-uwebsockets';
27
27
 
28
- /* Define context. `client` is available when websocket connection is used */
28
+ /* Define context. During websocket connection do not use `res`, use `client` instead */
29
29
  function createContext({ req, res, info, client }: CreateContextOptions) {
30
30
  const user = { name: req.headers.get('username') || 'anonymous' };
31
31
  return { req, res, user, info, client };
@@ -0,0 +1,234 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.testFactory = testFactory;
7
+ const vitest_1 = require("vitest");
8
+ const websockets_1 = require("./websockets");
9
+ const observable_1 = require("@trpc/server/observable");
10
+ const uWebSockets_js_1 = __importDefault(require("uWebSockets.js"));
11
+ const requestHandler_1 = require("./requestHandler");
12
+ const client_1 = require("@trpc/client");
13
+ const event_source_polyfill_1 = require("event-source-polyfill");
14
+ global.EventSource = event_source_polyfill_1.EventSourcePolyfill;
15
+ function createServer(opts) {
16
+ const prefix = opts.prefix ?? '/trpc';
17
+ const instance = uWebSockets_js_1.default.App();
18
+ const router = opts.appRouter;
19
+ const onServerErrorSpy = vitest_1.vi.fn();
20
+ (0, requestHandler_1.applyRequestHandler)(instance, {
21
+ prefix,
22
+ ssl: false,
23
+ trpcOptions: {
24
+ router,
25
+ createContext: opts.createContext ?? (() => ({})),
26
+ onError(data) {
27
+ onServerErrorSpy(data);
28
+ },
29
+ responseMeta() {
30
+ return {
31
+ headers: {
32
+ 'Access-Control-Allow-Origin': '*',
33
+ },
34
+ };
35
+ },
36
+ },
37
+ });
38
+ (0, websockets_1.applyWebsocketHandler)(instance, {
39
+ prefix,
40
+ ssl: false,
41
+ router,
42
+ createContext: opts.createContext ?? (() => ({})),
43
+ onError(data) {
44
+ onServerErrorSpy(data);
45
+ },
46
+ uWsBehaviorOptions: opts.uWsBehaviorOptions,
47
+ keepAlive: opts.keepAlive,
48
+ });
49
+ instance.get('/hello', async (res) => {
50
+ res.end('Hello world');
51
+ });
52
+ instance.post('/hello', async (res) => {
53
+ res.end(JSON.stringify({ hello: 'POST', body: 'TODO, why?' }));
54
+ });
55
+ instance.ws('/ws', {
56
+ message: (client, rawMsg) => {
57
+ client.send(rawMsg);
58
+ },
59
+ });
60
+ instance.ws('/pubsub', {
61
+ open: (client) => {
62
+ const ok = client.subscribe('topic');
63
+ if (!ok) {
64
+ throw new Error("assertion: failed to subscribe to 'topic'");
65
+ }
66
+ },
67
+ });
68
+ instance.any('/*', (res) => {
69
+ res.writeStatus('404 NOT FOUND');
70
+ res.end();
71
+ });
72
+ let socket = null;
73
+ instance.listen('0.0.0.0', 0, (token) => {
74
+ socket = token;
75
+ });
76
+ if (!socket) {
77
+ throw new Error('could not make a socket');
78
+ }
79
+ const port = uWebSockets_js_1.default.us_socket_local_port(socket);
80
+ return {
81
+ stop() {
82
+ if (!socket) {
83
+ throw new Error('could not close socket as socket is already closed');
84
+ }
85
+ uWebSockets_js_1.default.us_listen_socket_close(socket);
86
+ socket = null;
87
+ },
88
+ port,
89
+ instance,
90
+ onServerErrorSpy,
91
+ };
92
+ }
93
+ function makeLinkSpy() {
94
+ const orderedResults = [];
95
+ const linkSpy = () => {
96
+ // here we just got initialized in the app - this happens once per app
97
+ // useful for storing cache for instance
98
+ return ({ next, op }) => {
99
+ // this is when passing the result to the next link
100
+ // each link needs to return an observable which propagates results
101
+ return (0, observable_1.observable)((observer) => {
102
+ const unsubscribe = next(op).subscribe({
103
+ next(value) {
104
+ const data = value.result.data;
105
+ if (data !== undefined) {
106
+ orderedResults.push(data);
107
+ }
108
+ observer.next(value);
109
+ },
110
+ error: observer.error,
111
+ });
112
+ return unsubscribe;
113
+ });
114
+ };
115
+ };
116
+ return {
117
+ orderedResults,
118
+ linkSpy,
119
+ };
120
+ }
121
+ function toQueryString(queryParams) {
122
+ const raw = new URLSearchParams(queryParams).toString();
123
+ return raw.length == 0 ? '' : `?${raw}`;
124
+ }
125
+ function createClientWs(router, opts) {
126
+ const prefix = opts.prefix ?? '/trpc';
127
+ const transformer = router._def._config.transformer;
128
+ const qs = toQueryString(opts.queryParams ?? {});
129
+ const host = `localhost:${opts.port}${prefix}${qs}`;
130
+ const wsClient = (0, client_1.createWSClient)({
131
+ retryDelayMs: () => 99999, // never retry by default
132
+ ...opts.wsClientOptions,
133
+ url: `ws://${host}`,
134
+ });
135
+ const { orderedResults, linkSpy } = makeLinkSpy();
136
+ const client = (0, client_1.createTRPCClient)({
137
+ links: [linkSpy, (0, client_1.wsLink)({ client: wsClient, transformer })],
138
+ });
139
+ return { client, wsClient, orderedResults };
140
+ }
141
+ function createClientBatchStream(router, opts) {
142
+ const prefix = opts.prefix ?? '/trpc';
143
+ const transformer = router._def._config.transformer;
144
+ const qs = toQueryString(opts.queryParams ?? {});
145
+ const host = `localhost:${opts.port}${prefix}${qs}`;
146
+ const { orderedResults, linkSpy } = makeLinkSpy();
147
+ const client = (0, client_1.createTRPCClient)({
148
+ links: [
149
+ linkSpy,
150
+ (0, client_1.httpBatchStreamLink)({
151
+ url: `http://${host}`,
152
+ headers: opts.headers,
153
+ transformer,
154
+ }),
155
+ ],
156
+ });
157
+ return { client, orderedResults };
158
+ }
159
+ function createClientBatch(router, opts) {
160
+ const prefix = opts.prefix ?? '/trpc';
161
+ const transformer = router._def._config.transformer;
162
+ const qs = toQueryString(opts.queryParams ?? {});
163
+ const host = `localhost:${opts.port}${prefix}${qs}`;
164
+ const client = (0, client_1.createTRPCClient)({
165
+ links: [
166
+ (0, client_1.httpBatchLink)({
167
+ url: `http://${host}`,
168
+ headers: opts.headers,
169
+ transformer,
170
+ }),
171
+ ],
172
+ });
173
+ return { client };
174
+ }
175
+ function createClientSse(router, opts) {
176
+ const prefix = opts.prefix ?? '/trpc';
177
+ const transformer = router._def._config.transformer;
178
+ const qs = toQueryString(opts.queryParams ?? {});
179
+ const host = `localhost:${opts.port}${prefix}${qs}`;
180
+ const { orderedResults, linkSpy } = makeLinkSpy();
181
+ const client = (0, client_1.createTRPCClient)({
182
+ links: [
183
+ linkSpy,
184
+ (0, client_1.httpSubscriptionLink)({
185
+ url: `http://${host}`,
186
+ connectionParams: opts.wsClientOptions?.connectionParams,
187
+ // ponyfill EventSource
188
+ EventSource: event_source_polyfill_1.EventSourcePolyfill,
189
+ transformer,
190
+ }),
191
+ ],
192
+ });
193
+ return { client, orderedResults };
194
+ }
195
+ function testFactory(serverOptions) {
196
+ const { instance, port, stop, onServerErrorSpy } = createServer({
197
+ ...serverOptions,
198
+ });
199
+ return {
200
+ server: instance,
201
+ stop,
202
+ onServerErrorSpy,
203
+ port,
204
+ opts: serverOptions,
205
+ fetch(path, opts) {
206
+ return fetch(`http://localhost:${port}${path}`, { ...opts });
207
+ },
208
+ clientBatchStream(clientOptions) {
209
+ return createClientBatchStream(serverOptions.appRouter, {
210
+ ...clientOptions,
211
+ port,
212
+ });
213
+ },
214
+ clientBatch(clientOptions) {
215
+ return createClientBatch(serverOptions.appRouter, {
216
+ ...clientOptions,
217
+ port,
218
+ });
219
+ },
220
+ clientSse(clientOptions) {
221
+ return createClientSse(serverOptions.appRouter, {
222
+ ...clientOptions,
223
+ port,
224
+ });
225
+ },
226
+ clientWs(clientOptions) {
227
+ return createClientWs(serverOptions.appRouter, {
228
+ ...clientOptions,
229
+ port,
230
+ });
231
+ },
232
+ };
233
+ }
234
+ //# sourceMappingURL=___testHelpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"___testHelpers.js","sourceRoot":"","sources":["../src/___testHelpers.ts"],"names":[],"mappings":"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"}
@@ -60,7 +60,6 @@ const http_1 = require("@trpc/server/http");
60
60
  const observable_1 = require("@trpc/server/observable");
61
61
  const rpc_1 = require("@trpc/server/rpc");
62
62
  const unstable_core_do_not_import_1 = require("@trpc/server/unstable-core-do-not-import");
63
- const url_1 = require("url");
64
63
  const fetchCompat_1 = require("./fetchCompat");
65
64
  function createCompleter() {
66
65
  let resolve;
@@ -363,7 +362,7 @@ function getWSConnectionHandler(opts, allClients) {
363
362
  }
364
363
  if (data.ctxCompleter == null) {
365
364
  data.ctxCompleter = createCompleter();
366
- const useConnectionParams = new url_1.URL(data.req.url).searchParams.get('connectionParams') === '1';
365
+ const useConnectionParams = data.url.searchParams.get('connectionParams') === '1';
367
366
  try {
368
367
  data.ctx = await createContext?.({
369
368
  req: data.req,
@@ -378,7 +377,7 @@ function getWSConnectionHandler(opts, allClients) {
378
377
  accept: null,
379
378
  type: 'unknown',
380
379
  signal: data.abortController.signal,
381
- url: data.url, // was null
380
+ url: data.url,
382
381
  },
383
382
  });
384
383
  data.ctxCompleter.resolve();
@@ -1 +1 @@
1
- {"version":3,"file":"websockets.js","sourceRoot":"","sources":["../src/websockets.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyKA,wDA4bC;AAED,sDAuBC;AAOD,0CAmCC;AAxqBD,yCAUsB;AAEtB,4CAI2B;AAC3B,wDAGiC;AACjC,0CAO0B;AAC1B,0FAOkD;AAClD,6BAA0B;AAO1B,+CAKuB;AAyFvB,SAAS,eAAe;IACtB,IAAI,OAAmB,CAAC;IACxB,IAAI,MAA8B,CAAC;IACnC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAO,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QAC7C,OAAO,GAAG,GAAG,CAAC;QACd,MAAM,GAAG,GAAG,CAAC;IACf,CAAC,CAAC,CAAC;IACH,OAAO;QACL,OAAO;QACP,OAAO,EAAE,OAAQ;QACjB,MAAM,EAAE,MAAO;KAChB,CAAC;AACJ,CAAC;AAmBD,SAAgB,sBAAsB,CACpC,IAAuC,EACvC,UAAoC;IAEpC,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IACvC,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;IAE5C,SAAS,OAAO,CACd,MAA2B,EAC3B,iBAAsC;QAEtC,IAAI,CAAC;YACH,MAAM,CAAC,IAAI,CACT,IAAI,CAAC,SAAS,CACZ,IAAA,8BAAqB,EAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAC9D,CACF,CAAC;QACJ,CAAC;QAAC,MAAM,CAAC;YACP,yDAAyD;YACzD,2DAA2D;YAC3D,2CAA2C;QAC7C,CAAC;IACH,CAAC;IAED,SAAS,mBAAmB,CAC1B,MAAc;QAEd,IAAI,GAAG,CAAC;QACR,IAAI,CAAC;YACH,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAgC,CAAC;YAExD,IAAI,CAAC,IAAA,sCAAQ,EAAC,GAAG,CAAC,EAAE,CAAC;gBACnB,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;YAC/C,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,kBAAS,CAAC;gBAClB,IAAI,EAAE,aAAa;gBACnB,OAAO,EAAE,uCAAuC;gBAChD,KAAK;aACN,CAAC,CAAC;QACL,CAAC;QAED,MAAM,gBAAgB,GAAG,IAAA,uCAAgC,EAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAEpE,OAAO,gBAAgB,CAAC;IAC1B,CAAC;IAED,KAAK,UAAU,aAAa,CAC1B,MAAgC,EAChC,GAA8B;QAE9B,MAAM,EAAE,mBAAmB,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;QAE/D,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC;QAE5B,uCAAuC;QACvC,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;YAChB,MAAM,IAAI,kBAAS,CAAC;gBAClB,IAAI,EAAE,aAAa;gBACnB,OAAO,EAAE,kBAAkB;aAC5B,CAAC,CAAC;QACL,CAAC;QACD,IAAI,GAAG,CAAC,MAAM,KAAK,mBAAmB,EAAE,CAAC;YACvC,mBAAmB,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC;YACrC,OAAO;QACT,CAAC;QACD,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC;QACzC,IAAI,EAAE,KAAK,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC;QAC3B,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC;QACxB,IAAI,CAAC;YACH,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;gBAC9B,IAAI,IAAA,sCAAQ,EAAC,KAAK,CAAC,EAAE,CAAC;oBACpB,KAAK,GAAG;wBACN,GAAG,KAAK;wBACR,WAAW,EAAE,WAAW;qBACzB,CAAC;gBACJ,CAAC;qBAAM,CAAC;oBACN,KAAK,KAAL,KAAK,GAAK;wBACR,WAAW,EAAE,WAAW;qBACzB,EAAC;gBACJ,CAAC;YACH,CAAC;YAED,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;gBACjB,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;YAC7D,CAAC;YAED,MAAM,eAAe,GAAG,IAAI,eAAe,EAAE,CAAC;YAC9C,MAAM,MAAM,GAAG,MAAM,IAAA,0BAAiB,EAAC;gBACrC,MAAM;gBACN,IAAI;gBACJ,WAAW,EAAE,KAAK,IAAI,EAAE,CAAC,KAAK;gBAC9B,GAAG;gBACH,IAAI;gBACJ,MAAM,EAAE,eAAe,CAAC,MAAM;aAC/B,CAAC,CAAC;YAEH,MAAM,gBAAgB,GAAG,IAAA,6CAAe,EAAC,MAAM,CAAC,IAAI,IAAA,yBAAY,EAAC,MAAM,CAAC,CAAC;YAEzE,IAAI,IAAI,KAAK,cAAc,EAAE,CAAC;gBAC5B,IAAI,gBAAgB,EAAE,CAAC;oBACrB,MAAM,IAAI,kBAAS,CAAC;wBAClB,IAAI,EAAE,wBAAwB;wBAC9B,OAAO,EAAE,wDAAwD,IAAI,4BAA4B;qBAClG,CAAC,CAAC;gBACL,CAAC;gBACD,6DAA6D;gBAC7D,OAAO,CAAC,MAAM,EAAE;oBACd,EAAE;oBACF,OAAO;oBACP,MAAM,EAAE;wBACN,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,MAAM;qBACb;iBACF,CAAC,CAAC;gBACH,OAAO;YACT,CAAC;YAED,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACtB,MAAM,IAAI,kBAAS,CAAC;oBAClB,OAAO,EAAE,gBAAgB,IAAI,mDAAmD;oBAChF,IAAI,EAAE,uBAAuB;iBAC9B,CAAC,CAAC;YACL,CAAC;YAED,uCAAuC;YACvC,IAAI,mBAAmB,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;gBAChC,mCAAmC;gBAEnC,MAAM,IAAI,kBAAS,CAAC;oBAClB,OAAO,EAAE,gBAAgB,EAAE,EAAE;oBAC7B,IAAI,EAAE,aAAa;iBACpB,CAAC,CAAC;YACL,CAAC;YAED,MAAM,QAAQ,GAAG,IAAA,yBAAY,EAAC,MAAM,CAAC;gBACnC,CAAC,CAAC,IAAA,sCAAyB,EAAC,MAAM,EAAE,eAAe,CAAC,MAAM,CAAC;gBAC3D,CAAC,CAAC,MAAM,CAAC;YAEX,IAAA,iCAAG,EAAC,KAAK,IAAI,EAAE;;;oBACb,MAAY,QAAQ,kCAAG,IAAA,8CAAgB,EAAC,QAAQ,CAAC,OAAA,CAAC;oBAElD,MAAM,YAAY,GAAG,IAAI,OAAO,CAAU,CAAC,OAAO,EAAE,EAAE;wBACpD,eAAe,CAAC,MAAM,CAAC,OAAO,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;oBAC1D,CAAC,CAAC,CAAC;oBACH,sFAAsF;oBACtF,iFAAiF;oBACjF,IAAI,IAKC,CAAC;oBACN,IAAI,MAAmD,CAAC;oBAExD,OAAO,IAAI,EAAE,CAAC;wBACZ,IAAI,GAAG,MAAM,uCAAS,CAAC,IAAI,CAAC;4BAC1B,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,gCAAuB,CAAC;4BAC9C,YAAY;yBACb,CAAC,CAAC;wBAEH,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;4BACrB,MAAM,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;4BAC1B,MAAM;wBACR,CAAC;wBACD,IAAI,IAAI,YAAY,KAAK,EAAE,CAAC;4BAC1B,MAAM,KAAK,GAAG,IAAA,gCAAuB,EAAC,IAAI,CAAC,CAAC;4BAC5C,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC;4BACvD,OAAO,CAAC,MAAM,EAAE;gCACd,EAAE;gCACF,OAAO;gCACP,KAAK,EAAE,IAAA,sBAAa,EAAC;oCACnB,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO;oCAC3B,KAAK;oCACL,IAAI;oCACJ,IAAI;oCACJ,KAAK;oCACL,GAAG;iCACJ,CAAC;6BACH,CAAC,CAAC;4BACH,MAAM;wBACR,CAAC;wBACD,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;4BACd,MAAM;wBACR,CAAC;wBAED,MAAM,GAAG;4BACP,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,IAAI,CAAC,KAAK;yBACjB,CAAC;wBAEF,IAAI,IAAA,0BAAiB,EAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;4BAClC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;4BAC9B,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC;4BACf,MAAM,CAAC,IAAI,GAAG;gCACZ,EAAE;gCACF,IAAI;6BACL,CAAC;wBACJ,CAAC;wBAED,OAAO,CAAC,MAAM,EAAE;4BACd,EAAE;4BACF,OAAO;4BACP,MAAM;yBACP,CAAC,CAAC;wBAEH,4CAA4C;wBAC5C,IAAI,GAAG,IAAI,CAAC;wBACZ,MAAM,GAAG,IAAI,CAAC;oBAChB,CAAC;oBAED,OAAO,CAAC,MAAM,EAAE;wBACd,EAAE;wBACF,OAAO;wBACP,MAAM,EAAE;4BACN,IAAI,EAAE,SAAS;yBAChB;qBACF,CAAC,CAAC;oBACH,mBAAmB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;;;;;;;;;;;aAChC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;gBACjB,MAAM,KAAK,GAAG,IAAA,gCAAuB,EAAC,KAAK,CAAC,CAAC;gBAC7C,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC;gBACvD,OAAO,CAAC,MAAM,EAAE;oBACd,EAAE;oBACF,OAAO;oBACP,KAAK,EAAE,IAAA,sBAAa,EAAC;wBACnB,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO;wBAC3B,KAAK;wBACL,IAAI;wBACJ,IAAI;wBACJ,KAAK;wBACL,GAAG;qBACJ,CAAC;iBACH,CAAC,CAAC;gBACH,eAAe,CAAC,KAAK,EAAE,CAAC;YAC1B,CAAC,CAAC,CAAC;YACH,mBAAmB,CAAC,GAAG,CAAC,EAAE,EAAE,eAAe,CAAC,CAAC;YAE7C,OAAO,CAAC,MAAM,EAAE;gBACd,EAAE;gBACF,OAAO;gBACP,MAAM,EAAE;oBACN,IAAI,EAAE,SAAS;iBAChB;aACF,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,uCAAuC,CAAC,CAAC;YACvD,2BAA2B;YAC3B,MAAM,KAAK,GAAG,IAAA,gCAAuB,EAAC,KAAK,CAAC,CAAC;YAC7C,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC;YACvD,OAAO,CAAC,MAAM,EAAE;gBACd,EAAE;gBACF,OAAO;gBACP,KAAK,EAAE,IAAA,sBAAa,EAAC;oBACnB,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO;oBAC3B,KAAK;oBACL,IAAI;oBACJ,IAAI;oBACJ,KAAK;oBACL,GAAG;iBACJ,CAAC;aACH,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO;QACL,sBAAsB,EAAE,IAAI,CAAC,kBAAkB,EAAE,sBAAsB,EAAE,yBAAyB;QAClG,wBAAwB,EAAE,IAAI,CAAC,kBAAkB,EAAE,wBAAwB;QAC3E,WAAW,EAAE,IAAI,CAAC,kBAAkB,EAAE,WAAW;QACjD,eAAe,EAAE,IAAI,CAAC,kBAAkB,EAAE,eAAe;QACzD,gBAAgB,EAAE,IAAI,CAAC,kBAAkB,EAAE,gBAAgB;QAC3D,WAAW,EAAE,IAAI,CAAC,kBAAkB,EAAE,WAAW;QACjD,WAAW,EAAE,IAAI,CAAC,kBAAkB,EAAE,WAAW;QACjD,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO;YACvB,MAAM,YAAY,GAAG,IAAA,kCAAoB,EAAC,GAAG,CAAC,CAAC;YAE/C,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE;gBACjB,YAAY,CAAC,OAAO,GAAG,IAAI,CAAC;YAC9B,CAAC,CAAC,CAAC;YACH,MAAM,QAAQ,GAAG,IAAA,gCAAkB,EAAC,GAAG,EAAE,YAAY,CAAC,CAAC;YAEvD,MAAM,eAAe,GAAG,GAAG,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC;YAC3D,MAAM,oBAAoB,GAAG,GAAG,CAAC,SAAS,CAAC,wBAAwB,CAAC,CAAC;YACrE,MAAM,sBAAsB,GAAG,GAAG,CAAC,SAAS,CAAC,0BAA0B,CAAC,CAAC;YAEzE,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAAoC,CAAC;YACxE,MAAM,eAAe,GAAG,IAAI,eAAe,EAAE,CAAC;YAE9C,MAAM,IAAI,GAAkB;gBAC1B,mBAAmB;gBACnB,eAAe;gBACf,GAAG,EAAE,QAAQ;gBACb,GAAG,EAAE,SAAS;gBACd,YAAY,EAAE,IAAI;gBAClB,SAAS,EAAE,IAAI;gBACf,GAAG,EAAE,IAAA,uBAAS,EAAC,GAAG,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;aACrD,CAAC;YAEF,GAAG,CAAC,OAAO,CACT,IAAI,EACJ,eAAe,EACf,oBAAoB,EACpB,sBAAsB,EACtB,OAAO,CACR,CAAC;QACJ,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,MAAM;YACf,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAEvB,IAAI,IAAI,CAAC,SAAS,EAAE,OAAO,EAAE,CAAC;gBAC5B,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC;gBAC9C,MAAM,IAAI,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;gBAClC,IAAI,CAAC,SAAS,GAAG,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;YAC/D,CAAC;QACH,CAAC;QACD,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM;YAC1B,MAAM,IAAI,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;YAElC,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBACnB,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC;YAC7B,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC;YAE9C,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;gBACtB,OAAO;YACT,CAAC;YACD,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;gBACtB,IAAI,CAAC,IAAI,CAAC,sBAAsB,EAAE,CAAC;oBACjC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACtB,CAAC;gBACD,OAAO;YACT,CAAC;YAED,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,EAAE,CAAC;gBAC9B,IAAI,CAAC,YAAY,GAAG,eAAe,EAAE,CAAC;gBAEtC,MAAM,mBAAmB,GACvB,IAAI,SAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,kBAAkB,CAAC,KAAK,GAAG,CAAC;gBAErE,IAAI,CAAC;oBACH,IAAI,CAAC,GAAG,GAAG,MAAM,aAAa,EAAE,CAAC;wBAC/B,GAAG,EAAE,IAAI,CAAC,GAAG;wBACb,GAAG,EAAE,MAA0C;wBAC/C,MAAM,EAAE,MAAM;wBACd,IAAI,EAAE;4BACJ,gBAAgB,EAAE,mBAAmB;gCACnC,CAAC,CAAC,mBAAmB,CAAC,MAAM,CAAC;gCAC7B,CAAC,CAAC,IAAI;4BACR,KAAK,EAAE,EAAE;4BACT,WAAW,EAAE,KAAK;4BAClB,MAAM,EAAE,IAAI;4BACZ,IAAI,EAAE,SAAS;4BACf,MAAM,EAAE,IAAI,CAAC,eAAe,CAAC,MAAM;4BACnC,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,WAAW;yBAC3B;qBACF,CAAC,CAAC;oBACH,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;gBAC9B,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,MAAM,KAAK,GAAG,IAAA,gCAAuB,EAAC,KAAK,CAAC,CAAC;oBAC7C,IAAI,CAAC,OAAO,EAAE,CAAC;wBACb,GAAG,EAAE,IAAI,CAAC,GAAG;wBACb,KAAK,EAAE,KAAK;wBACZ,KAAK,EAAE,SAAS;wBAChB,IAAI,EAAE,SAAS;wBACf,IAAI,EAAE,SAAS;wBACf,GAAG,EAAE,IAAI,CAAC,GAAG;qBACd,CAAC,CAAC;oBACH,OAAO,CAAC,MAAM,EAAE;wBACd,EAAE,EAAE,IAAI;wBACR,KAAK,EAAE,IAAA,sBAAa,EAAC;4BACnB,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO;4BAC3B,KAAK;4BACL,IAAI,EAAE,SAAS;4BACf,IAAI,EAAE,SAAS;4BACf,KAAK,EAAE,SAAS;4BAChB,GAAG,EAAE,IAAI,CAAC,GAAG;yBACd,CAAC;qBACH,CAAC,CAAC;oBACH,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;oBAEhC,qBAAqB;oBACrB,CAAC,UAAU,CAAC,YAAY,IAAI,UAAU,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE;wBACtD,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;oBACnB,CAAC,CAAC,CAAC;gBACL,CAAC;gBAED,IAAI,mBAAmB,EAAE,CAAC;oBACxB,8BAA8B;oBAC9B,OAAO;gBACT,CAAC;YACH,CAAC;YAED,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC;YAClC,CAAC;YAAC,MAAM,CAAC;gBACP,wEAAwE;gBACxE,oCAAoC;gBACpC,OAAO;YACT,CAAC;YAED,IAAI,CAAC;gBACH,MAAM,OAAO,GAAY,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBAC5C,MAAM,IAAI,GAAc,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;gBACrE,MAAM,QAAQ,GAAG,IAAI;qBAClB,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAA,sBAAgB,EAAC,GAAG,EAAE,WAAW,CAAC,CAAC;qBAChD,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;oBACX,OAAO,aAAa,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;gBACpC,CAAC,CAAC,CAAC;gBACL,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC9B,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,KAAK,GAAG,IAAI,kBAAS,CAAC;oBAC1B,IAAI,EAAE,aAAa;oBACnB,KAAK;iBACN,CAAC,CAAC;gBAEH,OAAO,CAAC,MAAM,EAAE;oBACd,EAAE,EAAE,IAAI;oBACR,KAAK,EAAE,IAAA,sBAAa,EAAC;wBACnB,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO;wBAC3B,KAAK;wBACL,IAAI,EAAE,SAAS;wBACf,IAAI,EAAE,SAAS;wBACf,KAAK,EAAE,SAAS;wBAChB,GAAG,EAAE,SAAS;qBACf,CAAC;iBACH,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QACD,KAAK,CAAC,MAAM;YACV,MAAM,EAAE,mBAAmB,EAAE,eAAe,EAAE,SAAS,EAAE,GACvD,MAAM,CAAC,WAAW,EAAE,CAAC;YAEvB,IAAI,SAAS,EAAE,CAAC;gBACd,SAAS,CAAC,OAAO,EAAE,CAAC;YACtB,CAAC;YAED,KAAK,MAAM,GAAG,IAAI,mBAAmB,CAAC,MAAM,EAAE,EAAE,CAAC;gBAC/C,GAAG,CAAC,KAAK,EAAE,CAAC;YACd,CAAC;YACD,mBAAmB,CAAC,KAAK,EAAE,CAAC;YAC5B,eAAe,CAAC,KAAK,EAAE,CAAC;YACxB,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC5B,CAAC;KACF,CAAC;AACJ,CAAC;AAED,SAAgB,qBAAqB,CACnC,GAAiB,EACjB,IAAuC;IAEvC,MAAM,UAAU,GAAG,IAAI,GAAG,EAA4B,CAAC;IACvD,MAAM,QAAQ,GAAG,sBAAsB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IAE1D,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC;IAEjC,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAEzB,OAAO;QACL,8BAA8B,EAAE,GAAG,EAAE;YACnC,MAAM,QAAQ,GAA8B;gBAC1C,EAAE,EAAE,IAAI;gBACR,MAAM,EAAE,WAAW;aACpB,CAAC;YACF,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;YACtC,KAAK,MAAM,MAAM,IAAI,UAAU,EAAE,CAAC;gBAChC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACpB,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC;AAOD,SAAgB,eAAe,CAC7B,MAA2B,EAC3B,MAAM,GAAG,KAAM,EACf,UAAU,GAAG,IAAK;IAElB,IAAI,OAAO,GAA+B,SAAS,CAAC;IACpD,IAAI,IAAI,GAA+B,SAAS,CAAC;IAEjD,MAAM,YAAY,GAAG,GAAG,EAAE;QACxB,MAAM,eAAe,GAAG,GAAG,EAAE;YAC3B,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;gBACxB,MAAM,CAAC,KAAK,EAAE,CAAC;YACjB,CAAC,EAAE,UAAU,CAAC,CAAC;QACjB,CAAC,CAAC;QACF,IAAI,GAAG,UAAU,CAAC,GAAG,EAAE;YACrB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAEpB,eAAe,EAAE,CAAC;QACpB,CAAC,EAAE,MAAM,CAAC,CAAC;IACb,CAAC,CAAC;IAEF,YAAY,EAAE,CAAC;IAEf,OAAO;QACL,SAAS;YACP,YAAY,CAAC,IAAI,CAAC,CAAC;YACnB,YAAY,CAAC,OAAO,CAAC,CAAC;YAEtB,YAAY,EAAE,CAAC;QACjB,CAAC;QACD,OAAO;YACL,YAAY,CAAC,IAAI,CAAC,CAAC;YACnB,YAAY,CAAC,OAAO,CAAC,CAAC;QACxB,CAAC;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"websockets.js","sourceRoot":"","sources":["../src/websockets.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,13 +1,12 @@
1
1
  {
2
2
  "name": "trpc-uwebsockets",
3
3
  "description": "tRPC adapter for uWebSockets.js server",
4
- "version": "11.0.4",
4
+ "version": "11.1.3",
5
5
  "main": "./dist/index.js",
6
6
  "type": "commonjs",
7
7
  "types": "./types/index.d.ts",
8
8
  "engines": {
9
- "node": "^22.11.0",
10
- "yarn": "1.x"
9
+ "node": "^22.11.0"
11
10
  },
12
11
  "scripts": {
13
12
  "start": "jest --watch",
@@ -29,13 +28,13 @@
29
28
  "prettier:dry": "prettier src/**/*.ts --config .prettierrc"
30
29
  },
31
30
  "dependencies": {
32
- "@trpc/server": "^11.0.4",
31
+ "@trpc/server": "^11.1.3",
33
32
  "uWebSockets.js": "uNetworking/uWebSockets.js#v20.51.0"
34
33
  },
35
34
  "devDependencies": {
36
35
  "@eslint/eslintrc": "^3.3.1",
37
36
  "@eslint/js": "^9.24.0",
38
- "@trpc/client": "^11.0.4",
37
+ "@trpc/client": "^11.1.3",
39
38
  "@types/node": "^20.11.5",
40
39
  "@types/node-fetch": "^2.6.12",
41
40
  "@types/ws": "^8.5.10",
@@ -0,0 +1,312 @@
1
+ import { vi } from 'vitest';
2
+
3
+ import { AnyTRPCRouter } from '@trpc/server';
4
+ import {
5
+ applyWebsocketHandler,
6
+ WebSocketBehaviorOptions,
7
+ WebsocketsKeepAlive,
8
+ } from './websockets';
9
+ import { observable } from '@trpc/server/observable';
10
+
11
+ import uWs from 'uWebSockets.js';
12
+ import {
13
+ applyRequestHandler,
14
+ CreateContextOptions,
15
+ CreateHandlerOptions,
16
+ } from './requestHandler';
17
+ import type {
18
+ HTTPHeaders,
19
+ TRPCLink,
20
+ WebSocketClientOptions,
21
+ } from '@trpc/client';
22
+ import {
23
+ createTRPCClient,
24
+ createWSClient,
25
+ httpBatchLink,
26
+ httpBatchStreamLink,
27
+ httpSubscriptionLink,
28
+ wsLink,
29
+ } from '@trpc/client';
30
+
31
+ import { EventSourcePolyfill } from 'event-source-polyfill';
32
+ global.EventSource = EventSourcePolyfill;
33
+
34
+ export interface ServerOptions<AppRouter extends AnyTRPCRouter> {
35
+ appRouter: AppRouter;
36
+ prefix?: string;
37
+ createContext?: (opts: CreateContextOptions) => Promise<any>;
38
+ uWsBehaviorOptions?: WebSocketBehaviorOptions;
39
+ keepAlive?: WebsocketsKeepAlive;
40
+ }
41
+
42
+ function createServer<AppRouter extends AnyTRPCRouter>(
43
+ opts: ServerOptions<AppRouter>
44
+ ) {
45
+ const prefix = opts.prefix ?? '/trpc';
46
+
47
+ const instance = uWs.App();
48
+
49
+ const router = opts.appRouter;
50
+
51
+ const onServerErrorSpy = vi.fn();
52
+
53
+ applyRequestHandler(instance, {
54
+ prefix,
55
+ ssl: false,
56
+ trpcOptions: {
57
+ router,
58
+ createContext: opts.createContext ?? (() => ({})),
59
+ onError(data) {
60
+ onServerErrorSpy(data);
61
+ },
62
+ responseMeta() {
63
+ return {
64
+ headers: {
65
+ 'Access-Control-Allow-Origin': '*',
66
+ },
67
+ };
68
+ },
69
+ } satisfies CreateHandlerOptions<AppRouter>['trpcOptions'],
70
+ });
71
+ applyWebsocketHandler(instance, {
72
+ prefix,
73
+ ssl: false,
74
+ router,
75
+ createContext: opts.createContext ?? (() => ({})),
76
+ onError(data) {
77
+ onServerErrorSpy(data);
78
+ },
79
+ uWsBehaviorOptions: opts.uWsBehaviorOptions,
80
+ keepAlive: opts.keepAlive,
81
+ });
82
+
83
+ instance.get('/hello', async (res) => {
84
+ res.end('Hello world');
85
+ });
86
+ instance.post('/hello', async (res) => {
87
+ res.end(JSON.stringify({ hello: 'POST', body: 'TODO, why?' }));
88
+ });
89
+ instance.ws('/ws', {
90
+ message: (client, rawMsg) => {
91
+ client.send(rawMsg);
92
+ },
93
+ });
94
+ instance.ws('/pubsub', {
95
+ open: (client) => {
96
+ const ok = client.subscribe('topic');
97
+ if (!ok) {
98
+ throw new Error("assertion: failed to subscribe to 'topic'");
99
+ }
100
+ },
101
+ });
102
+
103
+ instance.any('/*', (res) => {
104
+ res.writeStatus('404 NOT FOUND');
105
+ res.end();
106
+ });
107
+
108
+ let socket: uWs.us_listen_socket | false | null = null;
109
+
110
+ instance.listen('0.0.0.0', 0, (token) => {
111
+ socket = token;
112
+ });
113
+
114
+ if (!socket) {
115
+ throw new Error('could not make a socket');
116
+ }
117
+
118
+ const port = uWs.us_socket_local_port(socket);
119
+
120
+ return {
121
+ stop() {
122
+ if (!socket) {
123
+ throw new Error('could not close socket as socket is already closed');
124
+ }
125
+ uWs.us_listen_socket_close(socket);
126
+ socket = null;
127
+ },
128
+ port,
129
+ instance,
130
+ onServerErrorSpy,
131
+ };
132
+ }
133
+
134
+ function makeLinkSpy() {
135
+ const orderedResults: number[] = [];
136
+ const linkSpy: TRPCLink<any> = () => {
137
+ // here we just got initialized in the app - this happens once per app
138
+ // useful for storing cache for instance
139
+ return ({ next, op }) => {
140
+ // this is when passing the result to the next link
141
+ // each link needs to return an observable which propagates results
142
+ return observable((observer) => {
143
+ const unsubscribe = next(op).subscribe({
144
+ next(value) {
145
+ const data = value.result.data;
146
+ if (data !== undefined) {
147
+ orderedResults.push(data as number);
148
+ }
149
+ observer.next(value);
150
+ },
151
+ error: observer.error,
152
+ });
153
+ return unsubscribe;
154
+ });
155
+ };
156
+ };
157
+
158
+ return {
159
+ orderedResults,
160
+ linkSpy,
161
+ };
162
+ }
163
+
164
+ interface ClientOptions {
165
+ prefix?: string;
166
+ wsClientOptions?: Omit<WebSocketClientOptions, 'url'> | undefined;
167
+ queryParams?: Record<string, string> | undefined;
168
+ headers?: HTTPHeaders | undefined;
169
+ port: number;
170
+ }
171
+
172
+ function toQueryString(queryParams: Record<string, string>) {
173
+ const raw = new URLSearchParams(queryParams).toString();
174
+ return raw.length == 0 ? '' : `?${raw}`;
175
+ }
176
+
177
+ function createClientWs<TRouter extends AnyTRPCRouter>(
178
+ router: TRouter,
179
+ opts: ClientOptions
180
+ ) {
181
+ const prefix = opts.prefix ?? '/trpc';
182
+ const transformer = router._def._config.transformer as any;
183
+
184
+ const qs = toQueryString(opts.queryParams ?? {});
185
+ const host = `localhost:${opts.port}${prefix}${qs}`;
186
+ const wsClient = createWSClient({
187
+ retryDelayMs: () => 99999, // never retry by default
188
+ ...opts.wsClientOptions,
189
+ url: `ws://${host}`,
190
+ });
191
+ const { orderedResults, linkSpy } = makeLinkSpy();
192
+ const client = createTRPCClient<TRouter>({
193
+ links: [linkSpy, wsLink({ client: wsClient, transformer })],
194
+ });
195
+
196
+ return { client, wsClient, orderedResults };
197
+ }
198
+
199
+ function createClientBatchStream<TRouter extends AnyTRPCRouter>(
200
+ router: TRouter,
201
+ opts: ClientOptions
202
+ ) {
203
+ const prefix = opts.prefix ?? '/trpc';
204
+ const transformer = router._def._config.transformer as any;
205
+
206
+ const qs = toQueryString(opts.queryParams ?? {});
207
+ const host = `localhost:${opts.port}${prefix}${qs}`;
208
+ const { orderedResults, linkSpy } = makeLinkSpy();
209
+ const client = createTRPCClient<TRouter>({
210
+ links: [
211
+ linkSpy,
212
+ httpBatchStreamLink({
213
+ url: `http://${host}`,
214
+ headers: opts.headers,
215
+ transformer,
216
+ }),
217
+ ],
218
+ });
219
+
220
+ return { client, orderedResults };
221
+ }
222
+
223
+ function createClientBatch<TRouter extends AnyTRPCRouter>(
224
+ router: TRouter,
225
+ opts: ClientOptions
226
+ ) {
227
+ const prefix = opts.prefix ?? '/trpc';
228
+ const transformer = router._def._config.transformer as any;
229
+
230
+ const qs = toQueryString(opts.queryParams ?? {});
231
+ const host = `localhost:${opts.port}${prefix}${qs}`;
232
+ const client = createTRPCClient<TRouter>({
233
+ links: [
234
+ httpBatchLink({
235
+ url: `http://${host}`,
236
+ headers: opts.headers,
237
+ transformer,
238
+ }),
239
+ ],
240
+ });
241
+
242
+ return { client };
243
+ }
244
+
245
+ function createClientSse<TRouter extends AnyTRPCRouter>(
246
+ router: TRouter,
247
+ opts: ClientOptions
248
+ ) {
249
+ const prefix = opts.prefix ?? '/trpc';
250
+ const transformer = router._def._config.transformer as any;
251
+
252
+ const qs = toQueryString(opts.queryParams ?? {});
253
+ const host = `localhost:${opts.port}${prefix}${qs}`;
254
+
255
+ const { orderedResults, linkSpy } = makeLinkSpy();
256
+ const client = createTRPCClient<TRouter>({
257
+ links: [
258
+ linkSpy,
259
+ httpSubscriptionLink({
260
+ url: `http://${host}`,
261
+ connectionParams: opts.wsClientOptions?.connectionParams,
262
+ // ponyfill EventSource
263
+ EventSource: EventSourcePolyfill as any,
264
+ transformer,
265
+ }),
266
+ ],
267
+ });
268
+ return { client, orderedResults };
269
+ }
270
+
271
+ export function testFactory<AppRouter extends AnyTRPCRouter>(
272
+ serverOptions: ServerOptions<AppRouter>
273
+ ) {
274
+ const { instance, port, stop, onServerErrorSpy } = createServer({
275
+ ...serverOptions,
276
+ });
277
+
278
+ return {
279
+ server: instance,
280
+ stop,
281
+ onServerErrorSpy,
282
+ port,
283
+ opts: serverOptions,
284
+ fetch(path: string, opts: RequestInit) {
285
+ return fetch(`http://localhost:${port}${path}`, { ...opts });
286
+ },
287
+ clientBatchStream(clientOptions?: Partial<ClientOptions> | undefined) {
288
+ return createClientBatchStream(serverOptions.appRouter, {
289
+ ...clientOptions,
290
+ port,
291
+ });
292
+ },
293
+ clientBatch(clientOptions?: Partial<ClientOptions> | undefined) {
294
+ return createClientBatch(serverOptions.appRouter, {
295
+ ...clientOptions,
296
+ port,
297
+ });
298
+ },
299
+ clientSse(clientOptions?: Partial<ClientOptions> | undefined) {
300
+ return createClientSse(serverOptions.appRouter, {
301
+ ...clientOptions,
302
+ port,
303
+ });
304
+ },
305
+ clientWs(clientOptions?: Partial<ClientOptions> | undefined) {
306
+ return createClientWs(serverOptions.appRouter, {
307
+ ...clientOptions,
308
+ port,
309
+ });
310
+ },
311
+ };
312
+ }