https://github.com/jumpn/utils-graphql
GraphQL utilities
https://github.com/jumpn/utils-graphql
flowtype graphql graphql-utilities utilities
Last synced: 7 months ago
JSON representation
GraphQL utilities
- Host: GitHub
- URL: https://github.com/jumpn/utils-graphql
- Owner: jumpn
- License: mit
- Created: 2017-09-23T04:56:01.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2018-12-13T19:01:36.000Z (over 6 years ago)
- Last Synced: 2024-11-16T12:51:30.515Z (7 months ago)
- Topics: flowtype, graphql, graphql-utilities, utilities
- Language: JavaScript
- Size: 188 KB
- Stars: 0
- Watchers: 4
- Forks: 8
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
# @jumpn/utils-graphql
> GraphQL utilities
- [Installation](#installation)
- [Using npm](#using-npm)
- [Using yarn](#using-yarn)
- [Types](#types)
- [API](#api)
- [errorsToString](#errorstostring)
- [Parameters](#parameters)
- [Examples](#examples)
- [getOperationType](#getoperationtype)
- [Parameters](#parameters-1)
- [Examples](#examples-1)
- [hasSubscription](#hassubscription)
- [Parameters](#parameters-2)
- [requestFromCompat](#requestfromcompat)
- [Parameters](#parameters-3)
- [Examples](#examples-2)
- [requestToCompat](#requesttocompat)
- [Parameters](#parameters-4)
- [Examples](#examples-3)
- [License](#license)## Installation
### Using [npm](https://docs.npmjs.com/cli/npm)
$ npm install --save @jumpn/utils-graphql
### Using [yarn](https://yarnpkg.com)
$ yarn add @jumpn/utils-graphql
## Types
```javascript
type GqlErrorLocation = {|
line: number,
column: number
|};type GqlError = {|
message: string,
locations?: Array
|};type GqlRequest = {|
operation: string,
variables?: Variables
|};type GqlRequestCompat = {|
query: string,
variables?: Variables
|};type GqlResponse = {|
data?: Data,
errors?: Array
|};type GqlOperationType = "mutation" | "query" | "subscription";
```## API
### errorsToString
Transforms an array of GqlError into a string.
#### Parameters
- `gqlErrors` **[Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)<GqlError>**
#### Examples
```javascript
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)
```Returns **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**
### getOperationType
Returns the type (query, mutation, or subscription) of the given operation
#### Parameters
- `operation` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**
#### Examples
```javascript
const operation = `
subscription userSubscription($userId: ID!) {
user(userId: $userId) {
id
name
}
}
`;const operationType = getOperationType(operation);
console.log(operationType); // "subscription"
```Returns **GqlOperationType**
### hasSubscription
Returns true if documentNode has a subscription or false otherwise
#### Parameters
- `documentNode` **DocumentNode**
Returns **[boolean](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean)**
### requestFromCompat
Creates a GqlRequest using given GqlRequestCompat
#### Parameters
- `gqlRequestCompat` **GqlRequestCompat<Variables>**
- `gqlRequestCompat.query`
- `gqlRequestCompat.variables`#### Examples
```javascript
const query = `
query userQuery($userId: ID!) {
user(userId: $userId) {
id
}
}
`;console.log(requestFromCompat({query, variables: {userId: 10}}));
// {operation: "...", variables: {userId: 10}}
```Returns **GqlRequest<Variables>**
### requestToCompat
Creates a GqlRequest using given GqlRequestCompat
#### Parameters
- `gqlRequest` **GqlRequest<Variables>**
- `gqlRequest.operation`
- `gqlRequest.variables`#### Examples
```javascript
const operation = `
query userQuery($userId: ID!) {
user(userId: $userId) {
id
}
}
`;console.log(requestToCompat({operation, variables: {userId: 10}}));
// {query: "...", variables: {userId: 10}}
```Returns **GqlRequestCompat<Variables>**
## License
[MIT](LICENSE.txt) :copyright: **Jumpn Limited**