@hono/zod-openapi 0.3.0 → 0.3.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/dist/index.cjs CHANGED
@@ -31,62 +31,63 @@ var import_zod_validator = require("@hono/zod-validator");
31
31
  var import_hono = require("hono");
32
32
  var import_zod = require("zod");
33
33
  var OpenAPIHono = class extends import_hono.Hono {
34
+ openAPIRegistry;
34
35
  constructor() {
35
36
  super();
36
- this.openapi = (route, handler, hook) => {
37
- this.openAPIRegistry.registerPath(route);
38
- const validators = [];
39
- if (route.request?.query) {
40
- const validator = (0, import_zod_validator.zValidator)("query", route.request.query, hook);
41
- validators.push(validator);
42
- }
43
- if (route.request?.params) {
44
- const validator = (0, import_zod_validator.zValidator)("param", route.request.params, hook);
45
- validators.push(validator);
46
- }
47
- if (route.request?.headers) {
48
- const validator = (0, import_zod_validator.zValidator)("header", route.request.headers, hook);
49
- validators.push(validator);
50
- }
51
- if (route.request?.cookies) {
52
- const validator = (0, import_zod_validator.zValidator)("cookie", route.request.cookies, hook);
53
- validators.push(validator);
54
- }
55
- const bodyContent = route.request?.body?.content;
56
- if (bodyContent) {
57
- for (const mediaType of Object.keys(bodyContent)) {
58
- if (mediaType.startsWith("application/json")) {
59
- const schema = bodyContent[mediaType]["schema"];
60
- if (schema instanceof import_zod.ZodType) {
61
- const validator = (0, import_zod_validator.zValidator)("json", schema, hook);
62
- validators.push(validator);
63
- }
37
+ this.openAPIRegistry = new import_zod_to_openapi.OpenAPIRegistry();
38
+ }
39
+ openapi = (route, handler, hook) => {
40
+ this.openAPIRegistry.registerPath(route);
41
+ const validators = [];
42
+ if (route.request?.query) {
43
+ const validator = (0, import_zod_validator.zValidator)("query", route.request.query, hook);
44
+ validators.push(validator);
45
+ }
46
+ if (route.request?.params) {
47
+ const validator = (0, import_zod_validator.zValidator)("param", route.request.params, hook);
48
+ validators.push(validator);
49
+ }
50
+ if (route.request?.headers) {
51
+ const validator = (0, import_zod_validator.zValidator)("header", route.request.headers, hook);
52
+ validators.push(validator);
53
+ }
54
+ if (route.request?.cookies) {
55
+ const validator = (0, import_zod_validator.zValidator)("cookie", route.request.cookies, hook);
56
+ validators.push(validator);
57
+ }
58
+ const bodyContent = route.request?.body?.content;
59
+ if (bodyContent) {
60
+ for (const mediaType of Object.keys(bodyContent)) {
61
+ if (mediaType.startsWith("application/json")) {
62
+ const schema = bodyContent[mediaType]["schema"];
63
+ if (schema instanceof import_zod.ZodType) {
64
+ const validator = (0, import_zod_validator.zValidator)("json", schema, hook);
65
+ validators.push(validator);
64
66
  }
65
- if (mediaType.startsWith("multipart/form-data") || mediaType.startsWith("application/x-www-form-urlencoded")) {
66
- const schema = bodyContent[mediaType]["schema"];
67
- if (schema instanceof import_zod.ZodType) {
68
- const validator = (0, import_zod_validator.zValidator)("form", schema, hook);
69
- validators.push(validator);
70
- }
67
+ }
68
+ if (mediaType.startsWith("multipart/form-data") || mediaType.startsWith("application/x-www-form-urlencoded")) {
69
+ const schema = bodyContent[mediaType]["schema"];
70
+ if (schema instanceof import_zod.ZodType) {
71
+ const validator = (0, import_zod_validator.zValidator)("form", schema, hook);
72
+ validators.push(validator);
71
73
  }
72
74
  }
73
75
  }
74
- this.on([route.method], route.path.replace(/\/{(.+)}/, "/:$1"), ...validators, handler);
75
- return this;
76
- };
77
- this.getOpenAPIDocument = (config) => {
78
- const generator = new import_zod_to_openapi.OpenApiGeneratorV3(this.openAPIRegistry.definitions);
79
- const document = generator.generateDocument(config);
80
- return document;
81
- };
82
- this.doc = (path, config) => {
83
- this.get(path, (c) => {
84
- const document = this.getOpenAPIDocument(config);
85
- return c.json(document);
86
- });
87
- };
88
- this.openAPIRegistry = new import_zod_to_openapi.OpenAPIRegistry();
89
- }
76
+ }
77
+ this.on([route.method], route.path.replaceAll(/\/{(.+?)}/g, "/:$1"), ...validators, handler);
78
+ return this;
79
+ };
80
+ getOpenAPIDocument = (config) => {
81
+ const generator = new import_zod_to_openapi.OpenApiGeneratorV3(this.openAPIRegistry.definitions);
82
+ const document = generator.generateDocument(config);
83
+ return document;
84
+ };
85
+ doc = (path, config) => {
86
+ this.get(path, (c) => {
87
+ const document = this.getOpenAPIDocument(config);
88
+ return c.json(document);
89
+ });
90
+ };
90
91
  };
91
92
  var createRoute = (routeConfig) => routeConfig;
92
93
  (0, import_zod_to_openapi2.extendZodWithOpenApi)(import_zod.z);
package/dist/index.js CHANGED
@@ -5,62 +5,63 @@ import { zValidator } from "@hono/zod-validator";
5
5
  import { Hono } from "hono";
6
6
  import { z, ZodType } from "zod";
7
7
  var OpenAPIHono = class extends Hono {
8
+ openAPIRegistry;
8
9
  constructor() {
9
10
  super();
10
- this.openapi = (route, handler, hook) => {
11
- this.openAPIRegistry.registerPath(route);
12
- const validators = [];
13
- if (route.request?.query) {
14
- const validator = zValidator("query", route.request.query, hook);
15
- validators.push(validator);
16
- }
17
- if (route.request?.params) {
18
- const validator = zValidator("param", route.request.params, hook);
19
- validators.push(validator);
20
- }
21
- if (route.request?.headers) {
22
- const validator = zValidator("header", route.request.headers, hook);
23
- validators.push(validator);
24
- }
25
- if (route.request?.cookies) {
26
- const validator = zValidator("cookie", route.request.cookies, hook);
27
- validators.push(validator);
28
- }
29
- const bodyContent = route.request?.body?.content;
30
- if (bodyContent) {
31
- for (const mediaType of Object.keys(bodyContent)) {
32
- if (mediaType.startsWith("application/json")) {
33
- const schema = bodyContent[mediaType]["schema"];
34
- if (schema instanceof ZodType) {
35
- const validator = zValidator("json", schema, hook);
36
- validators.push(validator);
37
- }
11
+ this.openAPIRegistry = new OpenAPIRegistry();
12
+ }
13
+ openapi = (route, handler, hook) => {
14
+ this.openAPIRegistry.registerPath(route);
15
+ const validators = [];
16
+ if (route.request?.query) {
17
+ const validator = zValidator("query", route.request.query, hook);
18
+ validators.push(validator);
19
+ }
20
+ if (route.request?.params) {
21
+ const validator = zValidator("param", route.request.params, hook);
22
+ validators.push(validator);
23
+ }
24
+ if (route.request?.headers) {
25
+ const validator = zValidator("header", route.request.headers, hook);
26
+ validators.push(validator);
27
+ }
28
+ if (route.request?.cookies) {
29
+ const validator = zValidator("cookie", route.request.cookies, hook);
30
+ validators.push(validator);
31
+ }
32
+ const bodyContent = route.request?.body?.content;
33
+ if (bodyContent) {
34
+ for (const mediaType of Object.keys(bodyContent)) {
35
+ if (mediaType.startsWith("application/json")) {
36
+ const schema = bodyContent[mediaType]["schema"];
37
+ if (schema instanceof ZodType) {
38
+ const validator = zValidator("json", schema, hook);
39
+ validators.push(validator);
38
40
  }
39
- if (mediaType.startsWith("multipart/form-data") || mediaType.startsWith("application/x-www-form-urlencoded")) {
40
- const schema = bodyContent[mediaType]["schema"];
41
- if (schema instanceof ZodType) {
42
- const validator = zValidator("form", schema, hook);
43
- validators.push(validator);
44
- }
41
+ }
42
+ if (mediaType.startsWith("multipart/form-data") || mediaType.startsWith("application/x-www-form-urlencoded")) {
43
+ const schema = bodyContent[mediaType]["schema"];
44
+ if (schema instanceof ZodType) {
45
+ const validator = zValidator("form", schema, hook);
46
+ validators.push(validator);
45
47
  }
46
48
  }
47
49
  }
48
- this.on([route.method], route.path.replace(/\/{(.+)}/, "/:$1"), ...validators, handler);
49
- return this;
50
- };
51
- this.getOpenAPIDocument = (config) => {
52
- const generator = new OpenApiGeneratorV3(this.openAPIRegistry.definitions);
53
- const document = generator.generateDocument(config);
54
- return document;
55
- };
56
- this.doc = (path, config) => {
57
- this.get(path, (c) => {
58
- const document = this.getOpenAPIDocument(config);
59
- return c.json(document);
60
- });
61
- };
62
- this.openAPIRegistry = new OpenAPIRegistry();
63
- }
50
+ }
51
+ this.on([route.method], route.path.replaceAll(/\/{(.+?)}/g, "/:$1"), ...validators, handler);
52
+ return this;
53
+ };
54
+ getOpenAPIDocument = (config) => {
55
+ const generator = new OpenApiGeneratorV3(this.openAPIRegistry.definitions);
56
+ const document = generator.generateDocument(config);
57
+ return document;
58
+ };
59
+ doc = (path, config) => {
60
+ this.get(path, (c) => {
61
+ const document = this.getOpenAPIDocument(config);
62
+ return c.json(document);
63
+ });
64
+ };
64
65
  };
65
66
  var createRoute = (routeConfig) => routeConfig;
66
67
  extendZodWithOpenApi(z);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hono/zod-openapi",
3
- "version": "0.3.0",
3
+ "version": "0.3.1",
4
4
  "description": "A wrapper class of Hono which supports OpenAPI.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",