Simple package for creating query to the GraphQL.
- Using
npm
npm install eth-graph-query
- Using
yarn
yarn add eth-graph-query
- Using
bun
bun install eth-graph-query
- The first thing you have to do is to create a query instance
const query = new EthGraphQuery(root);
- This package has three query options. Simply, you can create a direct string query
result = await query.stringQuery(`query query {
collection1(first: 10) {
element1
element2
}
}`);
- More readable, you can create a single json query
const result = await query.query({
collection: 'collection1',
params: {
elements: ['element1', 'element2'],
first: 10,
},
});
- You can create a multiple json queries
const result = await query.multipleQuery([
{
collection: 'collection1',
params: {
elements: ['element11', 'element12'],
},
},
{
collection: 'collection2',
params: {
elements: ['element21', 'element22'],
},
},
]);
- You can create a complex query
const result = await query.multipleQuery([
{
collection: 'collection1',
params: {
elements: ['element11', 'element12'],
where: { element11: 'abc' },
},
},
{
collection: 'collection2',
params: {
elements: [
'element21',
{
collection: 'collection3',
params: {
elements: ['element31'],
where: {
id: { $in: ['123'] },
token_: { setId: { $in: ['1', 2, true] } },
element31: 'element31',
},
first: 50,
},
},
],
where: {
element21: '123',
collection3: { element31: '123' },
},
inlineFragments: [
{
collection: 'BridgeDepositTransaction',
params: { elements: ['id', 'l1Token'] },
},
{
collection: 'NameSignalTransaction',
params: { elements: ['id', 'timestamp'] },
},
],
},
},
]);
Read the API Docs, you also read my examples
- Run example
npm run example example/file-name
- Run test
npm run test