graphql-fields-projection-v2
Version:
- [Why using this?](#why-using-this) - [Install](#install) - [How to](#how-to) - [Example 1: simplest usecase](#example-1-simplest-usecase) - [Example 2: Get more fields](#example-2-get-more-fields) - [Example 3: Get child path](#example-3-get-child
32 lines (31 loc) • 1.13 kB
TypeScript
/**
* Create selected fields from graphql info
*
* @param {Object} queryInfo query info
* @param {Object} options options
* @param {String[]} [options.additionalFields=[]] additional fields to get
* @param {String} [options.path=''] child path of query
* @param {String} [options.returnType='string'] must be either: string, array, or object. Default: string
* @returns
*/
export function createSelectedFields(queryInfo: any, options?: {
additionalFields?: string[];
path?: string;
returnType?: string;
}): any;
/**
* Create merged selected fields. Useful for dataloader batch function
*
* @param {String []} batchingKeys dataloader batching keys. Each element must be a JSON string
* @param {Object} options options
* @param {String []} [options.additionalFields=[]] additional fields to get
* @param {String} [options.returnType='string'] must be either: string, array, or object. Default: string
* @returns
*/
export function createMergedSelectedFields(batchingKeys: string[], options?: {
additionalFields?: string[];
returnType?: string;
}): {
ids: any;
selectedFields: any;
};