openNearbyWidget function

Future<NearbyResult> openNearbyWidget({
  1. NearbyOption? nearbyOption,
  2. NearbyUIOption? nearbyUIOption,
  3. List<CategoryCode>? categories,
})

To open Nearby UI widget

Implementation

Future<NearbyResult> openNearbyWidget(
    {NearbyOption? nearbyOption,
    NearbyUIOption? nearbyUIOption,
    List<CategoryCode>? categories}) async {
  final Map<String, dynamic> optionsMap = <String, dynamic>{};

  void addIfNonNull(String fieldName, dynamic value) {
    if (value != null) {
      optionsMap[fieldName] = value;
    }
  }

  addIfNonNull('nearbyOption', nearbyOption?.toMap());
  addIfNonNull('nearbyUIOption', nearbyUIOption?.toMap());
  if (categories != null) {
    addIfNonNull('categories', categories.map((e) => e.toMap()).toList());
  }
  final String nearbyResult =
      await _channel.invokeMethod("openNearbyWidget", optionsMap);
  return NearbyResult.fromMap(json.decode(nearbyResult));
}