[][src]Struct warpgrapher::engine::config::Configuration

pub struct Configuration { /* fields omitted */ }

Configuration for a Warpgrapher data model. The configuration contains the version of the Warpgrapher configuration file format, a vector of Type structures, and a vector of Endpoint structures.

Examples

  
let c = Configuration::new(1, Vec::new(), Vec::new());

Implementations

impl Configuration[src]

pub fn new(
    version: i32,
    model: Vec<Type>,
    endpoints: Vec<Endpoint>
) -> Configuration
[src]

Creates a new Configuration data structure with the version, Type vector, and Endpoint vector provided as arguments.

Examples


let c = Configuration::new(1, Vec::new(), Vec::new());

pub fn endpoints(&self) -> Iter<'_, Endpoint>[src]

Returns an iterator over the Endpoint structs defining custom root endpoints in the GraphQL schema

Examples


let c = Configuration::new(1, Vec::new(), Vec::new());
for e in c.endpoints() {
    let _name = e.name();
}

pub fn types(&self) -> Iter<'_, Type>[src]

Returns an iterator over the Type structs defining types in the GraphQL schema

Examples


let c = Configuration::new(1, Vec::new(), Vec::new());
for t in c.types() {
    let _name = t.name();
}

pub fn validate(&self) -> Result<(), Error>[src]

Validates the Configuration data structure. Checks that there are no duplicate Endpoint or Type items, and that the Endpoint input/output types are defined in the model. Returns () if there are no validation errors.

Errors

Returns an Error variant ConfigItemDuplicated if there is more than one type or more than one endpoint that use the same name.

Returns an Error variant ConfigItemReserved if a named configuration item, such as an endpoint or type, has a name that is a reserved word, such as "ID" or the name of a GraphQL scalar type.

Example


let config = Configuration::new(1, Vec::new(), Vec::new());
config.validate();

pub fn version(&self) -> i32[src]

Returns the version number of the configuration format used for the configuration

Examples


let c = Configuration::new(1, Vec::new(), Vec::new());

assert_eq!(1, c.version());

Trait Implementations

impl Clone for Configuration[src]

impl Debug for Configuration[src]

impl Default for Configuration[src]

impl<'de> Deserialize<'de> for Configuration[src]

impl Eq for Configuration[src]

impl Hash for Configuration[src]

impl Ord for Configuration[src]

impl PartialEq<Configuration> for Configuration[src]

impl PartialOrd<Configuration> for Configuration[src]

impl Serialize for Configuration[src]

impl StructuralEq for Configuration[src]

impl StructuralPartialEq for Configuration[src]

impl<'_> TryFrom<&'_ str> for Configuration[src]

type Error = Error

The type returned in the event of a conversion error.

impl TryFrom<File> for Configuration[src]

type Error = Error

The type returned in the event of a conversion error.

impl TryFrom<String> for Configuration[src]

type Error = Error

The type returned in the event of a conversion error.

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> DeserializeOwned for T where
    T: for<'de> Deserialize<'de>, 
[src]

impl<Q, K> Equivalent<K> for Q where
    K: Borrow<Q> + ?Sized,
    Q: Eq + ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,