10
__coverage__['build/cache-offline/cache-offline.js'] = {"path":"build/cache-offline/cache-offline.js","s":{"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0},"b":{"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0]},"f":{"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0},"fnMap":{"1":{"name":"(anonymous_1)","line":1,"loc":{"start":{"line":1,"column":25},"end":{"line":1,"column":44}}},"2":{"name":"CacheOffline","line":16,"loc":{"start":{"line":16,"column":0},"end":{"line":16,"column":24}}},"3":{"name":"(anonymous_3)","line":115,"loc":{"start":{"line":115,"column":20},"end":{"line":115,"column":31}}},"4":{"name":"(anonymous_4)","line":129,"loc":{"start":{"line":129,"column":14},"end":{"line":129,"column":25}}},"5":{"name":"(anonymous_5)","line":168,"loc":{"start":{"line":168,"column":13},"end":{"line":168,"column":29}}},"6":{"name":"(anonymous_6)","line":178,"loc":{"start":{"line":178,"column":14},"end":{"line":178,"column":25}}},"7":{"name":"(anonymous_7)","line":197,"loc":{"start":{"line":197,"column":17},"end":{"line":197,"column":28}}},"8":{"name":"(anonymous_8)","line":221,"loc":{"start":{"line":221,"column":15},"end":{"line":221,"column":27}}},"9":{"name":"(anonymous_9)","line":246,"loc":{"start":{"line":246,"column":17},"end":{"line":246,"column":29}}},"10":{"name":"(anonymous_10)","line":281,"loc":{"start":{"line":281,"column":14},"end":{"line":281,"column":32}}},"11":{"name":"(anonymous_11)","line":324,"loc":{"start":{"line":324,"column":13},"end":{"line":324,"column":29}}}},"statementMap":{"1":{"start":{"line":1,"column":0},"end":{"line":333,"column":51}},"2":{"start":{"line":16,"column":0},"end":{"line":18,"column":1}},"3":{"start":{"line":17,"column":4},"end":{"line":17,"column":63}},"4":{"start":{"line":20,"column":0},"end":{"line":21,"column":18}},"5":{"start":{"line":24,"column":0},"end":{"line":28,"column":1}},"6":{"start":{"line":25,"column":4},"end":{"line":25,"column":45}},"7":{"start":{"line":50,"column":0},"end":{"line":148,"column":3}},"8":{"start":{"line":116,"column":16},"end":{"line":116,"column":28}},"9":{"start":{"line":130,"column":8},"end":{"line":130,"column":38}},"10":{"start":{"line":131,"column":8},"end":{"line":146,"column":9}},"11":{"start":{"line":132,"column":12},"end":{"line":143,"column":13}},"12":{"start":{"line":133,"column":16},"end":{"line":133,"column":30}},"13":{"start":{"line":137,"column":16},"end":{"line":142,"column":17}},"14":{"start":{"line":138,"column":20},"end":{"line":141,"column":21}},"15":{"start":{"line":139,"column":24},"end":{"line":139,"column":46}},"16":{"start":{"line":140,"column":24},"end":{"line":140,"column":42}},"17":{"start":{"line":150,"column":0},"end":{"line":327,"column":3}},"18":{"start":{"line":169,"column":8},"end":{"line":169,"column":20}},"19":{"start":{"line":179,"column":8},"end":{"line":181,"column":34}},"20":{"start":{"line":182,"column":8},"end":{"line":187,"column":9}},"21":{"start":{"line":184,"column":12},"end":{"line":186,"column":13}},"22":{"start":{"line":185,"column":16},"end":{"line":185,"column":24}},"23":{"start":{"line":188,"column":8},"end":{"line":188,"column":21}},"24":{"start":{"line":198,"column":8},"end":{"line":201,"column":42}},"25":{"start":{"line":202,"column":8},"end":{"line":207,"column":9}},"26":{"start":{"line":204,"column":12},"end":{"line":206,"column":13}},"27":{"start":{"line":205,"column":16},"end":{"line":205,"column":87}},"28":{"start":{"line":208,"column":8},"end":{"line":208,"column":23}},"29":{"start":{"line":222,"column":8},"end":{"line":225,"column":36}},"30":{"start":{"line":228,"column":8},"end":{"line":228,"column":40}},"31":{"start":{"line":229,"column":8},"end":{"line":229,"column":62}},"32":{"start":{"line":231,"column":8},"end":{"line":236,"column":9}},"33":{"start":{"line":232,"column":12},"end":{"line":232,"column":113}},"34":{"start":{"line":235,"column":12},"end":{"line":235,"column":46}},"35":{"start":{"line":247,"column":8},"end":{"line":248,"column":36}},"36":{"start":{"line":249,"column":8},"end":{"line":255,"column":9}},"37":{"start":{"line":251,"column":12},"end":{"line":251,"column":38}},"38":{"start":{"line":252,"column":12},"end":{"line":254,"column":13}},"39":{"start":{"line":253,"column":16},"end":{"line":253,"column":45}},"40":{"start":{"line":282,"column":8},"end":{"line":282,"column":49}},"41":{"start":{"line":284,"column":8},"end":{"line":284,"column":45}},"42":{"start":{"line":286,"column":8},"end":{"line":295,"column":9}},"43":{"start":{"line":287,"column":12},"end":{"line":287,"column":87}},"44":{"start":{"line":288,"column":12},"end":{"line":292,"column":13}},"45":{"start":{"line":289,"column":16},"end":{"line":289,"column":75}},"46":{"start":{"line":297,"column":8},"end":{"line":308,"column":9}},"47":{"start":{"line":299,"column":12},"end":{"line":299,"column":50}},"48":{"start":{"line":300,"column":12},"end":{"line":300,"column":36}},"49":{"start":{"line":301,"column":12},"end":{"line":301,"column":58}},"50":{"start":{"line":302,"column":12},"end":{"line":302,"column":36}},"51":{"start":{"line":304,"column":12},"end":{"line":307,"column":13}},"52":{"start":{"line":305,"column":16},"end":{"line":305,"column":54}},"53":{"start":{"line":306,"column":16},"end":{"line":306,"column":29}},"54":{"start":{"line":309,"column":8},"end":{"line":309,"column":20}},"55":{"start":{"line":325,"column":8},"end":{"line":325,"column":20}},"56":{"start":{"line":330,"column":0},"end":{"line":330,"column":30}}},"branchMap":{"1":{"line":131,"type":"if","locations":[{"start":{"line":131,"column":8},"end":{"line":131,"column":8}},{"start":{"line":131,"column":8},"end":{"line":131,"column":8}}]},"2":{"line":132,"type":"if","locations":[{"start":{"line":132,"column":12},"end":{"line":132,"column":12}},{"start":{"line":132,"column":12},"end":{"line":132,"column":12}}]},"3":{"line":138,"type":"if","locations":[{"start":{"line":138,"column":20},"end":{"line":138,"column":20}},{"start":{"line":138,"column":20},"end":{"line":138,"column":20}}]},"4":{"line":150,"type":"cond-expr","locations":[{"start":{"line":150,"column":47},"end":{"line":311,"column":1}},{"start":{"line":317,"column":0},"end":{"line":327,"column":1}}]},"5":{"line":184,"type":"if","locations":[{"start":{"line":184,"column":12},"end":{"line":184,"column":12}},{"start":{"line":184,"column":12},"end":{"line":184,"column":12}}]},"6":{"line":204,"type":"if","locations":[{"start":{"line":204,"column":12},"end":{"line":204,"column":12}},{"start":{"line":204,"column":12},"end":{"line":204,"column":12}}]},"7":{"line":229,"type":"cond-expr","locations":[{"start":{"line":229,"column":34},"end":{"line":229,"column":51}},{"start":{"line":229,"column":54},"end":{"line":229,"column":61}}]},"8":{"line":252,"type":"if","locations":[{"start":{"line":252,"column":12},"end":{"line":252,"column":12}},{"start":{"line":252,"column":12},"end":{"line":252,"column":12}}]},"9":{"line":297,"type":"if","locations":[{"start":{"line":297,"column":8},"end":{"line":297,"column":8}},{"start":{"line":297,"column":8},"end":{"line":297,"column":8}}]},"10":{"line":301,"type":"cond-expr","locations":[{"start":{"line":301,"column":33},"end":{"line":301,"column":37}},{"start":{"line":301,"column":40},"end":{"line":301,"column":57}}]},"11":{"line":304,"type":"if","locations":[{"start":{"line":304,"column":12},"end":{"line":304,"column":12}},{"start":{"line":304,"column":12},"end":{"line":304,"column":12}}]}},"code":["(function () { YUI.add('cache-offline', function (Y, NAME) {","","/**"," * Provides a Cache subclass which uses HTML5 `localStorage` for persistence."," *"," * @module cache"," * @submodule cache-offline"," */","","/**"," * Extends Cache utility with offline functionality."," * @class CacheOffline"," * @extends Cache"," * @constructor"," */","function CacheOffline() {"," CacheOffline.superclass.constructor.apply(this, arguments);","}","","var localStorage = null,"," JSON = Y.JSON;","","// Bug 2529572","try {"," localStorage = Y.config.win.localStorage;","}","catch(e) {","}","","/////////////////////////////////////////////////////////////////////////////","//","// CacheOffline events","//","/////////////////////////////////////////////////////////////////////////////","","/**","* @event error","* @description Fired when an entry could not be added, most likely due to","* exceeded browser quota.","* <dl>","* <dt>error (Object)</dt> <dd>The error object.</dd>","* </dl>","*/","","/////////////////////////////////////////////////////////////////////////////","//","// CacheOffline static","//","/////////////////////////////////////////////////////////////////////////////","Y.mix(CacheOffline, {"," /**"," * Class name."," *"," * @property NAME"," * @type String"," * @static"," * @final"," * @value \"cacheOffline\""," */"," NAME: \"cacheOffline\",",""," ATTRS: {"," /////////////////////////////////////////////////////////////////////////////"," //"," // CacheOffline Attributes"," //"," /////////////////////////////////////////////////////////////////////////////",""," /**"," * @attribute sandbox"," * @description A string that must be passed in via the constructor."," * This identifier is used to sandbox one cache instance's entries"," * from another. Calling the cache instance's flush and length methods"," * or get(\"entries\") will apply to only these sandboxed entries."," * @type String"," * @default \"default\""," * @initOnly"," */"," sandbox: {"," value: \"default\","," writeOnce: \"initOnly\""," },",""," /**"," * @attribute expires"," * @description Absolute Date when data expires or"," * relative number of milliseconds. Zero disables expiration."," * @type Date | Number"," * @default 86400000 (one day)"," */"," expires: {"," value: 86400000"," },",""," /**"," * @attribute max"," * @description Disabled."," * @readOnly"," * @default null"," */"," max: {"," value: null,"," readOnly: true"," },",""," /**"," * @attribute uniqueKeys"," * @description Always true for CacheOffline."," * @readOnly"," * @default true"," */"," uniqueKeys: {"," value: true,"," readOnly: true,"," setter: function() {"," return true;"," }"," }"," },",""," /**"," * Removes all items from all sandboxes. Useful if localStorage has"," * exceeded quota. Only supported on browsers that implement HTML 5"," * localStorage."," *"," * @method flushAll"," * @static"," */"," flushAll: function() {"," var store = localStorage, key;"," if(store) {"," if(store.clear) {"," store.clear();"," }"," // FF2.x and FF3.0.x"," else {"," for (key in store) {"," if (store.hasOwnProperty(key)) {"," store.removeItem(key);"," delete store[key];"," }"," }"," }"," }"," else {"," }"," }","});","","Y.extend(CacheOffline, Y.Cache, localStorage ? {","/////////////////////////////////////////////////////////////////////////////","//","// Offline is supported","//","/////////////////////////////////////////////////////////////////////////////",""," /////////////////////////////////////////////////////////////////////////////"," //"," // CacheOffline protected methods"," //"," /////////////////////////////////////////////////////////////////////////////"," /**"," * Always return null."," *"," * @method _setMax"," * @protected"," */"," _setMax: function(value) {"," return null;"," },",""," /**"," * Gets size."," *"," * @method _getSize"," * @protected"," */"," _getSize: function() {"," var count = 0,"," i=0,"," l=localStorage.length;"," for(; i<l; ++i) {"," // Match sandbox id"," if(localStorage.key(i).indexOf(this.get(\"sandbox\")) === 0) {"," count++;"," }"," }"," return count;"," },",""," /**"," * Gets all entries."," *"," * @method _getEntries"," * @protected"," */"," _getEntries: function() {"," var entries = [],"," i=0,"," l=localStorage.length,"," sandbox = this.get(\"sandbox\");"," for(; i<l; ++i) {"," // Match sandbox id"," if(localStorage.key(i).indexOf(sandbox) === 0) {"," entries[i] = JSON.parse(localStorage.key(i).substring(sandbox.length));"," }"," }"," return entries;"," },",""," /**"," * Adds entry to cache."," *"," * @method _defAddFn"," * @param e {Event.Facade} Event Facade with the following properties:"," * <dl>"," * <dt>entry (Object)</dt> <dd>The cached entry.</dd>"," * </dl>"," * @protected"," */"," _defAddFn: function(e) {"," var entry = e.entry,"," request = entry.request,"," cached = entry.cached,"," expires = entry.expires;",""," // Convert Dates to msecs on the way into localStorage"," entry.cached = cached.getTime();"," entry.expires = expires ? expires.getTime() : expires;",""," try {"," localStorage.setItem(this.get(\"sandbox\")+JSON.stringify({\"request\":request}), JSON.stringify(entry));"," }"," catch(error) {"," this.fire(\"error\", {error:error});"," }"," },",""," /**"," * Flushes cache."," *"," * @method _defFlushFn"," * @param e {Event.Facade} Event Facade object."," * @protected"," */"," _defFlushFn: function(e) {"," var key,"," i=localStorage.length-1;"," for(; i>-1; --i) {"," // Match sandbox id"," key = localStorage.key(i);"," if(key.indexOf(this.get(\"sandbox\")) === 0) {"," localStorage.removeItem(key);"," }"," }"," },",""," /////////////////////////////////////////////////////////////////////////////"," //"," // CacheOffline public methods"," //"," /////////////////////////////////////////////////////////////////////////////"," /**"," * Adds a new entry to the cache of the format"," * {request:request, response:response, cached:cached, expires: expires}."," *"," * @method add"," * @param request {Object} Request value must be a String or JSON."," * @param response {Object} Response value must be a String or JSON."," */",""," /**"," * Retrieves cached object for given request, if available."," * Returns null if there is no cache match."," *"," * @method retrieve"," * @param request {Object} Request object."," * @return {Object} Cached object with the properties request, response,"," * and expires, or null."," */"," retrieve: function(request) {"," this.fire(\"request\", {request: request});",""," var entry, expires, sandboxedrequest;",""," try {"," sandboxedrequest = this.get(\"sandbox\")+JSON.stringify({\"request\":request});"," try {"," entry = JSON.parse(localStorage.getItem(sandboxedrequest));"," }"," catch(e) {"," }"," }"," catch(e2) {"," }",""," if(entry) {"," // Convert msecs to Dates on the way out of localStorage"," entry.cached = new Date(entry.cached);"," expires = entry.expires;"," expires = !expires ? null : new Date(expires);"," entry.expires = expires;",""," if(this._isMatch(request, entry)) {"," this.fire(\"retrieve\", {entry: entry});"," return entry;"," }"," }"," return null;"," }","} :","/////////////////////////////////////////////////////////////////////////////","//","// Offline is not supported","//","/////////////////////////////////////////////////////////////////////////////","{"," /**"," * Always return null."," *"," * @method _setMax"," * @protected"," */"," _setMax: function(value) {"," return null;"," }","});","","","Y.CacheOffline = CacheOffline;","","","}, '3.13.0', {\"requires\": [\"cache-base\", \"json\"]});","","}());"]};