oazapfts 4.11.1 → 4.11.2

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.
@@ -4,6 +4,7 @@ import { Opts } from ".";
4
4
  export declare const verbs: string[];
5
5
  type ContentType = "json" | "form" | "multipart";
6
6
  type OnlyMode = "readOnly" | "writeOnly";
7
+ type OnlyModes = Record<OnlyMode, boolean>;
7
8
  export declare function isMimeType(s: unknown): boolean;
8
9
  export declare function isJsonMimeType(mime: string): boolean;
9
10
  export declare function getBodyFormatter(body?: OpenAPIV3.RequestBodyObject): ContentType | undefined;
@@ -78,6 +79,7 @@ export default class ApiGenerator {
78
79
  readOnly?: ts.TypeReferenceNode;
79
80
  writeOnly?: ts.TypeReferenceNode;
80
81
  }>;
82
+ refsOnlyMode: Map<string, OnlyModes>;
81
83
  typeAliases: Record<string, number>;
82
84
  reset(): void;
83
85
  resolve<T>(obj: T | OpenAPIV3.ReferenceObject): T;
@@ -109,7 +111,12 @@ export default class ApiGenerator {
109
111
  getTypeFromEnum(values: unknown[]): ts.LiteralTypeNode | ts.UnionTypeNode;
110
112
  getEnumValuesString(values: string[]): string;
111
113
  getTrueEnum(schema: SchemaObject, propName: string): ts.TypeReferenceNode;
112
- checkSchemaOnlyMode(schema: SchemaObject | OpenAPIV3.ReferenceObject, onlyMode: OnlyMode, resolveRefs?: boolean): boolean;
114
+ /**
115
+ * Checks if readOnly/writeOnly properties are present in the given schema.
116
+ * Returns a tuple of booleans; the first one is about readOnly, the second
117
+ * one is about writeOnly.
118
+ */
119
+ checkSchemaOnlyMode(schema: SchemaObject | OpenAPIV3.ReferenceObject, resolveRefs?: boolean): OnlyModes;
113
120
  /**
114
121
  * Recursively creates a type literal with the given props.
115
122
  */
@@ -274,6 +274,9 @@ class ApiGenerator {
274
274
  // - "readOnly": The readOnly version e.g. ExampleSchemaRead
275
275
  // - "writeOnly": The writeOnly version e.g. ExampleSchemaWrite
276
276
  this.refs = {};
277
+ // Maps a referenced schema to its readOnly/writeOnly status
278
+ // This field should be used exclusively within the `checkSchemaOnlyMode` method
279
+ this.refsOnlyMode = new Map();
277
280
  // Keep track of already used type aliases
278
281
  this.typeAliases = {};
279
282
  if ((_a = this.spec.components) === null || _a === void 0 ? void 0 : _a.schemas) {
@@ -354,7 +357,7 @@ class ApiGenerator {
354
357
  getRefAlias(obj, onlyMode,
355
358
  // If true, the discriminator property of the schema referenced by `obj` will be ignored.
356
359
  // This is meant to be used when getting the type of a discriminating schema in an `allOf`
357
- // constructor.
360
+ // construct.
358
361
  ignoreDiscriminator) {
359
362
  var _a;
360
363
  const $ref = ignoreDiscriminator
@@ -385,7 +388,8 @@ class ApiGenerator {
385
388
  name: alias,
386
389
  type,
387
390
  }));
388
- if (this.checkSchemaOnlyMode(schema, "readOnly")) {
391
+ const { readOnly, writeOnly } = this.checkSchemaOnlyMode(schema);
392
+ if (readOnly) {
389
393
  const readOnlyAlias = this.getUniqueAlias(toIdentifier(name, true, "readOnly"));
390
394
  this.refs[$ref]["readOnly"] = typescript_1.factory.createTypeReferenceNode(readOnlyAlias, undefined);
391
395
  const readOnlyType = this.getTypeFromSchema(schema, name, "readOnly");
@@ -395,7 +399,7 @@ class ApiGenerator {
395
399
  type: readOnlyType,
396
400
  }));
397
401
  }
398
- if (this.checkSchemaOnlyMode(schema, "writeOnly")) {
402
+ if (writeOnly) {
399
403
  const writeOnlyAlias = this.getUniqueAlias(toIdentifier(name, true, "writeOnly"));
400
404
  this.refs[$ref]["writeOnly"] = typescript_1.factory.createTypeReferenceNode(writeOnlyAlias, undefined);
401
405
  const writeOnlyType = this.getTypeFromSchema(schema, name, "writeOnly");
@@ -622,38 +626,56 @@ class ApiGenerator {
622
626
  };
623
627
  return type;
624
628
  }
625
- checkSchemaOnlyMode(schema, onlyMode, resolveRefs = true) {
629
+ /**
630
+ * Checks if readOnly/writeOnly properties are present in the given schema.
631
+ * Returns a tuple of booleans; the first one is about readOnly, the second
632
+ * one is about writeOnly.
633
+ */
634
+ checkSchemaOnlyMode(schema, resolveRefs = true) {
626
635
  if (this.opts.mergeReadWriteOnly) {
627
- return false;
636
+ return { readOnly: false, writeOnly: false };
628
637
  }
629
638
  const check = (schema, history) => {
639
+ var _a, _b, _c, _d, _e, _f;
630
640
  if (isReference(schema)) {
631
641
  if (!resolveRefs)
632
- return false;
642
+ return { readOnly: false, writeOnly: false };
633
643
  // history is used to prevent infinite recursion
634
644
  if (history.has(schema.$ref))
635
- return false;
645
+ return { readOnly: false, writeOnly: false };
646
+ // check if the result is cached in `this.refsOnlyMode`
647
+ const cached = this.refsOnlyMode.get(schema.$ref);
648
+ if (cached)
649
+ return cached;
636
650
  history.add(schema.$ref);
637
651
  const ret = check(this.resolve(schema), history);
638
652
  history.delete(schema.$ref);
653
+ // cache the result
654
+ this.refsOnlyMode.set(schema.$ref, ret);
639
655
  return ret;
640
656
  }
641
- if ((onlyMode === "readOnly" && schema.readOnly) ||
642
- (onlyMode === "writeOnly" && schema.writeOnly)) {
643
- return true;
657
+ let readOnly = (_a = schema.readOnly) !== null && _a !== void 0 ? _a : false;
658
+ let writeOnly = (_b = schema.writeOnly) !== null && _b !== void 0 ? _b : false;
659
+ const subSchemas = [];
660
+ if ("items" in schema) {
661
+ subSchemas.push(schema.items);
644
662
  }
645
- if (schema.type === "array") {
646
- return schema.items ? check(schema.items, history) : false;
663
+ else {
664
+ subSchemas.push(...Object.values((_c = schema.properties) !== null && _c !== void 0 ? _c : {}));
665
+ subSchemas.push(...((_d = schema.allOf) !== null && _d !== void 0 ? _d : []));
666
+ subSchemas.push(...((_e = schema.anyOf) !== null && _e !== void 0 ? _e : []));
667
+ subSchemas.push(...((_f = schema.oneOf) !== null && _f !== void 0 ? _f : []));
647
668
  }
648
- const subSchemas = [
649
- ...Object.values(schema.properties || {}),
650
- ...(schema.allOf || []),
651
- ...(schema.anyOf || []),
652
- ...(schema.oneOf || []),
653
- ];
654
- return subSchemas
655
- .filter(Boolean)
656
- .some((property) => check(property, history));
669
+ for (const schema of subSchemas) {
670
+ // `readOnly` and `writeOnly` do not change once they become true,
671
+ // so you can exit early if both are true.
672
+ if (readOnly && writeOnly)
673
+ break;
674
+ const result = check(schema, history);
675
+ readOnly = readOnly || result.readOnly;
676
+ writeOnly = writeOnly || result.writeOnly;
677
+ }
678
+ return { readOnly, writeOnly };
657
679
  };
658
680
  return check(schema, new Set());
659
681
  }
@@ -665,15 +687,14 @@ class ApiGenerator {
665
687
  const propertyNames = Object.keys(props);
666
688
  const filteredPropertyNames = propertyNames.filter((name) => {
667
689
  const schema = props[name];
668
- const isReadOnly = this.checkSchemaOnlyMode(schema, "readOnly", false);
669
- const isWriteOnly = this.checkSchemaOnlyMode(schema, "writeOnly", false);
690
+ const { readOnly, writeOnly } = this.checkSchemaOnlyMode(schema, false);
670
691
  switch (onlyMode) {
671
692
  case "readOnly":
672
- return isReadOnly || !isWriteOnly;
693
+ return readOnly || !writeOnly;
673
694
  case "writeOnly":
674
- return isWriteOnly || !isReadOnly;
695
+ return writeOnly || !readOnly;
675
696
  default:
676
- return !isReadOnly && !isWriteOnly;
697
+ return !readOnly && !writeOnly;
677
698
  }
678
699
  });
679
700
  const members = filteredPropertyNames.map((name) => {
@@ -1 +1 @@
1
- {"version":3,"file":"generate.js","sourceRoot":"","sources":["../../src/codegen/generate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generate.js","sourceRoot":"","sources":["../../src/codegen/generate.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "oazapfts",
3
- "version": "4.11.1",
3
+ "version": "4.11.2",
4
4
  "description": "OpenApi TypeScript client generator",
5
5
  "main": "lib/index.js",
6
6
  "bin": {
@@ -19,6 +19,7 @@ export const verbs = [
19
19
 
20
20
  type ContentType = "json" | "form" | "multipart";
21
21
  type OnlyMode = "readOnly" | "writeOnly";
22
+ type OnlyModes = Record<OnlyMode, boolean>;
22
23
 
23
24
  const contentTypes: Record<string, ContentType> = {
24
25
  "*/*": "json",
@@ -310,6 +311,10 @@ export default class ApiGenerator {
310
311
  }
311
312
  > = {};
312
313
 
314
+ // Maps a referenced schema to its readOnly/writeOnly status
315
+ // This field should be used exclusively within the `checkSchemaOnlyMode` method
316
+ refsOnlyMode: Map<string, OnlyModes> = new Map();
317
+
313
318
  // Keep track of already used type aliases
314
319
  typeAliases: Record<string, number> = {};
315
320
 
@@ -394,7 +399,7 @@ export default class ApiGenerator {
394
399
  onlyMode?: OnlyMode,
395
400
  // If true, the discriminator property of the schema referenced by `obj` will be ignored.
396
401
  // This is meant to be used when getting the type of a discriminating schema in an `allOf`
397
- // constructor.
402
+ // construct.
398
403
  ignoreDiscriminator?: boolean,
399
404
  ) {
400
405
  const $ref = ignoreDiscriminator
@@ -433,7 +438,9 @@ export default class ApiGenerator {
433
438
  }),
434
439
  );
435
440
 
436
- if (this.checkSchemaOnlyMode(schema, "readOnly")) {
441
+ const { readOnly, writeOnly } = this.checkSchemaOnlyMode(schema);
442
+
443
+ if (readOnly) {
437
444
  const readOnlyAlias = this.getUniqueAlias(
438
445
  toIdentifier(name, true, "readOnly"),
439
446
  );
@@ -452,7 +459,7 @@ export default class ApiGenerator {
452
459
  );
453
460
  }
454
461
 
455
- if (this.checkSchemaOnlyMode(schema, "writeOnly")) {
462
+ if (writeOnly) {
456
463
  const writeOnlyAlias = this.getUniqueAlias(
457
464
  toIdentifier(name, true, "writeOnly"),
458
465
  );
@@ -784,52 +791,68 @@ export default class ApiGenerator {
784
791
  return type;
785
792
  }
786
793
 
794
+ /**
795
+ * Checks if readOnly/writeOnly properties are present in the given schema.
796
+ * Returns a tuple of booleans; the first one is about readOnly, the second
797
+ * one is about writeOnly.
798
+ */
787
799
  checkSchemaOnlyMode(
788
800
  schema: SchemaObject | OpenAPIV3.ReferenceObject,
789
- onlyMode: OnlyMode,
790
801
  resolveRefs = true,
791
- ): boolean {
802
+ ): OnlyModes {
792
803
  if (this.opts.mergeReadWriteOnly) {
793
- return false;
804
+ return { readOnly: false, writeOnly: false };
794
805
  }
795
806
 
796
807
  const check = (
797
808
  schema: SchemaObject | OpenAPIV3.ReferenceObject,
798
809
  history: Set<string>,
799
- ): boolean => {
810
+ ): OnlyModes => {
800
811
  if (isReference(schema)) {
801
- if (!resolveRefs) return false;
812
+ if (!resolveRefs) return { readOnly: false, writeOnly: false };
802
813
 
803
814
  // history is used to prevent infinite recursion
804
- if (history.has(schema.$ref)) return false;
815
+ if (history.has(schema.$ref))
816
+ return { readOnly: false, writeOnly: false };
817
+
818
+ // check if the result is cached in `this.refsOnlyMode`
819
+ const cached = this.refsOnlyMode.get(schema.$ref);
820
+ if (cached) return cached;
805
821
 
806
822
  history.add(schema.$ref);
807
823
  const ret = check(this.resolve(schema), history);
808
824
  history.delete(schema.$ref);
825
+
826
+ // cache the result
827
+ this.refsOnlyMode.set(schema.$ref, ret);
828
+
809
829
  return ret;
810
830
  }
811
831
 
812
- if (
813
- (onlyMode === "readOnly" && schema.readOnly) ||
814
- (onlyMode === "writeOnly" && schema.writeOnly)
815
- ) {
816
- return true;
832
+ let readOnly = schema.readOnly ?? false;
833
+ let writeOnly = schema.writeOnly ?? false;
834
+
835
+ const subSchemas: (OpenAPIV3.ReferenceObject | SchemaObject)[] = [];
836
+ if ("items" in schema) {
837
+ subSchemas.push(schema.items);
838
+ } else {
839
+ subSchemas.push(...Object.values(schema.properties ?? {}));
840
+ subSchemas.push(...(schema.allOf ?? []));
841
+ subSchemas.push(...(schema.anyOf ?? []));
842
+ subSchemas.push(...(schema.oneOf ?? []));
817
843
  }
818
844
 
819
- if (schema.type === "array") {
820
- return schema.items ? check(schema.items, history) : false;
821
- }
845
+ for (const schema of subSchemas) {
846
+ // `readOnly` and `writeOnly` do not change once they become true,
847
+ // so you can exit early if both are true.
848
+ if (readOnly && writeOnly) break;
822
849
 
823
- const subSchemas = [
824
- ...Object.values(schema.properties || {}),
825
- ...(schema.allOf || []),
826
- ...(schema.anyOf || []),
827
- ...(schema.oneOf || []),
828
- ];
850
+ const result = check(schema, history);
851
+ readOnly = readOnly || result.readOnly;
852
+ writeOnly = writeOnly || result.writeOnly;
853
+ }
829
854
 
830
- return subSchemas
831
- .filter(Boolean)
832
- .some((property) => check(property, history));
855
+ return { readOnly, writeOnly };
833
856
  };
834
857
 
835
858
  return check(schema, new Set<string>());
@@ -853,16 +876,15 @@ export default class ApiGenerator {
853
876
  const propertyNames = Object.keys(props);
854
877
  const filteredPropertyNames = propertyNames.filter((name) => {
855
878
  const schema = props[name];
856
- const isReadOnly = this.checkSchemaOnlyMode(schema, "readOnly", false);
857
- const isWriteOnly = this.checkSchemaOnlyMode(schema, "writeOnly", false);
879
+ const { readOnly, writeOnly } = this.checkSchemaOnlyMode(schema, false);
858
880
 
859
881
  switch (onlyMode) {
860
882
  case "readOnly":
861
- return isReadOnly || !isWriteOnly;
883
+ return readOnly || !writeOnly;
862
884
  case "writeOnly":
863
- return isWriteOnly || !isReadOnly;
885
+ return writeOnly || !readOnly;
864
886
  default:
865
- return !isReadOnly && !isWriteOnly;
887
+ return !readOnly && !writeOnly;
866
888
  }
867
889
  });
868
890