13 lines
353 B
TypeScript
13 lines
353 B
TypeScript
|
import memoizee from 'memoizee'
|
||
|
|
||
|
export function Memoize (config?: memoizee.Options<any>) {
|
||
|
return function (_target, _key, descriptor: PropertyDescriptor) {
|
||
|
const oldFunction = descriptor.value
|
||
|
const newFunction = memoizee(oldFunction, config)
|
||
|
|
||
|
descriptor.value = function () {
|
||
|
return newFunction.apply(this, arguments)
|
||
|
}
|
||
|
}
|
||
|
}
|