@kamaalio/hono-standard-openapi 0.0.9 → 0.0.11
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 +7 -2
- package/dist/compose.d.ts +44 -0
- package/dist/compose.d.ts.map +1 -0
- package/dist/compose.js +29 -0
- package/dist/compose.js.map +1 -0
- package/dist/generator.d.ts.map +1 -1
- package/dist/generator.js +10 -1
- package/dist/generator.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/standard-schema.js +1 -1
- package/dist/standard-schema.js.map +1 -1
- package/dist/types.d.ts +3 -2
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/package.json +2 -1
package/README.md
CHANGED
|
@@ -11,6 +11,8 @@ validator. Routes validate requests, infer handler types, and generate a matchin
|
|
|
11
11
|
- [Add response examples](#add-response-examples)
|
|
12
12
|
- [Handle validation errors](#handle-validation-errors)
|
|
13
13
|
- [Read the OpenAPI document](#read-the-openapi-document)
|
|
14
|
+
- [Composing schemas](./docs/composing-schemas.md)
|
|
15
|
+
- [Using ArkType](./docs/arktype.md)
|
|
14
16
|
- [Using Zod](./docs/zod.md)
|
|
15
17
|
- [Using Valibot](./docs/valibot.md)
|
|
16
18
|
|
|
@@ -60,7 +62,7 @@ app.openapi(getCard, c => {
|
|
|
60
62
|
|
|
61
63
|
Use `$id` once to make a schema a reusable OpenAPI component. The generated response then refers
|
|
62
64
|
to `#/components/schemas/Card`. See the guides for nested components, multiple responses, errors,
|
|
63
|
-
and the Valibot converter setup.
|
|
65
|
+
ArkType metadata, and the Valibot converter setup.
|
|
64
66
|
|
|
65
67
|
## Add middleware to a route
|
|
66
68
|
|
|
@@ -90,7 +92,7 @@ const getCard = createRoute({
|
|
|
90
92
|
## Add response examples
|
|
91
93
|
|
|
92
94
|
Put an OpenAPI `example` next to a response media type. This is independent of the schema library,
|
|
93
|
-
so it works with Zod, Valibot, and every other supported Standard Schema library:
|
|
95
|
+
so it works with ArkType, Zod, Valibot, and every other supported Standard Schema library:
|
|
94
96
|
|
|
95
97
|
```ts
|
|
96
98
|
responses: {
|
|
@@ -150,5 +152,8 @@ that needs the document directly, call `app.getOpenAPIDocument(config)` with the
|
|
|
150
152
|
|
|
151
153
|
## Guides
|
|
152
154
|
|
|
155
|
+
- [Compose schemas](./docs/composing-schemas.md): combine several schemas — possibly from different
|
|
156
|
+
libraries — into one response with `allOf` and `objectSchema`.
|
|
157
|
+
- [Use ArkType](./docs/arktype.md): native JSON Schema, components, multiple responses, and errors.
|
|
153
158
|
- [Use Zod](./docs/zod.md): components, multiple responses, and validation errors.
|
|
154
159
|
- [Use Valibot](./docs/valibot.md): converter setup, components, multiple responses, and errors.
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import type { SchemaOrReference } from './types.ts';
|
|
2
|
+
type Composite = {
|
|
3
|
+
readonly kind: typeof COMPOSITE_KINDS.ALL_OF;
|
|
4
|
+
readonly schemas: readonly SchemaOrReference[];
|
|
5
|
+
} | {
|
|
6
|
+
readonly kind: typeof COMPOSITE_KINDS.OBEJCT;
|
|
7
|
+
readonly properties: Readonly<Record<string, SchemaOrReference>>;
|
|
8
|
+
};
|
|
9
|
+
/**
|
|
10
|
+
* Several schemas presented to the document as one `allOf`, or several properties presented as one
|
|
11
|
+
* object.
|
|
12
|
+
*
|
|
13
|
+
* Built by {@link allOf} or {@link objectSchema}; carries the member schemas rather than a converted
|
|
14
|
+
* fragment, since each member may come from a different Standard Schema library and needs its own
|
|
15
|
+
* conversion.
|
|
16
|
+
*/
|
|
17
|
+
export interface ComposedSchema {
|
|
18
|
+
readonly [COMPOSE]: Composite;
|
|
19
|
+
}
|
|
20
|
+
declare const COMPOSE: unique symbol;
|
|
21
|
+
declare const COMPOSITE_KINDS: {
|
|
22
|
+
readonly ALL_OF: 'allOf';
|
|
23
|
+
readonly OBEJCT: 'object';
|
|
24
|
+
};
|
|
25
|
+
/**
|
|
26
|
+
* Presents several schemas to a route as one `allOf`, so e.g. a base object and an app-supplied
|
|
27
|
+
* extension can each keep their own schema library while the document sees a single composite.
|
|
28
|
+
*
|
|
29
|
+
* Every member converts independently: one that names itself becomes a `$ref` to its own component,
|
|
30
|
+
* exactly as it would if it were the route's only schema.
|
|
31
|
+
*/
|
|
32
|
+
export declare function allOf(schemas: readonly SchemaOrReference[]): ComposedSchema;
|
|
33
|
+
/**
|
|
34
|
+
* Builds an object schema out of independently-converted properties, every one required.
|
|
35
|
+
*
|
|
36
|
+
* Exists to nest a schema from one library inside a property of an object described by another —
|
|
37
|
+
* for example, folding an app-supplied extension under the `user` key of a base response that
|
|
38
|
+
* {@link allOf} then composes with the rest of that response.
|
|
39
|
+
*/
|
|
40
|
+
export declare function objectSchema(properties: Readonly<Record<string, SchemaOrReference>>): ComposedSchema;
|
|
41
|
+
export declare function isComposedSchema(value: unknown): value is ComposedSchema;
|
|
42
|
+
export declare function compositeOf(schema: ComposedSchema): Composite;
|
|
43
|
+
export {};
|
|
44
|
+
//# sourceMappingURL=compose.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compose.d.ts","sourceRoot":"","sources":["../src/compose.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAEpD,KAAK,SAAS,GACV;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,eAAe,CAAC,MAAM,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,SAAS,iBAAiB,EAAE,CAAA;CAAE,GAChG;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,eAAe,CAAC,MAAM,CAAC;IAAC,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAA;CAAE,CAAC;AAEvH;;;;;;;GAOG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC;CAC/B;AAED,QAAA,MAAM,OAAO,EAAE,OAAO,MAA8D,CAAC;AAErF,QAAA,MAAM,eAAe;aAAK,MAAM,EAAE,OAAO;aAAE,MAAM,EAAE,QAAQ;CAAW,CAAC;AAEvE;;;;;;GAMG;AACH,wBAAgB,KAAK,CAAC,OAAO,EAAE,SAAS,iBAAiB,EAAE,GAAG,cAAc,CAE3E;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC,GAAG,cAAc,CAEpG;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,cAAc,CAExE;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,cAAc,GAAG,SAAS,CAE7D"}
|
package/dist/compose.js
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
const COMPOSE = Symbol.for('@kamaalio/hono-standard-openapi/compose');
|
|
2
|
+
const COMPOSITE_KINDS = { ALL_OF: 'allOf', OBEJCT: 'object' };
|
|
3
|
+
/**
|
|
4
|
+
* Presents several schemas to a route as one `allOf`, so e.g. a base object and an app-supplied
|
|
5
|
+
* extension can each keep their own schema library while the document sees a single composite.
|
|
6
|
+
*
|
|
7
|
+
* Every member converts independently: one that names itself becomes a `$ref` to its own component,
|
|
8
|
+
* exactly as it would if it were the route's only schema.
|
|
9
|
+
*/
|
|
10
|
+
export function allOf(schemas) {
|
|
11
|
+
return { [COMPOSE]: { kind: COMPOSITE_KINDS.ALL_OF, schemas } };
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Builds an object schema out of independently-converted properties, every one required.
|
|
15
|
+
*
|
|
16
|
+
* Exists to nest a schema from one library inside a property of an object described by another —
|
|
17
|
+
* for example, folding an app-supplied extension under the `user` key of a base response that
|
|
18
|
+
* {@link allOf} then composes with the rest of that response.
|
|
19
|
+
*/
|
|
20
|
+
export function objectSchema(properties) {
|
|
21
|
+
return { [COMPOSE]: { kind: COMPOSITE_KINDS.OBEJCT, properties } };
|
|
22
|
+
}
|
|
23
|
+
export function isComposedSchema(value) {
|
|
24
|
+
return typeof value === 'object' && value !== null && COMPOSE in value;
|
|
25
|
+
}
|
|
26
|
+
export function compositeOf(schema) {
|
|
27
|
+
return schema[COMPOSE];
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=compose.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compose.js","sourceRoot":"","sources":["../src/compose.ts"],"names":[],"mappings":"AAkBA,MAAM,OAAO,GAAkB,MAAM,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;AAErF,MAAM,eAAe,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAW,CAAC;AAEvE;;;;;;GAMG;AACH,MAAM,UAAU,KAAK,CAAC,OAAqC;IACzD,OAAO,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,IAAI,EAAE,eAAe,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,CAAC;AAClE,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,YAAY,CAAC,UAAuD;IAClF,OAAO,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,IAAI,EAAE,eAAe,CAAC,MAAM,EAAE,UAAU,EAAE,EAAE,CAAC;AACrE,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,KAAc;IAC7C,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,IAAI,KAAK,CAAC;AACzE,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,MAAsB;IAChD,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC;AACzB,CAAC"}
|
package/dist/generator.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generator.d.ts","sourceRoot":"","sources":["../src/generator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,KAAK,EAIV,aAAa,EAMd,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"generator.d.ts","sourceRoot":"","sources":["../src/generator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,KAAK,EAIV,aAAa,EAMd,MAAM,mBAAmB,CAAC;AAI3B,OAAO,EAA6C,KAAK,oBAAoB,EAAiB,MAAM,kBAAkB,CAAC;AAEvH,OAAO,KAAK,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAmBxE,6FAA6F;AAC7F,MAAM,MAAM,cAAc,GAAG,KAAK,GAAG,KAAK,CAAC;AAE3C,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,OAAO,CAAC,EAAE,cAAc,CAAC;IAClC,mFAAmF;IACnF,QAAQ,CAAC,cAAc,CAAC,EAAE,oBAAoB,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACzE,QAAQ,CAAC,aAAa,CAAC,EAAE,oBAAoB,CAAC;IAC9C;;;;;;OAMG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,kBAAkB,GAAG,cAAc,GAAG,cAAc,CAAC;CAChF;AAED,MAAM,MAAM,cAAc,GAAG,IAAI,CAAC,aAAa,EAAE,OAAO,GAAG,UAAU,CAAC,CAAC;AA6CvE,oEAAoE;AACpE,qBAAa,gBAAgB;;IAO3B,YAAY,WAAW,EAAE,iBAAiB,EAAE,GAAG,eAAe,EAAE,OAAO,GAAE,gBAAqB,EAS7F;IAED,gBAAgB,CAAC,MAAM,EAAE,cAAc,GAAG,aAAa,CAqCtD;CA+JF"}
|
package/dist/generator.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { compositeOf, isComposedSchema } from './compose.js';
|
|
1
2
|
import { UnsupportedParameterSchemaError, UnsupportedSchemaError } from './errors.js';
|
|
2
3
|
import { ComponentCollector, convertSchema } from './json-schema.js';
|
|
3
4
|
import { isJsonString, isObjectLike } from './json-value.js';
|
|
@@ -151,8 +152,16 @@ export class OpenAPIGenerator {
|
|
|
151
152
|
}
|
|
152
153
|
return generated;
|
|
153
154
|
}
|
|
154
|
-
/** Converts a schema, or passes
|
|
155
|
+
/** Converts a schema, expands a composite member by member, or passes raw OpenAPI through. */
|
|
155
156
|
#describe(schema, io) {
|
|
157
|
+
if (isComposedSchema(schema)) {
|
|
158
|
+
const composite = compositeOf(schema);
|
|
159
|
+
if (composite.kind === 'allOf') {
|
|
160
|
+
return { allOf: composite.schemas.map(member => this.#describe(member, io)) };
|
|
161
|
+
}
|
|
162
|
+
const properties = Object.fromEntries(Object.entries(composite.properties).map(([key, member]) => [key, this.#describe(member, io)]));
|
|
163
|
+
return { properties, required: Object.keys(composite.properties), type: 'object' };
|
|
164
|
+
}
|
|
156
165
|
if (isStandardJSONSchema(schema)) {
|
|
157
166
|
return this.#convert(schema, io);
|
|
158
167
|
}
|
package/dist/generator.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../src/generator.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../src/generator.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAClD,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,YAAY,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC"}
|
package/dist/index.js
CHANGED
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAClD,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC"}
|
package/dist/standard-schema.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export function isStandardSchema(value) {
|
|
2
|
-
if (typeof value !== 'object' || value == null || !('~standard' in value)) {
|
|
2
|
+
if ((typeof value !== 'object' && typeof value !== 'function') || value == null || !('~standard' in value)) {
|
|
3
3
|
return false;
|
|
4
4
|
}
|
|
5
5
|
const props = value['~standard'];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"standard-schema.js","sourceRoot":"","sources":["../src/standard-schema.ts"],"names":[],"mappings":"AAmBA,MAAM,UAAU,gBAAgB,CAAI,KAAQ;IAC1C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,IAAI,IAAI,IAAI,CAAC,CAAC,WAAW,IAAI,KAAK,CAAC,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"standard-schema.js","sourceRoot":"","sources":["../src/standard-schema.ts"],"names":[],"mappings":"AAmBA,MAAM,UAAU,gBAAgB,CAAI,KAAQ;IAC1C,IAAI,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,UAAU,CAAC,IAAI,KAAK,IAAI,IAAI,IAAI,CAAC,CAAC,WAAW,IAAI,KAAK,CAAC,EAAE,CAAC;QAC3G,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,KAAK,GAAY,KAAK,CAAC,WAAW,CAAC,CAAC;IAE1C,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,IAAI,IAAI,IAAI,SAAS,IAAI,KAAK,IAAI,KAAK,CAAC,OAAO,KAAK,CAAC,CAAC;AACjG,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAI,KAAQ;IAC9C,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC;QAC7B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,KAAK,GAAsD,KAAK,CAAC,WAAW,CAAC,CAAC;IAEpF,OAAO,OAAO,KAAK,CAAC,UAAU,KAAK,QAAQ,IAAI,KAAK,CAAC,UAAU,IAAI,IAAI,CAAC;AAC1E,CAAC;AAED,MAAM,UAAU,0BAA0B,CACxC,MAAwB,EACxB,KAAQ;IAER,OAAO,MAAM,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC7C,CAAC"}
|
package/dist/types.d.ts
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import type { StandardSchemaV1 } from '@standard-schema/spec';
|
|
2
2
|
import type { EncodingObject, ExamplesObject, HeadersObject, LinksObject, OperationObject, ParameterObject, ReferenceObject, RequestBodyObject, ResponsesObject, SchemaObject } from 'openapi3-ts/oas31';
|
|
3
|
+
import type { ComposedSchema } from './compose.ts';
|
|
3
4
|
import type { StandardSchema } from './standard-schema.ts';
|
|
4
5
|
export type { ReferenceObject, SchemaObject };
|
|
5
|
-
/** Either a schema to convert, or an already-written OpenAPI schema
|
|
6
|
-
export type SchemaOrReference = StandardSchemaV1 | SchemaObject | ReferenceObject;
|
|
6
|
+
/** Either a schema to convert, an `allOf` of several, or an already-written OpenAPI schema. */
|
|
7
|
+
export type SchemaOrReference = StandardSchemaV1 | SchemaObject | ReferenceObject | ComposedSchema;
|
|
7
8
|
export interface MediaTypeObject {
|
|
8
9
|
readonly schema?: SchemaOrReference | undefined;
|
|
9
10
|
readonly example?: unknown;
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,KAAK,EACV,cAAc,EACd,cAAc,EACd,aAAa,EACb,WAAW,EACX,eAAe,EACf,eAAe,EACf,eAAe,EACf,iBAAiB,EACjB,eAAe,EACf,YAAY,EACb,MAAM,mBAAmB,CAAC;AAE3B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE3D,YAAY,EAAE,eAAe,EAAE,YAAY,EAAE,CAAC;AAE9C
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,KAAK,EACV,cAAc,EACd,cAAc,EACd,aAAa,EACb,WAAW,EACX,eAAe,EACf,eAAe,EACf,eAAe,EACf,iBAAiB,EACjB,eAAe,EACf,YAAY,EACb,MAAM,mBAAmB,CAAC;AAE3B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE3D,YAAY,EAAE,eAAe,EAAE,YAAY,EAAE,CAAC;AAE9C,+FAA+F;AAC/F,MAAM,MAAM,iBAAiB,GAAG,gBAAgB,GAAG,YAAY,GAAG,eAAe,GAAG,cAAc,CAAC;AAEnG,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,MAAM,CAAC,EAAE,iBAAiB,GAAG,SAAS,CAAC;IAChD,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,QAAQ,CAAC,EAAE,cAAc,GAAG,SAAS,CAAC;IAC/C,QAAQ,CAAC,QAAQ,CAAC,EAAE,cAAc,GAAG,SAAS,CAAC;CAChD;AAED,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;AAE5D,MAAM,WAAW,WAAY,SAAQ,IAAI,CAAC,iBAAiB,EAAE,SAAS,CAAC;IACrE,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC;CACjC;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,OAAO,CAAC,EAAE,cAAc,GAAG,aAAa,GAAG,SAAS,CAAC;IAC9D,QAAQ,CAAC,KAAK,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;IACzC,QAAQ,CAAC,OAAO,CAAC,EAAE,aAAa,GAAG,SAAS,CAAC;CAC9C;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,IAAI,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;IACxC,QAAQ,CAAC,MAAM,CAAC,EAAE,cAAc,GAAG,SAAS,CAAC;IAC7C,QAAQ,CAAC,KAAK,CAAC,EAAE,cAAc,GAAG,SAAS,CAAC;IAC5C,QAAQ,CAAC,OAAO,CAAC,EAAE,cAAc,GAAG,SAAS,CAAC;IAC9C,QAAQ,CAAC,OAAO,CAAC,EAAE,cAAc,GAAG,SAAS,CAAC;CAC/C;AAED,MAAM,MAAM,WAAW,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC;AAErG,MAAM,WAAW,eAAgB,SAAQ,IAAI,CAAC,eAAe,EAAE,WAAW,GAAG,YAAY,CAAC;IACxF,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,CAAC,EAAE,YAAY,GAAG,SAAS,CAAC;IAC5C,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,eAAe,GAAG,eAAe,CAAC,EAAE,GAAG,SAAS,CAAC;IACxE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,GAAG,eAAe,CAAC,CAAC;CACtE;AAED,YAAY,EAAE,eAAe,EAAE,CAAC;AAEhC,8CAA8C;AAC9C,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAEvE,qFAAqF;AACrF,eAAO,MAAM,iBAAiB;kBACrB,QAAQ;uBAAY,MAAM;;kBAC1B,OAAO;uBAAY,OAAO;;kBAC1B,SAAS;uBAAY,QAAQ;;kBAC7B,SAAS;uBAAY,QAAQ;EACkD,CAAC"}
|
package/dist/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAiEA,qFAAqF;AACrF,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE;IACnC,EAAE,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE;IACnC,EAAE,GAAG,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE;IACtC,EAAE,GAAG,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE;CACgD,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kamaalio/hono-standard-openapi",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.11",
|
|
4
4
|
"description": "Generate OpenAPI documents from any Standard Schema library, for Hono.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"hono",
|
|
@@ -52,6 +52,7 @@
|
|
|
52
52
|
"@types/node": "^26.2.0",
|
|
53
53
|
"@valibot/to-json-schema": "^1.7.1",
|
|
54
54
|
"@vitest/coverage-v8": "^4.1.11",
|
|
55
|
+
"arktype": "^2.2.3",
|
|
55
56
|
"eslint-plugin-import": "^2.32.0",
|
|
56
57
|
"hono": "^4.13.1",
|
|
57
58
|
"husky": "^9.1.7",
|