/**
 * Verify whether a string is a legit GitHub repository string.
 * Example: `foo/bar`
 */
export function isGitHubRepositoryString(repository: string): repository is `${string}/${string}` {
  const [owner, name] = repository.split('/');
  return !!owner && isLegitGitHubName(owner) && !!name && isLegitGitHubName(name);
}

/** @source https://stackoverflow.com/a/59082561 */
function isLegitGitHubName(str: string) {
  return /^[\w-.]+$/i.test(str);
}
