Trait bluejay_validator::executable::document::Rule

source ·
pub trait Rule<'a, E: ExecutableDocument, S: SchemaDefinition>: Visitor<'a, E, S> {
    type Error;
    type Errors: Iterator<Item = Self::Error>;

    // Required method
    fn into_errors(self) -> Self::Errors;
}

Required Associated Types§

source

type Error

source

type Errors: Iterator<Item = Self::Error>

Required Methods§

source

fn into_errors(self) -> Self::Errors

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl<'a, E: ExecutableDocument, S: SchemaDefinition, ER, T0: Rule<'a, E, S, Error = ER>, T1: Rule<'a, E, S, Error = ER>> Rule<'a, E, S> for (T0, T1)

§

type Error = ER

§

type Errors = Chain<Chain<Empty<ER>, <T0 as Rule<'a, E, S>>::Errors>, <T1 as Rule<'a, E, S>>::Errors>

source§

fn into_errors(self) -> Self::Errors

source§

impl<'a, E: ExecutableDocument, S: SchemaDefinition, ER, T0: Rule<'a, E, S, Error = ER>, T1: Rule<'a, E, S, Error = ER>, T2: Rule<'a, E, S, Error = ER>> Rule<'a, E, S> for (T0, T1, T2)

§

type Error = ER

§

type Errors = Chain<Chain<Chain<Empty<ER>, <T0 as Rule<'a, E, S>>::Errors>, <T1 as Rule<'a, E, S>>::Errors>, <T2 as Rule<'a, E, S>>::Errors>

source§

fn into_errors(self) -> Self::Errors

source§

impl<'a, E: ExecutableDocument, S: SchemaDefinition, ER, T0: Rule<'a, E, S, Error = ER>, T1: Rule<'a, E, S, Error = ER>, T2: Rule<'a, E, S, Error = ER>, T3: Rule<'a, E, S, Error = ER>> Rule<'a, E, S> for (T0, T1, T2, T3)

§

type Error = ER

§

type Errors = Chain<Chain<Chain<Chain<Empty<ER>, <T0 as Rule<'a, E, S>>::Errors>, <T1 as Rule<'a, E, S>>::Errors>, <T2 as Rule<'a, E, S>>::Errors>, <T3 as Rule<'a, E, S>>::Errors>

source§

fn into_errors(self) -> Self::Errors

source§

impl<'a, E: ExecutableDocument, S: SchemaDefinition, ER, T0: Rule<'a, E, S, Error = ER>, T1: Rule<'a, E, S, Error = ER>, T2: Rule<'a, E, S, Error = ER>, T3: Rule<'a, E, S, Error = ER>, T4: Rule<'a, E, S, Error = ER>> Rule<'a, E, S> for (T0, T1, T2, T3, T4)

§

type Error = ER

§

type Errors = Chain<Chain<Chain<Chain<Chain<Empty<ER>, <T0 as Rule<'a, E, S>>::Errors>, <T1 as Rule<'a, E, S>>::Errors>, <T2 as Rule<'a, E, S>>::Errors>, <T3 as Rule<'a, E, S>>::Errors>, <T4 as Rule<'a, E, S>>::Errors>

source§

fn into_errors(self) -> Self::Errors

source§

impl<'a, E: ExecutableDocument, S: SchemaDefinition, ER, T0: Rule<'a, E, S, Error = ER>, T1: Rule<'a, E, S, Error = ER>, T2: Rule<'a, E, S, Error = ER>, T3: Rule<'a, E, S, Error = ER>, T4: Rule<'a, E, S, Error = ER>, T5: Rule<'a, E, S, Error = ER>> Rule<'a, E, S> for (T0, T1, T2, T3, T4, T5)

§

type Error = ER

§

type Errors = Chain<Chain<Chain<Chain<Chain<Chain<Empty<ER>, <T0 as Rule<'a, E, S>>::Errors>, <T1 as Rule<'a, E, S>>::Errors>, <T2 as Rule<'a, E, S>>::Errors>, <T3 as Rule<'a, E, S>>::Errors>, <T4 as Rule<'a, E, S>>::Errors>, <T5 as Rule<'a, E, S>>::Errors>

source§

fn into_errors(self) -> Self::Errors

source§

