dist/cropper.common.js
function forEach(data, callback) {
  if (data && isFunction(callback)) {
    if (Array.isArray(data) || isNumber(data.length) /* array-like */) {
        var length = data.length;

        var i = void 0;

        for (i = 0; i < length; i += 1) {
          if (callback.call(data, data[i], i, data) === false) {
            break;
          }
        }
      } else if (isObject(data)) {
      Object.keys(data).forEach(function (key) {
        callback.call(data, data[key], key, data);
      });
    }
  }

  return data;
}
function forEach(data, callback) {
  if (data && isFunction(callback)) {
    if (Array.isArray(data) || isNumber(data.length) /* array-like */) {
        var length = data.length;

        var i = void 0;

        for (i = 0; i < length; i += 1) {
          if (callback.call(data, data[i], i, data) === false) {
            break;
          }
        }
      } else if (isObject(data)) {
      Object.keys(data).forEach(function (key) {
        callback.call(data, data[key], key, data);
      });
    }
  }

  return data;
}
function forEach ( data , callback ) { if ( data && isFunction ( callback ) ) { if ( Array . isArray ( data ) || isNumber ( data . length ) /* array-like */ ) { var length = data . length ; var i = void 0 ; for ( i = 0 ; i < length ; i += 1 ) { if ( callback . call ( data , data [ i ] , i , data ) === false ) { break ; } } } else if ( isObject ( data ) ) { Object . keys ( data ) . forEach ( function ( key ) { callback . call ( data , data [ key ] , key , data ) ; } ) ; } } return data ; }
Iterate the given data.
@param {*} data - The data to iterate.
@param {Function} callback - The process function for each element.
@returns {*} The original data.
Iterate the given data .