1!function(global,factory){"object"==typeof exports&&"undefined"!=typeof module?module.exports=factory():"function"==typeof define&&define.amd?define(factory):global["localstorage-cache"]=factory()}(this,(function(){"use strict";var sizeof=function(obj,charset){var charCode,i,len,str=JSON.stringify(obj),total=0;if("utf-16"===(charset=charset?charset.toLowerCase():"")||"utf16"===charset)for(i=0,len=str.length;i<len;i++)total+=(charCode=str.charCodeAt(i))<=65535?2:4;else for(i=0,len=str.length;i<len;i++)total+=(charCode=str.charCodeAt(i))<=127?1:charCode<=2047?2:charCode<=65535?3:4;return total},createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),defineProperty=function(obj,key,value){return key in obj?Object.defineProperty(obj,key,{value:value,enumerable:!0,configurable:!0,writable:!0}):obj[key]=value,obj},CACHE="storage_cache",MARKS="storage_marks",LocalStorageCache=function(){function LocalStorageCache(size,strategy,charset){!function(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}(this,LocalStorageCache);var _storage=localStorage.getItem(CACHE)||"{}",storage=JSON.parse(_storage),_marks=localStorage.getItem(MARKS)||"{}",marks=JSON.parse(_marks);if(this.storage=storage,this.marks=marks,this.strategy=strategy||"LRU",this.charset=charset,size>3072)throw new Error("3MB is the upper limit of size");this.size=1024*(size||2048)}return createClass(LocalStorageCache,[{key:"_getValue",value:function(key){return this.storage[key]}},{key:"_setValue",value:function(key,value){this.storage[key]=value,localStorage.setItem(CACHE,JSON.stringify(this.storage))}},{key:"_getMarks",value:function(key){return this.marks[key]}},{key:"_setMarks",value:function(key,value){this.marks[key]=value,localStorage.setItem(MARKS,JSON.stringify(this.marks))}},{key:"_remove",value:function(key){this.storage[key]&&(delete this.storage[key],localStorage.setItem(CACHE,JSON.stringify(this.storage))),this.marks[key]&&(delete this.marks[key],localStorage.setItem(MARKS,JSON.stringify(this.marks)))}},{key:"_clear",value:function(){localStorage.removeItem(CACHE),localStorage.removeItem(MARKS)}},{key:"_overflow",value:function(key,value,expire){var _newItemMark,_this=this,newItemSize=sizeof(defineProperty({},key,value),this.charset);if(newItemSize>=this.size)throw new Error("the size of "+key+" is bigger than cache's");var itemMark=this._getMarks(key),newItemMark=(defineProperty(_newItemMark={},"c",(new Date).getTime()),defineProperty(_newItemMark,"u",(new Date).getTime()),_newItemMark);if(expire&&(newItemMark.e=expire),itemMark||(newItemMark.t=0),newItemSize+sizeof(this.storage,this.charset)<this.size)this._setMarks(key,newItemMark);else{var keys=Object.keys(this.marks),v="LFU"===this.strategy?"t":"u";for(keys=keys.sort((function(a,b){return _this.marks[a][v]<_this.marks[b][v]}));newItemSize+sizeof(this.storage,this.charset)>=this.size;){var _key=keys.pop();delete this.storage[_key],delete this.marks[_key]}this._setMarks(key,newItemMark)}}},{key:"getCache",value:function(key){if(!key)throw new Error("missing arguments!");var itemMark=this._getMarks(key),value=this._getValue(key);if(value){if(!(itemMark.e&&1e3*itemMark.e+itemMark.c<(new Date).getTime()))return itemMark.u=(new Date).getTime(),++itemMark.t,this._setMarks(key,itemMark),value;this._remove(key)}}},{key:"setCache",value:function(key,value,expire){if(!key||!value)throw new Error("missing arguments!");return this._overflow(key,value,expire),this._setValue(key,value),this}},{key:"deleteCache",value:function(key){if(!key)throw new Error("missing arguments!");return this._remove(key),this}},{key:"clearCache",value:function(){return this._clear(),this}}]),LocalStorageCache}();return window.LocalStorageCache=LocalStorageCache,LocalStorageCache})); 2//# sourceURL=https://483903.fs1.hubspotusercontent-na1.net/hub/483903/hub_generated/template_assets/60598984715/1733497967323/ThemeBridgestone/js/node_modules/localstorage-cache/localstorage-cache.js
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.