function anonymous(baseCreateCallback, errorClass, errorProto, hasOwnProperty, indicatorObject, isArguments, isArray, isString, keys, objectProto, objectTypes, nonEnumProps, stringClass, stringProto, toString ) { return function(collection, callback, thisArg) { var index, iterable = collection, result = iterable; if (!iterable) return result; callback = callback && typeof thisArg == 'undefined' ? callback : baseCreateCallback(callback, thisArg, 3); var length = iterable.length; index = -1; if (typeof length == 'number') { while (++index < length) { if (callback(iterable[index], index, collection) === false) return result; } } else { var ownIndex = -1, ownProps = objectTypes[typeof iterable] && keys(iterable), length = ownProps ? ownProps.length : 0; while (++ownIndex < length) { index = ownProps[ownIndex]; if (callback(iterable[index], index, collection) === false) return result; } }; return result } }