UNPKG

@dolittle/sdk.aggregates

Version:

Dolittle is a decentralized, distributed, event-driven microservice platform built to harness the power of events.

29 lines 2.72 kB
"use strict"; // Copyright (c) Dolittle. All rights reserved. // Licensed under the MIT license. See LICENSE file in the project root for full license information. Object.defineProperty(exports, "__esModule", { value: true }); exports.getOnDecoratedMethods = exports.on = void 0; const sdk_artifacts_1 = require("@dolittle/sdk.artifacts"); const sdk_common_1 = require("@dolittle/sdk.common"); const OnDecoratedMethod_1 = require("./OnDecoratedMethod"); const [decorator, getMetadata] = sdk_common_1.Decorators.createMetadataDecorator('aggregate-root-on-methods', 'on', sdk_common_1.Decorators.DecoratorTarget.Method); function on(typeOrId, generation) { return decorator((target, type, propertyKey, descriptorOrIndex, onDecoratedMethods) => { const methods = onDecoratedMethods || []; const methodName = propertyKey; const method = descriptorOrIndex.value; methods.push(new OnDecoratedMethod_1.OnDecoratedMethod(type, typeOrId, generation ? sdk_artifacts_1.Generation.from(generation) : undefined, method, methodName)); return methods; }); } exports.on = on; /** * Gets the decorated aggregate root on methods of the specified class. * @param {Constructor<any>} type - The class to get the decorated aggregate root on methods for. * @returns {OnDecoratedMethod[]} The decorated aggregate root on methods. */ function getOnDecoratedMethods(type) { return getMetadata(type) || []; } exports.getOnDecoratedMethods = getOnDecoratedMethods; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib25EZWNvcmF0b3IuanMiLCJzb3VyY2VSb290IjoiLi4vIiwic291cmNlcyI6WyJvbkRlY29yYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsK0NBQStDO0FBQy9DLHFHQUFxRzs7O0FBSXJHLDJEQUFxRTtBQUNyRSxxREFBa0Q7QUFHbEQsMkRBQXdEO0FBR3hELE1BQU0sQ0FBQyxTQUFTLEVBQUUsV0FBVyxDQUFDLEdBQUcsdUJBQVUsQ0FBQyx1QkFBdUIsQ0FBc0IsMkJBQTJCLEVBQUUsSUFBSSxFQUFFLHVCQUFVLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBZS9KLFNBQWdCLEVBQUUsQ0FBQyxRQUE0QyxFQUFFLFVBQTJCO0lBQ3hGLE9BQU8sU0FBUyxDQUFDLENBQUMsTUFBTSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsaUJBQWlCLEVBQUUsa0JBQWtCLEVBQUUsRUFBRTtRQUNsRixNQUFNLE9BQU8sR0FBRyxrQkFBa0IsSUFBSSxFQUFFLENBQUM7UUFFekMsTUFBTSxVQUFVLEdBQUcsV0FBcUIsQ0FBQztRQUN6QyxNQUFNLE1BQU0sR0FBSSxpQkFBd0MsQ0FBQyxLQUEwQixDQUFDO1FBRXBGLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxxQ0FBaUIsQ0FBQyxJQUFJLEVBQUUsUUFBUSxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUMsMEJBQVUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxNQUFNLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FBQztRQUU5SCxPQUFPLE9BQU8sQ0FBQztJQUNuQixDQUFDLENBQUMsQ0FBQztBQUNQLENBQUM7QUFYRCxnQkFXQztBQUVEOzs7O0dBSUc7QUFDSCxTQUFnQixxQkFBcUIsQ0FBQyxJQUFzQjtJQUN4RCxPQUFPLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7QUFDbkMsQ0FBQztBQUZELHNEQUVDIn0=