impl<'a, E: ExecutableDocument, S: SchemaDefinition, ER, T0: Rule<'a, E, S, Error = ER>, T1: Rule<'a, E, S, Error = ER>, T2: Rule<'a, E, S, Error = ER>, T3: Rule<'a, E, S, Error = ER>, T4: Rule<'a, E, S, Error = ER>, T5: Rule<'a, E, S, Error = ER>, T6: Rule<'a, E, S, Error = ER>> Rule<'a, E, S> for (T0, T1, T2, T3, T4, T5, T6)

§

type Error = ER

§

type Errors = Chain<Chain<Chain<Chain<Chain<Chain<Chain<Empty<ER>, <T0 as Rule<'a, E, S>>::Errors>, <T1 as Rule<'a, E, S>>::Errors>, <T2 as Rule<'a, E, S>>::Errors>, <T3 as Rule<'a, E, S>>::Errors>, <T4 as Rule<'a, E, S>>::Errors>, <T5 as Rule<'a, E, S>>::Errors>, <T6 as Rule<'a, E, S>>::Errors>

source§

fn into_errors(self) -> Self::Errors

source§

impl<'a, E: ExecutableDocument, S: SchemaDefinition, ER, T0: Rule<'a, E, S, Error = ER>, T1: Rule<'a, E, S, Error = ER>, T2: Rule<'a, E, S, Error = ER>, T3: Rule<'a, E, S, Error = ER>, T4: Rule<'a, E, S, Error = ER>, T5: Rule<'a, E, S, Error = ER>, T6: Rule<'a, E, S, Error = ER>, T7: Rule<'a, E, S, Error = ER>> Rule<'a, E, S> for (T0, T1, T2, T3, T4, T5, T6, T7)

§

type Error = ER

§

type Errors = Chain<Chain<Chain<Chain<Chain<Chain<Chain<Chain<Empty<ER>, <T0 as Rule<'a, E, S>>::Errors>, <T1 as Rule<'a, E, S>>::Errors>, <T2 as Rule<'a, E, S>>::Errors>, <T3 as Rule<'a, E, S>>::Errors>, <T4 as Rule<'a, E, S>>::Errors>, <T5 as Rule<'a, E, S>>::Errors>, <T6 as Rule<'a, E, S>>::Errors>, <T7 as Rule<'a, E, S>>::Errors>

source§

fn into_errors(self) -> Self::Errors

source§

impl<'a, E: ExecutableDocument, S: SchemaDefinition, ER, T0: Rule<'a, E, S, Error = ER>, T1: Rule<'a, E, S, Error = ER>, T2: Rule<'a, E, S, Error = ER>, T3: Rule<'a, E, S, Error = ER>, T4: Rule<'a, E, S, Error = ER>, T5: Rule<'a, E, S, Error = ER>, T6: Rule<'a, E, S, Error = ER>, T7: Rule<'a, E, S, Error = ER>, T8: Rule<'a, E, S, Error = ER>> Rule<'a, E, S> for (T0, T1, T2, T3, T4, T5, T6, T7, T8)

§

type Error = ER

§

type Errors = Chain<Chain<Chain<Chain<Chain<Chain<Chain<Chain<Chain<Empty<ER>, <T0 as Rule<'a, E, S>>::Errors>, <T1 as Rule<'a, E, S>>::Errors>, <T2 as Rule<'a, E, S>>::Errors>, <T3 as Rule<'a, E, S>>::Errors>, <T4 as Rule<'a, E, S>>::Errors>, <T5 as Rule<'a, E, S>>::Errors>, <T6 as Rule<'a, E, S>>::Errors>, <T7 as Rule<'a, E, S>>::Errors>, <T8 as Rule<'a, E, S>>::Errors>

source§

fn into_errors(self) -> Self::Errors

source§

impl<'a, E: ExecutableDocument, S: SchemaDefinition, ER, T0: Rule<'a, E, S, Error = ER>, T1: Rule<'a, E, S, Error = ER>, T2: Rule<'a, E, S, Error = ER>, T3: Rule<'a, E, S, Error = ER>, T4: Rule<'a, E, S, Error = ER>, T5: Rule<'a, E, S, Error = ER>, T6: Rule<'a, E, S, Error = ER>, T7: Rule<'a, E, S, Error = ER>, T8: Rule<'a, E, S, Error = ER>, T9: Rule<'a, E, S, Error = ER>> Rule<'a, E, S> for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9)

