Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
Size: Mime:
"use strict";

Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.removeLocalStorageItems = exports.isLocalStorageEnabled = void 0;

// Storage module copied from @doodle/lib-tracking
// Adapted from here: https://github.com/Modernizr/Modernizr/blob/6d56d814b9682843313b16060adb25a58d83a317/feature-detects/storage/localstorage.js#L37
var isLocalStorageEnabled = function isLocalStorageEnabled() {
  var mod = 'doodle';

  try {
    localStorage.setItem(mod, mod);
    localStorage.removeItem(mod);
    return true;
  } catch (e) {
    return false;
  }
};

exports.isLocalStorageEnabled = isLocalStorageEnabled;

var removeLocalStorageItems = function removeLocalStorageItems() {
  var filters = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];

  if (!isLocalStorageEnabled() || !filters || filters.length === 0) {
    return;
  }

  filters.forEach(function (filter) {
    var allItemNames = Object.keys(localStorage);
    var itemNames = allItemNames.filter(function (name) {
      return name.match(filter);
    });
    itemNames.forEach(function (name) {
      localStorage.removeItem(name);
    });
  });
};

exports.removeLocalStorageItems = removeLocalStorageItems;