@quenetiq/middlewares
v1.0.6
Published
Pre-built middleware functions for Quenetiq — auth refresh, retry, focus refetch, offline queue
Maintainers
Readme
Install
npm install @quenetiq/middlewaresMiddlewares
authRefreshMiddleware(config)
Intercepts 401 responses, queues concurrent requests, calls refreshToken(), then replays them with the new token.
import { authRefreshMiddleware } from '@quenetiq/middlewares';
const middleware = authRefreshMiddleware({
refreshToken: () => fetch('/refresh').then(r => r.json()),
});retryExchange(config?)
Retries failed requests with exponential backoff + jitter.
import { retryExchange } from '@quenetiq/middlewares';
const middleware = retryExchange({
maxRetries: 3,
initialDelay: 500,
maxDelay: 10000,
});focusRefetchMiddleware(config?)
Refetches stale queries on visibilitychange or window.focus.
import { focusRefetchMiddleware } from '@quenetiq/middlewares';
const middleware = focusRefetchMiddleware({ minStaleSeconds: 30 });offlineQueueMiddleware(config?)
Buffers mutations in localStorage when offline, replays on online event.
import { offlineQueueMiddleware } from '@quenetiq/middlewares';
import { provideOfflineQueue } from '@quenetiq/middlewares/angular';
const middleware = offlineQueueMiddleware({ maxQueue: 50 });API
@quenetiq/middlewares (agnostic)
| Export | Description |
|--------|-------------|
| authRefreshMiddleware(config) | Auth token refresh on 401 |
| retryExchange(config?) | Exponential backoff retry |
| focusRefetchMiddleware(config?) | Refetch on focus |
| offlineQueueMiddleware(config?) | Offline mutation queue |
@quenetiq/middlewares/angular (Angular)
| Export | Description |
|--------|-------------|
| OfflineQueueService | Injectable queue manager |
| provideOfflineQueue(config?) | Provider for offline queue |
| OfflineQueueConfig | Configuration interface |
Dependencies
- Core (
@quenetiq/middlewares):@quenetiq/core,rxjs - Angular (
@quenetiq/middlewares/angular): additionally@angular/core
