glasswork 0.6.2 → 0.7.0
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 +37 -9
- package/dist/core/bootstrap.d.ts.map +1 -1
- package/dist/core/bootstrap.js +36 -6
- package/dist/core/bootstrap.js.map +1 -1
- package/dist/core/types.d.ts +103 -23
- package/dist/core/types.d.ts.map +1 -1
- package/dist/http/route-helpers.d.ts +102 -44
- package/dist/http/route-helpers.d.ts.map +1 -1
- package/dist/http/route-helpers.js +127 -126
- package/dist/http/route-helpers.js.map +1 -1
- package/dist/index.d.ts +4 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/middleware/rate-limit.d.ts.map +1 -1
- package/dist/middleware/rate-limit.js +47 -13
- package/dist/middleware/rate-limit.js.map +1 -1
- package/dist/openapi/defaults.d.ts.map +1 -1
- package/dist/openapi/defaults.js +5 -3
- package/dist/openapi/defaults.js.map +1 -1
- package/dist/openapi/openapi-processors.d.ts +51 -0
- package/dist/openapi/openapi-processors.d.ts.map +1 -0
- package/dist/openapi/openapi-processors.js +166 -0
- package/dist/openapi/openapi-processors.js.map +1 -0
- package/dist/openapi/openapi.d.ts +36 -3
- package/dist/openapi/openapi.d.ts.map +1 -1
- package/dist/openapi/openapi.js +27 -39
- package/dist/openapi/openapi.js.map +1 -1
- package/dist/utils/serialize-prisma-types.d.ts +63 -30
- package/dist/utils/serialize-prisma-types.d.ts.map +1 -1
- package/dist/utils/serialize-prisma-types.js +7 -2
- package/dist/utils/serialize-prisma-types.js.map +1 -1
- package/package.json +10 -3
package/README.md
CHANGED
|
@@ -1,10 +1,24 @@
|
|
|
1
|
-
|
|
1
|
+
<div align="center">
|
|
2
|
+
<a href="https://glasswork.dev" target="_blank" rel="noopener noreferrer">
|
|
3
|
+
<img width="180" src="./docs/public/logo.png" alt="Glasswork logo">
|
|
4
|
+
</a>
|
|
2
5
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
[![
|
|
6
|
-
[![
|
|
7
|
-
[![
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
[![npm version][npm-version-src]][npm-version-href]
|
|
9
|
+
[![Coverage][coverage-src]][coverage-href]
|
|
10
|
+
[![CI][build-src]][build-href]
|
|
11
|
+
[![License: MIT][license-src]][license-href]
|
|
12
|
+
[![TypeScript][type-script-src]][type-script-href]
|
|
13
|
+
|
|
14
|
+
<h4>
|
|
15
|
+
<a href="https://glasswork.dev/" target="_blank">Documentation</a>
|
|
16
|
+
<span> · </span>
|
|
17
|
+
<a href="https://github.com/rolandboon/glasswork/issues/" target="_blank">Report Bug</a>
|
|
18
|
+
</h4>
|
|
19
|
+
|
|
20
|
+
<br />
|
|
21
|
+
</div>
|
|
8
22
|
|
|
9
23
|
**A transparent, serverless-optimized web framework for building OpenAPI-compliant REST APIs.**
|
|
10
24
|
|
|
@@ -44,12 +58,12 @@ npm install glasswork hono awilix valibot hono-openapi
|
|
|
44
58
|
### 1. Define Your DTOs (Valibot Schemas)
|
|
45
59
|
|
|
46
60
|
```typescript
|
|
47
|
-
import { object, string, email } from 'valibot';
|
|
61
|
+
import { object, string, email, pipe, minLength } from 'valibot';
|
|
48
62
|
|
|
49
63
|
// These schemas automatically generate OpenAPI documentation
|
|
50
64
|
export const LoginDto = object({
|
|
51
|
-
email: string(
|
|
52
|
-
password: string(
|
|
65
|
+
email: pipe(string(), email()),
|
|
66
|
+
password: pipe(string(), minLength(8)),
|
|
53
67
|
});
|
|
54
68
|
|
|
55
69
|
export const SessionDto = object({
|
|
@@ -161,3 +175,17 @@ Glasswork is in active development. Feedback, issues, and contributions are welc
|
|
|
161
175
|
## License
|
|
162
176
|
|
|
163
177
|
MIT
|
|
178
|
+
|
|
179
|
+
|
|
180
|
+
<!-- Badges -->
|
|
181
|
+
|
|
182
|
+
[npm-version-src]: https://img.shields.io/npm/v/glasswork?flat&colorA=1b1b1f&colorB=3e63dd
|
|
183
|
+
[npm-version-href]: https://npmjs.com/package/glasswork
|
|
184
|
+
[coverage-src]: https://img.shields.io/codecov/c/github/rolandboon/glasswork?style=flat&colorA=1b1b1f&colorB=3e63dd
|
|
185
|
+
[coverage-href]: https://codecov.io/gh/rolandboon/glasswork
|
|
186
|
+
[build-src]: https://img.shields.io/github/actions/workflow/status/rolandboon/glasswork/ci.yml?style=flat&colorA=1b1b1f&colorB=3e63dd
|
|
187
|
+
[build-href]: https://github.com/rolandboon/glasswork/actions/workflows/ci.yml
|
|
188
|
+
[license-src]: https://img.shields.io/github/license/rolandboon/glasswork.svg?flat&colorA=1b1b1f&colorB=3e63dd
|
|
189
|
+
[license-href]: https://opensource.org/licenses/MIT
|
|
190
|
+
[type-script-src]: https://img.shields.io/badge/TypeScript-5.0%2B-blue?style=flat&labelColor=1b1b1f&color=3e63dd
|
|
191
|
+
[type-script-href]: https://www.typescriptlang.org/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bootstrap.d.ts","sourceRoot":"","sources":["../../src/core/bootstrap.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"bootstrap.d.ts","sourceRoot":"","sources":["../../src/core/bootstrap.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AAc9C,OAAO,KAAK,EACV,gBAAgB,EAChB,eAAe,EAKf,YAAY,EAMb,MAAM,YAAY,CAAC;AAwBpB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,wBAAgB,SAAS,CACvB,UAAU,EAAE,YAAY,EACxB,OAAO,GAAE,gBAAqB,GAC7B,eAAe,CA0DjB;AAkND;;;GAGG;AACH,wBAAgB,cAAc,CAAC,UAAU,EAAE,YAAY,GAAG,YAAY,EAAE,CAuBvE;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,YAAY,EAAE,GAAG,IAAI,CA2C9D;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,YAAY,EACpB,SAAS,EAAE,eAAe,EAC1B,MAAM,EAAE,OAAO,oBAAoB,EAAE,MAAM,GAC1C,IAAI,CAQN"}
|
package/dist/core/bootstrap.js
CHANGED
|
@@ -5,7 +5,9 @@ import { logger as honoLogger } from 'hono/logger';
|
|
|
5
5
|
import { requestId } from 'hono/request-id';
|
|
6
6
|
import { secureHeaders } from 'hono/secure-headers';
|
|
7
7
|
import { defaultErrorHandler } from '../http/error-handler.js';
|
|
8
|
+
import { route, setOpenAPIContext } from '../http/route-helpers.js';
|
|
8
9
|
import { createRateLimitMiddleware } from '../middleware/rate-limit.js';
|
|
10
|
+
import { createBuiltinProcessors } from '../openapi/openapi-processors.js';
|
|
9
11
|
import { configureOpenAPI } from '../openapi/openapi.js';
|
|
10
12
|
import { isLambda } from '../utils/environment.js';
|
|
11
13
|
import { createLogger, createPlainLogger } from '../utils/logger.js';
|
|
@@ -83,7 +85,7 @@ export function bootstrap(rootModule, options = {}) {
|
|
|
83
85
|
registerModuleProviders(module, container, bootstrapLogger);
|
|
84
86
|
}
|
|
85
87
|
// Create Hono app and apply middleware
|
|
86
|
-
const app = createApp({
|
|
88
|
+
const { app, openAPIContext } = createApp({
|
|
87
89
|
environment,
|
|
88
90
|
errorHandler,
|
|
89
91
|
openapi,
|
|
@@ -93,7 +95,7 @@ export function bootstrap(rootModule, options = {}) {
|
|
|
93
95
|
bootstrapLogger,
|
|
94
96
|
});
|
|
95
97
|
// Mount module routes
|
|
96
|
-
mountModuleRoutes({ app, modules: allModules, container, apiBasePath, bootstrapLogger });
|
|
98
|
+
mountModuleRoutes({ app, modules: allModules, container, apiBasePath, bootstrapLogger, openAPIContext });
|
|
97
99
|
bootstrapLogger.info('Bootstrap complete');
|
|
98
100
|
bootstrapLogger.info(`Environment: ${environment}`);
|
|
99
101
|
bootstrapLogger.info(`Registered ${Object.keys(container.cradle).length} services`);
|
|
@@ -104,12 +106,36 @@ export function bootstrap(rootModule, options = {}) {
|
|
|
104
106
|
*/
|
|
105
107
|
function createApp(options) {
|
|
106
108
|
const app = new Hono();
|
|
109
|
+
// Build OpenAPI context with processors
|
|
110
|
+
const openAPIContext = buildOpenAPIContext(options);
|
|
111
|
+
setOpenAPIContext(app, openAPIContext);
|
|
107
112
|
applyErrorHandler(app, options);
|
|
108
113
|
applySecurityMiddleware(app, options);
|
|
109
114
|
applyLoggingMiddleware(app, options);
|
|
110
115
|
applyRateLimiting(app, options);
|
|
111
116
|
applyOpenAPIDocumentation(app, options);
|
|
112
|
-
return app;
|
|
117
|
+
return { app, openAPIContext };
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* Build the OpenAPI context with processors and security schemes
|
|
121
|
+
*/
|
|
122
|
+
function buildOpenAPIContext(options) {
|
|
123
|
+
const { openapi, rateLimit, middleware } = options;
|
|
124
|
+
// Create built-in processors based on config
|
|
125
|
+
const builtinProcessors = createBuiltinProcessors({
|
|
126
|
+
corsEnabled: !!middleware?.cors,
|
|
127
|
+
rateLimitEnabled: !!rateLimit?.enabled,
|
|
128
|
+
});
|
|
129
|
+
// Combine with user-provided processors
|
|
130
|
+
const userProcessors = openapi?.responseProcessors ?? [];
|
|
131
|
+
const processors = [...builtinProcessors, ...userProcessors];
|
|
132
|
+
// Extract security scheme names from documentation
|
|
133
|
+
const securitySchemes = [];
|
|
134
|
+
const components = openapi?.documentation?.components;
|
|
135
|
+
if (components?.securitySchemes) {
|
|
136
|
+
securitySchemes.push(...Object.keys(components.securitySchemes));
|
|
137
|
+
}
|
|
138
|
+
return { processors, securitySchemes };
|
|
113
139
|
}
|
|
114
140
|
/**
|
|
115
141
|
* Apply error handler to the app
|
|
@@ -174,15 +200,19 @@ function applyOpenAPIDocumentation(app, options) {
|
|
|
174
200
|
* Mount module routes to the app
|
|
175
201
|
*/
|
|
176
202
|
function mountModuleRoutes(options) {
|
|
177
|
-
const { app, modules, container, apiBasePath, bootstrapLogger } = options;
|
|
203
|
+
const { app, modules, container, apiBasePath, bootstrapLogger, openAPIContext } = options;
|
|
178
204
|
for (const module of modules) {
|
|
179
205
|
if (!module.routes || !module.basePath) {
|
|
180
206
|
continue;
|
|
181
207
|
}
|
|
182
208
|
bootstrapLogger.info(`Mounting routes: ${apiBasePath}/${module.basePath}`);
|
|
183
209
|
const router = new Hono();
|
|
184
|
-
//
|
|
185
|
-
|
|
210
|
+
// Set OpenAPI context on the router so routes can access it
|
|
211
|
+
setOpenAPIContext(router, openAPIContext);
|
|
212
|
+
// Create a bound route function for this router
|
|
213
|
+
const boundRoute = (config) => route(router, config);
|
|
214
|
+
// Call route factory with router, services, and bound route function
|
|
215
|
+
module.routes(router, container.cradle, boundRoute);
|
|
186
216
|
// Mount at base path
|
|
187
217
|
app.route(`${apiBasePath}/${module.basePath}`, router);
|
|
188
218
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../../src/core/bootstrap.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AACtF,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAerE;;GAEG;AACH,SAAS,iBAAiB;IACxB,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC;IAErC,IAAI,OAAO,KAAK,YAAY,EAAE,CAAC;QAC7B,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;QACvB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,iCAAiC;IACjC,IAAI,OAAO,CAAC,GAAG,CAAC,wBAAwB,IAAI,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QACzE,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,OAAO,aAAa,CAAC;AACvB,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,MAAM,UAAU,SAAS,CACvB,UAAwB,EACxB,UAA4B,EAAE;IAE9B,MAAM,EACJ,WAAW,GAAG,MAAM,EACpB,KAAK,GAAG,KAAK,EACb,WAAW,GAAG,iBAAiB,EAAE,EACjC,YAAY,GAAG,mBAAmB,EAClC,OAAO,EACP,SAAS,EACT,UAAU,EACV,MAAM,GACP,GAAG,OAAO,CAAC;IAEZ,sCAAsC;IACtC,MAAM,eAAe,GAAG,YAAY,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;IAEzD,8DAA8D;IAC9D,MAAM,SAAS,GAAG,eAAe,CAAC;QAChC,aAAa,EAAE,aAAa,CAAC,KAAK;QAClC,MAAM,EAAE,IAAI;KACb,CAAC,CAAC;IAEH,eAAe,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;IAErD,wCAAwC;IACxC,MAAM,UAAU,GAAG,cAAc,CAAC,UAAU,CAAC,CAAC;IAE9C,eAAe,CAAC,IAAI,CAClB,SAAS,UAAU,CAAC,MAAM,aAAa,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAClF,CAAC;IAEF,oCAAoC;IACpC,gBAAgB,CAAC,UAAU,CAAC,CAAC;IAE7B,yBAAyB;IACzB,KAAK,MAAM,MAAM,IAAI,UAAU,EAAE,CAAC;QAChC,eAAe,CAAC,IAAI,CAAC,uBAAuB,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QAC3D,uBAAuB,CAAC,MAAM,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC;IAC9D,CAAC;IAED,uCAAuC;IACvC,MAAM,GAAG,GAAG,SAAS,CAAC;QACpB,WAAW;QACX,YAAY;QACZ,OAAO;QACP,SAAS;QACT,UAAU;QACV,MAAM;QACN,eAAe;KAChB,CAAC,CAAC;IAEH,sBAAsB;IACtB,iBAAiB,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,eAAe,EAAE,CAAC,CAAC;IAEzF,eAAe,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;IAC3C,eAAe,CAAC,IAAI,CAAC,gBAAgB,WAAW,EAAE,CAAC,CAAC;IACpD,eAAe,CAAC,IAAI,CAAC,cAAc,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,MAAM,WAAW,CAAC,CAAC;IAEpF,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC;AAC5B,CAAC;AAED;;GAEG;AACH,SAAS,SAAS,CAAC,OAQlB;IACC,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;IAEvB,iBAAiB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAChC,uBAAuB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IACtC,sBAAsB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IACrC,iBAAiB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAChC,yBAAyB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAExC,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;GAEG;AACH,SAAS,iBAAiB,CACxB,GAAS,EACT,EACE,YAAY,EACZ,eAAe,GAIhB;IAED,IAAI,YAAY,KAAK,KAAK;QAAE,OAAO;IAEnC,eAAe,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;IAC/C,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;AAC5B,CAAC;AAED;;GAEG;AACH,SAAS,uBAAuB,CAC9B,GAAS,EACT,EACE,WAAW,EACX,UAAU,EACV,eAAe,GAKhB;IAED,+CAA+C;IAC/C,IAAI,UAAU,EAAE,aAAa,KAAK,KAAK,IAAI,WAAW,KAAK,YAAY,EAAE,CAAC;QACxE,eAAe,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;QAChD,GAAG,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC,CAAC;IAC3B,CAAC;IAED,6BAA6B;IAC7B,IAAI,UAAU,EAAE,SAAS,KAAK,KAAK,EAAE,CAAC;QACpC,eAAe,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;QACvD,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC;IACvB,CAAC;IAED,OAAO;IACP,IAAI,UAAU,EAAE,IAAI,EAAE,CAAC;QACrB,eAAe,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;QACjD,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;IACjC,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,sBAAsB,CAC7B,GAAS,EACT,EACE,MAAM,EACN,eAAe,GACkE;IAEnF,IAAI,MAAM,EAAE,OAAO,KAAK,KAAK;QAAE,OAAO;IAEtC,+DAA+D;IAC/D,MAAM,cAAc,GAAG,MAAM,EAAE,KAAK,IAAI,QAAQ,EAAE,CAAC;IAEnD,eAAe,CAAC,IAAI,CAAC,2BAA2B,cAAc,GAAG,CAAC,CAAC;IAEnE,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC;AAC/D,CAAC;AAED;;GAEG;AACH,SAAS,iBAAiB,CACxB,GAAS,EACT,EACE,SAAS,EACT,eAAe,GACwE;IAEzF,IAAI,CAAC,SAAS,EAAE,OAAO;QAAE,OAAO;IAEhC,eAAe,CAAC,IAAI,CAClB,0BAA0B,SAAS,CAAC,OAAO,aAAa,SAAS,CAAC,WAAW,IAAI,GAAG,QAAQ,SAAS,CAAC,QAAQ,IAAI,KAAK,KAAK,CAC7H,CAAC;IACF,GAAG,CAAC,GAAG,CAAC,yBAAyB,CAAC,SAAS,CAAC,CAAC,CAAC;AAChD,CAAC;AAED;;GAEG;AACH,SAAS,yBAAyB,CAChC,GAAS,EACT,OAMC;IAED,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC;IAEjF,IAAI,CAAC,OAAO,EAAE,OAAO;QAAE,OAAO;IAE9B,eAAe,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;IAC5C,gBAAgB,CAAC,EAAE,GAAG,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,CAAC;AACzE,CAAC;AAED;;GAEG;AACH,SAAS,iBAAiB,CAAC,OAM1B;IACC,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC;IAE1E,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;YACvC,SAAS;QACX,CAAC;QAED,eAAe,CAAC,IAAI,CAAC,oBAAoB,WAAW,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;QAE3E,MAAM,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QAE1B,8CAA8C;QAC9C,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,MAAiC,CAAC,CAAC;QAEnE,qBAAqB;QACrB,GAAG,CAAC,KAAK,CAAC,GAAG,WAAW,IAAI,MAAM,CAAC,QAAQ,EAAE,EAAE,MAAM,CAAC,CAAC;IACzD,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,UAAwB;IACrD,MAAM,OAAO,GAAG,IAAI,GAAG,EAAwB,CAAC;IAChD,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAElC,SAAS,OAAO,CAAC,MAAoB;QACnC,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7B,OAAO;QACT,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACzB,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAEjC,8BAA8B;QAC9B,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,KAAK,MAAM,cAAc,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBAC5C,OAAO,CAAC,cAAc,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,CAAC,UAAU,CAAC,CAAC;IAEpB,OAAO,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;AACtC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAuB;IACtD,MAAM,KAAK,GAAG,IAAI,GAAG,EAAuB,CAAC;IAE7C,yBAAyB;IACzB,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5B,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;QACpC,CAAC;QAED,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,KAAK,MAAM,cAAc,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBAC5C,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;YACnD,CAAC;QACH,CAAC;IACH,CAAC;IAED,0BAA0B;IAC1B,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;IACnC,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAElC,SAAS,KAAK,CAAC,IAAY,EAAE,IAAc;QACzC,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,GAAG,IAAI,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACnF,CAAC;QAED,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACtB,OAAO;QACT,CAAC;QAED,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAEnB,MAAM,YAAY,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,EAAE,CAAC;QAClD,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;YAC/B,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;QAC9B,CAAC;QAED,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACtB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACpB,CAAC;IAED,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACzB,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,uBAAuB,CACrC,MAAoB,EACpB,SAA0B,EAC1B,MAA2C;IAE3C,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;QACtB,OAAO;IACT,CAAC;IAED,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;QACxC,gBAAgB,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC7D,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,gBAAgB,CACvB,QAAwB,EACxB,SAA0B,EAC1B,UAAkB,EAClB,MAA2C;IAE3C,IAAI,OAAO,QAAQ,KAAK,UAAU,EAAE,CAAC;QACnC,qBAAqB,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;QACnD,OAAO;IACT,CAAC;IAED,IAAI,UAAU,IAAI,QAAQ,EAAE,CAAC;QAC3B,6BAA6B,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;QAC3D,OAAO;IACT,CAAC;IAED,IAAI,UAAU,IAAI,QAAQ,EAAE,CAAC;QAC3B,qBAAqB,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;QACnD,OAAO;IACT,CAAC;IAED,IAAI,YAAY,IAAI,QAAQ,EAAE,CAAC;QAC7B,uBAAuB,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;QACrD,OAAO;IACT,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,6CAA6C,UAAU,GAAG,CAAC,CAAC;AAC9E,CAAC;AAED,SAAS,qBAAqB,CAC5B,QAAqB,EACrB,SAA0B,EAC1B,MAA2C;IAE3C,MAAM,IAAI,GAAG,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAEtC,MAAM,CAAC,IAAI,CAAC,mBAAmB,IAAI,KAAK,QAAQ,CAAC,IAAI,GAAG,CAAC,CAAC;IAE1D,SAAS,CAAC,QAAQ,CAAC;QACjB,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,SAAS,EAAE;KACtC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,6BAA6B,CACpC,QAAwF,EACxF,SAA0B,EAC1B,MAA2C;IAE3C,MAAM,IAAI,GACR,OAAO,QAAQ,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAE7F,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,IAAI,WAAW,CAAC;IAE5C,MAAM,CAAC,IAAI,CAAC,mBAAmB,IAAI,YAAY,KAAK,GAAG,CAAC,CAAC;IAEzD,MAAM,YAAY,GAAG,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAEhD,SAAS,CAAC,QAAQ,CAAC;QACjB,CAAC,IAAI,CAAC,EAAE,wBAAwB,CAAC,YAAY,EAAE,KAAK,CAAC;KACtD,CAAC,CAAC;AACL,CAAC;AAED,SAAS,qBAAqB,CAC5B,QAAgD,EAChD,SAA0B,EAC1B,MAA2C;IAE3C,MAAM,CAAC,IAAI,CAAC,mBAAmB,QAAQ,CAAC,OAAO,UAAU,CAAC,CAAC;IAE3D,SAAS,CAAC,QAAQ,CAAC;QACjB,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC;KAC/C,CAAC,CAAC;AACL,CAAC;AAED,SAAS,uBAAuB,CAC9B,QAMC,EACD,SAA0B,EAC1B,MAA2C;IAE3C,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,IAAI,WAAW,CAAC;IAC5C,MAAM,CAAC,IAAI,CAAC,mBAAmB,QAAQ,CAAC,OAAO,qBAAqB,KAAK,GAAG,CAAC,CAAC;IAE9E,MAAM,YAAY,GAAG,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IAErD,0CAA0C;IAC1C,IAAI,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAClD,YAAY,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,MAAkB,CAAC,CAAC;IACzD,CAAC;IAED,SAAS,CAAC,QAAQ,CAAC;QACjB,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,wBAAwB,CAAC,YAAY,EAAE,KAAK,CAAC;KAClE,CAAC,CAAC;AACL,CAAC;AAED,SAAS,wBAAwB,CAC/B,YAAwC,EACxC,KAAmB;IAEnB,IAAI,KAAK,KAAK,QAAQ,EAAE,CAAC;QACvB,OAAO,YAAY,CAAC,MAAM,EAAE,CAAC;IAC/B,CAAC;IACD,IAAI,KAAK,KAAK,WAAW,EAAE,CAAC;QAC1B,OAAO,YAAY,CAAC,SAAS,EAAE,CAAC;IAClC,CAAC;IACD,OAAO,YAAY,CAAC,SAAS,EAAE,CAAC;AAClC,CAAC;AAED;;GAEG;AACH,SAAS,SAAS,CAAC,GAAW;IAC5B,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACpD,CAAC"}
|
|
1
|
+
{"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../../src/core/bootstrap.ts"],"names":[],"mappings":"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"}
|
package/dist/core/types.d.ts
CHANGED
|
@@ -29,9 +29,15 @@ export type ProviderConfig = Constructor | {
|
|
|
29
29
|
scope?: ServiceScope;
|
|
30
30
|
};
|
|
31
31
|
/**
|
|
32
|
-
* Route factory function that receives Hono router and
|
|
32
|
+
* Route factory function that receives Hono router, services, and optionally a bound route function.
|
|
33
|
+
*
|
|
34
|
+
* The `route` parameter is a pre-bound route function that knows about the router's
|
|
35
|
+
* OpenAPI context, so you don't need to pass the router to every route call.
|
|
36
|
+
*
|
|
37
|
+
* When using `createRoutes`, the route function is automatically provided.
|
|
38
|
+
* When using `defineModule` with inline routes, the route function is also provided.
|
|
33
39
|
*/
|
|
34
|
-
export type RouteFactory = (router: Hono, services: Record<string, unknown
|
|
40
|
+
export type RouteFactory = (router: Hono, services: Record<string, unknown>, route?: any) => void;
|
|
35
41
|
/**
|
|
36
42
|
* Module configuration
|
|
37
43
|
*/
|
|
@@ -90,33 +96,82 @@ export interface OpenAPIDocumentation {
|
|
|
90
96
|
components?: Record<string, unknown>;
|
|
91
97
|
}
|
|
92
98
|
/**
|
|
93
|
-
*
|
|
94
|
-
*
|
|
95
|
-
* Receives the response object and context, returns modified response.
|
|
96
|
-
* This allows both framework and applications to add headers, modify
|
|
97
|
-
* descriptions, etc. globally across all routes.
|
|
99
|
+
* OpenAPI response object structure
|
|
98
100
|
*/
|
|
99
|
-
export
|
|
101
|
+
export interface OpenAPIResponseObject {
|
|
100
102
|
description: string;
|
|
101
103
|
headers?: Record<string, {
|
|
102
104
|
$ref: string;
|
|
103
105
|
}>;
|
|
104
106
|
content?: Record<string, unknown>;
|
|
105
|
-
}
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Context passed to OpenAPI response processors
|
|
110
|
+
*/
|
|
111
|
+
export interface OpenAPIProcessorContext {
|
|
106
112
|
statusCode: string;
|
|
107
|
-
routeConfig: {
|
|
113
|
+
routeConfig: RouteConfigExtensions & {
|
|
108
114
|
public?: boolean;
|
|
109
|
-
paginate?: boolean;
|
|
110
115
|
tags?: string[];
|
|
111
116
|
summary?: string;
|
|
117
|
+
openapi?: {
|
|
118
|
+
responseHeaders?: string[] | Record<string, string[]>;
|
|
119
|
+
};
|
|
112
120
|
};
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
121
|
+
/** Whether the route query schema includes pagination fields (page, pageSize) */
|
|
122
|
+
hasPagination: boolean;
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* Processor function for customizing OpenAPI responses
|
|
126
|
+
*
|
|
127
|
+
* Receives the response object and context, returns modified response.
|
|
128
|
+
* Processors are applied in order to each response object.
|
|
129
|
+
* Use this to add custom headers, modify descriptions, etc.
|
|
130
|
+
*
|
|
131
|
+
* @example
|
|
132
|
+
* ```typescript
|
|
133
|
+
* // Custom processor for Server-Timing header
|
|
134
|
+
* const serverTimingProcessor: OpenAPIResponseProcessor = (response, context) => {
|
|
135
|
+
* if (context.routeConfig.serverTiming) {
|
|
136
|
+
* return {
|
|
137
|
+
* ...response,
|
|
138
|
+
* headers: {
|
|
139
|
+
* ...response.headers,
|
|
140
|
+
* 'Server-Timing': { $ref: '#/components/headers/Server-Timing' }
|
|
141
|
+
* }
|
|
142
|
+
* };
|
|
143
|
+
* }
|
|
144
|
+
* return response;
|
|
145
|
+
* };
|
|
146
|
+
* ```
|
|
147
|
+
*/
|
|
148
|
+
export type OpenAPIResponseProcessor = (response: OpenAPIResponseObject, context: OpenAPIProcessorContext) => OpenAPIResponseObject;
|
|
149
|
+
/**
|
|
150
|
+
* Extension interface for custom route configuration properties.
|
|
151
|
+
*
|
|
152
|
+
* Framework users can augment this interface to add custom flags
|
|
153
|
+
* that can be processed by custom OpenAPI response processors.
|
|
154
|
+
*
|
|
155
|
+
* @example
|
|
156
|
+
* ```typescript
|
|
157
|
+
* // In your application's type declarations
|
|
158
|
+
* declare module 'glasswork' {
|
|
159
|
+
* interface RouteConfigExtensions {
|
|
160
|
+
* serverTiming?: boolean;
|
|
161
|
+
* apiVersion?: string;
|
|
162
|
+
* }
|
|
163
|
+
* }
|
|
164
|
+
*
|
|
165
|
+
* // Then use in routes
|
|
166
|
+
* route({
|
|
167
|
+
* serverTiming: true,
|
|
168
|
+
* apiVersion: '2.0',
|
|
169
|
+
* handler: ...
|
|
170
|
+
* });
|
|
171
|
+
* ```
|
|
172
|
+
*/
|
|
173
|
+
export interface RouteConfigExtensions {
|
|
174
|
+
}
|
|
120
175
|
/**
|
|
121
176
|
* OpenAPI configuration options
|
|
122
177
|
*/
|
|
@@ -142,12 +197,37 @@ export interface OpenAPIOptions {
|
|
|
142
197
|
*/
|
|
143
198
|
documentation?: OpenAPIDocumentation;
|
|
144
199
|
/**
|
|
145
|
-
* Response
|
|
200
|
+
* Response processors for customizing OpenAPI responses.
|
|
146
201
|
*
|
|
147
|
-
*
|
|
148
|
-
* Use this to add custom headers
|
|
149
|
-
|
|
150
|
-
|
|
202
|
+
* Processors are applied in order to each response object after built-in processors.
|
|
203
|
+
* Use this to add custom headers based on custom route config flags.
|
|
204
|
+
*
|
|
205
|
+
* Built-in processors (auto-enabled based on config):
|
|
206
|
+
* - CORS headers: Added when middleware.cors is configured
|
|
207
|
+
* - Rate limit headers: Added when rateLimit.enabled is true
|
|
208
|
+
* - Pagination headers: Added when route query schema has pagination fields
|
|
209
|
+
* - Response headers: Added when route has openapi.responseHeaders
|
|
210
|
+
*
|
|
211
|
+
* @example
|
|
212
|
+
* ```typescript
|
|
213
|
+
* // Custom processor for Server-Timing header
|
|
214
|
+
* responseProcessors: [
|
|
215
|
+
* (response, { routeConfig }) => {
|
|
216
|
+
* if (routeConfig.serverTiming) {
|
|
217
|
+
* return {
|
|
218
|
+
* ...response,
|
|
219
|
+
* headers: {
|
|
220
|
+
* ...response.headers,
|
|
221
|
+
* 'Server-Timing': { $ref: '#/components/headers/Server-Timing' }
|
|
222
|
+
* }
|
|
223
|
+
* };
|
|
224
|
+
* }
|
|
225
|
+
* return response;
|
|
226
|
+
* }
|
|
227
|
+
* ]
|
|
228
|
+
* ```
|
|
229
|
+
*/
|
|
230
|
+
responseProcessors?: OpenAPIResponseProcessor[];
|
|
151
231
|
}
|
|
152
232
|
/**
|
|
153
233
|
* Rate limiting storage backend
|
package/dist/core/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAE/C;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,WAAW,GAAG,QAAQ,GAAG,WAAW,CAAC;AAEhE;;;;;;GAMG;AAEH,MAAM,MAAM,WAAW,CAAC,CAAC,GAAG,OAAO,IAAI,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;AAEjE;;GAEG;AACH,MAAM,MAAM,cAAc,GACtB,WAAW,GACX;IACE,OAAO,EAAE,MAAM,GAAG,WAAW,CAAC;IAC9B,QAAQ,EAAE,WAAW,CAAC;IACtB,KAAK,CAAC,EAAE,YAAY,CAAC;CACtB,GACD;IACE,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;CACnB,GACD;IACE,OAAO,EAAE,MAAM,CAAC;IAEhB,UAAU,EAAE,CAAC,YAAY,EAAE,GAAG,KAAK,OAAO,CAAC;IAC3C,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,KAAK,CAAC,EAAE,YAAY,CAAC;CACtB,CAAC;AAEN
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,34 +1,29 @@
|
|
|
1
1
|
import type { Context, Hono, MiddlewareHandler } from 'hono';
|
|
2
2
|
import { type DescribeRouteOptions } from 'hono-openapi';
|
|
3
3
|
import type { BaseIssue, BaseSchema, BaseSchemaAsync, InferOutput } from 'valibot';
|
|
4
|
-
import type {
|
|
4
|
+
import type { OpenAPIResponseProcessor, RouteConfigExtensions } from '../core/types.js';
|
|
5
5
|
import { type AcceptPrismaTypes, type SerializationConfig } from '../utils/serialize-prisma-types.js';
|
|
6
6
|
/**
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
* @internal
|
|
11
|
-
*/
|
|
12
|
-
export declare function setGlobalResponseHooks(hooks: OpenAPIResponseHook[]): void;
|
|
13
|
-
/**
|
|
14
|
-
* Get the current global OpenAPI response hooks.
|
|
15
|
-
*
|
|
16
|
-
* @internal
|
|
7
|
+
* OpenAPI context stored in Hono app context.
|
|
8
|
+
* Set during bootstrap and used when defining routes.
|
|
17
9
|
*/
|
|
18
|
-
export
|
|
10
|
+
export interface OpenAPIContext {
|
|
11
|
+
processors: OpenAPIResponseProcessor[];
|
|
12
|
+
securitySchemes: string[];
|
|
13
|
+
}
|
|
19
14
|
/**
|
|
20
|
-
* Set the
|
|
21
|
-
* This is called during bootstrap and makes
|
|
15
|
+
* Set the OpenAPI context for a Hono app instance.
|
|
16
|
+
* This is called during bootstrap and makes processors/schemes available to route definitions.
|
|
22
17
|
*
|
|
23
18
|
* @internal
|
|
24
19
|
*/
|
|
25
|
-
export declare function
|
|
20
|
+
export declare function setOpenAPIContext(app: Hono, context: OpenAPIContext): void;
|
|
26
21
|
/**
|
|
27
|
-
* Get the
|
|
22
|
+
* Get the OpenAPI context for a Hono app instance.
|
|
28
23
|
*
|
|
29
24
|
* @internal
|
|
30
25
|
*/
|
|
31
|
-
export declare function
|
|
26
|
+
export declare function getOpenAPIContext(app: Hono): OpenAPIContext;
|
|
32
27
|
/**
|
|
33
28
|
* Valibot schema type (compatible with both sync and async schemas)
|
|
34
29
|
*/
|
|
@@ -76,7 +71,14 @@ declare const STATUS_DESCRIPTIONS: {
|
|
|
76
71
|
*/
|
|
77
72
|
export type RouteFactory = (router: Hono, services: Record<string, unknown>) => void;
|
|
78
73
|
/**
|
|
79
|
-
*
|
|
74
|
+
* Bound route function type - route() pre-bound to a router's OpenAPI context.
|
|
75
|
+
*/
|
|
76
|
+
export type BoundRouteFunction = <TBody extends ValibotSchema | undefined = undefined, TResponses extends Partial<Record<keyof typeof STATUS_DESCRIPTIONS, ValibotSchema | undefined>> = Record<never, never>, TPublic extends boolean = false, TStrictTypes extends boolean = false>(config: RouteConfig<TBody, TResponses, TPublic, TStrictTypes>) => MiddlewareHandler[];
|
|
77
|
+
/**
|
|
78
|
+
* Create routes with typed service injection and pre-bound route function.
|
|
79
|
+
*
|
|
80
|
+
* The `route` function passed to your factory is pre-bound to the router's
|
|
81
|
+
* OpenAPI context, so you don't need to pass the router to every route call.
|
|
80
82
|
*
|
|
81
83
|
* @template TServices - The shape of services required by these routes
|
|
82
84
|
*
|
|
@@ -87,23 +89,72 @@ export type RouteFactory = (router: Hono, services: Record<string, unknown>) =>
|
|
|
87
89
|
* userService: UserService;
|
|
88
90
|
* }
|
|
89
91
|
*
|
|
90
|
-
* export const authRoutes = createRoutes<AuthRoutesServices>((router, services) => {
|
|
92
|
+
* export const authRoutes = createRoutes<AuthRoutesServices>((router, services, route) => {
|
|
91
93
|
* // services.authService is typed as AuthService!
|
|
92
|
-
* //
|
|
93
|
-
* router.post('/login', ...
|
|
94
|
+
* // route is pre-bound to this router's OpenAPI context
|
|
95
|
+
* router.post('/login', ...route({
|
|
96
|
+
* body: LoginDto,
|
|
97
|
+
* responses: { 200: SessionDto },
|
|
98
|
+
* handler: async ({ body }) => {
|
|
99
|
+
* return services.authService.login(body);
|
|
100
|
+
* }
|
|
101
|
+
* }));
|
|
94
102
|
* });
|
|
95
103
|
* ```
|
|
96
104
|
*/
|
|
97
|
-
export declare function createRoutes<TServices = Record<string, unknown>>(factory: (router: Hono, services: TServices) => void): RouteFactory;
|
|
105
|
+
export declare function createRoutes<TServices = Record<string, unknown>>(factory: (router: Hono, services: TServices, route: BoundRouteFunction) => void): RouteFactory;
|
|
106
|
+
/**
|
|
107
|
+
* OpenAPI extensions for route configuration
|
|
108
|
+
*/
|
|
109
|
+
export interface RouteOpenAPIOptions extends Partial<Omit<DescribeRouteOptions, 'responses' | 'operationId' | 'tags' | 'summary' | 'description'>> {
|
|
110
|
+
/**
|
|
111
|
+
* Response headers to document in OpenAPI spec.
|
|
112
|
+
*
|
|
113
|
+
* Headers reference components defined in your OpenAPI documentation.
|
|
114
|
+
* Use array format for headers on all responses, or object format for status-specific headers.
|
|
115
|
+
*
|
|
116
|
+
* @example
|
|
117
|
+
* ```typescript
|
|
118
|
+
* // Simple: applies to all responses
|
|
119
|
+
* responseHeaders: ['Api-Version', 'Server-Timing']
|
|
120
|
+
*
|
|
121
|
+
* // Flexible: status-code specific
|
|
122
|
+
* responseHeaders: {
|
|
123
|
+
* '200': ['X-Total-Count', 'X-Total-Pages'],
|
|
124
|
+
* 'default': ['Api-Version']
|
|
125
|
+
* }
|
|
126
|
+
* ```
|
|
127
|
+
*/
|
|
128
|
+
responseHeaders?: string[] | Record<string, string[]>;
|
|
129
|
+
}
|
|
98
130
|
/**
|
|
99
|
-
* Route configuration with automatic type inference from Valibot schemas
|
|
131
|
+
* Route configuration with automatic type inference from Valibot schemas.
|
|
132
|
+
*
|
|
133
|
+
* Extends `RouteConfigExtensions` which can be augmented by framework users
|
|
134
|
+
* to add custom properties processed by custom OpenAPI response processors.
|
|
100
135
|
*
|
|
101
136
|
* @template TBody - The body schema (automatically inferred)
|
|
102
137
|
* @template TResponses - The responses object (automatically inferred)
|
|
103
138
|
* @template TPublic - Whether the route is public (affects session typing)
|
|
104
139
|
* @template TStrictTypes - Whether to enforce strict return types (no automatic Prisma type acceptance)
|
|
140
|
+
*
|
|
141
|
+
* @example
|
|
142
|
+
* ```typescript
|
|
143
|
+
* // Extend RouteConfigExtensions for custom properties
|
|
144
|
+
* declare module 'glasswork' {
|
|
145
|
+
* interface RouteConfigExtensions {
|
|
146
|
+
* serverTiming?: boolean;
|
|
147
|
+
* }
|
|
148
|
+
* }
|
|
149
|
+
*
|
|
150
|
+
* // Use in routes
|
|
151
|
+
* route({
|
|
152
|
+
* serverTiming: true,
|
|
153
|
+
* handler: ...
|
|
154
|
+
* });
|
|
155
|
+
* ```
|
|
105
156
|
*/
|
|
106
|
-
export interface RouteConfig<TBody extends ValibotSchema | undefined = undefined, TResponses extends Partial<Record<keyof typeof STATUS_DESCRIPTIONS, ValibotSchema | undefined>> = Record<never, never>, TPublic extends boolean = false, TStrictTypes extends boolean = false> {
|
|
157
|
+
export interface RouteConfig<TBody extends ValibotSchema | undefined = undefined, TResponses extends Partial<Record<keyof typeof STATUS_DESCRIPTIONS, ValibotSchema | undefined>> = Record<never, never>, TPublic extends boolean = false, TStrictTypes extends boolean = false> extends RouteConfigExtensions {
|
|
107
158
|
tags?: string[];
|
|
108
159
|
summary?: string;
|
|
109
160
|
description?: string;
|
|
@@ -118,15 +169,14 @@ export interface RouteConfig<TBody extends ValibotSchema | undefined = undefined
|
|
|
118
169
|
query?: ValibotSchema;
|
|
119
170
|
params?: ValibotSchema;
|
|
120
171
|
responses?: TResponses;
|
|
121
|
-
openapi?: Partial<Omit<DescribeRouteOptions, 'responses' | 'operationId' | 'tags' | 'summary' | 'description'>>;
|
|
122
172
|
/**
|
|
123
|
-
*
|
|
173
|
+
* OpenAPI documentation options for this route
|
|
124
174
|
*/
|
|
125
|
-
|
|
175
|
+
openapi?: RouteOpenAPIOptions;
|
|
126
176
|
/**
|
|
127
|
-
*
|
|
177
|
+
* Custom middleware to apply before validation and handler
|
|
128
178
|
*/
|
|
129
|
-
|
|
179
|
+
middleware?: MiddlewareHandler[];
|
|
130
180
|
/**
|
|
131
181
|
* Enforce strict return types (requires explicit type assertions for Prisma objects)
|
|
132
182
|
*
|
|
@@ -253,20 +303,23 @@ export interface RouteContext<TBody = never, TSessionRequired extends boolean =
|
|
|
253
303
|
* - If multiple 2xx schemas are defined, each is tried in order (200, 201)
|
|
254
304
|
* - The first schema that successfully validates determines the status code
|
|
255
305
|
*
|
|
306
|
+
* @param router - The Hono router instance (needed for OpenAPI context)
|
|
307
|
+
* @param config - Route configuration
|
|
308
|
+
*
|
|
256
309
|
* @example
|
|
257
310
|
* ```typescript
|
|
258
311
|
* // Single response type
|
|
259
|
-
* route({
|
|
312
|
+
* router.post('/session', ...route(router, {
|
|
260
313
|
* body: StartSessionDto,
|
|
261
314
|
* responses: { 200: StartSessionResponseDto },
|
|
262
315
|
* handler: async ({ body }) => {
|
|
263
316
|
* // body is typed as InferOutput<typeof StartSessionDto>
|
|
264
317
|
* return { email: body.email }; // Must match StartSessionResponseDto
|
|
265
318
|
* }
|
|
266
|
-
* })
|
|
319
|
+
* }))
|
|
267
320
|
*
|
|
268
321
|
* // Union response type (multiple 2xx responses with automatic status)
|
|
269
|
-
* route({
|
|
322
|
+
* router.post('/login', ...route(router, {
|
|
270
323
|
* body: LoginDto,
|
|
271
324
|
* responses: {
|
|
272
325
|
* 200: MfaRequiredDto, // Returns 200 if data matches this
|
|
@@ -278,20 +331,25 @@ export interface RouteContext<TBody = never, TSessionRequired extends boolean =
|
|
|
278
331
|
* if (needsMfa) return { mfaRequired: true, methods: ['totp'] }; // 200
|
|
279
332
|
* return { sessionId: '123', token: 'abc' }; // 201
|
|
280
333
|
* }
|
|
281
|
-
* })
|
|
334
|
+
* }))
|
|
282
335
|
*
|
|
283
|
-
* //
|
|
284
|
-
* route({
|
|
285
|
-
*
|
|
286
|
-
*
|
|
287
|
-
*
|
|
288
|
-
*
|
|
289
|
-
*
|
|
290
|
-
*
|
|
291
|
-
*
|
|
292
|
-
*
|
|
336
|
+
* // With pagination (auto-detected from ListQuerySchema)
|
|
337
|
+
* router.get('/users', ...route(router, {
|
|
338
|
+
* query: ListQuerySchema, // Contains page, pageSize - pagination headers auto-added
|
|
339
|
+
* responses: { 200: UsersResponseDto },
|
|
340
|
+
* handler: async ({ query }) => { ... }
|
|
341
|
+
* }))
|
|
342
|
+
*
|
|
343
|
+
* // With custom response headers
|
|
344
|
+
* router.get('/data', ...route(router, {
|
|
345
|
+
* openapi: {
|
|
346
|
+
* responseHeaders: ['Api-Version', 'Server-Timing']
|
|
347
|
+
* },
|
|
348
|
+
* responses: { 200: DataDto },
|
|
349
|
+
* handler: async () => { ... }
|
|
350
|
+
* }))
|
|
293
351
|
* ```
|
|
294
352
|
*/
|
|
295
|
-
export declare function route<TBody extends ValibotSchema | undefined = undefined, TResponses extends Partial<Record<keyof typeof STATUS_DESCRIPTIONS, ValibotSchema | undefined>> = Record<never, never>, TPublic extends boolean = false, TStrictTypes extends boolean = false>(config: RouteConfig<TBody, TResponses, TPublic, TStrictTypes>): MiddlewareHandler[];
|
|
353
|
+
export declare function route<TBody extends ValibotSchema | undefined = undefined, TResponses extends Partial<Record<keyof typeof STATUS_DESCRIPTIONS, ValibotSchema | undefined>> = Record<never, never>, TPublic extends boolean = false, TStrictTypes extends boolean = false>(router: Hono, config: RouteConfig<TBody, TResponses, TPublic, TStrictTypes>): MiddlewareHandler[];
|
|
296
354
|
export {};
|
|
297
355
|
//# sourceMappingURL=route-helpers.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"route-helpers.d.ts","sourceRoot":"","sources":["../../src/http/route-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,iBAAiB,EAAE,MAAM,MAAM,CAAC;AAE7D,OAAO,EACL,KAAK,oBAAoB,EAI1B,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEnF,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"route-helpers.d.ts","sourceRoot":"","sources":["../../src/http/route-helpers.ts"],"names":[],"mappings":"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"}
|