UNPKG

@caidrive/shared

Version:

caidrive.shared.components

56 lines (55 loc) 1.04 kB
"use strict"; /** * What it does. * * @param name - Parameter description. * @returns Type and description of the returned object. * * @example * ``` * Write me later. * ``` */ Object.defineProperty(exports, "__esModule", { value: true }); exports.AggregateRoot = void 0; const entity_1 = require("./entity"); const domain_events_1 = require("../domain.events"); class AggregateRoot extends entity_1.Entity { constructor() { super(...arguments); /** * */ this.domainEvents = []; } /** * */ get events() { /** */ return this.domainEvents; } /** * */ addEvent(event) { /** * */ this.domainEvents.push(event); /** * */ domain_events_1.Dispatcher.addAggregate(this); } /** * */ clearEvents() { /** */ this.domainEvents.splice(0, this.domainEvents.length); } } exports.AggregateRoot = AggregateRoot;