in uniffi_bindgen/src/bindings/python/templates/EnumTemplate.py [0:0]
def write(value, buf):
{%- for variant in e.variants() %}
{%- if e.is_flat() %}
if value == {{ type_name }}.{{ variant.name() }}:
buf.write_i32({{ loop.index }})
{%- else %}
if value.is_{{ variant.name() }}():
buf.write_i32({{ loop.index }})
{%- for field in variant.fields() %}
{%- if variant.has_nameless_fields() %}
{{ field|write_fn }}(value._values[{{ loop.index0 }}], buf)
{%- else %}
{{ field|write_fn }}(value.{{ field.name() }}, buf)
{%- endif %}
{%- endfor %}
{%- endif %}
{%- endfor %}