Is there a way to define a get/set method adhoc? I have a module that encapsulates the localStorage:
const ACCESS_TOKEN = "ACCESS_TOKEN";
export const getString = key => {
return localStorage.getItem(key);
};
export const setString = (key, value) => {
localStorage.setItem(key, value);
};
export default {
get accessToken() {
return getString(ACCESS_TOKEN);
},
set accessToken(value) {
setString(ACCESS_TOKEN, value);
},
};
And I want to generate it in runtime:
let obj;
obj["accessToken"] = get() {
return getString(ACCESS_TOKEN);
}
obj["accessToken"] = set(value) {
setString(ACCESS_TOKEN, value);
}
export default obj;
This answer does not help as it seems you can only use Object.defineProperty to define simple getters and setters and not custom logic.