• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

Mintbase / mintbase-js / 4015446410

pending completion
4015446410

push

github

Sérgio
📝 Fixed main docs

483 of 648 branches covered (74.54%)

Branch coverage included in aggregate %.

721 of 780 relevant lines covered (92.44%)

4.23 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

73.58
/packages/data/src/graphql/fetch.ts
1
import { DocumentNode } from 'graphql';
2
import { GraphQLClient } from 'graphql-request';
14✔
3
import { getErrorMessage } from '../errorHandling';
14✔
4
import { GRAPHQL_ENDPOINTS, mbjs, NEAR_NETWORKS, Network } from '@mintbase-js/sdk';
14✔
5

6
const isValidNetwork = (network: Network): boolean =>  network === NEAR_NETWORKS.MAINNET || network ===  NEAR_NETWORKS.TESTNET;
61✔
7

8

9
export type GqlFetchResult<T> = {
10
  data?: T;
11
  error?: string;
12
}
13

14
export const fetchGraphQl = async <T, V = Record<string, unknown>>({
14✔
15
  query,
16
  variables,
17
  network,
18
}: {
19
  query: DocumentNode | string;
20
  variables?: V;
21
  network?: Network | null | undefined;
22
}): Promise<GqlFetchResult<T>> => {
31✔
23

24
  let networkObj = network;
31✔
25

26
  if (!network) {
31✔
27
    networkObj = mbjs?.keys?.network as Network;
29!
28
  }
29

30
  if (networkObj && !isValidNetwork(networkObj)) {
31✔
31
    return { error: 'Please add a valid Network' };
1✔
32
  }
33

34
  if (!networkObj) {
30!
35
    return { error: 'Please set a network.' };
×
36
  }
37

38
  const endpointReady = isValidNetwork(networkObj) && networkObj;
30✔
39

40
  const graphqlEndpoint = GRAPHQL_ENDPOINTS[networkObj] ?? mbjs?.keys?.graphqlUrl;
30!
41

42
  if (endpointReady && graphqlEndpoint) {
30✔
43

44
    try {
30✔
45
      const client = new GraphQLClient(graphqlEndpoint);
30✔
46
      return {
30✔
47
        data: await client.request<T>(query, variables),
48
      };
49
    
50
    } catch (error:unknown) {
51
      return {
14✔
52
        error: getErrorMessage(error),
53
      };
54
    }
55
  }
56

57
  return { data: null, error: null };
×
58

59
};
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc