ephemeris_forge_github/api/request/rulesets/
rules.rs1use facet::Facet;
2use facet_value::Value;
3
4use crate::Rules;
5use crate::config::RuleRef;
6
7#[derive(Facet)]
8#[repr(u8)]
9#[expect(dead_code, reason = "the rule payloads are only read by the encoder")]
10#[facet(untagged)]
11pub(super) enum RuleEntry<'a> {
12 Managed(RuleRef<'a>),
13 Unmanaged(&'a Value),
14}
15
16pub(super) fn rule_entries<'a>(rules: &'a Rules, unmanaged: &'a [Value]) -> Vec<RuleEntry<'a>> {
17 let managed = rules.entries().into_iter().map(RuleEntry::Managed);
18 managed
19 .chain(unmanaged.iter().map(RuleEntry::Unmanaged))
20 .collect()
21}