UNPKG

@nivinjoseph/n-domain

Version:

Domain Driven Design and Event Sourcing based framework for business layer implementation

28 lines 1.09 kB
import { Serializable } from "@nivinjoseph/n-util"; import { AggregateState } from "./aggregate-state.js"; import { DomainEventData } from "./domain-event-data.js"; import { AggregateRoot } from "./aggregate-root.js"; import { DomainContext } from "./domain-context.js"; export declare abstract class DomainEvent<T extends AggregateState> extends Serializable<DomainEventData> { private _aggregateId; private _id; private _userId; private readonly _name; private readonly _occurredAt; private _version; private readonly _isCreatedEvent; get aggregateId(): string; get id(): string; get userId(): string; get name(): string; get partitionKey(): string; get refId(): string; abstract get refType(): string; get occurredAt(): number; get version(): number; get isCreatedEvent(): boolean; constructor(data: DomainEventData); apply(aggregate: AggregateRoot<T, DomainEvent<T>>, domainContext: DomainContext, state: T): void; protected abstract applyEvent(state: T): void; } //# sourceMappingURL=domain-event.d.ts.map