rip-hunter is a small utility to parse objects formatted for GraphQL requests as well as use fetch to send query and mutation requests, returning a promise. Some helpers include sending an authorization token as well as custom headers.
Using npm:
$ npm install @nlabs/rip-hunter
###App Usage Then with a module bundler like webpack that supports either CommonJS or ES2015 modules, use as you would anything else:
import {query} from '@nlabs/rip-hunter';Example:
import {mutation, query, toGql} from '@nlabs/rip-hunter';
const AppActions = {
getData: () => {
// Variables
const url = 'http://www.example.com/graphql';
const gql = '{ app { ping } }';
// Query data
return query(url, gql)
.then(results => {
console.log(results);
// Assuming the results will return the JSON object, {status: 'ok'}
// Output: {status: 'ok'}
})
.catch(error => {
// ApiError will be returned if any problems occur.
});
},
updateData: () => {
// Variables
const url = 'http://www.example.com/graphql';
const data = {hello: 'world'};
const gql = `{ user { update(data: ${toGql(data)}) } }`;
// Mutate data
return mutation(url, gql)
.then(results => {
console.log(results);
// Assuming the results will return the JSON object, {id: 'test', hello: 'world'}
// Output: {id: 'test', hello: 'world'}
})
.catch(error => {
// ApiError will be returned if any problems occur.
});
}
}Parses an immutable object, JSON object, string, or number into a GraphQL formatted string. This string is used when sending variables in a request.
- [
data] (* Any *): An immutable object, JSON object, string or number to format for use with a GQL request.
A string formatted for use with GQL.
Adds an event listener. The only event emitted is when an error occurs. The error event is rip_hunter_error.
- [
eventType] (String): Event to subscribe for store updates. - [
listener] (Function): The callback to be invoked any time an action has been dispatched.
Removes an event listener.
- [
eventType] (String): Event to unsubscribe. - [
listener] (Function): The callback associated with the subscribed event.
AJAX request.
- [
url] (String): URL to send the request. Must be an absolute url. - [
method] (String): The HTTP method for the request. - [
params] (Object): Data to be sent with the request. Params will be converted to a query string for GET methods. - [
options] (Object): Rip Hunter options.- [
headers] (Object): Overwrite the default headers. - [
token] (String): Add an Authorization header with the value Bearer [token].
- [
A promise with either the response data or ApiError.
Server request using HTTP GET.
- [
url] (String): URL to send the request. Must be an absolute url. - [
params] (Object): Data to be sent with the request. - [
options] (Object): Rip Hunter options.- [
headers] (Object): Overwrite the default headers. - [
token] (String): Add an Authorization header with the value Bearer [token].
- [
A promise with either the response data or ApiError.
Server request using HTTP POST.
- [
url] (String): URL to send the request. Must be an absolute url. - [
params] (Object): Data to be sent with the request. - [
options] (Object): Rip Hunter options.- [
headers] (Object): Overwrite the default headers. - [
token] (String): Add an Authorization header with the value Bearer [token].
- [
A promise with either the response data or ApiError.
Server request using HTTP PUT.
- [
url] (String): URL to send the request. Must be an absolute url. - [
params] (Object): Data to be sent with the request. - [
options] (Object): Rip Hunter options.- [
headers] (Object): Overwrite the default headers. - [
token] (String): Add an Authorization header with the value Bearer [token].
- [
A promise with either the response data or ApiError.
Server request using HTTP DEL.
- [
url] (String): GraphQL server endpoint. Must be an absolute url. - [
params] (Object): Data to be sent with the request. - [
options] (Object): Rip Hunter options.- [
headers] (Object): Overwrite the default headers. - [
token] (String): Add an Authorization header with the value Bearer [token].
- [
A promise with either the response data or ApiError.
Queries a GraphQL server.
- [
url] (String): GraphQL server endpoint. Must be an absolute url. - [
body] (String): GraphQL query. - [
options] (Object): Rip Hunter options.- [
headers] (Object): Overwrite the default headers. - [
stripWhitespace] (Boolean): Removes whitespace in body. Default: false. - [
token] (String): Add an Authorization header with the value Bearer [token]. - [
variables] (Object): Variables used in query. Default: {}.
- [
A promise with either the response data or ApiError.
Modifies data on a GraphQL server.
- [
url] (String): GraphQL server endpoint. Must be an absolute url. - [
body] (String): GraphQL query. - [
options] (Object): Rip Hunter options.- [
headers] (Object): Overwrite the default headers. - [
stripWhitespace] (Boolean): Removes whitespace in body. Default: false. - [
token] (String): Add an Authorization header with the value Bearer [token]. - [
variables] (Object): Variables used in query. Default: {}.
- [
A promise with either the response data or ApiError.
