10
__coverage__['build/cache-base/cache-base.js'] = {"path":"build/cache-base/cache-base.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,"57":0,"58":0,"59":0,"60":0},"b":{"1":[0,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],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0,0,0,0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0],"21":[0,0,0],"22":[0,0],"23":[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,"12":0,"13":0,"14":0,"15":0},"fnMap":{"1":{"name":"(anonymous_1)","line":1,"loc":{"start":{"line":1,"column":22},"end":{"line":1,"column":41}}},"2":{"name":"(anonymous_2)","line":25,"loc":{"start":{"line":25,"column":8},"end":{"line":25,"column":19}}},"3":{"name":"(anonymous_3)","line":95,"loc":{"start":{"line":95,"column":23},"end":{"line":95,"column":35}}},"4":{"name":"(anonymous_4)","line":140,"loc":{"start":{"line":140,"column":17},"end":{"line":140,"column":34}}},"5":{"name":"(anonymous_5)","line":188,"loc":{"start":{"line":188,"column":16},"end":{"line":188,"column":27}}},"6":{"name":"(anonymous_6)","line":204,"loc":{"start":{"line":204,"column":13},"end":{"line":204,"column":29}}},"7":{"name":"(anonymous_7)","line":227,"loc":{"start":{"line":227,"column":14},"end":{"line":227,"column":25}}},"8":{"name":"(anonymous_8)","line":237,"loc":{"start":{"line":237,"column":17},"end":{"line":237,"column":28}}},"9":{"name":"(anonymous_9)","line":252,"loc":{"start":{"line":252,"column":15},"end":{"line":252,"column":27}}},"10":{"name":"(anonymous_10)","line":283,"loc":{"start":{"line":283,"column":17},"end":{"line":283,"column":29}}},"11":{"name":"(anonymous_11)","line":315,"loc":{"start":{"line":315,"column":14},"end":{"line":315,"column":39}}},"12":{"name":"(anonymous_12)","line":330,"loc":{"start":{"line":330,"column":15},"end":{"line":330,"column":33}}},"13":{"name":"(anonymous_13)","line":364,"loc":{"start":{"line":364,"column":9},"end":{"line":364,"column":37}}},"14":{"name":"(anonymous_14)","line":385,"loc":{"start":{"line":385,"column":11},"end":{"line":385,"column":29}}},"15":{"name":"(anonymous_15)","line":397,"loc":{"start":{"line":397,"column":14},"end":{"line":397,"column":32}}}},"statementMap":{"1":{"start":{"line":1,"column":0},"end":{"line":432,"column":37}},"2":{"start":{"line":16,"column":0},"end":{"line":27,"column":2}},"3":{"start":{"line":26,"column":4},"end":{"line":26,"column":56}},"4":{"start":{"line":34,"column":0},"end":{"line":110,"column":3}},"5":{"start":{"line":96,"column":16},"end":{"line":96,"column":74}},"6":{"start":{"line":112,"column":0},"end":{"line":427,"column":3}},"7":{"start":{"line":151,"column":8},"end":{"line":151,"column":57}},"8":{"start":{"line":159,"column":8},"end":{"line":159,"column":61}},"9":{"start":{"line":180,"column":8},"end":{"line":180,"column":27}},"10":{"start":{"line":189,"column":8},"end":{"line":189,"column":27}},"11":{"start":{"line":206,"column":8},"end":{"line":206,"column":36}},"12":{"start":{"line":207,"column":8},"end":{"line":217,"column":9}},"13":{"start":{"line":208,"column":12},"end":{"line":212,"column":13}},"14":{"start":{"line":209,"column":16},"end":{"line":211,"column":17}},"15":{"start":{"line":210,"column":20},"end":{"line":210,"column":36}},"16":{"start":{"line":215,"column":12},"end":{"line":215,"column":22}},"17":{"start":{"line":216,"column":12},"end":{"line":216,"column":31}},"18":{"start":{"line":218,"column":8},"end":{"line":218,"column":21}},"19":{"start":{"line":228,"column":8},"end":{"line":228,"column":36}},"20":{"start":{"line":238,"column":8},"end":{"line":238,"column":29}},"21":{"start":{"line":253,"column":8},"end":{"line":256,"column":16}},"22":{"start":{"line":259,"column":8},"end":{"line":264,"column":9}},"23":{"start":{"line":260,"column":12},"end":{"line":260,"column":50}},"24":{"start":{"line":261,"column":12},"end":{"line":263,"column":13}},"25":{"start":{"line":262,"column":16},"end":{"line":262,"column":39}},"26":{"start":{"line":268,"column":8},"end":{"line":270,"column":9}},"27":{"start":{"line":269,"column":12},"end":{"line":269,"column":28}},"28":{"start":{"line":273,"column":8},"end":{"line":273,"column":40}},"29":{"start":{"line":284,"column":8},"end":{"line":286,"column":16}},"30":{"start":{"line":289,"column":8},"end":{"line":300,"column":9}},"31":{"start":{"line":290,"column":12},"end":{"line":290,"column":50}},"32":{"start":{"line":292,"column":12},"end":{"line":295,"column":13}},"33":{"start":{"line":293,"column":16},"end":{"line":293,"column":38}},"34":{"start":{"line":299,"column":12},"end":{"line":299,"column":31}},"35":{"start":{"line":316,"column":8},"end":{"line":318,"column":9}},"36":{"start":{"line":317,"column":12},"end":{"line":317,"column":47}},"37":{"start":{"line":319,"column":8},"end":{"line":319,"column":21}},"38":{"start":{"line":332,"column":8},"end":{"line":334,"column":25}},"39":{"start":{"line":336,"column":8},"end":{"line":344,"column":9}},"40":{"start":{"line":338,"column":12},"end":{"line":343,"column":13}},"41":{"start":{"line":340,"column":16},"end":{"line":342,"column":17}},"42":{"start":{"line":341,"column":20},"end":{"line":341,"column":29}},"43":{"start":{"line":346,"column":8},"end":{"line":346,"column":20}},"44":{"start":{"line":365,"column":8},"end":{"line":365,"column":42}},"45":{"start":{"line":366,"column":8},"end":{"line":377,"column":9}},"46":{"start":{"line":368,"column":12},"end":{"line":374,"column":16}},"47":{"start":{"line":386,"column":8},"end":{"line":386,"column":82}},"48":{"start":{"line":399,"column":8},"end":{"line":402,"column":16}},"49":{"start":{"line":404,"column":8},"end":{"line":424,"column":9}},"50":{"start":{"line":405,"column":12},"end":{"line":405,"column":53}},"51":{"start":{"line":407,"column":12},"end":{"line":407,"column":42}},"52":{"start":{"line":409,"column":12},"end":{"line":423,"column":13}},"53":{"start":{"line":410,"column":16},"end":{"line":410,"column":37}},"54":{"start":{"line":412,"column":16},"end":{"line":412,"column":54}},"55":{"start":{"line":415,"column":16},"end":{"line":420,"column":17}},"56":{"start":{"line":417,"column":20},"end":{"line":417,"column":42}},"57":{"start":{"line":419,"column":20},"end":{"line":419,"column":52}},"58":{"start":{"line":422,"column":16},"end":{"line":422,"column":29}},"59":{"start":{"line":425,"column":8},"end":{"line":425,"column":20}},"60":{"start":{"line":429,"column":0},"end":{"line":429,"column":16}}},"branchMap":{"1":{"line":96,"type":"binary-expr","locations":[{"start":{"line":96,"column":23},"end":{"line":96,"column":39}},{"start":{"line":96,"column":44},"end":{"line":96,"column":62}},{"start":{"line":96,"column":66},"end":{"line":96,"column":72}}]},"2":{"line":207,"type":"if","locations":[{"start":{"line":207,"column":8},"end":{"line":207,"column":8}},{"start":{"line":207,"column":8},"end":{"line":207,"column":8}}]},"3":{"line":208,"type":"if","locations":[{"start":{"line":208,"column":12},"end":{"line":208,"column":12}},{"start":{"line":208,"column":12},"end":{"line":208,"column":12}}]},"4":{"line":259,"type":"if","locations":[{"start":{"line":259,"column":8},"end":{"line":259,"column":8}},{"start":{"line":259,"column":8},"end":{"line":259,"column":8}}]},"5":{"line":261,"type":"if","locations":[{"start":{"line":261,"column":12},"end":{"line":261,"column":12}},{"start":{"line":261,"column":12},"end":{"line":261,"column":12}}]},"6":{"line":268,"type":"binary-expr","locations":[{"start":{"line":268,"column":15},"end":{"line":268,"column":18}},{"start":{"line":268,"column":22},"end":{"line":268,"column":43}}]},"7":{"line":289,"type":"if","locations":[{"start":{"line":289,"column":8},"end":{"line":289,"column":8}},{"start":{"line":289,"column":8},"end":{"line":289,"column":8}}]},"8":{"line":289,"type":"binary-expr","locations":[{"start":{"line":289,"column":11},"end":{"line":289,"column":18}},{"start":{"line":289,"column":22},"end":{"line":289,"column":51}}]},"9":{"line":292,"type":"if","locations":[{"start":{"line":292,"column":12},"end":{"line":292,"column":12}},{"start":{"line":292,"column":12},"end":{"line":292,"column":12}}]},"10":{"line":316,"type":"if","locations":[{"start":{"line":316,"column":8},"end":{"line":316,"column":8}},{"start":{"line":316,"column":8},"end":{"line":316,"column":8}}]},"11":{"line":316,"type":"binary-expr","locations":[{"start":{"line":316,"column":11},"end":{"line":316,"column":25}},{"start":{"line":316,"column":29},"end":{"line":316,"column":55}}]},"12":{"line":336,"type":"if","locations":[{"start":{"line":336,"column":8},"end":{"line":336,"column":8}},{"start":{"line":336,"column":8},"end":{"line":336,"column":8}}]},"13":{"line":336,"type":"binary-expr","locations":[{"start":{"line":336,"column":12},"end":{"line":336,"column":36}},{"start":{"line":336,"column":41},"end":{"line":336,"column":60}}]},"14":{"line":340,"type":"if","locations":[{"start":{"line":340,"column":16},"end":{"line":340,"column":16}},{"start":{"line":340,"column":16},"end":{"line":340,"column":16}}]},"15":{"line":366,"type":"if","locations":[{"start":{"line":366,"column":8},"end":{"line":366,"column":8}},{"start":{"line":366,"column":8},"end":{"line":366,"column":8}}]},"16":{"line":366,"type":"binary-expr","locations":[{"start":{"line":366,"column":11},"end":{"line":366,"column":34}},{"start":{"line":366,"column":40},"end":{"line":366,"column":64}},{"start":{"line":366,"column":69},"end":{"line":366,"column":88}},{"start":{"line":367,"column":17},"end":{"line":367,"column":38}},{"start":{"line":367,"column":42},"end":{"line":367,"column":62}},{"start":{"line":367,"column":66},"end":{"line":367,"column":91}}]},"17":{"line":372,"type":"cond-expr","locations":[{"start":{"line":372,"column":43},"end":{"line":372,"column":50}},{"start":{"line":373,"column":13},"end":{"line":373,"column":82}}]},"18":{"line":373,"type":"cond-expr","locations":[{"start":{"line":373,"column":23},"end":{"line":373,"column":75}},{"start":{"line":373,"column":78},"end":{"line":373,"column":82}}]},"19":{"line":386,"type":"cond-expr","locations":[{"start":{"line":386,"column":63},"end":{"line":386,"column":70}},{"start":{"line":386,"column":73},"end":{"line":386,"column":77}}]},"20":{"line":404,"type":"if","locations":[{"start":{"line":404,"column":8},"end":{"line":404,"column":8}},{"start":{"line":404,"column":8},"end":{"line":404,"column":8}}]},"21":{"line":404,"type":"binary-expr","locations":[{"start":{"line":404,"column":12},"end":{"line":404,"column":22}},{"start":{"line":404,"column":29},"end":{"line":404,"column":53}},{"start":{"line":404,"column":59},"end":{"line":404,"column":78}}]},"22":{"line":409,"type":"if","locations":[{"start":{"line":409,"column":12},"end":{"line":409,"column":12}},{"start":{"line":409,"column":12},"end":{"line":409,"column":12}}]},"23":{"line":415,"type":"if","locations":[{"start":{"line":415,"column":16},"end":{"line":415,"column":16}},{"start":{"line":415,"column":16},"end":{"line":415,"column":16}}]}},"code":["(function () { YUI.add('cache-base', function (Y, NAME) {","","/**"," * The Cache utility provides a common configurable interface for components to"," * cache and retrieve data from a local JavaScript struct."," *"," * @module cache"," * @main"," */","","/**"," * Provides the base class for the YUI Cache utility."," *"," * @submodule cache-base"," */","var LANG = Y.Lang,"," isDate = Y.Lang.isDate,","","/**"," * Base class for the YUI Cache utility."," * @class Cache"," * @extends Base"," * @constructor"," */","Cache = function() {"," Cache.superclass.constructor.apply(this, arguments);","};",""," /////////////////////////////////////////////////////////////////////////////"," //"," // Cache static properties"," //"," /////////////////////////////////////////////////////////////////////////////","Y.mix(Cache, {"," /**"," * Class name."," *"," * @property NAME"," * @type String"," * @static"," * @final"," * @value \"cache\""," */"," NAME: \"cache\",","",""," ATTRS: {"," /////////////////////////////////////////////////////////////////////////////"," //"," // Cache Attributes"," //"," /////////////////////////////////////////////////////////////////////////////",""," /**"," * @attribute max"," * @description Maximum number of entries the Cache can hold."," * Set to 0 to turn off caching."," * @type Number"," * @default 0"," */"," max: {"," value: 0,"," setter: \"_setMax\""," },",""," /**"," * @attribute size"," * @description Number of entries currently cached."," * @type Number"," */"," size: {"," readOnly: true,"," getter: \"_getSize\""," },",""," /**"," * @attribute uniqueKeys"," * @description Validate uniqueness of stored keys. Default is false and"," * is more performant."," * @type Boolean"," */"," uniqueKeys: {"," value: false"," },",""," /**"," * @attribute expires"," * @description Absolute Date when data expires or"," * relative number of milliseconds. Zero disables expiration."," * @type Date | Number"," * @default 0"," */"," expires: {"," value: 0,"," validator: function(v) {"," return Y.Lang.isDate(v) || (Y.Lang.isNumber(v) && v >= 0);"," }"," },",""," /**"," * @attribute entries"," * @description Cached entries."," * @type Array"," */"," entries: {"," readOnly: true,"," getter: \"_getEntries\""," }"," }","});","","Y.extend(Cache, Y.Base, {"," /////////////////////////////////////////////////////////////////////////////"," //"," // Cache private properties"," //"," /////////////////////////////////////////////////////////////////////////////",""," /**"," * Array of request/response objects indexed chronologically."," *"," * @property _entries"," * @type Object[]"," * @private"," */"," _entries: null,",""," /////////////////////////////////////////////////////////////////////////////"," //"," // Cache private methods"," //"," /////////////////////////////////////////////////////////////////////////////",""," /**"," * @method initializer"," * @description Internal init() handler."," * @param config {Object} Config object."," * @private"," */"," initializer: function(config) {",""," /**"," * @event add"," * @description Fired when an entry is added."," * @param e {Event.Facade} Event Facade with the following properties:"," * <dl>"," * <dt>entry (Object)</dt> <dd>The cached entry.</dd>"," * </dl>"," * @preventable _defAddFn"," */"," this.publish(\"add\", {defaultFn: this._defAddFn});",""," /**"," * @event flush"," * @description Fired when the cache is flushed."," * @param e {Event.Facade} Event Facade object."," * @preventable _defFlushFn"," */"," this.publish(\"flush\", {defaultFn: this._defFlushFn});",""," /**"," * @event request"," * @description Fired when an entry is requested from the cache."," * @param e {Event.Facade} Event Facade with the following properties:"," * <dl>"," * <dt>request (Object)</dt> <dd>The request object.</dd>"," * </dl>"," */",""," /**"," * @event retrieve"," * @description Fired when an entry is retrieved from the cache."," * @param e {Event.Facade} Event Facade with the following properties:"," * <dl>"," * <dt>entry (Object)</dt> <dd>The retrieved entry.</dd>"," * </dl>"," */",""," // Initialize internal values"," this._entries = [];"," },",""," /**"," * @method destructor"," * @description Internal destroy() handler."," * @private"," */"," destructor: function() {"," this._entries = [];"," },",""," /////////////////////////////////////////////////////////////////////////////"," //"," // Cache protected methods"," //"," /////////////////////////////////////////////////////////////////////////////",""," /**"," * Sets max."," *"," * @method _setMax"," * @protected"," */"," _setMax: function(value) {"," // If the cache is full, make room by removing stalest element (index=0)"," var entries = this._entries;"," if(value > 0) {"," if(entries) {"," while(entries.length > value) {"," entries.shift();"," }"," }"," }"," else {"," value = 0;"," this._entries = [];"," }"," return value;"," },",""," /**"," * Gets size."," *"," * @method _getSize"," * @protected"," */"," _getSize: function() {"," return this._entries.length;"," },",""," /**"," * Gets all entries."," *"," * @method _getEntries"," * @protected"," */"," _getEntries: function() {"," return this._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 entries = this._entries,"," entry = e.entry,"," max = this.get(\"max\"),"," pos;",""," // If uniqueKeys is true and item exists with this key, then remove it."," if (this.get(\"uniqueKeys\")) {"," pos = this._position(e.entry.request);"," if (LANG.isValue(pos)) {"," entries.splice(pos, 1);"," }"," }",""," // If the cache at or over capacity, make room by removing stalest"," // element(s) starting at index-0."," while (max && entries.length >= max) {"," entries.shift();"," }",""," // Add entry to cache in the newest position, at the end of the array"," entries[entries.length] = entry;"," },",""," /**"," * Flushes cache."," *"," * @method _defFlushFn"," * @param e {Event.Facade} Event Facade object."," * @protected"," */"," _defFlushFn: function(e) {"," var entries = this._entries,"," details = e.details[0],"," pos;",""," //passed an item, flush only that"," if(details && LANG.isValue(details.request)) {"," pos = this._position(details.request);",""," if(LANG.isValue(pos)) {"," entries.splice(pos,1);",""," }"," }"," //no item, flush everything"," else {"," this._entries = [];"," }"," },",""," /**"," * Default overridable method compares current request with given cache entry."," * Returns true if current request matches the cached request, otherwise"," * false. Implementers should override this method to customize the"," * cache-matching algorithm."," *"," * @method _isMatch"," * @param request {Object} Request object."," * @param entry {Object} Cached entry."," * @return {Boolean} True if current request matches given cached request, false otherwise."," * @protected"," */"," _isMatch: function(request, entry) {"," if(!entry.expires || new Date() < entry.expires) {"," return (request === entry.request);"," }"," return false;"," },",""," /**"," * Returns position of a request in the entries array, otherwise null."," *"," * @method _position"," * @param request {Object} Request object."," * @return {Number} Array position if found, null otherwise."," * @protected"," */"," _position: function(request) {"," // If cache is enabled..."," var entries = this._entries,"," length = entries.length,"," i = length-1;",""," if((this.get(\"max\") === null) || this.get(\"max\") > 0) {"," // Loop through each cached entry starting from the newest"," for(; i >= 0; i--) {"," // Execute matching function"," if(this._isMatch(request, entries[i])) {"," return i;"," }"," }"," }",""," return null;"," },",""," /////////////////////////////////////////////////////////////////////////////"," //"," // Cache public methods"," //"," /////////////////////////////////////////////////////////////////////////////",""," /**"," * Adds a new entry to the cache of the format"," * {request:request, response:response, cached:cached, expires:expires}."," * If cache is full, evicts the stalest entry before adding the new one."," *"," * @method add"," * @param request {Object} Request value."," * @param response {Object} Response value."," */"," add: function(request, response) {"," var expires = this.get(\"expires\");"," if(this.get(\"initialized\") && ((this.get(\"max\") === null) || this.get(\"max\") > 0) &&"," (LANG.isValue(request) || LANG.isNull(request) || LANG.isUndefined(request))) {"," this.fire(\"add\", {entry: {"," request:request,"," response:response,"," cached: new Date(),"," expires: isDate(expires) ? expires :"," (expires ? new Date(new Date().getTime() + this.get(\"expires\")) : null)"," }});"," }"," else {"," }"," },",""," /**"," * Flushes cache."," *"," * @method flush"," */"," flush: function(request) {"," this.fire(\"flush\", { request: (LANG.isValue(request) ? request : null) });"," },",""," /**"," * Retrieves cached object for given request, if available, and refreshes"," * entry in the cache. Returns null if there is no cache match."," *"," * @method retrieve"," * @param request {Object} Request object."," * @return {Object} Cached object with the properties request and response, or null."," */"," retrieve: function(request) {"," // If cache is enabled..."," var entries = this._entries,"," length = entries.length,"," entry = null,"," pos;",""," if((length > 0) && ((this.get(\"max\") === null) || (this.get(\"max\") > 0))) {"," this.fire(\"request\", {request: request});",""," pos = this._position(request);",""," if(LANG.isValue(pos)) {"," entry = entries[pos];",""," this.fire(\"retrieve\", {entry: entry});",""," // Refresh the position of the cache hit"," if(pos < length-1) {"," // Remove element from its original location"," entries.splice(pos,1);"," // Add as newest"," entries[entries.length] = entry;"," }",""," return entry;"," }"," }"," return null;"," }","});","","Y.Cache = Cache;","","","}, '3.13.0', {\"requires\": [\"base\"]});","","}());"]};