Source code for nwbwidgets.utils.functional
import pickle
[docs]class MemoizeMutable:
def __init__(self, fn):
self.fn = fn
self.memo = {}
def __call__(self, *args, **kwds):
this_str = pickle.dumps(args, 1) + pickle.dumps(kwds, 1)
if this_str not in self.memo:
self.memo[this_str] = self.fn(*args, **kwds)
return self.memo[this_str]