openapi-ts-generator 5.223.20 → 5.225.6

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 (31) hide show
  1. package/generators/{barrel-generator.d.ts → barrel.generator.d.ts} +1 -1
  2. package/generators/{barrel-generator.js → barrel.generator.js} +1 -1
  3. package/generators/{base-generator.d.ts → base.generator.d.ts} +0 -0
  4. package/generators/{base-generator.js → base.generator.js} +0 -0
  5. package/generators/{endpoints-generator.d.ts → endpoints.generator.d.ts} +1 -1
  6. package/generators/{endpoints-generator.js → endpoints.generator.js} +1 -1
  7. package/generators/{enum-generator.d.ts → enum.generator.d.ts} +1 -1
  8. package/generators/{enum-generator.js → enum.generator.js} +1 -1
  9. package/generators/{form-group-generator.d.ts → form-group-factory.generator.d.ts} +3 -3
  10. package/generators/{form-group-generator.js → form-group-factory.generator.js} +12 -12
  11. package/generators/form.generator.d.ts +8 -0
  12. package/generators/form.generator.js +39 -0
  13. package/generators/index.d.ts +8 -5
  14. package/generators/index.js +8 -5
  15. package/generators/{model-properties-generator.d.ts → model-properties.generator.d.ts} +1 -1
  16. package/generators/{model-properties-generator.js → model-properties.generator.js} +1 -1
  17. package/generators/{model-generator.d.ts → model.generator.d.ts} +1 -1
  18. package/generators/{model-generator.js → model.generator.js} +1 -1
  19. package/generators/test-object-factory.generator.d.ts +8 -0
  20. package/generators/test-object-factory.generator.js +39 -0
  21. package/index.js +6 -3
  22. package/models/generator-options.d.ts +3 -1
  23. package/models/generator-options.js +3 -3
  24. package/models/template-data.d.ts +3 -0
  25. package/openapidoc-converter.d.ts +7 -6
  26. package/openapidoc-converter.js +59 -13
  27. package/package.json +1 -1
  28. package/templates/form-group-factory.ts.hbs +11 -22
  29. package/templates/form.ts.hbs +30 -0
  30. package/templates/model.ts.hbs +5 -1
  31. package/templates/test-object-factory.ts.hbs +19 -0
@@ -1,5 +1,5 @@
1
1
  import { IGeneratorOptions } from '../models/generator-options';
