lakutata
Version:
An IoC-based universal application framework.
32 lines (25 loc) • 906 B
JavaScript
/* Build Date: Mon Jan 05 2026 23:52:23 GMT+0800 (China Standard Time) */
import { As as e } from "../../helpers/As.mjs";
const t = Symbol("OWR");
const a = Symbol("OFR");
function n(e) {
if (!Reflect.hasOwnMetadata(a, e)) Reflect.defineMetadata(a, new FinalizationRegistry(a => {
const n = Reflect.getOwnMetadata(t, e) || new Set;
n.delete(a);
Reflect.defineMetadata(t, n, e);
}), e);
if (!Reflect.hasOwnMetadata(t, e)) Reflect.defineMetadata(t, new Set, e);
return Reflect.getOwnMetadata(t, e);
}
function f(f, c) {
const d = n(f);
const l = new WeakRef(c);
e(Reflect.getOwnMetadata(a, f)).register(c, l);
d.add(l);
Reflect.defineMetadata(t, d, f);
}
function c(e) {
if (!Reflect.hasOwnMetadata(t, e)) return;
Reflect.deleteMetadata(t, e);
}
export { f as AppendObjectWeakRefs, c as ClearObjectWeakRefs, n as GetObjectWeakRefs };