diff -r d334a616c023 -r e16a97fb364a src/cm/media/js/lib/yui/yui3-3.15.0/build/array-invoke/array-invoke.js --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/cm/media/js/lib/yui/yui3-3.15.0/build/array-invoke/array-invoke.js Mon Mar 10 15:19:48 2014 +0100 @@ -0,0 +1,40 @@ +YUI.add('array-invoke', function (Y, NAME) { + +/** +@module collection +@submodule array-invoke +*/ + +/** +Executes a named method on each item in an array of objects. Items in the array +that do not have a function by that name will be skipped. + +@example + + Y.Array.invoke(arrayOfDrags, 'plug', Y.Plugin.DDProxy); + +@method invoke +@param {Array} items Array of objects supporting the named method. +@param {String} name the name of the method to execute on each item. +@param {Any} [args*] Any number of additional args are passed as parameters to + the execution of the named method. +@return {Array} All return values, indexed according to the item index. +@static +@for Array +**/ +Y.Array.invoke = function(items, name) { + var args = Y.Array(arguments, 2, true), + isFunction = Y.Lang.isFunction, + ret = []; + + Y.Array.each(Y.Array(items), function(item, i) { + if (item && isFunction(item[name])) { + ret[i] = item[name].apply(item, args); + } + }); + + return ret; +}; + + +}, '@VERSION@', {"requires": ["yui-base"]});