UNPKG

@nivinjoseph/n-domain

Version:

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

39 lines (31 loc) 1.02 kB
import { AggregateState } from "../../src/aggregate-state.js"; import { AggregateStateFactory } from "../../src/aggregate-state-factory.js"; import { TodoDescription } from "./value-objects/todo-description.js"; export interface TodoState extends AggregateState { title: string; description: TodoDescription | null; isCompleted: boolean; } export class TodoStateFactory extends AggregateStateFactory<TodoState> { public create(): TodoState { return { ...this.createDefaultAggregateState(), title: null as any, description: null, isCompleted: false }; } // public update(state: TodoState): TodoState // { // given(state, "state").ensureHasValue().ensureIsObject(); // return state; // } // public deserializeSnapshot(snapshot: TodoState): TodoState // { // given(snapshot, "snapshot").ensureHasValue().ensureIsObject(); // return snapshot; // } }