UNPKG

ayanami

Version:
28 lines (27 loc) 1.4 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getAllActionNames = exports.getActionNames = exports.createActionDecorator = void 0; var tslib_1 = require("tslib"); var symbols_1 = require("../symbols"); function createActionDecorator(symbols) { return function () { return function ( // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types target, propertyKey, descriptor) { addActionName(symbols, target.constructor, propertyKey); return descriptor; }; }; } exports.createActionDecorator = createActionDecorator; // eslint-disable-next-line @typescript-eslint/ban-types function addActionName(symbols, constructor, actionName) { var decoratedActionNames = Reflect.getMetadata(symbols.decorator, constructor) || []; Reflect.defineMetadata(symbols.decorator, tslib_1.__spreadArray(tslib_1.__spreadArray([], decoratedActionNames), [actionName]), constructor); } function getActionNames(symbols, constructor) { return Reflect.getMetadata(symbols.decorator, constructor) || []; } exports.getActionNames = getActionNames; function getAllActionNames(instance) { return symbols_1.allActionSymbols.reduce(function (result, symbols) { return tslib_1.__spreadArray(tslib_1.__spreadArray([], result), getActionNames(symbols, instance.constructor)); }, []); } exports.getAllActionNames = getAllActionNames;