in modules/core/src/main/scala/org/scalasteward/core/forge/ForgeSelection.scala [34:56]
def forgeApiAlg[F[_]: Parallel](
forgeCfg: ForgeCfg,
forgeSpecificCfg: ForgeSpecificCfg,
auth: Request[F] => F[Request[F]]
)(implicit
httpJsonClient: HttpJsonClient[F],
logger: Logger[F],
F: Temporal[F]
): ForgeApiAlg[F] =
forgeSpecificCfg match {
case specificCfg: Config.AzureReposCfg =>
new AzureReposApiAlg(forgeCfg.apiHost, specificCfg, auth)
case specificCfg: Config.BitbucketCfg =>
new BitbucketApiAlg(forgeCfg, specificCfg, auth)
case specificCfg: Config.BitbucketServerCfg =>
new BitbucketServerApiAlg(forgeCfg.apiHost, specificCfg, auth)
case _: Config.GitHubCfg =>
new GitHubApiAlg(forgeCfg.apiHost, auth)
case specificCfg: Config.GitLabCfg =>
new GitLabApiAlg(forgeCfg, specificCfg, auth)
case _: Config.GiteaCfg =>
new GiteaApiAlg(forgeCfg, auth)
}