pagraphcontrol/utils/memoize.js
2018-11-12 21:06:14 +03:00

17 lines
277 B
JavaScript

const {
memoizeWith,
} = require('ramda');
const weakmapId_ = new WeakMap();
const weakmapId = o => {
if (!weakmapId_.has(o)) {
weakmapId_.set(o, String(Math.random()));
}
return weakmapId_.get(o);
};
const memoize = memoizeWith(weakmapId);
module.exports = memoize;