takagotch / gotql

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

gotql


https://github.com/khaosdoctor/gotql

const gotQl = require('gotql')

const query = {
  operation: {
    name: 'users',
    fields: ['name', 'age', 'id']
  }
}

const options = {
  headers: {
    "Authorization": "Bearer <token>"
  },
  debug: false
}

gotQL.query('mygraphqlendpoint.com.br/api', query, options)
  .then(response => console.log(response.data))
  .catch(console.error)

const mutation = {
  operation {
    name: 'addLog',
    args: {
      logType: { value: 'status_change', escape: false},
      fromState: variables.fromState,
      toState: variables.toState,
      idUser: variables.idUser,
      idCampaign: variables.idCampaign,
      owner: {
        ownerType: variables.ownerType,
        username: variables.username,
        picture: variables.picture,
        name: variables.name,
        id: variables.id
      }
    },
    fields: [ 'uuid' ]
  }
}


gotQl.query(graphQLEndpoint, query, [options])

gotQl.mutation(graphQLEndpoint, query, [options])

gotQl.parser(query, type)

const response = 'query { test { name args } }'

const query = {
  name?: string;
  operation: {
    name: string;
    alias?: string;
    args?: {
      [argName: string]: any;
    } | {
      [argName: string]: {
        value: string;
        escape: boolean;
      };
    };
    fields: (string | {
      [fieldName: string]: [{
        fields?: (string | {
          [fieldName: string]: [any];
        })[];
      }];
    })[];
  };
  variables?: {
    [varName: string]: {
      type: string;
      value: string;
    };
  };
}

const query = {
  operation: {
    name: 'users',
    fields: ['name', 'age']
  }
}

const query = {
  name: 'myQuery',
  operation: {
    name: 'users',
    fields: ['name', 'age']
  }
}

const query = {
  operation: {
    name: 'user',
    ages: {
      name: 'Joe'
    }
    fields: ['name', 'age']
  }
}

const query = {
  variables: {
    name: {
      type: 'string',
      value: 'Joe'
    }
  },
  operation: {
    name: 'user',
    args: {
      name: '$name'
    }
    fields: ['name', 'age']
  }
}

const query = {
  operation: {
    name: 'users',
    fields: ['name', 'age', { friends: { fields: ['name', 'age'] }
    }]
  }
}

const query = {
  operation: {
    name: 'user',
    args: {
      type: {
        value: 'internal',
        escape: false
      }
    }
    fields: ['name', 'age']
  }
}

query { users(type: internal) { name age }}
query { users(type: "internal") { name age } }
npm install gotql

yarn install gotql
{
  "variables": {"name": "Joe"}
}

About