forked from rDrama/rDrama
1
0
Fork 0
rDrama/node_modules/tailwindcss/lib/util/useMemo.js

32 lines
554 B
JavaScript

"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.useMemo = useMemo;
var _disposables = require("./disposables");
function useMemo(cb, keyResolver) {
let cache = new Map();
function clearCache() {
cache.clear();
_disposables.shared.add(clearCache);
}
_disposables.shared.add(clearCache);
return (...args) => {
let key = keyResolver(...args);
if (cache.has(key)) {
return cache.get(key);
}
let result = cb(...args);
cache.set(key, result);
return result;
};
}