/mcpvalidateHandler(handler) Checks whether the given handler is a function. Example finesse.utilities.Utilities.validateHandler(a); Parameters Required Description Type Name Yes Any valid JavaScript function. Function handler Throws {Error} If the handler provided is invalid, or generic JavaScript error stating handler must be a function. Returns {Function} The provided handler if it is valid. whenAllDone() Uses jQuery implementation of Promises (Deferred) to run the code when multiple asynchronous processes have completed. Example var asyncProcess1 = $.Deferred(), asyncProcess2 = $.Deferred(); finesse.utilities.Utilities.whenAllDone(asyncProcess1, asyncProcess2) // WHEN both asyncProcess1 and asyncProcess2 are resolved or rejected ... .then( // First function passed to then() is called when all async processes are complete, regardless of errors function() { // Perform Logic("all processes completed"); }, // Second function passed to then() is called if any async processed threw an exception function(failures) { // Array of failure messages // Perform Logic("Number of failed async processes: " + failures.length); }); Returns {Object} A jQuery deferred object. For more information, see https://api.jquery.com/jQuery.Deferred/. Desktop Cache Class finesse.utilities.DesktopCache Allows gadgets to cache their data locally in the IndexedDB of the browser. When a third-party gadget makes any REST API call to retrieve data from the server (which does not change frequently), it can be cached using Desktop Cache. This helps to load the gadget faster after failover by avoiding a REST request to the server. The cached data is a key-value pair where the key is a string, and value is an object. Cisco Finesse Web Services Developer and JavaScript Guide, Release 12.5(1) 534 Cisco Finesse JavaScript APIs Desktop Cache