src/aja.js
function(functionName){
            functionName = this.string(functionName);
            if(!/^([a-zA-Z_])([a-zA-Z0-9_\-])+$/.test(functionName)){
                throw new TypeError('a valid function name is expected, ' + functionName + ' [' + (typeof functionName) + '] given');
            }
            return functionName;
        }
function(functionName){
            functionName = this.string(functionName);
            if(!/^([a-zA-Z_])([a-zA-Z0-9_\-])+$/.test(functionName)){
                throw new TypeError('a valid function name is expected, ' + functionName + ' [' + (typeof functionName) + '] given');
            }
            return functionName;
        }
function ( functionName ) { functionName = this . string ( functionName ) ; if ( ! / ^([a-zA-Z_])([a-zA-Z0-9_\-])+$ / . test ( functionName ) ) { throw new TypeError ( 'a valid function name is expected, ' + functionName + ' [' + ( typeof functionName ) + '] given' ) ; } return functionName ; }
Check if the parameter is a valid JavaScript function name.

@param {String} functionName
@returns {String} same as input if valid
@throws {TypeError} check it's a string and a valid name against the pattern inside.
Check if the parameter is a valid JavaScript function name .