WrapQuery и другие трансформации - PullRequest
0 голосов
/ 11 декабря 2018

Я изо всех сил пытаюсь понять WrapQuery params конструктора.Согласно документации, подпись:

WrapQuery( path: Array<string>, wrapper: QueryWrapper, extractor: (result: any) => any, )

Для QueryWrapper Я копаю глубоко, и я нашел это объявление в коде (ничего в документе):

export declare type QueryWrapper = (subtree: SelectionSetNode) => SelectionNode | SelectionSetNode;

Iесть мутация и Я хочу преобразовать входную переменную для этой мутации в другую входную переменную.До сих пор я даже не справился с примером, который они получили в документах для работы https://www.apollographql.com/docs/graphql-tools/schema-transforms:

new WrapQuery(
            ['priv_createConsumer'],
            (subtree) => { // subtree seems to contain one node only?? weird
                return {
                    kind: Kind.FIELD, // no idea which enum should I use here
                    name: {
                        kind: Kind.NAME, // no idea which enum should I use here
                        value: 'contact',
                    },
                    selectionSet: subtree,
                }
            },
            // how to process the data result at path
            (result) => { // result is mostly undefined or null (based on few things I tried to change
                return result && result.address
            }
        )
...