Repository: flutter
Issue: [pigeon] Ensure that all serialization code is private
Labels: package,team-ecosystem,p: pigeon,P2,triaged-ecosystem

### Is there an existing issue for this?

- [X] I have searched the [existing issues](https://github.com/flutter/flutter/issues)
- [X] I have read the [guide to filing a bug](https://flutter.dev/docs/resources/bug-reports)

### Steps to reproduce

upgrade Pigeon from ^3.1.5 to actual ^10.1
dev_dependencies:
  flutter_test:
    sdk: flutter
  pigeon: ^3.1.5
  very_good_analysis: ^3.0.0

in swift war .toMap() function for separate types but the new implementation toList in Swift is missing

create types.dart

```
/// {@template location_data}
/// The response object of [LocationPlatform.getLocation] and [LocationPlatform.onLocationChanged].
/// {@endtemplate}
class LocationData {
  /// {@macro location_data}
  LocationData({
    this.latitude,
    this.longitude,
    this.accuracy,
    this.altitude,
    this.bearing,
    this.bearingAccuracyDegrees,
    this.elaspedRealTimeNanos,
    this.elaspedRealTimeUncertaintyNanos,
    this.satellites,
    this.speed,
    this.speedAccuracy,
    this.time,
    this.verticalAccuracy,
    this.isMock,
  });

  /// Constructor from a Pigeon LocationData.
  factory LocationData.fromPigeon(PigeonLocationData pigeonData) {
    return LocationData(
      latitude: pigeonData.latitude,
      longitude: pigeonData.longitude,
      accuracy: pigeonData.accuracy,
      altitude: pigeonData.altitude,
      bearing: pigeonData.bearing,
      bearingAccuracyDegrees: pigeonData.bearingAccuracyDegrees,
      elaspedRealTimeNanos: pigeonData.elaspedRealTimeNanos,
      elaspedRealTimeUncertaintyNanos:
          pigeonData.elaspedRealTimeUncertaintyNanos,
      satellites: pigeonData.satellites,
      speed: pigeonData.speed,
      speedAccuracy: pigeonData.speedAccuracy,
      time: pigeonData.time,
      verticalAccuracy: pigeonData.verticalAccuracy,
      isMock: pigeonData.isMock,
    );
  }
```

run pigeon

will create in iOS part messages.g.m

```
@implementation PigeonLocationData
+ (instancetype)makeWithLatitude:(nullable NSNumber *)latitude
    longitude:(nullable NSNumber *)longitude
    accuracy:(nullable NSNumber *)accuracy
    altitude:(nullable NSNumber *)altitude
    bearing:(nullable NSNumber *)bearing
    bearingAccuracyDegrees:(nullable NSNumber *)bearingAccuracyDegrees
    elaspedRealTimeNanos:(nullable NSNumber *)elaspedRealTimeNanos
    elaspedRealTimeUncertaintyNanos:(nullable NSNumber *)elaspedRealTimeUncertaintyNanos
    satellites:(nullable NSNumber *)satellites
    speed:(nullable NSNumber *)speed
    speedAccuracy:(nullable NSNumber *)speedAccuracy
    time:(nullable NSNumber *)time
    verticalAccuracy:(nullable NSNumber *)verticalAccuracy
    isMock:(nullable NSNumber *)isMock {
  PigeonLocationData* pigeonResult = [[PigeonLocationData alloc] init];
  pigeonResult.latitude = latitude;
  pigeonResult.longitude = longitude;
  pigeonResult.accuracy = accuracy;
  pigeonResult.altitude = altitude;
  pigeonResult.bearing = bearing;
  pigeonResult.bearingAccuracyDegrees = bearingAccuracyDegrees;
  pigeonResult.elaspedRealTimeNanos = elaspedRealTimeNanos;
  pigeonResult.elaspedRealTimeUncertaintyNanos = elaspedRealTimeUncertaintyNanos;
  pigeonResult.satellites = satellites;
  pigeonResult.speed = speed;
  pigeonResult.speedAccuracy = speedAccuracy;
  pigeonResult.time = time;
  pigeonResult.verticalAccuracy = verticalAccuracy;
  pigeonResult.isMock = isMock;
  return pigeonResult;
}
+ (PigeonLocationData *)fromList:(NSArray *)list {
  PigeonLocationData *pigeonResult = [[PigeonLocationData alloc] init];
  pigeonResult.latitude = GetNullableObjectAtIndex(list, 0);
  pigeonResult.longitude = GetNullableObjectAtIndex(list, 1);
  pigeonResult.accuracy = GetNullableObjectAtIndex(list, 2);
  pigeonResult.altitude = GetNullableObjectAtIndex(list, 3);
  pigeonResult.bearing = GetNullableObjectAtIndex(list, 4);
  pigeonResult.bearingAccuracyDegrees = GetNullableObjectAtIndex(list, 5);
  pigeonResult.elaspedRealTimeNanos = GetNullableObjectAtIndex(list, 6);
  pigeonResult.elaspedRealTimeUncertaintyNanos = GetNullableObjectAtIndex(list, 7);
  pigeonResult.satellites = GetNullableObjectAtIndex(list, 8);
  pigeonResult.speed = GetNullableObjectAtIndex(list, 9);
  pigeonResult.speedAccuracy = GetNullableObjectAtIndex(list, 10);
  pigeonResult.time = GetNullableObjectAtIndex(list, 11);
  pigeonResult.verticalAccuracy = GetNullableObjectAtIndex(list, 12);
  pigeonResult.isMock = GetNullableObjectAtIndex(list, 13);
  return pigeonResult;
}
+ (nullable PigeonLocationData *)nullableFromList:(NSArray *)list {
  return (list) ? [PigeonLocationData fromList:list] : nil;
}
- (NSArray *)toList {
  return @[
    (self.latitude ?: [NSNull null]),
    (self.longitude ?: [NSNull null]),
    (self.accuracy ?: [NSNull null]),
    (self.altitude ?: [NSNull null]),
    (self.bearing ?: [NSNull null]),
    (self.bearingAccuracyDegrees ?: [NSNull null]),
    (self.elaspedRealTimeNanos ?: [NSNull null]),
    (self.elaspedRealTimeUncertaintyNanos ?: [NSNull null]),
    (self.satellites ?: [NSNull null]),
    (self.speed ?: [NSNull null]),
    (self.speedAccuracy ?: [NSNull null]),
    (self.time ?: [NSNull null]),
    (self.verticalAccuracy ?: [NSNull null]),
    (self.isMock ?: [NSNull null]),
  ];
}
@end
```

in the Header file is the toList part  implementation missing


```
@interface PigeonLocationData : NSObject
+ (instancetype)makeWithLatitude:(nullable NSNumber *)latitude
    longitude:(nullable NSNumber *)longitude
    accuracy:(nullable NSNumber *)accuracy
    altitude:(nullable NSNumber *)altitude
    bearing:(nullable NSNumber *)bearing
    bearingAccuracyDegrees:(nullable NSNumber *)bearingAccuracyDegrees
    elaspedRealTimeNanos:(nullable NSNumber *)elaspedRealTimeNanos
    elaspedRealTimeUncertaintyNanos:(nullable NSNumber *)elaspedRealTimeUncertaintyNanos
    satellites:(nullable NSNumber *)satellites
    speed:(nullable NSNumber *)speed
    speedAccuracy:(nullable NSNumber *)speedAccuracy
    time:(nullable NSNumber *)time
    verticalAccuracy:(nullable NSNumber *)verticalAccuracy
    isMock:(nullable NSNumber *)isMock;
@property(nonatomic, strong, nullable) NSNumber * latitude;
@property(nonatomic, strong, nullable) NSNumber * longitude;
@property(nonatomic, strong, nullable) NSNumber * accuracy;
@property(nonatomic, strong, nullable) NSNumber * altitude;
@property(nonatomic, strong, nullable) NSNumber * bearing;
@property(nonatomic, strong, nullable) NSNumber * bearingAccuracyDegrees;
@property(nonatomic, strong, nullable) NSNumber * elaspedRealTimeNanos;
@property(nonatomic, strong, nullable) NSNumber * elaspedRealTimeUncertaintyNanos;
@property(nonatomic, strong, nullable) NSNumber * satellites;
@property(nonatomic, strong, nullable) NSNumber * speed;
@property(nonatomic, strong, nullable) NSNumber * speedAccuracy;
@property(nonatomic, strong, nullable) NSNumber * time;
@property(nonatomic, strong, nullable) NSNumber * verticalAccuracy;
@property(nonatomic, strong, nullable) NSNumber * isMock;
@end
```

to get an proper result without crash I have to create a workaround and have to write an own toList implementation

``` 
  let newLocList  =
                [
                    newLoc.latitude ?? NSNull(),
                    newLoc.longitude ?? NSNull(),
                    newLoc.accuracy ?? NSNull(),
                    newLoc.altitude ?? NSNull(),
                    newLoc.bearing ?? NSNull(),
                    newLoc.bearingAccuracyDegrees ?? NSNull(),
                    newLoc.elaspedRealTimeNanos ?? NSNull(),
                    newLoc.elaspedRealTimeUncertaintyNanos ?? NSNull(),
                    newLoc.satellites ?? NSNull(),
                    newLoc.speed ?? NSNull(),
                    newLoc.speedAccuracy ?? NSNull(),
                    newLoc.time ?? NSNull(),
                    newLoc.verticalAccuracy ?? NSNull() ,
                    newLoc.isMock ?? NSNull()
                ]
``` 


```
 locationRequest?.then { result in
            switch result {
            case .success(let newData):
                print("New location: \(newData)")
                let newLoc = SwiftLocationPlugin.locationToData(newData)
                //Workaround for missing to List Method implementation from Pigeon
                let newLocList  =
                [
                    newLoc.latitude ?? NSNull(),
                    newLoc.longitude ?? NSNull(),
                    newLoc.accuracy ?? NSNull(),
                    newLoc.altitude ?? NSNull(),
                    newLoc.bearing ?? NSNull(),
                    newLoc.bearingAccuracyDegrees ?? NSNull(),
                    newLoc.elaspedRealTimeNanos ?? NSNull(),
                    newLoc.elaspedRealTimeUncertaintyNanos ?? NSNull(),
                    newLoc.satellites ?? NSNull(),
                    newLoc.speed ?? NSNull(),
                    newLoc.speedAccuracy ?? NSNull(),
                    newLoc.time ?? NSNull(),
                    newLoc.verticalAccuracy ?? NSNull() ,
                    newLoc.isMock ?? NSNull()
                ]
                if self.events != nil{
                    self.events!(newLocList)
                }
                else{
                //onCancel sets event to nil - Called if new loc in min interval
                //avoid exception and app crash on nil events (FlutterSink?)
                }
                
            case .failure(let error):
                print("An error has occurred: \(error.localizedDescription)")
                if self.events != nil{
                    self.events!(FlutterError(code: "LOCATION_ERROR",
                                    message: error.localizedDescription,
                                    details: error.recoverySuggestion))
                }

            }
```

### Expected results

a function toList which casts to the correct result if any code changes are made.

    self.events!(newLocList.**toList()**)

### Actual results

no possible solution in Swift. Android  Kotlin has the implementation toList()

### Code sample

<details><summary>Code sample</summary>

```dart
[Paste your code here]
```

</details>


### Screenshots or Video

<details>
upgrade Pigeon from ^3.1.5 to actual ^10.1
dev_dependencies:
  flutter_test:
    sdk: flutter
  pigeon: ^3.1.5
  very_good_analysis: ^3.0.0

in swift war .toMap() function for separate types but the new implementation toList in Swift is missing

create types.dart

`
/// {@template location_data}
/// The response object of [LocationPlatform.getLocation] and [LocationPlatform.onLocationChanged].
/// {@endtemplate}
class LocationData {
  /// {@macro location_data}
  LocationData({
    this.latitude,
    this.longitude,
    this.accuracy,
    this.altitude,
    this.bearing,
    this.bearingAccuracyDegrees,
    this.elaspedRealTimeNanos,
    this.elaspedRealTimeUncertaintyNanos,
    this.satellites,
    this.speed,
    this.speedAccuracy,
    this.time,
    this.verticalAccuracy,
    this.isMock,
  });

  /// Constructor from a Pigeon LocationData.
  factory LocationData.fromPigeon(PigeonLocationData pigeonData) {
    return LocationData(
      latitude: pigeonData.latitude,
      longitude: pigeonData.longitude,
      accuracy: pigeonData.accuracy,
      altitude: pigeonData.altitude,
      bearing: pigeonData.bearing,
      bearingAccuracyDegrees: pigeonData.bearingAccuracyDegrees,
      elaspedRealTimeNanos: pigeonData.elaspedRealTimeNanos,
      elaspedRealTimeUncertaintyNanos:
          pigeonData.elaspedRealTimeUncertaintyNanos,
      satellites: pigeonData.satellites,
      speed: pigeonData.speed,
      speedAccuracy: pigeonData.speedAccuracy,
      time: pigeonData.time,
      verticalAccuracy: pigeonData.verticalAccuracy,
      isMock: pigeonData.isMock,
    );
  }
`

run pigeon

will create in iOS part messages.g.m

`
@implementation PigeonLocationData
+ (instancetype)makeWithLatitude:(nullable NSNumber *)latitude
    longitude:(nullable NSNumber *)longitude
    accuracy:(nullable NSNumber *)accuracy
    altitude:(nullable NSNumber *)altitude
    bearing:(nullable NSNumber *)bearing
    bearingAccuracyDegrees:(nullable NSNumber *)bearingAccuracyDegrees
    elaspedRealTimeNanos:(nullable NSNumber *)elaspedRealTimeNanos
    elaspedRealTimeUncertaintyNanos:(nullable NSNumber *)elaspedRealTimeUncertaintyNanos
    satellites:(nullable NSNumber *)satellites
    speed:(nullable NSNumber *)speed
    speedAccuracy:(nullable NSNumber *)speedAccuracy
    time:(nullable NSNumber *)time
    verticalAccuracy:(nullable NSNumber *)verticalAccuracy
    isMock:(nullable NSNumber *)isMock {
  PigeonLocationData* pigeonResult = [[PigeonLocationData alloc] init];
  pigeonResult.latitude = latitude;
  pigeonResult.longitude = longitude;
  pigeonResult.accuracy = accuracy;
  pigeonResult.altitude = altitude;
  pigeonResult.bearing = bearing;
  pigeonResult.bearingAccuracyDegrees = bearingAccuracyDegrees;
  pigeonResult.elaspedRealTimeNanos = elaspedRealTimeNanos;
  pigeonResult.elaspedRealTimeUncertaintyNanos = elaspedRealTimeUncertaintyNanos;
  pigeonResult.satellites = satellites;
  pigeonResult.speed = speed;
  pigeonResult.speedAccuracy = speedAccuracy;
  pigeonResult.time = time;
  pigeonResult.verticalAccuracy = verticalAccuracy;
  pigeonResult.isMock = isMock;
  return pigeonResult;
}
+ (PigeonLocationData *)fromList:(NSArray *)list {
  PigeonLocationData *pigeonResult = [[PigeonLocationData alloc] init];
  pigeonResult.latitude = GetNullableObjectAtIndex(list, 0);
  pigeonResult.longitude = GetNullableObjectAtIndex(list, 1);
  pigeonResult.accuracy = GetNullableObjectAtIndex(list, 2);
  pigeonResult.altitude = GetNullableObjectAtIndex(list, 3);
  pigeonResult.bearing = GetNullableObjectAtIndex(list, 4);
  pigeonResult.bearingAccuracyDegrees = GetNullableObjectAtIndex(list, 5);
  pigeonResult.elaspedRealTimeNanos = GetNullableObjectAtIndex(list, 6);
  pigeonResult.elaspedRealTimeUncertaintyNanos = GetNullableObjectAtIndex(list, 7);
  pigeonResult.satellites = GetNullableObjectAtIndex(list, 8);
  pigeonResult.speed = GetNullableObjectAtIndex(list, 9);
  pigeonResult.speedAccuracy = GetNullableObjectAtIndex(list, 10);
  pigeonResult.time = GetNullableObjectAtIndex(list, 11);
  pigeonResult.verticalAccuracy = GetNullableObjectAtIndex(list, 12);
  pigeonResult.isMock = GetNullableObjectAtIndex(list, 13);
  return pigeonResult;
}
+ (nullable PigeonLocationData *)nullableFromList:(NSArray *)list {
  return (list) ? [PigeonLocationData fromList:list] : nil;
}
- (NSArray *)toList {
  return @[
    (self.latitude ?: [NSNull null]),
    (self.longitude ?: [NSNull null]),
    (self.accuracy ?: [NSNull null]),
    (self.altitude ?: [NSNull null]),
    (self.bearing ?: [NSNull null]),
    (self.bearingAccuracyDegrees ?: [NSNull null]),
    (self.elaspedRealTimeNanos ?: [NSNull null]),
    (self.elaspedRealTimeUncertaintyNanos ?: [NSNull null]),
    (self.satellites ?: [NSNull null]),
    (self.speed ?: [NSNull null]),
    (self.speedAccuracy ?: [NSNull null]),
    (self.time ?: [NSNull null]),
    (self.verticalAccuracy ?: [NSNull null]),
    (self.isMock ?: [NSNull null]),
  ];
}
@end
`

in the Header file is the toList part  implementation missing


`
@interface PigeonLocationData : NSObject
+ (instancetype)makeWithLatitude:(nullable NSNumber *)latitude
    longitude:(nullable NSNumber *)longitude
    accuracy:(nullable NSNumber *)accuracy
    altitude:(nullable NSNumber *)altitude
    bearing:(nullable NSNumber *)bearing
    bearingAccuracyDegrees:(nullable NSNumber *)bearingAccuracyDegrees
    elaspedRealTimeNanos:(nullable NSNumber *)elaspedRealTimeNanos
    elaspedRealTimeUncertaintyNanos:(nullable NSNumber *)elaspedRealTimeUncertaintyNanos
    satellites:(nullable NSNumber *)satellites
    speed:(nullable NSNumber *)speed
    speedAccuracy:(nullable NSNumber *)speedAccuracy
    time:(nullable NSNumber *)time
    verticalAccuracy:(nullable NSNumber *)verticalAccuracy
    isMock:(nullable NSNumber *)isMock;
@property(nonatomic, strong, nullable) NSNumber * latitude;
@property(nonatomic, strong, nullable) NSNumber * longitude;
@property(nonatomic, strong, nullable) NSNumber * accuracy;
@property(nonatomic, strong, nullable) NSNumber * altitude;
@property(nonatomic, strong, nullable) NSNumber * bearing;
@property(nonatomic, strong, nullable) NSNumber * bearingAccuracyDegrees;
@property(nonatomic, strong, nullable) NSNumber * elaspedRealTimeNanos;
@property(nonatomic, strong, nullable) NSNumber * elaspedRealTimeUncertaintyNanos;
@property(nonatomic, strong, nullable) NSNumber * satellites;
@property(nonatomic, strong, nullable) NSNumber * speed;
@property(nonatomic, strong, nullable) NSNumber * speedAccuracy;
@property(nonatomic, strong, nullable) NSNumber * time;
@property(nonatomic, strong, nullable) NSNumber * verticalAccuracy;
@property(nonatomic, strong, nullable) NSNumber * isMock;
@end`

to get an proper result without crash I have to create a workaround and have to write an own toList implementation

` 
  let newLocList  =
                [
                    newLoc.latitude ?? NSNull(),
                    newLoc.longitude ?? NSNull(),
                    newLoc.accuracy ?? NSNull(),
                    newLoc.altitude ?? NSNull(),
                    newLoc.bearing ?? NSNull(),
                    newLoc.bearingAccuracyDegrees ?? NSNull(),
                    newLoc.elaspedRealTimeNanos ?? NSNull(),
                    newLoc.elaspedRealTimeUncertaintyNanos ?? NSNull(),
                    newLoc.satellites ?? NSNull(),
                    newLoc.speed ?? NSNull(),
                    newLoc.speedAccuracy ?? NSNull(),
                    newLoc.time ?? NSNull(),
                    newLoc.verticalAccuracy ?? NSNull() ,
                    newLoc.isMock ?? NSNull()
                ]
` 


` locationRequest?.then { result in
            switch result {
            case .success(let newData):
                print("New location: \(newData)")
                let newLoc = SwiftLocationPlugin.locationToData(newData)
                //Workaround for missing to List Method implementation from Pigeon
                let newLocList  =
                [
                    newLoc.latitude ?? NSNull(),
                    newLoc.longitude ?? NSNull(),
                    newLoc.accuracy ?? NSNull(),
                    newLoc.altitude ?? NSNull(),
                    newLoc.bearing ?? NSNull(),
                    newLoc.bearingAccuracyDegrees ?? NSNull(),
                    newLoc.elaspedRealTimeNanos ?? NSNull(),
                    newLoc.elaspedRealTimeUncertaintyNanos ?? NSNull(),
                    newLoc.satellites ?? NSNull(),
                    newLoc.speed ?? NSNull(),
                    newLoc.speedAccuracy ?? NSNull(),
                    newLoc.time ?? NSNull(),
                    newLoc.verticalAccuracy ?? NSNull() ,
                    newLoc.isMock ?? NSNull()
                ]
                if self.events != nil{
                    self.events!(newLocList)
                }
                else{
                //onCancel sets event to nil - Called if new loc in min interval
                //avoid exception and app crash on nil events (FlutterSink?)
                }
                
            case .failure(let error):
                print("An error has occurred: \(error.localizedDescription)")
                if self.events != nil{
                    self.events!(FlutterError(code: "LOCATION_ERROR",
                                    message: error.localizedDescription,
                                    details: error.recoverySuggestion))
                }

            }`
</details>


### Logs

<details><summary>Logs</summary>

```console
[Paste your logs here]
```

</details>


### Flutter Doctor output

<details><summary>Doctor output</summary>

```console
[✓] Flutter (Channel stable, 3.10.5, on macOS 13.4.1 22F82 darwin-arm64, locale de-DE)
    • Flutter version 3.10.5 on channel stable at /Users/larshuth/development/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 796c8ef792 (vor 11 Tagen), 2023-06-13 15:51:02 -0700
    • Engine revision 45f6e00911
    • Dart version 3.0.5
    • DevTools version 2.23.1

[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.2)
    • Android SDK at /Users/larshuth/Library/Android/sdk
    • Platform android-33, build-tools 33.0.2
    • ANDROID_SDK_ROOT = /Users/larshuth/Library/Android/sdk
    • Java binary at: /Users/larshuth/Library/Application Support/JetBrains/Toolbox/apps/AndroidStudio/ch-0/222.4459.24.2221.10121639/Android
      Studio.app/Contents/jbr/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 17.0.6+0-17.0.6b802.4-9586694)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 14.3.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 14E300c
    • CocoaPods version 1.12.1

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2022.1)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.15+0-b2043.56-8887301)

[✓] Android Studio (version 2022.2)
    • Android Studio at /Users/larshuth/Library/Application Support/JetBrains/Toolbox/apps/AndroidStudio/ch-0/222.4459.24.2221.10121639/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 17.0.6+0-17.0.6b802.4-9586694)

[✓] IntelliJ IDEA Ultimate Edition (version 2023.1.3)
    • IntelliJ at /Users/larshuth/Applications/JetBrains Toolbox/IntelliJ IDEA Ultimate.app
    • Flutter plugin version 74.0.4
    • Dart plugin version 231.9161.14

[✓] IntelliJ IDEA Ultimate Edition (version 2023.1.3)
    • IntelliJ at /Users/larshuth/Library/Application Support/JetBrains/Toolbox/apps/IDEA-U/ch-0/231.9161.38/IntelliJ IDEA.app
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart

[✓] Network resources
    • All expected network resources are available.

• No issues found!

```

</details>