1.0.4 • Published 1 year ago

@r26d/utils-graphql v1.0.4

Weekly downloads
-
License
MIT
Repository
github
Last release
1 year ago

@r26d/utils-graphql

This package also includes updates to other util functions ao

GraphQL utilities

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 **