@kamaalio/hono-standard-openapi 0.0.7 → 0.0.9

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
@@ -125,9 +125,6 @@ const app = new StandardOpenAPIHono({
125
125
 
126
126
  Document that `400` response in each route when it is part of your API contract.
127
127
 
128
- The package re-exports `sValidator`, `Hook`, and `flattenErrors` from
129
- `@hono/standard-validator` when you need the same validation behavior outside a documented route.
130
-
131
128
  ## Read the OpenAPI document
132
129
 
133
130
  Add `app.doc()` after registering routes. It serves the generated OpenAPI 3.1 JSON at the path you
package/dist/app.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"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"}
package/dist/app.js CHANGED
@@ -25,18 +25,21 @@ export class StandardOpenAPIHono extends Hono {
25
25
  /** Registers a route: mounts it, validates its request, and records it in the document. */
26
26
  openapi(route, handler, hook) {
27
27
  const { hide, middleware, ...documented } = route;
28
- if (hide !== true)
28
+ if (hide !== true) {
29
29
  this.openAPIRegistry.registerPath(documented);
30
+ }
30
31
  const effectiveHook = (result, c) => {
31
32
  const resolved = hook ?? this.getDefaultHook();
32
33
  return resolved?.(result, c);
33
34
  };
34
35
  const methods = [route.method];
35
36
  const paths = [toRoutingPath(route.path)];
36
- for (const middlewareHandler of normalizeMiddleware(middleware))
37
+ for (const middlewareHandler of normalizeMiddleware(middleware)) {
37
38
  this.on(methods, paths, middlewareHandler);
38
- for (const validator of this.#buildValidators(route.request, effectiveHook))
39
+ }
40
+ for (const validator of this.#buildValidators(route.request, effectiveHook)) {
39
41
  this.on(methods, paths, validator);
42
+ }
40
43
  this.on(methods, paths, handler);
41
44
  return this;
42
45
  }
@@ -61,26 +64,31 @@ export class StandardOpenAPIHono extends Hono {
61
64
  }
62
65
  /** The nearest hook, preferring this app's own and falling back to the app it is mounted under. */
63
66
  getDefaultHook(visited = new Set()) {
64
- if (this.defaultHook != null)
67
+ if (this.defaultHook != null) {
65
68
  return this.defaultHook;
66
- if (visited.has(this))
69
+ }
70
+ if (visited.has(this)) {
67
71
  return undefined;
72
+ }
68
73
  visited.add(this);
69
74
  return this.#parentApp?.getDefaultHook(visited);
70
75
  }
71
76
  #buildValidators(request, hook) {
72
- if (request == null)
77
+ if (request == null) {
73
78
  return [];
79
+ }
74
80
  const validators = [];
75
81
  for (const { key, target } of VALIDATED_PARTS) {
76
82
  const schema = request[key];
77
- if (schema == null)
83
+ if (schema == null) {
78
84
  continue;
85
+ }
79
86
  validators.push(sValidator(target, schema, hook));
80
87
  }
81
88
  const body = request.body;
82
- if (body != null)
89
+ if (body != null) {
83
90
  validators.push(...buildBodyValidators(body.content, body.required === true, hook));
91
+ }
84
92
  return validators;
85
93
  }
86
94
  }
@@ -94,15 +102,17 @@ function buildBodyValidators(content, required, hook) {
94
102
  const validators = [];
95
103
  for (const [mediaType, media] of Object.entries(content)) {
96
104
  const schema = media.schema;
97
- if (!isStandardJSONSchema(schema))
105
+ if (!isStandardJSONSchema(schema)) {
98
106
  continue;
107
+ }
99
108
  const target = JSON_CONTENT_TYPE.test(mediaType)
100
109
  ? 'json'
101
110
  : FORM_CONTENT_TYPES.some(formType => mediaType.startsWith(formType))
102
111
  ? 'form'
103
112
  : undefined;
104
- if (target == null)
113
+ if (target == null) {
105
114
  continue;
115
+ }
106
116
  const validator = sValidator(target, schema, hook);
107
117
  validators.push(required ? validator : skipWhenBodyAbsent(validator, mediaType, target));
108
118
  }
@@ -125,11 +135,16 @@ function skipWhenBodyAbsent(validator, mediaType, target) {
125
135
  return undefined;
126
136
  };
127
137
  }
138
+ function isMiddlewareHandler(value) {
139
+ return !Array.isArray(value);
140
+ }
128
141
  function normalizeMiddleware(middleware) {
129
- if (middleware == null)
142
+ if (middleware == null) {
130
143
  return [];
131
- if (typeof middleware === 'function')
144
+ }
145
+ if (isMiddlewareHandler(middleware)) {
132
146
  return [middleware];
147
+ }
133
148
  return [...middleware];
134
149
  }
135
150
  function toRoutingPath(path) {
package/dist/app.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import type { StandardJSONSchemaV1 } from '@standard-schema/spec';
1
2
  import type { OpenAPIObject } from 'openapi3-ts/oas31';
2
3
  import { type NormalizationOptions } from './json-schema.ts';
3
4
  import type { OpenAPIDefinition, OpenAPIRegistry } from './registry.ts';
@@ -6,7 +7,7 @@ export type OpenAPIVersion = '3.0' | '3.1';
6
7
  export interface GeneratorOptions {
7
8
  readonly version?: OpenAPIVersion;
8
9
  /** Options forwarded to every Standard JSON Schema conversion in this document. */
9
- readonly libraryOptions?: Record<string, unknown>;
10
+ readonly libraryOptions?: StandardJSONSchemaV1.Options['libraryOptions'];
10
11
  readonly normalization?: NormalizationOptions;
11
12
  /**
12
13
  * How `components.schemas` is ordered.
@@ -1 +1 @@
1
- {"version":3,"file":"generator.d.ts","sourceRoot":"","sources":["../src/generator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAoB,aAAa,EAAmB,MAAM,mBAAmB,CAAC;AAG1F,OAAO,EAA6C,KAAK,oBAAoB,EAAiB,MAAM,kBAAkB,CAAC;AACvH,OAAO,KAAK,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAWxE,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,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClD,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;AAevE,oEAAoE;AACpE,qBAAa,gBAAgB;;IAO3B,YAAY,WAAW,EAAE,iBAAiB,EAAE,GAAG,eAAe,EAAE,OAAO,GAAE,gBAAqB,EAO7F;IAED,gBAAgB,CAAC,MAAM,EAAE,cAAc,GAAG,aAAa,CAmCtD;CA8HF"}
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;AAG3B,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;CAmJF"}
package/dist/generator.js CHANGED
@@ -1,6 +1,7 @@
1
1
  import { UnsupportedParameterSchemaError, UnsupportedSchemaError } from './errors.js';
2
2
  import { ComponentCollector, convertSchema } from './json-schema.js';
3
- import { isStandardJSONSchema, isStandardSchema } from './standard-schema.js';
3
+ import { isJsonString, isObjectLike } from './json-value.js';
4
+ import { isStandardJSONSchema, isStandardSchema, } from './standard-schema.js';
4
5
  import { PARAMETER_SOURCES, } from './types.js';
5
6
  const TARGETS = {
6
7
  '3.0': 'openapi-3.0',
@@ -17,8 +18,9 @@ export class OpenAPIGenerator {
17
18
  this.#definitions = Array.isArray(definitions) ? definitions : definitions.definitions;
18
19
  this.#options = options;
19
20
  for (const definition of this.#definitions) {
20
- if (definition.type === 'schema')
21
+ if (definition.type === 'schema') {
21
22
  this.#names.set(definition.schema, definition.name);
23
+ }
22
24
  }
23
25
  }
24
26
  generateDocument(config) {
@@ -50,8 +52,9 @@ export class OpenAPIGenerator {
50
52
  paths,
51
53
  components: this.#buildComponents(configuredComponents, rawComponents, paths),
52
54
  };
53
- if (Object.keys(webhooks).length > 0)
55
+ if (Object.keys(webhooks).length > 0) {
54
56
  document.webhooks = webhooks;
57
+ }
55
58
  return document;
56
59
  }
57
60
  #buildComponents(configured, raw, paths) {
@@ -75,10 +78,11 @@ export class OpenAPIGenerator {
75
78
  }
76
79
  #generateOperation(route) {
77
80
  const { method, parameters: declaredParameters, path: _path, request, responses, ...operationConfig } = route;
78
- const parameters = [...(declaredParameters ?? []), ...this.#generateParameters(request)];
81
+ const parameters = (declaredParameters ?? []).concat(this.#generateParameters(request));
79
82
  const operation = { ...operationConfig, responses: this.#generateResponses(responses) };
80
- if (parameters.length > 0)
83
+ if (parameters.length > 0) {
81
84
  operation.parameters = parameters;
85
+ }
82
86
  const requestBody = request?.body;
83
87
  if (requestBody != null) {
84
88
  const { content, ...bodyConfig } = requestBody;
@@ -87,20 +91,23 @@ export class OpenAPIGenerator {
87
91
  return { method, operation: reorderOperation(operation) };
88
92
  }
89
93
  #generateParameters(request) {
90
- if (request == null)
94
+ if (request == null) {
91
95
  return [];
96
+ }
92
97
  return PARAMETER_SOURCES.flatMap(({ key, location }) => {
93
98
  const schema = request[key];
94
- if (schema == null)
99
+ if (schema == null) {
95
100
  return [];
101
+ }
96
102
  return this.#generateParametersFor(schema, location);
97
103
  });
98
104
  }
99
105
  #generateParametersFor(schema, location) {
100
106
  const converted = this.#convert(schema, 'input', false);
101
107
  const properties = converted.properties;
102
- if (converted.type !== 'object' || !isRecord(properties))
108
+ if (converted.type !== 'object' || !isObjectLike(properties)) {
103
109
  throw new UnsupportedParameterSchemaError(location);
110
+ }
104
111
  const required = Array.isArray(converted.required) ? converted.required : [];
105
112
  return Object.entries(properties).map(([name, property]) => ({
106
113
  ...describeParameter(property, location === 'path' || required.includes(name)),
@@ -116,26 +123,27 @@ export class OpenAPIGenerator {
116
123
  return generated;
117
124
  }
118
125
  #generateResponse(response) {
119
- const { content, description, headers, links } = response;
120
- const generated = { description };
121
- if (headers != null)
122
- generated.headers = this.#generateResponseHeaders(headers);
123
- if (content != null)
124
- generated.content = this.#generateContent(content, 'output');
125
- if (links != null)
126
- generated.links = links;
126
+ const generated = { description: response.description, links: response.links };
127
+ if (response.headers != null) {
128
+ generated.headers = this.#generateResponseHeaders(response.headers);
129
+ }
130
+ if (response.content != null) {
131
+ generated.content = this.#generateContent(response.content, 'output');
132
+ }
127
133
  return generated;
128
134
  }
129
135
  #generateResponseHeaders(headers) {
130
136
  if (!isStandardJSONSchema(headers)) {
131
- if (isStandardSchema(headers))
137
+ if (isStandardSchema(headers)) {
132
138
  throw new UnsupportedSchemaError(headers['~standard'].vendor);
139
+ }
133
140
  return headers;
134
141
  }
135
142
  const converted = this.#convert(headers, 'output', false);
136
143
  const properties = converted.properties;
137
- if (converted.type !== 'object' || !isRecord(properties))
144
+ if (converted.type !== 'object' || !isObjectLike(properties)) {
138
145
  throw new UnsupportedParameterSchemaError('headers');
146
+ }
139
147
  const required = Array.isArray(converted.required) ? converted.required : [];
140
148
  const generated = {};
141
149
  for (const [name, property] of Object.entries(properties)) {
@@ -145,17 +153,23 @@ export class OpenAPIGenerator {
145
153
  }
146
154
  /** Converts a schema, or passes an already-written OpenAPI schema through untouched. */
147
155
  #describe(schema, io) {
148
- if (isStandardJSONSchema(schema))
156
+ if (isStandardJSONSchema(schema)) {
149
157
  return this.#convert(schema, io);
150
- if (isStandardSchema(schema))
158
+ }
159
+ if (isStandardSchema(schema)) {
151
160
  throw new UnsupportedSchemaError(schema['~standard'].vendor);
161
+ }
152
162
  return schema;
153
163
  }
154
164
  #generateContent(content, io) {
155
165
  const generated = {};
156
166
  for (const [mediaType, media] of Object.entries(content)) {
157
167
  const { schema, ...rest } = media;
158
- generated[mediaType] = { ...rest, ...(schema == null ? {} : { schema: this.#describe(schema, io) }) };
168
+ const entry = { ...rest };
169
+ if (schema != null) {
170
+ entry.schema = this.#describe(schema, io);
171
+ }
172
+ generated[mediaType] = entry;
159
173
  }
160
174
  return generated;
161
175
  }
@@ -168,35 +182,31 @@ export class OpenAPIGenerator {
168
182
  */
169
183
  function describeParameter(property, required) {
170
184
  const described = { schema: property, required };
171
- if (isRecord(property) && typeof property.description === 'string')
185
+ if (isObjectLike(property) && isJsonString(property.description)) {
172
186
  described.description = property.description;
187
+ }
173
188
  return described;
174
189
  }
175
- /** Puts an operation's keys in the order the OpenAPI specification presents them. */
190
+ /** Puts an operation's keys in alphabetical order for deterministic output. */
176
191
  function reorderOperation(operation) {
177
- const { parameters, requestBody, responses, ...rest } = operation;
178
- const ordered = { ...rest };
179
- if (parameters != null)
180
- ordered.parameters = parameters;
181
- if (requestBody != null)
182
- ordered.requestBody = requestBody;
183
- ordered.responses = responses;
184
- return ordered;
192
+ return Object.fromEntries(Object.entries(operation).toSorted(([left], [right]) => left.localeCompare(right)));
185
193
  }
186
194
  function mergePathItem(paths, route, { method, operation }) {
187
195
  paths[route.path] = { ...paths[route.path], [method]: operation };
188
196
  }
189
197
  function orderSchemas(schemas, order, paths) {
190
- if (order === 'registration')
198
+ if (order === 'registration') {
191
199
  return schemas;
200
+ }
192
201
  if (order === 'alphabetical') {
193
202
  return Object.fromEntries(Object.entries(schemas).sort(([left], [right]) => left.localeCompare(right)));
194
203
  }
195
204
  const ordered = {};
196
205
  for (const name of referencedNames(paths, schemas)) {
197
206
  const schema = schemas[name];
198
- if (schema != null)
207
+ if (schema != null) {
199
208
  ordered[name] = schema;
209
+ }
200
210
  }
201
211
  return { ...ordered, ...schemas };
202
212
  }
@@ -205,28 +215,32 @@ function referencedNames(paths, schemas) {
205
215
  const seen = [];
206
216
  const visit = (node) => {
207
217
  if (Array.isArray(node)) {
208
- for (const entry of node)
218
+ for (const entry of node) {
209
219
  visit(entry);
220
+ }
210
221
  return;
211
222
  }
212
- if (!isRecord(node))
223
+ if (!isObjectLike(node)) {
213
224
  return;
225
+ }
214
226
  const reference = node.$ref;
215
- if (typeof reference === 'string') {
227
+ if (isJsonString(reference)) {
216
228
  const name = reference.startsWith('#/components/schemas/') ? reference.slice(21) : undefined;
217
- if (name == null || seen.includes(name))
229
+ if (name == null || seen.includes(name)) {
218
230
  return;
231
+ }
219
232
  seen.push(name);
220
- visit(schemas[name]);
233
+ const referenced = schemas[name];
234
+ if (referenced !== undefined) {
235
+ visit(referenced);
236
+ }
221
237
  return;
222
238
  }
223
- for (const value of Object.values(node))
239
+ for (const value of Object.values(node)) {
224
240
  visit(value);
241
+ }
225
242
  };
226
243
  visit(paths);
227
244
  return seen;
228
245
  }
229
- function isRecord(value) {
230
- return typeof value === 'object' && value != null && !Array.isArray(value);
231
- }
232
246
  //# sourceMappingURL=generator.js.map
@@ -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
@@ -1,11 +1,3 @@
1
- export { $, type HonoToStandardOpenAPIHono, StandardOpenAPIHono, type StandardOpenAPIHonoOptions } from './app.ts';
2
- export { ComponentNameConflictError, StandardOpenAPIError, UnsupportedParameterSchemaError, UnsupportedSchemaError, } from './errors.ts';
3
- export { type DocumentConfig, type GeneratorOptions, OpenAPIGenerator, type OpenAPIVersion } from './generator.ts';
4
- export { ComponentCollector, type ConvertOptions, type JSONSchemaTarget, type NormalizationOptions, convertSchema, } from './json-schema.ts';
5
- export { type ComponentType, type OpenAPIDefinition, OpenAPIRegistry } from './registry.ts';
6
- export { type RouteConfig, createRoute, toRoutingPath } from './route.ts';
7
- export { type JSONSchema, type SchemaIO, type StandardSchema, isStandardJSONSchema, isStandardSchema, } from './standard-schema.ts';
8
- export { type ComputeInput, type ConvertPathType, type RouteConfigToTypedResponse, type RouteHandler, type RouteHandlerResponse, } from './type-inference.ts';
9
- export type { ContentObject, MediaTypeObject, ParameterLocation, ReferenceObject, RequestBody, ResponseConfig, RouteConfigBase, RouteMethod, RouteRequest, SchemaObject, SchemaOrReference, } from './types.ts';
10
- export { flattenErrors, type Hook, sValidator } from '@hono/standard-validator';
1
+ export { $, StandardOpenAPIHono } from './app.ts';
2
+ export { createRoute } from './route.ts';
11
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,KAAK,yBAAyB,EAAE,mBAAmB,EAAE,KAAK,0BAA0B,EAAE,MAAM,UAAU,CAAC;AACnH,OAAO,EACL,0BAA0B,EAC1B,oBAAoB,EACpB,+BAA+B,EAC/B,sBAAsB,GACvB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,gBAAgB,EAAE,gBAAgB,EAAE,KAAK,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACnH,OAAO,EACL,kBAAkB,EAClB,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,oBAAoB,EACzB,aAAa,GACd,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,iBAAiB,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAC5F,OAAO,EAAE,KAAK,WAAW,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC1E,OAAO,EACL,KAAK,UAAU,EACf,KAAK,QAAQ,EACb,KAAK,cAAc,EACnB,oBAAoB,EACpB,gBAAgB,GACjB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,eAAe,EACpB,KAAK,0BAA0B,EAC/B,KAAK,YAAY,EACjB,KAAK,oBAAoB,GAC1B,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EACV,aAAa,EACb,eAAe,EACf,iBAAiB,EACjB,eAAe,EACf,WAAW,EACX,cAAc,EACd,eAAe,EACf,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,iBAAiB,GAClB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,aAAa,EAAE,KAAK,IAAI,EAAE,UAAU,EAAE,MAAM,0BAA0B,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,WAAW,EAAE,MAAM,YAAY,CAAC"}
package/dist/index.js CHANGED
@@ -1,10 +1,3 @@
1
1
  export { $, StandardOpenAPIHono } from './app.js';
2
- export { ComponentNameConflictError, StandardOpenAPIError, UnsupportedParameterSchemaError, UnsupportedSchemaError, } from './errors.js';
3
- export { OpenAPIGenerator } from './generator.js';
4
- export { ComponentCollector, convertSchema, } from './json-schema.js';
5
- export { OpenAPIRegistry } from './registry.js';
6
- export { createRoute, toRoutingPath } from './route.js';
7
- export { isStandardJSONSchema, isStandardSchema, } from './standard-schema.js';
8
- export {} from './type-inference.js';
9
- export { flattenErrors, sValidator } from '@hono/standard-validator';
2
+ export { createRoute } from './route.js';
10
3
  //# 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":"AAAA,OAAO,EAAE,CAAC,EAAkC,mBAAmB,EAAmC,MAAM,UAAU,CAAC;AACnH,OAAO,EACL,0BAA0B,EAC1B,oBAAoB,EACpB,+BAA+B,EAC/B,sBAAsB,GACvB,MAAM,aAAa,CAAC;AACrB,OAAO,EAA8C,gBAAgB,EAAuB,MAAM,gBAAgB,CAAC;AACnH,OAAO,EACL,kBAAkB,EAIlB,aAAa,GACd,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAA8C,eAAe,EAAE,MAAM,eAAe,CAAC;AAC5F,OAAO,EAAoB,WAAW,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC1E,OAAO,EAIL,oBAAoB,EACpB,gBAAgB,GACjB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAMN,MAAM,qBAAqB,CAAC;AAc7B,OAAO,EAAE,aAAa,EAAa,UAAU,EAAE,MAAM,0BAA0B,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,WAAW,EAAE,MAAM,YAAY,CAAC"}
@@ -1,3 +1,4 @@
1
+ import type { StandardJSONSchemaV1 } from '@standard-schema/spec';
1
2
  import { type JSONSchema, type SchemaIO } from './standard-schema.ts';
2
3
  /** The JSON Schema dialect asked of the schema library. */
3
4
  export type JSONSchemaTarget = 'draft-2020-12' | 'draft-07' | 'openapi-3.0';
@@ -34,7 +35,7 @@ export interface NormalizationOptions {
34
35
  */
35
36
  export declare class ComponentCollector {
36
37
  #private;
37
- get schemas(): Record<string, JSONSchema>;
38
+ get schemas(): Record<string, Record<string, unknown>>;
38
39
  has(name: string): boolean;
39
40
  /** Holds a place for a schema that is about to be generated, keeping the document's order stable. */
40
41
  reserve(name: string): void;
@@ -45,7 +46,7 @@ export interface ConvertOptions {
45
46
  readonly target: JSONSchemaTarget;
46
47
  readonly components: ComponentCollector;
47
48
  /** Vendor-specific conversion options defined by Standard JSON Schema. */
48
- readonly libraryOptions?: Record<string, unknown> | undefined;
49
+ readonly libraryOptions?: StandardJSONSchemaV1.Options['libraryOptions'];
49
50
  readonly normalization?: NormalizationOptions | undefined;
50
51
  /** Name for the schema itself, for schemas that don't name themselves through `$id`. */
51
52
  readonly name?: string | undefined;
@@ -63,5 +64,5 @@ export interface ConvertOptions {
63
64
  *
64
65
  * The returned value is a `$ref` when the schema names itself, and the schema body when it doesn't.
65
66
  */
66
- export declare function convertSchema(schema: unknown, options: ConvertOptions): JSONSchema;
67
+ export declare function convertSchema<T>(schema: T, options: ConvertOptions): JSONSchema;
67
68
  //# sourceMappingURL=json-schema.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"json-schema.d.ts","sourceRoot":"","sources":["../src/json-schema.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,UAAU,EAAE,KAAK,QAAQ,EAA6C,MAAM,sBAAsB,CAAC;AAEjH,2DAA2D;AAC3D,MAAM,MAAM,gBAAgB,GAAG,eAAe,GAAG,UAAU,GAAG,aAAa,CAAC;AAE5E;;;;;GAKG;AACH,MAAM,WAAW,oBAAoB;IACnC;;;OAGG;IACH,QAAQ,CAAC,8BAA8B,CAAC,EAAE,OAAO,CAAC;IAClD,sFAAsF;IACtF,QAAQ,CAAC,yBAAyB,CAAC,EAAE,OAAO,CAAC;IAC7C,iFAAiF;IACjF,QAAQ,CAAC,sBAAsB,CAAC,EAAE,OAAO,CAAC;IAC1C,6FAA6F;IAC7F,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;IAC/B;;;;OAIG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC;CAClC;AA0DD;;;;;GAKG;AACH,qBAAa,kBAAkB;;IAI7B,IAAI,OAAO,IAAI,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAOxC;IAED,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEzB;IAED,qGAAqG;IACrG,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAE1B;IAED,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,GAAG,IAAI,CAS/C;CACF;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC;IAClC,QAAQ,CAAC,UAAU,EAAE,kBAAkB,CAAC;IACxC,0EAA0E;IAC1E,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC;IAC9D,QAAQ,CAAC,aAAa,CAAC,EAAE,oBAAoB,GAAG,SAAS,CAAC;IAC1D,wFAAwF;IACxF,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC;;;;;OAKG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAC1C;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,cAAc,GAAG,UAAU,CAuBlF"}
1
+ {"version":3,"file":"json-schema.d.ts","sourceRoot":"","sources":["../src/json-schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAIlE,OAAO,EACL,KAAK,UAAU,EACf,KAAK,QAAQ,EAId,MAAM,sBAAsB,CAAC;AAE9B,2DAA2D;AAC3D,MAAM,MAAM,gBAAgB,GAAG,eAAe,GAAG,UAAU,GAAG,aAAa,CAAC;AAE5E;;;;;GAKG;AACH,MAAM,WAAW,oBAAoB;IACnC;;;OAGG;IACH,QAAQ,CAAC,8BAA8B,CAAC,EAAE,OAAO,CAAC;IAClD,sFAAsF;IACtF,QAAQ,CAAC,yBAAyB,CAAC,EAAE,OAAO,CAAC;IAC7C,iFAAiF;IACjF,QAAQ,CAAC,sBAAsB,CAAC,EAAE,OAAO,CAAC;IAC1C,6FAA6F;IAC7F,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;IAC/B;;;;OAIG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC;CAClC;AA0DD;;;;;GAKG;AACH,qBAAa,kBAAkB;;IAI7B,IAAI,OAAO,4CASV;IAED,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEzB;IAED,qGAAqG;IACrG,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAI1B;IAED,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,GAAG,IAAI,CAW/C;CACF;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC;IAClC,QAAQ,CAAC,UAAU,EAAE,kBAAkB,CAAC;IACxC,0EAA0E;IAC1E,QAAQ,CAAC,cAAc,CAAC,EAAE,oBAAoB,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACzE,QAAQ,CAAC,aAAa,CAAC,EAAE,oBAAoB,GAAG,SAAS,CAAC;IAC1D,wFAAwF;IACxF,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC;;;;;OAKG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAC1C;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,cAAc,GAAG,UAAU,CAyB/E"}
@@ -1,5 +1,6 @@
1
1
  import { ComponentNameConflictError, UnsupportedSchemaError } from './errors.js';
2
- import { isStandardJSONSchema } from './standard-schema.js';
2
+ import { isJsonString, isObjectLike } from './json-value.js';
3
+ import { isStandardJSONSchema, } from './standard-schema.js';
3
4
  const DEFAULT_NORMALIZATION = {
4
5
  dropStrictAdditionalProperties: true,
5
6
  dropFormatImpliedPatterns: true,
@@ -62,8 +63,9 @@ export class ComponentCollector {
62
63
  get schemas() {
63
64
  const generated = {};
64
65
  for (const [name, schema] of this.#schemas) {
65
- if (schema != null)
66
+ if (schema != null) {
66
67
  generated[name] = schema;
68
+ }
67
69
  }
68
70
  return generated;
69
71
  }
@@ -72,14 +74,16 @@ export class ComponentCollector {
72
74
  }
73
75
  /** Holds a place for a schema that is about to be generated, keeping the document's order stable. */
74
76
  reserve(name) {
75
- if (!this.#schemas.has(name))
77
+ if (!this.#schemas.has(name)) {
76
78
  this.#schemas.set(name, undefined);
79
+ }
77
80
  }
78
81
  register(name, schema) {
79
82
  const existing = this.#schemas.get(name);
80
83
  if (existing != null) {
81
- if (!deepEquals(existing, schema))
84
+ if (!deepEquals(existing, schema)) {
82
85
  throw new ComponentNameConflictError(name);
86
+ }
83
87
  return;
84
88
  }
85
89
  this.#schemas.set(name, schema);
@@ -107,13 +111,13 @@ export function convertSchema(schema, options) {
107
111
  // reads ahead of its parts rather than after them.
108
112
  reserve(named, context);
109
113
  registerDefinitions(definitions, context);
110
- if (options.hoistRoot === false)
114
+ if (options.hoistRoot === false) {
111
115
  return prepare(stripIdentity(root), context);
116
+ }
112
117
  return walk(named, context);
113
118
  }
114
119
  function describe(schema, io, target, libraryOptions) {
115
- const converted = schema['~standard'].jsonSchema[io]({ libraryOptions, target });
116
- const { $schema: _dialect, ...rest } = converted;
120
+ const { $schema: _dialect, ...rest } = schema['~standard'].jsonSchema[io]({ libraryOptions, target });
117
121
  return rest;
118
122
  }
119
123
  function splitDefinitions(raw) {
@@ -121,12 +125,14 @@ function splitDefinitions(raw) {
121
125
  const definitions = {};
122
126
  for (const keyword of DEFINITIONS_KEYWORDS) {
123
127
  const block = root[keyword];
124
- if (!isRecord(block))
128
+ if (!isObjectLike(block)) {
125
129
  continue;
130
+ }
126
131
  delete root[keyword];
127
132
  for (const [key, value] of Object.entries(block)) {
128
- if (isRecord(value))
133
+ if (isObjectLike(value)) {
129
134
  definitions[key] = value;
135
+ }
130
136
  }
131
137
  }
132
138
  return { definitions, root };
@@ -141,7 +147,7 @@ function registerDefinitions(definitions, context) {
141
147
  const named = Object.entries(definitions).map(([key, definition]) => ({
142
148
  definition,
143
149
  key,
144
- name: typeof definition.$id === 'string' ? definition.$id : key,
150
+ name: isJsonString(definition.$id) ? definition.$id : key,
145
151
  }));
146
152
  for (const { key, name } of named) {
147
153
  for (const keyword of DEFINITIONS_KEYWORDS) {
@@ -154,22 +160,24 @@ function registerDefinitions(definitions, context) {
154
160
  }
155
161
  /** Claims a component slot for a self-naming schema, to be filled once the schema is walked. */
156
162
  function reserve(node, context) {
157
- if (typeof node.$id === 'string')
163
+ if (isJsonString(node.$id)) {
158
164
  context.components.reserve(node.$id);
165
+ }
159
166
  }
160
167
  /** Walks a node, hoisting it into components when it names itself. */
161
168
  function walk(node, context) {
162
169
  const prepared = prepare(node, context);
163
170
  const name = prepared.$id;
164
- if (typeof name !== 'string')
171
+ if (!isJsonString(name)) {
165
172
  return prepared;
173
+ }
166
174
  context.components.register(name, stripIdentity(prepared));
167
175
  return { $ref: `${COMPONENT_SCHEMAS_POINTER}/${name}` };
168
176
  }
169
177
  /** Rewrites references, descends into subschemas, then normalizes — but leaves `$id` in place. */
170
178
  function prepare(node, context) {
171
179
  const reference = node.$ref;
172
- if (typeof reference === 'string') {
180
+ if (isJsonString(reference)) {
173
181
  return { ...node, $ref: context.pointers.get(reference) ?? reference };
174
182
  }
175
183
  const walked = {};
@@ -179,10 +187,12 @@ function prepare(node, context) {
179
187
  return normalize(walked, context.normalization);
180
188
  }
181
189
  function walkChild(value, context) {
182
- if (Array.isArray(value))
190
+ if (Array.isArray(value)) {
183
191
  return value.map(entry => walkChild(entry, context));
184
- if (!isRecord(value))
192
+ }
193
+ if (!isObjectLike(value)) {
185
194
  return value;
195
+ }
186
196
  return walk(value, context);
187
197
  }
188
198
  function stripIdentity(schema) {
@@ -193,10 +203,12 @@ function normalize(schema, options) {
193
203
  const collapsed = options.collapseNullableUnions ? collapseNullableUnion(schema) : schema;
194
204
  const normalized = {};
195
205
  for (const [key, value] of Object.entries(collapsed)) {
196
- if (options.dropStrictAdditionalProperties && key === 'additionalProperties' && value === false)
206
+ if (options.dropStrictAdditionalProperties && key === 'additionalProperties' && value === false) {
197
207
  continue;
198
- if (options.dropFormatImpliedPatterns && key === 'pattern' && typeof collapsed.format === 'string')
208
+ }
209
+ if (options.dropFormatImpliedPatterns && key === 'pattern' && isJsonString(collapsed.format)) {
199
210
  continue;
211
+ }
200
212
  if (options.constToEnum && key === 'const') {
201
213
  normalized.enum = [value];
202
214
  continue;
@@ -222,25 +234,26 @@ function orderKeywords(schema) {
222
234
  */
223
235
  function collapseNullableUnion(schema) {
224
236
  const branches = schema.anyOf;
225
- if (!Array.isArray(branches) || branches.length !== 2)
237
+ if (!Array.isArray(branches) || branches.length !== 2) {
226
238
  return schema;
227
- const nullBranchIndex = branches.findIndex(branch => isRecord(branch) && branch.type === 'null');
228
- if (nullBranchIndex === -1)
239
+ }
240
+ const nullBranchIndex = branches.findIndex(branch => isObjectLike(branch) && branch.type === 'null');
241
+ if (nullBranchIndex === -1) {
229
242
  return schema;
243
+ }
230
244
  const valueBranch = branches[nullBranchIndex === 0 ? 1 : 0];
231
- if (!isRecord(valueBranch) || typeof valueBranch.type !== 'string')
245
+ if (!isObjectLike(valueBranch) || !isJsonString(valueBranch.type)) {
232
246
  return schema;
233
- if (Object.keys(valueBranch).some(key => key === '$ref' || key === '$id'))
247
+ }
248
+ if (Object.keys(valueBranch).some(key => key === '$ref' || key === '$id')) {
234
249
  return schema;
250
+ }
235
251
  const { type, ...valueRest } = valueBranch;
236
252
  const { anyOf: _branches, ...rest } = schema;
237
253
  return { type: [null, type], ...valueRest, ...rest };
238
254
  }
239
255
  function isStandardSchemaLike(value) {
240
- return isRecord(value) && isRecord(value['~standard']) && typeof value['~standard'].vendor === 'string';
241
- }
242
- function isRecord(value) {
243
- return typeof value === 'object' && value != null && !Array.isArray(value);
256
+ return isObjectLike(value) && isObjectLike(value['~standard']) && isJsonString(value['~standard'].vendor);
244
257
  }
245
258
  function deepEquals(left, right) {
246
259
  return JSON.stringify(left) === JSON.stringify(right);
@@ -1 +1 @@
1
- {"version":3,"file":"json-schema.js","sourceRoot":"","sources":["../src/json-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AACjF,OAAO,EAAuD,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AA+BjH,MAAM,qBAAqB,GAAmC;IAC5D,8BAA8B,EAAE,IAAI;IACpC,yBAAyB,EAAE,IAAI;IAC/B,sBAAsB,EAAE,IAAI;IAC5B,WAAW,EAAE,IAAI;IACjB,aAAa,EAAE,IAAI;CACpB,CAAC;AAEF,iFAAiF;AACjF,MAAM,aAAa,GAAG;IACpB,MAAM;IACN,MAAM;IACN,QAAQ;IACR,MAAM;IACN,OAAO;IACP,SAAS;IACT,WAAW;IACX,WAAW;IACX,SAAS;IACT,SAAS;IACT,kBAAkB;IAClB,kBAAkB;IAClB,YAAY;IACZ,OAAO;IACP,aAAa;IACb,UAAU;IACV,UAAU;IACV,aAAa;IACb,YAAY;IACZ,mBAAmB;IACnB,UAAU;IACV,sBAAsB;IACtB,OAAO;IACP,OAAO;IACP,OAAO;IACP,KAAK;IACL,eAAe;IACf,OAAO;IACP,aAAa;IACb,SAAS;IACT,UAAU;IACV,SAAS;IACT,UAAU;IACV,WAAW;IACX,YAAY;CACb,CAAC;AAEF,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;AAEtF,qGAAqG;AACrG,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,CAAC,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;AAEnF,MAAM,oBAAoB,GAAG,CAAC,OAAO,EAAE,aAAa,CAAU,CAAC;AAE/D,MAAM,yBAAyB,GAAG,sBAAsB,CAAC;AAEzD;;;;;GAKG;AACH,MAAM,OAAO,kBAAkB;IAC7B,mGAAmG;IAC1F,QAAQ,GAAG,IAAI,GAAG,EAAkC,CAAC;IAE9D,IAAI,OAAO;QACT,MAAM,SAAS,GAA+B,EAAE,CAAC;QACjD,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC3C,IAAI,MAAM,IAAI,IAAI;gBAAE,SAAS,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;QAC/C,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,GAAG,CAAC,IAAY;QACd,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;IACzC,CAAC;IAED,qGAAqG;IACrG,OAAO,CAAC,IAAY;QAClB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IACnE,CAAC;IAED,QAAQ,CAAC,IAAY,EAAE,MAAkB;QACvC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;YACrB,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,MAAM,CAAC;gBAAE,MAAM,IAAI,0BAA0B,CAAC,IAAI,CAAC,CAAC;YAE9E,OAAO;QACT,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAClC,CAAC;CACF;AAoBD;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAAC,MAAe,EAAE,OAAuB;IACpE,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,EAAE,CAAC;QAClC,MAAM,IAAI,sBAAsB,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAC1G,CAAC;IAED,MAAM,GAAG,GAAG,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;IACjF,MAAM,OAAO,GAAgB;QAC3B,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,aAAa,EAAE,EAAE,GAAG,qBAAqB,EAAE,GAAG,OAAO,CAAC,aAAa,EAAE;QACrE,QAAQ,EAAE,IAAI,GAAG,EAAE;KACpB,CAAC;IAEF,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;IACpD,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,IAAI,EAAE,GAAG,IAAI,EAAE,CAAC;IAE3E,gGAAgG;IAChG,mDAAmD;IACnD,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACxB,mBAAmB,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAE1C,IAAI,OAAO,CAAC,SAAS,KAAK,KAAK;QAAE,OAAO,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC;IAE9E,OAAO,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;AAC9B,CAAC;AAED,SAAS,QAAQ,CACf,MAAsB,EACtB,EAAY,EACZ,MAAwB,EACxB,cAAmD;IAEnD,MAAM,SAAS,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,EAAE,cAAc,EAAE,MAAM,EAAE,CAAC,CAAC;IACjF,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,GAAG,SAAS,CAAC;IAEjD,OAAO,IAAI,CAAC;AACd,CAAC;AASD,SAAS,gBAAgB,CAAC,GAAe;IACvC,MAAM,IAAI,GAAe,EAAE,GAAG,GAAG,EAAE,CAAC;IACpC,MAAM,WAAW,GAA+B,EAAE,CAAC;IAEnD,KAAK,MAAM,OAAO,IAAI,oBAAoB,EAAE,CAAC;QAC3C,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;QAC5B,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,SAAS;QAE/B,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC;QACrB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACjD,IAAI,QAAQ,CAAC,KAAK,CAAC;gBAAE,WAAW,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QAChD,CAAC;IACH,CAAC;IAED,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;AAC/B,CAAC;AAED;;;;;GAKG;AACH,SAAS,mBAAmB,CAAC,WAAuC,EAAE,OAAoB;IACxF,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,UAAU,CAAC,EAAE,EAAE,CAAC,CAAC;QACpE,UAAU;QACV,GAAG;QACH,IAAI,EAAE,OAAO,UAAU,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG;KAChE,CAAC,CAAC,CAAC;IAEJ,KAAK,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,KAAK,EAAE,CAAC;QAClC,KAAK,MAAM,OAAO,IAAI,oBAAoB,EAAE,CAAC;YAC3C,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,OAAO,IAAI,GAAG,EAAE,EAAE,GAAG,yBAAyB,IAAI,IAAI,EAAE,CAAC,CAAC;QACtF,CAAC;IACH,CAAC;IAED,KAAK,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,KAAK,EAAE,CAAC;QACzC,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IACjF,CAAC;AACH,CAAC;AAED,gGAAgG;AAChG,SAAS,OAAO,CAAC,IAAgB,EAAE,OAAoB;IACrD,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,QAAQ;QAAE,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACzE,CAAC;AAED,sEAAsE;AACtE,SAAS,IAAI,CAAC,IAAgB,EAAE,OAAoB;IAClD,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACxC,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC;IAC1B,IAAI,OAAO,IAAI,KAAK,QAAQ;QAAE,OAAO,QAAQ,CAAC;IAE9C,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC;IAE3D,OAAO,EAAE,IAAI,EAAE,GAAG,yBAAyB,IAAI,IAAI,EAAE,EAAE,CAAC;AAC1D,CAAC;AAED,kGAAkG;AAClG,SAAS,OAAO,CAAC,IAAgB,EAAE,OAAoB;IACrD,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC;IAC5B,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;QAClC,OAAO,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,SAAS,EAAE,CAAC;IACzE,CAAC;IAED,MAAM,MAAM,GAAe,EAAE,CAAC;IAC9B,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QAChD,MAAM,CAAC,GAAG,CAAC,GAAG,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC3E,CAAC;IAED,OAAO,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;AAClD,CAAC;AAED,SAAS,SAAS,CAAC,KAAc,EAAE,OAAoB;IACrD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;IAC/E,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAEnC,OAAO,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;AAC9B,CAAC;AAED,SAAS,aAAa,CAAC,MAAkB;IACvC,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAC;IAE3C,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,SAAS,CAAC,MAAkB,EAAE,OAAuC;IAC5E,MAAM,SAAS,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAAC,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IAC1F,MAAM,UAAU,GAAe,EAAE,CAAC;IAElC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QACrD,IAAI,OAAO,CAAC,8BAA8B,IAAI,GAAG,KAAK,sBAAsB,IAAI,KAAK,KAAK,KAAK;YAAE,SAAS;QAC1G,IAAI,OAAO,CAAC,yBAAyB,IAAI,GAAG,KAAK,SAAS,IAAI,OAAO,SAAS,CAAC,MAAM,KAAK,QAAQ;YAAE,SAAS;QAE7G,IAAI,OAAO,CAAC,WAAW,IAAI,GAAG,KAAK,OAAO,EAAE,CAAC;YAC3C,UAAU,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;YAC1B,SAAS;QACX,CAAC;QAED,UAAU,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAC1B,CAAC;IAED,OAAO,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;AACxE,CAAC;AAED,gGAAgG;AAChG,SAAS,aAAa,CAAC,MAAkB;IACvC,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACvC,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;QAC5C,KAAK;QACL,KAAK;QACL,IAAI,EAAE,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,aAAa,CAAC,MAAM;KACzD,CAAC,CAAC,CAAC;IACJ,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;IAEjF,OAAO,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;AAC9D,CAAC;AAED;;;GAGG;AACH,SAAS,qBAAqB,CAAC,MAAkB;IAC/C,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC;IAC9B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,MAAM,CAAC;IAErE,MAAM,eAAe,GAAG,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;IACjG,IAAI,eAAe,KAAK,CAAC,CAAC;QAAE,OAAO,MAAM,CAAC;IAE1C,MAAM,WAAW,GAAG,QAAQ,CAAC,eAAe,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5D,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,OAAO,WAAW,CAAC,IAAI,KAAK,QAAQ;QAAE,OAAO,MAAM,CAAC;IAClF,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,MAAM,IAAI,GAAG,KAAK,KAAK,CAAC;QAAE,OAAO,MAAM,CAAC;IAEzF,MAAM,EAAE,IAAI,EAAE,GAAG,SAAS,EAAE,GAAG,WAAW,CAAC;IAC3C,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAC;IAE7C,OAAO,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,GAAG,SAAS,EAAE,GAAG,IAAI,EAAE,CAAC;AACvD,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAc;IAC1C,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,IAAI,OAAO,KAAK,CAAC,WAAW,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC;AAC1G,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC7E,CAAC;AAED,SAAS,UAAU,CAAC,IAAa,EAAE,KAAc;IAC/C,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AACxD,CAAC"}
1
+ {"version":3,"file":"json-schema.js","sourceRoot":"","sources":["../src/json-schema.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ /** Any value that survives a JSON round-trip. */
2
+ export type JsonValue = string | number | boolean | null | readonly JsonValue[] | {
3
+ readonly [key: string]: JsonValue;
4
+ };
5
+ /** A JSON object: the shape every JSON Schema and OpenAPI document fragment here is built from. */
6
+ export type JsonObject = Record<string, JsonValue>;
7
+ /** Narrows a value of unknown provenance to a plain object, without claiming its property types. */
8
+ export declare function isObjectLike<T>(value: T): value is T & JsonObject;
9
+ export declare function isJsonString<T>(value: T): value is T & string;
10
+ //# sourceMappingURL=json-value.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json-value.d.ts","sourceRoot":"","sources":["../src/json-value.ts"],"names":[],"mappings":"AAAA,iDAAiD;AACjD,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,SAAS,EAAE,GAAG;IAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,CAAC;AAExH,mGAAmG;AACnG,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;AAEnD,oGAAoG;AACpG,wBAAgB,YAAY,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,KAAK,IAAI,CAAC,GAAG,UAAU,CAEjE;AAED,wBAAgB,YAAY,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,KAAK,IAAI,CAAC,GAAG,MAAM,CAE7D"}
@@ -0,0 +1,8 @@
1
+ /** Narrows a value of unknown provenance to a plain object, without claiming its property types. */
2
+ export function isObjectLike(value) {
3
+ return typeof value === 'object' && value !== null && !Array.isArray(value);
4
+ }
5
+ export function isJsonString(value) {
6
+ return typeof value === 'string';
7
+ }
8
+ //# sourceMappingURL=json-value.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json-value.js","sourceRoot":"","sources":["../src/json-value.ts"],"names":[],"mappings":"AAMA,oGAAoG;AACpG,MAAM,UAAU,YAAY,CAAI,KAAQ;IACtC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC;AAED,MAAM,UAAU,YAAY,CAAI,KAAQ;IACtC,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC;AACnC,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { ReferenceObject } from 'openapi3-ts/oas31';
1
+ import type { JsonObject } from './json-value.ts';
2
2
  import type { StandardSchema } from './standard-schema.ts';
3
3
  import type { RouteConfigBase } from './types.ts';
4
4
  export declare const COMPONENT_TYPES: readonly ['schemas', 'responses', 'parameters', 'examples', 'requestBodies', 'headers', 'securitySchemes', 'links', 'callbacks', 'pathItems'];
@@ -7,7 +7,7 @@ export type OpenAPIDefinition = {
7
7
  readonly type: 'component';
8
8
  readonly componentType: ComponentType;
9
9
  readonly name: string;
10
- readonly component: object;
10
+ readonly component: JsonObject;
11
11
  } | {
12
12
  readonly type: 'schema';
13
13
  readonly schema: StandardSchema;
@@ -34,9 +34,11 @@ export declare class OpenAPIRegistry {
34
34
  nameOf(schema: StandardSchema): string | undefined;
35
35
  registerPath(route: RouteConfigBase): void;
36
36
  registerWebhook(webhook: RouteConfigBase): void;
37
- registerComponent<T extends ComponentType>(componentType: T, name: string, component: object): {
37
+ registerComponent<T extends ComponentType>(componentType: T, name: string, component: JsonObject): {
38
38
  name: string;
39
- ref: ReferenceObject;
39
+ ref: {
40
+ $ref: string;
41
+ };
40
42
  };
41
43
  /** Copies another registry's definitions into this one, optionally re-rooting its routes. */
42
44
  absorb(registry: OpenAPIRegistry, mapPath: (path: string) => string): void;
@@ -1 +1 @@
1
- {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElD,eAAO,MAAM,eAAe,YAC1B,SAAS,EACT,WAAW,EACX,YAAY,EACZ,UAAU,EACV,eAAe,EACf,SAAS,EACT,iBAAiB,EACjB,OAAO,EACP,WAAW,EACX,WAAW,CACH,CAAC;AAEX,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC;AAE7D,MAAM,MAAM,iBAAiB,GACzB;IACE,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IACtC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B,GACD;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACnF;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAA;CAAE,GAC3D;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAA;CAAE,CAAC;AAEpE;;;;;GAKG;AACH,qBAAa,eAAe;;IAM1B,YAAY,OAAO,GAAE,eAAe,EAAO,EAE1C;IAED,IAAI,WAAW,IAAI,iBAAiB,EAAE,CAIrC;IAED,8EAA8E;IAC9E,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,GAAG,cAAc,CAK7D;IAED,MAAM,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,GAAG,SAAS,CAUjD;IAED,YAAY,CAAC,KAAK,EAAE,eAAe,GAAG,IAAI,CAEzC;IAED,eAAe,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI,CAE9C;IAED,iBAAiB,CAAC,CAAC,SAAS,aAAa,EACvC,aAAa,EAAE,CAAC,EAChB,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,GAChB;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,eAAe,CAAA;KAAE,CAIxC;IAED,6FAA6F;IAC7F,MAAM,CAAC,QAAQ,EAAE,eAAe,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAiBzE;CACF"}
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElD,eAAO,MAAM,eAAe,YAC1B,SAAS,EACT,WAAW,EACX,YAAY,EACZ,UAAU,EACV,eAAe,EACf,SAAS,EACT,iBAAiB,EACjB,OAAO,EACP,WAAW,EACX,WAAW,CACH,CAAC;AAEX,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC;AAE7D,MAAM,MAAM,iBAAiB,GACzB;IACE,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IACtC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,SAAS,EAAE,UAAU,CAAC;CAChC,GACD;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACnF;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAA;CAAE,GAC3D;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAA;CAAE,CAAC;AAEpE;;;;;GAKG;AACH,qBAAa,eAAe;;IAM1B,YAAY,OAAO,GAAE,eAAe,EAAO,EAE1C;IAED,IAAI,WAAW,IAAI,iBAAiB,EAAE,CAIrC;IAED,8EAA8E;IAC9E,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,GAAG,cAAc,CAK7D;IAED,MAAM,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,GAAG,SAAS,CAcjD;IAED,YAAY,CAAC,KAAK,EAAE,eAAe,GAAG,IAAI,CAEzC;IAED,eAAe,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI,CAE9C;IAED,iBAAiB,CAAC,CAAC,SAAS,aAAa,EAAE,aAAa,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU;;;YAGxE,IAAI;;MAC3B;IAED,6FAA6F;IAC7F,MAAM,CAAC,QAAQ,EAAE,eAAe,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAiBzE;CACF"}
package/dist/registry.js CHANGED
@@ -36,12 +36,14 @@ export class OpenAPIRegistry {
36
36
  }
37
37
  nameOf(schema) {
38
38
  const own = this.#names.get(schema);
39
- if (own != null)
39
+ if (own != null) {
40
40
  return own;
41
+ }
41
42
  for (const parent of this.#parents) {
42
43
  const inherited = parent.nameOf(schema);
43
- if (inherited != null)
44
+ if (inherited != null) {
44
45
  return inherited;
46
+ }
45
47
  }
46
48
  return undefined;
47
49
  }
@@ -1 +1 @@
1
- {"version":3,"file":"registry.js","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"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"}
@@ -7,10 +7,12 @@ import type { StandardJSONSchemaV1, StandardSchemaV1 } from '@standard-schema/sp
7
7
  */
8
8
  export type StandardSchema = StandardSchemaV1 & StandardJSONSchemaV1;
9
9
  /** A JSON Schema document fragment, as produced by a Standard JSON Schema converter. */
10
- export type JSONSchema = Record<string, unknown>;
10
+ export type JSONSchema = ReturnType<StandardJSONSchemaV1.Converter['input']>;
11
+ /** One value inside a JSON Schema fragment: a keyword's value, or a nested schema. */
12
+ export type SchemaValue = JSONSchema[string];
11
13
  /** Which side of a schema to describe: what a request accepts, or what a response produces. */
12
14
  export type SchemaIO = 'input' | 'output';
13
- export declare function isStandardSchema(value: unknown): value is StandardSchemaV1;
14
- export declare function isStandardJSONSchema(value: unknown): value is StandardSchema;
15
- export declare function validateWithStandardSchema(schema: StandardSchemaV1, value: unknown): StandardSchemaV1.Result<unknown> | Promise<StandardSchemaV1.Result<unknown>>;
15
+ export declare function isStandardSchema<T>(value: T): value is T & StandardSchemaV1;
16
+ export declare function isStandardJSONSchema<T>(value: T): value is T & StandardSchema;
17
+ export declare function validateWithStandardSchema<V>(schema: StandardSchemaV1, value: V): StandardSchemaV1.Result<unknown> | Promise<StandardSchemaV1.Result<unknown>>;
16
18
  //# sourceMappingURL=standard-schema.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"standard-schema.d.ts","sourceRoot":"","sources":["../src/standard-schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEpF;;;;;GAKG;AACH,MAAM,MAAM,cAAc,GAAG,gBAAgB,GAAG,oBAAoB,CAAC;AAErE,wFAAwF;AACxF,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEjD,+FAA+F;AAC/F,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,QAAQ,CAAC;AAE1C,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,gBAAgB,CAM1E;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,cAAc,CAM5E;AAED,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,gBAAgB,EACxB,KAAK,EAAE,OAAO,GACb,gBAAgB,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAE9E"}
1
+ {"version":3,"file":"standard-schema.d.ts","sourceRoot":"","sources":["../src/standard-schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEpF;;;;;GAKG;AACH,MAAM,MAAM,cAAc,GAAG,gBAAgB,GAAG,oBAAoB,CAAC;AAErE,wFAAwF;AACxF,MAAM,MAAM,UAAU,GAAG,UAAU,CAAC,oBAAoB,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;AAE7E,sFAAsF;AACtF,MAAM,MAAM,WAAW,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;AAE7C,+FAA+F;AAC/F,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,QAAQ,CAAC;AAE1C,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,KAAK,IAAI,CAAC,GAAG,gBAAgB,CAQ3E;AAED,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,KAAK,IAAI,CAAC,GAAG,cAAc,CAQ7E;AAED,wBAAgB,0BAA0B,CAAC,CAAC,EAC1C,MAAM,EAAE,gBAAgB,EACxB,KAAK,EAAE,CAAC,GACP,gBAAgB,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAE9E"}
@@ -1,12 +1,14 @@
1
1
  export function isStandardSchema(value) {
2
- if (typeof value !== 'object' || value == null || !('~standard' in value))
2
+ if (typeof value !== 'object' || value == null || !('~standard' in value)) {
3
3
  return false;
4
+ }
4
5
  const props = value['~standard'];
5
6
  return typeof props === 'object' && props != null && 'version' in props && props.version === 1;
6
7
  }
7
8
  export function isStandardJSONSchema(value) {
8
- if (!isStandardSchema(value))
9
+ if (!isStandardSchema(value)) {
9
10
  return false;
11
+ }
10
12
  const props = value['~standard'];
11
13
  return typeof props.jsonSchema === 'object' && props.jsonSchema != null;
12
14
  }
@@ -1 +1 @@
1
- {"version":3,"file":"standard-schema.js","sourceRoot":"","sources":["../src/standard-schema.ts"],"names":[],"mappings":"AAgBA,MAAM,UAAU,gBAAgB,CAAC,KAAc;IAC7C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,IAAI,IAAI,IAAI,CAAC,CAAC,WAAW,IAAI,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAExF,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,CAAC,KAAc;IACjD,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAE3C,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,KAAc;IAEd,OAAO,MAAM,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC7C,CAAC"}
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;QAC1E,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,5 +1,5 @@
1
1
  import type { StandardSchemaV1 } from '@standard-schema/spec';
2
- import type { HeadersObject, LinksObject, OperationObject, ParameterObject, ReferenceObject, RequestBodyObject, ResponsesObject, SchemaObject } from 'openapi3-ts/oas31';
2
+ import type { EncodingObject, ExamplesObject, HeadersObject, LinksObject, OperationObject, ParameterObject, ReferenceObject, RequestBodyObject, ResponsesObject, SchemaObject } from 'openapi3-ts/oas31';
3
3
  import type { StandardSchema } from './standard-schema.ts';
4
4
  export type { ReferenceObject, SchemaObject };
5
5
  /** Either a schema to convert, or an already-written OpenAPI schema to pass through untouched. */
@@ -7,8 +7,8 @@ export type SchemaOrReference = StandardSchemaV1 | SchemaObject | ReferenceObjec
7
7
  export interface MediaTypeObject {
8
8
  readonly schema?: SchemaOrReference | undefined;
9
9
  readonly example?: unknown;
10
- readonly examples?: Record<string, unknown> | undefined;
11
- readonly encoding?: Record<string, unknown> | undefined;
10
+ readonly examples?: ExamplesObject | undefined;
11
+ readonly encoding?: EncodingObject | undefined;
12
12
  }
13
13
  export type ContentObject = Record<string, MediaTypeObject>;
14
14
  export interface RequestBody extends Omit<RequestBodyObject, 'content'> {
@@ -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,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,kGAAkG;AAClG,MAAM,MAAM,iBAAiB,GAAG,gBAAgB,GAAG,YAAY,GAAG,eAAe,CAAC;AAElF,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,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC;IACxD,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC;CACzD;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"}
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,kGAAkG;AAClG,MAAM,MAAM,iBAAiB,GAAG,gBAAgB,GAAG,YAAY,GAAG,eAAe,CAAC;AAElF,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":"AA8DA,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"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAgEA,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.7",
3
+ "version": "0.0.9",
4
4
  "description": "Generate OpenAPI documents from any Standard Schema library, for Hono.",
5
5
  "keywords": [
6
6
  "hono",
@@ -37,9 +37,8 @@
37
37
  "lint": "oxlint",
38
38
  "prepare": "husky",
39
39
  "release": "sh scripts/publish.sh",
40
- "test": "vitest run",
40
+ "test": "vitest run --coverage",
41
41
  "test:watch": "vitest",
42
- "test:cov": "vitest run --coverage",
43
42
  "type-check": "tsc --noEmit"
44
43
  },
45
44
  "dependencies": {
@@ -47,6 +46,8 @@
47
46
  "openapi3-ts": "^4.5.0"
48
47
  },
49
48
  "devDependencies": {
49
+ "@kamaal111/oxlint-plugin-anti-slop": "^0.0.3",
50
+ "@oxlint/plugins": "^1.80.0",
50
51
  "@standard-schema/spec": "^1.1.0",
51
52
  "@types/node": "^26.2.0",
52
53
  "@valibot/to-json-schema": "^1.7.1",
@@ -56,7 +57,7 @@
56
57
  "husky": "^9.1.7",
57
58
  "lint-staged": "^17.3.0",
58
59
  "oxfmt": "^0.64.0",
59
- "oxlint": "^1.79.0",
60
+ "oxlint": "^1.80.0",
60
61
  "oxlint-tsgolint": "^7.0.2001",
61
62
  "typescript": "^7.0.2",
62
63
  "valibot": "^1.4.2",