@rexeus/typeweaver-server 0.6.0 → 0.6.1

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
@@ -187,13 +187,12 @@ to provide it.
187
187
  **Requiring upstream state** — declare dependencies:
188
188
 
189
189
  ```ts
190
- const permissions = defineMiddleware<
191
- { permissions: string[] },
192
- { userId: string }
193
- >(async (ctx, next) => {
194
- const userId = ctx.state.get("userId"); // string — no cast, no undefined
195
- return next({ permissions: await loadPermissions(userId) });
196
- });
190
+ const permissions = defineMiddleware<{ permissions: string[] }, { userId: string }>(
191
+ async (ctx, next) => {
192
+ const userId = ctx.state.get("userId"); // string — no cast, no undefined
193
+ return next({ permissions: await loadPermissions(userId) });
194
+ }
195
+ );
197
196
  ```
198
197
 
199
198
  Registering `permissions` before `auth` produces a **compile-time error** because `userId` is not
@@ -206,7 +205,7 @@ const logger = defineMiddleware(async (ctx, next) => {
206
205
  const start = Date.now();
207
206
  const response = await next();
208
207
  console.log(
209
- `${ctx.request.method} ${ctx.request.path} -> ${response.statusCode} (${Date.now() - start}ms)`,
208
+ `${ctx.request.method} ${ctx.request.path} -> ${response.statusCode} (${Date.now() - start}ms)`
210
209
  );
211
210
  return response;
212
211
  });
@@ -274,7 +273,7 @@ CORS always execute.
274
273
  ```ts
275
274
  const app = new TypeweaverApp({
276
275
  maxBodySize: 5 * 1024 * 1024, // 5 MB
277
- onError: (error) => logger.error("Unhandled error", error),
276
+ onError: error => logger.error("Unhandled error", error),
278
277
  });
279
278
  ```
280
279
 
@@ -23,7 +23,7 @@ import type {
23
23
  * @template RequestHandlers - Object type containing all handler methods for this router
24
24
  */
25
25
  export type TypeweaverRouterOptions<
26
- RequestHandlers extends Record<string, RequestHandler>,
26
+ RequestHandlers extends Record<string, RequestHandler<any, any, any>>,
27
27
  > = {
28
28
  /**
29
29
  * Request handler methods for each operation.
@@ -81,7 +81,7 @@ export type TypeweaverRouterOptions<
81
81
  * @template RequestHandlers - Object type containing typed handler methods
82
82
  */
83
83
  export abstract class TypeweaverRouter<
84
- RequestHandlers extends Record<string, RequestHandler>,
84
+ RequestHandlers extends Record<string, RequestHandler<any, any, any>>,
85
85
  > {
86
86
  protected readonly requestHandlers: RequestHandlers;
87
87
  private readonly routes: RouteDefinition[] = [];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rexeus/typeweaver-server",
3
- "version": "0.6.0",
3
+ "version": "0.6.1",
4
4
  "description": "Generates a lightweight, dependency-free server with built-in routing and middleware from your API definitions. Powered by Typeweaver.",
5
5
  "type": "module",
6
6
  "sideEffects": false,
@@ -47,15 +47,15 @@
47
47
  },
48
48
  "homepage": "https://github.com/rexeus/typeweaver#readme",
49
49
  "peerDependencies": {
50
- "@rexeus/typeweaver-core": "^0.6.0",
51
- "@rexeus/typeweaver-gen": "^0.6.0"
50
+ "@rexeus/typeweaver-core": "^0.6.1",
51
+ "@rexeus/typeweaver-gen": "^0.6.1"
52
52
  },
53
53
  "devDependencies": {
54
54
  "get-port": "^7.1.0",
55
55
  "test-utils": "file:../test-utils",
56
56
  "tsx": "^4.21.0",
57
- "@rexeus/typeweaver-core": "^0.6.0",
58
- "@rexeus/typeweaver-gen": "^0.6.0"
57
+ "@rexeus/typeweaver-core": "^0.6.1",
58
+ "@rexeus/typeweaver-gen": "^0.6.1"
59
59
  },
60
60
  "dependencies": {
61
61
  "case": "^1.6.3"