UNPKG

lakutata

Version:

An IoC-based universal application framework.

31 lines (24 loc) 834 B
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 };