CapacitiesLink.parse constructor

CapacitiesLink.parse(
  1. String link
)

Parses a capacities:// deep link. Throws FormatException if link isn't a valid Capacities deep link.

Implementation

factory CapacitiesLink.parse(String link) {
  final uri = Uri.parse(link);
  if (uri.scheme != 'capacities') {
    throw FormatException('Not a capacities:// link', link);
  }
  final spaceId = uri.host;
  final objectId = uri.pathSegments.isNotEmpty ? uri.pathSegments.first : '';
  if (spaceId.isEmpty || objectId.isEmpty) {
    throw FormatException('Missing spaceId or objectId in capacities:// link', link);
  }
  return CapacitiesLink(
    spaceId: spaceId,
    objectId: objectId,
    blockId: uri.queryParameters['bid'],
  );
}