Skip to content

Commit 7ea2769

Browse files
committed
feat: remove temp handler
1 parent d036bb5 commit 7ea2769

File tree

2 files changed

+20
-0
lines changed

2 files changed

+20
-0
lines changed

.changeset/every-needles-dream.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"@msw-dev-tool/core": patch
3+
---
4+
5+
Remove the temp handler

packages/core/src/handlerStore.ts

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ export interface HandlerStoreState {
3838
getFlattenHandlerById: (id: string) => FlattenHandler | undefined;
3939
getHandlerBehavior: (id: string) => HttpHandlerBehavior | undefined;
4040
setHandlerBehavior: (id: string, behavior: HttpHandlerBehavior) => void;
41+
removeTempHandler: (id: string) => void;
4142
}
4243

4344
export const handlerStore = create<HandlerStoreState>()(
@@ -188,6 +189,20 @@ export const handlerStore = create<HandlerStoreState>()(
188189
}),
189190
});
190191
},
192+
removeTempHandler: (id: string) => {
193+
const handler = get().flattenHandlers.find((h) => h.id === id);
194+
if (!handler) {
195+
throw new Error(`Handler not found for the given id: ${id}`);
196+
}
197+
if (handler.type !== "temp") {
198+
throw new Error(
199+
`Handlers generated from codebase cannot be deleted (id: ${id}). You can only disable them.`
200+
);
201+
}
202+
set({
203+
flattenHandlers: get().flattenHandlers.filter((h) => h.id !== id),
204+
});
205+
},
191206
}),
192207
{
193208
name: STORAGE_KEY,

0 commit comments

Comments
 (0)