
//fetch(адрес, {method, headers: {}, body: JSON.stringify({query, variables})})
//method: POST
//content-type: application/json
//body: json с query - строка и variables - объект с вложенными параметрами

const gql = (url, query, variables) => fetch(url, {
      method: 'POST',   
      headers: {'content-type': 'application/json'}, 
      body: JSON.stringify({query, variables}),
   })
   // .then(response => response.json())
   // .then(result => console.log(result))
   ;

(async function() {
   let response = await gql("http://shop-roles.asmer.fs.a-level.com.ua/graphql", `query cats($q:String) {
      CategoryFind(query:$q){
         name goods{
            name images{
            url
            }
         }
      }
   }`, {q: "[{}]"}); //должно приехать { data: {CategoryFind: [........]}}
   let result = await response.json();
})()


