atproto_codegen/emit/zero

Zero values for closed-union decode fallbacks; a required-ref cycle fails codegen with a named reason.

Types

pub type Key =
  #(String, String)

ZeroPlan

opaque
pub opaque type ZeroPlan

Values

pub fn choose_fallback(
  plan: ZeroPlan,
  current: String,
  refs: List(String),
) -> Result(String, Nil)

compute already proved a zeroable ref exists; Error is unreachable.

pub fn compute(
  lexicons: List(lower.FlatLexicon),
) -> Result(ZeroPlan, String)

Fails naming a closed union with no zeroable member.

pub fn needs_zero(plan: ZeroPlan, def: lower.FlatDef) -> Bool
Search Document