@opra/cli 1.19.7 → 1.21.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -2,11 +2,13 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.generateDataType = generateDataType;
4
4
  exports._generateTypeCode = _generateTypeCode;
5
- exports._generateEnumTypeCode = _generateEnumTypeCode;
5
+ exports._generateArrayTypeCode = _generateArrayTypeCode;
6
6
  exports._generateComplexTypeCode = _generateComplexTypeCode;
7
- exports._generateSimpleTypeCode = _generateSimpleTypeCode;
8
- exports._generateMixinTypeCode = _generateMixinTypeCode;
7
+ exports._generateEnumTypeCode = _generateEnumTypeCode;
9
8
  exports._generateMappedTypeCode = _generateMappedTypeCode;
9
+ exports._generateMixinTypeCode = _generateMixinTypeCode;
10
+ exports._generateSimpleTypeCode = _generateSimpleTypeCode;
11
+ exports._generateUnionTypeCode = _generateUnionTypeCode;
10
12
  const tslib_1 = require("tslib");
11
13
  const node_path_1 = tslib_1.__importDefault(require("node:path"));
12
14
  const common_1 = require("@opra/common");
@@ -85,14 +87,14 @@ async function _generateTypeCode(currentFile, dataType, intent) {
85
87
  if (intent === 'root' && !dataType.name) {
86
88
  throw new TypeError(`Name required to generate data type code to root intent`);
87
89
  }
88
- if (dataType instanceof common_1.EnumType) {
89
- return await this._generateEnumTypeCode(currentFile, dataType, intent);
90
+ if (dataType instanceof common_1.ArrayType) {
91
+ return await this._generateArrayTypeCode(currentFile, dataType, intent);
90
92
  }
91
93
  if (dataType instanceof common_1.ComplexType) {
92
94
  return await this._generateComplexTypeCode(currentFile, dataType, intent);
93
95
  }
94
- if (dataType instanceof common_1.SimpleType) {
95
- return await this._generateSimpleTypeCode(currentFile, dataType, intent);
96
+ if (dataType instanceof common_1.EnumType) {
97
+ return await this._generateEnumTypeCode(currentFile, dataType, intent);
96
98
  }
97
99
  if (dataType instanceof common_1.MappedType) {
98
100
  return await this._generateMappedTypeCode(currentFile, dataType, intent);
@@ -100,36 +102,34 @@ async function _generateTypeCode(currentFile, dataType, intent) {
100
102
  if (dataType instanceof common_1.MixinType) {
101
103
  return await this._generateMixinTypeCode(currentFile, dataType, intent);
102
104
  }
105
+ if (dataType instanceof common_1.SimpleType) {
106
+ return await this._generateSimpleTypeCode(currentFile, dataType, intent);
107
+ }
108
+ if (dataType instanceof common_1.UnionType) {
109
+ return await this._generateUnionTypeCode(currentFile, dataType, intent);
110
+ }
103
111
  /* istanbul ignore next */
104
112
  throw new TypeError(`${dataType.kind} data types can not be directly exported`);
105
113
  }
106
114
  /**
107
115
  *
108
116
  */
109
- async function _generateEnumTypeCode(currentFile, dataType, intent) {
110
- if (intent === 'root') {
111
- let out = `enum ${dataType.name} {\n\t`;
112
- for (const [value, info] of Object.entries(dataType.attributes)) {
113
- // Print JSDoc
114
- let jsDoc = '';
115
- if (dataType.attributes[value].description)
116
- jsDoc += ` * ${dataType.attributes[value].description}\n`;
117
- if (jsDoc)
118
- out += `/**\n${jsDoc} */\n`;
119
- out +=
120
- `${info.alias || value} = ` +
121
- (typeof value === 'number'
122
- ? value
123
- : "'" + String(value).replace("'", "\\'") + "'");
124
- out += ',\n\n';
125
- }
126
- return out + '\b}';
117
+ async function _generateArrayTypeCode(currentFile, dataType, intent) {
118
+ if (intent === 'extends')
119
+ throw new TypeError('Array types can not be extended');
120
+ let out = '';
121
+ const x = await this.generateDataType(dataType.type, 'typeDef', currentFile);
122
+ if (x.kind === 'embedded') {
123
+ out =
124
+ x.code.includes('|') || x.code.includes('&')
125
+ ? '(' + x.code + ')'
126
+ : x.code;
127
127
  }
128
- return ('(' +
129
- Object.keys(dataType.attributes)
130
- .map(t => `'${t}'`)
131
- .join(' | ') +
132
- ')');
128
+ else
129
+ out = x.typeName;
130
+ if (intent === 'root')
131
+ return `type ${dataType.name} = ${out}[]`;
132
+ return `${out}[]`;
133
133
  }
134
134
  /**
135
135
  *
@@ -189,7 +189,7 @@ async function _generateComplexTypeCode(currentFile, dataType, intent) {
189
189
  const x = await this.generateDataType(field.type, 'typeDef', currentFile);
190
190
  typ = x.kind === 'embedded' ? x.code : x.typeName;
191
191
  }
192
- if (field.isArray) {
192
+ if (field.isArray && !(field.type instanceof common_1.ArrayType)) {
193
193
  out += /[a-zA-Z]\w*/.test(typ) ? typ + '[];\n' : '(' + typ + ')[];\n';
194
194
  }
195
195
  else
@@ -202,30 +202,30 @@ async function _generateComplexTypeCode(currentFile, dataType, intent) {
202
202
  /**
203
203
  *
204
204
  */
205
- async function _generateSimpleTypeCode(currentFile, dataType, intent) {
206
- let out = intent === 'root' ? `type ${dataType.name} = ` : '';
207
- const nameMapping = dataType.nameMappings.js || 'any';
208
- out += nameMapping === 'Date' ? 'string' : nameMapping;
209
- return intent === 'root' ? out + ';' : out;
210
- }
211
- /**
212
- *
213
- */
214
- async function _generateMixinTypeCode(currentFile, dataType, intent) {
215
- const outArray = [];
216
- for (const t of dataType.types) {
217
- const x = await this.generateDataType(t, 'typeDef', currentFile);
218
- if (x.kind === 'embedded') {
219
- outArray.push(x.code.includes('|') ? '(' + x.code + ')' : x.code);
205
+ async function _generateEnumTypeCode(currentFile, dataType, intent) {
206
+ if (intent === 'root') {
207
+ let out = `enum ${dataType.name} {\n\t`;
208
+ for (const [value, info] of Object.entries(dataType.attributes)) {
209
+ // Print JSDoc
210
+ let jsDoc = '';
211
+ if (dataType.attributes[value].description)
212
+ jsDoc += ` * ${dataType.attributes[value].description}\n`;
213
+ if (jsDoc)
214
+ out += `/**\n${jsDoc} */\n`;
215
+ out +=
216
+ `${info.alias || value} = ` +
217
+ (typeof value === 'number'
218
+ ? value
219
+ : "'" + String(value).replace("'", "\\'") + "'");
220
+ out += ',\n\n';
220
221
  }
221
- else
222
- outArray.push(x.typeName);
222
+ return out + '\b}';
223
223
  }
224
- if (intent === 'root')
225
- return `type ${dataType.name} = ${outArray.join(' & ')}`;
226
- if (intent === 'extends')
227
- return outArray.join(', ');
228
- return outArray.join(' & ');
224
+ return ('(' +
225
+ Object.keys(dataType.attributes)
226
+ .map(t => `'${t}'`)
227
+ .join(' | ') +
228
+ ')');
229
229
  }
230
230
  /**
231
231
  *
@@ -285,3 +285,54 @@ async function _generateMappedTypeCode(currentFile, dataType, intent) {
285
285
  }
286
286
  return out;
287
287
  }
288
+ /**
289
+ *
290
+ */
291
+ async function _generateMixinTypeCode(currentFile, dataType, intent) {
292
+ const outArray = [];
293
+ for (const t of dataType.types) {
294
+ const x = await this.generateDataType(t, 'typeDef', currentFile);
295
+ if (x.kind === 'embedded') {
296
+ outArray.push(x.code.includes('|') || x.code.includes('&')
297
+ ? '(' + x.code + ')'
298
+ : x.code);
299
+ }
300
+ else
301
+ outArray.push(x.typeName);
302
+ }
303
+ if (intent === 'root')
304
+ return `type ${dataType.name} = ${outArray.join(' & ')}`;
305
+ if (intent === 'extends')
306
+ return outArray.join(', ');
307
+ return outArray.join(' & ');
308
+ }
309
+ /**
310
+ *
311
+ */
312
+ async function _generateSimpleTypeCode(currentFile, dataType, intent) {
313
+ let out = intent === 'root' ? `type ${dataType.name} = ` : '';
314
+ const nameMapping = dataType.nameMappings.js || 'any';
315
+ out += nameMapping === 'Date' ? 'string' : nameMapping;
316
+ return intent === 'root' ? out + ';' : out;
317
+ }
318
+ /**
319
+ *
320
+ */
321
+ async function _generateUnionTypeCode(currentFile, dataType, intent) {
322
+ if (intent === 'extends')
323
+ throw new TypeError('Union types can not be extended');
324
+ const outArray = [];
325
+ for (const t of dataType.types) {
326
+ const x = await this.generateDataType(t, 'typeDef', currentFile);
327
+ if (x.kind === 'embedded') {
328
+ outArray.push(x.code.includes('|') || x.code.includes('&')
329
+ ? '(' + x.code + ')'
330
+ : x.code);
331
+ }
332
+ else
333
+ outArray.push(x.typeName);
334
+ }
335
+ if (intent === 'root')
336
+ return `type ${dataType.name} = ${outArray.join(' | ')}`;
337
+ return outArray.join(' | ');
338
+ }
@@ -105,11 +105,13 @@ exports.TsGenerator = TsGenerator;
105
105
  TsGenerator.prototype.generateDocument = generate_document_js_1.generateDocument;
106
106
  TsGenerator.prototype.generateDataType = generate_data_type_js_1.generateDataType;
107
107
  TsGenerator.prototype._generateTypeCode = generate_data_type_js_1._generateTypeCode;
108
- TsGenerator.prototype._generateEnumTypeCode = generate_data_type_js_1._generateEnumTypeCode;
108
+ TsGenerator.prototype._generateArrayTypeCode = generate_data_type_js_1._generateArrayTypeCode;
109
109
  TsGenerator.prototype._generateComplexTypeCode = generate_data_type_js_1._generateComplexTypeCode;
110
- TsGenerator.prototype._generateSimpleTypeCode = generate_data_type_js_1._generateSimpleTypeCode;
110
+ TsGenerator.prototype._generateEnumTypeCode = generate_data_type_js_1._generateEnumTypeCode;
111
111
  TsGenerator.prototype._generateMappedTypeCode = generate_data_type_js_1._generateMappedTypeCode;
112
112
  TsGenerator.prototype._generateMixinTypeCode = generate_data_type_js_1._generateMixinTypeCode;
113
+ TsGenerator.prototype._generateSimpleTypeCode = generate_data_type_js_1._generateSimpleTypeCode;
114
+ TsGenerator.prototype._generateUnionTypeCode = generate_data_type_js_1._generateUnionTypeCode;
113
115
  TsGenerator.prototype.generateHttpApi = generate_http_api_js_1.generateHttpApi;
114
116
  TsGenerator.prototype.generateHttpController = generate_http_controller_js_1.generateHttpController;
115
117
  })();
@@ -1,5 +1,5 @@
1
1
  import path from 'node:path';
2
- import { ComplexType, EnumType, MappedType, MixinType, SimpleType, } from '@opra/common';
2
+ import { ArrayType, ComplexType, EnumType, MappedType, MixinType, SimpleType, UnionType, } from '@opra/common';
3
3
  import { CodeBlock } from '../../code-block.js';
4
4
  import { wrapJSDocString } from '../utils/string-utils.js';
5
5
  const internalTypeNames = [
@@ -75,14 +75,14 @@ export async function _generateTypeCode(currentFile, dataType, intent) {
75
75
  if (intent === 'root' && !dataType.name) {
76
76
  throw new TypeError(`Name required to generate data type code to root intent`);
77
77
  }
78
- if (dataType instanceof EnumType) {
79
- return await this._generateEnumTypeCode(currentFile, dataType, intent);
78
+ if (dataType instanceof ArrayType) {
79
+ return await this._generateArrayTypeCode(currentFile, dataType, intent);
80
80
  }
81
81
  if (dataType instanceof ComplexType) {
82
82
  return await this._generateComplexTypeCode(currentFile, dataType, intent);
83
83
  }
84
- if (dataType instanceof SimpleType) {
85
- return await this._generateSimpleTypeCode(currentFile, dataType, intent);
84
+ if (dataType instanceof EnumType) {
85
+ return await this._generateEnumTypeCode(currentFile, dataType, intent);
86
86
  }
87
87
  if (dataType instanceof MappedType) {
88
88
  return await this._generateMappedTypeCode(currentFile, dataType, intent);
@@ -90,36 +90,34 @@ export async function _generateTypeCode(currentFile, dataType, intent) {
90
90
  if (dataType instanceof MixinType) {
91
91
  return await this._generateMixinTypeCode(currentFile, dataType, intent);
92
92
  }
93
+ if (dataType instanceof SimpleType) {
94
+ return await this._generateSimpleTypeCode(currentFile, dataType, intent);
95
+ }
96
+ if (dataType instanceof UnionType) {
97
+ return await this._generateUnionTypeCode(currentFile, dataType, intent);
98
+ }
93
99
  /* istanbul ignore next */
94
100
  throw new TypeError(`${dataType.kind} data types can not be directly exported`);
95
101
  }
96
102
  /**
97
103
  *
98
104
  */
99
- export async function _generateEnumTypeCode(currentFile, dataType, intent) {
100
- if (intent === 'root') {
101
- let out = `enum ${dataType.name} {\n\t`;
102
- for (const [value, info] of Object.entries(dataType.attributes)) {
103
- // Print JSDoc
104
- let jsDoc = '';
105
- if (dataType.attributes[value].description)
106
- jsDoc += ` * ${dataType.attributes[value].description}\n`;
107
- if (jsDoc)
108
- out += `/**\n${jsDoc} */\n`;
109
- out +=
110
- `${info.alias || value} = ` +
111
- (typeof value === 'number'
112
- ? value
113
- : "'" + String(value).replace("'", "\\'") + "'");
114
- out += ',\n\n';
115
- }
116
- return out + '\b}';
105
+ export async function _generateArrayTypeCode(currentFile, dataType, intent) {
106
+ if (intent === 'extends')
107
+ throw new TypeError('Array types can not be extended');
108
+ let out = '';
109
+ const x = await this.generateDataType(dataType.type, 'typeDef', currentFile);
110
+ if (x.kind === 'embedded') {
111
+ out =
112
+ x.code.includes('|') || x.code.includes('&')
113
+ ? '(' + x.code + ')'
114
+ : x.code;
117
115
  }
118
- return ('(' +
119
- Object.keys(dataType.attributes)
120
- .map(t => `'${t}'`)
121
- .join(' | ') +
122
- ')');
116
+ else
117
+ out = x.typeName;
118
+ if (intent === 'root')
119
+ return `type ${dataType.name} = ${out}[]`;
120
+ return `${out}[]`;
123
121
  }
124
122
  /**
125
123
  *
@@ -179,7 +177,7 @@ export async function _generateComplexTypeCode(currentFile, dataType, intent) {
179
177
  const x = await this.generateDataType(field.type, 'typeDef', currentFile);
180
178
  typ = x.kind === 'embedded' ? x.code : x.typeName;
181
179
  }
182
- if (field.isArray) {
180
+ if (field.isArray && !(field.type instanceof ArrayType)) {
183
181
  out += /[a-zA-Z]\w*/.test(typ) ? typ + '[];\n' : '(' + typ + ')[];\n';
184
182
  }
185
183
  else
@@ -192,30 +190,30 @@ export async function _generateComplexTypeCode(currentFile, dataType, intent) {
192
190
  /**
193
191
  *
194
192
  */
195
- export async function _generateSimpleTypeCode(currentFile, dataType, intent) {
196
- let out = intent === 'root' ? `type ${dataType.name} = ` : '';
197
- const nameMapping = dataType.nameMappings.js || 'any';
198
- out += nameMapping === 'Date' ? 'string' : nameMapping;
199
- return intent === 'root' ? out + ';' : out;
200
- }
201
- /**
202
- *
203
- */
204
- export async function _generateMixinTypeCode(currentFile, dataType, intent) {
205
- const outArray = [];
206
- for (const t of dataType.types) {
207
- const x = await this.generateDataType(t, 'typeDef', currentFile);
208
- if (x.kind === 'embedded') {
209
- outArray.push(x.code.includes('|') ? '(' + x.code + ')' : x.code);
193
+ export async function _generateEnumTypeCode(currentFile, dataType, intent) {
194
+ if (intent === 'root') {
195
+ let out = `enum ${dataType.name} {\n\t`;
196
+ for (const [value, info] of Object.entries(dataType.attributes)) {
197
+ // Print JSDoc
198
+ let jsDoc = '';
199
+ if (dataType.attributes[value].description)
200
+ jsDoc += ` * ${dataType.attributes[value].description}\n`;
201
+ if (jsDoc)
202
+ out += `/**\n${jsDoc} */\n`;
203
+ out +=
204
+ `${info.alias || value} = ` +
205
+ (typeof value === 'number'
206
+ ? value
207
+ : "'" + String(value).replace("'", "\\'") + "'");
208
+ out += ',\n\n';
210
209
  }
211
- else
212
- outArray.push(x.typeName);
210
+ return out + '\b}';
213
211
  }
214
- if (intent === 'root')
215
- return `type ${dataType.name} = ${outArray.join(' & ')}`;
216
- if (intent === 'extends')
217
- return outArray.join(', ');
218
- return outArray.join(' & ');
212
+ return ('(' +
213
+ Object.keys(dataType.attributes)
214
+ .map(t => `'${t}'`)
215
+ .join(' | ') +
216
+ ')');
219
217
  }
220
218
  /**
221
219
  *
@@ -275,3 +273,54 @@ export async function _generateMappedTypeCode(currentFile, dataType, intent) {
275
273
  }
276
274
  return out;
277
275
  }
276
+ /**
277
+ *
278
+ */
279
+ export async function _generateMixinTypeCode(currentFile, dataType, intent) {
280
+ const outArray = [];
281
+ for (const t of dataType.types) {
282
+ const x = await this.generateDataType(t, 'typeDef', currentFile);
283
+ if (x.kind === 'embedded') {
284
+ outArray.push(x.code.includes('|') || x.code.includes('&')
285
+ ? '(' + x.code + ')'
286
+ : x.code);
287
+ }
288
+ else
289
+ outArray.push(x.typeName);
290
+ }
291
+ if (intent === 'root')
292
+ return `type ${dataType.name} = ${outArray.join(' & ')}`;
293
+ if (intent === 'extends')
294
+ return outArray.join(', ');
295
+ return outArray.join(' & ');
296
+ }
297
+ /**
298
+ *
299
+ */
300
+ export async function _generateSimpleTypeCode(currentFile, dataType, intent) {
301
+ let out = intent === 'root' ? `type ${dataType.name} = ` : '';
302
+ const nameMapping = dataType.nameMappings.js || 'any';
303
+ out += nameMapping === 'Date' ? 'string' : nameMapping;
304
+ return intent === 'root' ? out + ';' : out;
305
+ }
306
+ /**
307
+ *
308
+ */
309
+ export async function _generateUnionTypeCode(currentFile, dataType, intent) {
310
+ if (intent === 'extends')
311
+ throw new TypeError('Union types can not be extended');
312
+ const outArray = [];
313
+ for (const t of dataType.types) {
314
+ const x = await this.generateDataType(t, 'typeDef', currentFile);
315
+ if (x.kind === 'embedded') {
316
+ outArray.push(x.code.includes('|') || x.code.includes('&')
317
+ ? '(' + x.code + ')'
318
+ : x.code);
319
+ }
320
+ else
321
+ outArray.push(x.typeName);
322
+ }
323
+ if (intent === 'root')
324
+ return `type ${dataType.name} = ${outArray.join(' | ')}`;
325
+ return outArray.join(' | ');
326
+ }
@@ -5,7 +5,7 @@ import process from 'node:process';
5
5
  import colors from 'ansi-colors';
6
6
  import { FileWriter } from '../file-writer.js';
7
7
  import { cleanDirectory } from './generators/clean-directory.js';
8
- import { _generateComplexTypeCode, _generateEnumTypeCode, _generateMappedTypeCode, _generateMixinTypeCode, _generateSimpleTypeCode, _generateTypeCode, generateDataType, } from './generators/generate-data-type.js';
8
+ import { _generateArrayTypeCode, _generateComplexTypeCode, _generateEnumTypeCode, _generateMappedTypeCode, _generateMixinTypeCode, _generateSimpleTypeCode, _generateTypeCode, _generateUnionTypeCode, generateDataType, } from './generators/generate-data-type.js';
9
9
  import { generateDocument } from './generators/generate-document.js';
10
10
  import { generateHttpApi } from './generators/generate-http-api.js';
11
11
  import { generateHttpController } from './generators/generate-http-controller.js';
@@ -100,11 +100,13 @@ export class TsGenerator extends EventEmitter {
100
100
  TsGenerator.prototype.generateDocument = generateDocument;
101
101
  TsGenerator.prototype.generateDataType = generateDataType;
102
102
  TsGenerator.prototype._generateTypeCode = _generateTypeCode;
103
- TsGenerator.prototype._generateEnumTypeCode = _generateEnumTypeCode;
103
+ TsGenerator.prototype._generateArrayTypeCode = _generateArrayTypeCode;
104
104
  TsGenerator.prototype._generateComplexTypeCode = _generateComplexTypeCode;
105
- TsGenerator.prototype._generateSimpleTypeCode = _generateSimpleTypeCode;
105
+ TsGenerator.prototype._generateEnumTypeCode = _generateEnumTypeCode;
106
106
  TsGenerator.prototype._generateMappedTypeCode = _generateMappedTypeCode;
107
107
  TsGenerator.prototype._generateMixinTypeCode = _generateMixinTypeCode;
108
+ TsGenerator.prototype._generateSimpleTypeCode = _generateSimpleTypeCode;
109
+ TsGenerator.prototype._generateUnionTypeCode = _generateUnionTypeCode;
108
110
  TsGenerator.prototype.generateHttpApi = generateHttpApi;
109
111
  TsGenerator.prototype.generateHttpController = generateHttpController;
110
112
  })();
package/package.json CHANGED
@@ -1,21 +1,21 @@
1
1
  {
2
2
  "name": "@opra/cli",
3
- "version": "1.19.7",
3
+ "version": "1.21.0",
4
4
  "description": "Opra CLI tools",
5
5
  "author": "Panates",
6
6
  "license": "MIT",
7
7
  "dependencies": {
8
8
  "@browsery/type-is": "^2.0.1",
9
9
  "ansi-colors": "^4.1.3",
10
- "commander": "^14.0.1",
10
+ "commander": "^14.0.2",
11
11
  "js-string-escape": "^1.0.1",
12
12
  "putil-flattentext": "^2.1.1",
13
13
  "putil-varhelpers": "^1.6.5",
14
14
  "tslib": "^2.8.1"
15
15
  },
16
16
  "peerDependencies": {
17
- "@opra/client": "^1.19.7",
18
- "@opra/common": "^1.19.7"
17
+ "@opra/client": "^1.21.0",
18
+ "@opra/common": "^1.21.0"
19
19
  },
20
20
  "type": "module",
21
21
  "exports": {
@@ -1,4 +1,4 @@
1
- import { ComplexType, DataType, EnumType, MappedType, MixinType, SimpleType } from '@opra/common';
1
+ import { ArrayType, ComplexType, DataType, EnumType, MappedType, MixinType, SimpleType, UnionType } from '@opra/common';
2
2
  import { TsFile } from '../ts-file.js';
3
3
  import type { TsGenerator } from '../ts-generator';
4
4
  type Intent = 'root' | 'extends' | 'typeDef';
@@ -21,7 +21,7 @@ export declare function _generateTypeCode(this: TsGenerator, currentFile: TsFile
21
21
  /**
22
22
  *
23
23
  */
24
- export declare function _generateEnumTypeCode(this: TsGenerator, currentFile: TsFile, dataType: EnumType, intent?: Intent): Promise<string>;
24
+ export declare function _generateArrayTypeCode(this: TsGenerator, currentFile: TsFile, dataType: ArrayType, intent?: Intent): Promise<string>;
25
25
  /**
26
26
  *
27
27
  */
@@ -29,7 +29,11 @@ export declare function _generateComplexTypeCode(this: TsGenerator, currentFile:
29
29
  /**
30
30
  *
31
31
  */
32
- export declare function _generateSimpleTypeCode(this: TsGenerator, currentFile: TsFile, dataType: SimpleType, intent?: Intent): Promise<string>;
32
+ export declare function _generateEnumTypeCode(this: TsGenerator, currentFile: TsFile, dataType: EnumType, intent?: Intent): Promise<string>;
33
+ /**
34
+ *
35
+ */
36
+ export declare function _generateMappedTypeCode(this: TsGenerator, currentFile: TsFile, dataType: MappedType, intent?: Intent): Promise<string>;
33
37
  /**
34
38
  *
35
39
  */
@@ -37,5 +41,9 @@ export declare function _generateMixinTypeCode(this: TsGenerator, currentFile: T
37
41
  /**
38
42
  *
39
43
  */
40
- export declare function _generateMappedTypeCode(this: TsGenerator, currentFile: TsFile, dataType: MappedType, intent?: Intent): Promise<string>;
44
+ export declare function _generateSimpleTypeCode(this: TsGenerator, currentFile: TsFile, dataType: SimpleType, intent?: Intent): Promise<string>;
45
+ /**
46
+ *
47
+ */
48
+ export declare function _generateUnionTypeCode(this: TsGenerator, currentFile: TsFile, dataType: UnionType, intent?: Intent): Promise<string>;
41
49
  export {};
@@ -3,7 +3,7 @@ import { ApiDocument } from '@opra/common';
3
3
  import type { IFileWriter } from '../interfaces/file-writer.interface.js';
4
4
  import type { ILogger } from '../interfaces/logger.interface.js';
5
5
  import { cleanDirectory } from './generators/clean-directory.js';
6
- import { _generateComplexTypeCode, _generateEnumTypeCode, _generateMappedTypeCode, _generateMixinTypeCode, _generateSimpleTypeCode, _generateTypeCode, generateDataType } from './generators/generate-data-type.js';
6
+ import { _generateArrayTypeCode, _generateComplexTypeCode, _generateEnumTypeCode, _generateMappedTypeCode, _generateMixinTypeCode, _generateSimpleTypeCode, _generateTypeCode, _generateUnionTypeCode, generateDataType } from './generators/generate-data-type.js';
7
7
  import { generateDocument } from './generators/generate-document.js';
8
8
  import { generateHttpApi } from './generators/generate-http-api.js';
9
9
  import { generateHttpController } from './generators/generate-http-controller.js';
@@ -31,11 +31,13 @@ export declare class TsGenerator extends EventEmitter {
31
31
  protected generateDocument: typeof generateDocument;
32
32
  protected generateDataType: typeof generateDataType;
33
33
  protected _generateTypeCode: typeof _generateTypeCode;
34
- protected _generateEnumTypeCode: typeof _generateEnumTypeCode;
34
+ protected _generateArrayTypeCode: typeof _generateArrayTypeCode;
35
35
  protected _generateComplexTypeCode: typeof _generateComplexTypeCode;
36
- protected _generateSimpleTypeCode: typeof _generateSimpleTypeCode;
36
+ protected _generateEnumTypeCode: typeof _generateEnumTypeCode;
37
37
  protected _generateMappedTypeCode: typeof _generateMappedTypeCode;
38
38
  protected _generateMixinTypeCode: typeof _generateMixinTypeCode;
39
+ protected _generateSimpleTypeCode: typeof _generateSimpleTypeCode;
40
+ protected _generateUnionTypeCode: typeof _generateUnionTypeCode;
39
41
  protected generateHttpApi: typeof generateHttpApi;
40
42
  protected generateHttpController: typeof generateHttpController;
41
43
  protected _documentRoot: string;