I have a list of items. Some have children and I need to mutate the object into a certain shape then return it. However, I'm getting a no-param-reassign error. Is there a better way I could go about this to prevent this error?
items.map(item => {
if (item.child) {
item.child = transformItem(item.child);
}
});
return transformItem(result);
Edit to add whole function:
async getItemById(itemId: string) {
try {
const result = await this.connector.get(`/items/${itemId}/item`);
items.map(item => {
if (item.child) {
item.child = transformItem(item.child);
}
});
return transformItem(result);
} catch (error) {
throw new Error(error.message);
}
}
const transformItem = item => ({
id: item['id'],
someItem: item['some_item'],
...
});
The purpose of transformItem is to convert all keys to camelCase instead of snake case. Perhaps there is a better way of going about this that'd prevent be from mutating it in place?