createScanFilterObject static method

Object createScanFilterObject(
  1. List<String>? services,
  2. String? name,
  3. String? namePrefix,
  4. List<BluetoothManufacturerDataFilter>? manufacturerData,
  5. List<BluetoothServiceDataFilter>? serviceData,
)

Create a new JS object with the fields for BluetoothScanFilter. But instead of setting all the values to null it will just not add them keeping them undefined.

No check is done here so you may end up with an empty object.

You may need to cast it to a BluetoothScanFilter but this is allowed without any complaints as long as the code is run in the browser.

Implementation

static Object createScanFilterObject(
    final List<String>? services,
    final String? name,
    final String? namePrefix,
    final List<BluetoothManufacturerDataFilter>? manufacturerData,
    final List<BluetoothServiceDataFilter>? serviceData) {
  final jsObject = _JSUtil.newObject();
  if (services != null) {
    _JSUtil.setProperty(jsObject, "services",
        services.map((final e) => e.toLowerCase()).toList());
  }
  if (name != null) {
    _JSUtil.setProperty(jsObject, "name", name);
  }
  if (namePrefix != null) {
    _JSUtil.setProperty(jsObject, "namePrefix", namePrefix);
  }
  if (manufacturerData != null) {
    _JSUtil.setProperty(jsObject, "manufacturerData", manufacturerData);
  }
  if (serviceData != null) {
    _JSUtil.setProperty(jsObject, "serviceData", serviceData);
  }
  return jsObject;
}