§

type Error = ER

§

type Errors = Chain<Chain<Chain<Chain<Chain<Chain<Chain<Chain<Chain<Chain<Empty<ER>, <T0 as Rule<'a, E, S>>::Errors>, <T1 as Rule<'a, E, S>>::Errors>, <T2 as Rule<'a, E, S>>::Errors>, <T3 as Rule<'a, E, S>>::Errors>, <T4 as Rule<'a, E, S>>::Errors>, <T5 as Rule<'a, E, S>>::Errors>, <T6 as Rule<'a, E, S>>::Errors>, <T7 as Rule<'a, E, S>>::Errors>, <T8 as Rule<'a, E, S>>::Errors>, <T9 as Rule<'a, E, S>>::Errors>

source§

fn into_errors(self) -> Self::Errors

source§

impl<'a, E: ExecutableDocument, S: SchemaDefinition, ER, T0: Rule<'a, E, S, Error = ER>, T1: Rule<'a, E, S, Error = ER>, T2: Rule<'a, E, S, Error = ER>, T3: Rule<'a, E, S, Error = ER>, T4: Rule<'a, E, S, Error = ER>, T5: Rule<'a, E, S, Error = ER>, T6: Rule<'a, E, S, Error = ER>, T7: Rule<'a, E, S, Error = ER>, T8: Rule<'a, E, S, Error = ER>, T9: Rule<'a, E, S, Error = ER>, T10: Rule<'a, E, S, Error = ER>, T11: Rule<'a, E, S, Error = ER>, T12: Rule<'a, E, S, Error = ER>, T13: Rule<'a, E, S, Error = ER>, T14: Rule<'a, E, S, Error = ER>, T15: Rule<'a, E, S, Error = ER>, T16: Rule<'a, E, S, Error = ER>, T17: Rule<'a, E, S, Error = ER>, T18: Rule<'a, E, S, Error = ER>, T19: Rule<'a, E, S, Error = ER>, T20: Rule<'a, E, S, Error = ER>, T21: Rule<'a, E, S, Error = ER>, T22: Rule<'a, E, S, Error = ER>, T23: Rule<'a, E, S, Error = ER>, T24: Rule<'a, E, S, Error = ER>, T25: Rule<'a, E, S, Error = ER>> Rule<'a, E, S> for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25)

§

type Error = ER

§

type Errors = Chain<Chain<Chain<Chain<Chain<Chain<Chain<Chain<Chain<Chain<Chain<Chain<Chain<Chain<Chain<Chain<Chain<Chain<Chain<Chain<Chain<Chain<Chain<Chain<Chain<Chain<Empty<ER>, <T0 as Rule<'a, E, S>>::Errors>, <T1 as Rule<'a, E, S>>::Errors>, <T2 as Rule<'a, E, S>>::Errors>, <T3 as Rule<'a, E, S>>::Errors>, <T4 as Rule<'a, E, S>>::Errors>, <T5 as Rule<'a, E, S>>::Errors>, <T6 as Rule<'a, E, S>>::Errors>, <T7 as Rule<'a, E, S>>::Errors>, <T8 as Rule<'a, E, S>>::Errors>, <T9 as Rule<'a, E, S>>::Errors>, <T10 as Rule<'a, E, S>>::Errors>, <T11 as Rule<'a, E, S>>::Errors>, <T12 as Rule<'a, E, S>>::Errors>, <T13 as Rule<'a, E, S>>::Errors>, <T14 as Rule<'a, E, S>>::Errors>, <T15 as Rule<'a, E, S>>::Errors>, <T16 as Rule<'a, E, S>>::Errors>, <T17 as Rule<'a, E, S>>::Errors>, <T18 as Rule<'a, E, S>>::Errors>, <T19 as Rule<'a, E, S>>::Errors>, <T20 as Rule<'a, E, S>>::Errors>, <T21 as Rule<'a, E, S>>::Errors>, <T22 as Rule<'a, E, S>>::Errors>, <T23 as Rule<'a, E, S>>::Errors>, <T24 as Rule<'a, E, S>>::Errors>, <T25 as Rule<'a, E, S>>::Errors>

