Skip to content

phamhongphuc1999/eth-graph-query

Repository files navigation

eth-graph-query

Simple package for creating query to the GraphQL.


Installation

  • Using npm
npm install eth-graph-query
  • Using yarn
yarn add eth-graph-query
  • Using bun
bun install eth-graph-query

Usage

  • 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'] },
        },
      ],
    },
  },
]);

API

Read the API Docs, you also read my examples


For developer

  • Run example
npm run example example/file-name
  • Run test
npm run test

Reference

About

Simple package for creating query to the GraphQL in ethereum

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published