oazapfts 4.5.0 → 4.5.1

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/.nvmrc ADDED
@@ -0,0 +1 @@
1
+ 18
package/README.md CHANGED
@@ -38,7 +38,11 @@ Options:
38
38
 
39
39
  Where `<spec>` is the URL or local path of an OpenAPI or Swagger spec (in either json or yml) and `<filename>` is the location of the `.ts` file to be generated. If the filename is omitted, the code is written to stdout.
40
40
 
41
- Use the `useEnumType` option to generate typescript enums instead of union of values.
41
+ ### Options
42
+
43
+ - `--optimistic` generare a client in [optimistic mode](#optimistic-mode)
44
+
45
+ - `--useEnumType` generate enums instead of union types
42
46
 
43
47
  ## Consuming the generated API
44
48
 
@@ -8,6 +8,8 @@ export declare function isJsonMimeType(mime: string): boolean;
8
8
  export declare function getBodyFormatter(body?: OpenAPIV3.RequestBodyObject): ContentType | undefined;
9
9
  type SchemaObject = OpenAPIV3.SchemaObject & {
10
10
  const?: unknown;
11
+ "x-enumNames"?: string[];
12
+ "x-enum-varnames"?: string[];
11
13
  };
12
14
  /**
13
15
  * Get the name of a formatter function for a given parameter.
@@ -96,7 +98,7 @@ export default class ApiGenerator {
96
98
  */
97
99
  getTypeFromEnum(values: unknown[]): ts.LiteralTypeNode | ts.UnionTypeNode;
98
100
  getEnumValuesString(values: string[]): string;
99
- getTrueEnum(schema: OpenAPIV3.NonArraySchemaObject, propName: string): ts.TypeReferenceNode;
101
+ getTrueEnum(schema: SchemaObject, propName: string): ts.TypeReferenceNode;
100
102
  /**
101
103
  * Recursively creates a type literal with the given props.
102
104
  */
@@ -469,6 +469,7 @@ class ApiGenerator {
469
469
  with a new name adding a number
470
470
  */
471
471
  getTrueEnum(schema, propName) {
472
+ var _a;
472
473
  const proposedName = schema.title || lodash_1.default.upperFirst(propName);
473
474
  const stringEnumValue = this.getEnumValuesString(schema.enum ? schema.enum : []);
474
475
  const name = this.getEnumUniqueAlias(proposedName, stringEnumValue);
@@ -476,16 +477,21 @@ class ApiGenerator {
476
477
  return this.enumRefs[proposedName].type;
477
478
  }
478
479
  const values = schema.enum ? schema.enum : [];
479
- const members = values.map((s, index) => {
480
- if (schema.type === "boolean") {
481
- s = Boolean(s) ? "true" : "false";
480
+ const names = (_a = schema["x-enumNames"]) !== null && _a !== void 0 ? _a : schema["x-enum-varnames"];
481
+ if (names) {
482
+ if (!Array.isArray(names)) {
483
+ throw new Error("enum names must be an array");
484
+ }
485
+ if (names.length !== values.length) {
486
+ throw new Error("enum names must have the same length as enum values");
482
487
  }
483
- else if (schema.type === "string") {
484
- s = lodash_1.default.upperFirst(s);
488
+ }
489
+ const members = values.map((s, index) => {
490
+ if (schema.type === "number" || schema.type === "integer") {
491
+ const name = names ? names[index] : String(s);
492
+ return typescript_1.factory.createEnumMember(typescript_1.factory.createIdentifier(toIdentifier(name, true)), typescript_1.factory.createNumericLiteral(index));
485
493
  }
486
- return typescript_1.factory.createEnumMember(typescript_1.factory.createIdentifier(s), schema.type === "number"
487
- ? typescript_1.factory.createNumericLiteral(index)
488
- : typescript_1.factory.createStringLiteral(s));
494
+ return typescript_1.factory.createEnumMember(typescript_1.factory.createIdentifier(toIdentifier(s, true)), typescript_1.factory.createStringLiteral(s));
489
495
  });
490
496
  this.enumAliases.push(typescript_1.factory.createEnumDeclaration([cg.modifier.export], name, members));
491
497
  const type = typescript_1.factory.createTypeReferenceNode(name, undefined);
@@ -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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"}
@@ -121,21 +121,21 @@ describe("useEnumType", () => {
121
121
  src = yield generate("/../../demo/petstore.json", { useEnumType: true });
122
122
  }));
123
123
  it("should create string enums", () => {
124
- expect(src).toContain(`export enum Status { Available = "Available", Pending = "Pending", Sold = "Sold" }`);
124
+ expect(src).toContain(`export enum Status { Available = "available", Pending = "pending", Sold = "sold", Private = "private", $10Percent = "10percent" }`);
125
125
  });
126
126
  it("should create number enums", () => {
127
- expect(src).toContain(`export enum Size { P = 0, M = 1, G = 2 }`);
127
+ expect(src).toContain(`export enum Size { P = 0, M = 1, G = 2, $0 = 3 }`);
128
128
  });
129
129
  it("should handle values with the same name", () => {
130
- expect(src).toContain(`export enum Status2 { Placed = "Placed", Approved = "Approved", Delivered = "Delivered" }`);
130
+ expect(src).toContain(`export enum Status2 { Placed = "placed", Approved = "approved", Delivered = "delivered" }`);
131
131
  });
132
132
  it("should avoid name conflicts between types and enums", () => {
133
133
  // Type Category is defined as `Category`
134
134
  expect(src).toContain(`export type Category = { id?: number; name?: string; };`);
135
135
  // Enum Category is also defined as `Category` which would be a conflict to type `Category`
136
- expect(src).not.toContain(`export enum Category { Rich = "Rich", Wealthy = "Wealthy", Poor = "Poor" }`);
136
+ expect(src).not.toContain(`export enum Category {`);
137
137
  // Enum Category is defined as `Category2` to avoid name conflict with type Category
138
- expect(src).toContain(`export enum Category2 { Rich = "Rich", Wealthy = "Wealthy", Poor = "Poor" }`);
138
+ expect(src).toContain(`export enum Category2 { Rich = "rich", Wealthy = "wealthy", Poor = "poor" }`);
139
139
  });
140
140
  });
141
141
  //# sourceMappingURL=index.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.test.js","sourceRoot":"","sources":["../../src/codegen/index.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gDAAkC;AAClC,mCAAyC;AAEzC,mDAAwD;AACxD,2CAA0C;AAE1C;;GAEG;AACH,SAAe,QAAQ,CAAC,IAAY,EAAE,IAAI,GAAG,EAAE;;QAC7C,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QACxC,MAAM,GAAG,GAAG,MAAM,IAAA,sBAAc,EAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC7C,MAAM,KAAK,GAAG,MAAM,kBAAkB,CAAC,GAAG,CAAC,CAAC;QAC5C,MAAM,CAAC,KAAK,CAAC,CAAC,aAAa,EAAE,CAAC;QAC9B,OAAO,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAClC,CAAC;CAAA;AAED;;GAEG;AACH,SAAe,kBAAkB,CAAC,MAAc;;QAC9C,MAAM,OAAO,GAAG,MAAM,IAAA,yBAAa,EAAC;YAClC,gBAAgB,EAAE,SAAS,GAAG,sBAAsB;YACpD,2BAA2B,EAAE,IAAI;YACjC,eAAe,EAAE;gBACf,MAAM,EAAE,IAAI;gBACZ,MAAM,EAAE,yBAAY,CAAC,MAAM;gBAC3B,KAAK,EAAE;oBACL,gBAAgB,EAAE,CAAC,SAAS,GAAG,cAAc,CAAC;iBAC/C;aACF;SACF,CAAC,CAAC;QAEH,OAAO,CAAC,gBAAgB,CAAC,SAAS,GAAG,SAAS,EAAE,MAAM,CAAC,CAAC;QACxD,MAAM,OAAO,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;QACxC,MAAM,CAAC,KAAK,CAAC,GAAG,cAAE,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;QAClD,OAAO,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,WAAW,CAAC;IAC5B,CAAC;CAAA;AAED,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;IAC9B,EAAE,CAAC,oCAAoC,EAAE,GAAS,EAAE;QAClD,MAAM,IAAI,GAAG,2BAA2B,CAAC;QACzC,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,CAAC;QAClC,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,CAAC;QAClC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC,CAAA,CAAC,CAAC;IAEH,EAAE,CAAC,oCAAoC,EAAE,GAAS,EAAE;QAClD,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,2BAA2B,CAAC,CAAC;QACxD,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,mDAAmD,CAAC,CAAC;IAC7E,CAAC,CAAA,CAAC,CAAC;IAEH,EAAE,CAAC,2DAA2D,EAAE,GAAS,EAAE;QACzE,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,0BAA0B,CAAC,CAAC;QACvD,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CACnB,kFAAkF,CACnF,CAAC;IACJ,CAAC,CAAA,CAAC,CAAC;IAEH,EAAE,CAAC,oCAAoC,EAAE,GAAS,EAAE;QAClD,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,4BAA4B,CAAC,CAAC;QACzD,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CACnB,gGAAgG,CACjG,CAAC;IACJ,CAAC,CAAA,CAAC,CAAC;IAEH,EAAE,CAAC,wCAAwC,EAAE,GAAS,EAAE;QACtD,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,2BAA2B,CAAC,CAAC;QACxD,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CACnB,uHAAuH,CACxH,CAAC;IACJ,CAAC,CAAA,CAAC,CAAC;IAEH,EAAE,CAAC,6DAA6D,EAAE,GAAS,EAAE;QAC3E,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,0BAA0B,CAAC,CAAC;QACvD,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,+BAA+B,CAAC,CAAC;IACzD,CAAC,CAAA,CAAC,CAAC;IAEH,EAAE,CAAC,mCAAmC,EAAE,GAAS,EAAE;QACjD,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,uCAAuC,CAAC,CAAC;QACpE,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,sCAAsC,CAAC,CAAC;IAChE,CAAC,CAAA,CAAC,CAAC;IAEH,EAAE,CAAC,2CAA2C,EAAE,GAAS,EAAE;QACzD,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,yCAAyC,CAAC,CAAC;QACtE,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,oCAAoC,CAAC,CAAC;IAC9D,CAAC,CAAA,CAAC,CAAC;IAEH,EAAE,CAAC,uDAAuD,EAAE,GAAS,EAAE;QACrE,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,6BAA6B,CAAC,CAAC;QAC1D,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,uCAAuC,CAAC,CAAC;IACjE,CAAC,CAAA,CAAC,CAAC;IAEH,EAAE,CAAC,kDAAkD,EAAE,GAAS,EAAE;QAChE,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,kCAAkC,CAAC,CAAC;QAC/D,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CACnB,2HAA2H,CAC5H,CAAC;QACF,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CACnB,gHAAgH,CACjH,CAAC;IACJ,CAAC,CAAA,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;IAC3B,IAAI,GAAW,CAAC;IAEhB,SAAS,CAAC,GAAS,EAAE;QACnB,GAAG,GAAG,MAAM,QAAQ,CAAC,2BAA2B,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3E,CAAC,CAAA,CAAC,CAAC;IAEH,EAAE,CAAC,4BAA4B,EAAE,GAAG,EAAE;QACpC,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CACnB,oFAAoF,CACrF,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4BAA4B,EAAE,GAAG,EAAE;QACpC,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,0CAA0C,CAAC,CAAC;IACpE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yCAAyC,EAAE,GAAG,EAAE;QACjD,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CACnB,2FAA2F,CAC5F,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qDAAqD,EAAE,GAAG,EAAE;QAC7D,yCAAyC;QACzC,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CACnB,yDAAyD,CAC1D,CAAC;QAEF,2FAA2F;QAC3F,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,SAAS,CACvB,4EAA4E,CAC7E,CAAC;QAEF,oFAAoF;QACpF,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CACnB,6EAA6E,CAC9E,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"index.test.js","sourceRoot":"","sources":["../../src/codegen/index.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gDAAkC;AAClC,mCAAyC;AAEzC,mDAAwD;AACxD,2CAA0C;AAE1C;;GAEG;AACH,SAAe,QAAQ,CAAC,IAAY,EAAE,IAAI,GAAG,EAAE;;QAC7C,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QACxC,MAAM,GAAG,GAAG,MAAM,IAAA,sBAAc,EAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC7C,MAAM,KAAK,GAAG,MAAM,kBAAkB,CAAC,GAAG,CAAC,CAAC;QAC5C,MAAM,CAAC,KAAK,CAAC,CAAC,aAAa,EAAE,CAAC;QAC9B,OAAO,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAClC,CAAC;CAAA;AAED;;GAEG;AACH,SAAe,kBAAkB,CAAC,MAAc;;QAC9C,MAAM,OAAO,GAAG,MAAM,IAAA,yBAAa,EAAC;YAClC,gBAAgB,EAAE,SAAS,GAAG,sBAAsB;YACpD,2BAA2B,EAAE,IAAI;YACjC,eAAe,EAAE;gBACf,MAAM,EAAE,IAAI;gBACZ,MAAM,EAAE,yBAAY,CAAC,MAAM;gBAC3B,KAAK,EAAE;oBACL,gBAAgB,EAAE,CAAC,SAAS,GAAG,cAAc,CAAC;iBAC/C;aACF;SACF,CAAC,CAAC;QAEH,OAAO,CAAC,gBAAgB,CAAC,SAAS,GAAG,SAAS,EAAE,MAAM,CAAC,CAAC;QACxD,MAAM,OAAO,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;QACxC,MAAM,CAAC,KAAK,CAAC,GAAG,cAAE,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;QAClD,OAAO,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,WAAW,CAAC;IAC5B,CAAC;CAAA;AAED,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;IAC9B,EAAE,CAAC,oCAAoC,EAAE,GAAS,EAAE;QAClD,MAAM,IAAI,GAAG,2BAA2B,CAAC;QACzC,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,CAAC;QAClC,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,CAAC;QAClC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC,CAAA,CAAC,CAAC;IAEH,EAAE,CAAC,oCAAoC,EAAE,GAAS,EAAE;QAClD,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,2BAA2B,CAAC,CAAC;QACxD,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,mDAAmD,CAAC,CAAC;IAC7E,CAAC,CAAA,CAAC,CAAC;IAEH,EAAE,CAAC,2DAA2D,EAAE,GAAS,EAAE;QACzE,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,0BAA0B,CAAC,CAAC;QACvD,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CACnB,kFAAkF,CACnF,CAAC;IACJ,CAAC,CAAA,CAAC,CAAC;IAEH,EAAE,CAAC,oCAAoC,EAAE,GAAS,EAAE;QAClD,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,4BAA4B,CAAC,CAAC;QACzD,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CACnB,gGAAgG,CACjG,CAAC;IACJ,CAAC,CAAA,CAAC,CAAC;IAEH,EAAE,CAAC,wCAAwC,EAAE,GAAS,EAAE;QACtD,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,2BAA2B,CAAC,CAAC;QACxD,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CACnB,uHAAuH,CACxH,CAAC;IACJ,CAAC,CAAA,CAAC,CAAC;IAEH,EAAE,CAAC,6DAA6D,EAAE,GAAS,EAAE;QAC3E,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,0BAA0B,CAAC,CAAC;QACvD,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,+BAA+B,CAAC,CAAC;IACzD,CAAC,CAAA,CAAC,CAAC;IAEH,EAAE,CAAC,mCAAmC,EAAE,GAAS,EAAE;QACjD,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,uCAAuC,CAAC,CAAC;QACpE,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,sCAAsC,CAAC,CAAC;IAChE,CAAC,CAAA,CAAC,CAAC;IAEH,EAAE,CAAC,2CAA2C,EAAE,GAAS,EAAE;QACzD,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,yCAAyC,CAAC,CAAC;QACtE,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,oCAAoC,CAAC,CAAC;IAC9D,CAAC,CAAA,CAAC,CAAC;IAEH,EAAE,CAAC,uDAAuD,EAAE,GAAS,EAAE;QACrE,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,6BAA6B,CAAC,CAAC;QAC1D,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,uCAAuC,CAAC,CAAC;IACjE,CAAC,CAAA,CAAC,CAAC;IAEH,EAAE,CAAC,kDAAkD,EAAE,GAAS,EAAE;QAChE,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,kCAAkC,CAAC,CAAC;QAC/D,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CACnB,2HAA2H,CAC5H,CAAC;QACF,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CACnB,gHAAgH,CACjH,CAAC;IACJ,CAAC,CAAA,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;IAC3B,IAAI,GAAW,CAAC;IAEhB,SAAS,CAAC,GAAS,EAAE;QACnB,GAAG,GAAG,MAAM,QAAQ,CAAC,2BAA2B,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3E,CAAC,CAAA,CAAC,CAAC;IAEH,EAAE,CAAC,4BAA4B,EAAE,GAAG,EAAE;QACpC,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CACnB,mIAAmI,CACpI,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4BAA4B,EAAE,GAAG,EAAE;QACpC,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,kDAAkD,CAAC,CAAC;IAC5E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yCAAyC,EAAE,GAAG,EAAE;QACjD,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CACnB,2FAA2F,CAC5F,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qDAAqD,EAAE,GAAG,EAAE;QAC7D,yCAAyC;QACzC,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CACnB,yDAAyD,CAC1D,CAAC;QAEF,2FAA2F;QAC3F,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,wBAAwB,CAAC,CAAC;QAEpD,oFAAoF;QACpF,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CACnB,6EAA6E,CAC9E,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "oazapfts",
3
- "version": "4.5.0",
3
+ "version": "4.5.1",
4
4
  "description": "OpenApi TypeScript client generator",
5
5
  "main": "lib/index.js",
6
6
  "bin": {
@@ -44,9 +44,12 @@ export function getBodyFormatter(body?: OpenAPIV3.RequestBodyObject) {
44
44
  }
45
45
  }
46
46
 
47
- // augment SchemaObject type to allow slowly adopting new OAS3.1+ features
47
+ // Augment SchemaObject type to allow slowly adopting new OAS3.1+ features
48
+ // and support custom vendor extensions.
48
49
  type SchemaObject = OpenAPIV3.SchemaObject & {
49
50
  const?: unknown;
51
+ "x-enumNames"?: string[];
52
+ "x-enum-varnames"?: string[];
50
53
  };
51
54
 
52
55
  /**
@@ -539,7 +542,7 @@ export default class ApiGenerator {
539
542
  Creates a enum "ref" if not used, reuse existing if values and name matches or creates a new one
540
543
  with a new name adding a number
541
544
  */
542
- getTrueEnum(schema: OpenAPIV3.NonArraySchemaObject, propName: string) {
545
+ getTrueEnum(schema: SchemaObject, propName: string) {
543
546
  const proposedName = schema.title || _.upperFirst(propName);
544
547
  const stringEnumValue = this.getEnumValuesString(
545
548
  schema.enum ? schema.enum : []
@@ -553,17 +556,27 @@ export default class ApiGenerator {
553
556
 
554
557
  const values = schema.enum ? schema.enum : [];
555
558
 
559
+ const names = schema["x-enumNames"] ?? schema["x-enum-varnames"];
560
+ if (names) {
561
+ if (!Array.isArray(names)) {
562
+ throw new Error("enum names must be an array");
563
+ }
564
+ if (names.length !== values.length) {
565
+ throw new Error("enum names must have the same length as enum values");
566
+ }
567
+ }
568
+
556
569
  const members = values.map((s, index) => {
557
- if (schema.type === "boolean") {
558
- s = Boolean(s) ? "true" : "false";
559
- } else if (schema.type === "string") {
560
- s = _.upperFirst(s);
570
+ if (schema.type === "number" || schema.type === "integer") {
571
+ const name = names ? names[index] : String(s);
572
+ return factory.createEnumMember(
573
+ factory.createIdentifier(toIdentifier(name, true)),
574
+ factory.createNumericLiteral(index)
575
+ );
561
576
  }
562
577
  return factory.createEnumMember(
563
- factory.createIdentifier(s),
564
- schema.type === "number"
565
- ? factory.createNumericLiteral(index)
566
- : factory.createStringLiteral(s)
578
+ factory.createIdentifier(toIdentifier(s, true)),
579
+ factory.createStringLiteral(s)
567
580
  );
568
581
  });
569
582
  this.enumAliases.push(
@@ -111,17 +111,17 @@ describe("useEnumType", () => {
111
111
 
112
112
  it("should create string enums", () => {
113
113
  expect(src).toContain(
114
- `export enum Status { Available = "Available", Pending = "Pending", Sold = "Sold" }`
114
+ `export enum Status { Available = "available", Pending = "pending", Sold = "sold", Private = "private", $10Percent = "10percent" }`
115
115
  );
116
116
  });
117
117
 
118
118
  it("should create number enums", () => {
119
- expect(src).toContain(`export enum Size { P = 0, M = 1, G = 2 }`);
119
+ expect(src).toContain(`export enum Size { P = 0, M = 1, G = 2, $0 = 3 }`);
120
120
  });
121
121
 
122
122
  it("should handle values with the same name", () => {
123
123
  expect(src).toContain(
124
- `export enum Status2 { Placed = "Placed", Approved = "Approved", Delivered = "Delivered" }`
124
+ `export enum Status2 { Placed = "placed", Approved = "approved", Delivered = "delivered" }`
125
125
  );
126
126
  });
127
127
 
@@ -132,13 +132,11 @@ describe("useEnumType", () => {
132
132
  );
133
133
 
134
134
  // Enum Category is also defined as `Category` which would be a conflict to type `Category`
135
- expect(src).not.toContain(
136
- `export enum Category { Rich = "Rich", Wealthy = "Wealthy", Poor = "Poor" }`
137
- );
135
+ expect(src).not.toContain(`export enum Category {`);
138
136
 
139
137
  // Enum Category is defined as `Category2` to avoid name conflict with type Category
140
138
  expect(src).toContain(
141
- `export enum Category2 { Rich = "Rich", Wealthy = "Wealthy", Poor = "Poor" }`
139
+ `export enum Category2 { Rich = "rich", Wealthy = "wealthy", Poor = "poor" }`
142
140
  );
143
141
  });
144
142
  });