pub struct JsonConstraint { /* private fields */ }Expand description
Constrains generation to syntactically valid JSON.
Tracks nesting depth and parse state character by character.
Implementations§
Source§impl JsonConstraint
impl JsonConstraint
Sourcepub fn current_state(&self) -> &JsonParseState
pub fn current_state(&self) -> &JsonParseState
Current parse state.
Sourcepub fn is_in_string(&self) -> bool
pub fn is_in_string(&self) -> bool
Returns true if we are currently inside a string.
Sourcepub fn valid_next_chars(&self) -> Vec<char>
pub fn valid_next_chars(&self) -> Vec<char>
Returns the set of ASCII characters that are valid as the next character given the current parse state.
Trait Implementations§
Source§impl Default for JsonConstraint
impl Default for JsonConstraint
Source§impl TokenConstraint for JsonConstraint
impl TokenConstraint for JsonConstraint
Auto Trait Implementations§
impl Freeze for JsonConstraint
impl RefUnwindSafe for JsonConstraint
impl Send for JsonConstraint
impl Sync for JsonConstraint
impl Unpin for JsonConstraint
impl UnsafeUnpin for JsonConstraint
impl UnwindSafe for JsonConstraint
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
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§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