Please enable JavaScript to use RhodeCode Enterprise
Commit Description:
fix wrong merge
Commit Description:
fix wrong merge
'use strict' ;
var fnToStr = Function . prototype . toString ;
var constructorRegex = /^\s*class\b/ ;
var isES6ClassFn = function isES6ClassFunction ( value ) {
try {
var fnStr = fnToStr . call ( value );
return constructorRegex . test ( fnStr );
} catch ( e ) {
return false ; // not a function
}
};
var tryFunctionObject = function tryFunctionToStr ( value ) {
try {
if ( isES6ClassFn ( value )) { return false ; }
fnToStr . call ( value );
return true ;
} catch ( e ) {
return false ;
}
};
var toStr = Object . prototype . toString ;
var fnClass = '[object Function]' ;
var genClass = '[object GeneratorFunction]' ;
var hasToStringTag = typeof Symbol === 'function' && typeof Symbol . toStringTag === 'symbol' ;
module . exports = function isCallable ( value ) {
if ( ! value ) { return false ; }
if ( typeof value !== 'function' && typeof value !== 'object' ) { return false ; }
if ( typeof value === 'function' && ! value . prototype ) { return true ; }
if ( hasToStringTag ) { return tryFunctionObject ( value ); }
if ( isES6ClassFn ( value )) { return false ; }
var strClass = toStr . call ( value );
return strClass === fnClass || strClass === genClass ;
};
Site-wide shortcuts
/
Use quick search box
g h
Goto home page
g g
Goto my private gists page
g G
Goto my public gists page
n r
New repository page
n g
New gist page
Repositories
g s
Goto summary page
g c
Goto changelog page
g f
Goto files page
g F
Goto files page with file search activated
g p
Goto pull requests page
g o
Goto repository settings
g O
Goto repository permissions settings