• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

TypeScript graphql-relay.connectionDefinitions函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了TypeScript中graphql-relay.connectionDefinitions函数的典型用法代码示例。如果您正苦于以下问题:TypeScript connectionDefinitions函数的具体用法?TypeScript connectionDefinitions怎么用?TypeScript connectionDefinitions使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。



在下文中一共展示了connectionDefinitions函数的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的TypeScript代码示例。

示例1: catch

    isTypeOf: (obj): boolean => {
        try { new db.Message(obj).validate(); return true } catch (e) { return false }
    },
    fields: (): GQL.GraphQLFieldConfigMap => ({
        id: R.globalIdField('Message'),
        userId: { type: new GQL.GraphQLNonNull(GQL.GraphQLString) },
        createdAt: { type: GQL.GraphQLString },
        body: { type: GQL.GraphQLString },
        user: {
            type: UserType,
            resolve: async (msg, args): Promise<any> => await db.User.get(msg.userId).run()
        }
    }),
    interfaces: [nodeDefinitions.nodeInterface]
})
const messageConnection = R.connectionDefinitions({nodeType: MessageType})

//============================== USER ================================//
const UserType = new GQL.GraphQLObjectType({
    name: 'User',
    isTypeOf: (obj): boolean => {
        try { new db.User(obj).validate(); return true } catch (e) { return false }
    },
    fields: (): GQL.GraphQLFieldConfigMap => ({
        id: R.globalIdField(),
        name: { type: new GQL.GraphQLNonNull(GQL.GraphQLString) },
        email: { type: new GQL.GraphQLNonNull(GQL.GraphQLString) },
        createdAt: { type: GQL.GraphQLString },
        updatedAt: { type: GQL.GraphQLString },
        messages: {
            type: messageConnection.connectionType,
开发者ID:duataud,项目名称:PlayApp,代码行数:31,代码来源:mainSchema.ts


示例2: if

  idFetcher,
  (obj) => {
    if (obj instanceof Store) {
      return storeType;

    } else if (obj.cross) {
      return seedType;

    } else if (obj.email) {
      return userType;
    }
    return null;
  }

);

userType = new GraphQLObjectType(new UserTypeConfig().getConfig());
export let userConnection: GraphQLConnectionDefinitions = connectionDefinitions({
  name: 'user',
  nodeType: userType
});


seedType = new GraphQLObjectType(new SeedTypeConfig().getConfig());
export let seedConnection: GraphQLConnectionDefinitions = connectionDefinitions({
  name: 'seed',
  nodeType: seedType
});

storeType = new GraphQLObjectType(new StoreTypeConfig().getConfig());
开发者ID:pjayala,项目名称:labseed,代码行数:30,代码来源:type.ts


示例3: userByIDLoader

        { userId },
        _args,
        _context,
        { rootValue: { userByIDLoader } }
      ) => (userId ? userByIDLoader(userId) : null),
    },
    creditCard: {
      type: CreditCard.type,
      description: "Credit card on this order",
      resolve: (
        { creditCardId },
        _args,
        _context,
        { rootValue: { creditCardLoader } }
      ) => (creditCardId ? creditCardLoader(creditCardId) : null),
    },
    // TODO: The `date` resolver not typed correctly
    updatedAt: date as any,
    createdAt: date as any,
    stateUpdatedAt: date as any,
    stateExpiresAt: date as any,
  }),
})

export const {
  connectionType: OrderConnection,
  edgeType: OrderEdge,
} = connectionDefinitions({
  nodeType: OrderType,
})
开发者ID:xtina-starr,项目名称:metaphysics,代码行数:30,代码来源:order.ts


示例4: connectionDefinitions

// backwardConnectionArgs returns the arguments that fields should provide when they return a connection type that only supports backward pagination.
backwardConnectionArgs.before = "b";
backwardConnectionArgs.last = 10;
// connectionDefinitions returns a connectionType and its associated edgeType, given a node type.
const resolve: GraphQLFieldResolver<any, any> = (source, args, context, info) => {
    info.fieldName = "f";
};
const fields: GraphQLFieldConfigMap<any, any> = {};
let t: GraphQLObjectType;
let e: GraphQLObjectType;
const def = connectionDefinitions({
    connectionFields: fields,
    edgeFields: fields,
    name: "N",
    nodeType: new GraphQLObjectType({
        name: "N",
        fields: {},
    }),
    resolveCursor: resolve,
    resolveNode: resolve,
});
t = def.connectionType;
e = def.edgeType;
// connectionFromArray is a helper method that takes an array and the arguments from connectionArgs,
// does pagination and filtering, and returns an object in the shape expected by a connectionType's resolve function.
const conn = connectionFromArray([1, 2, 3], {
    after: "a",
    before: "b",
    first: 1,
    last: 5,
});
开发者ID:AbraaoAlves,项目名称:DefinitelyTyped,代码行数:31,代码来源:graphql-relay-tests.ts



注:本文中的graphql-relay.connectionDefinitions函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
TypeScript graphql-relay.connectionFromArray函数代码示例发布时间:2022-05-25
下一篇:
TypeScript graphql-import.importSchema函数代码示例发布时间:2022-05-25
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap