Skip to content

消息载荷与状态元数据

这些小接口组合成命令、事件和快照信封。元数据由服务端提供;导入或赋值一个类型不会加载历史、执行处理器或生成时间戳。

字段组含义与约束
BodyCapable<T>.body / StateCapable<S>.state所选泛型类型的必填载荷;不验证 JSON、不克隆或初始化。消息体不自动等于完整聚合状态。
CreateTimeCapable.createTime创建时间,Unix 纪元起的毫秒数。
EventTimeCapable.eventTime / FirstEventTimeCapable.firstEventTime最后 / 首次事件时间,Unix 纪元起的毫秒数。
SnapshotTimeCapable.snapshotTime快照时间,Unix 纪元起的毫秒数;不证明快照已经包含某个命令。
EventIdCapable.eventId字符串事件标识,与聚合标识不同。
OperatorCapable.operator / FirstOperatorCapable.firstOperator最后 / 首次操作者的身份字符串。
DeletedCapable.deleted必填布尔删除标记;该类型本身不会过滤已删除数据。
FunctionInfo必填 contextName、name、functionKind、processorName;FunctionInfoCapable.function 嵌套它。
FunctionKindCOMMAND、ERROR、EVENT、SOURCING、STATE_EVENT 分类;不是可调用的 JavaScript 函数。
MessageHeaderSqlTypeMAP 或 STRING 存储表示标签;枚举不执行 SQL 序列化。

所有元数据接口均无运行时默认值。完整信封及其必填继承字段参见事件与历史快照查询

精确契约

FunctionKind

ts
export enum FunctionKind {
  COMMAND = 'COMMAND',
  ERROR = 'ERROR',
  EVENT = 'EVENT',
  SOURCING = 'SOURCING',
  STATE_EVENT = 'STATE_EVENT',
}

packages/wow/src/types/function.ts:21

FunctionInfo

ts
export interface FunctionInfo extends NamedBoundedContext, Named {
  functionKind: FunctionKind;
  processorName: string;
}

packages/wow/src/types/function.ts:51

FunctionInfoCapable

ts
export interface FunctionInfoCapable {
  function: FunctionInfo;
}

packages/wow/src/types/function.ts:59

BodyCapable

ts
export interface BodyCapable<T> {
  body: T;
}

packages/wow/src/types/messaging.ts:14

CreateTimeCapable

ts
export interface CreateTimeCapable {
  createTime: number;
}

packages/wow/src/types/modeling.ts:19

DeletedCapable

ts
export interface DeletedCapable {
  deleted: boolean;
}

packages/wow/src/types/modeling.ts:29

EventIdCapable

ts
export interface EventIdCapable {
  eventId: string;
}

packages/wow/src/types/modeling.ts:39

EventTimeCapable

ts
export interface EventTimeCapable {
  eventTime: number;
}

packages/wow/src/types/modeling.ts:49

FirstEventTimeCapable

ts
export interface FirstEventTimeCapable {
  firstEventTime: number;
}

packages/wow/src/types/modeling.ts:59

FirstOperatorCapable

ts
export interface FirstOperatorCapable {
  firstOperator: string;
}

packages/wow/src/types/modeling.ts:69

OperatorCapable

ts
export interface OperatorCapable {
  operator: string;
}

packages/wow/src/types/modeling.ts:122

SnapshotTimeCapable

ts
export interface SnapshotTimeCapable {
  snapshotTime: number;
}

packages/wow/src/types/modeling.ts:148

StateCapable

ts
export interface StateCapable<S> {
  state: S;
}

packages/wow/src/types/modeling.ts:165

MessageHeaderSqlType

ts
export enum MessageHeaderSqlType {
  MAP = 'MAP',
  STRING = 'STRING',
}

packages/wow/src/types/bi.ts:14

完整符号索引

基于 Apache License 2.0 发布。