Comments (5)
@kamek-pf and all others that stumble upon this issue: You can now define interfaces as a thunk. It worked for me (using [email protected]
and [email protected]
) and swapi-graphql
is using it too.
Hope this saves some people some searching :)
from graphql-relay-js.
@leebyron, thoughts? This would probably be a change to https://github.com/graphql/graphql-js
from graphql-relay-js.
The thunk idea sounds reasonable on the surface.
As a workaround in the meantime @kamek-pf, you have a couple of options. One is just keeping everything that implements the interface in a single file (not great, obviously). The other: in a side project I ended up using a registration pattern to avoid the circular dependency issues.
from graphql-relay-js.
I think this is something that GraphQL-JS needs to address. I got stuck on a circular dependency the very first time I tried to implement an Interface
. Perhaps it's a doc issue? There is currently very little documentation, and what's there is super confusing.
https://facebook.github.io/graphql/#sec-Interface-type-validation
The fields of an Interface type must have unique names within that Interface type; no two fields may share the same name.
Uh?
from graphql-relay-js.
@leebyron Would love to hear your thoughts on this, because it's both a GraphQL and a JavaScript issue, meaning, as soon as you try to circumvent the circular dependency by putting import
statements into your resolveType:
function, you get a syntax error in ES6. Using require
then throws weird errors about outputType
if you've followed the SWAPI implementation.
from graphql-relay-js.
Related Issues (20)
- Update master to main HOT 1
- Build error in ./resources/prepublish.sh
- New release? HOT 6
- Return type check problem of mutationWithClientMutationId after 0.7.0 update HOT 3
- Is the peer dependency on graphql exactly 15.5.1 on purpose? HOT 3
- RangeError: Invalid code point HOT 2
- Are filtering operators supported? HOT 1
- isPromise is not a function HOT 3
- Add support for `graphql@v16`
- Can I return a union type on `outputFields`?
- Does anyone use this package with their Nest.js server?
- Merge the `graphql-relay-subcription` into `graphql-relay-js`? HOT 1
- Migrate from `chai` to `jest`?
- 0.10.0 connections causing compile error HOT 3
- To use this plugin is it necessary to get all records from the database with one request?
- filters connectionFromArray HOT 1
- Export pageInfoType
- 0.10.0 has no Flow type support HOT 4
- Make fields on PageInfo type shareable
- Compile error: 'NotSupportedTSVersion.d.ts' is not a module. HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from graphql-relay-js.