parsePluginIdentifier function

({String? marketplace, String owner, String repo}) parsePluginIdentifier(
  1. String repository
)

Parse a plugin identifier into its components. Format: "marketplace/owner/repo" or "owner/repo" or just "repo".

Implementation

({String? marketplace, String owner, String repo}) parsePluginIdentifier(
  String repository,
) {
  final parts = repository.split('/');
  if (parts.length >= 3) {
    return (
      marketplace: parts[0],
      owner: parts[1],
      repo: parts.sublist(2).join('/'),
    );
  }
  if (parts.length == 2) {
    return (marketplace: null, owner: parts[0], repo: parts[1]);
  }
  return (marketplace: null, owner: '', repo: repository);
}