express-zod-api 9.2.1 → 9.4.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/CHANGELOG.md CHANGED
@@ -2,6 +2,67 @@
2
2
 
3
3
  ## Version 9
4
4
 
5
+ ### v9.4.0
6
+
7
+ - Feature #875, proposed by [@VideoSystemsTech](https://github.com/VideoSystemsTech).
8
+ - Ability to document the API specification keeping the schemas organized within named components.
9
+ - `OpenAPI::constructor()` is equipped with a new optional property `composition` that can be:
10
+ - `inline` (default) — schemas are depicted directly in a place of their usage;
11
+ - `components` (feature) — schemas are depicted within the `components` section and have references by their names.
12
+
13
+ ```ts
14
+ // example usage
15
+ new OpenAPI({
16
+ routing,
17
+ config,
18
+ version: "1.2.3",
19
+ title: "My API",
20
+ serverUrl: "https://example.com",
21
+ composition: "components", // <——
22
+ }).getSpecAsYaml();
23
+ ```
24
+
25
+ ### v9.3.1
26
+
27
+ - Hotfix for the feature #856
28
+ - `$ref` is equipped with the required prefix: `#/components/schemas/`.
29
+
30
+ ```yaml
31
+ before:
32
+ $ref: 2048581c137c5b2130eb860e3ae37da196dfc25b
33
+ after:
34
+ $ref: "#/components/schemas/2048581c137c5b2130eb860e3ae37da196dfc25b"
35
+ ```
36
+
37
+ ### v9.3.0
38
+
39
+ - Feature #856, proposed by [@TheWisestOne](https://github.com/TheWisestOne) in discussion #801.
40
+ - Supporting `z.lazy()` in the documentation generator (OpenAPI), including circular schemas.
41
+ - The feature is only available for the OpenAPI generator, it's not available for the client generator yet.
42
+ - OpenAPI references are utilized in order to limit the possible recursion.
43
+ - A new optional property added to the constructor of the OpenAPI class:
44
+ - `serializer` is the function that accepts a schema and returns its unique identifier in order to compare them.
45
+ - When omitted, the default one used, which is `JSON.stringify()` + `SHA1` hash as a `hex` digest.
46
+ - If/when it's not enough precise, consider specifying your own implementation.
47
+
48
+ ```yaml
49
+ # having z.lazy() within your IO schema
50
+ before:
51
+ error: Zod type ZodLazy is unsupported
52
+ after:
53
+ schema:
54
+ type: object
55
+ properties:
56
+ lazyProperty:
57
+ $ref: 2048581c137c5b2130eb860e3ae37da196dfc25b # sample reference
58
+ components:
59
+ schemas:
60
+ 2048581c137c5b2130eb860e3ae37da196dfc25b:
61
+ type: array
62
+ items:
63
+ $ref: 2048581c137c5b2130eb860e3ae37da196dfc25b # circular reference
64
+ ```
65
+
5
66
  ### v9.2.1
6
67
 
7
68
  - `zod` version is 3.21.4.
package/README.md CHANGED
@@ -839,6 +839,7 @@ const yamlString = new OpenAPI({
839
839
  version: "1.2.3",
840
840
  title: "Example API",
841
841
  serverUrl: "https://example.com",
842
+ composition: "inline", // optional, or "components" for keeping schemas in a separate dedicated section using refs
842
843
  }).getSpecAsYaml();
