Skip to main content

talawa-api / Exports / utilities/graphQLConnection/transformToDefaultGraphQLConnection

Module: utilities/graphQLConnection/transformToDefaultGraphQLConnection

Table of contents

Type Aliases

Functions

Type Aliases

CreateCursor

Ƭ CreateCursor<T0>: (object: T0) => string

This is typescript type of the callback function createCursor.

Type parameters

Name
T0

Type declaration

▸ (object): string

Parameters
NameType
objectT0
Returns

string

Defined in

src/utilities/graphQLConnection/transformToDefaultGraphQLConnection.ts:11


CreateNode

Ƭ CreateNode<T0, T1>: (object: T0) => T1

This is typescript type of the callback function createNode.

Type parameters

Name
T0
T1

Type declaration

▸ (object): T1

Parameters
NameType
objectT0
Returns

T1

Defined in

src/utilities/graphQLConnection/transformToDefaultGraphQLConnection.ts:16


TransformToDefaultGraphQLConnectionArguments

Ƭ TransformToDefaultGraphQLConnectionArguments<T0, T1, T2>: Object

Type parameters

Name
T0
T1
T2

Type declaration

NameType
createCursor?CreateCursor<T1>
createNode?CreateNode<T1, T2>
objectListT1[]
parsedArgsParsedGraphQLConnectionArguments<T0>
totalCountnumber

Defined in

src/utilities/graphQLConnection/transformToDefaultGraphQLConnection.ts:18

Functions

transformToDefaultGraphQLConnection

transformToDefaultGraphQLConnection<T0, T1, T2>(«destructured»): DefaultGraphQLConnection<T2>

This function is used to transform a list of objects to a standard graphQL connection object.

Type parameters

NameType
T0T0
T1extends Object
T2T2

Parameters

NameType
«destructured»TransformToDefaultGraphQLConnectionArguments<T0, T1, T2>

Returns

DefaultGraphQLConnection<T2>

Remarks

The logic used in this function is common to almost all graphQL connection creation flows, abstracting that away into this function lets developers use a declarative way to create the graphQL connection object they want and prevents code duplication.

Example

const [objectList, totalCount] = await Promise.all([
User.find(filter)
.sort(sort)
.limit(limit)
.exec(),
User.find(filter)
.countDocuments()
.exec(),
]);

return transformToDefaultGraphQLConnection\<
String,
DatabaseUser,
DatabaseUser
\>(\{
objectList,
parsedArgs,
totalCount,
\});

Defined in

src/utilities/graphQLConnection/transformToDefaultGraphQLConnection.ts:53