setup-maven-cached/node_modules/underscore/amd/_executeBound.js

17 lines
613 B
JavaScript
Raw Normal View History

2022-06-28 16:39:30 +08:00
define(['./_baseCreate', './isObject'], function (_baseCreate, isObject) {
// 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;
}
return executeBound;
});