StateStorage
を実装することで自由なストレージを設定できる。
import { StateStorage } from 'zustand/middleware';
export const zustandChromeStorage: StateStorage = {
getItem(name) {
return new Promise((resolve) => {
chrome.storage.local.get([name], (result) => {
resolve(result[name]);
});
});
},
setItem(name, value) {
return new Promise((resolve) => {
chrome.storage.local.set({ [name]: value }, () => {
resolve();
});
});
},
removeItem(name) {
return new Promise((resolve) => {
chrome.storage.local.remove([name], () => {
resolve();
});
});
},
};