You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
27 lines
760 B
JavaScript
27 lines
760 B
JavaScript
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;
|