browser-storage-utilities
Version:
A front-end library that provides utility methods to facilitate CRUD operations to data stored in the browser, and more.
1 lines • 38.4 kB
JSON
{"/Users/ahmedalatawi/experiment-workspaces/Browser-Storage-Utilities/storage-utilities/storage-utilities.ts":{"path":"/Users/ahmedalatawi/experiment-workspaces/Browser-Storage-Utilities/storage-utilities/storage-utilities.ts","statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":62}},"1":{"start":{"line":2,"column":10},"end":{"line":2,"column":27}},"2":{"start":{"line":3,"column":15},"end":{"line":3,"column":30}},"3":{"start":{"line":4,"column":33},"end":{"line":4,"column":68}},"4":{"start":{"line":12,"column":8},"end":{"line":12,"column":130}},"5":{"start":{"line":13,"column":8},"end":{"line":15,"column":9}},"6":{"start":{"line":14,"column":12},"end":{"line":14,"column":91}},"7":{"start":{"line":16,"column":8},"end":{"line":18,"column":9}},"8":{"start":{"line":17,"column":12},"end":{"line":17,"column":62}},"9":{"start":{"line":25,"column":8},"end":{"line":25,"column":64}},"10":{"start":{"line":33,"column":8},"end":{"line":33,"column":30}},"11":{"start":{"line":41,"column":8},"end":{"line":43,"column":9}},"12":{"start":{"line":42,"column":12},"end":{"line":42,"column":69}},"13":{"start":{"line":44,"column":8},"end":{"line":44,"column":46}},"14":{"start":{"line":45,"column":8},"end":{"line":45,"column":69}},"15":{"start":{"line":51,"column":8},"end":{"line":51,"column":78}},"16":{"start":{"line":52,"column":8},"end":{"line":52,"column":57}},"17":{"start":{"line":65,"column":8},"end":{"line":65,"column":118}},"18":{"start":{"line":78,"column":8},"end":{"line":78,"column":81}},"19":{"start":{"line":91,"column":8},"end":{"line":91,"column":101}},"20":{"start":{"line":102,"column":8},"end":{"line":102,"column":91}},"21":{"start":{"line":111,"column":8},"end":{"line":111,"column":70}},"22":{"start":{"line":120,"column":8},"end":{"line":120,"column":72}},"23":{"start":{"line":128,"column":8},"end":{"line":128,"column":69}},"24":{"start":{"line":139,"column":8},"end":{"line":139,"column":114}},"25":{"start":{"line":150,"column":8},"end":{"line":150,"column":115}},"26":{"start":{"line":161,"column":8},"end":{"line":161,"column":113}},"27":{"start":{"line":169,"column":8},"end":{"line":169,"column":63}},"28":{"start":{"line":172,"column":21},"end":{"line":172,"column":75}},"29":{"start":{"line":173,"column":8},"end":{"line":186,"column":9}},"30":{"start":{"line":174,"column":12},"end":{"line":182,"column":13}},"31":{"start":{"line":175,"column":16},"end":{"line":175,"column":45}},"32":{"start":{"line":177,"column":17},"end":{"line":182,"column":13}},"33":{"start":{"line":178,"column":16},"end":{"line":178,"column":39}},"34":{"start":{"line":181,"column":16},"end":{"line":181,"column":73}},"35":{"start":{"line":185,"column":12},"end":{"line":185,"column":24}},"36":{"start":{"line":189,"column":0},"end":{"line":189,"column":44}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":11,"column":4},"end":{"line":11,"column":5}},"loc":{"start":{"line":11,"column":26},"end":{"line":19,"column":5}},"line":11},"1":{"name":"(anonymous_1)","decl":{"start":{"line":24,"column":4},"end":{"line":24,"column":5}},"loc":{"start":{"line":24,"column":33},"end":{"line":26,"column":5}},"line":24},"2":{"name":"(anonymous_2)","decl":{"start":{"line":32,"column":4},"end":{"line":32,"column":5}},"loc":{"start":{"line":32,"column":33},"end":{"line":34,"column":5}},"line":32},"3":{"name":"(anonymous_3)","decl":{"start":{"line":40,"column":4},"end":{"line":40,"column":5}},"loc":{"start":{"line":40,"column":40},"end":{"line":46,"column":5}},"line":40},"4":{"name":"(anonymous_4)","decl":{"start":{"line":50,"column":4},"end":{"line":50,"column":5}},"loc":{"start":{"line":50,"column":27},"end":{"line":53,"column":5}},"line":50},"5":{"name":"(anonymous_5)","decl":{"start":{"line":64,"column":4},"end":{"line":64,"column":5}},"loc":{"start":{"line":64,"column":42},"end":{"line":66,"column":5}},"line":64},"6":{"name":"(anonymous_6)","decl":{"start":{"line":77,"column":4},"end":{"line":77,"column":5}},"loc":{"start":{"line":77,"column":44},"end":{"line":79,"column":5}},"line":77},"7":{"name":"(anonymous_7)","decl":{"start":{"line":90,"column":4},"end":{"line":90,"column":5}},"loc":{"start":{"line":90,"column":61},"end":{"line":92,"column":5}},"line":90},"8":{"name":"(anonymous_8)","decl":{"start":{"line":101,"column":4},"end":{"line":101,"column":5}},"loc":{"start":{"line":101,"column":51},"end":{"line":103,"column":5}},"line":101},"9":{"name":"(anonymous_9)","decl":{"start":{"line":110,"column":4},"end":{"line":110,"column":5}},"loc":{"start":{"line":110,"column":33},"end":{"line":112,"column":5}},"line":110},"10":{"name":"(anonymous_10)","decl":{"start":{"line":119,"column":4},"end":{"line":119,"column":5}},"loc":{"start":{"line":119,"column":35},"end":{"line":121,"column":5}},"line":119},"11":{"name":"(anonymous_11)","decl":{"start":{"line":127,"column":4},"end":{"line":127,"column":5}},"loc":{"start":{"line":127,"column":22},"end":{"line":129,"column":5}},"line":127},"12":{"name":"(anonymous_12)","decl":{"start":{"line":138,"column":4},"end":{"line":138,"column":5}},"loc":{"start":{"line":138,"column":45},"end":{"line":140,"column":5}},"line":138},"13":{"name":"(anonymous_13)","decl":{"start":{"line":149,"column":4},"end":{"line":149,"column":5}},"loc":{"start":{"line":149,"column":46},"end":{"line":151,"column":5}},"line":149},"14":{"name":"(anonymous_14)","decl":{"start":{"line":160,"column":4},"end":{"line":160,"column":5}},"loc":{"start":{"line":160,"column":44},"end":{"line":162,"column":5}},"line":160},"15":{"name":"(anonymous_15)","decl":{"start":{"line":168,"column":4},"end":{"line":168,"column":5}},"loc":{"start":{"line":168,"column":30},"end":{"line":170,"column":5}},"line":168},"16":{"name":"(anonymous_16)","decl":{"start":{"line":171,"column":4},"end":{"line":171,"column":5}},"loc":{"start":{"line":171,"column":48},"end":{"line":187,"column":5}},"line":171}},"branchMap":{"0":{"loc":{"start":{"line":13,"column":8},"end":{"line":15,"column":9}},"type":"if","locations":[{"start":{"line":13,"column":8},"end":{"line":15,"column":9}},{"start":{"line":13,"column":8},"end":{"line":15,"column":9}}],"line":13},"1":{"loc":{"start":{"line":16,"column":8},"end":{"line":18,"column":9}},"type":"if","locations":[{"start":{"line":16,"column":8},"end":{"line":18,"column":9}},{"start":{"line":16,"column":8},"end":{"line":18,"column":9}}],"line":16},"2":{"loc":{"start":{"line":41,"column":8},"end":{"line":43,"column":9}},"type":"if","locations":[{"start":{"line":41,"column":8},"end":{"line":43,"column":9}},{"start":{"line":41,"column":8},"end":{"line":43,"column":9}}],"line":41},"3":{"loc":{"start":{"line":41,"column":12},"end":{"line":41,"column":44}},"type":"binary-expr","locations":[{"start":{"line":41,"column":12},"end":{"line":41,"column":21}},{"start":{"line":41,"column":25},"end":{"line":41,"column":44}}],"line":41},"4":{"loc":{"start":{"line":172,"column":21},"end":{"line":172,"column":75}},"type":"binary-expr","locations":[{"start":{"line":172,"column":21},"end":{"line":172,"column":31}},{"start":{"line":172,"column":35},"end":{"line":172,"column":75}}],"line":172},"5":{"loc":{"start":{"line":173,"column":8},"end":{"line":186,"column":9}},"type":"if","locations":[{"start":{"line":173,"column":8},"end":{"line":186,"column":9}},{"start":{"line":173,"column":8},"end":{"line":186,"column":9}}],"line":173},"6":{"loc":{"start":{"line":174,"column":12},"end":{"line":182,"column":13}},"type":"if","locations":[{"start":{"line":174,"column":12},"end":{"line":182,"column":13}},{"start":{"line":174,"column":12},"end":{"line":182,"column":13}}],"line":174},"7":{"loc":{"start":{"line":177,"column":17},"end":{"line":182,"column":13}},"type":"if","locations":[{"start":{"line":177,"column":17},"end":{"line":182,"column":13}},{"start":{"line":177,"column":17},"end":{"line":182,"column":13}}],"line":177}},"s":{"0":1,"1":1,"2":1,"3":1,"4":22,"5":22,"6":19,"7":22,"8":5,"9":2,"10":4,"11":2,"12":1,"13":1,"14":1,"15":1,"16":1,"17":4,"18":6,"19":0,"20":0,"21":1,"22":1,"23":6,"24":1,"25":1,"26":1,"27":1,"28":7,"29":7,"30":2,"31":1,"32":1,"33":1,"34":0,"35":5,"36":1},"f":{"0":22,"1":2,"2":4,"3":2,"4":1,"5":4,"6":6,"7":0,"8":0,"9":1,"10":1,"11":6,"12":1,"13":1,"14":1,"15":1,"16":7},"b":{"0":[19,3],"1":[5,17],"2":[1,1],"3":[2,2],"4":[7,5],"5":[2,5],"6":[1,1],"7":[1,0]},"inputSourceMap":{"version":3,"file":"/Users/ahmedalatawi/experiment-workspaces/Browser-Storage-Utilities/storage-utilities/storage-utilities.ts","sources":["/Users/ahmedalatawi/experiment-workspaces/Browser-Storage-Utilities/storage-utilities/storage-utilities.ts"],"names":[],"mappings":"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","sourcesContent":["import * as _ from 'lodash';\nimport { IStorageSettings } from './interfaces/storage-settings';\nimport { StorageReturnTypes } from './enums/storage-return-types';\nimport { StorageItem } from './models/storage-item';\nimport { of, Observable } from 'rxjs';\n\nimport StorageUtilitiesBase, { defaultSettings } from './storage-utilities-base';\nimport { StorageTypes } from './enums/storage-types';\nimport { IStorageNotifier } from './interfaces/storage-typings';\n\n/**\n * Provides Core functionality for StorageUtilities,\n * including getItem(), addItem(), removeItem(), removeItems(), \n * as well as additional functionality.\n */\nexport class StorageUtilities<T> {\n\t// Used to hold the current settings applied to StorageUtilities.\n\t// These settings can be the default, custom settings, or both.\n\tprivate static _settings: IStorageSettings;\n\n\t/**\n\t * An Observable type property that allows subscribers to be notified of any storage state changes.\n\t * @returns: { storage: StorageTypes, oldValue: T, newValue: T }\n\t */\n\tstorageStateChanged: Observable<IStorageNotifier<T>>;\n\n\tconstructor(settings?: IStorageSettings) {\n\t\tStorageUtilities._settings = {\n\t\t\t...StorageUtilitiesBase.defaultSettings,\n\t\t\t...settings\n\t\t};\n\t\tif (settings) {\n\t\t\tStorageUtilitiesBase.setCustomSettings(StorageUtilities._settings);\n\t\t}\n\t\tif (StorageUtilities._settings.notifiedOfStateChanges) {\n\t\t\tthis.storageStateChanged = this.getStorageState();\n\t\t}\n\t}\n\n\t/**\n * Get default settings applied to StorageUtilities.\n * @returns default settings\n */\n\tstatic get defaultSettings(): IStorageSettings {\n\t\treturn StorageUtilitiesBase.defaultSettings;\n\t}\n\n\t/**\n * Get current settings applied to StorageUtilities.\n * These can be either the default, custom settings, or both.\n * @returns currently applied settings\n */\n\tstatic get currentSettings(): IStorageSettings {\n\t\treturn this._settings;\n\t}\n\n\t/**\n * Set custom settings to be applied to StorageUtilities,\n * they always overwrite default settings.\n * @param settings the custom settings to be applied to StorageUtilities\n */\n\tstatic set customSettings(settings: IStorageSettings) {\n\t\tif (!settings || _.isEmpty(settings)) {\n\t\t\tthrow new Error(`The settings ${settings} are invalid!`);\n\t\t}\n\t\tStorageUtilities._settings = settings;\n\t\tStorageUtilitiesBase.setCustomSettings(settings);\n\t}\n\n\t/**\n * Reset to default settings applied to StorageUtilities.\n */\n\tstatic resetSettings(): void {\n\t\tStorageUtilities._settings = defaultSettings;\n\t\tStorageUtilitiesBase.resetSettings();\n\t}\n\n\t/**\n * Returns the item stored in Storage by its key. \n * If item is not found, or it has an expiry time which has elapsed, null will be returned.\n * The item can be returned as a Promise or Observable if @param returnType is specified.\n * The item is returned from localStorage by default, or sessionStorage as specified by @param storageType.\n * @param key the item's key\n * @param storageType (optional) localStorage (default) / sessionStorage\n\t * @param returnType (optional) Promise / Observable\n * @returns the stored item, or null if item is not found or has expired\n */\n\tprotected getItem(key: string, storageType?: StorageTypes, returnType?: StorageReturnTypes): T {\n\t\treturn this._getDataBasedOnReturnType(StorageUtilitiesBase.getItem(key, storageType), returnType);\n\t}\n\n\t/**\n * Adds the item to Storage with its key.\n * The item is added to localStorage by default, or sessionStorage if specified by @param storageType.\n * The item can be added with an expiry time (in milliseconds).\n * This is to add a TTL (Time to live) to invalidate item after the expiry time elapses.\n * @param key the item's key\n * @param item the item to be added to Storage\n * @param expiry (optional) the expiry time (in milliseconds)\n * @param storageType (optional) localStorage (default) / sessionStorage\n */\n\tprotected addItem(key: string, item: T, expiry?: number, storageType?: StorageTypes): void {\n\t\tStorageUtilitiesBase.addItem(key, item, expiry, storageType);\n\t}\n\n\t/**\n\t * Updates the value of a specific property for the stored item.\n\t * The property can be of any type. If the property doesn't exist, a new property will be created.\n\t * If the item is not found by key, or has expired, null will be returned, or updated item otherwise.\n\t * @param key the item's key\n\t * @param propName the item's property to be updated\n\t * @param newValue the item's property's new value\n\t * @param storageType (optional) localStorage (default) / sessionStorage\n\t * @returns the updated item, or null if item is not found or has expired\n\t */\n\tprotected updateItemProperty(key: string, propName: string, newValue: any, storageType?: StorageTypes): T {\n\t\treturn StorageUtilitiesBase.updateItemProp(key, propName, newValue, storageType) as T;\n\t}\n\n\t/**\n\t * Removes the item's specified property.\n\t * If the item is not found by key, or has expired, null will be returned, or updated item otherwise.\n\t * @param key the item's key\n\t * @param propName the item's property to be removed\n\t * @param storageType (optional) localStorage (default) / sessionStorage\n\t * @returns the updated item, or null if item is not found or has expired\n\t */\n\tprotected removeItemProperty(key: string, propName: string, storageType?: StorageTypes): T {\n\t\treturn StorageUtilitiesBase.removeItemProp(key, propName, storageType) as T;\n\t}\n\n\t/**\n * Removes item from Storage by its key.\n * The item is removed from localStorage by default, or sessionStorage if specified by @param storageType.\n * @param key the item's key\n * @param storageType (optional) localStorage (default) / sessionStorage \n */\n\tprotected removeItem(key: string, storageType?: StorageTypes): void {\n\t\tStorageUtilitiesBase.removeItem(key, storageType);\n\t}\n\n\t/**\n * Removes items from Storage by their keys.\n * The items are removed from localStorage by default, or sessionStorage if specified by @param storageType.\n * @param keys the items' keys\n * @param storageType (optional) localStorage (default) / sessionStorage \n */\n\tprotected removeItems(keys: string[], storageType?: StorageTypes): void {\n\t\tStorageUtilitiesBase.removeItems(keys, storageType);\n\t}\n\n\t/**\n * Returns storage state as an Observable of type IStorageNotifier.\n * All subscribers will be notified when state changes.\n * @returns storage state of Observable type\n */\n\tprotected getStorageState(): Observable<IStorageNotifier<T>> {\n\t\treturn StorageUtilitiesBase.getStateObservable() as Observable<IStorageNotifier<T>>;\n\t}\n\n\t/**\n * Returns an Array of all storage items.\n * The items are returned from localStorage by default, or sessionStorage if specified by @param storageType.\n * The items can be returned as a Promise or Observable if @param returnType is specified.\n * @param storageType (optional) localStorage (default) / sessionStorage\n\t * @param returnType (optional) Promise or Observable\n * @returns an Array of all storage items\n */\n\tprotected getStorageItems(storageType?: StorageTypes, returnType?: StorageReturnTypes): StorageItem<T>[] {\n\t\treturn this._getDataBasedOnReturnType(StorageUtilitiesBase.getItems(storageType), returnType);\n\t}\n\n\t/**\n * Returns an Array of all storage values.\n * The values are returned from localStorage by default, or sessionStorage if specified by @param storageType.\n * The values can be returned as a Promise or Observable if @param returnType is specified.\n * @param storageType (optional) localStorage (default) / sessionStorage\n\t * @param returnType (optional) Promise or Observable\n * @returns an Array of all storage values\n */\n\tprotected getStorageValues(storageType?: StorageTypes, returnType?: StorageReturnTypes): T[] {\n\t\treturn this._getDataBasedOnReturnType(StorageUtilitiesBase.getValues(storageType), returnType);\n\t}\n\n\t/**\n * Returns an Array of all storage keys.\n * The keys are returned from localStorage by default, or sessionStorage if specified by @param storageType.\n * The keys can be returned as a Promise or Observable if @param returnType is specified.\n * @param storageType (optional) localStorage (default) / sessionStorage\n\t * @param returnType (optional) Promise or Observable\n * @returns an Array of all storage keys\n */\n\tprotected getStorageKeys(storageType?: StorageTypes, returnType?: StorageReturnTypes): string[] {\n\t\treturn this._getDataBasedOnReturnType(StorageUtilitiesBase.getKeys(storageType), returnType);\n\t}\n\n\t/**\n * Removes all items from storage.\n * The items are removed from localStorage by default, or sessionStorage if specified by @param storageType.\n * @param storageType (optional) localStorage (default) / sessionStorage\n */\n\tprotected clearStorage(storageType?: StorageTypes): void {\n\t\tStorageUtilitiesBase.clearAll(storageType);\n\t}\n\n\tprivate _getDataBasedOnReturnType(data: any, returnType: StorageReturnTypes): any {\n\t\tconst type = returnType || StorageUtilities._settings.setReturnType;\n\t\tif (type) {\n\t\t\tif (type === 'promise') {\n\t\t\t\treturn Promise.resolve(data);\n\t\t\t} else if (type === 'observable') {\n\t\t\t\treturn of(data);\n\t\t\t} else {\n\t\t\t\tthrow new Error(`Return type ${type} is not supported!`);\n\t\t\t}\n\t\t} else {\n\t\t\treturn data;\n\t\t}\n\t}\n}\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"a79e7bcd83e4ef8b7a5201f584dcbfa11dfc532e","contentHash":"328a1e3879bccb9d55f42ba24eada624c9d8352241aba8e89c3023098a317542"},"/Users/ahmedalatawi/experiment-workspaces/Browser-Storage-Utilities/storage-utilities/storage-utilities-base.ts":{"path":"/Users/ahmedalatawi/experiment-workspaces/Browser-Storage-Utilities/storage-utilities/storage-utilities-base.ts","statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":62}},"1":{"start":{"line":2,"column":10},"end":{"line":2,"column":27}},"2":{"start":{"line":3,"column":24},"end":{"line":3,"column":56}},"3":{"start":{"line":4,"column":23},"end":{"line":4,"column":53}},"4":{"start":{"line":5,"column":23},"end":{"line":5,"column":55}},"5":{"start":{"line":11,"column":8},"end":{"line":11,"column":24}},"6":{"start":{"line":12,"column":8},"end":{"line":12,"column":40}},"7":{"start":{"line":19,"column":8},"end":{"line":19,"column":35}},"8":{"start":{"line":25,"column":8},"end":{"line":25,"column":50}},"9":{"start":{"line":35,"column":8},"end":{"line":35,"column":42}},"10":{"start":{"line":43,"column":8},"end":{"line":43,"column":35}},"11":{"start":{"line":51,"column":8},"end":{"line":51,"column":31}},"12":{"start":{"line":59,"column":8},"end":{"line":59,"column":35}},"13":{"start":{"line":69,"column":8},"end":{"line":69,"column":62}},"14":{"start":{"line":78,"column":8},"end":{"line":78,"column":52}},"15":{"start":{"line":85,"column":8},"end":{"line":85,"column":25}},"16":{"start":{"line":91,"column":8},"end":{"line":91,"column":44}},"17":{"start":{"line":98,"column":22},"end":{"line":98,"column":33}},"18":{"start":{"line":99,"column":24},"end":{"line":99,"column":45}},"19":{"start":{"line":100,"column":8},"end":{"line":110,"column":9}},"20":{"start":{"line":100,"column":21},"end":{"line":100,"column":22}},"21":{"start":{"line":101,"column":24},"end":{"line":101,"column":38}},"22":{"start":{"line":102,"column":25},"end":{"line":102,"column":45}},"23":{"start":{"line":103,"column":24},"end":{"line":103,"column":46}},"24":{"start":{"line":104,"column":25},"end":{"line":104,"column":41}},"25":{"start":{"line":105,"column":12},"end":{"line":109,"column":16}},"26":{"start":{"line":111,"column":8},"end":{"line":111,"column":21}},"27":{"start":{"line":118,"column":23},"end":{"line":118,"column":34}},"28":{"start":{"line":119,"column":24},"end":{"line":119,"column":45}},"29":{"start":{"line":120,"column":8},"end":{"line":126,"column":9}},"30":{"start":{"line":120,"column":21},"end":{"line":120,"column":22}},"31":{"start":{"line":121,"column":24},"end":{"line":121,"column":38}},"32":{"start":{"line":122,"column":25},"end":{"line":122,"column":45}},"33":{"start":{"line":123,"column":24},"end":{"line":123,"column":46}},"34":{"start":{"line":124,"column":25},"end":{"line":124,"column":41}},"35":{"start":{"line":125,"column":12},"end":{"line":125,"column":44}},"36":{"start":{"line":127,"column":8},"end":{"line":127,"column":22}},"37":{"start":{"line":134,"column":21},"end":{"line":134,"column":32}},"38":{"start":{"line":135,"column":24},"end":{"line":135,"column":45}},"39":{"start":{"line":136,"column":8},"end":{"line":138,"column":9}},"40":{"start":{"line":136,"column":21},"end":{"line":136,"column":22}},"41":{"start":{"line":137,"column":12},"end":{"line":137,"column":38}},"42":{"start":{"line":139,"column":8},"end":{"line":139,"column":20}},"43":{"start":{"line":190,"column":8},"end":{"line":196,"column":21}},"44":{"start":{"line":191,"column":24},"end":{"line":191,"column":40}},"45":{"start":{"line":192,"column":12},"end":{"line":194,"column":13}},"46":{"start":{"line":193,"column":16},"end":{"line":193,"column":27}},"47":{"start":{"line":197,"column":8},"end":{"line":197,"column":21}},"48":{"start":{"line":201,"column":0},"end":{"line":204,"column":2}},"49":{"start":{"line":206,"column":0},"end":{"line":206,"column":68}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":10,"column":4},"end":{"line":10,"column":5}},"loc":{"start":{"line":10,"column":26},"end":{"line":13,"column":5}},"line":10},"1":{"name":"(anonymous_1)","decl":{"start":{"line":18,"column":4},"end":{"line":18,"column":5}},"loc":{"start":{"line":18,"column":32},"end":{"line":20,"column":5}},"line":18},"2":{"name":"(anonymous_2)","decl":{"start":{"line":24,"column":4},"end":{"line":24,"column":5}},"loc":{"start":{"line":24,"column":20},"end":{"line":26,"column":5}},"line":24},"3":{"name":"(anonymous_3)","decl":{"start":{"line":34,"column":4},"end":{"line":34,"column":5}},"loc":{"start":{"line":34,"column":37},"end":{"line":36,"column":5}},"line":34},"4":{"name":"(anonymous_4)","decl":{"start":{"line":42,"column":4},"end":{"line":42,"column":5}},"loc":{"start":{"line":42,"column":23},"end":{"line":44,"column":5}},"line":42},"5":{"name":"(anonymous_5)","decl":{"start":{"line":50,"column":4},"end":{"line":50,"column":5}},"loc":{"start":{"line":50,"column":26},"end":{"line":52,"column":5}},"line":50},"6":{"name":"(anonymous_6)","decl":{"start":{"line":58,"column":4},"end":{"line":58,"column":5}},"loc":{"start":{"line":58,"column":28},"end":{"line":60,"column":5}},"line":58},"7":{"name":"(anonymous_7)","decl":{"start":{"line":68,"column":4},"end":{"line":68,"column":5}},"loc":{"start":{"line":68,"column":50},"end":{"line":70,"column":5}},"line":68},"8":{"name":"(anonymous_8)","decl":{"start":{"line":77,"column":4},"end":{"line":77,"column":5}},"loc":{"start":{"line":77,"column":40},"end":{"line":79,"column":5}},"line":77},"9":{"name":"(anonymous_9)","decl":{"start":{"line":84,"column":4},"end":{"line":84,"column":5}},"loc":{"start":{"line":84,"column":19},"end":{"line":86,"column":5}},"line":84},"10":{"name":"(anonymous_10)","decl":{"start":{"line":90,"column":4},"end":{"line":90,"column":5}},"loc":{"start":{"line":90,"column":25},"end":{"line":92,"column":5}},"line":90},"11":{"name":"(anonymous_11)","decl":{"start":{"line":97,"column":4},"end":{"line":97,"column":5}},"loc":{"start":{"line":97,"column":19},"end":{"line":112,"column":5}},"line":97},"12":{"name":"(anonymous_12)","decl":{"start":{"line":117,"column":4},"end":{"line":117,"column":5}},"loc":{"start":{"line":117,"column":20},"end":{"line":128,"column":5}},"line":117},"13":{"name":"(anonymous_13)","decl":{"start":{"line":133,"column":4},"end":{"line":133,"column":5}},"loc":{"start":{"line":133,"column":18},"end":{"line":140,"column":5}},"line":133},"14":{"name":"(anonymous_14)","decl":{"start":{"line":189,"column":4},"end":{"line":189,"column":5}},"loc":{"start":{"line":189,"column":22},"end":{"line":198,"column":5}},"line":189}},"branchMap":{"0":{"loc":{"start":{"line":104,"column":25},"end":{"line":104,"column":41}},"type":"cond-expr","locations":[{"start":{"line":104,"column":31},"end":{"line":104,"column":34}},{"start":{"line":104,"column":37},"end":{"line":104,"column":41}}],"line":104},"1":{"loc":{"start":{"line":107,"column":23},"end":{"line":107,"column":41}},"type":"binary-expr","locations":[{"start":{"line":107,"column":23},"end":{"line":107,"column":33}},{"start":{"line":107,"column":37},"end":{"line":107,"column":41}}],"line":107},"2":{"loc":{"start":{"line":124,"column":25},"end":{"line":124,"column":41}},"type":"cond-expr","locations":[{"start":{"line":124,"column":31},"end":{"line":124,"column":34}},{"start":{"line":124,"column":37},"end":{"line":124,"column":41}}],"line":124},"3":{"loc":{"start":{"line":125,"column":24},"end":{"line":125,"column":42}},"type":"binary-expr","locations":[{"start":{"line":125,"column":24},"end":{"line":125,"column":34}},{"start":{"line":125,"column":38},"end":{"line":125,"column":42}}],"line":125},"4":{"loc":{"start":{"line":192,"column":12},"end":{"line":194,"column":13}},"type":"if","locations":[{"start":{"line":192,"column":12},"end":{"line":194,"column":13}},{"start":{"line":192,"column":12},"end":{"line":194,"column":13}}],"line":192}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":20,"8":1,"9":6,"10":4,"11":1,"12":1,"13":0,"14":0,"15":1,"16":6,"17":1,"18":1,"19":1,"20":1,"21":2,"22":2,"23":2,"24":2,"25":2,"26":1,"27":1,"28":1,"29":1,"30":1,"31":2,"32":2,"33":2,"34":2,"35":2,"36":1,"37":1,"38":1,"39":1,"40":1,"41":2,"42":1,"43":4,"44":4,"45":0,"46":0,"47":4,"48":1,"49":1},"f":{"0":1,"1":20,"2":1,"3":6,"4":4,"5":1,"6":1,"7":0,"8":0,"9":1,"10":6,"11":1,"12":1,"13":1,"14":4},"b":{"0":[0,2],"1":[2,2],"2":[0,2],"3":[2,2],"4":[0,0]},"inputSourceMap":{"version":3,"file":"/Users/ahmedalatawi/experiment-workspaces/Browser-Storage-Utilities/storage-utilities/storage-utilities-base.ts","sources":["/Users/ahmedalatawi/experiment-workspaces/Browser-Storage-Utilities/storage-utilities/storage-utilities-base.ts"],"names":[],"mappings":";AAAA,4BAA4B;AAE5B,yDAAqD;AACrD,sDAAkD;AAGlD,wDAAoD;AAGpD;;GAEG;AACH,MAAM,oBAAwB,SAAQ,0BAAc;IAGnD,YAAY,QAA0B;QACrC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAChB,IAAI,CAAC,eAAe,GAAG,QAAQ,CAAC;IACjC,CAAC;IAED;;;OAGG;IACH,iBAAiB,CAAC,QAA0B;QAC3C,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,aAAa;QACZ,IAAI,CAAC,WAAW,CAAC,uBAAe,CAAC,CAAC;IACnC,CAAC;IAED;;;;;;OAMG;IACH,OAAO,CAAC,GAAW,EAAE,IAAO,EAAE,MAAe,EAAE,IAAmB;QACjE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IACnC,CAAC;IAED;;;;OAIG;IACH,OAAO,CAAC,GAAW,EAAE,IAAmB;QACvC,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAC5B,CAAC;IAED;;;;OAIG;IACH,UAAU,CAAC,GAAW,EAAE,IAAmB;QAC1C,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IACxB,CAAC;IAED;;;;OAIG;IACH,WAAW,CAAC,IAAc,EAAE,IAAmB;QAC9C,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC5B,CAAC;IAED;;;;;;OAMG;IACH,cAAc,CAAC,GAAW,EAAE,QAAgB,EAAE,QAAa,EAAE,IAAmB;QAC/E,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;IACvD,CAAC;IAED;;;;;OAKG;IACH,cAAc,CAAC,GAAW,EAAE,QAAgB,EAAE,IAAmB;QAChE,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC7C,CAAC;IAED;;;OAGG;IACH,QAAQ,CAAC,IAAmB;QAC3B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAClB,CAAC;IAED;;OAEG;IACH,kBAAkB;QACjB,OAAO,IAAI,CAAC,qBAAqB,EAAE,CAAC;IACrC,CAAC;IAED;;;OAGG;IACH,QAAQ,CAAC,IAAmB;QAC3B,MAAM,KAAK,GAAG,IAAI,KAAK,EAAkB,CAAC;QAC1C,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACtC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACxC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAC3B,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAClC,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YACnC,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;YAE9B,KAAK,CAAC,IAAI,CACT,IAAI,0BAAW,CAAI;gBAClB,GAAG;gBACH,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,IAAI;gBACzB,MAAM,EAAE,IAAI,CAAC,MAAM;aACnB,CAAC,CACF,CAAC;SACF;QACD,OAAO,KAAK,CAAC;IACd,CAAC;IAED;;;OAGG;IACH,SAAS,CAAC,IAAmB;QAC5B,MAAM,MAAM,GAAG,IAAI,KAAK,EAAK,CAAC;QAC9B,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACtC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACxC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAC3B,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAClC,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YACnC,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;YAE9B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC;SAChC;QACD,OAAO,MAAM,CAAC;IACf,CAAC;IAED;;;OAGG;IACH,OAAO,CAAC,IAAmB;QAC1B,MAAM,IAAI,GAAG,IAAI,KAAK,EAAU,CAAC;QACjC,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACtC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACxC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;SAC1B;QACD,OAAO,IAAI,CAAC;IACb,CAAC;IAED;;;;OAIG;IACH;;;OAGG;IAEH;;;OAGG;IACH;;;OAGG;IAEH;;;;OAIG;IACH;;OAEG;IAEH;;;;OAIG;IACH;;OAEG;IAEH;;;;OAIG;IACH;;OAEG;IAEH;;;OAGG;IACH;;OAEG;IAEK,WAAW,CAAC,IAAI;QACvB,IAAI;YACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC7B,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;gBACpB,OAAO,GAAG,CAAC;aACX;SACD;QACD,OAAO,CAAC,EAAE,GAAG;QAEb,OAAO,KAAK,CAAC;IACd,CAAC;CACD;AAED,mBAAmB;AACN,QAAA,eAAe,GAAqB;IAChD,SAAS,EAAE,EAAE;IACb,IAAI,EAAE,4BAAY,CAAC,KAAK,CAAC,iCAAiC;CAC1D,CAAC;AAEF,qBAAqB;AACrB,kBAAe,IAAI,oBAAoB,CAAC,uBAAe,CAAC,CAAC","sourcesContent":["import * as _ from 'lodash';\nimport { IStorageSettings } from './interfaces/storage-settings';\nimport { StorageTypes } from './enums/storage-types';\nimport { StorageBase } from './base/storage-base';\nimport { Observable } from 'rxjs';\nimport { IStorageNotifier } from './interfaces/storage-typings';\nimport { StorageItem } from './models/storage-item';\nimport { IStorageGeneralOperations, IStorageCollectionOperations } from './interfaces/storage-operations';\n\n/**\n * Provides base functionality for StorageUtilities.\n */\nclass StorageUtilitiesBase<T> extends StorageBase<T> implements IStorageGeneralOperations<T> {\n\tdefaultSettings: IStorageSettings;\n\n\tconstructor(settings: IStorageSettings) {\n\t\tsuper(settings);\n\t\tthis.defaultSettings = settings;\n\t}\n\n\t/**\n\t * \n\t * @param settings \n\t */\n\tsetCustomSettings(settings: IStorageSettings): void {\n\t\tthis.setSettings(settings);\n\t}\n\n\t/**\n\t * \n\t */\n\tresetSettings(): void {\n\t\tthis.setSettings(defaultSettings);\n\t}\n\n\t/**\n\t * \n\t * @param key \n\t * @param item \n\t * @param expiry \n\t * @param type \n\t */\n\taddItem(key: string, item: T, expiry?: number, type?: StorageTypes): void {\n\t\tthis.add(key, item, expiry, type);\n\t}\n\n\t/**\n\t * \n\t * @param key \n\t * @param type \n\t */\n\tgetItem(key: string, type?: StorageTypes): T {\n\t\treturn this.get(key, type);\n\t}\n\n\t/**\n\t * \n\t * @param key \n\t * @param type \n\t */\n\tremoveItem(key: string, type?: StorageTypes): void {\n\t\tthis.remove(key, type);\n\t}\n\n\t/**\n\t * \n\t * @param keys \n\t * @param type \n\t */\n\tremoveItems(keys: string[], type?: StorageTypes): void {\n\t\tthis.removeAll(keys, type);\n\t}\n\n\t/**\n\t * \n\t * @param key \n\t * @param propName \n\t * @param newValue \n\t * @param type \n\t */\n\tupdateItemProp(key: string, propName: string, newValue: any, type?: StorageTypes): T {\n\t\treturn this.updateProp(key, propName, newValue, type);\n\t}\n\n\t/**\n\t * \n\t * @param key \n\t * @param propName \n\t * @param type \n\t */\n\tremoveItemProp(key: string, propName: string, type?: StorageTypes): T {\n\t\treturn this.removeProp(key, propName, type);\n\t}\n\n\t/**\n\t * \n\t * @param type \n\t */\n\tclearAll(type?: StorageTypes): void {\n\t\tthis.clear(type);\n\t}\n\n\t/**\n\t * \n\t */\n\tgetStateObservable(): Observable<IStorageNotifier<T>> {\n\t\treturn this.getNotifierObservable();\n\t}\n\n\t/**\n\t * \n\t * @param type \n\t */\n\tgetItems(type?: StorageTypes): StorageItem<T>[] {\n\t\tconst items = new Array<StorageItem<T>>();\n\t\tconst storage = this.getStorage(type);\n\t\tfor (let i = 0; i < storage.length; i++) {\n\t\t\tconst key = storage.key(i);\n\t\t\tconst json = storage.getItem(key);\n\t\t\tconst obj = this._parsedJSON(json);\n\t\t\tconst item = obj ? obj : json;\n\n\t\t\titems.push(\n\t\t\t\tnew StorageItem<T>({\n\t\t\t\t\tkey,\n\t\t\t\t\tvalue: item.value || item,\n\t\t\t\t\texpiry: item.expiry \n\t\t\t\t})\n\t\t\t);\n\t\t}\n\t\treturn items;\n\t}\n\n\t/**\n\t * \n\t * @param type \n\t */\n\tgetValues(type?: StorageTypes): T[] {\n\t\tconst values = new Array<T>();\n\t\tconst storage = this.getStorage(type);\n\t\tfor (let i = 0; i < storage.length; i++) {\n\t\t\tconst key = storage.key(i);\n\t\t\tconst json = storage.getItem(key);\n\t\t\tconst obj = this._parsedJSON(json);\n\t\t\tconst item = obj ? obj : json;\n\n\t\t\tvalues.push(item.value || item);\n\t\t}\n\t\treturn values;\n\t}\n\n\t/**\n\t * \n\t * @param type \n\t */\n\tgetKeys(type?: StorageTypes): string[] {\n\t\tconst keys = new Array<string>();\n\t\tconst storage = this.getStorage(type);\n\t\tfor (let i = 0; i < storage.length; i++) {\n\t\t\tkeys.push(storage.key(i));\n\t\t}\n\t\treturn keys;\n\t}\n\n\t/**\n\t * \n\t * @param key \n\t * @param id \n\t */\n\t/*findOne(key: string, id: string): T {\n\t\t// TODO: add implementation to return a single item from an Array\n\t\treturn {} as any;\n\t}*/\n\n\t/**\n\t * \n\t * @param key \n\t */\n\t/*findAll(key: string): T[] {\n\t\t// TODO: add implementation to return all Array items by key\n\t\treturn [];\n\t}*/\n\n\t/**\n\t * \n\t * @param key \n\t * @param item \n\t */\n\t/*addOne(key: string, item: T): void {\n\t\t// TODO: add implementation to add an item to Array\n\t}*/\n\n\t/**\n\t * \n\t * @param key \n\t * @param items \n\t */\n\t/*addAll(key: string, items: T[]): void {\n\t\t// TODO: add implementation to add all items to Array\n\t}*/\n\n\t/**\n\t * \n\t * @param key \n\t * @param id \n\t */\n\t/*removeOne(key: string, id: string): void {\n\t\t// TODO: add implementation to remove item from Array\n\t}*/\n\n\t/**\n\t * \n\t * @param key \n\t */\n\t/*reset(key: string): void {\n\t\t// TODO: add implementation to reset Array\n\t}*/\n\n\tprivate _parsedJSON(json): any {\n\t\ttry {\n\t\t\tconst obj = JSON.parse(json);\n\t\t\tif (_.isObject(obj)) {\n\t\t\t\treturn obj;\n\t\t\t}\n\t\t}\n\t\tcatch (e) { }\n\t\n\t\treturn false;\n\t}\n}\n\n// default settings\nexport const defaultSettings: IStorageSettings = {\n\tkeyPrefix: '',\n\ttype: StorageTypes.LOCAL // set to localStorage by default\n};\n\n// create a singleton\nexport default new StorageUtilitiesBase(defaultSettings);\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"03ecf4c64556f038656c99565a354159e071c434","contentHash":"0465cabc6046de58215ae62cf4ea52518b171772b7fe5140d2e88cf080aee738"}}