getRelativeAsResource method
Returns a Resource object that represents the relative of this
Resource.
Throws MissingHueNetworkException if the hueNetwork is null, if the
relative cannot be found on the hueNetwork, or if the relative's
ResourceType cannot be found on the hueNetwork.
Implementation
Resource getRelativeAsResource(Relative relative) {
if (hueNetwork == null) {
throw const MissingHueNetworkException();
}
ResourceType type = relative.type;
List<Resource>? resources = hueNetwork!.getListType(type);
if (resources == null) {
throw const MissingHueNetworkException();
}
Resource? resource = resources.firstWhereOrNull(
(resource) => resource.id == relative.id,
);
if (resource == null) {
throw const MissingHueNetworkException();
}
return resource;
}