Comments (7)
Hi, it makes sense to me not to restrict the node's type to ObjectType. Imagine I wanted to serve a list of mammals in a Connection, where some are dogs and some are cats. It makes sense in this case that my nodes are in InterfaceType and not an ObjectType. Without using InterfaceType as I've described, you have to create an ObjectType that bridges the functionality I want -- basically I create an ObjectType that has a field that is an InterfaceType that contains my mammal. It works, but it feels like a hack.
from graphql-relay-js.
Hm, I feel like you should be able to build connections to things other than object types; @yuzhi, thoughts?
from graphql-relay-js.
Relay currently does not support connection/pagination properly if the node is not an object. Relay does support List of objects or scalars. What's the specific use case?
from graphql-relay-js.
I think the main use-case is to be able to use interface and union types. Also the way it is defined now in the reference implementation implies that nodeType
is always nullable. I wonder whether this is intentional?
My main motivation though is that I implemented the same kind of behaviour in sangria-relay previousely and in this particular place it contradicts the spec, so I get questions about it. People also ask whether it is possible to have an interface nodeType
.
from graphql-relay-js.
@dwhitney Hi, I have a similar problem, and I tried the solution you proposed using an ObjectType that has a field that is an InterfaceType as my connectionType. However, I still couldn't get it to work.
Here is the error am getting:
"RelayQueryField: Range behavior keys are associated exclusively with connection fields. getRangeBehaviorKey()
was called on the non-connection field %s
."
Do you have any idea what I am missing? Thanks.
from graphql-relay-js.
just tested this client side, Relay (at least latest version) is happy with a connection of enums, and probably of interfaces too. I think the signature should change
from graphql-relay-js.
Fixed in #331
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.