trpc-uwebsockets 0.8.0 → 0.8.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
@@ -4,12 +4,6 @@
4
4
 
5
5
  # Installation
6
6
 
7
- ```bash
8
- yarn install trpc-uwebsockets
9
- ```
10
-
11
- or
12
-
13
7
  ```bash
14
8
  yarn add trpc-uwebsockets
15
9
  ```
@@ -32,12 +26,11 @@ type Context = {
32
26
  } | null;
33
27
  };
34
28
 
35
- const createContext: any = (opts: UWebSocketsContextOptions): Context => {
29
+ const createContext = (opts: UWebSocketsContextOptions): Context => {
36
30
  const getUser = () => {
37
- if (opts.req.headers.authorization === 'meow') {
38
- return {
39
- name: 'KATT',
40
- };
31
+ if (opts?.req.headers.authorization) {
32
+ // const user = await decodeJwtToken(req.headers.authorization.split(' ')[1])
33
+ // return user;
41
34
  }
42
35
  return null;
43
36
  };
@@ -72,10 +65,28 @@ createUWebSocketsHandler(app, '/trpc', {
72
65
  });
73
66
 
74
67
  app.listen('0.0.0.0', 8000, () => {
75
- console.log('server listening on http://localhost:8000');
68
+ console.log('Server listening on http://localhost:8000');
76
69
  });
77
70
  ```
78
71
 
72
+ # API
73
+
74
+ Create context options
75
+
76
+ ```typescript
77
+ type UWebSocketsCreateContextOptions = {
78
+ /* read-only request information */
79
+ req: {
80
+ headers: Record<string, string>;
81
+ method: 'POST' | 'GET';
82
+ query: URLSearchParams;
83
+ path: string;
84
+ };
85
+ /* instance of the uWebSockets server */
86
+ uWs: TemplatedApp;
87
+ };
88
+ ```
89
+
79
90
  # Testing
80
91
 
81
92
  ```bash
package/dist/index.js CHANGED
@@ -1,13 +1,30 @@
1
- import { resolveHTTPResponse, } from '@trpc/server';
2
- import { readPostBody } from './utils';
3
- export * from './types';
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.createUWebSocketsHandler = void 0;
18
+ const server_1 = require("@trpc/server");
19
+ const utils_1 = require("./utils");
20
+ __exportStar(require("./types"), exports);
4
21
  /**
5
22
  *
6
23
  * @param uWsApp uWebsockets server instance
7
24
  * @param pathPrefix The path to endpoint without trailing slash (ex: "/trpc")
8
25
  * @param opts router and createContext functions
9
26
  */
10
- export function createUWebSocketsHandler(uWsApp, pathPrefix, opts) {
27
+ function createUWebSocketsHandler(uWsApp, pathPrefix, opts) {
11
28
  const prefixTrimLength = pathPrefix.length + 1; // remove /* from url
12
29
  const handler = async (res, req) => {
13
30
  const method = req.getMethod().toUpperCase();
@@ -31,12 +48,13 @@ export function createUWebSocketsHandler(uWsApp, pathPrefix, opts) {
31
48
  query,
32
49
  path,
33
50
  };
34
- const bodyResult = await readPostBody(method, res);
51
+ const bodyResult = await (0, utils_1.readPostBody)(method, res);
35
52
  // req is no longer available!
36
53
  const createContext = async function _() {
37
54
  //res could be proxied here
38
55
  return await opts.createContext?.({
39
56
  // res,
57
+ uWs: uWsApp,
40
58
  req: requestObj,
41
59
  });
42
60
  };
@@ -48,7 +66,7 @@ export function createUWebSocketsHandler(uWsApp, pathPrefix, opts) {
48
66
  };
49
67
  // TODO batching, onError options need implementation.
50
68
  // responseMeta is not applicable?
51
- const result = await resolveHTTPResponse({
69
+ const result = await (0, server_1.resolveHTTPResponse)({
52
70
  path,
53
71
  createContext,
54
72
  router: opts.router,
@@ -89,4 +107,5 @@ export function createUWebSocketsHandler(uWsApp, pathPrefix, opts) {
89
107
  };
90
108
  uWsApp.any(pathPrefix + '/*', handler);
91
109
  }
110
+ exports.createUWebSocketsHandler = createUWebSocketsHandler;
92
111
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/types.js CHANGED
@@ -1,2 +1,3 @@
1
- export {};
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
2
3
  //# sourceMappingURL=types.js.map
package/dist/utils.js CHANGED
@@ -1,5 +1,8 @@
1
- import { TRPCError } from '@trpc/server';
2
- export function readPostBody(method, res) {
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.readPostBody = void 0;
4
+ const server_1 = require("@trpc/server");
5
+ function readPostBody(method, res) {
3
6
  return new Promise((resolve) => {
4
7
  if (method == 'GET') {
5
8
  // no body in get request
@@ -39,9 +42,10 @@ export function readPostBody(method, res) {
39
42
  res.onAborted(() => {
40
43
  resolve({
41
44
  ok: false,
42
- error: new TRPCError({ code: 'CLIENT_CLOSED_REQUEST' }),
45
+ error: new server_1.TRPCError({ code: 'CLIENT_CLOSED_REQUEST' }),
43
46
  });
44
47
  });
45
48
  });
46
49
  }
50
+ exports.readPostBody = readPostBody;
47
51
  //# sourceMappingURL=utils.js.map
package/dist/utils.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAGzC,MAAM,UAAU,YAAY,CAAC,MAAc,EAAE,GAAiB;IAC5D,OAAO,IAAI,OAAO,CAEhB,CAAC,OAAO,EAAE,EAAE;QACZ,IAAI,MAAM,IAAI,KAAK,EAAE;YACnB,yBAAyB;YACzB,OAAO,CAAC;gBACN,EAAE,EAAE,IAAI;gBACR,IAAI,EAAE,SAAS;aAChB,CAAC,CAAC;SACJ;QAED,IAAI,MAAc,CAAC;QACnB,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE;YACxB,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAE9B,IAAI,MAAM,EAAE;gBACV,IAAI,MAAM,EAAE;oBACV,sCAAsC;oBACtC,OAAO,CAAC;wBACN,EAAE,EAAE,IAAI;wBACR,IAAI,EAAE,MAAM,CAAC,QAAQ,EAAE,EAAE,kBAAkB;qBAC5C,CAAC,CAAC;iBACJ;qBAAM;oBACL,mCAAmC;oBACnC,OAAO,CAAC;wBACN,EAAE,EAAE,IAAI;wBACR,IAAI,EAAE,KAAK,CAAC,QAAQ,EAAE;qBACvB,CAAC,CAAC;iBACJ;aACF;iBAAM;gBACL,IAAI,MAAM,EAAE;oBACV,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;iBACzC;qBAAM;oBACL,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;iBACjC;aACF;QACH,CAAC,CAAC,CAAC;QAEH,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE;YACjB,OAAO,CAAC;gBACN,EAAE,EAAE,KAAK;gBACT,KAAK,EAAE,IAAI,SAAS,CAAC,EAAE,IAAI,EAAE,uBAAuB,EAAE,CAAC;aACxD,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":";;;AAAA,yCAAyC;AAGzC,SAAgB,YAAY,CAAC,MAAc,EAAE,GAAiB;IAC5D,OAAO,IAAI,OAAO,CAEhB,CAAC,OAAO,EAAE,EAAE;QACZ,IAAI,MAAM,IAAI,KAAK,EAAE;YACnB,yBAAyB;YACzB,OAAO,CAAC;gBACN,EAAE,EAAE,IAAI;gBACR,IAAI,EAAE,SAAS;aAChB,CAAC,CAAC;SACJ;QAED,IAAI,MAAc,CAAC;QACnB,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE;YACxB,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAE9B,IAAI,MAAM,EAAE;gBACV,IAAI,MAAM,EAAE;oBACV,sCAAsC;oBACtC,OAAO,CAAC;wBACN,EAAE,EAAE,IAAI;wBACR,IAAI,EAAE,MAAM,CAAC,QAAQ,EAAE,EAAE,kBAAkB;qBAC5C,CAAC,CAAC;iBACJ;qBAAM;oBACL,mCAAmC;oBACnC,OAAO,CAAC;wBACN,EAAE,EAAE,IAAI;wBACR,IAAI,EAAE,KAAK,CAAC,QAAQ,EAAE;qBACvB,CAAC,CAAC;iBACJ;aACF;iBAAM;gBACL,IAAI,MAAM,EAAE;oBACV,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;iBACzC;qBAAM;oBACL,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;iBACjC;aACF;QACH,CAAC,CAAC,CAAC;QAEH,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE;YACjB,OAAO,CAAC;gBACN,EAAE,EAAE,KAAK;gBACT,KAAK,EAAE,IAAI,kBAAS,CAAC,EAAE,IAAI,EAAE,uBAAuB,EAAE,CAAC;aACxD,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AA9CD,oCA8CC"}
package/package.json CHANGED
@@ -1,9 +1,10 @@
1
1
  {
2
2
  "private": false,
3
3
  "name": "trpc-uwebsockets",
4
- "description": "uWebSockets adapter for tRPC",
5
- "version": "0.8.0",
6
- "module": "./dist/index.js",
4
+ "description": "tRPC adapter for uWebSockets.js server",
5
+ "version": "0.8.3",
6
+ "main": "./dist/index.js",
7
+ "type": "commonjs",
7
8
  "types": "./types/index.d.ts",
8
9
  "scripts": {
9
10
  "start": "jest --watch",
@@ -62,7 +63,11 @@
62
63
  "test"
63
64
  ],
64
65
  "license": "MIT",
65
- "keywords": [],
66
+ "keywords": [
67
+ "trpc",
68
+ "uwebsockets",
69
+ "trpc adapter"
70
+ ],
66
71
  "repository": {
67
72
  "type": "git",
68
73
  "url": "https://github.com/romanzy-1612/trpc-uwebsockets.git"
package/src/index.ts CHANGED
@@ -60,6 +60,7 @@ export function createUWebSocketsHandler<TRouter extends AnyRouter>(
60
60
  //res could be proxied here
61
61
  return await opts.createContext?.({
62
62
  // res,
63
+ uWs: uWsApp,
63
64
  req: requestObj,
64
65
  });
65
66
  };
package/src/types.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { AnyRouter, inferRouterContext } from '@trpc/server';
2
- import { HttpResponse } from 'uWebSockets.js';
2
+ import { HttpResponse, TemplatedApp } from 'uWebSockets.js';
3
3
 
4
4
  export type UWebSocketsRegisterEndpointOptions<TRouter extends AnyRouter> = {
5
5
  router: TRouter;
@@ -20,5 +20,6 @@ export type UWebSocketsResponseObject = HttpResponse;
20
20
 
21
21
  export type UWebSocketsCreateContextOptions = {
22
22
  req: UWebSocketsRequestObject;
23
+ uWs: TemplatedApp;
23
24
  // res: UWebSocketsResponseObject;
24
25
  };
package/types/types.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { AnyRouter, inferRouterContext } from '@trpc/server';
2
- import { HttpResponse } from 'uWebSockets.js';
2
+ import { HttpResponse, TemplatedApp } from 'uWebSockets.js';
3
3
  export declare type UWebSocketsRegisterEndpointOptions<TRouter extends AnyRouter> = {
4
4
  router: TRouter;
5
5
  createContext?: (opts: UWebSocketsCreateContextOptions) => Promise<inferRouterContext<TRouter>> | inferRouterContext<TRouter>;
@@ -13,4 +13,5 @@ export declare type UWebSocketsRequestObject = {
13
13
  export declare type UWebSocketsResponseObject = HttpResponse;
14
14
  export declare type UWebSocketsCreateContextOptions = {
15
15
  req: UWebSocketsRequestObject;
16
+ uWs: TemplatedApp;
16
17
  };