fix(repository): type expected reference failures (#28880)
This commit is contained in:
@@ -7,8 +7,11 @@ import {
|
||||
repositoryCachePath,
|
||||
sameRepositoryReference,
|
||||
parseRepositoryReference,
|
||||
parseRemoteRepositoryReference,
|
||||
validateRepositoryBranch,
|
||||
isRemoteRepositoryReference,
|
||||
InvalidRepositoryBranchError,
|
||||
InvalidRepositoryReferenceError,
|
||||
UnsupportedLocalRepositoryError,
|
||||
type RemoteReference,
|
||||
} from "@/util/repository"
|
||||
|
||||
@@ -138,23 +141,26 @@ export function isError(error: unknown): error is Error {
|
||||
}
|
||||
|
||||
export const parseRemoteReference = Effect.fn("RepositoryCache.parseRemoteReference")(function* (repository: string) {
|
||||
const reference = parseRepositoryReference(repository)
|
||||
if (!reference) {
|
||||
try {
|
||||
return parseRemoteRepositoryReference(repository)
|
||||
} catch (error) {
|
||||
if (error instanceof InvalidRepositoryReferenceError || error instanceof UnsupportedLocalRepositoryError) {
|
||||
return yield* new InvalidRepositoryError({ repository: error.repository, message: error.message })
|
||||
}
|
||||
return yield* new InvalidRepositoryError({
|
||||
repository,
|
||||
message: "Repository must be a git URL, host/path reference, or GitHub owner/repo shorthand",
|
||||
message: errorMessage(error),
|
||||
})
|
||||
}
|
||||
if (!isRemoteRepositoryReference(reference)) {
|
||||
return yield* new InvalidRepositoryError({ repository, message: "Local file repositories are not supported" })
|
||||
}
|
||||
return reference
|
||||
})
|
||||
|
||||
export const validateBranch = Effect.fn("RepositoryCache.validateBranch")(function* (branch: string) {
|
||||
try {
|
||||
validateRepositoryBranch(branch)
|
||||
} catch (error) {
|
||||
if (error instanceof InvalidRepositoryBranchError) {
|
||||
return yield* new InvalidBranchError({ branch: error.branch, message: error.message })
|
||||
}
|
||||
return yield* new InvalidBranchError({ branch, message: errorMessage(error) })
|
||||
}
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user