Skip to main content

OrpcError

Derive Macro OrpcError 

Source
#[derive(OrpcError)]
Expand description

Derive macro for registering error enum variants with rorpc.

Annotate an error enum so generate_contract() can emit TypeScript .errors({...}) entries. Variant names are converted to SCREAMING_SNAKE_CASE.

§Example

#[derive(OrpcError)]
pub enum AppError {
    NotFound,
    Conflict { reason: String },
    DatabaseError(String),
}

§Variant mapping

  • Unit variants: NotFoundNOT_FOUND: {}
  • Struct variants: Conflict { reason: String }CONFLICT: { data: z.object({...}) }
  • Tuple variants: DatabaseError(String)DATABASE_ERROR: { data: z.string() }