source§

fn into_errors(self) -> Self::Errors

Implementors§

source§

impl<'a, E: ExecutableDocument + 'a, S: SchemaDefinition + 'a> Rule<'a, E, S> for AllVariableUsagesAllowed<'a, E, S>

§

type Error = Error<'a, E, S>

§

type Errors = IntoIter<Error<'a, E, S>>

source§

impl<'a, E: ExecutableDocument + 'a, S: SchemaDefinition + 'a> Rule<'a, E, S> for AllVariableUsesDefined<'a, E, S>

§

type Error = Error<'a, E, S>

§

type Errors = IntoIter<Error<'a, E, S>>

source§

impl<'a, E: ExecutableDocument + 'a, S: SchemaDefinition + 'a> Rule<'a, E, S> for AllVariablesUsed<'a, E, S>

§

type Error = Error<'a, E, S>

§

type Errors = IntoIter<Error<'a, E, S>>

source§

impl<'a, E: ExecutableDocument + 'a, S: SchemaDefinition + 'a> Rule<'a, E, S> for ArgumentNames<'a, E, S>

§

type Error = Error<'a, E, S>

§

type Errors = IntoIter<Error<'a, E, S>>

source§

impl<'a, E: ExecutableDocument + 'a, S: SchemaDefinition + 'a> Rule<'a, E, S> for ArgumentUniqueness<'a, E, S>

§

type Error = Error<'a, E, S>

§

type Errors = IntoIter<Error<'a, E, S>>

source§

impl<'a, E: ExecutableDocument + 'a, S: SchemaDefinition + 'a> Rule<'a, E, S> for DirectivesAreDefined<'a, E, S>

§

type Error = Error<'a, E, S>

§

type Errors = IntoIter<Error<'a, E, S>>

source§

impl<'a, E: ExecutableDocument + 'a, S: SchemaDefinition + 'a> Rule<'a, E, S> for DirectivesAreInValidLocations<'a, E, S>

§

type Error = Error<'a, E, S>

§

type Errors = IntoIter<Error<'a, E, S>>

source§

impl<'a, E: ExecutableDocument + 'a, S: SchemaDefinition + 'a> Rule<'a, E, S> for DirectivesAreUniquePerLocation<'a, E, S>

§

type Error = Error<'a, E, S>

§

type Errors = IntoIter<Error<'a, E, S>>

source§

impl<'a, E: ExecutableDocument + 'a, S: SchemaDefinition + 'a> Rule<'a, E, S> for FieldSelectionMerging<'a, E, S>

§

type Error = Error<'a, E, S>

§

type Errors = Flatten<IntoValues<&'a <E as ExecutableDocument>::SelectionSet, Vec<Error<'a, E, S>>>>

source§

impl<'a, E: ExecutableDocument + 'a, S: SchemaDefinition + 'a> Rule<'a, E, S> for FieldSelections<'a, E, S>

§

type Error = Error<'a, E, S>

§

type Errors = IntoIter<Error<'a, E, S>>

source§

impl<'a, E: ExecutableDocument + 'a, S: SchemaDefinition + 'a> Rule<'a, E, S> for FragmentNameUniqueness<'a, E>

§

type Error = Error<'a, E, S>

§

type Errors = FilterMap<IntoIter<&'a str, Vec<&'a <E as ExecutableDocument>::FragmentDefinition>>, fn(_: (&'a str, Vec<&'a <E as ExecutableDocument>::FragmentDefinition>)) -> Option<Error<'a, E, S>>>

source§

impl<'a, E: ExecutableDocument + 'a, S: SchemaDefinition + 'a> Rule<'a, E, S> for FragmentSpreadIsPossible<'a, E, S>

§

type Error = Error<'a, E, S>

§

type Errors = IntoIter<Error<'a, E, S>>

source§

impl<'a, E: ExecutableDocument + 'a, S: SchemaDefinition + 'a> Rule<'a, E, S> for FragmentSpreadTargetDefined<'a, E, S>

§

type Error = Error<'a, E, S>

§

type Errors = IntoIter<Error<'a, E, S>>

source§

impl<'a, E: ExecutableDocument + 'a, S: SchemaDefinition + 'a> Rule<'a, E, S> for FragmentSpreadTypeExists<'a, E, S>

