If `line` opens a container directive (`:::name` optionally with `{...}`), return the directive name. A bare `:::` (a close) yields `None`.
(line: &str)
| 199 | /// If `line` opens a container directive (`:::name` optionally with `{...}`), |
| 200 | /// return the directive name. A bare `:::` (a close) yields `None`. |
| 201 | fn container_open_name(line: &str) -> Option<&str> { |
| 202 | let rest = line.strip_prefix(":::")?; |
| 203 | let end = rest |
| 204 | .find(|c: char| c == '{' || c.is_whitespace()) |
| 205 | .unwrap_or(rest.len()); |
| 206 | let name = &rest[..end]; |
| 207 | if name.is_empty() { |
| 208 | None |
| 209 | } else { |
| 210 | Some(name) |
| 211 | } |
| 212 | } |
| 213 | |
| 214 | /// Wrap a local id into `urn:atomic:memory:<local>` unless already a urn. |
| 215 | fn as_memory_urn(local: &str) -> String { |
no test coverage detected