Skip to content

Commit a259fb5

Browse files
Update index.ts
1 parent 8390906 commit a259fb5

1 file changed

Lines changed: 10 additions & 4 deletions

File tree

src/index.ts

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ import {
1515
runResponseInterceptors,
1616
runErrorInterceptors,
1717
} from './features/interceptors.js'
18-
import { clearCache } from './features/cache.js'
18+
import { clearCache, invalidateCache } from './features/cache.js'
1919

2020
function createInstance(initialDefaults: HurlDefaults = {}): HurlInstance {
2121
let defaults: HurlDefaults = { ...initialDefaults }
@@ -119,11 +119,17 @@ function createInstance(initialDefaults: HurlDefaults = {}): HurlInstance {
119119
},
120120

121121
create(newDefaults?: HurlDefaults) {
122-
return createInstance({ ...defaults, ...newDefaults })
122+
const child = createInstance({ ...defaults, ...newDefaults })
123+
return child
123124
},
124125

125126
extend(newDefaults?: HurlDefaults) {
126-
return createInstance({ ...defaults, ...newDefaults })
127+
const child = createInstance({ ...defaults, ...newDefaults })
128+
// Inherit parent interceptors into the child instance
129+
requestInterceptors.getAll().forEach(fn => child.interceptors.request.use(fn))
130+
responseInterceptors.getAll().forEach(fn => child.interceptors.response.use(fn))
131+
errorInterceptors.getAll().forEach(fn => child.interceptors.error.use(fn))
132+
return child
127133
},
128134
}
129135

@@ -133,7 +139,7 @@ function createInstance(initialDefaults: HurlDefaults = {}): HurlInstance {
133139
const hurl = createInstance()
134140

135141
export default hurl
136-
export { HurlError, createInstance, clearCache }
142+
export { HurlError, createInstance, clearCache, invalidateCache }
137143
export type {
138144
HurlRequestOptions,
139145
HurlDefaults,

0 commit comments

Comments
 (0)