UNPKG

@nivinjoseph/n-domain

Version:

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

35 lines (31 loc) 932 B
import { given } from "@nivinjoseph/n-defensive"; // public export interface AggregateState { readonly typeVersion: number; id: string; version: number; createdAt: number; updatedAt: number; isRebased: boolean; rebasedFromVersion: number; // ^^^^^ any change to this should also affect the clearBaseState function below } export function clearBaseState(state: object): void { given(state, "state").ensureHasValue().ensureIsObject(); // @ts-expect-error: deliberate delete state.typeVersion; // @ts-expect-error: deliberate delete state.id; // @ts-expect-error: deliberate delete state.version; // @ts-expect-error: deliberate delete state.createdAt; // @ts-expect-error: deliberate delete state.updatedAt; // @ts-expect-error: deliberate delete state.isRebased; // @ts-expect-error: deliberate delete state.rebasedFromVersion; }