Expand description
English: Re-exports the traits and helpers from ddd-toolkit-core 0.4,
including Entity, ValueObject, AggregateRoot, Repository,
AsyncRepository, event publishing, CQRS, and event-sourcing contracts.
Storage adapters and async runtimes are supplied by the application.
With the default derive feature, the ValueObject, Entity, DomainEvent,
and AggregateRoot derive macros are also available at this crate’s root.
Macro 0.4 requires consumers to add ddd-toolkit-core = "0.4.0" directly,
even when invoking derives through this facade. Trait-only usage does not.
The optional serde feature enables core’s serde support and the serde
derives needed by generated deserializers. Serialization is opt-in per value
object with #[value_object(serde)]; put this flag last when combining options.
In macro 0.4.0, single-field tuple enum variants cannot round-trip their own
JSON; use named variants instead. Secret requires no feature and redacts
formatting and zeroizes its contents on drop without a feature flag.
日本語: ddd-toolkit-core 0.4 のトレイトとヘルパーを再公開します。
Entity、ValueObject、AggregateRoot、Repository、
AsyncRepository、イベント発行、CQRS、イベントソーシングの契約を含みます。
ストレージのアダプターと非同期ランタイムはアプリケーションが提供します。
既定の derive feature では ValueObject、Entity、DomainEvent、
AggregateRoot の derive マクロもルートから利用できます。マクロ 0.4 は
ファサード経由でも利用側に ddd-toolkit-core = "0.4.0" の直接依存を要求します。
トレイトだけを使用する場合、直接依存は不要です。
任意の serde feature はコアの serde 対応と生成された逆直列化に必要な serde の
derive を有効にします。直列化は型ごとに #[value_object(serde)] で指定し、
他のオプションと併用するときはこのフラグを最後に置きます。マクロ 0.4.0 では
1フィールドのタプル型 enum variant は自身の JSON 出力を逆変換できないため、
名前付き variant を使ってください。全 derive に直列化が自動適用されるわけではありません。
Secret は feature 指定なしで使え、書式出力を秘匿化して破棄時に内容をゼロ化します。
§Example / 使用例
English: Validation returns an application-defined error; construction
uses try_new rather than the removed TryFrom implementation.
日本語: 検証はアプリケーション定義のエラーを返します。廃止された
TryFrom 実装の代わりに try_new で構築します。
#[derive(ddd_toolkit::ValueObject)]
#[value_object(validate = validate_email, error = &'static str)]
struct Email(String);
fn validate_email(value: &str) -> Result<(), &'static str> {
if value.contains('@') { Ok(()) } else { Err("missing @") }
}
let email = Email::try_new("a@b.com".to_owned()).unwrap();
assert_eq!(email.as_inner(), "a@b.com");
assert_eq!(Email::try_new("invalid".to_owned()), Err("missing @"));
let key = ddd_toolkit::Secret::new("sekret".to_owned());
assert_eq!(format!("{key:?}"), "[REDACTED]");
assert_eq!(key.expose_secret(|value| value.len()), 6);Structs§
- Aggregate
Snapshot - English: Exposes core 0.4’s domain, persistence, and event-workflow API.
- And
- English: Exposes core 0.4’s domain, persistence, and event-workflow API.
- Append
Result - English: Exposes core 0.4’s domain, persistence, and event-workflow API.
- Async
Lifecycle Context - English: Exposes core 0.4’s domain, persistence, and event-workflow API.
- Async
Transactional Outbox Lifecycle Context - English: Exposes core 0.4’s domain, persistence, and event-workflow API.
- Delivery
Metadata - English: Exposes core 0.4’s domain, persistence, and event-workflow API.
- Event
Identity - English: Exposes core 0.4’s domain, persistence, and event-workflow API.
- Lifecycle
Context - English: Exposes core 0.4’s domain, persistence, and event-workflow API.
- NoStream
- English: Exposes core 0.4’s domain, persistence, and event-workflow API.
- Not
- English: Exposes core 0.4’s domain, persistence, and event-workflow API.
- Or
- English: Exposes core 0.4’s domain, persistence, and event-workflow API.
- Outbox
Claim - English: Exposes core 0.4’s domain, persistence, and event-workflow API.
- Outbox
Message Id - English: Exposes core 0.4’s domain, persistence, and event-workflow API.
- Projection
Checkpoint - English: Exposes core 0.4’s domain, persistence, and event-workflow API.
- Rehydrated
Aggregate - English: Exposes core 0.4’s domain, persistence, and event-workflow API.
- Revision
Conflict - English: Exposes core 0.4’s domain, persistence, and event-workflow API.
- Secret
- English: Exposes core 0.4’s domain, persistence, and event-workflow API.
- Secret
Metadata - English: Exposes core 0.4’s domain, persistence, and event-workflow API.
- Stream
History - English: Exposes core 0.4’s domain, persistence, and event-workflow API.
- Stream
Revision - English: Exposes core 0.4’s domain, persistence, and event-workflow API.
- Transactional
Outbox Lifecycle Context - English: Exposes core 0.4’s domain, persistence, and event-workflow API.
- Transition
- English: Exposes core 0.4’s domain, persistence, and event-workflow API.
- Upcaster
Chain - English: Exposes core 0.4’s domain, persistence, and event-workflow API.
Enums§
- Append
Error - English: Exposes core 0.4’s domain, persistence, and event-workflow API.
- Async
Transactional Outbox Completion Error - English: Exposes core 0.4’s domain, persistence, and event-workflow API.
- Async
Transactional Outbox Operation Error - English: Exposes core 0.4’s domain, persistence, and event-workflow API.
- Current
Revision - English: Exposes core 0.4’s domain, persistence, and event-workflow API.
- Expected
Revision - English: Exposes core 0.4’s domain, persistence, and event-workflow API.
- Lifecycle
Completion Error - English: Exposes core 0.4’s domain, persistence, and event-workflow API.
- Lifecycle
Operation Error - English: Exposes core 0.4’s domain, persistence, and event-workflow API.
- Load
Result - English: Exposes core 0.4’s domain, persistence, and event-workflow API.
- Projection
Application - English: Exposes core 0.4’s domain, persistence, and event-workflow API.
- Replay
Error - English: Exposes core 0.4’s domain, persistence, and event-workflow API.
- Snapshot
Load Error - English: Exposes core 0.4’s domain, persistence, and event-workflow API.
- Snapshot
Replay Error - English: Exposes core 0.4’s domain, persistence, and event-workflow API.
- Snapshot
Save Error - English: Exposes core 0.4’s domain, persistence, and event-workflow API.
- Snapshot
Use - English: Exposes core 0.4’s domain, persistence, and event-workflow API.
- Stream
History Error - English: Exposes core 0.4’s domain, persistence, and event-workflow API.
- Transactional
Outbox Completion Error - English: Exposes core 0.4’s domain, persistence, and event-workflow API.
- Transactional
Outbox Operation Error - English: Exposes core 0.4’s domain, persistence, and event-workflow API.
Traits§
- Aggregate
Creator - English: Exposes core 0.4’s domain, persistence, and event-workflow API.
- Aggregate
Replay - English: Exposes core 0.4’s domain, persistence, and event-workflow API.
- Aggregate
Root - English: Exposes core 0.4’s domain, persistence, and event-workflow API.
- Async
Aggregate Creator - English: Exposes core 0.4’s domain, persistence, and event-workflow API.
- Async
Command Handler - English: Exposes core 0.4’s domain, persistence, and event-workflow API.
- Async
Domain Event Publisher - English: Exposes core 0.4’s domain, persistence, and event-workflow API.
- Async
Event Consumer - English: Exposes core 0.4’s domain, persistence, and event-workflow API.
- Async
Event Store - English: Exposes core 0.4’s domain, persistence, and event-workflow API.
- Async
Idempotent Projection - English: Exposes core 0.4’s domain, persistence, and event-workflow API.
- Async
Lifecycle Callback - English: Exposes core 0.4’s domain, persistence, and event-workflow API.
- Async
Projection - English: Exposes core 0.4’s domain, persistence, and event-workflow API.
- Async
Projection Checkpoint Store - English: Exposes core 0.4’s domain, persistence, and event-workflow API.
- Async
Query Handler - English: Exposes core 0.4’s domain, persistence, and event-workflow API.
- Async
Repository - English: Exposes core 0.4’s domain, persistence, and event-workflow API.
- Async
Snapshot Store - English: Exposes core 0.4’s domain, persistence, and event-workflow API.
- Async
Transactional Outbox - English: Exposes core 0.4’s domain, persistence, and event-workflow API.
- Command
Handler - English: Exposes core 0.4’s domain, persistence, and event-workflow API.
- Domain
Event - English: Exposes core 0.4’s domain, persistence, and event-workflow API.
- Domain
Event Conversion - English: Exposes core 0.4’s domain, persistence, and event-workflow API.
- Domain
Event Delivery Metadata - English: Exposes core 0.4’s domain, persistence, and event-workflow API.
- Domain
Event Metadata - English: Exposes core 0.4’s domain, persistence, and event-workflow API.
- Domain
Event Publisher - English: Exposes core 0.4’s domain, persistence, and event-workflow API.
- Domain
Factory - English: Exposes core 0.4’s domain, persistence, and event-workflow API.
- Domain
Service - English: Exposes core 0.4’s domain, persistence, and event-workflow API.
- Entity
- English: Exposes core 0.4’s domain, persistence, and event-workflow API.
- Event
Consumer - English: Exposes core 0.4’s domain, persistence, and event-workflow API.
- Event
Store - English: Exposes core 0.4’s domain, persistence, and event-workflow API.
- Event
Upcaster - English: Exposes core 0.4’s domain, persistence, and event-workflow API.
- Idempotent
Projection - English: Exposes core 0.4’s domain, persistence, and event-workflow API.
- Lifecycle
Callback - English: Exposes core 0.4’s domain, persistence, and event-workflow API.
- Policy
- English: Exposes core 0.4’s domain, persistence, and event-workflow API.
- Process
Manager - English: Exposes core 0.4’s domain, persistence, and event-workflow API.
- Projection
- English: Exposes core 0.4’s domain, persistence, and event-workflow API.
- Projection
Checkpoint Store - English: Exposes core 0.4’s domain, persistence, and event-workflow API.
- Query
Handler - English: Exposes core 0.4’s domain, persistence, and event-workflow API.
- Repository
- English: Exposes core 0.4’s domain, persistence, and event-workflow API.
- Snapshot
Store - English: Exposes core 0.4’s domain, persistence, and event-workflow API.
- Specification
- English: Exposes core 0.4’s domain, persistence, and event-workflow API.
- Transactional
Outbox - English: Exposes core 0.4’s domain, persistence, and event-workflow API.
- Unit
OfWork - English: Exposes core 0.4’s domain, persistence, and event-workflow API.
- Value
Object - English: Exposes core 0.4’s domain, persistence, and event-workflow API.
- Versioned
Event - English: Exposes core 0.4’s domain, persistence, and event-workflow API.
Functions§
- dispatch_
events - English: Exposes core 0.4’s domain, persistence, and event-workflow API.
- dispatch_
events_ async - English: Exposes core 0.4’s domain, persistence, and event-workflow API.
- replay_
aggregate - English: Exposes core 0.4’s domain, persistence, and event-workflow API.
- replay_
with_ optional_ snapshot - English: Exposes core 0.4’s domain, persistence, and event-workflow API.
Type Aliases§
- Async
Outbox Lifecycle Completion Error - English: Exposes core 0.4’s domain, persistence, and event-workflow API.
- Async
Outbox Lifecycle Context - English: Exposes core 0.4’s domain, persistence, and event-workflow API.
- Async
Outbox Lifecycle Operation Error - English: Exposes core 0.4’s domain, persistence, and event-workflow API.
- Outbox
Lifecycle Completion Error - English: Exposes core 0.4’s domain, persistence, and event-workflow API.
- Outbox
Lifecycle Context - English: Exposes core 0.4’s domain, persistence, and event-workflow API.
- Outbox
Lifecycle Operation Error - English: Exposes core 0.4’s domain, persistence, and event-workflow API.
Derive Macros§
- Aggregate
Root - English: Exposes the four derives; consumers must depend directly on core 0.4.
- Domain
Event - English: Exposes the four derives; consumers must depend directly on core 0.4.
- Entity
- English: Exposes the four derives; consumers must depend directly on core 0.4.
- Value
Object - English: Exposes the four derives; consumers must depend directly on core 0.4.