Package Exports
- giin
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (giin) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
hera
👩🏼💻 Simple and lightweight GraphQL client.
🧰 installation
yarn add hera-js🌳 usage
import { hera } from 'hera-js';
const { data } = await hera({
options: {
url: 'https://example.com'
},
query: `
query {
user(id: $id) {
id
name
age
}
}
`,
variables: {
id: 1
}
});👻 passing parameters as objects
const { data } = await hera({
options: {
url: 'https://example.com'
},
query: `
mutation {
createUser(info: $info) {
id
name
age
address
job
}
}
`,
variables: {
info: {
name: 'Cuong Tran',
age: 22,
address: 'Sai Gon / Vietnam',
job: 'software engineer'
}
}
});🐛 error handling
const { data, errors } = await hera({
options: {
url: 'https://example.com'
},
query: `
query {
user(id: $id) {
id
name
age
}
}
`,
variables: {
id: 1
}
});🌏 global options
You can specify config defaults that will be applied to every request.
import { hera, globalOptions } from 'hera-js';
globalOptions.url = 'https://example.com';
// globalOptions.headers = <your headers>
const { data } = await hera({
query: `
mutation {
createUser(info: $info) {
id
name
age
address
job
}
}
`,
variables: {
info: {
name: 'Cuong Tran',
age: 22,
address: 'Sai Gon / Vietnam',
job: 'software engineer'
}
}
});🚀 API
interface Options {
url?: string;
headers?: any;
timeout?: number;
}
hera({
query: string;
variables?: any;
options?: Options;
}) : Promise<{ data: any; errors: any[] }>📝 options
{
// `url` is the server URL that will be used for the request
url: '/example',
// `headers` are custom headers to be sent
headers: {
token: 'Fv0761DZcunUr0dKBc4oo5k55jJchwqu',
'Content-Type': 'application/json'
},
}📒 query
queryis query or mutation in Graphql
graphql's query
query: `
query {
user(id: $id) {
id
name
age
}
}
`graphql's mutation
query: `
mutation {
createUser(info: $info) {
id
name
age
address
job
}
}
`💉 variables
variables is used to pass values to query's variables
query: `
mutation {
createUser(info: $info) {
id
name
age
address
job
}
}
`,
variables: {
info: {
name: 'Cuong Tran',
age: 22,
address: 'Sai Gon / Vietnam',
job: 'software engineer'
}
}🤝 contributors
Thanks goes to these wonderful people (emoji key):
Cuong Duy Nguyen 💻 📖 ⚠️ 👀 |
This project follows the all-contributors specification. Contributions of any kind welcome!
📜 license
MIT © Cuong Tran