getDependency method

Future<DependencyInstance> getDependency(
  1. PluginRequest request
)

Implementation

Future<DependencyInstance> getDependency(PluginRequest request) async {
  var msg = Message(MessageType.DEPENDENCY_REQUEST, request);
  var rsp = await intercom.sendWaitWhere(
    msg,
    Filters.every([
      Filters.ofType([
        MessageType.DEPENDENCY,
        MessageType.DEPENDENCY_MISSING,
      ]),
      _checkDepName(request.depName),
    ]),
  );

  if (rsp.type == MessageType.DEPENDENCY_MISSING) {
    throw PluginNotFoundError(request);
  }

  var dep = Dependency.fromJson(assertTyped(rsp.content));

  return DependencyInstance.__(intercom, dep.uid);
}