UNPKG

@meanie/angular-storage

Version:

An Angular service for interacting with local storage, session storage and cookie storage

80 lines (67 loc) 1.36 kB
/** * Module definition and dependencies */ angular.module('Storage.MemoryStorage.Service', []) /** * Memory storage engine service */ .factory('$memoryStorage', function $memoryStorage() { /** * Store */ let memoryStore = {}; /** * Storage engine interface */ return { /** * Always supported */ isSupported: function() { return true; }, /** * Get fallback engine */ getFallbackEngine: function() { return ''; }, /** * Set an item */ set: function(key, value) { memoryStore[key] = value; }, /** * Get an item */ get: function(key) { if (typeof memoryStore[key] === 'undefined') { return null; } return memoryStore[key]; }, /** * Remove an item */ remove: function(key) { if (typeof memoryStore[key] !== 'undefined') { delete memoryStore[key]; } }, /** * Clear items */ clear: function(prefix) { //Get regex for prefix and keys let prefixRegex = prefix ? new RegExp('^' + prefix) : null; let keys = Object.keys(memoryStore); //Loop keys for (let k = 0; k < keys.length; k++) { if (!prefix || prefixRegex.test(keys[k])) { delete memoryStore[keys[k]]; } } }, }; });