UNPKG

@ayanaware/bento

Version:

Modular runtime framework designed to solve complex tasks

24 lines 1.08 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Subscribe = exports.getSubscriptions = void 0; const SUBSCRIBE_KEY = '@ayanaware/bento:Subscribe'; // eslint-disable-next-line @typescript-eslint/ban-types function getSubscriptions(target) { const subscriptions = Reflect.getMetadata(SUBSCRIBE_KEY, target); if (!Array.isArray(subscriptions)) return []; return subscriptions; } exports.getSubscriptions = getSubscriptions; function Subscribe(reference, event) { return (target, propertyKey, descriptor) => { // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access if (target.prototype === undefined) target = target.constructor; const subscriptions = Reflect.getMetadata(SUBSCRIBE_KEY, target) || []; subscriptions.push({ reference, event, handler: descriptor.value }); Reflect.defineMetadata(SUBSCRIBE_KEY, subscriptions, target); }; } exports.Subscribe = Subscribe; //# sourceMappingURL=Subscribe.js.map