neutron-graph

3.5.0 • Public • Published

Neutron-Graph

A small GraphQL Query generator

Requirements

  • Promise based HTTP client (Default: Axios or $http for Angular)
  • ES6 style Promises (Default: Promise or $q for Angular)

ES5 Usage

Usage:

var neutron_graph = require('neutron-graph');
GraphAPI = neutron_graph.default('/graphql', {http: $http, promise: $q});
 
var query = {
  allSchedules {
    filters: {user_RemoteUserId: 5},
    edges: {node: ['id', 'sunday', 'monday']}
  }
};
 
GraphAPI().data_graph().query(query).submit().then(function(response) {
  console.log(response.data.allSchedules.nodes());
}).catch(function(error) {
  console.log(error);
});

ES6 Usage

import DataGraph from 'neutron-graph';
 
var verses;
var GraphAPI = DataGraph('/data-graph');
 
var query = {
  allVerses: {
    filters: {book_Slug: 'my-book', chapter: 2},
    edges: {node: ['text', 'verse']}
  }
};
 
GraphAPI().query(query).submit().then(function (result) {
  verses = result.data.allVerses.nodes();
}).catch(function (error) {
  console.error(error);
});

API

Chaining

var GraphAPI = DataGraph('/data-graph');
var promise = GraphAPI().query(query1).query(query2).get(query3).submit();

Result will contain an attribute for each node name.

Example: result.data.AllVerses, result.data.AllChapters, result.data.Chapter

Query Methods

Name Description
query() Query that contains multiple results
get() Query by ID. Supply base64 {id} or {name, id} to generate id

QueryResult Attributes

Name Description
data DataTransformer objects named by node names
query original text query generated
response original response object

DataTransformer Methods and Attributes

Name Description
data original data
nodes() list data extracted from edges list and node object
first() get first node and return it
last() get last node and return it

Readme

Keywords

Package Sidebar

Install

npm i neutron-graph

Weekly Downloads

0

Version

3.5.0

License

MIT

Unpacked Size

11.9 kB

Total Files

5

Last publish

Collaborators

  • pizzapanther