use-pg-enum 0.1.0

PostgreSQL enum type primitives for RustUse
Documentation

use-pg-enum

PostgreSQL enum type primitives for RustUse.

This crate provides enum type names, variant labels, and ordered vector-backed enum type metadata. It validates variant labels and can reject duplicates.

Example

use use_pg_enum::{PgEnumName, PgEnumType, PgEnumVariant};
use use_pg_schema::PgSchemaName;

let enum_type = PgEnumType::new(PgEnumName::new("order_status")?)
    .with_schema(PgSchemaName::public())
    .with_variants(vec![
        PgEnumVariant::new("pending")?,
        PgEnumVariant::new("paid")?,
        PgEnumVariant::new("shipped")?,
    ])?;

assert_eq!(enum_type.to_string(), "public.order_status");
assert_eq!(enum_type.variants()[0].as_str(), "pending");
# Ok::<(), Box<dyn std::error::Error>>(())