define<TEvent extends Object, TValue extends Object, TId extends AggregateId, TState extends AggregateState<TValue>, TAggregate extends Aggregate<TEvent, TValue, TId, TState>> static method

void define<TEvent extends Object, TValue extends Object, TId extends AggregateId, TState extends AggregateState<TValue>, TAggregate extends Aggregate<TEvent, TValue, TId, TState>>(
  1. AggregateCreator<TEvent, TValue, TId, TState, TAggregate> creator, {
  2. String? name,
})

Implementation

static void define<
    TEvent extends Object,
    TValue extends Object,
    TId extends AggregateId,
    TState extends AggregateState<TValue>,
    TAggregate extends Aggregate<TEvent, TValue, TId, TState>>(
  AggregateCreator<TEvent, TValue, TId, TState, TAggregate> creator, {
  String? name,
}) {
  final type = typeOf<TAggregate>();
  final actual = name ?? type.toString();
  if (!containsTypeName(actual)) {
    _reverseMap[actual] = type;
    _map[type] = actual;
    _creators[type] = creator;
  }
}