§

type Error = Error<'a, E, S>

§

type Errors = IntoIter<Error<'a, E, S>>

source§

impl<'a, E: ExecutableDocument + 'a, S: SchemaDefinition + 'a> Rule<'a, E, S> for FragmentSpreadsMustNotFormCycles<'a, E, S>

§

type Error = Error<'a, E, S>

§

type Errors = IntoIter<Error<'a, E, S>>

source§

impl<'a, E: ExecutableDocument + 'a, S: SchemaDefinition + 'a> Rule<'a, E, S> for FragmentsMustBeUsed<'a, E>

§

type Error = Error<'a, E, S>

§

type Errors = Map<IntoValues<&'a str, &'a <E as ExecutableDocument>::FragmentDefinition>, fn(_: &'a <E as ExecutableDocument>::FragmentDefinition) -> Error<'a, E, S>>

source§

impl<'a, E: ExecutableDocument + 'a, S: SchemaDefinition + 'a> Rule<'a, E, S> for FragmentsOnCompositeTypes<'a, E, S>

§

type Error = Error<'a, E, S>

§

type Errors = IntoIter<Error<'a, E, S>>

source§

impl<'a, E: ExecutableDocument + 'a, S: SchemaDefinition + 'a> Rule<'a, E, S> for LeafFieldSelections<'a, E, S>

§

type Error = Error<'a, E, S>

§

type Errors = IntoIter<Error<'a, E, S>>

source§

impl<'a, E: ExecutableDocument + 'a, S: SchemaDefinition + 'a> Rule<'a, E, S> for LoneAnonymousOperation<'a, E>

§

type Error = Error<'a, E, S>

§

type Errors = <Option<Error<'a, E, S>> as IntoIterator>::IntoIter

source§

impl<'a, E: ExecutableDocument + 'a, S: SchemaDefinition + 'a> Rule<'a, E, S> for NamedOperationNameUniqueness<'a, E>

source§

impl<'a, E: ExecutableDocument + 'a, S: SchemaDefinition + 'a> Rule<'a, E, S> for OperationTypeIsDefined<'a, E, S>

§

type Error = Error<'a, E, S>

§

type Errors = <Vec<Error<'a, E, S>> as IntoIterator>::IntoIter

source§

impl<'a, E: ExecutableDocument + 'a, S: SchemaDefinition + 'a> Rule<'a, E, S> for RequiredArguments<'a, E, S>

§

type Error = Error<'a, E, S>

§

type Errors = IntoIter<Error<'a, E, S>>

source§

impl<'a, E: ExecutableDocument + 'a, S: SchemaDefinition + 'a> Rule<'a, E, S> for SubscriptionOperationSingleRootField<'a, E>

§

type Error = Error<'a, E, S>

§

type Errors = Map<IntoIter<&'a <E as ExecutableDocument>::OperationDefinition>, fn(_: &'a <E as ExecutableDocument>::OperationDefinition) -> Error<'a, E, S>>

source§

impl<'a, E: ExecutableDocument + 'a, S: SchemaDefinition + 'a> Rule<'a, E, S> for ValueIsValid<'a, E, S>

§

type Error = Error<'a, E, S>

§

type Errors = IntoIter<Error<'a, E, S>>

source§

impl<'a, E: ExecutableDocument + 'a, S: SchemaDefinition + 'a> Rule<'a, E, S> for VariableUniqueness<'a, E, S>

§

type Error = Error<'a, E, S>

§

type Errors = IntoIter<Error<'a, E, S>>

source§

impl<'a, E: ExecutableDocument + 'a, S: SchemaDefinition + 'a> Rule<'a, E, S> for VariablesAreInputTypes<'a, E, S>

§

type Error = Error<'a, E, S>

§

type Errors = IntoIter<Error<'a, E, S>>

source§

impl<'a, E: ExecutableDocument, S: SchemaDefinition, R: Rule<'a, E, S>, ER: From<<R as Rule<'a, E, S>>::Error>> Rule<'a, E, S> for RuleErrorAdapter<R, ER>

§

type Error = ER

§

type Errors = Map<<R as Rule<'a, E, S>>::Errors, fn(_: <R as Rule<'a, E, S>>::Error) -> ER>