com.neolao.data.TypeUtils

Methodes utiles sur les types de variable.

Méthodes

Visibilité Return Nom Param 1 Description
static public Boolean isString pValue:Object Tester si la référence est une chaîne de caractère ou une instance de String
static public Boolean isNumber pValue:Object Tester si la référence est un nombre ou une instance de Number
static public Boolean isInteger pValue:Object Tester si la référence est un entier
static public Boolean isFloat pValue:Object Tester si la référence est un nombre à virgule
static public Boolean isBoolean pValue:Object Tester si la référence est un bouléen
static public Boolean isMovieClip pValue:Object Tester si la référence est un MovieClip
static public Boolean isClass pValue:Object Tester si la référence est un Class
static public Boolean isFunction pValue:Object Tester si la référence est une Function
static public Boolean isArray pValue:Object Tester si la référence est un Array
static public Boolean isButton pValue:Object Tester si la référence est un Button
static public Boolean isTextField pValue:Object Tester si la référence est un TextField
static public Boolean isObject pValue:Object Tester si la référence est un Object
static public Boolean isNull pValue:Object Tester si la référence est null
static public Boolean isUndefined pValue:Object Tester si la référence est undefined
static public String typeOf pValue:Object Trouver le type de la référence

Source

/**
 * ATTENTION : UTF-8 (éàöù)
 * 
 * [16/01/2004] Version 1.2
 * [05/10/2005] Version 1.3
 * Réécriture plus compact.
 * 
 * [08/11/2005] Version 1.4
 * Correction pour une compilation mtasc strict
 * @ignore
 * 
 * Méthodes utiles liées aux Types
 * @author 			neolao <neo@neolao.com>
 * @version			1.4 (08/11/2005)
 * @link			http://resources.neolao.com/flash/classes_fp8/data/TypeUtils
 * @license			http://creativecommons.org/licenses/by-sa/2.5/
 */
class com.neolao.data.TypeUtils {
	public static var className:String = "TypeUtils";
	public static var version:String = "1.4";
 
	// ----------------------------- CONSTANTES --------------------------------
	/**
	 * Liste des types possibles
	 */
	private static var _types:Array = ["String",
										 "Integer",
										 "Float",
										 "Boolean",
										 "MovieClip",
										 "Class",
										 "Function",
										 "Array",
										 "Button",
										 "TextField",
										 "Object",
										 "Null",
										 "Undefined"];
 
	/*========================== METHODES PUBLIQUES ==========================*/
	/*========================================================================*/
	/**
	 * Tester si la référence est une chaîne de caractère ou une instance de String
	 * @param o La référence de l'objet à tester
	 * @return true si la référence est un String
	 */
	public static function isString(o:Object):Boolean {
		return (o instanceof String)?true:(typeof(o) == "string");
	}
	/**
	 * Tester si la référence est un nombre ou une instance de Number
	 * @param o La référence de l'objet à tester
	 * @return true si la référence est un Number
	 */
	public static function isNumber(o:Object):Boolean {
		return (o instanceof Number)?true:(typeof(o) == "number");
	}
	/**
	 * Tester si la référence est un entier
	 * @param o La référence de l'objet à tester
	 * @return true si la référence est un entier
	 */
	public static function isInteger(o:Object):Boolean {
		return (isNumber(o) && parseInt(String(o), 10) == o);
	}
	/**
	 * Tester si la référence est un nombre à virgule
	 * @param o La référence de l'objet à tester
	 * @return true si la référence est un nombre à virgule
	 */
	public static function isFloat(o:Object):Boolean {
		return (isNumber(o) && !isInteger(o));
	}
	/**
	 * Tester si la référence est un bouléen
	 * @param o La référence de l'objet à tester
	 * @return true si la référence est un bouléen
	 */
	public static function isBoolean(o:Object):Boolean {
		return (typeof(o) == "boolean");
	}
	/**
	 * Tester si la référence est un MovieClip
	 * @param o La référence de l'objet à tester
	 * @return true si la référence est un MovieClip
	 */
	public static function isMovieClip(o:Object):Boolean {
		return (typeof(o) == "movieclip");
	}
	/**
	 * Tester si la référence est un Class
	 * @param o La référence de l'objet à tester
	 * @return true si la référence est une Class
	 */
	public static function isClass(o:Object):Boolean {
		if(typeof(o) != "function") return false;
		for(var temp:String in o){
			return true;
		}
		return false;
	}
	/**
	 * Tester si la référence est une Function
	 * @param o La référence de l'objet à tester
	 * @return true si la référence est une Function
	 */
	public static function isFunction(o:Object):Boolean {
		return (typeof(o) == "function" && !isClass(o));
	}
	/**
	 * Tester si la référence est un Array
	 * @param o La référence de l'objet à tester
	 * @return true si la référence est un Array
	 */
	public static function isArray(o:Object):Boolean {
		return (o instanceof Array);
	}
	/**
	 * Tester si la référence est un Button
	 * @param o La référence de l'objet à tester
	 * @return true si la référence est un Button
	 */
	public static function isButton(o:Object):Boolean {
		return (typeof(o) == "object" && isNumber(o.getDepth()) && !isBoolean(o.html));
	}
	/**
	 * Tester si la référence est un TextField
	 * @param o La référence de l'objet à tester
	 * @return true si la référence est un TextField
	 */
	public static function isTextField(o:Object):Boolean {
		return (typeof(o) == "object" && isBoolean(o.html));
	}
	/**
	 * Tester si la référence est un Object
	 * @param o La référence de l'objet à tester
	 * @return true si la référence est un Object
	 */
	public static function isObject(o:Object):Boolean {
		return (typeof(o) == "object" && !isButton(o) && !isTextField(o));
	}
	/**
	 * Tester si la référence est null
	 * @param o La référence de l'objet à tester
	 * @return true si la référence est null
	 */
	public static function isNull(o:Object):Boolean {
		return (o === null);
	}
	/**
	 * Tester si la référence est undefined
	 * @param o La référence de l'objet à tester
	 * @return true si la référence est undefined
	 */
	public static function isUndefined(o:Object):Boolean {
		return (o === undefined);
	}
	/**
	 * Trouver le type de la référence
	 * @param o La référence de l'objet à tester
	 * @return Retourne le type de l'objet
	 */
	public static function typeOf(o:Object):String{							 
		for(var i:Number = 0; i < _types.length; i++){
			if(TypeUtils["is" + _types[i]](o)) return _types[i];
		}		
	}
	/*==================== FIN = METHODES PUBLIQUES = FIN ====================*/
	/*========================================================================*/
}