Comments (8)
I agree about Sangria's approach in general, it seems to be the most mature GraphQL implementation right now. The original graphql-js was intended purely as a reference implementation and it's starting to show.
from absinthe.
Looks like Sangria has first-class concepts of Deferred resolvers (what i'm asking for) and Projections (what is already possible, but could be made simpler) which might be worth adopting: http://sangria-graphql.org/learn/#deferred-values-and-resolver
from absinthe.
@AndrewIngram The "how" of dataloader certainly isn't a direct port to Elixir/Erlang, but I'm confident we have better tools on hand for, eg, concurrency to apply to an implementation. Dataloader has been on our list of ecosystem tools to look into next, as I know that others in the GraphQL/JS space rely on it.
from absinthe.
I'll add that I'm very excited by the options pursued by Sangria, as I think those concepts are going to be more easily applicable to Elixir.
from absinthe.
👍
from absinthe.
Also see https://github.com/Shopify/graphql-batch for some similar concepts
from absinthe.
Tagging this as "roadmap" and closing it, but merely for temporary archival purposes. We know this and a number of other issues are big ticket items we need to address; we've got some of the foundational pieces going in now, and let's create more focused, actionable issues/PR discussion around this (eg, on deferred resolution, which I know @benwilson512 is very interested in as an approach).
from absinthe.
Just to close the loop here Absinthe now has a dataloader built-in: https://github.com/absinthe-graphql/dataloader
I believe it can also be considered feature-complete (for the majority of use-cases at least), although I'm not 100% sure on that.
from absinthe.
Related Issues (20)
- Huge max_heap_size compared to the actual data size HOT 2
- "Unknown Registry" when publishing during node startup or shutdown HOT 6
- Subscription fails to resolve using default resolver if it there is a middleware specified HOT 2
- Allow subscriptions to listen to "regular" PubSub events HOT 1
- False positive error for non_null validation HOT 2
- Using GraphQL (and perhaps Absinthe) in messages? HOT 3
- small CSS issue on the Absinthe landing page HOT 3
- add support for `config` functions (on subscriptions) in hydrate/2
- Resolving field of type `[[Value]!]!]` seems to fail with valid values HOT 2
- Compilation infinite loop leaking memory HOT 5
- Introspection query fails when using a prototype schema that defines types for use by directive arguments HOT 3
- Not having access to `conn` leads to degraded DX and performance HOT 1
- Absinthe.Subscription.unsubscribe doesn't work HOT 4
- Proposal - add a GRAPHQL sigil HOT 1
- Feature Request: customizable docset runner for Subscriptions HOT 1
- Open ended scalars don't support list values HOT 7
- schema compilation goes into infinite recurion HOT 1
- Warning you must add "compilers: [:yecc] ++ Mix.compilers()" after updating to elixir 1.16
- Strings containing only whitespace are being trimmed to an empty string HOT 3
- Absinthe.Formatter.format/2 formats input: into one very long line 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 absinthe.