Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@jumpn/utils-graphql

Package Overview
Dependencies
Maintainers
2
Versions
11
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@jumpn/utils-graphql

GraphQL utilities

  • 0.6.0
  • latest
  • Source
  • npm
  • Socket score

Version published
Maintainers
2
Created
Source

@jumpn/utils-graphql

GraphQL utilities

Installation

Using npm

$ npm install --save @jumpn/utils-graphql

Using yarn

$ yarn add @jumpn/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

errorsToString

Transforms an array of GqlError into a string.

Parameters
  • gqlErrors Array<GqlError>
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)

Returns string

getOperationType

Returns the type (query, mutation, or subscription) of the given operation

Parameters
Examples
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

requestFromCompat

Creates a GqlRequest using given GqlRequestCompat

Parameters
  • gqlRequestCompat GqlRequestCompat<Variables>
    • 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<Variables>

requestToCompat

Creates a GqlRequest using given GqlRequestCompat

Parameters
  • gqlRequest GqlRequest<Variables>
    • 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<Variables>

License

MIT :copyright: Jumpn Limited

Keywords

FAQs

Package last updated on 13 Dec 2018

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc