import DeveloperError from './DeveloperError.js';
|
|
/**
|
* Wraps a function on the provided objects with another function called in the
|
* object's context so that the new function is always called immediately
|
* before the old one.
|
*
|
* @private
|
*/
|
function wrapFunction(obj, oldFunction, newFunction) {
|
//>>includeStart('debug', pragmas.debug);
|
if (typeof oldFunction !== 'function') {
|
throw new DeveloperError('oldFunction is required to be a function.');
|
}
|
|
if (typeof newFunction !== 'function') {
|
throw new DeveloperError('oldFunction is required to be a function.');
|
}
|
//>>includeEnd('debug');
|
|
return function() {
|
newFunction.apply(obj, arguments);
|
oldFunction.apply(obj, arguments);
|
};
|
}
|
export default wrapFunction;
|