forked from actions/setup-maven
16 lines
609 B
JavaScript
16 lines
609 B
JavaScript
|
var _baseCreate = require('./_baseCreate.js');
|
||
|
var isObject = require('./isObject.js');
|
||
|
|
||
|
// Internal function to execute `sourceFunc` bound to `context` with optional
|
||
|
// `args`. Determines whether to execute a function as a constructor or as a
|
||
|
// normal function.
|
||
|
function executeBound(sourceFunc, boundFunc, context, callingContext, args) {
|
||
|
if (!(callingContext instanceof boundFunc)) return sourceFunc.apply(context, args);
|
||
|
var self = _baseCreate(sourceFunc.prototype);
|
||
|
var result = sourceFunc.apply(self, args);
|
||
|
if (isObject(result)) return result;
|
||
|
return self;
|
||
|
}
|
||
|
|
||
|
module.exports = executeBound;
|