@kwiz/common
Version:
KWIZ common utilities and helpers for M365 platform
17 lines (15 loc) • 519 B
text/typescript
import { isFunction } from "./typecheckers";
export function wrapFunction<ValueType, ReturnType>(f: (value: ValueType) => ReturnType, props: {
before?: (value: ValueType) => ValueType;
after?: (value: ValueType, returned: ReturnType) => void;
}) {
return (v: ValueType) => {
if (isFunction(props.before)) {
v = props.before(v);
}
let result = f(v);
if (isFunction(props.after))
props.after(v, result);
return result;
};
}