Coder Social home page Coder Social logo

Fake Relay connections about graphql-faker HOT 2 OPEN

graphql-kit avatar graphql-kit commented on May 21, 2024 8
Fake Relay connections

from graphql-faker.

Comments (2)

timonweber avatar timonweber commented on May 21, 2024 6

Any progress on this? Faking Relay connections would be super helpful for us! 🙂

from graphql-faker.

soneymathew avatar soneymathew commented on May 21, 2024

Hi @IvanGoncharov / @5hanth what are your thoughts on how to go about implementing this?
To breakdown the problem I had the following thoughts

  1. How do I identify that a type is a connection?
    Approach 1: We could use a directive to mark a field as a connection
type Company {
  name: String @fake(type:companyName)
  employees(
      first: Int,
      after: String,
      last: Int,
      before: String,
 : EmployeeConnection @connection(options:{type: "relay"})
}

Approach 2: Detect if something is a connection using the same technique used by voyager

https://github.com/APIs-guru/graphql-voyager/blob/b2deb19bf8d82e0b496e1ad660823e61b5ce8772/src/introspection/introspection.ts#L135

  if (!/.Connection$/.test(field.type.name)) return;
  1. How does the field resolvers know the connection args to determine the length as done in

https://github.com/APIs-guru/graphql-faker/blob/7bce2980dccef21c1d121688cb741bff47ea2a45/src/fake_schema.ts#L180-L182

  1. How do we enable a hybrid connection as supported by Github APIs?
    https://developer.github.com/v4/object/searchresultitemconnection/
    tricky bit I think is the presence of both nodes and edges in the result

If we can converge on an approach I can put in some time to help out with this.

Best,
Soney

from graphql-faker.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.