@beff/client 0.0.128 → 0.0.130

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.
Files changed (42) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/dist/cjs/codegen-v2.d.ts +32 -3
  3. package/dist/cjs/codegen-v2.d.ts.map +1 -1
  4. package/dist/cjs/codegen-v2.js +183 -3
  5. package/dist/cjs/index.d.ts +1 -1
  6. package/dist/cjs/index.d.ts.map +1 -1
  7. package/dist/cjs/index.js +2 -1
  8. package/dist/cjs/json-schema.d.ts +7 -0
  9. package/dist/cjs/json-schema.d.ts.map +1 -1
  10. package/dist/cjs/openapi-pp.d.ts +13 -0
  11. package/dist/cjs/openapi-pp.d.ts.map +1 -0
  12. package/dist/cjs/openapi-pp.js +169 -0
  13. package/dist/cjs/types.d.ts +2 -0
  14. package/dist/cjs/types.d.ts.map +1 -1
  15. package/dist/esm/codegen-v2.d.ts +32 -3
  16. package/dist/esm/codegen-v2.d.ts.map +1 -1
  17. package/dist/esm/codegen-v2.js +181 -2
  18. package/dist/esm/index.d.ts +1 -1
  19. package/dist/esm/index.d.ts.map +1 -1
  20. package/dist/esm/index.js +1 -1
  21. package/dist/esm/json-schema.d.ts +7 -0
  22. package/dist/esm/json-schema.d.ts.map +1 -1
  23. package/dist/esm/openapi-pp.d.ts +13 -0
  24. package/dist/esm/openapi-pp.d.ts.map +1 -0
  25. package/dist/esm/openapi-pp.js +165 -0
  26. package/dist/esm/types.d.ts +2 -0
  27. package/dist/esm/types.d.ts.map +1 -1
  28. package/dist/tsconfig.cjs.tsbuildinfo +1 -1
  29. package/dist/tsconfig.esm.tsbuildinfo +1 -1
  30. package/dist/tsconfig.types.tsbuildinfo +1 -1
  31. package/dist/types/codegen-v2.d.ts +32 -3
  32. package/dist/types/codegen-v2.d.ts.map +1 -1
  33. package/dist/types/index.d.ts +1 -1
  34. package/dist/types/index.d.ts.map +1 -1
  35. package/dist/types/json-schema.d.ts +7 -0
  36. package/dist/types/json-schema.d.ts.map +1 -1
  37. package/dist/types/openapi-pp.d.ts +13 -0
  38. package/dist/types/openapi-pp.d.ts.map +1 -0
  39. package/dist/types/types.d.ts +2 -0
  40. package/dist/types/types.d.ts.map +1 -1
  41. package/package.json +6 -4
  42. package/tests/openapi-pp.test.ts +217 -0
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,KAAK,CAAC;AACnC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,MAAM,MAAM,YAAY,CAAC,IAAI,SAAS,MAAM,IAAI,MAAM,GAAG;KAAG,CAAC,IAAI,IAAI,GAAG,IAAI;CAAE,CAAC;AAE/E,MAAM,MAAM,mBAAmB,CAAC,IAAI,EAAE,OAAO,SAAS,MAAM,IAAI,IAAI,GAAG;KACpE,CAAC,IAAI,OAAO,GAAG,OAAO;CACxB,CAAC;AAEF,MAAM,MAAM,YAAY,CAAC,IAAI,SAAS,MAAM,IAAI,MAAM,GAAG;KAAG,CAAC,IAAI,IAAI,GAAG,IAAI;CAAE,CAAC;AAE/E,MAAM,MAAM,mBAAmB,CAAC,IAAI,EAAE,OAAO,SAAS,MAAM,IAAI,IAAI,GAAG;KACpE,CAAC,IAAI,OAAO,GAAG,OAAO;CACxB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,QAAQ,EAAE,OAAO,CAAC;CACnB,CAAC;AACF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,QAAQ,EAAE,OAAO,CAAC;IAClB,YAAY,EAAE,IAAI,CAAC;IACnB,MAAM,EAAE,WAAW,EAAE,CAAC;CACvB,CAAC;AACF,MAAM,MAAM,WAAW,GAAG,kBAAkB,GAAG,gBAAgB,CAAC;AAEhE,MAAM,MAAM,YAAY,GAAG;IACzB,uBAAuB,CAAC,EAAE,OAAO,CAAC;CACnC,CAAC;AAEF,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI;IAC1B,KAAK,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,YAAY,KAAK,CAAC,CAAC;IACjD,SAAS,EAAE,CACT,KAAK,EAAE,GAAG,EACV,OAAO,CAAC,EAAE,YAAY,KACnB;QAAE,OAAO,EAAE,IAAI,CAAC;QAAC,IAAI,EAAE,CAAC,CAAA;KAAE,GAAG;QAAE,OAAO,EAAE,KAAK,CAAC;QAAC,MAAM,EAAE,WAAW,EAAE,CAAA;KAAE,CAAC;IAC5E,GAAG,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,KAAK,IAAI,CAAC,CAAC;IACzD,MAAM,EAAE,MAAM,WAAW,CAAC;IAC1B,QAAQ,EAAE,MAAM,MAAM,CAAC;IACvB,IAAI,EAAE,MAAM,MAAM,CAAC;CACpB,CAAC;AACF,KAAK,OAAO,CAAC,CAAC,IAAI;KACf,CAAC,IAAI,MAAM,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CACjC,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE;IAC3C,aAAa,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAA;KAAE,CAAC;IAC9D,aAAa,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAA;KAAE,CAAC;CAC/D,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;AAEjB,MAAM,MAAM,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { type BeffParser, type DecodeError } from "./types.js";
2
- import { JSONSchema7 } from "./json-schema.js";
2
+ import { JSONSchema7, JSONSchema7Definition } from "./json-schema.js";
3
3
  export { generateHashFromString, generateHashFromNumbers } from "./hash.js";
4
4
  type UserProvidedStringValidatorFn = (input: string) => boolean;
5
5
  export declare function registerStringFormatter(name: string, validator: UserProvidedStringValidatorFn): void;
@@ -10,9 +10,30 @@ type DescribeContext = {
10
10
  deps: Record<string, boolean | string>;
11
11
  deps_counter: Record<string, number>;
12
12
  };
13
+ export type SchemaPrintingMode = "flat" | "contextual";
14
+ export type SchemaPrintingContextOptions = {
15
+ refPathTemplate: string;
16
+ definitionContainerKey: string | null;
17
+ };
18
+ export declare class SchemaPrintingContext {
19
+ private readonly refPathTemplate;
20
+ readonly definitionContainerKey: string | null;
21
+ private readonly collectedDefinitions;
22
+ private readonly inProgressDefinitions;
23
+ constructor(options: SchemaPrintingContextOptions);
24
+ get refTemplate(): string;
25
+ getRef(name: string): string;
26
+ hasDefinition(name: string): boolean;
27
+ isDefinitionInProgress(name: string): boolean;
28
+ markDefinitionInProgress(name: string): void;
29
+ storeDefinition(name: string, schema: JSONSchema7Definition): void;
30
+ exportDefinitions(): Record<string, JSONSchema7Definition> | Record<string, Record<string, JSONSchema7Definition>>;
31
+ }
13
32
  type SchemaContext = {
14
33
  path: string[];
15
34
  seen: Record<string, boolean>;
35
+ mode: SchemaPrintingMode;
36
+ printingContext?: SchemaPrintingContext;
16
37
  };
