Skip to content

Commit 67255fa

Browse files
committed
feat: add removeAll to RecordSetStore
1 parent b31aaab commit 67255fa

File tree

1 file changed

+10
-0
lines changed

1 file changed

+10
-0
lines changed

src/lib/utils/store.ts

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,7 @@ export interface RecordSetStore<T extends string | number> extends Writable<Reco
9999
add: (item: T) => void;
100100
addAll: (items: T[]) => void;
101101
remove: (item: T) => void;
102+
removeAll: (items: T[]) => void;
102103
clear: () => void;
103104
}
104105

@@ -145,6 +146,14 @@ export const recordSetStore = <T extends string | number>(
145146
return $recordSet;
146147
});
147148
};
149+
const removeAll = (items: T[]) => {
150+
update(($recordSet) => {
151+
for (const item of items) {
152+
delete $recordSet[item];
153+
}
154+
return $recordSet;
155+
});
156+
};
148157
const clear = () => {
149158
set({} as Record<T, true>);
150159
};
@@ -156,6 +165,7 @@ export const recordSetStore = <T extends string | number>(
156165
add,
157166
addAll,
158167
remove,
168+
removeAll,
159169
clear,
160170
};
161171
};

0 commit comments

Comments
 (0)