Serialize to a query parameter value. Returns `"all"` if all three layers are selected, otherwise returns a comma-separated list of layer names in canonical order. # Examples ```rust use atomic_remote::streaming::LayerSelection; assert_eq!(LayerSelection::all().to_query_value(), "all"); assert_eq!(LayerSelection::thin_pull().to_query_value(), "graph,content"); assert_eq!(LayerSelection::thin_r
(&self)
| 158 | /// assert_eq!(LayerSelection::graph_only().to_query_value(), "graph"); |
| 159 | /// ``` |
| 160 | pub fn to_query_value(&self) -> String { |
| 161 | if self.is_all() { |
| 162 | return "all".to_string(); |
| 163 | } |
| 164 | |
| 165 | // Canonical order: graph, semantic, content |
| 166 | let mut parts = Vec::new(); |
| 167 | if self.layers.contains(&Layer::Graph) { |
| 168 | parts.push("graph"); |
| 169 | } |
| 170 | if self.layers.contains(&Layer::Semantic) { |
| 171 | parts.push("semantic"); |
| 172 | } |
| 173 | if self.layers.contains(&Layer::Content) { |
| 174 | parts.push("content"); |
| 175 | } |
| 176 | |
| 177 | parts.join(",") |
| 178 | } |
| 179 | |
| 180 | /// Returns `true` if the given layer is included in this selection. |
| 181 | #[inline] |