@r26d/utils-graphql v1.0.4
@r26d/utils-graphql
This package also includes updates to other util functions ao
GraphQL utilities
- Installation
- Types
- API
- License
Installation
Using npm
$ npm install --save @r26d/utils-graphql
Using yarn
$ yarn add @r26d/utils-graphql
Types
export type {DocumentNode} from "graphql/language/ast";
type GqlErrorLocation = {|
line: number,
column: number
|};
type GqlError = {|
message: string,
locations?: Array<GqlErrorLocation>
|};
type GqlRequest<Variables: void | Object = void> = {|
operation: string,
variables?: Variables
|};
type GqlRequestCompat<Variables: void | Object = void> = {|
query: string,
variables?: Variables
|};
type GqlResponse<Data> = {|
data?: Data,
errors?: Array<GqlError>
|};
type GqlOperationType = "mutation" | "query" | "subscription";
API
arrayAppendFn
Returns a new Array with elements appended to the one given.
Parameters
elements
array
arrayRemoveFn
Returns a new Array with the result of having removed the specified amount (count) of elements at the given index.
Parameters
index
count
array
arrayReplaceFn
Returns a new Array with the result of having replaced the elements at the given index with the ones specified.
Parameters
index
elements
array
booleanize
Returns a new promise which follows the one given returning true in case there was no error, or false otherwise
Parameters
promise
get
Get property value of given key.
Parameters
key
composite
getIn
Returns value located at the given path or undefined otherwise.
Parameters
path
composite
compositeHasInFn
Returns true if value located at given path is deeply equal to the one specified.
Parameters
path
value
composite
compositeMap
Maps values of the given composite using mapper
Parameters
mapper
composite
createDeferred
Creates a Deferred
errorsToString
Transforms an array of GqlError into a string.
Parameters
gqlErrors
Examples
const gqlRespose = {
errors: [
{message: "First Error", locations: [{column: 10, line: 2}]},
{message: "Second Error", locations: [{column: 2, line: 4}]}
]
}
const error = errorsToString(gqlRespose.errors);
// string with the following:
// First Error (2:10)
// Second Error (4:2)
getOperationType
Returns the type (query, mutation, or subscription) of the given operation
Parameters
operation
Examples
const operation = `
subscription userSubscription($userId: ID!) {
user(userId: $userId) {
id
name
}
}
`;
const operationType = getOperationType(operation);
console.log(operationType); // "subscription"
hasSubscription
Returns true if documentNode has a subscription or false otherwise
Parameters
documentNode
requestFromCompat
Creates a GqlRequest using given GqlRequestCompat
Parameters
gqlRequestCompat
GqlRequestCompat\gqlRequestCompat.query
gqlRequestCompat.variables
Examples
const query = `
query userQuery($userId: ID!) {
user(userId: $userId) {
id
email
}
}
`;
console.log(requestFromCompat({query, variables: {userId: 10}}));
// {operation: "...", variables: {userId: 10}}
Returns GqlRequest\
requestToCompat
Creates a GqlRequest using given GqlRequestCompat
Parameters
gqlRequest
GqlRequest\gqlRequest.operation
gqlRequest.variables
Examples
const operation = `
query userQuery($userId: ID!) {
user(userId: $userId) {
id
email
}
}
`;
console.log(requestToCompat({operation, variables: {userId: 10}}));
// {query: "...", variables: {userId: 10}}
Returns GqlRequestCompat\
License
MIT :copyright: **r26D,LLC **