WebAdvertisementReceivedEvent.fromJSObject constructor
WebAdvertisementReceivedEvent.fromJSObject(
- Object jsObject,
- WebBluetoothDevice device
Convert an event received from a single js object to something that can actually be used.
jsObject is the original object. device is the device that the event
was fired for. Normally the device would be inside of the jsObject but
then that device would need to be wrapped in another WebBluetoothDevice
while the original can just be re-used.
Implementation
factory WebAdvertisementReceivedEvent.fromJSObject(
final Object jsObject, final WebBluetoothDevice device) {
if (!_JSUtil.hasProperty(jsObject, "device")) {
throw UnsupportedError("JSObject does not have a device.");
}
if (!_JSUtil.hasProperty(jsObject, "uuids")) {
throw UnsupportedError("JSObject does not have a uuids.");
}
if (!_JSUtil.hasProperty(jsObject, "manufacturerData")) {
throw UnsupportedError("JSObject does not have a manufacturerData.");
}
if (!_JSUtil.hasProperty(jsObject, "serviceData")) {
throw UnsupportedError("JSObject does not have a serviceData.");
}
final List<String> uuids = _parseUUIDS(jsObject);
final UnmodifiableMapView<int, ByteData> manufacturerData =
_getByteDataMap(jsObject, "manufacturerData");
final UnmodifiableMapView<String, ByteData> serviceData =
_getByteDataMap(jsObject, "serviceData");
final String? name = _JSUtil.getProperty(jsObject, "name") as String?;
final int? rssi = _JSUtil.getProperty(jsObject, "rssi") as int?;
final int? txPower = _JSUtil.getProperty(jsObject, "txPower") as int?;
final int? appearance = _JSUtil.getProperty(jsObject, "appearance") as int?;
return WebAdvertisementReceivedEvent._(
uuids: uuids,
manufacturerData: manufacturerData,
serviceData: serviceData,
name: name,
rssi: rssi,
txPower: txPower,
appearance: appearance,
device: device);
}