import { PrismicError } from "./errors" import { isRepositoryName } from "./isRepositoryName" /** * Get a repository's Prismic Content API endpoint. * * @example * ;```ts * getRepositoryEndpoint("my-repo") * // => "https://my-repo.cdn.prismic.io/api/v2" * ``` * * @typeParam RepositoryName - Name of the Prismic repository. * @param repositoryName - Name of the repository. * @returns The repository's Prismic Content API endpoint. * @throws {@link Error} Thrown if an invalid repository name is provided. */ export const getRepositoryEndpoint = ( repositoryName: RepositoryName, ): `https://${RepositoryName}.cdn.prismic.io/api/v2` => { if (isRepositoryName(repositoryName)) { return `https://${repositoryName}.cdn.prismic.io/api/v2` as const } else { throw new PrismicError( `An invalid Prismic repository name was given: ${repositoryName}`, undefined, undefined, ) } }