2
- import { BaseGenerator } from './base-generator';
2
+ import { BaseGenerator } from './base.generator';
3
3
  export declare class BarrelGenerator extends BaseGenerator<{
4
4
  fileNames: string[];
5
5
  }> {
@@ -17,7 +17,7 @@ var __extends = (this && this.__extends) || (function () {
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
18
  exports.BarrelGenerator = void 0;
19
19
  var fs_1 = require("fs");
20
- var base_generator_1 = require("./base-generator");
20
+ var base_generator_1 = require("./base.generator");
21
21
  var BarrelGenerator = /** @class */ (function (_super) {
22
22
  __extends(BarrelGenerator, _super);
23
23
  function BarrelGenerator(options) {
@@ -1,6 +1,6 @@
1
1
  import { IGeneratorOptions } from '../models/generator-options';
2
2
  import { IPath, ITemplateData } from '../models/template-data';
3
- import { BaseGenerator } from './base-generator';
3
+ import { BaseGenerator } from './base.generator';
4
4
  export declare class EndPointsGenerator extends BaseGenerator<{
5
5
  paths: IPath[];
6
6
  }> {
@@ -36,7 +36,7 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
36
36
  };
37
37
  Object.defineProperty(exports, "__esModule", { value: true });
38
38
  exports.EndPointsGenerator = void 0;
39
- var base_generator_1 = require("./base-generator");
39
+ var base_generator_1 = require("./base.generator");
40
40
  var _ = require("lodash");
41
41
  var EndPointsGenerator = /** @class */ (function (_super) {
42
42
  __extends(EndPointsGenerator, _super);
@@ -1,6 +1,6 @@
1
1
  import { IGeneratorOptions } from '../models/generator-options';
2
2
  import { IEntity, ITemplateData } from '../models/template-data';
3
- import { BaseGenerator } from './base-generator';
3
+ import { BaseGenerator } from './base.generator';
4
4
  export declare class EnumGenerator extends BaseGenerator<IEntity> {
5
5
  readonly GeneratorName = "EnumGenerator";
6
6
  constructor(options: IGeneratorOptions);
@@ -17,7 +17,7 @@ var __extends = (this && this.__extends) || (function () {
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
18
  exports.EnumGenerator = void 0;
19
19
  var _ = require("lodash");
20
- var base_generator_1 = require("./base-generator");
20
+ var base_generator_1 = require("./base.generator");
21
21
  var EnumGenerator = /** @class */ (function (_super) {
22
22
  __extends(EnumGenerator, _super);
23
23
  function EnumGenerator(options) {
@@ -1,9 +1,9 @@
1
1
  import { IGeneratorOptions } from '../models/generator-options';
2
2
  import { IEntity, ITemplateData } from '../models/template-data';
3
- import { BaseGenerator } from './base-generator';
3
+ import { BaseGenerator } from './base.generator';
4
4
  import { IHelperContext, PropertyType } from '../models/helper-context';
5
- export declare class FormGroupGenerator extends BaseGenerator<IEntity> {
6
- readonly GeneratorName = "FormGroupGenerator";
5
+ export declare class FormGroupFactoryGenerator extends BaseGenerator<IEntity> {
6
+ readonly GeneratorName = "FormGroupFactoryGenerator";
7
7
  constructor(options: IGeneratorOptions);
8
8
  generate(templateData: ITemplateData): void;
9
9
  registerHelpers(): void;
@@ -15,20 +15,20 @@ var __extends = (this && this.__extends) || (function () {
15
15
  };
16
16
  })();
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
- exports.FormGroupGenerator = void 0;
18
+ exports.FormGroupFactoryGenerator = void 0;
19
19
  var _ = require("lodash");
20
- var base_generator_1 = require("./base-generator");
20
+ var base_generator_1 = require("./base.generator");
21
21
  var HandleBars = require("handlebars");
22
- var FormGroupGenerator = /** @class */ (function (_super) {
23
- __extends(FormGroupGenerator, _super);
24
- function FormGroupGenerator(options) {
22
+ var FormGroupFactoryGenerator = /** @class */ (function (_super) {
23
+ __extends(FormGroupFactoryGenerator, _super);
24
+ function FormGroupFactoryGenerator(options) {
25
25
  var _this = this;
26
26
  var _a;
27
27
  _this = _super.call(this, options, (_a = options.templates) === null || _a === void 0 ? void 0 : _a.formGroupFactory) || this;
28
- _this.GeneratorName = 'FormGroupGenerator';
28
+ _this.GeneratorName = 'FormGroupFactoryGenerator';
29
29
  return _this;
30
30
  }
31
- FormGroupGenerator.prototype.generate = function (templateData) {
31
+ FormGroupFactoryGenerator.prototype.generate = function (templateData) {
32
32
  var _this = this;
33
33
  var _a;
34
34
  this.registerHelpers();
@@ -36,7 +36,7 @@ var FormGroupGenerator = /** @class */ (function (_super) {
36
36
  _super.prototype.generateFile.call(_this, "".concat(_this.generatorOptions.outputPath, "/").concat(_.kebabCase(entity.name), ".form-group-fac.ts"), entity);
37
37
  });
38
38
  };
39
- FormGroupGenerator.prototype.registerHelpers = function () {
39
+ FormGroupFactoryGenerator.prototype.registerHelpers = function () {
40
40
  this.registerValidatorHelper('minimum', 'min');
41
41
  this.registerValidatorHelper('maximum', 'max');
42
42
  this.registerValidatorHelper('minLength');
@@ -45,14 +45,14 @@ var FormGroupGenerator = /** @class */ (function (_super) {
45
45
  this.registerValidatorHelper('minItems', 'minLength');
46
46
  this.registerValidatorHelper('pattern');
47
47
  };
48
- FormGroupGenerator.prototype.registerValidatorHelper = function (validatorName, angularValidatorName) {
48
+ FormGroupFactoryGenerator.prototype.registerValidatorHelper = function (validatorName, angularValidatorName) {
49
49
  var _this = this;
50
50
  if (angularValidatorName === void 0) { angularValidatorName = validatorName; }
51
51
  HandleBars.registerHelper("".concat(validatorName, "Validator"), function (x, y) {
52
52
  return _this.validatorFactory(x, y, validatorName, angularValidatorName);
53
53
  });
54
54
  };
55
- FormGroupGenerator.prototype.validatorFactory = function (propertyCollection, propertyContext, validationName, angularValidatorFunctionName) {
55
+ FormGroupFactoryGenerator.prototype.validatorFactory = function (propertyCollection, propertyContext, validationName, angularValidatorFunctionName) {
56
56
  var props = propertyContext.data.root[propertyCollection];
57
57
  var prop = props[propertyContext.data.index];
58
58
  var value = prop[validationName];
@@ -63,6 +63,6 @@ var FormGroupGenerator = /** @class */ (function (_super) {
63
63
  }
64
64
  return '';
65
65
  };
66
- return FormGroupGenerator;
66
+ return FormGroupFactoryGenerator;
67
67
  }(base_generator_1.BaseGenerator));
68
- exports.FormGroupGenerator = FormGroupGenerator;
68
+ exports.FormGroupFactoryGenerator = FormGroupFactoryGenerator;
@@ -0,0 +1,8 @@
1
+ import { IGeneratorOptions } from '../models/generator-options';
2
+ import { IEntity, ITemplateData } from '../models/template-data';
3
+ import { BaseGenerator } from './base.generator';
4
+ export declare class FormGenerator extends BaseGenerator<IEntity> {
5
+ readonly GeneratorName = "FormGenerator";
6
+ constructor(options: IGeneratorOptions);
7
+ generate(templateData: ITemplateData): void;
8
+ }
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ var __extends = (this && this.__extends) || (function () {
3
+ var extendStatics = function (d, b) {
4
+ extendStatics = Object.setPrototypeOf ||
5
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
+ return extendStatics(d, b);
8
+ };
9
+ return function (d, b) {
10
+ if (typeof b !== "function" && b !== null)
11
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
+ extendStatics(d, b);
13
+ function __() { this.constructor = d; }
14
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
+ };
16
+ })();
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.FormGenerator = void 0;
19
+ var _ = require("lodash");
20
+ var base_generator_1 = require("./base.generator");
21
+ var FormGenerator = /** @class */ (function (_super) {
22
+ __extends(FormGenerator, _super);
23
+ function FormGenerator(options) {
24
+ var _this = this;
25
+ var _a;
26
+ _this = _super.call(this, options, (_a = options.templates) === null || _a === void 0 ? void 0 : _a.form) || this;
27
+ _this.GeneratorName = 'FormGenerator';
28
+ return _this;
29
+ }
30
+ FormGenerator.prototype.generate = function (templateData) {
31
+ var _this = this;
32
+ var _a;
33
+ (_a = templateData.entities) === null || _a === void 0 ? void 0 : _a.filter(function (val) { var _a, _b; return ((_a = val.valueProperties) === null || _a === void 0 ? void 0 : _a.length) + ((_b = val.referenceProperties) === null || _b === void 0 ? void 0 : _b.length) > 0; }).forEach(function (entity) {
34
+ _super.prototype.generateFile.call(_this, "".concat(_this.generatorOptions.outputPath, "/").concat(_.kebabCase(entity.name), ".form.ts"), entity);
35
+ });
36
+ };
37
+ return FormGenerator;
38
+ }(base_generator_1.BaseGenerator));
39
+ exports.FormGenerator = FormGenerator;
@@ -1,5 +1,8 @@
1
- export * from './model-generator';
2
- export * from './form-group-generator';
3
- export * from './model-properties-generator';
4
- export * from './barrel-generator';
5
- export * from './enum-generator';
1
+ export * from './model.generator';
2
+ export * from './form-group-factory.generator';
3
+ export * from './model-properties.generator';
4
+ export * from './barrel.generator';
5
+ export * from './enum.generator';
6
+ export * from './form.generator';
7
+ export * from './test-object-factory.generator';
8
+ export * from './endpoints.generator';
@@ -14,8 +14,11 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./model-generator"), exports);
18
- __exportStar(require("./form-group-generator"), exports);
19
- __exportStar(require("./model-properties-generator"), exports);
20
- __exportStar(require("./barrel-generator"), exports);
21
- __exportStar(require("./enum-generator"), exports);
17
+ __exportStar(require("./model.generator"), exports);
18
+ __exportStar(require("./form-group-factory.generator"), exports);
19
+ __exportStar(require("./model-properties.generator"), exports);
20
+ __exportStar(require("./barrel.generator"), exports);
21
+ __exportStar(require("./enum.generator"), exports);
22
+ __exportStar(require("./form.generator"), exports);
23
+ __exportStar(require("./test-object-factory.generator"), exports);
24
+ __exportStar(require("./endpoints.generator"), exports);
@@ -1,6 +1,6 @@
1
1
  import { IGeneratorOptions } from '../models/generator-options';
2
2
  import { IEntity, ITemplateData } from '../models/template-data';
3
- import { BaseGenerator } from './base-generator';
3
+ import { BaseGenerator } from './base.generator';
4
4
  export declare class ModelPropertiesGenerator extends BaseGenerator<IEntity> {
5
5
  readonly GeneratorName = "ModelPropertiesGenerator";
6
6
  constructor(options: IGeneratorOptions);
@@ -17,7 +17,7 @@ var __extends = (this && this.__extends) || (function () {
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
18
  exports.ModelPropertiesGenerator = void 0;
19
19
  var _ = require("lodash");
20
- var base_generator_1 = require("./base-generator");
20
+ var base_generator_1 = require("./base.generator");
21
21
  var ModelPropertiesGenerator = /** @class */ (function (_super) {
22
22
  __extends(ModelPropertiesGenerator, _super);
23
23
  function ModelPropertiesGenerator(options) {
@@ -1,6 +1,6 @@
1
1
  import { IGeneratorOptions } from '../models/generator-options';
2
2
  import { IEntity, ITemplateData } from '../models/template-data';
3
- import { BaseGenerator } from './base-generator';
3
+ import { BaseGenerator } from './base.generator';
4
4
  export declare class ModelGenerator extends BaseGenerator<IEntity> {
5
5
  readonly GeneratorName = "ModelGenerator";
6
6
  constructor(options: IGeneratorOptions);
@@ -17,7 +17,7 @@ var __extends = (this && this.__extends) || (function () {
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
18
  exports.ModelGenerator = void 0;
19
19
  var _ = require("lodash");
20
- var base_generator_1 = require("./base-generator");
20
+ var base_generator_1 = require("./base.generator");
21
21
  var ModelGenerator = /** @class */ (function (_super) {
22
22
  __extends(ModelGenerator, _super);
23
23
  function ModelGenerator(options) {
@@ -0,0 +1,8 @@
1
+ import { IGeneratorOptions } from '../models/generator-options';
2
+ import { IEntity, ITemplateData } from '../models/template-data';
3
+ import { BaseGenerator } from './base.generator';
4
+ export declare class TestObjectFactoryGenerator extends BaseGenerator<IEntity> {
5
+ readonly GeneratorName = "TestObjectFactoryGenerator";
6
+ constructor(options: IGeneratorOptions);
7
+ generate(templateData: ITemplateData): void;
8
+ }
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ var __extends = (this && this.__extends) || (function () {
3
+ var extendStatics = function (d, b) {
4
+ extendStatics = Object.setPrototypeOf ||
5
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
+ return extendStatics(d, b);
8
+ };
9
+ return function (d, b) {
10
+ if (typeof b !== "function" && b !== null)
11
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
+ extendStatics(d, b);
13
+ function __() { this.constructor = d; }
14
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
+ };
16
+ })();
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.TestObjectFactoryGenerator = void 0;
19
+ var _ = require("lodash");
20
+ var base_generator_1 = require("./base.generator");
21
+ var TestObjectFactoryGenerator = /** @class */ (function (_super) {
22
+ __extends(TestObjectFactoryGenerator, _super);
23
+ function TestObjectFactoryGenerator(options) {
24
+ var _this = this;
25
+ var _a;
26
+ _this = _super.call(this, options, (_a = options.templates) === null || _a === void 0 ? void 0 : _a.testObjectFactory) || this;
27
+ _this.GeneratorName = 'TestObjectFactoryGenerator';
28
+ return _this;
29
+ }
30
+ TestObjectFactoryGenerator.prototype.generate = function (templateData) {
31
+ var _this = this;
32
+ var _a;
33
+ (_a = templateData.entities) === null || _a === void 0 ? void 0 : _a.filter(function (val) { var _a, _b; return ((_a = val.valueProperties) === null || _a === void 0 ? void 0 : _a.length) + ((_b = val.referenceProperties) === null || _b === void 0 ? void 0 : _b.length) > 0; }).forEach(function (entity) {
34
+ _super.prototype.generateFile.call(_this, "".concat(_this.generatorOptions.outputPath, "/").concat(_.kebabCase(entity.name), ".test-obj-fac.ts"), entity);
35
+ });
36
+ };
37
+ return TestObjectFactoryGenerator;
38
+ }(base_generator_1.BaseGenerator));
39
+ exports.TestObjectFactoryGenerator = TestObjectFactoryGenerator;
package/index.js CHANGED
@@ -39,7 +39,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
39
39
  exports.generateTsModels = exports.nrsrxValuePropertyTypeFilterCallBack = exports.nrsrxTypeFilterCallBack = void 0;
40
40
  var fs = require("fs");
41
41
  var generators_1 = require("./generators");
42
- var endpoints_generator_1 = require("./generators/endpoints-generator");
43
42
  var generator_options_1 = require("./models/generator-options");
44
43
  var openapidoc_converter_1 = require("./openapidoc-converter");
45
44
  var axios_1 = require("axios");
@@ -100,15 +99,19 @@ function generateOutput(options, templateData) {
100
99
  var modelGenerator = new generators_1.ModelGenerator(options);
101
100
  modelGenerator.generate(templateData);
102
101
  if (options.genAngularFormGroups) {
103
- var formGroupGenerator = new generators_1.FormGroupGenerator(options);
102
+ var formGroupGenerator = new generators_1.FormGroupFactoryGenerator(options);
104
103
  formGroupGenerator.generate(templateData);
104
+ var formGenerator = new generators_1.FormGenerator(options);
105
+ formGenerator.generate(templateData);
105
106
  }
106
107
  var modelPropertiesGenerator = new generators_1.ModelPropertiesGenerator(options);
107
108
  modelPropertiesGenerator.generate(templateData);
108
- var endpointGenerator = new endpoints_generator_1.EndPointsGenerator(options);
109
+ var endpointGenerator = new generators_1.EndPointsGenerator(options);
109
110
  endpointGenerator.generate(templateData);
110
111
  var barrelGenerator = new generators_1.BarrelGenerator(options);
111
112
  var enumGenerator = new generators_1.EnumGenerator(options);
112
113
  enumGenerator.generate(templateData);
114
+ var testObjFacGenerator = new generators_1.TestObjectFactoryGenerator(options);
115
+ testObjFacGenerator.generate(templateData);
113
116
  barrelGenerator.generate();
114
117
  }
@@ -14,11 +14,13 @@ export interface IGeneratorOptions {
14
14
  }
15
15
  export interface ITemplates {
16
16
  model?: string;
17
+ testObjectFactory?: string;
18
+ form?: string;
17
19
  formGroupFactory?: string;
18
20
  modelProperties?: string;
19
21
  barrel?: string;
20
22
  enum?: string;
21
23
  endpoints?: string;
22
24
  }
23
- export declare function defaultFilter(value: IEntity | IValueProperty | IReferenceProperty, index: number, array: IEntity[] | IValueProperty[] | IReferenceProperty[]): boolean;
25
+ export declare function defaultFilter(_value: IEntity | IValueProperty | IReferenceProperty, _index: number, _array: IEntity[] | IValueProperty[] | IReferenceProperty[]): boolean;
24
26
  export declare function setGeneratorOptionDefaults(options: IGeneratorOptions): IGeneratorOptions;
@@ -14,17 +14,17 @@ Object.defineProperty(exports, "__esModule", { value: true });
14
14
  exports.setGeneratorOptionDefaults = exports.defaultFilter = void 0;
15
15
  /* eslint-disable @typescript-eslint/no-unused-vars */
16
16
  var path_1 = require("path");
17
- function defaultFilter(value, index, array) {
17
+ function defaultFilter(_value, _index, _array) {
18
18
  return true;
19
19
  }
20
20
  exports.defaultFilter = defaultFilter;
21
21
  function setGeneratorOptionDefaults(options) {
22
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q;
22
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u;
23
23
  var templateFolder = (0, path_1.resolve)("".concat(__dirname, "/.."), 'templates');
24
24
  options.typeFilterCallBack = (_a = options.typeFilterCallBack) !== null && _a !== void 0 ? _a : defaultFilter;
25
25
  options.valuePropertyTypeFilterCallBack = (_b = options.valuePropertyTypeFilterCallBack) !== null && _b !== void 0 ? _b : defaultFilter;
26
26
  options.referencePropertyTypeFilterCallBack = (_c = options.referencePropertyTypeFilterCallBack) !== null && _c !== void 0 ? _c : defaultFilter;
27
- options.templates = __assign(__assign({}, options.templates), { model: (_e = (_d = options.templates) === null || _d === void 0 ? void 0 : _d.model) !== null && _e !== void 0 ? _e : "".concat(templateFolder, "/model.ts.hbs"), formGroupFactory: (_g = (_f = options.templates) === null || _f === void 0 ? void 0 : _f.formGroupFactory) !== null && _g !== void 0 ? _g : "".concat(templateFolder, "/form-group-factory.ts.hbs"), barrel: (_j = (_h = options.templates) === null || _h === void 0 ? void 0 : _h.barrel) !== null && _j !== void 0 ? _j : "".concat(templateFolder, "/index.ts.hbs"), enum: (_l = (_k = options.templates) === null || _k === void 0 ? void 0 : _k.barrel) !== null && _l !== void 0 ? _l : "".concat(templateFolder, "/enum.ts.hbs"), modelProperties: (_o = (_m = options.templates) === null || _m === void 0 ? void 0 : _m.barrel) !== null && _o !== void 0 ? _o : "".concat(templateFolder, "/model-properties.ts.hbs"), endpoints: (_q = (_p = options.templates) === null || _p === void 0 ? void 0 : _p.endpoints) !== null && _q !== void 0 ? _q : "".concat(templateFolder, "/endpoints.ts.hbs") });
27
+ options.templates = __assign(__assign({}, options.templates), { model: (_e = (_d = options.templates) === null || _d === void 0 ? void 0 : _d.model) !== null && _e !== void 0 ? _e : "".concat(templateFolder, "/model.ts.hbs"), form: (_g = (_f = options.templates) === null || _f === void 0 ? void 0 : _f.form) !== null && _g !== void 0 ? _g : "".concat(templateFolder, "/form.ts.hbs"), formGroupFactory: (_j = (_h = options.templates) === null || _h === void 0 ? void 0 : _h.formGroupFactory) !== null && _j !== void 0 ? _j : "".concat(templateFolder, "/form-group-factory.ts.hbs"), testObjectFactory: (_l = (_k = options.templates) === null || _k === void 0 ? void 0 : _k.testObjectFactory) !== null && _l !== void 0 ? _l : "".concat(templateFolder, "/test-object-factory.ts.hbs"), barrel: (_o = (_m = options.templates) === null || _m === void 0 ? void 0 : _m.barrel) !== null && _o !== void 0 ? _o : "".concat(templateFolder, "/index.ts.hbs"), enum: (_q = (_p = options.templates) === null || _p === void 0 ? void 0 : _p.barrel) !== null && _q !== void 0 ? _q : "".concat(templateFolder, "/enum.ts.hbs"), modelProperties: (_s = (_r = options.templates) === null || _r === void 0 ? void 0 : _r.barrel) !== null && _s !== void 0 ? _s : "".concat(templateFolder, "/model-properties.ts.hbs"), endpoints: (_u = (_t = options.templates) === null || _t === void 0 ? void 0 : _t.endpoints) !== null && _u !== void 0 ? _u : "".concat(templateFolder, "/endpoints.ts.hbs") });
28
28
  return options;
29
29
  }
30
30
  exports.setGeneratorOptionDefaults = setGeneratorOptionDefaults;
@@ -14,6 +14,7 @@ export interface IEntity {
14
14
  titleName: string;
15
15
  })[];
16
16
  name: string;
17
+ kebabCasedName: string;
17
18
  camelSingularName: string;
18
19
  description?: string;
19
20
  importTypes: IImportType[];
@@ -45,6 +46,7 @@ export interface IValueProperty {
45
46
  description?: string;
46
47
  pattern?: string;
47
48
  initialValue: string;
49
+ initialTestValue: string;
48
50
  }
49
51
  export interface IReferenceProperty {
50
52
  name: string;
@@ -63,4 +65,5 @@ export interface IReferenceProperty {
63
65
  required: boolean;
64
66
  isEnum?: boolean;
65
67
  initialValue: string;
68
+ initialTestValue: string;
66
69
  }
@@ -12,14 +12,15 @@ export declare class OpenApiDocConverter {
12
12
  convertPaths(): IPath[];
13
13
  convertEntities(): IEntity[];
14
14
  buildSchemaWrapperInfoForEnum(schemaWrapperInfo: SchemaWrapperInfo): void;
15
- buildSchemaWrapperInfo(schemaWrapperInfo: SchemaWrapperInfo): void;
16
- convertArray(propertyName: string, schemaWrapperInfo: SchemaWrapperInfo): void;
17
- convertSchemaObjectToPropertyType(propertyName: string, schemaWrapperInfo: SchemaWrapperInfo): IValueProperty;
15
+ buildSchemaWrapperInfo(parentTypeName: string, schemaWrapperInfo: SchemaWrapperInfo): void;
16
+ convertArray(parentTypeName: string, propertyName: string, schemaWrapperInfo: SchemaWrapperInfo): void;
17
+ convertSchemaObjectToPropertyType(parentTypeName: string, propertyName: string, schemaWrapperInfo: SchemaWrapperInfo): IValueProperty;
18
18
  private convertValidator;
19
- convertArrayObjectToValuePropertyType(propertyName: string, schemaWrapperInfo: SchemaWrapperInfo): IValueProperty;
19
+ convertArrayObjectToValuePropertyType(parentTypeName: string, propertyName: string, schemaWrapperInfo: SchemaWrapperInfo): IValueProperty;
20
20
  getInitialValue(propertyName: string, schemaWrapperInfo: SchemaWrapperInfo): string;
21
- convertArrayObjectToReferencePropertyType(propertyName: string, schemaWrapperInfo: SchemaWrapperInfo): IReferenceProperty;
22
- convertReferenceObjectToPropertyType(propertyName: string, schemaWrapperInfo: SchemaWrapperInfo): IReferenceProperty;
21
+ getInitialTestValue(parentTypeName: string, propertyName: string, schemaWrapperInfo: SchemaWrapperInfo): string;
22
+ convertArrayObjectToReferencePropertyType(parentTypeName: string, propertyName: string, schemaWrapperInfo: SchemaWrapperInfo): IReferenceProperty;
23
+ convertReferenceObjectToPropertyType(parentTypeName: string, propertyName: string, schemaWrapperInfo: SchemaWrapperInfo): IReferenceProperty;
23
24
  getValidatorCount(propertyName: string, schemaWrapperInfo: SchemaWrapperInfo): number;
24
25
  getPropertyTypeScriptType(schemaWrapperInfo: SchemaWrapperInfo): string;
25
26
  parseRef(schemaWrapperInfo: SchemaWrapperInfo): string;
@@ -52,7 +52,7 @@ var OpenApiDocConverter = /** @class */ (function () {
52
52
  this.buildSchemaWrapperInfoForEnum(schemaWrapperInfo);
53
53
  }
54
54
  else {
55
- this.buildSchemaWrapperInfo(schemaWrapperInfo);
55
+ this.buildSchemaWrapperInfo(schemaName, schemaWrapperInfo);
56
56
  }
57
57
  schemaWrapperInfo.updateReferenceProperties(this.options);
58
58
  var entity = {
@@ -61,6 +61,7 @@ var OpenApiDocConverter = /** @class */ (function () {
61
61
  return typeof t === 'string' || t instanceof String ? t : __assign(__assign({}, t), { key: t.key || 0 });
62
62
  }),
63
63
  name: schemaName,
64
+ kebabCasedName: (0, lodash_1.kebabCase)(schemaName),
64
65
  camelSingularName: (0, lodash_1.camelCase)((0, pluralize_1.singular)(schemaName)),
65
66
  description: schemaWrapperInfo.description,
66
67
  referenceProperties: schemaWrapperInfo.referenceProperties,
@@ -83,41 +84,43 @@ var OpenApiDocConverter = /** @class */ (function () {
83
84
  return { key: key ? +key : 0, name: name, titleName: (0, lodash_1.startCase)(name) };
84
85
  }));
85
86
  };
86
- OpenApiDocConverter.prototype.buildSchemaWrapperInfo = function (schemaWrapperInfo) {
87
+ OpenApiDocConverter.prototype.buildSchemaWrapperInfo = function (parentTypeName, schemaWrapperInfo) {
87
88
  for (var propertyName in schemaWrapperInfo.componentSchemaObject.properties) {
88
89
  if ((schemaWrapperInfo.propertySchemaObject = schemaWrapperInfo.componentSchemaObject.properties[propertyName]).type && // NOSONAR
89
90
  schemaWrapperInfo.propertySchemaObject.type !== 'array') {
90
- schemaWrapperInfo.valueProperties.push(this.convertSchemaObjectToPropertyType(propertyName, schemaWrapperInfo));
91
+ schemaWrapperInfo.valueProperties.push(this.convertSchemaObjectToPropertyType(parentTypeName, propertyName, schemaWrapperInfo));
91
92
  }
92
93
  else {
93
94
  schemaWrapperInfo.propertyReferenceObject = schemaWrapperInfo.componentSchemaObject.properties[propertyName];
94
95
  if (schemaWrapperInfo.propertyReferenceObject.$ref) {
95
- schemaWrapperInfo.referenceProperties.push(this.convertReferenceObjectToPropertyType(propertyName, schemaWrapperInfo));
96
+ schemaWrapperInfo.referenceProperties.push(this.convertReferenceObjectToPropertyType(parentTypeName, propertyName, schemaWrapperInfo));
96
97
  }
97
98
  else if (schemaWrapperInfo.propertySchemaObject.type === 'array' && schemaWrapperInfo.propertySchemaObject.items) {
98
- this.convertArray(propertyName, schemaWrapperInfo);
99
+ this.convertArray(parentTypeName, propertyName, schemaWrapperInfo);
99
100
  }
100
101
  }
101
102
  }
102
103
  };
103
- OpenApiDocConverter.prototype.convertArray = function (propertyName, schemaWrapperInfo) {
104
+ OpenApiDocConverter.prototype.convertArray = function (parentTypeName, propertyName, schemaWrapperInfo) {
104
105
  var arraySchemaObject = schemaWrapperInfo.propertySchemaObject.items;
105
106
  if (arraySchemaObject.type) {
106
- schemaWrapperInfo.valueProperties.push(this.convertArrayObjectToValuePropertyType(propertyName, schemaWrapperInfo));
107
+ schemaWrapperInfo.valueProperties.push(this.convertArrayObjectToValuePropertyType(parentTypeName, propertyName, schemaWrapperInfo));
107
108
  }
108
109
  else {
109
110
  schemaWrapperInfo.propertyReferenceObject = schemaWrapperInfo.propertySchemaObject.items;
110
- schemaWrapperInfo.referenceProperties.push(this.convertArrayObjectToReferencePropertyType(propertyName, schemaWrapperInfo));
111
+ schemaWrapperInfo.referenceProperties.push(this.convertArrayObjectToReferencePropertyType(parentTypeName, propertyName, schemaWrapperInfo));
111
112
  }
112
113
  };
113
- OpenApiDocConverter.prototype.convertSchemaObjectToPropertyType = function (propertyName, schemaWrapperInfo) {
114
+ OpenApiDocConverter.prototype.convertSchemaObjectToPropertyType = function (parentTypeName, propertyName, schemaWrapperInfo) {
114
115
  var required = this.getIsRequired(propertyName, schemaWrapperInfo);
115
116
  var validatorCount = this.getValidatorCount(propertyName, schemaWrapperInfo);
116
117
  var initialValue = this.getInitialValue(propertyName, schemaWrapperInfo);
118
+ var initialTestValue = this.getInitialTestValue(parentTypeName, propertyName, schemaWrapperInfo);
117
119
  return {
118
120
  required: required,
119
121
  name: propertyName,
120
122
  initialValue: initialValue,
123
+ initialTestValue: initialTestValue,
121
124
  isArray: false,
122
125
  snakeCaseName: (0, lodash_1.snakeCase)(propertyName).toUpperCase(),
123
126
  typeScriptType: this.getPropertyTypeScriptType(schemaWrapperInfo),
@@ -137,14 +140,16 @@ var OpenApiDocConverter = /** @class */ (function () {
137
140
  var exists = validationValue !== null && validationValue !== undefined;
138
141
  return +exists;
139
142
  };
140
- OpenApiDocConverter.prototype.convertArrayObjectToValuePropertyType = function (propertyName, schemaWrapperInfo) {
143
+ OpenApiDocConverter.prototype.convertArrayObjectToValuePropertyType = function (parentTypeName, propertyName, schemaWrapperInfo) {
141
144
  var required = this.getIsRequired(propertyName, schemaWrapperInfo);
142
145
  var validatorCount = this.getValidatorCount(propertyName, schemaWrapperInfo);
143
146
  var initialValue = this.getInitialValue(propertyName, schemaWrapperInfo);
147
+ var initialTestValue = this.getInitialTestValue(parentTypeName, propertyName, schemaWrapperInfo);
144
148
  return {
145
149
  required: required,
146
150
  typeScriptType: this.getPropertyTypeScriptType(schemaWrapperInfo),
147
151
  initialValue: initialValue,
152
+ initialTestValue: initialTestValue,
148
153
  name: propertyName,
149
154
  isArray: true,
150
155
  snakeCaseName: (0, lodash_1.snakeCase)(propertyName).toUpperCase(),
@@ -182,21 +187,62 @@ var OpenApiDocConverter = /** @class */ (function () {
182
187
  return "''";
183
188
  }
184
189
  };
185
- OpenApiDocConverter.prototype.convertArrayObjectToReferencePropertyType = function (propertyName, schemaWrapperInfo) {
186
- return __assign(__assign({}, this.convertReferenceObjectToPropertyType(propertyName, schemaWrapperInfo)), { isArray: true });
190
+ OpenApiDocConverter.prototype.getInitialTestValue = function (parentTypeName, propertyName, schemaWrapperInfo) {
191
+ var _a, _b, _c;
192
+ var typescriptType = this.getPropertyTypeScriptType(schemaWrapperInfo);
193
+ var schemaObject = (((_a = schemaWrapperInfo === null || schemaWrapperInfo === void 0 ? void 0 : schemaWrapperInfo.componentSchemaObject) === null || _a === void 0 ? void 0 : _a.properties) || {})[propertyName];
194
+ var maxLength = schemaWrapperInfo.propertySchemaObject.maxLength;
195
+ var minLength = schemaWrapperInfo.propertySchemaObject.minLength;
196
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
197
+ var refName = schemaObject.$ref || ((_b = schemaObject.items) === null || _b === void 0 ? void 0 : _b.$ref);
198
+ var refObject = (((_c = this.apiDocument.components) === null || _c === void 0 ? void 0 : _c.schemas) || {})[refName];
199
+ var defaultValue = (schemaWrapperInfo.componentSchemaObject.default || (refObject === null || refObject === void 0 ? void 0 : refObject.default) || ((refObject === null || refObject === void 0 ? void 0 : refObject.enum) || [])[0]);
200
+ if (defaultValue && refObject.enum) {
201
+ return "".concat(schemaWrapperInfo.propertyReferenceObject['$ref'], ".").concat(defaultValue.split(' ').pop());
202
+ }
203
+ else if (refObject && parentTypeName !== refName) {
204
+ return schemaObject.type === 'array' ? "[createTest".concat(refName, "()]") : "createTest".concat(refName, "()");
205
+ }
206
+ else if (refObject && parentTypeName == refName) {
207
+ return schemaObject.type === 'array' ? "[]" : "null";
208
+ }
209
+ else if (defaultValue) {
210
+ return "'".concat(defaultValue.split(' ').pop(), "'");
211
+ }
212
+ else if (typescriptType === 'Date') {
213
+ return 'new Date()';
214
+ }
215
+ else if (typescriptType === 'boolean') {
216
+ return 'false';
217
+ }
218
+ else if (typescriptType === 'number') {
219
+ return '0';
220
+ }
221
+ else {
222
+ var retValue = (0, lodash_1.snakeCase)(propertyName).toUpperCase();
223
+ while (minLength && retValue.length < minLength) {
224
+ retValue += retValue;
225
+ }
226
+ return "'".concat(maxLength ? (0, lodash_1.snakeCase)(propertyName).toUpperCase().substring(0, maxLength) : (0, lodash_1.snakeCase)(propertyName).toUpperCase(), "'");
227
+ }
228
+ };
229
+ OpenApiDocConverter.prototype.convertArrayObjectToReferencePropertyType = function (parentTypeName, propertyName, schemaWrapperInfo) {
230
+ return __assign(__assign({}, this.convertReferenceObjectToPropertyType(parentTypeName, propertyName, schemaWrapperInfo)), { isArray: true });
187
231
  };
188
- OpenApiDocConverter.prototype.convertReferenceObjectToPropertyType = function (propertyName, schemaWrapperInfo) {
232
+ OpenApiDocConverter.prototype.convertReferenceObjectToPropertyType = function (parentTypeName, propertyName, schemaWrapperInfo) {
189
233
  var _a, _b;
190
234
  var propertySchema = (((_a = this.apiDocument.components) === null || _a === void 0 ? void 0 : _a.schemas) || {})[this.parseRef(schemaWrapperInfo)];
191
235
  var refSchema = (((_b = schemaWrapperInfo === null || schemaWrapperInfo === void 0 ? void 0 : schemaWrapperInfo.componentSchemaObject) === null || _b === void 0 ? void 0 : _b.properties) || {})[propertyName];
192
236
  var required = this.getIsRequired(propertyName, schemaWrapperInfo);
193
237
  var validatorCount = this.getValidatorCount(propertyName, schemaWrapperInfo);
194
238
  var initialValue = this.getInitialValue(propertyName, schemaWrapperInfo);
239
+ var initialTestValue = this.getInitialTestValue(parentTypeName, propertyName, schemaWrapperInfo);
195
240
  var typeName = this.parseRef(schemaWrapperInfo);
196
241
  return {
197
242
  required: required,
198
243
  name: propertyName,
199
244
  initialValue: initialValue,
245
+ initialTestValue: initialTestValue,
200
246
  snakeCaseName: (0, lodash_1.snakeCase)(propertyName).toUpperCase(),
201
247
  referenceTypeName: typeName,
202
248
  typeScriptType: typeName,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "openapi-ts-generator",
3
- "version": "5.223.20",
3
+ "version": "5.225.6",
4
4
  "description": "Based on swagger-ts-generator, this is a type script model generator specifically for services with OpenApi spec documentation.",
5
5
  "main": "index.js",
6
6
  "types": "index.d.ts",
@@ -6,27 +6,10 @@
6
6
  * For issues or feature request, visit the repo: https://github.com/ikemtz/openapi-ts-generator
7
7
  * Do not edit.
8
8
  */
9
- import { FormControl, FormArray, FormGroup, Validators } from '@angular/forms'; //NOSONAR{{#if importTypes}}{{#importTypes}}{{#unless areAllArrays}}{{#if isEnum}}
9
+ import { FormControl, FormArray, FormGroup, Validators } from '@angular/forms'; //NOSONAR
10
+ import { I{{name}}Form } from './{{kebabCasedName}}.form';{{#if importTypes}}{{#importTypes}}{{#unless isSelfReferencing}}{{#if isEnum}}
10
11
  import { {{name}} } from './{{kebabCasedTypeName}}.enum';{{else}}
11
- import { I{{name}} } from './{{kebabCasedTypeName}}.model';{{/if}}{{/unless}}{{#if hasArrays}}
12
- import { I{{name}}Form } from './{{kebabCasedTypeName}}.form-group-fac';{{/if}}{{/importTypes}}{{/if}}
13
-
14
- export interface I{{name}}Form {
15
- {{#valueProperties}}
16
- {{#if isArray}}
17
- {{name}}: FormArray<FormControl<{{typeScriptType}}>>;
18
- {{else}}
19
- {{name}}: FormControl<{{typeScriptType}}{{#unless required}} | null{{/unless}}>;
20
- {{/if}}
21
- {{/valueProperties}}
22
- {{#referenceProperties}}
23
- {{#if isArray}}
24
- {{name}}: FormArray<FormGroup<I{{typeScriptType}}Form>>;
25
- {{else}}
26
- {{name}}: FormControl<{{#unless isEnum}}I{{/unless}}{{typeScriptType}}{{#unless required}} | null{{/unless}}>;
27
- {{/if}}
28
- {{/referenceProperties}}
29
- }
12
+ import { I{{name}}Form } from './{{kebabCasedTypeName}}.form';{{/if}}{{/unless}}{{/importTypes}}{{/if}}
30
13
 
31
14
  export function {{name}}FormGroupFac(): FormGroup<I{{name}}Form> {
32
15
  return new FormGroup<I{{name}}Form>({
@@ -52,11 +35,17 @@ export function {{name}}FormGroupFac(): FormGroup<I{{name}}Form> {
52
35
  {{else}}
53
36
  {{name}}: new FormArray<FormGroup<I{{typeScriptType}}Form>>([]{{#if hasValidators}}, { validators: {{#if required}}Validators.required{{/if}}{{minLengthValidator "referenceProperties"}}{{maxLengthValidator "referenceProperties"}}{{minimumValidator "referenceProperties"}}{{maximumValidator "referenceProperties"}}{{minItemsValidator "referenceProperties"}}{{maxItemsValidator "referenceProperties"}}{{{patternValidator "referenceProperties"}}} } {{/if}}),
54
37
  {{/if}}
38
+ {{else if isEnum}}
39
+ {{#if hasMultipleValidators}}
40
+ {{name}}: new FormControl<{{typeScriptType}}{{#unless required}} | null{{/unless}}>({{{initialValue}}}, { validators: Validators.compose([{{#if required}}Validators.required, {{/if}}{{minLengthValidator "referenceProperties"}}{{maxLengthValidator "referenceProperties"}}{{minimumValidator "referenceProperties"}}{{maximumValidator "referenceProperties"}}{{minItemsValidator "referenceProperties"}}{{maxItemsValidator "referenceProperties"}}{{{patternValidator "referenceProperties"}}}]){{#if required}}, nonNullable: true{{/if}} }),
41
+ {{else}}
42
+ {{name}}: new FormControl<{{typeScriptType}}{{#unless required}} | null{{/unless}}>({{{initialValue}}}{{#if hasValidators}}, { validators: {{#if required}}Validators.required{{/if}}{{minLengthValidator "referenceProperties"}}{{maxLengthValidator "referenceProperties"}}{{minimumValidator "referenceProperties"}}{{maximumValidator "referenceProperties"}}{{minItemsValidator "referenceProperties"}}{{maxItemsValidator "referenceProperties"}}{{{patternValidator "referenceProperties"}}}{{#if required}}, nonNullable: true{{/if}} } {{/if}}),
43
+ {{/if}}
55
44
  {{else}}
56
45
  {{#if hasMultipleValidators}}
57
- {{name}}: new FormControl<{{#unless isEnum}}I{{/unless}}{{typeScriptType}}{{#unless required}} | null{{/unless}}>({{{initialValue}}}, { validators: Validators.compose([{{#if required}}Validators.required, {{/if}}{{minLengthValidator "referenceProperties"}}{{maxLengthValidator "referenceProperties"}}{{minimumValidator "referenceProperties"}}{{maximumValidator "referenceProperties"}}{{minItemsValidator "referenceProperties"}}{{maxItemsValidator "referenceProperties"}}{{{patternValidator "referenceProperties"}}}]){{#if required}}, nonNullable: true{{/if}} }),
46
+ {{name}}: new FormGroup<I{{typeScriptType}}Form{{#unless required}} | null{{/unless}}>({{{initialValue}}}, { validators: Validators.compose([{{#if required}}Validators.required, {{/if}}{{minLengthValidator "referenceProperties"}}{{maxLengthValidator "referenceProperties"}}{{minimumValidator "referenceProperties"}}{{maximumValidator "referenceProperties"}}{{minItemsValidator "referenceProperties"}}{{maxItemsValidator "referenceProperties"}}{{{patternValidator "referenceProperties"}}}]){{#if required}}, nonNullable: true{{/if}} }),
58
47
  {{else}}
59
- {{name}}: new FormControl<{{#unless isEnum}}I{{/unless}}{{typeScriptType}}{{#unless required}} | null{{/unless}}>({{{initialValue}}}{{#if hasValidators}}, { validators: {{#if required}}Validators.required{{/if}}{{minLengthValidator "referenceProperties"}}{{maxLengthValidator "referenceProperties"}}{{minimumValidator "referenceProperties"}}{{maximumValidator "referenceProperties"}}{{minItemsValidator "referenceProperties"}}{{maxItemsValidator "referenceProperties"}}{{{patternValidator "referenceProperties"}}}{{#if required}}, nonNullable: true{{/if}} } {{/if}}),
48
+ {{name}}: new FormGroup<I{{typeScriptType}}Form{{#unless required}} | null{{/unless}}>({{{initialValue}}}{{#if hasValidators}}, { validators: {{#if required}}Validators.required{{/if}}{{minLengthValidator "referenceProperties"}}{{maxLengthValidator "referenceProperties"}}{{minimumValidator "referenceProperties"}}{{maximumValidator "referenceProperties"}}{{minItemsValidator "referenceProperties"}}{{maxItemsValidator "referenceProperties"}}{{{patternValidator "referenceProperties"}}}{{#if required}}, nonNullable: true{{/if}} } {{/if}}),
60
49
  {{/if}}
61
50
  {{/if}}
62
51
  {{/referenceProperties}}
@@ -0,0 +1,30 @@
1
+ /* eslint-disable @typescript-eslint/no-unused-vars */
2
+ /* istanbul ignore file */
3
+ /**
4
+ * This file is generated by the openapi-ts-generator
5
+ * #form.ts.hbs
6
+ * For issues or feature request, visit the repo: https://github.com/ikemtz/openapi-ts-generator
7
+ * Do not edit.
8
+ */
9
+ import { FormControl, FormArray, FormGroup } from '@angular/forms'; //NOSONAR{{#if importTypes}}{{#importTypes}}{{#unless isSelfReferencing}}{{#if isEnum}}
10
+ import { {{name}} } from './{{kebabCasedTypeName}}.enum';{{else}}
11
+ import { I{{name}}Form } from './{{kebabCasedTypeName}}.form-group-fac';{{/if}}{{/unless}}{{/importTypes}}{{/if}}
12
+
13
+ export interface I{{name}}Form {
14
+ {{#valueProperties}}
15
+ {{#if isArray}}
16
+ {{name}}: FormArray<FormControl<{{typeScriptType}}>>;
17
+ {{else}}
18
+ {{name}}: FormControl<{{typeScriptType}}{{#unless required}} | null{{/unless}}>;
19
+ {{/if}}
20
+ {{/valueProperties}}
21
+ {{#referenceProperties}}
22
+ {{#if isArray}}
23
+ {{name}}: FormArray<FormGroup<I{{typeScriptType}}Form>>;
24
+ {{else if isEnum}}
25
+ {{name}}: FormControl<{{typeScriptType}}{{#unless required}} | null{{/unless}}>;
26
+ {{else}}
27
+ {{name}}: FormGroup<I{{typeScriptType}}Form{{#unless required}} | null{{/unless}}>;
28
+ {{/if}}
29
+ {{/referenceProperties}}
30
+ }
@@ -21,6 +21,10 @@ export interface I{{{name}}} {
21
21
  {{name}}?: {{typeScriptType}}{{#if isArray}}[]{{/if}}{{#unless required}} | null{{/unless}};
22
22
  {{/valueProperties}}
23
23
  {{#referenceProperties}}
24
- {{name}}?: {{#unless isEnum}}I{{/unless}}{{referenceTypeName}}{{#if isArray}}[]{{/if}}{{#unless required}} | null{{/unless}};
24
+ {{#if isEnum}}
25
+ {{name}}?: {{referenceTypeName}}{{#if isArray}}[]{{/if}}{{#unless required}} | null{{/unless}};
26
+ {{else}}
27
+ {{name}}?: Partial<I{{referenceTypeName}}{{#if isArray}}[]{{/if}}>;
28
+ {{/if}}
25
29
  {{/referenceProperties}}
26
30
  }
@@ -0,0 +1,19 @@
1
+ /* istanbul ignore file */
2
+ /**
3
+ * This file is generated by the openapi-ts-generator
4
+ * #test-object-factory.ts.hbs
5
+ * For issues or feature request, visit the repo: https://github.com/ikemtz/openapi-ts-generator
6
+ * Do not edit.
7
+ */
8
+ {{#if importTypes}}{{#importTypes}}{{#unless isSelfReferencing}}{{#if isEnum}}
9
+ import { {{name}} } from './{{kebabCasedTypeName}}.enum';{{else}}
10
+ import { createTest{{name}} } from './{{kebabCasedTypeName}}.test-obj-fac';{{/if}}{{/unless}}{{/importTypes}}{{/if}}
11
+ import { I{{name}} } from './{{kebabCasedName}}.model.ts';
12
+ import { {{name}}Properties } from './{{kebabCasedName}}.properties.ts';
13
+
14
+ export function createTest{{name}}(): Partial<I{{name}}> {
15
+ return { {{#valueProperties}}
16
+ [{{../name}}Properties.{{snakeCaseName}}]: {{{initialTestValue}}},{{/valueProperties}} {{#referenceProperties}}
17
+ [{{../name}}Properties.{{snakeCaseName}}]: {{{initialTestValue}}},{{/referenceProperties}}
18
+ };
19
+ }