Таким образом, у вас есть два варианта, первый - это отфильтровать все куки, которые возвращали бы ошибку при разборе, прежде чем вы сделаете вашу карту следующим образом:
const getLocalStorage = () => {
const storage = R.compose(
R.fromPairs,
R.filter([key] => {
try{
JSON.parse(localStorage[key]);
return true;
}
catch(error){
console.log(error);
return false;
}
}).map(([key]) => [key, JSON.parse(localStorage[key])]),
R.toPairs, // [[key, value], [key, value]]
)(localStorage);
return storage;
};
Или вы можете попробовать использовать массив .reduce () вот так:
const getLocalStorage = () => {
const storage = R.compose(
R.fromPairs,
R.reduce((acc, curr) =>
{
try{
acc.push[[key, JSON.parse(localStorage[key])]];
}
catch(error){
console.log(error);
}
return acc;
}),
R.toPairs, // [[key, value], [key, value]]
)(localStorage);
return storage;
};