onAction<A extends ResourceAction> method

void onAction<A extends ResourceAction>(
  1. ActionHandler<A, V> handler, {
  2. EventTransformer<A>? transformer,
  3. CancelCallback<V>? onCancel,
})
inherited

Implementation

void onAction<A extends ResourceAction>(
  ActionHandler<A, V> handler, {
  EventTransformer<A>? transformer,
  CancelCallback<V>? onCancel,
}) {
  assert(
    !_actionHandlerRefs.any((handlerRef) => handlerRef.actionType == A),
    'onAction<$A> was caught multiple times. '
    'There should only be a single action handler per action type.',
  );

  final handlerRef = ActionHandlerRef<A, V>(
    handler,
    transformer: transformer,
    onCancel: onCancel,
  );

  _actionHandlerRefs.add(handlerRef);
}