@puti94/gql-utils

graphql 工具
3,181 1
Install
npm install @puti94/gql-utils
Latest Version:0.5.0
Vue:2
License:MIT
Last Updated:Aug 2, 2020
Links: GitHub  ·  npm
Maintainer: xiegq

graphql 工具,包括生成graphql请求文本,生成graphql-adapter的客户端

安装

$ yarn add @puti94/gql-utils // or npm i @puti94/gql-utils --save

生成字符串示例

  import {generateFieldText} from '@puti94/gql-utils'
  generateFieldText('query', {
       fields: {
         a: {
           alias: 'alias',
           args: {a: 'a', b: 1, c: false, d: ['a', 1, true, new Utils.GqlEnum('menu')]},
           fields: ["a"]
         }
       }
     });
  // 'query{alias:a(a:"a",b:1,c:false,d:["a",1,true,menu]){a}}'

创建apiClient示例

  import {createApiClient} from '@puti94/gql-utils'
  import {ApolloClient} from "@apollo/client";
  //元数据可由graphql-adapter 的 _metadataMap 字段获取
  const metadata = {
    user:{
      type:'User',
      name:'User',
      createAble:true,
      pkName:"uid",
      editable:true,
      removeAble:true,
      fields:{
        uid:{
          type:"ID",
          primaryKey:true
        },
        name:{
          type:"String"
        },
      }
    }
  }
  const api = createApiClient(metadata, {
       client: new ApolloClient({...}),
       useQuery,
       useMutation
     });
   //简单使用
   api.user.one.query().then(res=>console.log(res.data.uid))
   const {data} = api.user.one.useQuery()

   const {mutate} = api.user.create.useMutation()

   mutate({data:{name:"张三"}})

Related Packages

@bernankez/utils

Cole's utils preset

1,146 0
vue-query-utils

A utility for converting objects to query strings and vice versa for Vue.js and...

4,245 2
@chiballc/utils

TypeScript utilities, browser worker messaging, and the Kibao Nuxt module for Op...

10,723 0
@gits-id/utils

GITS Utilities

4,086

Version History

Version Released Vue License
0.5.0 ^2.6.11 MIT
0.4.3 MIT
0.4.2 MIT
0.4.1 MIT
0.4.0 MIT