17
38
  type ValidateContext = {
18
39
  disallowExtraProperties: boolean;
@@ -77,7 +98,7 @@ export declare class ConstRuntype implements Runtype {
77
98
  private value;
78
99
  constructor(value: Const);
79
100
  describe(_ctx: DescribeContext): string;
80
- schema(_ctx: SchemaContext): JSONSchema7;
101
+ schema(ctx: SchemaContext): JSONSchema7;
81
102
  validate(_ctx: ValidateContext, input: unknown): boolean;
82
103
  parseAfterValidation(_ctx: ParseContext, input: unknown): unknown;
83
104
  reportDecodeError(ctx: ReportContext, input: unknown): DecodeError[];
@@ -218,8 +239,16 @@ export declare class AnyOfDiscriminatedRuntype implements Runtype {
218
239
  private schemas;
219
240
  private discriminator;
220
241
  private mapping;
221
- constructor(schemas: Runtype[], discriminator: string, mapping: Record<string, Runtype>);
242
+ private schemaMapping;
243
+ constructor(schemas: Runtype[], discriminator: string, mapping: Record<string, Runtype>, schemaMapping: Record<string, Runtype>);
222
244
  schema(ctx: SchemaContext): JSONSchema7;
245
+ private getSchemaVariantRefs;
246
+ private getPrintingContext;
247
+ private getRefTarget;
248
+ private static sanitizeComponentNamePart;
249
+ private static getSyntheticRefName;
250
+ private ensureContextualDefinition;
251
+ private ensureSchemaVariantRef;
223
252
  validate(ctx: ValidateContext, input: unknown): boolean;
224
253
  parseAfterValidation(ctx: ParseContext, input: any): unknown;
225
254
  reportDecodeError(ctx: ReportContext, input: unknown): DecodeError[];
@@ -1 +1 @@
1
- {"version":3,"file":"codegen-v2.d.ts","sourceRoot":"","sources":["../../src/codegen-v2.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"codegen-v2.d.ts","sourceRoot":"","sources":["../../src/codegen-v2.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,UAAU,EACf,KAAK,WAAW,EAIjB,MAAM,YAAY,CAAC;AAyBpB,OAAO,EAAE,WAAW,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAGtE,OAAO,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,MAAM,WAAW,CAAC;AA0P5E,KAAK,6BAA6B,GAAG,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC;AAEhE,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,6BAA6B,QAE7F;AAED,KAAK,6BAA6B,GAAG,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC;AAEhE,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,6BAA6B,QAE7F;AAED,KAAK,eAAe,GAAG;IACrB,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,CAAC,CAAC;IACvC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACtC,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,MAAM,GAAG,YAAY,CAAC;AAEvD,MAAM,MAAM,4BAA4B,GAAG;IACzC,eAAe,EAAE,MAAM,CAAC;IACxB,sBAAsB,EAAE,MAAM,GAAG,IAAI,CAAC;CACvC,CAAC;AAEF,qBAAa,qBAAqB;IAChC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAS;IACzC,QAAQ,CAAC,sBAAsB,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/C,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAwC;IAC7E,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAA0B;gBAEpD,OAAO,EAAE,4BAA4B;IAOjD,IAAI,WAAW,IAAI,MAAM,CAExB;IAED,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAI5B,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAIpC,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAI7C,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAI5C,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,qBAAqB,GAAG,IAAI;IAKlE,iBAAiB,IACb,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC,GACrC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;CAe1D;AAED,KAAK,aAAa,GAAG;IACnB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,IAAI,EAAE,kBAAkB,CAAC;IACzB,eAAe,CAAC,EAAE,qBAAqB,CAAC;CACzC,CAAC;AAEF,KAAK,eAAe,GAAG;IACrB,uBAAuB,EAAE,OAAO,CAAC;CAClC,CAAC;AAEF,KAAK,YAAY,GAAG;IAClB,uBAAuB,EAAE,OAAO,CAAC;CAClC,CAAC;AAEF,KAAK,aAAa,GAAG;IACnB,uBAAuB,EAAE,OAAO,CAAC;IACjC,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB,CAAC;AAEF,KAAK,WAAW,GAAG;IACjB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC/B,CAAC;AAEF,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,GAAG,EAAE,eAAe,GAAG,MAAM,CAAC;IACvC,MAAM,CAAC,GAAG,EAAE,aAAa,GAAG,WAAW,CAAC;IACxC,IAAI,CAAC,GAAG,EAAE,WAAW,GAAG,MAAM,CAAC;IAC/B,QAAQ,CAAC,GAAG,EAAE,eAAe,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC;IACxD,oBAAoB,CAAC,GAAG,EAAE,YAAY,EAAE,KAAK,EAAE,GAAG,GAAG,OAAO,CAAC;IAC7D,iBAAiB,CAAC,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,OAAO,GAAG,WAAW,EAAE,CAAC;CACtE;AAED,KAAK,eAAe,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;AACvD,qBAAa,aAAc,YAAW,OAAO;IAC3C,OAAO,CAAC,QAAQ,CAAkB;gBAEtB,QAAQ,EAAE,eAAe;IAIrC,QAAQ,CAAC,IAAI,EAAE,eAAe,GAAG,MAAM;IAGvC,MAAM,CAAC,IAAI,EAAE,aAAa,GAAG,WAAW;IAGxC,QAAQ,CAAC,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO;IAGxD,oBAAoB,CAAC,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO;IAGjE,iBAAiB,CAAC,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,OAAO,GAAG,WAAW,EAAE;IAGpE,IAAI,CAAC,IAAI,EAAE,WAAW,GAAG,MAAM;CAUhC;AAED,qBAAa,UAAW,YAAW,OAAO;IACxC,QAAQ,CAAC,IAAI,EAAE,eAAe,GAAG,MAAM;IAGvC,MAAM,CAAC,IAAI,EAAE,aAAa,GAAG,WAAW;IAGxC,QAAQ,CAAC,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO;IAGzD,oBAAoB,CAAC,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO;IAGjE,iBAAiB,CAAC,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,OAAO,GAAG,WAAW,EAAE;IAGpE,IAAI,CAAC,IAAI,EAAE,WAAW,GAAG,MAAM;CAGhC;AAED,qBAAa,cAAe,YAAW,OAAO;IAC5C,WAAW,EAAE,MAAM,CAAC;gBACR,WAAW,EAAE,WAAW,GAAG,MAAM,GAAG,MAAM;IAItD,QAAQ,CAAC,IAAI,EAAE,eAAe,GAAG,MAAM;IAGvC,MAAM,CAAC,IAAI,EAAE,aAAa,GAAG,WAAW;IAGxC,QAAQ,CAAC,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO;IAGxD,oBAAoB,CAAC,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO;IAGjE,iBAAiB,CAAC,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,OAAO,GAAG,WAAW,EAAE;IAGpE,IAAI,CAAC,IAAI,EAAE,WAAW,GAAG,MAAM;CAGhC;AAED,qBAAa,YAAa,YAAW,OAAO;IAC1C,QAAQ,CAAC,IAAI,EAAE,eAAe,GAAG,MAAM;IAGvC,MAAM,CAAC,IAAI,EAAE,aAAa,GAAG,WAAW;IAGxC,QAAQ,CAAC,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO;IAGzD,oBAAoB,CAAC,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO;IAGlE,iBAAiB,CAAC,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,OAAO,GAAG,WAAW,EAAE;IAGpE,IAAI,CAAC,IAAI,EAAE,WAAW,GAAG,MAAM;CAGhC;AAED,KAAK,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC;AAE9C,qBAAa,YAAa,YAAW,OAAO;IAC1C,OAAO,CAAC,KAAK,CAAQ;gBACT,KAAK,EAAE,KAAK;IAGxB,QAAQ,CAAC,IAAI,EAAE,eAAe,GAAG,MAAM;IAGvC,MAAM,CAAC,GAAG,EAAE,aAAa,GAAG,WAAW;IAcvC,QAAQ,CAAC,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO;IAMxD,oBAAoB,CAAC,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO;IAGjE,iBAAiB,CAAC,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,OAAO,GAAG,WAAW,EAAE;IAGpE,IAAI,CAAC,IAAI,EAAE,WAAW,GAAG,MAAM;CAahC;AAED,qBAAa,YAAa,YAAW,OAAO;IAC1C,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,WAAW,CAAS;gBAEhB,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM;IAK9C,QAAQ,CAAC,IAAI,EAAE,eAAe,GAAG,MAAM;IAGvC,MAAM,CAAC,IAAI,EAAE,aAAa,GAAG,WAAW;IAGxC,QAAQ,CAAC,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO;IAMxD,oBAAoB,CAAC,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO;IAGjE,iBAAiB,CAAC,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,OAAO,GAAG,WAAW,EAAE;IAGpE,IAAI,CAAC,IAAI,EAAE,WAAW,GAAG,MAAM;CAGhC;AAED,qBAAa,WAAY,YAAW,OAAO;IACzC,QAAQ,CAAC,IAAI,EAAE,eAAe,GAAG,MAAM;IAGvC,MAAM,CAAC,GAAG,EAAE,aAAa,GAAG,WAAW;IAGvC,QAAQ,CAAC,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO;IAGxD,oBAAoB,CAAC,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO;IAGjE,iBAAiB,CAAC,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,OAAO,GAAG,WAAW,EAAE;IAGpE,IAAI,CAAC,IAAI,EAAE,WAAW,GAAG,MAAM;CAGhC;AAED,qBAAa,aAAc,YAAW,OAAO;IAC3C,QAAQ,CAAC,IAAI,EAAE,eAAe,GAAG,MAAM;IAGvC,MAAM,CAAC,GAAG,EAAE,aAAa,GAAG,WAAW;IAGvC,QAAQ,CAAC,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO;IAGxD,oBAAoB,CAAC,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO;IAGjE,iBAAiB,CAAC,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,OAAO,GAAG,WAAW,EAAE;IAGpE,IAAI,CAAC,IAAI,EAAE,WAAW,GAAG,MAAM;CAGhC;AAED,qBAAa,iBAAkB,YAAW,OAAO;IAC/C,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,SAAS,CAAS;gBAEd,QAAQ,EAAE,MAAM;IAI5B,OAAO,CAAC,OAAO;IAGf,QAAQ,CAAC,IAAI,EAAE,eAAe,GAAG,MAAM;IAGvC,MAAM,CAAC,GAAG,EAAE,aAAa,GAAG,WAAW;IAGvC,QAAQ,CAAC,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO;IAKxD,oBAAoB,CAAC,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO;IAGjE,iBAAiB,CAAC,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,OAAO,GAAG,WAAW,EAAE;IAGpE,IAAI,CAAC,IAAI,EAAE,WAAW,GAAG,MAAM;CAGhC;AAED,qBAAa,uBAAwB,YAAW,OAAO;IACrD,OAAO,CAAC,OAAO,CAAW;gBAEd,OAAO,EAAE,MAAM,EAAE;IAG7B,QAAQ,CAAC,IAAI,EAAE,eAAe,GAAG,MAAM;IAWvC,MAAM,CAAC,IAAI,EAAE,aAAa,GAAG,WAAW;IAMxC,QAAQ,CAAC,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO;IAmBxD,oBAAoB,CAAC,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO;IAGjE,iBAAiB,CAAC,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,OAAO,GAAG,WAAW,EAAE;IAGpE,IAAI,CAAC,IAAI,EAAE,WAAW,GAAG,MAAM;CAOhC;AAED,qBAAa,uBAAwB,YAAW,OAAO;IACrD,OAAO,CAAC,OAAO,CAAW;gBACd,OAAO,EAAE,MAAM,EAAE;IAG7B,QAAQ,CAAC,IAAI,EAAE,eAAe,GAAG,MAAM;IAWvC,MAAM,CAAC,IAAI,EAAE,aAAa,GAAG,WAAW;IAMxC,QAAQ,CAAC,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO;IAmBxD,oBAAoB,CAAC,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO;IAGjE,iBAAiB,CAAC,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,OAAO,GAAG,WAAW,EAAE;IAGpE,IAAI,CAAC,IAAI,EAAE,WAAW,GAAG,MAAM;CAOhC;AAED,qBAAa,kBAAmB,YAAW,OAAO;IAChD,OAAO,CAAC,MAAM,CAAU;gBACZ,MAAM,EAAE,KAAK,EAAE;IAG3B,QAAQ,CAAC,IAAI,EAAE,eAAe,GAAG,MAAM;IAKvC,MAAM,CAAC,IAAI,EAAE,aAAa,GAAG,WAAW;IAiBxC,QAAQ,CAAC,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO;IAQxD,oBAAoB,CAAC,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO;IAGjE,iBAAiB,CAAC,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,OAAO,GAAG,WAAW,EAAE;IAGpE,IAAI,CAAC,IAAI,EAAE,WAAW,GAAG,MAAM;CAqBhC;AAED,qBAAa,YAAa,YAAW,OAAO;IAC1C,OAAO,CAAC,MAAM,CAAY;IAC1B,OAAO,CAAC,IAAI,CAAiB;gBACjB,MAAM,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,GAAG,IAAI;IAInD,QAAQ,CAAC,GAAG,EAAE,eAAe,GAAG,MAAM;IAOtC,MAAM,CAAC,GAAG,EAAE,aAAa,GAAG,WAAW;IAWvC,QAAQ,CAAC,GAAG,EAAE,eAAe,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO;IAwBvD,oBAAoB,CAAC,GAAG,EAAE,YAAY,EAAE,KAAK,EAAE,GAAG,GAAG,OAAO;IAc5D,iBAAiB,CAAC,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,OAAO,GAAG,WAAW,EAAE;IAkCpE,IAAI,CAAC,GAAG,EAAE,WAAW,GAAG,MAAM;CAY/B;AAED,qBAAa,YAAa,YAAW,OAAO;IAC1C,OAAO,CAAC,OAAO,CAAY;gBACf,OAAO,EAAE,OAAO,EAAE;IAG9B,QAAQ,CAAC,GAAG,EAAE,eAAe,GAAG,MAAM;IAGtC,MAAM,CAAC,GAAG,EAAE,aAAa,GAAG,WAAW;IAKvC,QAAQ,CAAC,GAAG,EAAE,eAAe,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO;IAYvD,oBAAoB,CAAC,GAAG,EAAE,YAAY,EAAE,KAAK,EAAE,GAAG,GAAG,OAAO;IAW5D,iBAAiB,CAAC,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,OAAO,GAAG,WAAW,EAAE;IAQpE,IAAI,CAAC,GAAG,EAAE,WAAW,GAAG,MAAM;CAO/B;AAED,qBAAa,YAAa,YAAW,OAAO;IAC1C,OAAO,CAAC,OAAO,CAAY;gBACf,OAAO,EAAE,OAAO,EAAE;IAG9B,MAAM,CAAC,GAAG,EAAE,aAAa,GAAG,WAAW;IAKvC,QAAQ,CAAC,GAAG,EAAE,eAAe,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO;IAQvD,oBAAoB,CAAC,GAAG,EAAE,YAAY,EAAE,KAAK,EAAE,GAAG,GAAG,OAAO;IAS5D,iBAAiB,CAAC,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,OAAO,GAAG,WAAW,EAAE;IAWpE,QAAQ,CAAC,GAAG,EAAE,eAAe,GAAG,MAAM;IAGtC,IAAI,CAAC,GAAG,EAAE,WAAW,GAAG,MAAM;CAO/B;AAED,qBAAa,YAAa,YAAW,OAAO;IAC1C,OAAO,CAAC,UAAU,CAAU;gBAChB,UAAU,EAAE,OAAO;IAG/B,MAAM,CAAC,GAAG,EAAE,aAAa,GAAG,WAAW;IASvC,QAAQ,CAAC,GAAG,EAAE,eAAe,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO;IAavD,oBAAoB,CAAC,GAAG,EAAE,YAAY,EAAE,KAAK,EAAE,GAAG,GAAG,OAAO;IAG5D,iBAAiB,CAAC,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,OAAO,GAAG,WAAW,EAAE;IAmBpE,QAAQ,CAAC,GAAG,EAAE,eAAe,GAAG,MAAM;IAGtC,IAAI,CAAC,IAAI,EAAE,WAAW,GAAG,MAAM;CAGhC;AAED,qBAAa,UAAW,YAAW,OAAO;IACxC,OAAO,CAAC,SAAS,CAAU;IAC3B,OAAO,CAAC,WAAW,CAAU;gBACjB,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO;IAIpD,QAAQ,CAAC,GAAG,EAAE,eAAe,GAAG,MAAM;IAGtC,MAAM,CAAC,GAAG,EAAE,aAAa,GAAG,WAAW;IAGvC,QAAQ,CAAC,GAAG,EAAE,eAAe,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO;IAWvD,oBAAoB,CAAC,GAAG,EAAE,YAAY,EAAE,KAAK,EAAE,GAAG,GAAG,OAAO;IAO5D,iBAAiB,CAAC,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,OAAO,GAAG,WAAW,EAAE;IAmBpE,IAAI,CAAC,IAAI,EAAE,WAAW,GAAG,MAAM;CAGhC;AAED,qBAAa,UAAW,YAAW,OAAO;IACxC,OAAO,CAAC,UAAU,CAAU;gBAChB,UAAU,EAAE,OAAO;IAG/B,QAAQ,CAAC,GAAG,EAAE,eAAe,GAAG,MAAM;IAGtC,MAAM,CAAC,GAAG,EAAE,aAAa,GAAG,WAAW;IAGvC,QAAQ,CAAC,GAAG,EAAE,eAAe,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO;IAWvD,oBAAoB,CAAC,GAAG,EAAE,YAAY,EAAE,KAAK,EAAE,GAAG,GAAG,OAAO;IAO5D,iBAAiB,CAAC,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,OAAO,GAAG,WAAW,EAAE;IAcpE,IAAI,CAAC,IAAI,EAAE,WAAW,GAAG,MAAM;CAGhC;AAED,qBAAa,yBAA0B,YAAW,OAAO;IACvD,OAAO,CAAC,OAAO,CAAY;IAC3B,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,OAAO,CAA0B;IACzC,OAAO,CAAC,aAAa,CAA0B;gBAE7C,OAAO,EAAE,OAAO,EAAE,EAClB,aAAa,EAAE,MAAM,EACrB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAOxC,MAAM,CAAC,GAAG,EAAE,aAAa,GAAG,WAAW;IAsBvC,OAAO,CAAC,oBAAoB;IAQ5B,OAAO,CAAC,kBAAkB;IAQ1B,OAAO,CAAC,YAAY;IAYpB,OAAO,CAAC,MAAM,CAAC,yBAAyB;IAWxC,OAAO,CAAC,MAAM,CAAC,mBAAmB;IAMlC,OAAO,CAAC,0BAA0B;IAUlC,OAAO,CAAC,sBAAsB;IAqB9B,QAAQ,CAAC,GAAG,EAAE,eAAe,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO;IAevD,oBAAoB,CAAC,GAAG,EAAE,YAAY,EAAE,KAAK,EAAE,GAAG,GAAG,OAAO;IAY5D,iBAAiB,CAAC,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,OAAO,GAAG,WAAW,EAAE;IAyBpE,QAAQ,CAAC,GAAG,EAAE,eAAe,GAAG,MAAM;IAGtC,IAAI,CAAC,GAAG,EAAE,WAAW,GAAG,MAAM;CAO/B;AAED,qBAAa,oBAAqB,YAAW,OAAO;IAClD,OAAO,CAAC,CAAC,CAAU;gBAEP,CAAC,EAAE,OAAO;IAItB,MAAM,CAAC,GAAG,EAAE,aAAa,GAAG,WAAW;IAMvC,QAAQ,CAAC,GAAG,EAAE,eAAe,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO;IAMvD,oBAAoB,CAAC,GAAG,EAAE,YAAY,EAAE,KAAK,EAAE,GAAG,GAAG,OAAO;IAM5D,iBAAiB,CAAC,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,OAAO,GAAG,WAAW,EAAE;IAKpE,QAAQ,CAAC,GAAG,EAAE,eAAe,GAAG,MAAM;IAGtC,IAAI,CAAC,GAAG,EAAE,WAAW,GAAG,MAAM;CAI/B;AAED,qBAAa,aAAc,YAAW,OAAO;IAC3C,OAAO,CAAC,UAAU,CAA0B;IAC5C,OAAO,CAAC,uBAAuB,CAG5B;gBAED,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACnC,uBAAuB,EAAE,KAAK,CAAC;QAC7B,GAAG,EAAE,OAAO,CAAC;QACb,KAAK,EAAE,OAAO,CAAC;KAChB,CAAC;IAKJ,QAAQ,CAAC,GAAG,EAAE,eAAe,GAAG,MAAM;IAkBtC,MAAM,CAAC,GAAG,EAAE,aAAa,GAAG,WAAW;IAqDvC,QAAQ,CAAC,GAAG,EAAE,eAAe,EAAE,KAAK,EAAE,GAAG,GAAG,OAAO;IA6CnD,oBAAoB,CAAC,GAAG,EAAE,YAAY,EAAE,KAAK,EAAE,GAAG,GAAG,OAAO;IAwB5D,iBAAiB,CAAC,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,GAAG,GAAG,WAAW,EAAE;IA4DhE,IAAI,CAAC,GAAG,EAAE,WAAW;CAetB;AACD,8BAAsB,cAAe,YAAW,OAAO;IACrD,OAAO,EAAE,MAAM,CAAC;gBACJ,OAAO,EAAE,MAAM;IAG3B,QAAQ,CAAC,gBAAgB,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IACpD,QAAQ,CAAC,GAAG,EAAE,eAAe,GAAG,MAAM;IAyBtC,MAAM,CAAC,GAAG,EAAE,aAAa,GAAG,WAAW;IAuBvC,IAAI,CAAC,GAAG,EAAE,WAAW,GAAG,MAAM;IAW9B,QAAQ,CAAC,GAAG,EAAE,eAAe,EAAE,KAAK,EAAE,GAAG,GAAG,OAAO;IAInD,oBAAoB,CAAC,GAAG,EAAE,YAAY,EAAE,KAAK,EAAE,GAAG,GAAG,GAAG;IAIxD,iBAAiB,CAAC,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,GAAG,GAAG,WAAW,EAAE;CAIjE;AAgBD,eAAO,MAAM,eAAe,GAAI,CAAC,EAAE,MAAM,MAAM,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC,KAAG,UAAU,CAAC,CAAC,CAE/E,CAAC;AACF,eAAO,MAAM,iBAAiB,GAAI,MAAM,MAAM,EAAE,SAAS,UAAU,CAAC,GAAG,CAAC,KAAG,IAK1E,CAAC;AAqHF,eAAO,MAAM,sBAAsB,GACjC,SAAS,OAAO,EAChB,MAAM,MAAM,EACZ,wBAAwB,OAAO,KAC9B,UAAU,CAAC,GAAG,CAAiE,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import { z } from "zod";
2
2
  import { generateHashFromString, generateHashFromNumbers, unknownHash, stringHash, numberHash, booleanHash, nullishHash, undefinedHash, arrayHash, objectHash, dateHash, bigintHash, stringWithFormatHash, numberWithFormatHash, anyOfConstsHash, tupleHash, allOfHash, anyOfHash, optionalFieldHash, mapHash, setHash, } from "./hash.js";
3
+ import { normalizeOpenApiSchema } from "./openapi-pp.js";
3
4
  import { printErrors } from "./err.js";
4
5
  export { generateHashFromString, generateHashFromNumbers } from "./hash.js";
5
6
  const JSON_PROTO = Object.getPrototypeOf({});
@@ -227,6 +228,52 @@ const numberFormatters = {};
227
228
  export function registerNumberFormatter(name, validator) {
228
229
  numberFormatters[name] = validator;
229
230
  }
231
+ export class SchemaPrintingContext {
232
+ refPathTemplate;
233
+ definitionContainerKey;
234
+ collectedDefinitions;
235
+ inProgressDefinitions;
236
+ constructor(options) {
237
+ this.refPathTemplate = options.refPathTemplate;
238
+ this.definitionContainerKey = options.definitionContainerKey;
239
+ this.collectedDefinitions = {};
240
+ this.inProgressDefinitions = {};
241
+ }
242
+ get refTemplate() {
243
+ return this.refPathTemplate;
244
+ }
245
+ getRef(name) {
246
+ return this.refPathTemplate.replace("{name}", name);
247
+ }
248
+ hasDefinition(name) {
249
+ return name in this.collectedDefinitions;
250
+ }
251
+ isDefinitionInProgress(name) {
252
+ return this.inProgressDefinitions[name] === true;
253
+ }
254
+ markDefinitionInProgress(name) {
255
+ this.inProgressDefinitions[name] = true;
256
+ }
257
+ storeDefinition(name, schema) {
258
+ this.collectedDefinitions[name] = schema;
259
+ delete this.inProgressDefinitions[name];
260
+ }
261
+ exportDefinitions() {
262
+ const definitions = { ...this.collectedDefinitions };
263
+ const normalizedDefinitions = {};
264
+ for (const [name, schema] of Object.entries(definitions)) {
265
+ normalizedDefinitions[name] = normalizeOpenApiSchema(schema, definitions, {
266
+ refPathTemplate: this.refPathTemplate,
267
+ });
268
+ }
269
+ if (this.definitionContainerKey == null) {
270
+ return normalizedDefinitions;
271
+ }
272
+ return {
273
+ [this.definitionContainerKey]: normalizedDefinitions,
274
+ };
275
+ }
276
+ }
230
277
  export class TypeofRuntype {
231
278
  typeName;
232
279
  constructor(typeName) {
@@ -330,7 +377,17 @@ export class ConstRuntype {
330
377
  describe(_ctx) {
331
378
  return JSON.stringify(this.value);
332
379
  }
333
- schema(_ctx) {
380
+ schema(ctx) {
381
+ if (ctx.mode == "contextual") {
382
+ const tp = typeof this.value;
383
+ if (tp === "string" || tp === "number" || tp === "boolean") {
384
+ // OpenAPI mode prefers a type + enum for constant values
385
+ return {
386
+ type: tp,
387
+ enum: [this.value],
388
+ };
389
+ }
390
+ }
334
391
  return { const: this.value };
335
392
  }
336
393
  validate(_ctx, input) {
@@ -573,6 +630,16 @@ export class AnyOfConstsRuntype {
573
630
  return `(${inner})`;
574
631
  }
575
632
  schema(_ctx) {
633
+ const isSingleTypeof = this.values.length > 0 && this.values.every((v) => typeof v === typeof this.values[0]);
634
+ if (isSingleTypeof) {
635
+ const tp = typeof this.values[0];
636
+ if (tp == "string" || tp === "number" || tp === "boolean") {
637
+ return {
638
+ type: tp,
639
+ enum: this.values,
640
+ };
641
+ }
642
+ }
576
643
  return {
577
644
  enum: this.values,
578
645
  };
@@ -980,16 +1047,92 @@ export class AnyOfDiscriminatedRuntype {
980
1047
  schemas;
981
1048
  discriminator;
982
1049
  mapping;
983
- constructor(schemas, discriminator, mapping) {
1050
+ schemaMapping;
1051
+ constructor(schemas, discriminator, mapping, schemaMapping) {
984
1052
  this.schemas = schemas;
985
1053
  this.discriminator = discriminator;
986
1054
  this.mapping = mapping;
1055
+ this.schemaMapping = schemaMapping;
987
1056
  }
988
1057
  schema(ctx) {
1058
+ if (ctx.mode === "contextual" && ctx.printingContext != null) {
1059
+ const variantRefs = this.getSchemaVariantRefs(ctx);
1060
+ return {
1061
+ type: "object",
1062
+ discriminator: {
1063
+ propertyName: this.discriminator,
1064
+ mapping: Object.fromEntries(variantRefs.map(({ key, ref }) => [key, ref])),
1065
+ },
1066
+ oneOf: variantRefs.map(({ ref }) => ({ $ref: ref })),
1067
+ };
1068
+ }
989
1069
  return {
1070
+ type: "object",
1071
+ discriminator: {
1072
+ propertyName: this.discriminator,
1073
+ },
990
1074
  anyOf: this.schemas.map((it) => it.schema(ctx)),
991
1075
  };
992
1076
  }
1077
+ getSchemaVariantRefs(ctx) {
1078
+ const unionHash = this.hash({ seen: {} });
1079
+ return Object.entries(this.schemaMapping).map(([key, schema]) => ({
1080
+ key,
1081
+ ref: this.ensureSchemaVariantRef(schema, key, unionHash, ctx),
1082
+ }));
1083
+ }
1084
+ getPrintingContext(ctx) {
1085
+ const printingContext = ctx.printingContext;
1086
+ if (printingContext == null) {
1087
+ throw new Error("INTERNAL ERROR: Missing SchemaPrintingContext");
1088
+ }
1089
+ return printingContext;
1090
+ }
1091
+ getRefTarget(runtype) {
1092
+ if (!(runtype instanceof BaseRefRuntype)) {
1093
+ return null;
1094
+ }
1095
+ const name = runtype.refName;
1096
+ return {
1097
+ name,
1098
+ target: runtype.getNamedRuntypes()[name],
1099
+ };
1100
+ }
1101
+ static sanitizeComponentNamePart(value) {
1102
+ const cleaned = value.replace(/[^a-zA-Z0-9]+/g, " ").trim();
1103
+ if (cleaned.length === 0) {
1104
+ return "Variant";
1105
+ }
1106
+ return cleaned
1107
+ .split(/\s+/)
1108
+ .map((part) => part.charAt(0).toUpperCase() + part.slice(1))
1109
+ .join("");
1110
+ }
1111
+ static getSyntheticRefName(discriminator, key, unionHash) {
1112
+ const discriminatorPart = AnyOfDiscriminatedRuntype.sanitizeComponentNamePart(discriminator);
1113
+ const keyPart = AnyOfDiscriminatedRuntype.sanitizeComponentNamePart(key);
1114
+ return `Discriminated${discriminatorPart}${keyPart}${Math.abs(unionHash)}`;
1115
+ }
1116
+ ensureContextualDefinition(name, target, ctx) {
1117
+ const printingContext = this.getPrintingContext(ctx);
1118
+ if (printingContext.hasDefinition(name) || printingContext.isDefinitionInProgress(name)) {
1119
+ return;
1120
+ }
1121
+ printingContext.markDefinitionInProgress(name);
1122
+ const body = target.schema(ctx);
1123
+ printingContext.storeDefinition(name, body);
1124
+ }
1125
+ ensureSchemaVariantRef(runtype, key, unionHash, ctx) {
1126
+ const printingContext = this.getPrintingContext(ctx);
1127
+ const refTarget = this.getRefTarget(runtype);
1128
+ if (refTarget != null) {
1129
+ this.ensureContextualDefinition(refTarget.name, refTarget.target, ctx);
1130
+ return printingContext.getRef(refTarget.name);
1131
+ }
1132
+ const syntheticRefName = AnyOfDiscriminatedRuntype.getSyntheticRefName(this.discriminator, key, unionHash);
1133
+ this.ensureContextualDefinition(syntheticRefName, runtype, ctx);
1134
+ return printingContext.getRef(syntheticRefName);
1135
+ }
993
1136
  validate(ctx, input) {
994
1137
  if (typeof input !== "object" || input == null) {
995
1138
  return false;
@@ -1134,6 +1277,18 @@ export class ObjectRuntype {
1134
1277
  if (indexSchemas.length === 0) {
1135
1278
  return { ...base, additionalProperties: false };
1136
1279
  }
1280
+ // special case for Record<string, unknown>
1281
+ if (Object.keys(properties).length === 0 && indexSchemas.length === 1) {
1282
+ const [indexSchema] = indexSchemas;
1283
+ return {
1284
+ type: "object",
1285
+ additionalProperties: typeof indexSchema.additionalProperties === "object" &&
1286
+ indexSchema.additionalProperties != null &&
1287
+ Object.keys(indexSchema.additionalProperties).length === 0
1288
+ ? true
1289
+ : indexSchema.additionalProperties,
1290
+ };
1291
+ }
1137
1292
  return {
1138
1293
  allOf: [base, ...indexSchemas],
1139
1294
  };
@@ -1310,6 +1465,18 @@ export class BaseRefRuntype {
1310
1465
  schema(ctx) {
1311
1466
  const name = this.refName;
1312
1467
  const to = this.getNamedRuntypes()[this.refName];
1468
+ if (ctx.mode === "contextual") {
1469
+ const printingContext = ctx.printingContext;
1470
+ if (printingContext == null) {
1471
+ throw new Error("INTERNAL ERROR: Missing SchemaPrintingContext");
1472
+ }
1473
+ if (!printingContext.hasDefinition(name) && !printingContext.isDefinitionInProgress(name)) {
1474
+ printingContext.markDefinitionInProgress(name);
1475
+ const body = to.schema(ctx);
1476
+ printingContext.storeDefinition(name, body);
1477
+ }
1478
+ return { $ref: printingContext.getRef(name) };
1479
+ }
1313
1480
  if (ctx.seen[name]) {
1314
1481
  return {};
1315
1482
  }
@@ -1417,9 +1584,21 @@ class ParserFromRuntype {
1417
1584
  const ctx = {
1418
1585
  path: [],
1419
1586
  seen: {},
1587
+ mode: "flat",
1420
1588
  };
1421
1589
  return this._runtype.schema(ctx);
1422
1590
  }
1591
+ schemaWithContext(schemaPrintingContext) {
1592
+ const ctx = {
1593
+ path: [],
1594
+ seen: {},
1595
+ mode: "contextual",
1596
+ printingContext: schemaPrintingContext,
1597
+ };
1598
+ return normalizeOpenApiSchema(this._runtype.schema(ctx), {}, {
1599
+ refPathTemplate: schemaPrintingContext.refTemplate,
1600
+ });
1601
+ }
1423
1602
  describe() {
1424
1603
  const ctx = {
1425
1604
  deps: {},
@@ -2,5 +2,5 @@ export { printErrors } from "./err.js";
2
2
  export { b, buntyped } from "./b.js";
3
3
  export { StringFormat, StringFormatExtends, NumberFormat, NumberFormatExtends, RegularDecodeError, UnionDecodeError, DecodeError, ParseOptions, BeffParser, BuildParserFunction, TypeOf, } from "./types.js";
4
4
  export { JSONSchema7TypeName, JSONSchema7Type, JSONSchema7Object, JSONSchema7Array, JSONSchema7Version, JSONSchema7Definition, JSONSchema7, } from "./json-schema.js";
5
- export { createNamedType, overrideNamedType } from "./codegen-v2.js";
5
+ export { createNamedType, overrideNamedType, SchemaPrintingContext } from "./codegen-v2.js";
6
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AACrC,OAAO,EACL,YAAY,EACZ,mBAAmB,EACnB,YAAY,EACZ,mBAAmB,EACnB,kBAAkB,EAClB,gBAAgB,EAChB,WAAW,EACX,YAAY,EACZ,UAAU,EACV,mBAAmB,EACnB,MAAM,GACP,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,mBAAmB,EACnB,eAAe,EACf,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,EAClB,qBAAqB,EACrB,WAAW,GACZ,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AACrC,OAAO,EACL,YAAY,EACZ,mBAAmB,EACnB,YAAY,EACZ,mBAAmB,EACnB,kBAAkB,EAClB,gBAAgB,EAChB,WAAW,EACX,YAAY,EACZ,UAAU,EACV,mBAAmB,EACnB,MAAM,GACP,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,mBAAmB,EACnB,eAAe,EACf,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,EAClB,qBAAqB,EACrB,WAAW,GACZ,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC"}
package/dist/esm/index.js CHANGED
@@ -1,3 +1,3 @@
1
1
  export { printErrors } from "./err.js";
2
2
  export { b, buntyped } from "./b.js";
3
- export { createNamedType, overrideNamedType } from "./codegen-v2.js";
3
+ export { createNamedType, overrideNamedType, SchemaPrintingContext } from "./codegen-v2.js";
@@ -30,6 +30,12 @@ export type JSONSchema7Version = string;
30
30
  * @see https://tools.ietf.org/html/draft-handrews-json-schema-validation-01
31
31
  */
32
32
  export type JSONSchema7Definition = JSONSchema7 | boolean;
33
+ export interface OpenAPIDiscriminator {
34
+ propertyName: string;
35
+ mapping?: {
36
+ [key: string]: string;
37
+ } | undefined;
38
+ }
33
39
  export interface JSONSchema7 {
34
40
  $id?: string | undefined;
35
41
  $ref?: string | undefined;
@@ -125,5 +131,6 @@ export interface JSONSchema7 {
125
131
  readOnly?: boolean | undefined;
126
132
  writeOnly?: boolean | undefined;
127
133
  examples?: JSONSchema7Type | undefined;
134
+ discriminator?: OpenAPIDiscriminator | undefined;
128
135
  }
129
136
  //# sourceMappingURL=json-schema.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"json-schema.d.ts","sourceRoot":"","sources":["../../src/json-schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"json-schema.d.ts","sourceRoot":"","sources":["../../src/json-schema.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import { JSONSchema7Definition } from "./json-schema.js";
2
+ type NormalizeOptions = {
3
+ refPathTemplate: string;
4
+ };
5
+ /**
6
+ * Normalizes generated JSON Schema into a shape that is easier for OpenAPI tooling
7
+ * to consume. The implementation is intentionally split in two phases:
8
+ * 1. recursively normalize nested child schemas
9
+ * 2. run object-level transforms on the current schema node
10
+ */
11
+ export declare const normalizeOpenApiSchema: (schema: JSONSchema7Definition, _definitions: Record<string, JSONSchema7Definition>, _options: NormalizeOptions) => JSONSchema7Definition;
12
+ export {};
13
+ //# sourceMappingURL=openapi-pp.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openapi-pp.d.ts","sourceRoot":"","sources":["../../src/openapi-pp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAEtE,KAAK,gBAAgB,GAAG;IACtB,eAAe,EAAE,MAAM,CAAC;CACzB,CAAC;AAaF;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB,GACjC,QAAQ,qBAAqB,EAC7B,cAAc,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC,EACnD,UAAU,gBAAgB,KACzB,qBAEF,CAAC"}
@@ -0,0 +1,165 @@
1
+ /**
2
+ * Applies all object-schema transforms in order. The pipeline makes it explicit
3
+ * which post-processing operations run at object boundaries and in which order.
4
+ */
5
+ const runObjectSchemaPipeline = (schema) => {
6
+ const objectSchemaPipeline = [optionalizeNullUnionProperties];
7
+ return objectSchemaPipeline.reduce((acc, transform) => transform(acc), schema);
8
+ };
9
+ /**
10
+ * Normalizes generated JSON Schema into a shape that is easier for OpenAPI tooling
11
+ * to consume. The implementation is intentionally split in two phases:
12
+ * 1. recursively normalize nested child schemas
13
+ * 2. run object-level transforms on the current schema node
14
+ */
15
+ export const normalizeOpenApiSchema = (schema, _definitions, _options) => {
16
+ return walkDefinition(schema);
17
+ };
18
+ /**
19
+ * Recursively walks a schema definition and normalizes every nested schema node.
20
+ * Booleans are JSON Schema leaf values, so they pass through untouched.
21
+ */
22
+ const walkDefinition = (definition) => {
23
+ if (typeof definition === "boolean") {
24
+ return definition;
25
+ }
26
+ const schema = { ...definition };
27
+ if (schema.properties != null) {
28
+ const properties = {};
29
+ for (const [key, value] of Object.entries(schema.properties)) {
30
+ properties[key] = walkDefinition(value);
31
+ }
32
+ schema.properties = properties;
33
+ }
34
+ if (schema.items != null) {
35
+ schema.items = Array.isArray(schema.items)
36
+ ? schema.items.map((item) => walkDefinition(item))
37
+ : walkDefinition(schema.items);
38
+ }
39
+ if (schema.additionalItems != null) {
40
+ schema.additionalItems = walkDefinition(schema.additionalItems);
41
+ }
42
+ if (schema.additionalProperties != null) {
43
+ schema.additionalProperties = walkDefinition(schema.additionalProperties);
44
+ }
45
+ if (schema.propertyNames != null) {
46
+ schema.propertyNames = walkDefinition(schema.propertyNames);
47
+ }
48
+ if (schema.contains != null) {
49
+ schema.contains = walkDefinition(schema.contains);
50
+ }
51
+ if (schema.not != null) {
52
+ schema.not = walkDefinition(schema.not);
53
+ }
54
+ if (schema.if != null) {
55
+ schema.if = walkDefinition(schema.if);
56
+ }
57
+ if (schema.then != null) {
58
+ schema.then = walkDefinition(schema.then);
59
+ }
60
+ if (schema.else != null) {
61
+ schema.else = walkDefinition(schema.else);
62
+ }
63
+ if (schema.anyOf != null) {
64
+ schema.anyOf = schema.anyOf.map((item) => walkDefinition(item));
65
+ }
66
+ if (schema.oneOf != null) {
67
+ schema.oneOf = schema.oneOf.map((item) => walkDefinition(item));
68
+ }
69
+ if (schema.allOf != null) {
70
+ schema.allOf = schema.allOf.map((item) => walkDefinition(item));
71
+ }
72
+ if (schema.$defs != null) {
73
+ schema.$defs = walkRecord(schema.$defs);
74
+ }
75
+ if (schema.definitions != null) {
76
+ schema.definitions = walkRecord(schema.definitions);
77
+ }
78
+ if (schema.patternProperties != null) {
79
+ schema.patternProperties = walkRecord(schema.patternProperties);
80
+ }
81
+ if (schema.dependencies != null) {
82
+ const dependencies = {};
83
+ for (const [key, value] of Object.entries(schema.dependencies)) {
84
+ dependencies[key] = Array.isArray(value) ? value : walkDefinition(value);
85
+ }
86
+ schema.dependencies = dependencies;
87
+ }
88
+ return runObjectSchemaPipeline(schema);
89
+ };
90
+ /**
91
+ * Recursively normalizes every value in a schema-definition map such as
92
+ * `properties`, `$defs`, `definitions`, or `patternProperties`.
93
+ */
94
+ const walkRecord = (record) => {
95
+ const normalized = {};
96
+ for (const [key, value] of Object.entries(record)) {
97
+ normalized[key] = walkDefinition(value);
98
+ }
99
+ return normalized;
100
+ };
101
+ /**
102
+ * Rewrites object properties shaped as `T | null` into optional properties.
103
+ *
104
+ * This only runs at object-property boundaries. Standalone unions, array items,
105
+ * and other non-property positions keep their original nullable-union semantics.
106
+ */
107
+ const optionalizeNullUnionProperties = (schema) => {
108
+ if (schema.properties == null) {
109
+ return schema;
110
+ }
111
+ const properties = {};
112
+ const optionalized = new Set();
113
+ for (const [key, value] of Object.entries(schema.properties)) {
114
+ const rewrite = removeNullUnionBranch(value);
115
+ if (rewrite != null) {
116
+ properties[key] = rewrite;
117
+ optionalized.add(key);
118
+ }
119
+ else {
120
+ properties[key] = value;
121
+ }
122
+ }
123
+ const required = schema.required?.filter((key) => !optionalized.has(key));
124
+ return {
125
+ ...schema,
126
+ properties,
127
+ required,
128
+ };
129
+ };
130
+ /**
131
+ * If a property schema is a top-level `anyOf`/`oneOf` that includes a `null`
132
+ * branch plus at least one non-null branch, remove the `null` branch.
133
+ *
134
+ * Returning `null` means "leave this property schema unchanged".
135
+ */
136
+ const removeNullUnionBranch = (definition) => {
137
+ if (typeof definition === "boolean") {
138
+ return null;
139
+ }
140
+ const variantsKey = definition.anyOf != null ? "anyOf" : definition.oneOf != null ? "oneOf" : null;
141
+ if (variantsKey == null) {
142
+ return null;
143
+ }
144
+ const variants = definition[variantsKey];
145
+ if (variants == null) {
146
+ return null;
147
+ }
148
+ const nonNull = variants.filter((variant) => !isNullDefinition(variant));
149
+ if (nonNull.length === variants.length || nonNull.length === 0) {
150
+ return null;
151
+ }
152
+ if (nonNull.length === 1) {
153
+ return nonNull[0];
154
+ }
155
+ return {
156
+ ...definition,
157
+ [variantsKey]: nonNull,
158
+ };
159
+ };
160
+ /**
161
+ * Detects a schema branch that represents JSON `null`.
162
+ */
163
+ const isNullDefinition = (definition) => {
164
+ return typeof definition !== "boolean" && definition.type === "null";
165
+ };
@@ -1,5 +1,6 @@
1
1
  import type { ZodType } from "zod";
2
2
  import { JSONSchema7 } from "./json-schema.js";
3
+ import type { SchemaPrintingContext } from "./codegen-v2.js";
3
4
  export type StringFormat<Tag1 extends string> = string & {
4
5
  [k in Tag1]: Tag1;
5
6
  };
@@ -40,6 +41,7 @@ export type BeffParser<T> = {
40
41
  name: string;
41
42
  validate(input: any, options?: ParseOptions): input is T;
42
43
  schema: () => JSONSchema7;
44
+ schemaWithContext: (ctx: SchemaPrintingContext) => JSONSchema7;
43
45
  describe: () => string;
44
46
  hash: () => number;
45
47
  };
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,KAAK,CAAC;AACnC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,MAAM,MAAM,YAAY,CAAC,IAAI,SAAS,MAAM,IAAI,MAAM,GAAG;KAAG,CAAC,IAAI,IAAI,GAAG,IAAI;CAAE,CAAC;AAE/E,MAAM,MAAM,mBAAmB,CAAC,IAAI,EAAE,OAAO,SAAS,MAAM,IAAI,IAAI,GAAG;KACpE,CAAC,IAAI,OAAO,GAAG,OAAO;CACxB,CAAC;AAEF,MAAM,MAAM,YAAY,CAAC,IAAI,SAAS,MAAM,IAAI,MAAM,GAAG;KAAG,CAAC,IAAI,IAAI,GAAG,IAAI;CAAE,CAAC;AAE/E,MAAM,MAAM,mBAAmB,CAAC,IAAI,EAAE,OAAO,SAAS,MAAM,IAAI,IAAI,GAAG;KACpE,CAAC,IAAI,OAAO,GAAG,OAAO;CACxB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,QAAQ,EAAE,OAAO,CAAC;CACnB,CAAC;AACF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,QAAQ,EAAE,OAAO,CAAC;IAClB,YAAY,EAAE,IAAI,CAAC;IACnB,MAAM,EAAE,WAAW,EAAE,CAAC;CACvB,CAAC;AACF,MAAM,MAAM,WAAW,GAAG,kBAAkB,GAAG,gBAAgB,CAAC;AAEhE,MAAM,MAAM,YAAY,GAAG;IACzB,uBAAuB,CAAC,EAAE,OAAO,CAAC;CACnC,CAAC;AAEF,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI;IAC1B,KAAK,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,YAAY,KAAK,CAAC,CAAC;IACjD,SAAS,EAAE,CACT,KAAK,EAAE,GAAG,EACV,OAAO,CAAC,EAAE,YAAY,KACnB;QAAE,OAAO,EAAE,IAAI,CAAC;QAAC,IAAI,EAAE,CAAC,CAAA;KAAE,GAAG;QAAE,OAAO,EAAE,KAAK,CAAC;QAAC,MAAM,EAAE,WAAW,EAAE,CAAA;KAAE,CAAC;IAC5E,GAAG,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,KAAK,IAAI,CAAC,CAAC;IACzD,MAAM,EAAE,MAAM,WAAW,CAAC;IAC1B,QAAQ,EAAE,MAAM,MAAM,CAAC;IACvB,IAAI,EAAE,MAAM,MAAM,CAAC;CACpB,CAAC;AACF,KAAK,OAAO,CAAC,CAAC,IAAI;KACf,CAAC,IAAI,MAAM,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CACjC,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE;IAC3C,aAAa,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAA;KAAE,CAAC;IAC9D,aAAa,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAA;KAAE,CAAC;CAC/D,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;AAEjB,MAAM,MAAM,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,KAAK,CAAC;AACnC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAE7D,MAAM,MAAM,YAAY,CAAC,IAAI,SAAS,MAAM,IAAI,MAAM,GAAG;KAAG,CAAC,IAAI,IAAI,GAAG,IAAI;CAAE,CAAC;AAE/E,MAAM,MAAM,mBAAmB,CAAC,IAAI,EAAE,OAAO,SAAS,MAAM,IAAI,IAAI,GAAG;KACpE,CAAC,IAAI,OAAO,GAAG,OAAO;CACxB,CAAC;AAEF,MAAM,MAAM,YAAY,CAAC,IAAI,SAAS,MAAM,IAAI,MAAM,GAAG;KAAG,CAAC,IAAI,IAAI,GAAG,IAAI;CAAE,CAAC;AAE/E,MAAM,MAAM,mBAAmB,CAAC,IAAI,EAAE,OAAO,SAAS,MAAM,IAAI,IAAI,GAAG;KACpE,CAAC,IAAI,OAAO,GAAG,OAAO;CACxB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,QAAQ,EAAE,OAAO,CAAC;CACnB,CAAC;AACF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,QAAQ,EAAE,OAAO,CAAC;IAClB,YAAY,EAAE,IAAI,CAAC;IACnB,MAAM,EAAE,WAAW,EAAE,CAAC;CACvB,CAAC;AACF,MAAM,MAAM,WAAW,GAAG,kBAAkB,GAAG,gBAAgB,CAAC;AAEhE,MAAM,MAAM,YAAY,GAAG;IACzB,uBAAuB,CAAC,EAAE,OAAO,CAAC;CACnC,CAAC;AAEF,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI;IAC1B,KAAK,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,YAAY,KAAK,CAAC,CAAC;IACjD,SAAS,EAAE,CACT,KAAK,EAAE,GAAG,EACV,OAAO,CAAC,EAAE,YAAY,KACnB;QAAE,OAAO,EAAE,IAAI,CAAC;QAAC,IAAI,EAAE,CAAC,CAAA;KAAE,GAAG;QAAE,OAAO,EAAE,KAAK,CAAC;QAAC,MAAM,EAAE,WAAW,EAAE,CAAA;KAAE,CAAC;IAC5E,GAAG,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,KAAK,IAAI,CAAC,CAAC;IACzD,MAAM,EAAE,MAAM,WAAW,CAAC;IAC1B,iBAAiB,EAAE,CAAC,GAAG,EAAE,qBAAqB,KAAK,WAAW,CAAC;IAC/D,QAAQ,EAAE,MAAM,MAAM,CAAC;IACvB,IAAI,EAAE,MAAM,MAAM,CAAC;CACpB,CAAC;AACF,KAAK,OAAO,CAAC,CAAC,IAAI;KACf,CAAC,IAAI,MAAM,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CACjC,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE;IAC3C,aAAa,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAA;KAAE,CAAC;IAC9D,aAAa,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAA;KAAE,CAAC;CAC/D,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;AAEjB,MAAM,MAAM,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC"}
@@ -1 +1 @@
1
- {"root":["../src/b.ts","../src/codegen-v2.ts","../src/err.ts","../src/hash.ts","../src/index.ts","../src/json-schema.ts","../src/types.ts"],"version":"5.9.3"}
1
+ {"root":["../src/b.ts","../src/codegen-v2.ts","../src/err.ts","../src/hash.ts","../src/index.ts","../src/json-schema.ts","../src/openapi-pp.ts","../src/types.ts"],"version":"5.9.3"}
@@ -1 +1 @@
1
- {"root":["../src/b.ts","../src/codegen-v2.ts","../src/err.ts","../src/hash.ts","../src/index.ts","../src/json-schema.ts","../src/types.ts"],"version":"5.9.3"}
1
+ {"root":["../src/b.ts","../src/codegen-v2.ts","../src/err.ts","../src/hash.ts","../src/index.ts","../src/json-schema.ts","../src/openapi-pp.ts","../src/types.ts"],"version":"5.9.3"}