| Current File : /home/jvzmxxx/wiki1/extensions/MobileFrontend/resources/mobile.cache/Cache.js |
( function ( M ) {
/* This module defines several types of cache classes to use in other
* modules.
* The interface, that all types use, is kept synchronous driven by current
* usage patterns, but will need to be revisited in case usage patterns
* suggest we need asynchronous caches.
*/
/**
* In memory cache implementation
*
* @class MemoryCache
*/
function MemoryCache() {
this._cache = {};
}
/**
* Retrieve a cached value from a key
* @method get
* @param {String} key
* @returns {*}
*/
MemoryCache.prototype.get = function ( key ) {
return this._cache[ key ];
};
/**
* Cache a value by key
* @method set
* @param {String} key
* @param {*} value
*/
MemoryCache.prototype.set = function ( key, value ) {
this._cache[ key ] = value;
};
/**
* Null object cache implementation
*
* @class NoCache
*/
function NoCache() { }
/**
* NoOp
* @method get
*/
NoCache.prototype.get = function () { };
/**
* NoOp
* @method set
*/
NoCache.prototype.set = function () { };
M.define( 'mobile.cache', {
MemoryCache: MemoryCache,
NoCache: NoCache
} );
} )( mw.mobileFrontend );