Package Exports
- hasura-orm
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 (hasura-orm) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
Hasura-orm
I think in normal cases, everyone just copies queries from graphiql. But this library creates programmatically generated queries, do not judge strictly =)
setup
npm i hasura-orm
yarn add hasura-orm
how-to use
import Hasura from 'hasura-orm';
import { GraphQLProvider, reportCacheErrors } from "graphql-svelte";
let accessToken;
function getToken() {
return accessToken ? `Bearer ${accessToken}` : ''
}
let client = GraphQLProvider({
url: 'http://localhost:8082/v1/graphql',
headers: () => ({
"content-type": "application/json",
"x-hasura-admin-secret": "secret",
authorization: getToken(),
}),
ws: {
url: 'wss://go.pyrex.uz/v1/graphql'
}
})
client.graphql.on('cache', reportCacheErrors)
export default function hasura(schema) {
Hasura.provider = client;
const orm = new Hasura(schema)
orm.provider = client;
return orm;
}
import hasura from 'your/path/to/hasura'
const query = hasura('products')
.where({ 'id': 1, 'product_locales': { "name": { "_ilike": "test" } } })
.with('product_locales', query => {
return query.select('name').where({ 'locales_id': 1 })
})
.compose('address', query => {
return query
.select('name')
.where({ 'id': { '_gte': 1 } })
.paginate(5, 0)
})
.where({
_or: { article: { _eq: '1' }, _and: [{ article: { _eq: '2' }, rest: { _gt: 2 } }] }
})
.orderBy({ rest: 'asc' })
.distinct('rest')
.paginate(5, 0)
.paginate(5, 0)
.query()
!!! note the provider can be anything but I use my own as an example.
api
api is in the docs folder, and so you can always see the source.