1.1.0 • Published 2 years ago
@hasura-ws/core v1.1.0
@hasura-ws/core
@hasura-ws/browser
or @hasura-ws/node
(for nodejs
only!)
Initialize the client
import { initClient } from '@hasura-ws/browser'
// the client can take 2 parameters
// the required websocket address
// and a jwt token (or the admin secret)
const client = initClient({
address: 'ws://localhost:8080/v1alpha1/graphql', // (either ws:// or wss://)
debug: false, // log additional information for sent and recieved messages
// Crendentials :
adminSecret: '9311f0d7b5caaa183', // your hasura secret
token: 'eyJhbGciOiJIUzI...w5c', // or a valid JWT token
})
You can also delay the connection by passing the crendentials later on:
const client = initClient({ address: 'ws://localhost:8080/v1alpha1/graphql' })
// later once you get the user token:
client.connect({ token: 'eyJhbGciOiJIUzI...w5c' })
client.run
This method allow you to run queries and mutations.
Run takes 2 arguments:
- the query
(string)
- optional variables
(object)
// simple usage
const data = await client.run(`query {
user {
email
}
}`)
console.log(data.result.user[0].email)
// with variables
const getUserByIdQuery = `query getUserById($id: Int!) {
user (where: {id: {_eq: $id}}) {
email
}
}`
const data = await client.run(getUserByIdQuery, { id: 1 })
console.log(data.result.user[0].email)
client.subscribe
This method allow you to start subscriptions.
Run takes 3 arguments:
- the listener callback
(function)
- the subscription query
(string)
- optional variables
(object)
const subscribeToUserByIdQuery = `subscription subscribeToUserById($id: Int!) {
user (where: {id: {_eq: $id}}) {
email
}
}`
const { execution, unsubscribe } = client.subscribe(
data => console.log(data.user[0].email),
subscribeToUserByIdQuery,
{ id: 1 },
)
// execution is the promise of the subscribe,
// it resolve when the query is completed.
// unsubscribe is a function to call to stop subscribing
client.ws
This is the internal websocket client.
client.connection
This is a promise of the pending connection, if you want to handle reconnect.
1.1.0
2 years ago
1.0.1-alpha.0
4 years ago
1.0.0-alpha.0
4 years ago
0.5.1
5 years ago
0.5.0
5 years ago
0.4.4
5 years ago
0.4.3
5 years ago
0.4.0
6 years ago
0.3.0
6 years ago
0.2.2
6 years ago
0.2.1
6 years ago
0.2.0
6 years ago
0.1.18
6 years ago
0.1.16
6 years ago
0.1.15
6 years ago
0.1.14
6 years ago
0.1.13
6 years ago
0.1.12
6 years ago
0.1.11
6 years ago
0.1.10
6 years ago
0.1.9
6 years ago
0.1.5
6 years ago
0.1.3
6 years ago
0.1.1
6 years ago
0.1.0
6 years ago
0.0.11
6 years ago
0.0.10
6 years ago
0.0.9
6 years ago
0.0.8
6 years ago
0.0.7
6 years ago
0.0.6
6 years ago
0.0.5
6 years ago
0.0.4
6 years ago
0.0.3
6 years ago
0.0.2
6 years ago