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;