@thiendangit1102/rn-typescript-graphql
Version:
React Native TypeScript Apollo Graphql Boilerplate
49 lines (45 loc) • 1.15 kB
JavaScript
/* eslint-disable @typescript-eslint/no-var-requires */
const fetch = require('cross-fetch');
const fs = require('fs');
fetch('https://master-7rqtwti-mfwmkrjfqvbjk.us-4.magentosite.cloud/graphql', {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
variables: {},
query: `
{
__schema {
types {
kind
name
possibleTypes {
name
}
}
}
}
`,
}),
})
.then((result) => result.json())
.then((result) => {
const possibleTypes = {};
result.data.__schema.types.forEach((supertype) => {
if (supertype.possibleTypes) {
possibleTypes[supertype.name] = supertype.possibleTypes.map(
(subtype) => subtype.name,
);
}
});
fs.writeFile(
'./src/lib/apollo/data/possibleTypes.json',
JSON.stringify(possibleTypes),
(err) => {
if (err) {
console.error('Error writing possibleTypes.json', err);
} else {
console.log('Fragment types successfully extracted!');
}
},
);
});