Skip to content

Commit dd1cf17

Browse files
committed
release 3.1.0
1 parent 9804783 commit dd1cf17

File tree

4 files changed

+48
-15
lines changed

4 files changed

+48
-15
lines changed

openapi-generator/CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
## 3.1.1
2+
- **BREAKING CHANGES**
3+
- Bumped dart-ogurets (_dioAlt_) generator to 5.0 with [breaking changes](https://github.com/dart-ogurets/dart-openapi-maven#changelog)
4+
- Bumped official openapi generator to 5.1.0. See [change log](https://github.com/OpenAPITools/openapi-generator/releases/tag/v5.1.0)
15
## 3.1.0
26
- **BREAKING CHANGES**
37
- Bumped dart-ogurets (_dioAlt_) generator to 5.0 with [breaking changes](https://github.com/dart-ogurets/dart-openapi-maven#changelog)

openapi-generator/lib/src/extensions/type_methods.dart

Lines changed: 34 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,17 +3,47 @@ import 'dart:mirrors';
33
import 'package:analyzer/dart/element/type.dart';
44
import 'package:source_gen/source_gen.dart' show ConstantReader;
55

6-
/// Extension adding the method `isDynamic`
6+
/// Extension adding the type methods to `ConstantReader`.
77
extension TypeMethods on ConstantReader {
88
/// Returns `true` if `this` represents a constant expression
99
/// with type `dynamic`.
10-
bool get isDynamic => objectValue.type?.isDynamic??false;
10+
bool get isDynamic => objectValue.type?.isDynamic ?? false;
11+
12+
/// Returns `true` is `this` represents a constant expression with
13+
/// type exactly `Iterable`.
14+
///
15+
/// Note: Returns `false` if the static type represents `List` or `Set`.
16+
bool get isIterable => objectValue.type?.isDartCoreIterable ?? false;
17+
18+
/// Returns `true` if the static type represents a
19+
/// `List`, `Set`, `Map`, or `Iterable`.
20+
bool get isCollection => isList || isSet || isMap || isIterable;
21+
22+
/// Returns `true` if the static type *and* the static type argument
23+
/// represent a `List`, `Set`, `Map`, or `Iterable`
24+
bool get isRecursiveCollection {
25+
if (isNotCollection) return false;
26+
final typeArg = dartTypeArgs[0];
27+
if (typeArg.isDartCoreIterable ||
28+
typeArg.isDartCoreList ||
29+
typeArg.isDartCoreSet ||
30+
typeArg.isDartCoreMap) {
31+
return true;
32+
} else {
33+
return false;
34+
}
35+
}
36+
37+
/// Returns `true` if the static type does not represent
38+
/// `List`, `Set`, `Map`, or `Iterable`.
39+
bool get isNotCollection => !isList && !isSet && !isMap && !isIterable;
1140

1241
/// Returns the static type of `this`.
13-
DartType? get type => objectValue?.type;
42+
DartType? get dartType => objectValue.type;
1443

1544
/// Returns a `List` of type arguments or the empty list.
16-
List<DartType> get typeArgs => objectValue.type?.typeArguments ?? <DartType>[];
45+
List<DartType> get dartTypeArgs =>
46+
objectValue.type?.typeArguments ?? <DartType>[];
1747

1848
/// Reads a instance of a Dart enumeration.
1949
///

openapi-generator/lib/src/openapi_generator_runner.dart

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,8 @@ class OpenapiGenerator extends GeneratorForAnnotation<annots.Openapi> {
3232
command = appendTemplateDirCommandArgs(annotation, command, separator);
3333

3434
var generatorName =
35-
annotation.peek('generatorName').enumValue<annots.Generator>();
36-
var generator = getGeneratorNameFromEnum(generatorName);
35+
annotation.peek('generatorName')?.enumValue<annots.Generator>();
36+
var generator = getGeneratorNameFromEnum(generatorName!);
3737
command = '$command$separator-g$separator$generator';
3838

3939
var outputDirectory =
@@ -46,7 +46,7 @@ class OpenapiGenerator extends GeneratorForAnnotation<annots.Openapi> {
4646
'OpenapiGenerator :: Codegen skipped because alwaysRun is set to [$alwaysRun] and $filePath already exists');
4747
return '';
4848
}
49-
command = '$command$separator-o$separator${outputDirectory}';
49+
command = '$command$separator-o$separator$outputDirectory';
5050
}
5151

5252
command = appendTypeMappingCommandArgs(annotation, command, separator);
@@ -201,7 +201,7 @@ class OpenapiGenerator extends GeneratorForAnnotation<annots.Openapi> {
201201
return command;
202202
}
203203

204-
String getGeneratorNameFromEnum(annots.Generator? generator) {
204+
String getGeneratorNameFromEnum(annots.Generator generator) {
205205
var genName = 'dart';
206206
switch (generator) {
207207
case annots.Generator.dart:
@@ -263,9 +263,8 @@ class OpenapiGenerator extends GeneratorForAnnotation<annots.Openapi> {
263263
String command, List<String> arguments, ConstantReader annotation) {
264264
final wrapper = annotation
265265
.read('additionalProperties')
266-
?.read('wrapper')
267-
?.enumValue<annots.Wrapper>() ??
268-
annots.Wrapper.none;
266+
.read('wrapper')
267+
.enumValue<annots.Wrapper>();
269268
switch (wrapper) {
270269
case annots.Wrapper.flutterw:
271270
return Command('./flutterw', arguments);
@@ -281,21 +280,21 @@ class OpenapiGenerator extends GeneratorForAnnotation<annots.Openapi> {
281280
ConstantReader annotation, String fieldName, String defaultValue) {
282281
var reader = annotation.read(fieldName);
283282

284-
return reader.isNull ? defaultValue : reader.stringValue ?? defaultValue;
283+
return reader.isNull ? defaultValue : reader.stringValue;
285284
}
286285

287286
Map? _readFieldValueAsMap(ConstantReader annotation, String fieldName,
288287
[Map? defaultValue]) {
289288
var reader = annotation.read(fieldName);
290289

291-
return reader.isNull ? defaultValue : reader.mapValue ?? defaultValue;
290+
return reader.isNull ? defaultValue : reader.mapValue;
292291
}
293292

294293
bool? _readFieldValueAsBool(ConstantReader annotation, String fieldName,
295294
[bool? defaultValue]) {
296295
var reader = annotation.read(fieldName);
297296

298-
return reader.isNull ? defaultValue : reader.boolValue ?? defaultValue;
297+
return reader.isNull ? defaultValue : reader.boolValue;
299298
}
300299
}
301300

openapi-generator/pubspec.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
name: openapi_generator
22
description: Generator for openapi client sdk inspired by the npm implementation of openapi-generator-cli.
3-
version: 3.1.0
3+
version: 3.1.1
44
homepage: https://github.com/gibahjoe/openapi-generator-dart
55

66
environment:

0 commit comments

Comments
 (0)