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;
|