[][src]Function cynic::selection_set::map47

pub fn map47<'a, F, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, NewDecodesTo, TypeLock>(
    func: F,
    _1: SelectionSet<'a, _1, TypeLock>,
    _2: SelectionSet<'a, _2, TypeLock>,
    _3: SelectionSet<'a, _3, TypeLock>,
    _4: SelectionSet<'a, _4, TypeLock>,
    _5: SelectionSet<'a, _5, TypeLock>,
    _6: SelectionSet<'a, _6, TypeLock>,
    _7: SelectionSet<'a, _7, TypeLock>,
    _8: SelectionSet<'a, _8, TypeLock>,
    _9: SelectionSet<'a, _9, TypeLock>,
    _10: SelectionSet<'a, _10, TypeLock>,
    _11: SelectionSet<'a, _11, TypeLock>,
    _12: SelectionSet<'a, _12, TypeLock>,
    _13: SelectionSet<'a, _13, TypeLock>,
    _14: SelectionSet<'a, _14, TypeLock>,
    _15: SelectionSet<'a, _15, TypeLock>,
    _16: SelectionSet<'a, _16, TypeLock>,
    _17: SelectionSet<'a, _17, TypeLock>,
    _18: SelectionSet<'a, _18, TypeLock>,
    _19: SelectionSet<'a, _19, TypeLock>,
    _20: SelectionSet<'a, _20, TypeLock>,
    _21: SelectionSet<'a, _21, TypeLock>,
    _22: SelectionSet<'a, _22, TypeLock>,
    _23: SelectionSet<'a, _23, TypeLock>,
    _24: SelectionSet<'a, _24, TypeLock>,
    _25: SelectionSet<'a, _25, TypeLock>,
    _26: SelectionSet<'a, _26, TypeLock>,
    _27: SelectionSet<'a, _27, TypeLock>,
    _28: SelectionSet<'a, _28, TypeLock>,
    _29: SelectionSet<'a, _29, TypeLock>,
    _30: SelectionSet<'a, _30, TypeLock>,
    _31: SelectionSet<'a, _31, TypeLock>,
    _32: SelectionSet<'a, _32, TypeLock>,
    _33: SelectionSet<'a, _33, TypeLock>,
    _34: SelectionSet<'a, _34, TypeLock>,
    _35: SelectionSet<'a, _35, TypeLock>,
    _36: SelectionSet<'a, _36, TypeLock>,
    _37: SelectionSet<'a, _37, TypeLock>,
    _38: SelectionSet<'a, _38, TypeLock>,
    _39: SelectionSet<'a, _39, TypeLock>,
    _40: SelectionSet<'a, _40, TypeLock>,
    _41: SelectionSet<'a, _41, TypeLock>,
    _42: SelectionSet<'a, _42, TypeLock>,
    _43: SelectionSet<'a, _43, TypeLock>,
    _44: SelectionSet<'a, _44, TypeLock>,
    _45: SelectionSet<'a, _45, TypeLock>,
    _46: SelectionSet<'a, _46, TypeLock>,
    _47: SelectionSet<'a, _47, TypeLock>
) -> SelectionSet<'a, NewDecodesTo, TypeLock> where
    F: Fn(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47) -> NewDecodesTo + 'a + Send + Sync,
    _1: 'a,
    _2: 'a,
    _3: 'a,
    _4: 'a,
    _5: 'a,
    _6: 'a,
    _7: 'a,
    _8: 'a,
    _9: 'a,
    _10: 'a,
    _11: 'a,
    _12: 'a,
    _13: 'a,
    _14: 'a,
    _15: 'a,
    _16: 'a,
    _17: 'a,
    _18: 'a,
    _19: 'a,
    _20: 'a,
    _21: 'a,
    _22: 'a,
    _23: 'a,
    _24: 'a,
    _25: 'a,
    _26: 'a,
    _27: 'a,
    _28: 'a,
    _29: 'a,
    _30: 'a,
    _31: 'a,
    _32: 'a,
    _33: 'a,
    _34: 'a,
    _35: 'a,
    _36: 'a,
    _37: 'a,
    _38: 'a,
    _39: 'a,
    _40: 'a,
    _41: 'a,
    _42: 'a,
    _43: 'a,
    _44: 'a,
    _45: 'a,
    _46: 'a,
    _47: 'a,
    NewDecodesTo: 'a, 

Applies a function to the result of some SelectionSets.

This can be used to create structs from the SelectionSets of their fields. For example, to create a user with three fields we would use the map3 function:

struct User {
    id: i32,
    name: String,
    email: String,
}

impl User {
    fn new(id: i32, name: String, email: String) -> User {
        User { id, name, email }
    }
}

map3(
    User::new,
    field::<_, (), ()>("id", vec![], integer()),
    field::<_, (), ()>("email", vec![], string()),
    field::<_, (), ()>("email", vec![], string()),
);