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

Mintbase / mintbase-js / 5268867622

pending completion
5268867622

push

github

sainthiago
:alien: update token attributes props

605 of 821 branches covered (73.69%)

Branch coverage included in aggregate %.

905 of 976 relevant lines covered (92.73%)

4.82 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';
16✔
3
import { getErrorMessage } from '../errorHandling';
16✔
4
import { GRAPHQL_ENDPOINTS, mbjs, NEAR_NETWORKS, Network } from '@mintbase-js/sdk';
16✔
5

6
const isValidNetwork = (network: Network): boolean =>  network === NEAR_NETWORKS.MAINNET || network ===  NEAR_NETWORKS.TESTNET;
73✔
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>>({
16✔
15
  query,
16
  variables,
17
  network,
18
}: {
19
  query: DocumentNode | string;
20
  variables?: any;
21
  network?: Network | null | undefined;
22
}): Promise<GqlFetchResult<T>> => {
37✔
23

24
  let networkObj = network;
37✔
25

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

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

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

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

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

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

44
    try {
36✔
45
      const client = new GraphQLClient(graphqlEndpoint);
36✔
46
      return {
36✔
47
        data: await client.request<T>(query, variables),
48
      };
49
    
50
    } catch (error:unknown) {
51
      return {
18✔
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