Code Monkey home page Code Monkey logo

Comments (5)

Yogu avatar Yogu commented on July 28, 2024 3

Currently, only the root types, i.e. Query, Mutation and Subscription are merged, other types will cause an error if they are not prefixed with typePrefix.

I think some kind of type conflict resolution would be useful, but merging types is not neccessarily what you want - maybe you want to only keep fields that are present on both types? What about interfaces and the type description? Conflicting fields in the types? There are many corner cases.

I think we could provide a callback that handles type conflicts - multiple types with the same name go in, one type for them all goes out. You would however need to implement the type merging yourself, then. Would that help for your use case?

from graphql-weaver.

lifeiscontent avatar lifeiscontent commented on July 28, 2024 1

@Yogu yeah, maybe something like what graphql-tools offers, e.g. onTypeConflict: (left, right) => mergeType(left,right);

from graphql-weaver.

Yogu avatar Yogu commented on July 28, 2024 1

@lifeiscontent I agree that this would be a good addition. I'm just pretty busy at the moment, I hope this improves in a few weeks.

@flux627 Custom transformations already allow you to replace types with anything you like. For the deduplication, I already wrote a comment here: #12 (comment)

from graphql-weaver.

flux627 avatar flux627 commented on July 28, 2024

I'm using this to weave multiple PostGraphile endpoints. The scalar types are always the same, so it would be great to de-dupe them to avoid including a prefixed type when defining query input parameters. This is a backend implementation detail, which ideally should not be leaking to front-end concerns.

The solution @Yogu outlined above would work for us. Is this already possible using custom transformations?

from graphql-weaver.

ralphkocher avatar ralphkocher commented on July 28, 2024

Any news on that? This feature would be very nice to have :-)

from graphql-weaver.

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.