1.0.15 • Published 3 years ago

hasura-orm v1.0.15

Weekly downloads
43
License
MIT
Repository
github
Last release
3 years ago

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.

1.0.14-1

3 years ago

1.0.15

3 years ago

1.0.14

3 years ago

1.0.13

3 years ago

1.0.9

3 years ago

1.0.11

3 years ago

1.0.10

3 years ago

1.0.12

3 years ago

1.0.8

3 years ago

1.0.7

3 years ago

1.0.6

3 years ago

1.0.5

3 years ago

1.0.4

3 years ago

1.0.3

3 years ago

1.0.2

3 years ago

1.0.1

3 years ago

1.0.0

3 years ago

0.1.8

4 years ago

0.1.7

4 years ago

0.1.6

4 years ago

0.1.4

4 years ago

0.1.5

4 years ago

0.1.3-1

4 years ago

0.1.3

4 years ago

0.1.2

4 years ago

0.1.1

4 years ago

0.1.0

4 years ago

0.0.9

4 years ago

0.0.8-9

4 years ago

0.0.8-8

4 years ago

0.0.8-7

4 years ago

0.0.8-6

4 years ago

0.0.8-5

4 years ago

0.0.7-1

4 years ago

0.0.8-4

4 years ago

0.0.8-3

4 years ago

0.0.8

4 years ago

0.0.8-2

4 years ago

0.0.8-1

4 years ago

0.0.5

4 years ago

0.0.7

4 years ago

0.0.6

4 years ago

0.0.4

4 years ago

0.0.0-3

4 years ago

0.0.2

4 years ago

0.0.1

4 years ago