google / google/googleapis.dart

[discoveryapis_generator] Consider adding helpers to to ease use of int-as-string fields

Open
#287 9 comments 0 reactions 0 assignees View on GitHub
enhancement package:discoveryapis_generator
Dominant language
Dart
Stars
419
Forks
136
Avg merge
1h 21m
Merged PRs (30d)
5

Description

Hello Google developers,

I got this error when launching `discoveryapis_generator`
```
Unhandled exception:
Null check operator used on a null value
#0 main (file:///Users/mac/.pub-cache/hosted/pub.dartlang.org/discoveryapis_generator-1.0.0/bin/generate.dart:86:41)
#1 _delayEntrypointInvocation. (dart:isolate-patch/isolate_patch.dart:281:32)
#2 _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:184:12)
```

**My install log**
```
➜ sync-api-generator pub global deactivate discoveryapis_generator
Deactivated package discoveryapis_generator 1.0.0.
➜ sync-api-generator dart pub global activate discoveryapis_generator
Resolving dependencies... (1.4s)
+ _discoveryapis_commons 1.0.1
+ _fe_analyzer_shared 23.0.0
+ analyzer 2.0.0
+ args 2.2.0
+ async 2.8.2
+ charcode 1.3.1
+ cli_util 0.3.3
+ collection 1.15.0
+ convert 3.0.1
+ crypto 3.0.1
+ dart_style 2.0.3
+ discoveryapis_generator 1.0.0
+ file 6.1.2
+ glob 2.0.1
+ http 0.13.3
+ http_parser 4.0.0
+ meta 1.7.0
+ package_config 2.0.0
+ path 1.8.0
+ pedantic 1.11.1
+ pub_semver 2.0.0
+ source_span 1.8.1
+ string_scanner 1.1.0
+ term_glyph 1.2.0
+ typed_data 1.3.0
+ watcher 1.0.0
+ yaml 3.1.0
Precompiling executables... (9.9s)
Precompiled discoveryapis_generator:generate.
Installed executable discoveryapis_generator.
Activated discoveryapis_generator 1.0.0.
```

**Fluttter doctor output**
```
➜ sync-api-generator flutter doctor
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel master, 2.5.0-7.0.pre.125, on macOS 11.3.1 20E241 darwin-x64, locale en-CA)
[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.2)
[✓] Chrome - develop for the web
[✓] Android Studio (version 2020.3)
[✓] VS Code (version 1.58.0)
```
I tried both stable channel and master channel, and got the similar error log.

Moreover, when running the generator on my API's json, it throws this error:
````
➜ sync-api-generator pub global run discoveryapis_generator:generate package -i discovery -o dart_client
Unhandled exception:
type 'int' is not a subtype of type 'String' in type cast
#0 new JsonSchema.fromJson (package:discoveryapis_generator/src/generated_googleapis/discovery/v1.dart:472:35)
#1 new JsonSchema.fromJson. (package:discoveryapis_generator/src/generated_googleapis/discovery/v1.dart:514:22)
#2 MapMixin.map (dart:collection/maps.dart:170:28)
#3 new JsonSchema.fromJson (package:discoveryapis_generator/src/generated_googleapis/discovery/v1.dart:511:72)
#4 new RestDescription.fromJson. (package:discoveryapis_generator/src/generated_googleapis/discovery/v1.dart:861:22)
#5 MapMixin.map (dart:collection/maps.dart:170:28)
#6 new RestDescription.fromJson (package:discoveryapis_generator/src/generated_googleapis/discovery/v1.dart:858:75)
#7 generateAllLibraries. (package:discoveryapis_generator/discoveryapis_generator.dart:46:40)
#8 MappedIterator.moveNext (dart:_internal/iterable.dart:390:20)
#9 new _GrowableList._ofOther (dart:core-patch/growable_array.dart:198:26)
#10 new _GrowableList.of (dart:core-patch/growable_array.dart:152:26)
#11 new List.of (dart:core-patch/array_patch.dart:50:28)
#12 Iterable.toList (dart:core/iterable.dart:366:12)
#13 generateAllLibraries (package:discoveryapis_generator/discoveryapis_generator.dart:49:8)
#14 main (file:///Users/mac/.pub-cache/hosted/pub.dartlang.org/discoveryapis_generator-1.0.0/bin/generate.dart:104:20)
#15 _delayEntrypointInvocation. (dart:isolate-patch/isolate_patch.dart:281:32)
#16 _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:184:12)
````

Appreciate any idea to resolve this issue!
Thank you.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.