843
844
  ```
844
845
 
package/dist/client.js CHANGED
@@ -13,6 +13,7 @@ const routing_walker_1 = require("./routing-walker");
13
13
  const zts_1 = require("./zts");
14
14
  const zts_helpers_1 = require("./zts-helpers");
15
15
  class Client {
16
+ // @todo for v10: change to an object, similar to OpenAPI
16
17
  constructor(routing) {
17
18
  this.agg = [];
18
19
  this.registry = {};
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { MediaTypeObject, ParameterObject, RequestBodyObject, ResponseObject, SchemaObject, SecurityRequirementObject, SecuritySchemeObject, TagObject } from "openapi3-ts";
1
+ import { MediaTypeObject, ParameterObject, ReferenceObject, RequestBodyObject, ResponseObject, SchemaObject, SecurityRequirementObject, SecuritySchemeObject, TagObject } from "openapi3-ts";
2
2
  import { z } from "zod";
3
3
  import { InputSource, TagsConfig } from "./config-type";
4
4
  import { ZodDateIn } from "./date-in-schema";
@@ -14,12 +14,17 @@ import { ZodUpload } from "./upload-schema";
14
14
  type MediaExamples = Pick<MediaTypeObject, "examples">;
15
15
  export interface OpenAPIContext {
16
16
  isResponse: boolean;
17
+ serializer: (schema: z.ZodTypeAny) => string;
18
+ hasRef: (name: string) => boolean;
19
+ makeRef: (name: string, schema: SchemaObject | ReferenceObject) => ReferenceObject;
17
20
  }
18
- type Depicter<T extends z.ZodTypeAny, Variant extends HandlingVariant = "regular"> = SchemaHandler<T, SchemaObject, OpenAPIContext, Variant>;
19
- interface ReqResDepictHelperCommonProps {
21
+ type Depicter<T extends z.ZodTypeAny, Variant extends HandlingVariant = "regular"> = SchemaHandler<T, SchemaObject | ReferenceObject, OpenAPIContext, Variant>;
22
+ interface ReqResDepictHelperCommonProps extends Pick<OpenAPIContext, "serializer" | "hasRef" | "makeRef"> {
20
23
  method: Method;
21
24
  path: string;
22
25
  endpoint: AbstractEndpoint;
26
+ composition: "inline" | "components";
27
+ clue?: string;
23
28
  }
24
29
  export declare const reformatParamsInPath: (path: string) => string;
25
30
  export declare const depictDefault: Depicter<z.ZodDefault<z.ZodTypeAny>>;
@@ -53,23 +58,24 @@ export declare const depictTuple: Depicter<z.ZodTuple>;
53
58
  export declare const depictString: Depicter<z.ZodString>;
54
59
  /** @todo support exclusive min/max as numbers in case of OpenAPI v3.1.x */
55
60
  export declare const depictNumber: Depicter<z.ZodNumber>;
56
- export declare const depictObjectProperties: ({ schema: { shape }, next, }: Parameters<Depicter<z.AnyZodObject>>[0]) => Record<string, SchemaObject>;
61
+ export declare const depictObjectProperties: ({ schema: { shape }, next, }: Parameters<Depicter<z.AnyZodObject>>[0]) => Record<string, SchemaObject | ReferenceObject>;
57
62
  export declare const depictEffect: Depicter<z.ZodEffects<z.ZodTypeAny>>;
58
63
  export declare const depictPipeline: Depicter<z.ZodPipeline<any, any>>;
59
64
  export declare const depictBranded: Depicter<z.ZodBranded<z.ZodTypeAny, any>>;
65
+ export declare const defaultSerializer: (schema: z.ZodTypeAny) => string;
66
+ export declare const depictLazy: Depicter<z.ZodLazy<z.ZodTypeAny>>;
60
67
  export declare const depictExamples: (schema: z.ZodTypeAny, isResponse: boolean, omitProps?: string[]) => MediaExamples;
61
68
  export declare const depictParamExamples: (schema: z.ZodTypeAny, isResponse: boolean, param: string) => MediaExamples;
62
69
  export declare function extractObjectSchema(subject: IOSchema): z.AnyZodObject;
63
- export declare const depictRequestParams: ({ path, method, endpoint, inputSources, }: ReqResDepictHelperCommonProps & {
70
+ export declare const depictRequestParams: ({ path, method, endpoint, inputSources, serializer, hasRef, makeRef, composition, clue, }: ReqResDepictHelperCommonProps & {
64
71
  inputSources: InputSource[];
65
72
  }) => ParameterObject[];
66
- export declare const depicters: HandlingRules<SchemaObject, OpenAPIContext>;
73
+ export declare const depicters: HandlingRules<SchemaObject | ReferenceObject, OpenAPIContext>;
67
74
  export declare const onEach: Depicter<z.ZodTypeAny, "last">;
68
75
  export declare const onMissing: (schema: z.ZodTypeAny) => never;
69
- export declare const excludeParamsFromDepiction: (depicted: SchemaObject, pathParams: string[]) => SchemaObject;
70
- export declare const excludeExampleFromDepiction: (depicted: SchemaObject) => SchemaObject;
71
- export declare const depictResponse: ({ method, path, description, endpoint, isPositive, }: ReqResDepictHelperCommonProps & {
72
- description: string;
76
+ export declare const excludeParamsFromDepiction: (depicted: SchemaObject | ReferenceObject, pathParams: string[]) => SchemaObject | ReferenceObject;
77
+ export declare const excludeExampleFromDepiction: (depicted: SchemaObject | ReferenceObject) => SchemaObject | ReferenceObject;
78
+ export declare const depictResponse: ({ method, path, endpoint, isPositive, serializer, hasRef, makeRef, composition, clue, }: ReqResDepictHelperCommonProps & {
73
79
  isPositive: boolean;
74
80
  }) => ResponseObject;
75
81
  export declare const depictSecurity: (container: LogicalContainer<Security>) => LogicalContainer<SecuritySchemeObject>;
@@ -77,7 +83,7 @@ export declare const depictSecurityRefs: (container: LogicalContainer<{
77
83
  name: string;
78
84
  scopes: string[];
79
85
  }>) => SecurityRequirementObject[];
80
- export declare const depictRequest: ({ method, path, endpoint, }: ReqResDepictHelperCommonProps) => RequestBodyObject;
86
+ export declare const depictRequest: ({ method, path, endpoint, serializer, hasRef, makeRef, composition, clue, }: ReqResDepictHelperCommonProps) => RequestBodyObject;
81
87
  export declare const depictTags: <TAG extends string>(tags: TagsConfig<TAG>) => TagObject[];
82
88
  export declare const ensureShortDescription: (description: string) => string;
83
89
  export {};
@@ -1,6 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ensureShortDescription = exports.depictTags = exports.depictRequest = exports.depictSecurityRefs = exports.depictSecurity = exports.depictResponse = exports.excludeExampleFromDepiction = exports.excludeParamsFromDepiction = exports.onMissing = exports.onEach = exports.depicters = exports.depictRequestParams = exports.extractObjectSchema = exports.depictParamExamples = exports.depictExamples = exports.depictBranded = exports.depictPipeline = exports.depictEffect = exports.depictObjectProperties = exports.depictNumber = exports.depictString = exports.depictTuple = exports.depictArray = exports.depictRecord = exports.depictBigInt = exports.depictBoolean = exports.depictDate = exports.depictDateOut = exports.depictDateIn = exports.depictNull = exports.depictObject = exports.depictLiteral = exports.depictEnum = exports.depictNullable = exports.depictOptional = exports.depictIntersection = exports.depictDiscriminatedUnion = exports.depictUnion = exports.depictFile = exports.depictUpload = exports.depictAny = exports.depictCatch = exports.depictDefault = exports.reformatParamsInPath = void 0;
3
+ exports.ensureShortDescription = exports.depictTags = exports.depictRequest = exports.depictSecurityRefs = exports.depictSecurity = exports.depictResponse = exports.excludeExampleFromDepiction = exports.excludeParamsFromDepiction = exports.onMissing = exports.onEach = exports.depicters = exports.depictRequestParams = exports.extractObjectSchema = exports.depictParamExamples = exports.depictExamples = exports.depictLazy = exports.defaultSerializer = exports.depictBranded = exports.depictPipeline = exports.depictEffect = exports.depictObjectProperties = exports.depictNumber = exports.depictString = exports.depictTuple = exports.depictArray = exports.depictRecord = exports.depictBigInt = exports.depictBoolean = exports.depictDate = exports.depictDateOut = exports.depictDateIn = exports.depictNull = exports.depictObject = exports.depictLiteral = exports.depictEnum = exports.depictNullable = exports.depictOptional = exports.depictIntersection = exports.depictDiscriminatedUnion = exports.depictUnion = exports.depictFile = exports.depictUpload = exports.depictAny = exports.depictCatch = exports.depictDefault = exports.reformatParamsInPath = void 0;
4
+ const crypto_1 = require("crypto");
5
+ const openapi3_ts_1 = require("openapi3-ts");
4
6
  const ramda_1 = require("ramda");
5
7
  const zod_1 = require("zod");
6
8
  const common_helpers_1 = require("./common-helpers");
@@ -86,7 +88,7 @@ const depictLiteral = ({ schema: { value }, }) => ({
86
88
  enum: [value],
87
89
  });
88
90
  exports.depictLiteral = depictLiteral;
89
- const depictObject = ({ schema, isResponse, next, }) => {
91
+ const depictObject = ({ schema, isResponse, ...rest }) => {
90
92
  const required = Object.keys(schema.shape).filter((key) => {
91
93
  const prop = schema.shape[key];
92
94
  const isOptional = isResponse && (0, common_helpers_1.hasCoercion)(prop)
@@ -96,7 +98,7 @@ const depictObject = ({ schema, isResponse, next, }) => {
96
98
  });
97
99
  return {
98
100
  type: "object",
99
- properties: (0, exports.depictObjectProperties)({ schema, isResponse, next }),
101
+ properties: (0, exports.depictObjectProperties)({ schema, isResponse, ...rest }),
100
102
  ...(required.length ? { required } : {}),
101
103
  };
102
104
  };
@@ -154,7 +156,7 @@ const depictBigInt = () => ({
154
156
  format: "bigint",
155
157
  });
156
158
  exports.depictBigInt = depictBigInt;
157
- const depictRecord = ({ schema: { keySchema, valueSchema }, isResponse, next, }) => {
159
+ const depictRecord = ({ schema: { keySchema, valueSchema }, ...rest }) => {
158
160
  if (keySchema instanceof zod_1.z.ZodEnum || keySchema instanceof zod_1.z.ZodNativeEnum) {
159
161
  const keys = Object.values(keySchema.enum);
160
162
  const shape = keys.reduce((carry, key) => ({
@@ -165,8 +167,7 @@ const depictRecord = ({ schema: { keySchema, valueSchema }, isResponse, next, })
165
167
  type: "object",
166
168
  properties: (0, exports.depictObjectProperties)({
167
169
  schema: zod_1.z.object(shape),
168
- isResponse,
169
- next,
170
+ ...rest,
170
171
  }),
171
172
  ...(keys.length ? { required: keys } : {}),
172
173
  };
@@ -178,8 +179,7 @@ const depictRecord = ({ schema: { keySchema, valueSchema }, isResponse, next, })
178
179
  schema: zod_1.z.object({
179
180
  [keySchema.value]: valueSchema,
180
181
  }),
181
- isResponse,
182
- next,
182
+ ...rest,
183
183
  }),
184
184
  required: [keySchema.value],
185
185
  };
@@ -195,8 +195,7 @@ const depictRecord = ({ schema: { keySchema, valueSchema }, isResponse, next, })
195
195
  type: "object",
196
196
  properties: (0, exports.depictObjectProperties)({
197
197
  schema: zod_1.z.object(shape),
198
- isResponse,
199
- next,
198
+ ...rest,
200
199
  }),
201
200
  required: keySchema.options.map((option) => option.value),
202
201
  };
@@ -204,7 +203,7 @@ const depictRecord = ({ schema: { keySchema, valueSchema }, isResponse, next, })
204
203
  }
205
204
  return {
206
205
  type: "object",
207
- additionalProperties: next({ schema: valueSchema }),
206
+ additionalProperties: rest.next({ schema: valueSchema }),
208
207
  };
209
208
  };
210
209
  exports.depictRecord = depictRecord;
@@ -227,7 +226,7 @@ const depictTuple = ({ schema: { items }, next, }) => {
227
226
  format: "tuple",
228
227
  ...(types.length > 0 && {
229
228
  description: types
230
- .map((item, index) => `${index}: ${item.type}`)
229
+ .map((item, index) => `${index}: ${(0, openapi3_ts_1.isSchemaObject)(item) ? item.type : item.$ref}`)
231
230
  .join(", "),
232
231
  }),
233
232
  },
@@ -299,7 +298,7 @@ const makeSample = (depicted) => {
299
298
  const depictEffect = ({ schema, isResponse, next, }) => {
300
299
  const input = next({ schema: schema.innerType() });
301
300
  const { effect } = schema._def;
302
- if (isResponse && effect.type === "transform") {
301
+ if (isResponse && effect.type === "transform" && (0, openapi3_ts_1.isSchemaObject)(input)) {
303
302
  const outputType = (0, common_helpers_1.tryToTransform)({ effect, sample: makeSample(input) });
304
303
  if (outputType && ["number", "string", "boolean"].includes(outputType)) {
305
304
  return { type: outputType };
@@ -308,7 +307,7 @@ const depictEffect = ({ schema, isResponse, next, }) => {
308
307
  return next({ schema: zod_1.z.any() });
309
308
  }
310
309
  }
311
- if (!isResponse && effect.type === "preprocess") {
310
+ if (!isResponse && effect.type === "preprocess" && (0, openapi3_ts_1.isSchemaObject)(input)) {
312
311
  const { type: inputType, ...rest } = input;
313
312
  return {
314
313
  ...rest,
@@ -322,6 +321,18 @@ const depictPipeline = ({ schema, isResponse, next, }) => next({ schema: schema.
322
321
  exports.depictPipeline = depictPipeline;
323
322
  const depictBranded = ({ schema, next, }) => next({ schema: schema.unwrap() });
324
323
  exports.depictBranded = depictBranded;
324
+ const defaultSerializer = (schema) => (0, crypto_1.createHash)("sha1").update(JSON.stringify(schema), "utf8").digest("hex");
325
+ exports.defaultSerializer = defaultSerializer;
326
+ const depictLazy = ({ next, schema: lazy, serializer: serialize, hasRef, makeRef, }) => {
327
+ const hash = serialize(lazy.schema);
328
+ if (hasRef(hash)) {
329
+ return { $ref: `#/components/schemas/${hash}` }; // @todo consider changing it to getRef that return ReferenceObject
330
+ }
331
+ const ref = makeRef(hash, {}); // make empty ref first
332
+ makeRef(hash, next({ schema: lazy.schema })); // update
333
+ return ref;
334
+ };
335
+ exports.depictLazy = depictLazy;
325
336
  const depictExamples = (schema, isResponse, omitProps = []) => {
326
337
  const examples = (0, common_helpers_1.getExamples)(schema, isResponse);
327
338
  if (examples.length === 0) {
@@ -378,7 +389,7 @@ function extractObjectSchema(subject) {
378
389
  return (0, metadata_1.copyMeta)(subject, objectSchema);
379
390
  }
380
391
  exports.extractObjectSchema = extractObjectSchema;
381
- const depictRequestParams = ({ path, method, endpoint, inputSources, }) => {
392
+ const depictRequestParams = ({ path, method, endpoint, inputSources, serializer, hasRef, makeRef, composition, clue = "parameter", }) => {
382
393
  const schema = endpoint.getSchema("input");
383
394
  const shape = extractObjectSchema(schema).shape;
384
395
  const pathParams = (0, common_helpers_1.getRoutePathParams)(path);
@@ -387,22 +398,29 @@ const depictRequestParams = ({ path, method, endpoint, inputSources, }) => {
387
398
  const isPathParam = (name) => isParamsEnabled && pathParams.includes(name);
388
399
  return Object.keys(shape)
389
400
  .filter((name) => isQueryEnabled || isPathParam(name))
390
- .map((name) => ({
391
- name,
392
- in: isPathParam(name) ? "path" : "query",
393
- required: !shape[name].isOptional(),
394
- schema: {
395
- description: `${method.toUpperCase()} ${path} parameter`,
396
- ...(0, schema_walker_1.walkSchema)({
397
- schema: shape[name],
398
- isResponse: false,
399
- rules: exports.depicters,
400
- onEach: exports.onEach,
401
- onMissing: exports.onMissing,
402
- }),
403
- },
404
- ...(0, exports.depictParamExamples)(schema, false, name),
405
- }));
401
+ .map((name) => {
402
+ const depicted = (0, schema_walker_1.walkSchema)({
403
+ schema: shape[name],
404
+ isResponse: false,
405
+ rules: exports.depicters,
406
+ onEach: exports.onEach,
407
+ onMissing: exports.onMissing,
408
+ serializer,
409
+ hasRef,
410
+ makeRef,
411
+ });
412
+ const result = composition === "components"
413
+ ? makeRef((0, common_helpers_1.makeCleanId)(path, method, `${clue} ${name}`), depicted)
414
+ : depicted;
415
+ return {
416
+ name,
417
+ in: isPathParam(name) ? "path" : "query",
418
+ required: !shape[name].isOptional(),
419
+ description: `${method.toUpperCase()} ${path} ${clue}`,
420
+ schema: result,
421
+ ...(0, exports.depictParamExamples)(schema, false, name),
422
+ };
423
+ });
406
424
  };
407
425
  exports.depictRequestParams = depictRequestParams;
408
426
  exports.depicters = {
@@ -434,13 +452,16 @@ exports.depicters = {
434
452
  ZodDate: exports.depictDate,
435
453
  ZodCatch: exports.depictCatch,
436
454
  ZodPipeline: exports.depictPipeline,
455
+ ZodLazy: exports.depictLazy,
437
456
  };
438
457
  const onEach = ({ schema, isResponse, }) => {
439
458
  const { description } = schema;
440
- const examples = (0, common_helpers_1.getExamples)(schema, isResponse);
459
+ const shouldAvoidParsing = schema instanceof zod_1.z.ZodLazy;
460
+ const examples = shouldAvoidParsing ? [] : (0, common_helpers_1.getExamples)(schema, isResponse);
441
461
  return {
442
462
  ...(description && { description }),
443
- ...(schema.isNullable() &&
463
+ ...(!shouldAvoidParsing &&
464
+ schema.isNullable() &&
444
465
  !(isResponse && (0, common_helpers_1.hasCoercion)(schema)) && { nullable: true }),
445
466
  ...(examples.length > 0 && { example: examples[0] }),
446
467
  };
@@ -451,6 +472,9 @@ const onMissing = (schema) => {
451
472
  };
452
473
  exports.onMissing = onMissing;
453
474
  const excludeParamsFromDepiction = (depicted, pathParams) => {
475
+ if ((0, openapi3_ts_1.isReferenceObject)(depicted)) {
476
+ return depicted;
477
+ }
454
478
  const properties = depicted.properties
455
479
  ? (0, ramda_1.omit)(pathParams, depicted.properties)
456
480
  : undefined;
@@ -478,31 +502,30 @@ const excludeParamsFromDepiction = (depicted, pathParams) => {
478
502
  });
479
503
  };
480
504
  exports.excludeParamsFromDepiction = excludeParamsFromDepiction;
481
- const excludeExampleFromDepiction = (depicted) => (0, ramda_1.omit)(["example"], depicted);
505
+ const excludeExampleFromDepiction = (depicted) => (0, openapi3_ts_1.isSchemaObject)(depicted) ? (0, ramda_1.omit)(["example"], depicted) : depicted;
482
506
  exports.excludeExampleFromDepiction = excludeExampleFromDepiction;
483
- const depictResponse = ({ method, path, description, endpoint, isPositive, }) => {
484
- const schema = isPositive
485
- ? endpoint.getSchema("positive")
486
- : endpoint.getSchema("negative");
487
- const mimeTypes = isPositive
488
- ? endpoint.getMimeTypes("positive")
489
- : endpoint.getMimeTypes("negative");
507
+ const depictResponse = ({ method, path, endpoint, isPositive, serializer, hasRef, makeRef, composition, clue = "response", }) => {
508
+ const schema = endpoint.getSchema(isPositive ? "positive" : "negative");
509
+ const mimeTypes = endpoint.getMimeTypes(isPositive ? "positive" : "negative");
490
510
  const depictedSchema = (0, exports.excludeExampleFromDepiction)((0, schema_walker_1.walkSchema)({
491
511
  schema,
492
512
  isResponse: true,
493
513
  rules: exports.depicters,
494
514
  onEach: exports.onEach,
495
515
  onMissing: exports.onMissing,
516
+ serializer,
517
+ hasRef,
518
+ makeRef,
496
519
  }));
497
520
  const examples = (0, exports.depictExamples)(schema, true);
521
+ const result = composition === "components"
522
+ ? makeRef((0, common_helpers_1.makeCleanId)(path, method, clue), depictedSchema)
523
+ : depictedSchema;
498
524
  return {
499
- description: `${method.toUpperCase()} ${path} ${description}`,
525
+ description: `${method.toUpperCase()} ${path} ${clue}`,
500
526
  content: mimeTypes.reduce((carry, mimeType) => ({
501
527
  ...carry,
502
- [mimeType]: {
503
- schema: depictedSchema,
504
- ...examples,
505
- },
528
+ [mimeType]: { schema: result, ...examples },
506
529
  }), {}),
507
530
  };
508
531
  };
@@ -577,7 +600,7 @@ const depictSecurityRefs = (container) => {
577
600
  return (0, exports.depictSecurityRefs)({ or: [container] });
578
601
  };
579
602
  exports.depictSecurityRefs = depictSecurityRefs;
580
- const depictRequest = ({ method, path, endpoint, }) => {
603
+ const depictRequest = ({ method, path, endpoint, serializer, hasRef, makeRef, composition, clue = "request body", }) => {
581
604
  const pathParams = (0, common_helpers_1.getRoutePathParams)(path);
582
605
  const bodyDepiction = (0, exports.excludeExampleFromDepiction)((0, exports.excludeParamsFromDepiction)((0, schema_walker_1.walkSchema)({
583
606
  schema: endpoint.getSchema("input"),
@@ -585,18 +608,19 @@ const depictRequest = ({ method, path, endpoint, }) => {
585
608
  rules: exports.depicters,
586
609
  onEach: exports.onEach,
587
610
  onMissing: exports.onMissing,
611
+ serializer,
612
+ hasRef,
613
+ makeRef,
588
614
  }), pathParams));
589
615
  const bodyExamples = (0, exports.depictExamples)(endpoint.getSchema("input"), false, pathParams);
616
+ const result = composition === "components"
617
+ ? makeRef((0, common_helpers_1.makeCleanId)(path, method, clue), bodyDepiction)
618
+ : bodyDepiction;
590
619
  return {
620
+ description: `${method.toUpperCase()} ${path} ${clue}`,
591
621
  content: endpoint.getMimeTypes("input").reduce((carry, mimeType) => ({
592
622
  ...carry,
593
- [mimeType]: {
594
- schema: {
595
- description: `${method.toUpperCase()} ${path} request body`,
596
- ...bodyDepiction,
597
- },
598
- ...bodyExamples,
599
- },
623
+ [mimeType]: { schema: result, ...bodyExamples },
600
624
  }), {}),
601
625
  };
602
626
  };
@@ -1 +1 @@
1
- {"version":3,"file":"open-api-helpers.js","sourceRoot":"","sources":["../src/open-api-helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"open-api-helpers.js","sourceRoot":"","sources":["../src/open-api-helpers.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
- import { OpenApiBuilder, SecuritySchemeObject, SecuritySchemeType } from "openapi3-ts";
1
+ import { OpenApiBuilder, ReferenceObject, SchemaObject, SecuritySchemeObject, SecuritySchemeType } from "openapi3-ts";
2
+ import { z } from "zod";
2
3
  import { CommonConfig } from "./config-type";
3
4
  import { Method } from "./method";
4
5
  import { Routing } from "./routing";
@@ -14,12 +15,21 @@ interface GeneratorParams {
14
15
  errorResponseDescription?: string;
15
16
  /** @default true */
16
17
  hasSummaryFromDescription?: boolean;
18
+ /** @default inline */
19
+ composition?: "inline" | "components";
20
+ /**
21
+ * @desc Used for comparing schemas wrapped into z.lazy() to limit the recursion
22
+ * @default JSON.stringify() + SHA1 hash as a hex digest
23
+ * */
24
+ serializer?: (schema: z.ZodTypeAny) => string;
17
25
  }
18
26
  export declare class OpenAPI extends OpenApiBuilder {
19
27
  protected lastSecuritySchemaIds: Partial<Record<SecuritySchemeType, number>>;
20
28
  protected lastOperationIdSuffixes: Record<string, number>;
29
+ protected makeRef(name: string, schema: SchemaObject | ReferenceObject): ReferenceObject;
30
+ protected hasRef(name: string): boolean;
21
31
  protected ensureUniqOperationId(path: string, method: Method): string;
22
32
  protected ensureUniqSecuritySchemaName(subject: SecuritySchemeObject): string;
23
- constructor({ routing, config, title, version, serverUrl, successfulResponseDescription, errorResponseDescription, hasSummaryFromDescription, }: GeneratorParams);
33
+ constructor({ routing, config, title, version, serverUrl, successfulResponseDescription, errorResponseDescription, hasSummaryFromDescription, composition, serializer, }: GeneratorParams);
24
34
  }
25
35
  export {};
package/dist/open-api.js CHANGED
@@ -7,6 +7,13 @@ const logical_container_1 = require("./logical-container");
7
7
  const open_api_helpers_1 = require("./open-api-helpers");
8
8
  const routing_walker_1 = require("./routing-walker");
9
9
  class OpenAPI extends openapi3_ts_1.OpenApiBuilder {
10
+ makeRef(name, schema) {
11
+ this.addSchema(name, schema);
12
+ return { $ref: `#/components/schemas/${name}` };
13
+ }
14
+ hasRef(name) {
15
+ return name in (this.rootDoc.components?.schemas || {});
16
+ }
10
17
  ensureUniqOperationId(path, method) {
11
18
  const operationId = (0, common_helpers_1.makeCleanId)(path, method);
12
19
  if (operationId in this.lastOperationIdSuffixes) {
@@ -17,8 +24,9 @@ class OpenAPI extends openapi3_ts_1.OpenApiBuilder {
17
24
  return operationId;
18
25
  }
19
26
  ensureUniqSecuritySchemaName(subject) {
27
+ const serializedSubject = JSON.stringify(subject);
20
28
  for (const name in this.rootDoc.components?.securitySchemes || {}) {
21
- if (JSON.stringify(subject) ===
29
+ if (serializedSubject ===
22
30
  JSON.stringify(this.rootDoc.components?.securitySchemes?.[name])) {
23
31
  return name;
24
32
  }
@@ -27,14 +35,22 @@ class OpenAPI extends openapi3_ts_1.OpenApiBuilder {
27
35
  (this.lastSecuritySchemaIds?.[subject.type] || 0) + 1;
28
36
  return `${subject.type.toUpperCase()}_${this.lastSecuritySchemaIds[subject.type]}`;
29
37
  }
30
- constructor({ routing, config, title, version, serverUrl, successfulResponseDescription = "Successful response", errorResponseDescription = "Error response", hasSummaryFromDescription = true, }) {
38
+ constructor({ routing, config, title, version, serverUrl, successfulResponseDescription = "Successful response", errorResponseDescription = "Error response", hasSummaryFromDescription = true, composition = "inline", serializer = open_api_helpers_1.defaultSerializer, }) {
31
39
  super();
32
40
  this.lastSecuritySchemaIds = {};
33
41
  this.lastOperationIdSuffixes = {};
34
42
  this.addInfo({ title, version }).addServer({ url: serverUrl });
35
43
  const onEndpoint = (endpoint, path, _method) => {
36
44
  const method = _method;
37
- const commonParams = { path, method, endpoint };
45
+ const commonParams = {
46
+ path,
47
+ method,
48
+ endpoint,
49
+ composition,
50
+ serializer,
51
+ hasRef: this.hasRef.bind(this),
52
+ makeRef: this.makeRef.bind(this),
53
+ };
38
54
  const [shortDesc, longDesc] = ["short", "long"].map(endpoint.getDescription.bind(endpoint));
39
55
  const inputSources = config.inputSources?.[method] || common_helpers_1.defaultInputSources[method];
40
56
  const depictedParams = (0, open_api_helpers_1.depictRequestParams)({
@@ -46,12 +62,12 @@ class OpenAPI extends openapi3_ts_1.OpenApiBuilder {
46
62
  responses: {
47
63
  [endpoint.getStatusCode("positive")]: (0, open_api_helpers_1.depictResponse)({
48
64
  ...commonParams,
49
- description: successfulResponseDescription,
65
+ clue: successfulResponseDescription,
50
66
  isPositive: true,
51
67
  }),
52
68
  [endpoint.getStatusCode("negative")]: (0, open_api_helpers_1.depictResponse)({
53
69
  ...commonParams,
54
- description: errorResponseDescription,
70
+ clue: errorResponseDescription,
55
71
  isPositive: false,
56
72
  }),
57
73
  },
@@ -1 +1 @@
1
- {"version":3,"file":"open-api.js","sourceRoot":"","sources":["../src/open-api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"open-api.js","sourceRoot":"","sources":["../src/open-api.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,7 @@ import { walkRouting } from "./routing-walker.js";
7
7
  import { zodToTs } from "./zts.js";
8
8
  import { createTypeAlias, printNode } from "./zts-helpers.js";
9
9
  export class Client {
10
+ // @todo for v10: change to an object, similar to OpenAPI
10
11
  constructor(routing) {
11
12
  this.agg = [];
12
13
  this.registry = {};
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,8 @@
1
+ import { createHash } from "crypto";
2
+ import { isReferenceObject, isSchemaObject, } from "openapi3-ts";
1
3
  import { omit } from "ramda";
2
4
  import { z } from "zod";
3
- import { getExamples, getRoutePathParams, hasCoercion, hasTopLevelTransformingEffect, routePathParamsRegex, tryToTransform, } from "./common-helpers.js";
5
+ import { getExamples, getRoutePathParams, hasCoercion, hasTopLevelTransformingEffect, makeCleanId, routePathParamsRegex, tryToTransform, } from "./common-helpers.js";
4
6
  import { isoDateRegex } from "./date-in-schema.js";
5
7
  import { OpenAPIError } from "./errors.js";
6
8
  import { andToOr, mapLogicalContainer, } from "./logical-container.js";
@@ -70,7 +72,7 @@ export const depictLiteral = ({ schema: { value }, }) => ({
70
72
  type: typeof value,
71
73
  enum: [value],
72
74
  });
73
- export const depictObject = ({ schema, isResponse, next, }) => {
75
+ export const depictObject = ({ schema, isResponse, ...rest }) => {
74
76
  const required = Object.keys(schema.shape).filter((key) => {
75
77
  const prop = schema.shape[key];
76
78
  const isOptional = isResponse && hasCoercion(prop)
@@ -80,7 +82,7 @@ export const depictObject = ({ schema, isResponse, next, }) => {
80
82
  });
81
83
  return {
82
84
  type: "object",
83
- properties: depictObjectProperties({ schema, isResponse, next }),
85
+ properties: depictObjectProperties({ schema, isResponse, ...rest }),
84
86
  ...(required.length ? { required } : {}),
85
87
  };
86
88
  };
@@ -131,7 +133,7 @@ export const depictBigInt = () => ({
131
133
  type: "integer",
132
134
  format: "bigint",
133
135
  });
134
- export const depictRecord = ({ schema: { keySchema, valueSchema }, isResponse, next, }) => {
136
+ export const depictRecord = ({ schema: { keySchema, valueSchema }, ...rest }) => {
135
137
  if (keySchema instanceof z.ZodEnum || keySchema instanceof z.ZodNativeEnum) {
136
138
  const keys = Object.values(keySchema.enum);
137
139
  const shape = keys.reduce((carry, key) => ({
@@ -142,8 +144,7 @@ export const depictRecord = ({ schema: { keySchema, valueSchema }, isResponse, n
142
144
  type: "object",
143
145
  properties: depictObjectProperties({
144
146
  schema: z.object(shape),
145
- isResponse,
146
- next,
147
+ ...rest,
147
148
  }),
148
149
  ...(keys.length ? { required: keys } : {}),
149
150
  };
@@ -155,8 +156,7 @@ export const depictRecord = ({ schema: { keySchema, valueSchema }, isResponse, n
155
156
  schema: z.object({
156
157
  [keySchema.value]: valueSchema,
157
158
  }),
158
- isResponse,
159
- next,
159
+ ...rest,
160
160
  }),
161
161
  required: [keySchema.value],
162
162
  };
@@ -172,8 +172,7 @@ export const depictRecord = ({ schema: { keySchema, valueSchema }, isResponse, n
172
172
  type: "object",
173
173
  properties: depictObjectProperties({
174
174
  schema: z.object(shape),
175
- isResponse,
176
- next,
175
+ ...rest,
177
176
  }),
178
177
  required: keySchema.options.map((option) => option.value),
179
178
  };
@@ -181,7 +180,7 @@ export const depictRecord = ({ schema: { keySchema, valueSchema }, isResponse, n
181
180
  }
182
181
  return {
183
182
  type: "object",
184
- additionalProperties: next({ schema: valueSchema }),
183
+ additionalProperties: rest.next({ schema: valueSchema }),
185
184
  };
186
185
  };
187
186
  export const depictArray = ({ schema: { _def: def, element }, next, }) => ({
@@ -202,7 +201,7 @@ export const depictTuple = ({ schema: { items }, next, }) => {
202
201
  format: "tuple",
203
202
  ...(types.length > 0 && {
204
203
  description: types
205
- .map((item, index) => `${index}: ${item.type}`)
204
+ .map((item, index) => `${index}: ${isSchemaObject(item) ? item.type : item.$ref}`)
206
205
  .join(", "),
207
206
  }),
208
207
  },
@@ -270,7 +269,7 @@ const makeSample = (depicted) => {
270
269
  export const depictEffect = ({ schema, isResponse, next, }) => {
271
270
  const input = next({ schema: schema.innerType() });
272
271
  const { effect } = schema._def;
273
- if (isResponse && effect.type === "transform") {
272
+ if (isResponse && effect.type === "transform" && isSchemaObject(input)) {
274
273
  const outputType = tryToTransform({ effect, sample: makeSample(input) });
275
274
  if (outputType && ["number", "string", "boolean"].includes(outputType)) {
276
275
  return { type: outputType };
@@ -279,7 +278,7 @@ export const depictEffect = ({ schema, isResponse, next, }) => {
279
278
  return next({ schema: z.any() });
280
279
  }
281
280
  }
282
- if (!isResponse && effect.type === "preprocess") {
281
+ if (!isResponse && effect.type === "preprocess" && isSchemaObject(input)) {
283
282
  const { type: inputType, ...rest } = input;
284
283
  return {
285
284
  ...rest,
@@ -290,6 +289,16 @@ export const depictEffect = ({ schema, isResponse, next, }) => {
290
289
  };
291
290
  export const depictPipeline = ({ schema, isResponse, next, }) => next({ schema: schema._def[isResponse ? "out" : "in"] });
292
291
  export const depictBranded = ({ schema, next, }) => next({ schema: schema.unwrap() });
292
+ export const defaultSerializer = (schema) => createHash("sha1").update(JSON.stringify(schema), "utf8").digest("hex");
293
+ export const depictLazy = ({ next, schema: lazy, serializer: serialize, hasRef, makeRef, }) => {
294
+ const hash = serialize(lazy.schema);
295
+ if (hasRef(hash)) {
296
+ return { $ref: `#/components/schemas/${hash}` }; // @todo consider changing it to getRef that return ReferenceObject
297
+ }
298
+ const ref = makeRef(hash, {}); // make empty ref first
299
+ makeRef(hash, next({ schema: lazy.schema })); // update
300
+ return ref;
301
+ };
293
302
  export const depictExamples = (schema, isResponse, omitProps = []) => {
294
303
  const examples = getExamples(schema, isResponse);
295
304
  if (examples.length === 0) {
@@ -343,7 +352,7 @@ export function extractObjectSchema(subject) {
343
352
  }
344
353
  return copyMeta(subject, objectSchema);
345
354
  }
346
- export const depictRequestParams = ({ path, method, endpoint, inputSources, }) => {
355
+ export const depictRequestParams = ({ path, method, endpoint, inputSources, serializer, hasRef, makeRef, composition, clue = "parameter", }) => {
347
356
  const schema = endpoint.getSchema("input");
348
357
  const shape = extractObjectSchema(schema).shape;
349
358
  const pathParams = getRoutePathParams(path);
@@ -352,22 +361,29 @@ export const depictRequestParams = ({ path, method, endpoint, inputSources, }) =
352
361
  const isPathParam = (name) => isParamsEnabled && pathParams.includes(name);
353
362
  return Object.keys(shape)
354
363
  .filter((name) => isQueryEnabled || isPathParam(name))
355
- .map((name) => ({
356
- name,
357
- in: isPathParam(name) ? "path" : "query",
358
- required: !shape[name].isOptional(),
359
- schema: {
360
- description: `${method.toUpperCase()} ${path} parameter`,
361
- ...walkSchema({
362
- schema: shape[name],
363
- isResponse: false,
364
- rules: depicters,
365
- onEach,
366
- onMissing,
367
- }),
368
- },
369
- ...depictParamExamples(schema, false, name),
370
- }));
364
+ .map((name) => {
365
+ const depicted = walkSchema({
366
+ schema: shape[name],
367
+ isResponse: false,
368
+ rules: depicters,
369
+ onEach,
370
+ onMissing,
371
+ serializer,
372
+ hasRef,
373
+ makeRef,
374
+ });
375
+ const result = composition === "components"
376
+ ? makeRef(makeCleanId(path, method, `${clue} ${name}`), depicted)
377
+ : depicted;
378
+ return {
379
+ name,
380
+ in: isPathParam(name) ? "path" : "query",
381
+ required: !shape[name].isOptional(),
382
+ description: `${method.toUpperCase()} ${path} ${clue}`,
383
+ schema: result,
384
+ ...depictParamExamples(schema, false, name),
385
+ };
386
+ });
371
387
  };
372
388
  export const depicters = {
373
389
  ZodString: depictString,
@@ -398,13 +414,16 @@ export const depicters = {
398
414
  ZodDate: depictDate,
399
415
  ZodCatch: depictCatch,
400
416
  ZodPipeline: depictPipeline,
417
+ ZodLazy: depictLazy,
401
418
  };
402
419
  export const onEach = ({ schema, isResponse, }) => {
403
420
  const { description } = schema;
404
- const examples = getExamples(schema, isResponse);
421
+ const shouldAvoidParsing = schema instanceof z.ZodLazy;
422
+ const examples = shouldAvoidParsing ? [] : getExamples(schema, isResponse);
405
423
  return {
406
424
  ...(description && { description }),
407
- ...(schema.isNullable() &&
425
+ ...(!shouldAvoidParsing &&
426
+ schema.isNullable() &&
408
427
  !(isResponse && hasCoercion(schema)) && { nullable: true }),
409
428
  ...(examples.length > 0 && { example: examples[0] }),
410
429
  };
@@ -413,6 +432,9 @@ export const onMissing = (schema) => {
413
432
  throw new OpenAPIError(`Zod type ${schema.constructor.name} is unsupported`);
414
433
  };
415
434
  export const excludeParamsFromDepiction = (depicted, pathParams) => {
435
+ if (isReferenceObject(depicted)) {
436
+ return depicted;
437
+ }
416
438
  const properties = depicted.properties
417
439
  ? omit(pathParams, depicted.properties)
418
440
  : undefined;
@@ -439,30 +461,29 @@ export const excludeParamsFromDepiction = (depicted, pathParams) => {
439
461
  oneOf,
440
462
  });
441
463
  };
442
- export const excludeExampleFromDepiction = (depicted) => omit(["example"], depicted);
443
- export const depictResponse = ({ method, path, description, endpoint, isPositive, }) => {
444
- const schema = isPositive
445
- ? endpoint.getSchema("positive")
446
- : endpoint.getSchema("negative");
447
- const mimeTypes = isPositive
448
- ? endpoint.getMimeTypes("positive")
449
- : endpoint.getMimeTypes("negative");
464
+ export const excludeExampleFromDepiction = (depicted) => isSchemaObject(depicted) ? omit(["example"], depicted) : depicted;
465
+ export const depictResponse = ({ method, path, endpoint, isPositive, serializer, hasRef, makeRef, composition, clue = "response", }) => {
466
+ const schema = endpoint.getSchema(isPositive ? "positive" : "negative");
467
+ const mimeTypes = endpoint.getMimeTypes(isPositive ? "positive" : "negative");
450
468
  const depictedSchema = excludeExampleFromDepiction(walkSchema({
451
469
  schema,
452
470
  isResponse: true,
453
471
  rules: depicters,
454
472
  onEach,
455
473
  onMissing,
474
+ serializer,
475
+ hasRef,
476
+ makeRef,
456
477
  }));
457
478
  const examples = depictExamples(schema, true);
479
+ const result = composition === "components"
480
+ ? makeRef(makeCleanId(path, method, clue), depictedSchema)
481
+ : depictedSchema;
458
482
  return {
459
- description: `${method.toUpperCase()} ${path} ${description}`,
483
+ description: `${method.toUpperCase()} ${path} ${clue}`,
460
484
  content: mimeTypes.reduce((carry, mimeType) => ({
461
485
  ...carry,
462
- [mimeType]: {
463
- schema: depictedSchema,
464
- ...examples,
465
- },
486
+ [mimeType]: { schema: result, ...examples },
466
487
  }), {}),
467
488
  };
468
489
  };
@@ -534,7 +555,7 @@ export const depictSecurityRefs = (container) => {
534
555
  }
535
556
  return depictSecurityRefs({ or: [container] });
536
557
  };
537
- export const depictRequest = ({ method, path, endpoint, }) => {
558
+ export const depictRequest = ({ method, path, endpoint, serializer, hasRef, makeRef, composition, clue = "request body", }) => {
538
559
  const pathParams = getRoutePathParams(path);
539
560
  const bodyDepiction = excludeExampleFromDepiction(excludeParamsFromDepiction(walkSchema({
540
561
  schema: endpoint.getSchema("input"),
@@ -542,18 +563,19 @@ export const depictRequest = ({ method, path, endpoint, }) => {
542
563
  rules: depicters,
543
564
  onEach,
544
565
  onMissing,
566
+ serializer,
567
+ hasRef,
568
+ makeRef,
545
569
  }), pathParams));
546
570
  const bodyExamples = depictExamples(endpoint.getSchema("input"), false, pathParams);
571
+ const result = composition === "components"
572
+ ? makeRef(makeCleanId(path, method, clue), bodyDepiction)
573
+ : bodyDepiction;
547
574
  return {
575
+ description: `${method.toUpperCase()} ${path} ${clue}`,
548
576
  content: endpoint.getMimeTypes("input").reduce((carry, mimeType) => ({
549
577
  ...carry,
550
- [mimeType]: {
551
- schema: {
552
- description: `${method.toUpperCase()} ${path} request body`,
553
- ...bodyDepiction,
554
- },
555
- ...bodyExamples,
556
- },
578
+ [mimeType]: { schema: result, ...bodyExamples },
557
579
  }), {}),
558
580
  };
559
581
  };
@@ -1 +1 @@
1
- {"version":3,"file":"open-api-helpers.js","sourceRoot":"","sources":["../src/open-api-helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"open-api-helpers.js","sourceRoot":"","sources":["../src/open-api-helpers.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,16 @@
1
1
  import { OpenApiBuilder, } from "openapi3-ts";
2
2
  import { defaultInputSources, makeCleanId } from "./common-helpers.js";
3
3
  import { mapLogicalContainer } from "./logical-container.js";
4
- import { depictRequest, depictRequestParams, depictResponse, depictSecurity, depictSecurityRefs, depictTags, ensureShortDescription, reformatParamsInPath, } from "./open-api-helpers.js";
4
+ import { defaultSerializer, depictRequest, depictRequestParams, depictResponse, depictSecurity, depictSecurityRefs, depictTags, ensureShortDescription, reformatParamsInPath, } from "./open-api-helpers.js";
5
5
  import { walkRouting } from "./routing-walker.js";
6
6
  export class OpenAPI extends OpenApiBuilder {
7
+ makeRef(name, schema) {
8
+ this.addSchema(name, schema);
9
+ return { $ref: `#/components/schemas/${name}` };
10
+ }
11
+ hasRef(name) {
12
+ return name in (this.rootDoc.components?.schemas || {});
13
+ }
7
14
  ensureUniqOperationId(path, method) {
8
15
  const operationId = makeCleanId(path, method);
9
16
  if (operationId in this.lastOperationIdSuffixes) {
@@ -14,8 +21,9 @@ export class OpenAPI extends OpenApiBuilder {
14
21
  return operationId;
15
22
  }
16
23
  ensureUniqSecuritySchemaName(subject) {
24
+ const serializedSubject = JSON.stringify(subject);
17
25
  for (const name in this.rootDoc.components?.securitySchemes || {}) {
18
- if (JSON.stringify(subject) ===
26
+ if (serializedSubject ===
19
27
  JSON.stringify(this.rootDoc.components?.securitySchemes?.[name])) {
20
28
  return name;
21
29
  }
@@ -24,14 +32,22 @@ export class OpenAPI extends OpenApiBuilder {
24
32
  (this.lastSecuritySchemaIds?.[subject.type] || 0) + 1;
25
33
  return `${subject.type.toUpperCase()}_${this.lastSecuritySchemaIds[subject.type]}`;
26
34
  }
27
- constructor({ routing, config, title, version, serverUrl, successfulResponseDescription = "Successful response", errorResponseDescription = "Error response", hasSummaryFromDescription = true, }) {
35
+ constructor({ routing, config, title, version, serverUrl, successfulResponseDescription = "Successful response", errorResponseDescription = "Error response", hasSummaryFromDescription = true, composition = "inline", serializer = defaultSerializer, }) {
28
36
  super();
29
37
  this.lastSecuritySchemaIds = {};
30
38
  this.lastOperationIdSuffixes = {};
31
39
  this.addInfo({ title, version }).addServer({ url: serverUrl });
32
40
  const onEndpoint = (endpoint, path, _method) => {
33
41
  const method = _method;
34
- const commonParams = { path, method, endpoint };
42
+ const commonParams = {
43
+ path,
44
+ method,
45
+ endpoint,
46
+ composition,
47
+ serializer,
48
+ hasRef: this.hasRef.bind(this),
49
+ makeRef: this.makeRef.bind(this),
50
+ };
35
51
  const [shortDesc, longDesc] = ["short", "long"].map(endpoint.getDescription.bind(endpoint));
36
52
  const inputSources = config.inputSources?.[method] || defaultInputSources[method];
37
53
  const depictedParams = depictRequestParams({
@@ -43,12 +59,12 @@ export class OpenAPI extends OpenApiBuilder {
43
59
  responses: {
44
60
  [endpoint.getStatusCode("positive")]: depictResponse({
45
61
  ...commonParams,
46
- description: successfulResponseDescription,
62
+ clue: successfulResponseDescription,
47
63
  isPositive: true,
48
64
  }),
49
65
  [endpoint.getStatusCode("negative")]: depictResponse({
50
66
  ...commonParams,
51
- description: errorResponseDescription,
67
+ clue: errorResponseDescription,
52
68
  isPositive: false,
53
69
  }),
54
70
  },
@@ -1 +1 @@
1
- {"version":3,"file":"open-api.js","sourceRoot":"","sources":["../src/open-api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"open-api.js","sourceRoot":"","sources":["../src/open-api.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"type":"module","version":"9.2.1"}
1
+ {"type":"module","version":"9.4.0"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "express-zod-api",
3
- "version": "9.2.1",
3
+ "version": "9.4.0",
4
4
  "description": "A Typescript library to help you get an API server up and running with I/O schema validation and custom middlewares in minutes.",
5
5
  "license": "MIT",
6
6
  "scripts": {
@@ -99,7 +99,7 @@
99
99
  "strip-ansi": "^6.0.1",
100
100
  "ts-jest": "^29.0.0",
101
101
  "ts-node": "^10.9.1",
102
- "tsd": "^0.26.0"
102
+ "tsd": "^0.27.0"
103
103
  },
104
104
  "engines": {
105
105
  "node": "^14.17.0 || ^16.10.0 || ^18.0.0 || ^19.0.0"