消息载荷与状态元数据
这些小接口组合成命令、事件和快照信封。元数据由服务端提供;导入或赋值一个类型不会加载历史、执行处理器或生成时间戳。
| 字段组 | 含义与约束 |
|---|---|
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 嵌套它。 |
FunctionKind | COMMAND、ERROR、EVENT、SOURCING、STATE_EVENT 分类;不是可调用的 JavaScript 函数。 |
MessageHeaderSqlType | MAP 或 STRING 存储表示标签;枚举不执行 SQL 序列化。 |
所有元数据接口均无运行时默认值。完整信封及其必填继承字段参见事件与历史或快照查询。
精确契约
FunctionKind
ts
export enum FunctionKind {
COMMAND = 'COMMAND',
ERROR = 'ERROR',
EVENT = 'EVENT',
SOURCING = 'SOURCING',
STATE_EVENT = 'STATE_EVENT',
}1
2
3
4
5
6
7
2
3
4
5
6
7
packages/wow/src/types/function.ts:21
FunctionInfo
ts
export interface FunctionInfo extends NamedBoundedContext, Named {
functionKind: FunctionKind;
processorName: string;
}1
2
3
4
2
3
4
packages/wow/src/types/function.ts:51
FunctionInfoCapable
ts
export interface FunctionInfoCapable {
function: FunctionInfo;
}1
2
3
2
3
packages/wow/src/types/function.ts:59
BodyCapable
ts
export interface BodyCapable<T> {
body: T;
}1
2
3
2
3
packages/wow/src/types/messaging.ts:14
CreateTimeCapable
ts
export interface CreateTimeCapable {
createTime: number;
}1
2
3
2
3
packages/wow/src/types/modeling.ts:19
DeletedCapable
ts
export interface DeletedCapable {
deleted: boolean;
}1
2
3
2
3
packages/wow/src/types/modeling.ts:29
EventIdCapable
ts
export interface EventIdCapable {
eventId: string;
}1
2
3
2
3
packages/wow/src/types/modeling.ts:39
EventTimeCapable
ts
export interface EventTimeCapable {
eventTime: number;
}1
2
3
2
3
packages/wow/src/types/modeling.ts:49
FirstEventTimeCapable
ts
export interface FirstEventTimeCapable {
firstEventTime: number;
}1
2
3
2
3
packages/wow/src/types/modeling.ts:59
FirstOperatorCapable
ts
export interface FirstOperatorCapable {
firstOperator: string;
}1
2
3
2
3
packages/wow/src/types/modeling.ts:69
OperatorCapable
ts
export interface OperatorCapable {
operator: string;
}1
2
3
2
3
packages/wow/src/types/modeling.ts:122
SnapshotTimeCapable
ts
export interface SnapshotTimeCapable {
snapshotTime: number;
}1
2
3
2
3
packages/wow/src/types/modeling.ts:148
StateCapable
ts
export interface StateCapable<S> {
state: S;
}1
2
3
2
3
packages/wow/src/types/modeling.ts:165
MessageHeaderSqlType
ts
export enum MessageHeaderSqlType {
MAP = 'MAP',
STRING = 'STRING',
}1
2
3
4
2
3
4
