getItems method

Future<List<WebStorageItem>> getItems()

Returns the list of all items from the given Storage object.

Implementation

Future<List<WebStorageItem>> getItems() async {
  var webStorageItems = <WebStorageItem>[];

  List<Map<dynamic, dynamic>>? items =
      (await _controller.evaluateJavascript(source: """
(function() {
var webStorageItems = [];
for(var i = 0; i < window.$webStorageType.length; i++){
  var key = window.$webStorageType.key(i);
  webStorageItems.push(
    {
      key: key,
      value: window.$webStorageType.getItem(key)
    }
  );
}
return webStorageItems;
})();
  """)).cast<Map<dynamic, dynamic>>();

  if (items == null) {
    return webStorageItems;
  }

  for (var item in items) {
    webStorageItems
        .add(WebStorageItem(key: item["key"], value: item["value"]));
  }

  return webStorageItems;
}