function ClearCache(functionName, propertyKey) {
	    return function (target, propertyName, descriptor) {
	        var originalMethod = descriptor.value;
	        descriptor.value = function () {
	            var args = [];
	            for (var _i = 0; _i < arguments.length; _i++) {
	                args[_i - 0] = arguments[_i];
	            }
	            if (functionName === 'clearAllCachedData') {
	                cachedData = {};
	            }
	            else {
	                var key = getCacheKey(functionName, propertyKey, args);
	                delete cachedData[key];
	            }
	            return originalMethod.apply(this, args);
	        };
	        return descriptor;
	    };
	}
/**
	 * This function clears the cache by @Cache based on the same key and functionName logic.
	 * This function requires the name of the function that would have generated the cache that needs to be cleared.
	 * Also if the function called is 'clearAllCachedData()' then all data is cleared.
	 */
This function clears the cache by @Cache based on the same key and functionName logic.
This function requires the name of the function that would have generated the cache that needs to be cleared.
Also if the function called is 'clearAllCachedData()' then all data is cleared.
This function clears the cache by @Cache based on the same key and functionName logic . This function requires the name of the function that would have generated the cache that needs to be cleared . Also if the function called is ' clearAllCachedData () ' then all data is cleared .
function ClearCache(functionName, propertyKey) {
	    return function (target, propertyName, descriptor) {
	        var originalMethod = descriptor.value;
	        descriptor.value = function () {
	            var args = [];
	            for (var _i = 0; _i < arguments.length; _i++) {
	                args[_i - 0] = arguments[_i];
	            }
	            if (functionName === 'clearAllCachedData') {
	                cachedData = {};
	            }
	            else {
	                var key = getCacheKey(functionName, propertyKey, args);
	                delete cachedData[key];
	            }
	            return originalMethod.apply(this, args);
	        };
	        return descriptor;
	    };
	}
function ClearCache ( functionName , propertyKey ) { return function ( target , propertyName , descriptor ) { var originalMethod = descriptor . value ; descriptor . value = function ( ) { var args = [ ] ; for ( var _i = 0 ; _i < arguments . length ; _i ++ ) { args [ _i - 0 ] = arguments [ _i ] ; } if ( functionName === 'clearAllCachedData' ) { cachedData = { } ; } else { var key = getCacheKey ( functionName , propertyKey , args ) ; delete cachedData [ key ] ; } return originalMethod . apply ( this , args ) ; } ; return descriptor ; } ; }
This function clears the cache by @Cache based on the same key and functionName logic.
This function clears the cache by @Cache based on the same key and functionName logic .