Skip to main content

StrGraphQLTokenSourceConfig

Struct StrGraphQLTokenSourceConfig 

Source
pub struct StrGraphQLTokenSourceConfig {
    pub retain_comments: bool,
    pub retain_commas: bool,
    pub retain_whitespace: bool,
}
Expand description

Configuration for StrGraphQLTokenSource controlling which trivia types are captured during lexing.

All flags default to true, meaning the lexer operates in full-fidelity mode by default — every comment, comma, and whitespace run is preserved as trivia on the emitted tokens. Set individual flags to false to discard specific trivia types for leaner output.

§Example

use libgraphql_parser::token::StrGraphQLTokenSourceConfig;

// Full-fidelity (default): all trivia preserved
let full = StrGraphQLTokenSourceConfig::default();
assert!(full.retain_comments);
assert!(full.retain_commas);
assert!(full.retain_whitespace);

// Lean mode: discard all trivia
let lean = StrGraphQLTokenSourceConfig::no_trivia();
assert!(!lean.retain_comments);
assert!(!lean.retain_commas);
assert!(!lean.retain_whitespace);

Fields§

§retain_comments: bool

Whether to preserve # comments as GraphQLTriviaToken::Comment on emitted tokens.

When false, comments are still consumed (skipped) by the lexer but not recorded as trivia.

§retain_commas: bool

Whether to preserve commas as GraphQLTriviaToken::Comma on emitted tokens.

When false, commas are still consumed (skipped) by the lexer but not recorded as trivia.

§retain_whitespace: bool

Whether to preserve whitespace runs as GraphQLTriviaToken::Whitespace on emitted tokens.

When false, whitespace is still consumed (skipped) by the lexer but not recorded as trivia. This is the most impactful flag for performance since whitespace runs are frequent.

Implementations§

Source§

impl StrGraphQLTokenSourceConfig

Source

pub fn no_trivia() -> Self

Returns a config that discards all trivia (comments, commas, whitespace). Useful when only semantic tokens are needed and source reconstruction is not required.

Trait Implementations§

Source§

impl Clone for StrGraphQLTokenSourceConfig

Source§

fn clone(&self) -> StrGraphQLTokenSourceConfig

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for StrGraphQLTokenSourceConfig

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for StrGraphQLTokenSourceConfig

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl PartialEq for StrGraphQLTokenSourceConfig

Source§

fn eq(&self, other: &StrGraphQLTokenSourceConfig) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl StructuralPartialEq for StrGraphQLTokenSourceConfig

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.