Show:
/**
 * Contains a set of utility functions to ease working with {{#crossLink "ProAct.Array"}}{{/crossLink}}s.
 * Can be reffered by using `ProAct.AU` too.
 *
 * This class is part of the `proact-arrays` module of ProAct.js.
 *
 * @namespace ProAct
 * @class ArrayUtils
 * @static
 */
ProAct.ArrayUtils = Pro.AU = {

  /**
   * Checks if the passed value is instance of the {{#crossLink "ProAct.Array"}}{{/crossLink}} type or not.
   *
   * @method isProArray
   * @param {Object} value The value to check.
   * @return {Boolean} True if the passed `value` is a ProAct.Array instance.
   */
  isProArray: function (value) {
    return value !== null && P.U.isObject(value) && P.U.isArray(value._array) && value.length !== undefined && value.core != undefined;
  },

  /**
   * Checks if the passed value is a valid array-like object or not.
   * Array like objects in ProAct.js are plain JavaScript arrays and {{#crossLink "ProAct.Array"}}{{/crossLink}}s.
   *
   * @method isArrayObject
   * @param {Object} value The value to check.
   * @return {Boolean} True if the passed `value` is an Array or ProAct.Array instance.
   */
  isArrayObject: function (value) {
    return P.U.isArray(value) || P.ArrayUtils.isProArray(value);
  }

};