UNPKG

weaked

Version:

weak decorator, wraps it with a WeakRef descriptor

18 lines 1.34 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Weaked = void 0; function Weaked() { return function (target, propertyKey) { let sym = Symbol('WeakRef-' + (propertyKey.toString())); Object.defineProperty(target, propertyKey, { get() { return this[sym]?.deref(); }, set(v) { this[sym] = typeof v === 'object' && v ? new WeakRef(v) : undefined; }, }); }; } exports.Weaked = Weaked; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsU0FBZ0IsTUFBTTtJQUVsQixPQUFPLFVBQVUsTUFBTSxFQUFFLFdBQVc7UUFDaEMsSUFBSSxHQUFHLEdBQUcsTUFBTSxDQUFDLFVBQVUsR0FBRyxDQUFDLFdBQVcsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFFeEQsTUFBTSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEVBQUUsV0FBVyxFQUFFO1lBQ3ZDLEdBQUc7Z0JBQ0MsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUM7WUFDOUIsQ0FBQztZQUNELEdBQUcsQ0FBQyxDQUFTO2dCQUNULElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxPQUFPLENBQUMsS0FBSyxRQUFRLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLE9BQU8sQ0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1lBQ2hGLENBQUM7U0FDSixDQUFDLENBQUE7SUFDTixDQUFDLENBQUE7QUFDTCxDQUFDO0FBZEQsd0JBY0MifQ==