// This file is generated by Variable. Do not edit.
import { VariableClient, type VariableIdMap } from "@variable/runtime";
{% for struct in structs %}
export interface {{ struct.name }} {
{% for field in struct.fields %}
{{ field.name }}: {{ field.type_name }};
{% endfor %}
}
{% endfor %}
{% for feature in features %}
export interface {{ feature.interface_name }} {
{% for var in feature.variables %}
{{ var.name }}: {{ var.type_name }};
{% endfor %}
}
const {{ feature.defaults_name }}: {{ feature.interface_name }} = {
{% for var in feature.variables %}
{{ var.name }}: {{ var.default_value }},
{% endfor %}
};
const {{ feature.variable_ids_name }}: VariableIdMap<{{ feature.interface_name }}> = {
{% for var in feature.variables %}
{{ var.name }}: {{ var.id }},
{% endfor %}
};
export function {{ feature.fn_name }}(client: VariableClient): {{ feature.interface_name }} {
return client.mergeFeatureValues({{ feature.id }}, {{ feature.defaults_name }}, {{ feature.variable_ids_name }});
}
{% endfor %}