var testSet = new Set(); testSet.add(1); testSet.add(2);
chrome.storage.local.set( { \'key\': testSet }, function() { chrome.storage.local.get( \'key\', function(dat
From the chrome API docs:
StorageArea.get(string or array of string or object keys, function callback)
So it looks like you can only use primitives and objects containing primitives.
One way to achieve this, is by converting your Set
into an array by using Spread Operator.
E.g.
var testSet = new Set(); testSet.add(1); testSet.add(2);
chrome.storage.local.set({ 'key': [...testSet] });
And when you want to retrieve it, you can do it like..
chrome.storage.local.get('key', function(data){
var mySet = new Set(data.key);
console.log(mySet);
})
Edit: Thanks for Xan's comment to notice that chrome.storage
could set an array directly.