1.0.6 • Published 3 years ago

subgraph-results-pager v1.0.6

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

subgraph-results-pager

Utility to get paged results from The Graph endpoints

Node & Webpack Usage

const graphResultsPager = require('subgraph-results-pager'); // common js
// or
import graphResultsPager from 'subgraph-results-pager';

graphResultsPager({
  api: 'https://api.thegraph.com/subgraphs/name/...',
  // Note: a single subgraph fetch can return 1000 results, any larger numbers will trigger multiple fetches
  max: 12, // leave empty for all results
  timeout: 5e3, // 5s timeout for an individual page request
  query: {
    entity: '...',
    selection: {
      // Note: orderBy DOES NOT WORK due to how the paging is implemented, it is overriden by id
      orderBy: '...',
      orderDirection: 'desc',
      where: {
        // Note: the below filters are combined - like the AND operater in an SQL WHERE clause
        someStringField: `\\"${someValue}\\"`, // use double quotes for strings / bytes / addresses
        someNumber: 321, // numbers don't require escaping
        // ...
        willBeIgnored: undefined, // useful if you want to use the ternary operator for inline checks
      },
    },
    properties: [
      'id',
      ...ss, // the list of the entity's fields you want returned
    ],
  },
});

For an example in node, try running node example.js (see source)

Direct browser usage

<script src="//cdn.jsdelivr.net/npm/subgraph-results-pager/browser.js"></script>
<script>
  window.graphResultsPager({...}).then(console.log).catch(console.error)
</script>

License

MIT

Original Author: justin j. moses