UNPKG

@lesnoypudge/utils

Version:

lesnoypudge's utils

30 lines (29 loc) 807 B
import "ts-deepmerge"; import "auto-bind"; import isCallable from "is-callable"; import "react-fast-compare"; import { never } from "../never/never.js"; import { noop } from "../noop/noop.js"; const patch = (options) => { const { methodName, objectToPatch, providedThis, patchedMethodFactory } = options; const originalMethod = objectToPatch[methodName]; if (!isCallable(originalMethod)) return noop; const patchedMethod = patchedMethodFactory( originalMethod.bind(providedThis) ); if (!isCallable(patchedMethod)) never("Factory should return function"); objectToPatch[methodName] = patchedMethod.bind(providedThis); const restore = () => { objectToPatch[methodName] = originalMethod; }; return restore; }; export { patch }; //# sourceMappingURL=patch.js.map