vendor/assets/javascripts/precompiled/development/array.js in sugar-rails-1.3.6 vs vendor/assets/javascripts/precompiled/development/array.js in sugar-rails-1.3.7

- old
+ new

@@ -193,12 +193,15 @@ result = [], max = which === 'max', min = which === 'min', isArray = Array.isArray(obj); iterateOverObject(obj, function(key) { - var el = obj[key]; - var test = transformArgument(el, map, obj, isArray ? [el, parseInt(key), obj] : []); + var el = obj[key], + test = transformArgument(el, map, obj, isArray ? [el, parseInt(key), obj] : []); + if(isUndefined(test)) { + throw new TypeError('Cannot compare with undefined'); + } if(test === edge) { result.push(el); } else if(isUndefined(edge) || (max && test > edge) || (min && test < edge)) { result = [el]; edge = test; @@ -320,11 +323,11 @@ try { tmp = array.prototype.slice.call(a, 0); if(tmp.length > 0) { a = tmp; } - } catch(e) {} + } catch(e) {}; } result = result.concat(a); }); return result; } @@ -466,11 +469,11 @@ }, /*** * @method clone() * @returns Array - * @short Clones the array. + * @short Makes a shallow clone of the array. * @example * * [1,2,3].clone() -> [1,2,3] * ***/ @@ -1185,11 +1188,16 @@ return keysWithCoercion(obj).length; } }); + var EnumerableFindingMethods = 'any,all,none,count,find,findAll,isEmpty'.split(','); + var EnumerableMappingMethods = 'sum,average,min,max,least,most'.split(','); + var EnumerableOtherMethods = 'map,reduce,size'.split(','); + var EnumerableMethods = EnumerableFindingMethods.concat(EnumerableMappingMethods).concat(EnumerableOtherMethods); + buildEnhancements(); buildAlphanumericSort(); - buildEnumerableMethods('any,all,none,count,find,findAll,isEmpty'); - buildEnumerableMethods('sum,average,min,max,least,most', true); - buildObjectInstanceMethods('map,reduce,size', Hash); + buildEnumerableMethods(EnumerableFindingMethods); + buildEnumerableMethods(EnumerableMappingMethods, true); + buildObjectInstanceMethods(EnumerableOtherMethods, Hash);