Skip to content

Commit fe0522c

Browse files
committed
Fix Set serialization in Zustand store
- Add Set serialization support to replacer and reviver functions - Fixes TypeError: get(...).translatedWords.has is not a function - Now translatedWords Set properly persists and restores from localStorage - Enables proper translation tracking per question
1 parent 83a5cbb commit fe0522c

File tree

1 file changed

+7
-0
lines changed

1 file changed

+7
-0
lines changed

app/store/textGeneratorStore.ts

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,9 @@ export const useTextGeneratorStore = create<TextGeneratorState>()(
4444
if (value instanceof Map) {
4545
return { __type: 'Map', value: Array.from(value.entries()) };
4646
}
47+
if (value instanceof Set) {
48+
return { __type: 'Set', value: Array.from(value) };
49+
}
4750
return value;
4851
},
4952
reviver: (_key, value) => {
@@ -53,6 +56,10 @@ export const useTextGeneratorStore = create<TextGeneratorState>()(
5356
// eslint-disable-next-line @typescript-eslint/no-unsafe-argument
5457
return new Map(val.value);
5558
}
59+
if (typeof val === 'object' && val !== null && val.__type === 'Set') {
60+
// eslint-disable-next-line @typescript-eslint/no-unsafe-argument
61+
return new Set(val.value);
62+
}
5663
return value;
5764
},
5865
}),

0 commit comments

Comments
 (0)