@zodapi/codegen 0.2.0 → 0.3.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 CHANGED
@@ -21,9 +21,8 @@ const source = generateContract(JSON.parse(await readFile('openapi.json', 'utf8'
21
21
 
22
22
  One file, importing only `zod` and `@zodapi/core`:
23
23
 
24
- - an exported const per `components/schemas` entry — component name = const name, registered via
25
- `.meta({ id })` so the schemas re-serialize as the same `$ref` components; recursive schemas use
26
- zod 4 shape getters
24
+ - an exported const per `components/schemas` entry — component name = const name; recursive
25
+ schemas use zod 4 shape getters
27
26
  - an exported const per operation, a plain object `satisfies RouteDef` — `operationId` becomes the
28
27
  client `alias` (no alias without one); the spec's declared responses are taken verbatim, nothing
29
28
  (like the zodapi `400`) is injected
@@ -35,6 +34,21 @@ One file, importing only `zod` and `@zodapi/core`:
35
34
  alongside each component const (the zodios codegen convention). `z.infer` is the output side —
36
35
  use `z.input<typeof <Name>>` where the wire form differs (e.g. date codecs)
37
36
 
37
+ ## Documentation output
38
+
39
+ The spec's documentation (`title`, `description`, `examples`, `deprecated`, operation
40
+ summaries/tags) is emitted per `docs: 'jsdoc' | 'meta' | 'none'` (CLI `--docs <mode>`):
41
+
42
+ - `'jsdoc'` (default): JSDoc comments on component consts, object properties, parameters, and
43
+ route consts (summary/description body plus a `@tags` line) — hover docs in the editor, zero
44
+ runtime weight. No `.meta()` calls, no route doc fields.
45
+ - `'meta'`: full fidelity — runtime `.meta({...})` calls, `.meta({ id })` component registration
46
+ (so the schemas re-serialize as the same `$ref` components), and `operationId`/`summary`/
47
+ `description`/`tags` fields on route objects. Use this when you regenerate a spec from the
48
+ contract.
49
+ - `'none'`: documentation is dropped entirely. `default` values, response descriptions, and
50
+ `alias` are structural and kept in every mode.
51
+
38
52
  Query parameters typed `array` are declared with `queryArray(item)` from `@zodapi/core`, matching
39
53
  the zodapi `a[]=` convention.
40
54
 
@@ -78,8 +92,9 @@ consts, string formats (`email`, `uuid`, `uri`, `date-time`, ...), numeric/strin
78
92
  constraints, defaults, and `description`/`title`/`examples` metadata.
79
93
 
80
94
  It is enforced by a round-trip test: a comprehensive hand-written contract is serialized to
81
- OpenAPI, fed through the generator, and the document emitted from the generated contract must
82
- deep-equal the original.
95
+ OpenAPI, fed through the generator with `docs: 'meta'`, and the document emitted from the
96
+ generated contract must deep-equal the original. (`'jsdoc'`/`'none'` contracts are deliberately
97
+ lossy — no component ids, no runtime metadata — so only `'meta'` round-trips.)
83
98
 
84
99
  ## Not covered
85
100
 
package/dist/cli.js CHANGED
@@ -5,17 +5,26 @@ function fail(message) {
5
5
  console.error(message);
6
6
  process.exit(1);
7
7
  }
8
- const USAGE = 'Usage: zodapi-codegen <openapi.json> [-o contract.ts] [--export-types] [--dates-datetime] [--dates-date] [--dates-offset]';
8
+ const USAGE = 'Usage: zodapi-codegen <openapi.json> [-o contract.ts] [--docs jsdoc|meta|none] [--export-types] [--dates-datetime] [--dates-date] [--dates-offset]';
9
+ const DOCS_MODES = ['meta', 'jsdoc', 'none'];
9
10
  const args = process.argv.slice(2);
10
11
  let input;
11
12
  let output;
12
13
  let exportTypes = false;
14
+ let docs;
13
15
  const dates = {};
14
16
  for (let i = 0; i < args.length; i++) {
15
17
  const arg = args[i];
16
18
  if (arg === '-o' || arg === '--output') {
17
19
  output = args[++i] ?? fail(`${arg} requires a value`);
18
20
  }
21
+ else if (arg === '--docs') {
22
+ const value = args[++i] ?? fail(`${arg} requires a value`);
23
+ if (!DOCS_MODES.includes(value)) {
24
+ fail(`--docs must be one of: ${DOCS_MODES.join(', ')}`);
25
+ }
26
+ docs = value;
27
+ }
19
28
  else if (arg === '--export-types') {
20
29
  exportTypes = true;
21
30
  }
@@ -44,6 +53,7 @@ if (input === undefined)
44
53
  const options = {
45
54
  ...(Object.keys(dates).length > 0 && { dates }),
46
55
  ...(exportTypes && { exportTypes: true }),
56
+ ...(docs !== undefined && { docs }),
47
57
  };
48
58
  const doc = JSON.parse(readFileSync(input, 'utf8'));
49
59
  const source = generateContract(doc, options);
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAErD,OAAO,EAAE,gBAAgB,EAAwB,MAAM,eAAe,CAAA;AAGtE,SAAS,IAAI,CAAC,OAAe;IAC3B,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;IACtB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AACjB,CAAC;AAED,MAAM,KAAK,GACT,2HAA2H,CAAA;AAE7H,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;AAClC,IAAI,KAAyB,CAAA;AAC7B,IAAI,MAA0B,CAAA;AAC9B,IAAI,WAAW,GAAG,KAAK,CAAA;AACvB,MAAM,KAAK,GAAiB,EAAE,CAAA;AAC9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;IACrC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;IACnB,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,UAAU,EAAE,CAAC;QACvC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,GAAG,mBAAmB,CAAC,CAAA;IACvD,CAAC;SAAM,IAAI,GAAG,KAAK,gBAAgB,EAAE,CAAC;QACpC,WAAW,GAAG,IAAI,CAAA;IACpB,CAAC;SAAM,IAAI,GAAG,KAAK,kBAAkB,EAAE,CAAC;QACtC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAA;IACvB,CAAC;SAAM,IAAI,GAAG,KAAK,cAAc,EAAE,CAAC;QAClC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAA;IACnB,CAAC;SAAM,IAAI,GAAG,KAAK,gBAAgB,EAAE,CAAC;QACpC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAA;IACrB,CAAC;SAAM,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC5C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;QAClB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;SAAM,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QAC/B,KAAK,GAAG,GAAG,CAAA;IACb,CAAC;SAAM,CAAC;QACN,IAAI,CAAC,wBAAwB,GAAG,EAAE,CAAC,CAAA;IACrC,CAAC;AACH,CAAC;AACD,IAAI,KAAK,KAAK,SAAS;IAAE,IAAI,CAAC,KAAK,CAAC,CAAA;AAEpC,MAAM,OAAO,GAAoB;IAC/B,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC;IAC/C,GAAG,CAAC,WAAW,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;CAC1C,CAAA;AACD,MAAM,GAAG,GAAY,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAA;AAC5D,MAAM,MAAM,GAAG,gBAAgB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;AAC7C,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;IACzB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;AAC9B,CAAC;KAAM,CAAC;IACN,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;AAC/B,CAAC"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { type DatesOptions } from './schema-to-zod.js';
1
+ import { type DatesOptions, type DocsMode } from './schema-to-zod.js';
2
2
  export type ProblemFlavor = 'zodapi' | 'problem-details';
3
3
  /**
4
4
  * Detect which problem-details flavor a spec's error responses use, so
@@ -15,6 +15,15 @@ export interface GenerateOptions {
15
15
  * `z.input<typeof <Name>>` where the wire form differs (e.g. date codecs).
16
16
  */
17
17
  exportTypes?: boolean | undefined;
18
+ /**
19
+ * How OpenAPI documentation (`title`, `description`, `examples`,
20
+ * `deprecated`, operation summaries/tags) is emitted. `'jsdoc'` (the
21
+ * default) as JSDoc comments; `'meta'` as runtime `.meta({...})` calls,
22
+ * `.meta({ id })` component registration, and route documentation fields —
23
+ * full fidelity, spec can be regenerated from the contract; `'none'` drops
24
+ * it entirely.
25
+ */
26
+ docs?: DocsMode | undefined;
18
27
  }
19
28
  /**
20
29
  * Generate zodapi contract source (zod schemas + `RouteDef` route objects) from
@@ -1 +1 @@
1
- {"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../src/generate.ts"],"names":[],"mappings":"AACA,OAAO,EAML,KAAK,YAAY,EAElB,MAAM,oBAAoB,CAAA;AAuD3B,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,iBAAiB,CAAA;AA2BxD;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,OAAO,GAAG,aAAa,GAAG,SAAS,CAkC3E;AAUD,MAAM,WAAW,eAAe;IAC9B,sEAAsE;IACtE,KAAK,CAAC,EAAE,YAAY,GAAG,SAAS,CAAA;IAChC;;;;OAIG;IACH,WAAW,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;CAClC;AAyQD;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,MAAM,CAGhF"}
1
+ {"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../src/generate.ts"],"names":[],"mappings":"AACA,OAAO,EAQL,KAAK,YAAY,EACjB,KAAK,QAAQ,EAEd,MAAM,oBAAoB,CAAA;AAuD3B,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,iBAAiB,CAAA;AA2BxD;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,OAAO,GAAG,aAAa,GAAG,SAAS,CAkC3E;AAUD,MAAM,WAAW,eAAe;IAC9B,sEAAsE;IACtE,KAAK,CAAC,EAAE,YAAY,GAAG,SAAS,CAAA;IAChC;;;;OAIG;IACH,WAAW,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IACjC;;;;;;;OAOG;IACH,IAAI,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAA;CAC5B;AAwTD;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,MAAM,CAGhF"}
package/dist/generate.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { NameAllocator, routeNameFromPath } from './names.js';
2
- import { DATE_CODEC_FNS, convertSchema, dateCodecInput, } from './schema-to-zod.js';
2
+ import { DATE_CODEC_FNS, convertSchema, dateCodecInput, jsdocLines, schemaJsdoc, } from './schema-to-zod.js';
3
3
  const METHODS = ['get', 'put', 'post', 'delete', 'options', 'head', 'patch', 'trace'];
4
4
  const REF_PREFIX = '#/components/schemas/';
5
5
  function isObject(value) {
@@ -164,12 +164,15 @@ class Generator {
164
164
  },
165
165
  };
166
166
  exportTypes;
167
+ docs;
167
168
  constructor(doc, options) {
168
169
  this.doc = doc;
169
170
  const components = isObject(doc['components']) ? doc['components'] : {};
170
171
  this.schemas = isObject(components['schemas']) ? components['schemas'] : {};
171
172
  this.ctx.dates = options?.dates;
172
173
  this.exportTypes = options?.exportTypes === true;
174
+ this.docs = options?.docs ?? 'jsdoc';
175
+ this.ctx.docs = this.docs;
173
176
  }
174
177
  generate() {
175
178
  const openapi = this.doc['openapi'];
@@ -182,11 +185,17 @@ class Generator {
182
185
  for (const name of Object.keys(schemas))
183
186
  this.names.allocate(name);
184
187
  const componentDecls = order.map((name) => {
185
- const expr = convertSchema(schemas[name], this.ctx);
186
- const code = withMeta(expr.code, [`id: ${json(name)}`]);
188
+ const schema = schemas[name];
189
+ const expr = convertSchema(schema, this.ctx);
190
+ const code = this.docs === 'meta' ? withMeta(expr.code, [`id: ${json(name)}`]) : expr.code;
187
191
  this.declared.add(name);
188
192
  const ident = this.names.lookup(name);
189
- const constDecl = `export const ${ident} = ${code}\n`;
193
+ const jsdoc = this.docs === 'jsdoc' && isObject(schema)
194
+ ? schemaJsdoc(schema, '')
195
+ .map((l) => `${l}\n`)
196
+ .join('')
197
+ : '';
198
+ const constDecl = `${jsdoc}export const ${ident} = ${code}\n`;
190
199
  return this.exportTypes
191
200
  ? `${constDecl}export type ${ident} = z.infer<typeof ${ident}>\n`
192
201
  : constDecl;
@@ -210,13 +219,15 @@ class Generator {
210
219
  ...(this.usesQueryArray ? [`import { queryArray } from '@zodapi/core'`] : []),
211
220
  `import { z } from 'zod'`,
212
221
  ];
213
- // RouteDef plus the documentation fields OpenAPI operations carry.
214
- const routeType = 'type GeneratedRoute = RouteDef & {\n' +
215
- ' operationId?: string\n' +
216
- ' summary?: string\n' +
217
- ' description?: string\n' +
218
- ' tags?: readonly string[]\n' +
219
- '}\n';
222
+ // RouteDef plus the documentation fields OpenAPI operations carry (meta mode only).
223
+ const routeType = this.docs === 'meta'
224
+ ? 'type GeneratedRoute = RouteDef & {\n' +
225
+ ' operationId?: string\n' +
226
+ ' summary?: string\n' +
227
+ ' description?: string\n' +
228
+ ' tags?: readonly string[]\n' +
229
+ '}\n'
230
+ : undefined;
220
231
  const routesArray = routeIdents.length === 0
221
232
  ? 'export const routes = [] as const\n'
222
233
  : `export const routes = [\n${routeIdents.map((r) => ` ${r},`).join('\n')}\n] as const\n`;
@@ -235,7 +246,7 @@ class Generator {
235
246
  return [
236
247
  '// Generated by @zodapi/codegen. Do not edit.',
237
248
  imports.join('\n'),
238
- ...(routeDecls.length > 0 ? [routeType] : []),
249
+ ...(routeDecls.length > 0 && routeType !== undefined ? [routeType] : []),
239
250
  ...dateCodecDecls,
240
251
  ...componentDecls,
241
252
  ...routeDecls,
@@ -246,20 +257,25 @@ class Generator {
246
257
  emitRoute(method, path, op, pathItem, out) {
247
258
  const operationId = typeof op['operationId'] === 'string' ? op['operationId'] : undefined;
248
259
  const ident = this.names.allocate(operationId ?? routeNameFromPath(method, path));
249
- const lines = [`export const ${ident} = {`];
260
+ const lines = [];
261
+ if (this.docs === 'jsdoc')
262
+ lines.push(...this.routeJsdoc(op));
263
+ lines.push(`export const ${ident} = {`);
250
264
  lines.push(` method: ${json(method)},`);
251
265
  lines.push(` path: ${json(path)},`);
252
- if (operationId !== undefined) {
266
+ if (operationId !== undefined)
253
267
  lines.push(` alias: ${json(operationId)},`);
254
- lines.push(` operationId: ${json(operationId)},`);
255
- }
256
- if (typeof op['summary'] === 'string')
257
- lines.push(` summary: ${json(op['summary'])},`);
258
- if (typeof op['description'] === 'string') {
259
- lines.push(` description: ${json(op['description'])},`);
268
+ if (this.docs === 'meta') {
269
+ if (operationId !== undefined)
270
+ lines.push(` operationId: ${json(operationId)},`);
271
+ if (typeof op['summary'] === 'string')
272
+ lines.push(` summary: ${json(op['summary'])},`);
273
+ if (typeof op['description'] === 'string') {
274
+ lines.push(` description: ${json(op['description'])},`);
275
+ }
276
+ if (Array.isArray(op['tags']))
277
+ lines.push(` tags: ${json(op['tags'])},`);
260
278
  }
261
- if (Array.isArray(op['tags']))
262
- lines.push(` tags: ${json(op['tags'])},`);
263
279
  const requestLines = this.requestLines(op, pathItem);
264
280
  if (requestLines.length > 0) {
265
281
  lines.push(' request: {', ...requestLines, ' },');
@@ -280,10 +296,23 @@ class Generator {
280
296
  lines.push(' },');
281
297
  }
282
298
  lines.push(' },');
283
- lines.push('} as const satisfies GeneratedRoute');
299
+ lines.push(`} as const satisfies ${this.docs === 'meta' ? 'GeneratedRoute' : 'RouteDef'}`);
284
300
  out.push(`${lines.join('\n')}\n`);
285
301
  return ident;
286
302
  }
303
+ /** JSDoc block for an operation: summary + description body, `@tags` line. */
304
+ routeJsdoc(op) {
305
+ const body = [];
306
+ if (typeof op['summary'] === 'string')
307
+ body.push(op['summary']);
308
+ if (typeof op['description'] === 'string') {
309
+ if (body.length > 0)
310
+ body.push('');
311
+ body.push(...op['description'].split('\n'));
312
+ }
313
+ const tags = Array.isArray(op['tags']) && op['tags'].length > 0 ? [`@tags ${op['tags'].join(', ')}`] : [];
314
+ return jsdocLines(body, tags, '');
315
+ }
287
316
  requestLines(op, pathItem) {
288
317
  const lines = [];
289
318
  const parameters = [
@@ -306,12 +335,12 @@ class Generator {
306
335
  const members = parameters.filter((p) => p.in === group.in);
307
336
  if (members.length === 0)
308
337
  continue;
309
- const entries = members.map((p) => {
338
+ const entries = members.flatMap((p) => {
310
339
  let code = this.parameterExpr(p);
311
340
  if (p.required !== true && group.in !== 'path')
312
341
  code += '.optional()';
313
342
  const name = /^[A-Za-z_$][A-Za-z0-9_$]*$/.test(p.name) ? p.name : json(p.name);
314
- return ` ${name}: ${code},`;
343
+ return [...this.parameterJsdoc(p), ` ${name}: ${code},`];
315
344
  });
316
345
  lines.push(` ${group.key}: z.object({`, ...entries, ' }),');
317
346
  }
@@ -335,15 +364,27 @@ class Generator {
335
364
  if (p.in === 'query' && isObject(schema) && schema['type'] === 'array') {
336
365
  this.usesQueryArray = true;
337
366
  const items = schema['items'] === undefined ? 'z.unknown()' : this.expr(schema['items'], ' ');
338
- const description = typeof p.description === 'string' ? `.meta({ description: ${json(p.description)} })` : '';
367
+ const description = this.docs === 'meta' && typeof p.description === 'string'
368
+ ? `.meta({ description: ${json(p.description)} })`
369
+ : '';
339
370
  return `queryArray(${items})${description}`;
340
371
  }
341
372
  let code = this.expr(schema, ' ');
342
- if (typeof p.description === 'string' && !(isObject(schema) && 'description' in schema)) {
373
+ if (this.docs === 'meta' &&
374
+ typeof p.description === 'string' &&
375
+ !(isObject(schema) && 'description' in schema)) {
343
376
  code = withMeta(code, [`description: ${json(p.description)}`]);
344
377
  }
345
378
  return code;
346
379
  }
380
+ /** JSDoc lines for a parameter, from its schema keywords plus the parameter description. */
381
+ parameterJsdoc(p) {
382
+ if (this.docs !== 'jsdoc')
383
+ return [];
384
+ const schema = isObject(p.schema) ? p.schema : {};
385
+ const description = typeof schema['description'] === 'string' ? schema['description'] : p.description;
386
+ return schemaJsdoc({ ...schema, ...(description !== undefined && { description }) }, ' ');
387
+ }
347
388
  contentLines(content, indent) {
348
389
  const lines = [`${indent}content: {`];
349
390
  for (const [media, mediaDef] of Object.entries(content)) {
@@ -354,7 +395,10 @@ class Generator {
354
395
  }
355
396
  else {
356
397
  const schema = this.expr(mediaDef['schema'], `${indent} `);
357
- lines.push(`${indent} ${json(media)}: {`, `${indent} schema: ${schema},`, `${indent} },`);
398
+ const jsdoc = this.docs === 'jsdoc' && isObject(mediaDef['schema'])
399
+ ? schemaJsdoc(mediaDef['schema'], `${indent} `)
400
+ : [];
401
+ lines.push(`${indent} ${json(media)}: {`, ...jsdoc, `${indent} schema: ${schema},`, `${indent} },`);
358
402
  }
359
403
  }
360
404
  lines.push(`${indent}},`);
@@ -1 +1 @@
1
- {"version":3,"file":"generate.js","sourceRoot":"","sources":["../src/generate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generate.js","sourceRoot":"","sources":["../src/generate.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,3 +1,3 @@
1
1
  export { detectProblemFlavor, generateContract, type GenerateOptions, type ProblemFlavor, } from './generate.js';
2
- export { convertSchema, type ConvertContext, type DateCodecKind, type DatesOptions, type Expr, type JsonSchema, } from './schema-to-zod.js';
2
+ export { convertSchema, type ConvertContext, type DateCodecKind, type DatesOptions, type DocsMode, type Expr, type JsonSchema, } from './schema-to-zod.js';
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,KAAK,eAAe,EACpB,KAAK,aAAa,GACnB,MAAM,eAAe,CAAA;AACtB,OAAO,EACL,aAAa,EACb,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,IAAI,EACT,KAAK,UAAU,GAChB,MAAM,oBAAoB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,KAAK,eAAe,EACpB,KAAK,aAAa,GACnB,MAAM,eAAe,CAAA;AACtB,OAAO,EACL,aAAa,EACb,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,QAAQ,EACb,KAAK,IAAI,EACT,KAAK,UAAU,GAChB,MAAM,oBAAoB,CAAA"}
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EACnB,gBAAgB,GAGjB,MAAM,eAAe,CAAA;AACtB,OAAO,EACL,aAAa,GAMd,MAAM,oBAAoB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EACnB,gBAAgB,GAGjB,MAAM,eAAe,CAAA;AACtB,OAAO,EACL,aAAa,GAOd,MAAM,oBAAoB,CAAA"}
@@ -16,6 +16,13 @@ export interface DatesOptions {
16
16
  offset?: boolean;
17
17
  }
18
18
  export type DateCodecKind = 'datetime' | 'date';
19
+ /**
20
+ * How OpenAPI documentation keywords (`title`, `description`, `examples`,
21
+ * `deprecated`, operation summaries/tags) appear in the generated source:
22
+ * `'meta'` as runtime `.meta({...})` calls and route fields, `'jsdoc'` as
23
+ * JSDoc comments, `'none'` not at all.
24
+ */
25
+ export type DocsMode = 'meta' | 'jsdoc' | 'none';
19
26
  export interface ConvertContext {
20
27
  /** Resolve a `$ref` to a generated identifier; `forward` when the target is not yet declared. */
21
28
  resolveRef(ref: string): {
@@ -28,6 +35,8 @@ export interface ConvertContext {
28
35
  dates?: DatesOptions | undefined;
29
36
  /** Identifier of the shared date codec for `kind`, registering it as used. */
30
37
  dateCodec?: ((kind: DateCodecKind) => string) | undefined;
38
+ /** Documentation output mode; absent → `'meta'`. */
39
+ docs?: DocsMode | undefined;
31
40
  }
32
41
  /** A zod expression plus whether it references an identifier declared later in the file. */
33
42
  export interface Expr {
@@ -43,5 +52,9 @@ export declare const DATE_CODEC_FNS: Record<DateCodecKind, {
43
52
  decode: string;
44
53
  encode: string;
45
54
  }>;
55
+ /** A `/** ... *\/` block from body lines plus `@tag` lines, or `[]` when both are empty. */
56
+ export declare function jsdocLines(body: string[], tags: string[], indent: string): string[];
57
+ /** JSDoc comment lines for a schema's documentation keywords, or `[]` when it has none. */
58
+ export declare function schemaJsdoc(schema: JsonSchema, indent: string): string[];
46
59
  export declare function convertSchema(schema: unknown, ctx: ConvertContext, indent?: string): Expr;
47
60
  //# sourceMappingURL=schema-to-zod.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"schema-to-zod.d.ts","sourceRoot":"","sources":["../src/schema-to-zod.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;AAEhD,oFAAoF;AACpF,MAAM,WAAW,YAAY;IAC3B,wEAAwE;IACxE,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,mEAAmE;IACnE,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,mFAAmF;IACnF,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB;AAED,MAAM,MAAM,aAAa,GAAG,UAAU,GAAG,MAAM,CAAA;AAE/C,MAAM,WAAW,cAAc;IAC7B,iGAAiG;IACjG,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,CAAA;IAC5D,qGAAqG;IACrG,sBAAsB,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAAA;IAC3D,wEAAwE;IACxE,KAAK,CAAC,EAAE,YAAY,GAAG,SAAS,CAAA;IAChC,8EAA8E;IAC9E,SAAS,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,aAAa,KAAK,MAAM,CAAC,GAAG,SAAS,CAAA;CAC1D;AAED,4FAA4F;AAC5F,MAAM,WAAW,IAAI;IACnB,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,OAAO,CAAA;IAChB,8EAA8E;IAC9E,cAAc,CAAC,EAAE,OAAO,CAAA;CACzB;AA2BD,oDAAoD;AACpD,wBAAgB,cAAc,CAAC,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,YAAY,GAAG,MAAM,CAI/E;AAED,8DAA8D;AAC9D,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,aAAa,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CASpF,CAAA;AAmSD,wBAAgB,aAAa,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,cAAc,EAAE,MAAM,SAAK,GAAG,IAAI,CASrF"}
1
+ {"version":3,"file":"schema-to-zod.d.ts","sourceRoot":"","sources":["../src/schema-to-zod.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;AAEhD,oFAAoF;AACpF,MAAM,WAAW,YAAY;IAC3B,wEAAwE;IACxE,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,mEAAmE;IACnE,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,mFAAmF;IACnF,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB;AAED,MAAM,MAAM,aAAa,GAAG,UAAU,GAAG,MAAM,CAAA;AAE/C;;;;;GAKG;AACH,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAAA;AAEhD,MAAM,WAAW,cAAc;IAC7B,iGAAiG;IACjG,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,CAAA;IAC5D,qGAAqG;IACrG,sBAAsB,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAAA;IAC3D,wEAAwE;IACxE,KAAK,CAAC,EAAE,YAAY,GAAG,SAAS,CAAA;IAChC,8EAA8E;IAC9E,SAAS,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,aAAa,KAAK,MAAM,CAAC,GAAG,SAAS,CAAA;IACzD,oDAAoD;IACpD,IAAI,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAA;CAC5B;AAED,4FAA4F;AAC5F,MAAM,WAAW,IAAI;IACnB,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,OAAO,CAAA;IAChB,8EAA8E;IAC9E,cAAc,CAAC,EAAE,OAAO,CAAA;CACzB;AA2BD,oDAAoD;AACpD,wBAAgB,cAAc,CAAC,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,YAAY,GAAG,MAAM,CAI/E;AAED,8DAA8D;AAC9D,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,aAAa,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CASpF,CAAA;AAuSD,4FAA4F;AAC5F,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAWnF;AAED,2FAA2F;AAC3F,wBAAgB,WAAW,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAaxE;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,cAAc,EAAE,MAAM,SAAK,GAAG,IAAI,CASrF"}
@@ -120,6 +120,9 @@ function objectExpr(schema, ctx, indent) {
120
120
  const prop = convertSchema(propSchema, ctx, inner);
121
121
  const withOptional = required.has(key) ? prop.code : `${prop.code}.optional()`;
122
122
  const name = /^[A-Za-z_$][A-Za-z0-9_$]*$/.test(key) ? key : json(key);
123
+ if (ctx.docs === 'jsdoc' && isSchemaObject(propSchema)) {
124
+ entries.push(...schemaJsdoc(propSchema, inner));
125
+ }
123
126
  // Forward references must be deferred; zod object shapes support getters for this.
124
127
  entries.push(prop.forward
125
128
  ? `${inner}get ${name}() {\n${inner} return ${withOptional}\n${inner}},`
@@ -316,10 +319,12 @@ function baseExpr(schema, ctx, indent) {
316
319
  }
317
320
  }
318
321
  /** Metadata keywords carried through `.meta()` / `.default()` rather than validation. */
319
- function metaSuffix(schema, skipDefault) {
322
+ function metaSuffix(schema, skipDefault, docs) {
320
323
  let code = '';
321
324
  if (!skipDefault && 'default' in schema)
322
325
  code += `.default(${json(schema['default'])})`;
326
+ if (docs !== 'meta')
327
+ return code;
323
328
  const meta = [];
324
329
  if (typeof schema['title'] === 'string')
325
330
  meta.push(`title: ${json(schema['title'])}`);
@@ -334,6 +339,38 @@ function metaSuffix(schema, skipDefault) {
334
339
  code += `.meta({ ${meta.join(', ')} })`;
335
340
  return code;
336
341
  }
342
+ /** A `/** ... *\/` block from body lines plus `@tag` lines, or `[]` when both are empty. */
343
+ export function jsdocLines(body, tags, indent) {
344
+ const lines = [...body, ...(body.length > 0 && tags.length > 0 ? [''] : []), ...tags].map((l) => l.replaceAll('*/', '*\\/'));
345
+ if (lines.length === 0)
346
+ return [];
347
+ if (lines.length === 1)
348
+ return [`${indent}/** ${lines[0]} */`];
349
+ return [
350
+ `${indent}/**`,
351
+ ...lines.map((l) => `${indent} *${l === '' ? '' : ` ${l}`}`),
352
+ `${indent} */`,
353
+ ];
354
+ }
355
+ /** JSDoc comment lines for a schema's documentation keywords, or `[]` when it has none. */
356
+ export function schemaJsdoc(schema, indent) {
357
+ const body = [];
358
+ if (typeof schema['title'] === 'string')
359
+ body.push(schema['title']);
360
+ if (typeof schema['description'] === 'string') {
361
+ if (body.length > 0)
362
+ body.push('');
363
+ body.push(...schema['description'].split('\n'));
364
+ }
365
+ const tags = [];
366
+ if (schema['deprecated'] === true)
367
+ tags.push('@deprecated');
368
+ if (Array.isArray(schema['examples'])) {
369
+ for (const example of schema['examples'])
370
+ tags.push(`@example ${json(example)}`);
371
+ }
372
+ return jsdocLines(body, tags, indent);
373
+ }
337
374
  export function convertSchema(schema, ctx, indent = '') {
338
375
  if (schema === true)
339
376
  return lit('z.unknown()');
@@ -343,7 +380,7 @@ export function convertSchema(schema, ctx, indent = '') {
343
380
  throw new Error(`expected a schema object, got ${json(schema)}`);
344
381
  const base = baseExpr(schema, ctx, indent);
345
382
  return {
346
- code: base.code + metaSuffix(schema, base.defaultHandled === true),
383
+ code: base.code + metaSuffix(schema, base.defaultHandled === true, ctx.docs ?? 'meta'),
347
384
  forward: base.forward,
348
385
  };
349
386
  }
@@ -1 +1 @@
1
- {"version":3,"file":"schema-to-zod.js","sourceRoot":"","sources":["../src/schema-to-zod.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema-to-zod.js","sourceRoot":"","sources":["../src/schema-to-zod.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zodapi/codegen",
3
- "version": "0.2.0",
3
+ "version": "0.3.0",
4
4
  "description": "Generate a zodapi contract (zod schemas + route defs) from an OpenAPI 3.1 document",
5
5
  "license": "MIT",
6
6
  "bin": {