pub struct YamlFrontMatterParser;Expand description
Parser for YAML front matter in memory content.
Implementations§
Source§impl YamlFrontMatterParser
impl YamlFrontMatterParser
Sourcepub fn parse(content: &str) -> Result<(Value, String)>
pub fn parse(content: &str) -> Result<(Value, String)>
Parses YAML front matter from content.
Returns the parsed metadata and remaining content.
§Errors
Returns an error if the YAML is malformed.
§Examples
use subcog::git::YamlFrontMatterParser;
let content = "---\nnamespace: decisions\n---\nActual content";
let (metadata, body) = YamlFrontMatterParser::parse(content).unwrap();
assert_eq!(metadata["namespace"], "decisions");
assert_eq!(body, "Actual content");Sourcepub fn serialize(metadata: &Value, content: &str) -> Result<String>
pub fn serialize(metadata: &Value, content: &str) -> Result<String>
Serializes metadata to YAML front matter format.
§Errors
Returns an error if serialization fails.
§Examples
use subcog::git::YamlFrontMatterParser;
use serde_json::json;
let metadata = json!({"namespace": "decisions"});
let result = YamlFrontMatterParser::serialize(&metadata, "Content here").unwrap();
assert!(result.contains("---"));
assert!(result.contains("namespace: decisions"));
assert!(result.contains("Content here"));Sourcepub fn extract_body(content: &str) -> &str
pub fn extract_body(content: &str) -> &str
Extracts just the body content without parsing metadata.
Auto Trait Implementations§
impl Freeze for YamlFrontMatterParser
impl RefUnwindSafe for YamlFrontMatterParser
impl Send for YamlFrontMatterParser
impl Sync for YamlFrontMatterParser
impl Unpin for YamlFrontMatterParser
impl UnwindSafe for YamlFrontMatterParser
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<T> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request§impl<L> LayerExt<L> for L
impl<L> LayerExt<L> for L
§fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
Applies the layer to a service and wraps it in [
Layered].