@ahoo-wang/fetcher-wow
Version:
Support for Wow(https://github.com/Ahoo-Wang/Wow) in Fetcher
43 lines • 2.41 kB
TypeScript
import { AggregateId, DeletedCapable, EventIdCapable, EventTimeCapable, FirstEventTimeCapable, FirstOperatorCapable, NamedAggregate, OperatorCapable, OwnerId, SnapshotTimeCapable, StateCapable, TenantId, Version } from '../../types';
/**
* Interface for materialized snapshots with full capabilities.
*/
export interface MaterializedSnapshot<S> extends StateCapable<S>, AggregateId, TenantId, OwnerId, Version, EventIdCapable, FirstOperatorCapable, OperatorCapable, FirstEventTimeCapable, EventTimeCapable, SnapshotTimeCapable, DeletedCapable {
}
/**
* Interface for materialized snapshots with medium capabilities.
*
* Represents a materialized snapshot for medium data, implementing multiple capabilities through inheritance.
* This interface is designed to be generic, capable of holding state data of any type.
* Each snapshot corresponds to a specific version of the state within a tenant and owner context,
* and records information such as event IDs and operation times to support tracing and auditing.
*/
export interface MediumMaterializedSnapshot<S> extends StateCapable<S>, NamedAggregate, TenantId, OwnerId, Version, EventIdCapable, FirstOperatorCapable, OperatorCapable, FirstEventTimeCapable, EventTimeCapable {
}
/**
* Interface for simplified materialized snapshots with generic state.
*
* This interface implements multiple interfaces to provide version, materialization, first event time, and state information.
*/
export interface SmallMaterializedSnapshot<S> extends StateCapable<S>, NamedAggregate, Version, FirstEventTimeCapable {
}
/**
* Provides field names for snapshot metadata.
*
* This class contains static readonly properties that define the field names used in snapshot metadata.
* These field names are used to access and manipulate snapshot data in a consistent manner.
*/
export declare class SnapshotMetadataFields {
static readonly VERSION = "version";
static readonly TENANT_ID = "tenantId";
static readonly OWNER_ID = "ownerId";
static readonly EVENT_ID = "eventId";
static readonly FIRST_EVENT_TIME = "firstEventTime";
static readonly EVENT_TIME = "eventTime";
static readonly FIRST_OPERATOR = "firstOperator";
static readonly OPERATOR = "operator";
static readonly SNAPSHOT_TIME = "snapshotTime";
static readonly DELETED = "deleted";
static readonly STATE = "state";
}
//# sourceMappingURL=snapshot.d.ts.map