Comments (5)
I did some experiments in a fork, and stumbled upon the skipped test it should handle duplicate object type fields with different arguments
that should cover this case. I added my own test in kryops@d6e1a26
The best I could come up with for now is a workaround: kryops@f75a574
- If a field has an alias, it is not only written to
row[fieldName]
, but also torow[fieldName + '$' + alias]
- Fields with args have to set
resolve: aliasAwareResolver
, which prefers the aliased key over the default one - I did not look at pagination as we use SQLite which currently does not support it
While this is still far from a viable solution, maybe it could be used as a starting point for a proper fix?
from join-monster.
Ah, I finally found #126, so it seems I created a duplicate 😕
from join-monster.
I just recently ran into this issue as well. Its surprising that its a bug that's been around for years because it seems like its such a common use case. I can assist where needed to help get this fix out.
from join-monster.
While my workaround seems to work quite well for 1:n relationships, it seems to fail miserably for aliased 1:1 relationships because @stem/nesthydrationjs
does not like hydrating the same source fields into multiple nested targets - instead it just sets everything to null
😞
const { nest } = require('@stem/nesthydrationjs');
console.log(nest(
{ id: '1', foo: 'bar' },
{
id: 'id',
child: { foo: 'foo' },
child$alias: { foo: 'foo' },
}
));
// { id: '1', child: null, 'child$alias': null }
from join-monster.
I am closing this in favor of #126
from join-monster.
Related Issues (20)
- tsd failing locally HOT 2
- Fails if I extend GraphQLObjectType HOT 1
- Must call joinMonster in a resolver on a field where the type is decorated with \"sqlTable\" HOT 9
- Cannot read properties of undefined (reading 'sqlTable') HOT 2
- Failing type defs
- Issue with GlobalIDs not transforming back to "native" uuid4 IDs
- bug in joinMonster.getNode(): def.args not iterable HOT 4
- Remove requirement for uniqueKey to be defined
- Pagination with dynamic sorting does not support null values. HOT 2
- joinMonster creating invalid MySQL sql HOT 2
- Unsupport many-to-many relation on graphql v15.8 and join-monster v3.1.1 using postgres? HOT 2
- Batching JoinMonster calls
- The HTTP server example code is broken due to deprecation of kao-graphql HOT 1
- join-monster fails to work in a react native deployment HOT 1
- Typescript type error for GraphQLFieldExtensions HOT 1
- Some disjoint fields of the same union type are discarded HOT 7
- Test flake on database startup
- Readthedocs build fails when master is updated
- Namespace/prefix generated aliases with `$` or similar HOT 5
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 join-monster.