/** * @alias VCriteria * Обобщенный тип для объекта criteria, передаваемого в качестве параметра для некоторых запросов к серверу GraphQL. * Формируется по правилам Waterline query language. * Подробнее: https://docs.webresto.org/docs/data/criteria/ */ export type VCriteria = { /** Объект Waterline query language*/ criteria: Record; }; /** * @alias GQLRequestVariables * Тип, описывающий необязательный обьект переменных-параметров запроса к серверу GraphQL API, ключи которого , описаны для запроса в схеме GraphQL сервера, с соответствующими им значениями. * В качестве ключей выступают строки, соответствующие названиям параметров. * Значения - соответствующие им значения, при этом значения должны принадлежать типам number, string, object или boolean * */ export type GQLRequestVariables = Record | VCriteria; /** * @function generateQueryString() * Функция - генератор строки запроса к серверу GraphQL. * @param options - объект с данными, необходимыми для формирования запроса, где: * @param options.name - название операции, объвленное в схеме сервера GraphQL. * @param options.queryObject - объект-источник информации о структуре запрашиваемых данных * @param options.variables - необязательный объект с переменными, передаваемыми в качестве параметров запроса. В качестве типа * параметров допустимо использовать типы - number, string, object или boolean. * @param options.requiredFields - необязательный массив названий ключей параметров запроса, для которых в схеме был установлен обязательный тип * КРОМЕ ключей, для которых названия типов передаются в `options.fieldsTypeMap`. * (например у параметра указан тип String!, а не String). * @param options.fieldsTypeMap - необязательный объект Map, в качестве ключей содержащий названия параметров запроса, * а в качестве значения - строку с названием его типа, определенного в схеме сервера GraphQL. * ВАЖНО! - строка также должна включать символ "!", если в схеме параметр определен как обязательный. * @returns часть строки запроса к серверу GraphQL для переданной операции N с параметрами? перечисленными в V. * НЕ ВКЛЮЧАЕТ начало, содержащее ключевое слово query, mutation или subscription */ export declare function generateQueryString(options: { name: N; queryObject: T; variables?: GQLRequestVariables; requiredFields?: Array; fieldsTypeMap?: Map; }): string;