nestjs-event-sourcing-lib
Version:
A comprehensive Event Sourcing and CQRS library for NestJS applications
10 lines • 1.12 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.AGGREGATE_METADATA = void 0;
exports.AggregateRoot = AggregateRoot;
exports.getAggregateMetadata = getAggregateMetadata;
const common_1 = require("@nestjs/common"); /** * Metadata for aggregate */
exports.AGGREGATE_METADATA = Symbol('AGGREGATE_METADATA'); /** * Decorator to mark class as aggregate */
function AggregateRoot(metadata) { return function (constructor) { const aggregateMetadata = { name: (metadata === null || metadata === void 0 ? void 0 : metadata.name) || constructor.name, eventStore: metadata === null || metadata === void 0 ? void 0 : metadata.eventStore, snapshotFrequency: (metadata === null || metadata === void 0 ? void 0 : metadata.snapshotFrequency) || 0, }; (0, common_1.SetMetadata)(exports.AGGREGATE_METADATA, aggregateMetadata)(constructor); (0, common_1.Injectable)()(constructor); return constructor; }; } /** * Function to get aggregate metadata */
function getAggregateMetadata(target) { return Reflect.getMetadata(exports.AGGREGATE_METADATA, target); }
//# sourceMappingURL=aggregate.decorator.js.map