Something went wrong. Try again.
This repository has no description
Something went wrong. Try again.
1.2 kB · 43 lines
TypeScript
1234567891011121314151617181920212223242526272829303132333435363738394041424344import * as Data from "effect/Data";
export class InvalidMetadata extends Data.TaggedError("InvalidMetadata") { readonly code = "invalid_metadata"; override readonly message = this.code;}
export class InstallationNotFound extends Data.TaggedError( "InstallationNotFound",) { readonly code = "installation_not_found"; override readonly message = this.code;}
export class InstallationConflict extends Data.TaggedError( "InstallationConflict",) { readonly code = "installation_conflict"; override readonly message = this.code;}
export type RegistryFailure = InvalidMetadata | InstallationNotFound | InstallationConflict;export type RegistryError = RegistryFailure["code"];
export function isRegistryFailure(error: unknown): error is RegistryFailure { return ( error instanceof InvalidMetadata || error instanceof InstallationNotFound || error instanceof InstallationConflict );}
export function registryFailure(code: RegistryError): RegistryFailure { switch (code) { case "invalid_metadata": return new InvalidMetadata(); case "installation_not_found": return new InstallationNotFound(); case "installation_conflict": return new InstallationConflict(); }}