mirror of
https://github.com/rxliuli/apps.apple.com.git
synced 2025-11-10 01:00:33 +00:00
init commit
This commit is contained in:
45
shared/logger/node_modules/@sentry/utils/esm/memo.js
generated
vendored
Normal file
45
shared/logger/node_modules/@sentry/utils/esm/memo.js
generated
vendored
Normal file
@@ -0,0 +1,45 @@
|
||||
/* eslint-disable @typescript-eslint/no-unsafe-member-access */
|
||||
/* eslint-disable @typescript-eslint/no-explicit-any */
|
||||
|
||||
/**
|
||||
* Helper to decycle json objects
|
||||
*/
|
||||
function memoBuilder() {
|
||||
const hasWeakSet = typeof WeakSet === 'function';
|
||||
const inner = hasWeakSet ? new WeakSet() : [];
|
||||
function memoize(obj) {
|
||||
if (hasWeakSet) {
|
||||
if (inner.has(obj)) {
|
||||
return true;
|
||||
}
|
||||
inner.add(obj);
|
||||
return false;
|
||||
}
|
||||
// eslint-disable-next-line @typescript-eslint/prefer-for-of
|
||||
for (let i = 0; i < inner.length; i++) {
|
||||
const value = inner[i];
|
||||
if (value === obj) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
inner.push(obj);
|
||||
return false;
|
||||
}
|
||||
|
||||
function unmemoize(obj) {
|
||||
if (hasWeakSet) {
|
||||
inner.delete(obj);
|
||||
} else {
|
||||
for (let i = 0; i < inner.length; i++) {
|
||||
if (inner[i] === obj) {
|
||||
inner.splice(i, 1);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return [memoize, unmemoize];
|
||||
}
|
||||
|
||||
export { memoBuilder };
|
||||
//# sourceMappingURL=memo.js.map
|
||||
Reference in New Issue
Block a user