{% for variant in variants %}
{% if variant.has_payload %}
#[napi(namespace = "{{ enum_name }}", js_name = "{{ variant.variant_name }}")]
pub fn {{ variant.rust_name }}({{ content_field }}: {{ variant.payload_type }}) -> {{ binding_name }} {
{{ binding_name }} {
{{ tag_field }}: "{{ variant.wire_value }}".to_string(),
{{ content_field }}: Some({{ content_field }}),
{% if variant.needs_default_spread %}..Default::default()
{% endif %}}
}
{% else %}
#[napi(namespace = "{{ enum_name }}", js_name = "{{ variant.variant_name }}")]
pub fn {{ variant.rust_name }}() -> {{ binding_name }} {
{{ binding_name }} {
{{ tag_field }}: "{{ variant.wire_value }}".to_string(),
{% if variant.needs_default_spread %}..Default::default()
{% endif %}}
}
{% endif %}
{% endfor %}