当前位置: 首页>>代码示例>>TypeScript>>正文


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

本文整理汇总了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;未经允许,请勿转载。