UNPKG

lakutata

Version:

An IoC-based universal application framework.

41 lines (30 loc) 937 B
"use strict"; Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" }); const e = require("../../helpers/As.cjs"); 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 c(c, f) { const s = n(c); const d = new WeakRef(f); e.As(Reflect.getOwnMetadata(a, c)).register(f, d); s.add(d); Reflect.defineMetadata(t, s, c); } function f(e) { if (!Reflect.hasOwnMetadata(t, e)) return; Reflect.deleteMetadata(t, e); } exports.AppendObjectWeakRefs = c; exports.ClearObjectWeakRefs = f; exports.GetObjectWeakRefs = n;