Skip to content

Commit 96fb72c

Browse files
authored
fix: cacheStores types and usage in README (#4605)
1 parent ce52425 commit 96fb72c

File tree

3 files changed

+16
-4
lines changed

3 files changed

+16
-4
lines changed

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -191,12 +191,12 @@ console.log('trailers', trailers)
191191
Undici provides a powerful HTTP caching interceptor that follows HTTP caching best practices. Here's how to use it:
192192

193193
```js
194-
import { fetch, Agent, interceptors } from 'undici';
194+
import { fetch, Agent, interceptors, cacheStores } from 'undici';
195195

196196
// Create a client with cache interceptor
197197
const client = new Agent().compose(interceptors.cache({
198198
// Optional: Configure cache store (defaults to MemoryCacheStore)
199-
store: new interceptors.cacheStores.MemoryCacheStore({
199+
store: new cacheStores.MemoryCacheStore({
200200
maxSize: 100 * 1024 * 1024, // 100MB
201201
maxCount: 1000,
202202
maxEntrySize: 5 * 1024 * 1024 // 5MB

test/types/index.test-d.ts

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,11 @@ import Undici, {
1111
Request,
1212
FormData,
1313
SnapshotAgent,
14-
install
14+
install,
15+
cacheStores
1516
} from '../..'
1617
import Dispatcher from '../../types/dispatcher'
18+
import CacheInterceptor from '../../types/cache-interceptor'
1719

1820
expectAssignable<Pool>(new Undici.Pool('', {}))
1921
expectAssignable<Client>(new Undici.Client('', {}))
@@ -30,6 +32,10 @@ expectAssignable<Dispatcher.DispatcherComposeInterceptor>(Undici.interceptors.re
3032
expectAssignable<Dispatcher.DispatcherComposeInterceptor>(Undici.interceptors.retry())
3133
expectAssignable<Dispatcher.DispatcherComposeInterceptor>(Undici.interceptors.decompress())
3234
expectAssignable<Dispatcher.DispatcherComposeInterceptor>(Undici.interceptors.cache())
35+
expectAssignable<CacheInterceptor.CacheStore>(new Undici.cacheStores.MemoryCacheStore())
36+
expectAssignable<CacheInterceptor.CacheStore>(new Undici.cacheStores.SqliteCacheStore())
37+
expectAssignable<CacheInterceptor.CacheStore>(new cacheStores.MemoryCacheStore())
38+
expectAssignable<CacheInterceptor.CacheStore>(new cacheStores.SqliteCacheStore())
3339

3440
const dispatcher = new Dispatcher()
3541
const handler: Dispatcher.DispatchHandler = {}

types/index.d.ts

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,12 @@ import RetryAgent from './retry-agent'
2323
import { request, pipeline, stream, connect, upgrade } from './api'
2424
import interceptors from './interceptors'
2525

26+
import CacheInterceptor from './cache-interceptor'
27+
declare const cacheStores: {
28+
MemoryCacheStore: typeof CacheInterceptor.MemoryCacheStore;
29+
SqliteCacheStore: typeof CacheInterceptor.SqliteCacheStore;
30+
}
31+
2632
export * from './util'
2733
export * from './cookies'
2834
export * from './eventsource'
@@ -36,7 +42,7 @@ export { Interceptable } from './mock-interceptor'
3642

3743
declare function globalThisInstall (): void
3844

39-
export { Dispatcher, BalancedPool, Pool, Client, buildConnector, errors, Agent, request, stream, pipeline, connect, upgrade, setGlobalDispatcher, getGlobalDispatcher, setGlobalOrigin, getGlobalOrigin, interceptors, MockClient, MockPool, MockAgent, SnapshotAgent, MockCallHistory, MockCallHistoryLog, mockErrors, ProxyAgent, EnvHttpProxyAgent, RedirectHandler, DecoratorHandler, RetryHandler, RetryAgent, H2CClient, globalThisInstall as install }
45+
export { Dispatcher, BalancedPool, Pool, Client, buildConnector, errors, Agent, request, stream, pipeline, connect, upgrade, setGlobalDispatcher, getGlobalDispatcher, setGlobalOrigin, getGlobalOrigin, interceptors, cacheStores, MockClient, MockPool, MockAgent, SnapshotAgent, MockCallHistory, MockCallHistoryLog, mockErrors, ProxyAgent, EnvHttpProxyAgent, RedirectHandler, DecoratorHandler, RetryHandler, RetryAgent, H2CClient, globalThisInstall as install }
4046
export default Undici
4147

4248
declare namespace Undici {

0 commit comments

Comments
 (0)