text: 'use strict';
  
  /**
   * Return true if the provided argument is a number, a numeric string, or an
   * array of numbers or numeric strings
   *
   * @module util/argument-is-numeric
   * @param {Number|String|Number[]|String[]} val The value to inspect
   * @param {String} key The property to which the mixin method should be assigned
   * @param {Function} mixin The mixin method
   * @returns {void}
   */
  function argumentIsNumeric( val ) {
  	if ( typeof val === 'number' ) {
  		return true;
  	}
  
  	if ( typeof val === 'string' ) {
  		return /^\d+$/.test( val );
  	}
  
  	if ( Array.isArray( val ) ) {
  		for ( var i = 0; i < val.length; i++ ) {
  			// Fail early if any argument isn't determined to be numeric
  			if ( ! argumentIsNumeric( val[ i ] ) ) {
  				return false;
  			}
  		}
  		return true;
  	}
  
  	// If it's not an array, and not a string, and not a number, we don't
  	// know what to do with it
  	return false;
  }
  
  module.exports = argumentIsNumeric;
  