one
Version:
One is a React framework for web, iOS, and Android apps.
35 lines (33 loc) • 950 B
JavaScript
var cache = /* @__PURE__ */ new WeakMap();
function weakMemoObject(obj) {
if (!cache.has(obj)) {
var memoizedObj = {};
var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
try {
for (var _iterator = Object.keys(obj)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
var key = _step.value;
if (!cache.has(obj[key])) {
cache.set(obj[key], obj[key]);
}
memoizedObj[key] = cache.get(obj[key]);
}
} catch (err) {
_didIteratorError = true;
_iteratorError = err;
} finally {
try {
if (!_iteratorNormalCompletion && _iterator.return != null) {
_iterator.return();
}
} finally {
if (_didIteratorError) {
throw _iteratorError;
}
}
}
cache.set(obj, memoizedObj);
}
return cache.get(obj);
}
export { weakMemoObject };
//# sourceMappingURL=weakMemo.native.js.map