Comments (4)
Thanks for the effort @wtrocki. I like to keep things as simple as possible and separate concerns, so I would recommend using @pl12133 's approach here. The philosophy of apollo link is like the Unix philosophy where each utility is small and limited in scope but input and output can be piped. More complex things can then be done by combining simple links together.
from apollo-link-queue.
I think you can write a wrapper that only calls the queue link for mutations:
import { ApolloLink } from 'apollo-link';
function isMutationOperation(operation) {
return operation.query.definitions.filter((e) => e.operation === 'mutation').length > 0;
}
const queueLink = new QueueLink();
const onlyQueueMutationsLink = new ApolloLink((operation, forward) =>
isMutationOperation(operation) ? queueLink.request(operation, forward) : forward(operation)
);
from apollo-link-queue.
I'm happy to write this along with #3.
Idea will be to be able to pass filter and storage interface to queue.
const queueLink = new QueueLink({store,filter});
from apollo-link-queue.
Done in: #14
from apollo-link-queue.
Related Issues (15)
- Query batching support HOT 2
- Argument of type '(ApolloLink | QueueLink)[]' is not assignable to parameter of type 'ApolloLink[]'. HOT 2
- skipQueue is not explained in the documenation HOT 1
- Apollo v3.0 HOT 4
- Persist queued queries HOT 8
- Outdated authorization headers when unqueuing queries
- Named queues and discard HOT 4
- Handling concurrency conflicts HOT 1
- Type 'QueueLink' is not assignable to type 'ApolloLink | RequestHandler' HOT 6
- Queue does not persist when application is closed HOT 5
- Support for apollo 3.4
- Delay Between Queued Requests HOT 1
- Add delete duplicate queries
- offlineLink + stateLink and split socket wont work together 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 apollo-link-queue.