EG/Cesium-1.132/packages/engine/Source/Core/wrapFunction.js
2025-08-25 17:48:13 +08:00

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;