var BJCacher=function(){function t(t,e,a,r,i){e=_defaultFor(e,{}),a=_defaultFor(a,"get"),r=_defaultFor(r,3600),i=_defaultFor(i,8e3),this._apiEndpoint=t,this._apiParams=e,this._apiMethod=a,this._cacheExpiry=r,this._apiTimeout=i,this._storageKey=this.generateStorageKey()}var a="_expireTime",i="_data",n=(t.prototype.get=function(e,a){a=_defaultFor(a,function(){});var r=this;bridgeCallHandler("load",{key:r._storageKey},function(t){if("string"==typeof t.data){t=JSON.parse(t.data);if(!n(t))return void e(t[i])}r._fetch(e,a)})},t.prototype._fetch=function(a,r){var i=this;$.ajax({url:i._apiEndpoint,type:i._apiMethod,data:i._apiParams,dataType:"json",timeout:i._apiTimeout}).done(function(e){var t;e.error?r(e):(t=i._generateStoredDataWithExpiry(e),bridgeCallHandler("save",{key:i._storageKey,data:JSON.stringify(t),persist:0},function(t){a(e)}))}).fail(function(t,e){r({error:e})})},t.prototype.generateStorageKey=function(){return Base64.encode([this._apiEndpoint,JSON.stringify(this._apiParams),this._apiMethod].join("|"))},t.prototype._generateStoredDataWithExpiry=function(t){var e={};return e[i]=t,e[a]=parseInt(curTs()/1e3,10)+this._cacheExpiry,e},function(t){return parseInt(curTs()/1e3,10)>=t[a]});return t}();
//# sourceMappingURL=../source_maps/BJCacher.js.map
