track<T> static method

T track<T>(
  1. String providerName,
  2. T create()
)

Track a proxy provider update as a causal event.

Implementation

static T track<T>(String providerName, T Function() create) {
  assert(() {
    final context = CausalityZone.currentContext();
    TrinityEventBus.instance.emit(CausalEvent(
      parentId: context?.eventId,
      type: CausalEventType.stateChange,
      description: 'ProxyProvider: $providerName rebuilt',
      metadata: {
        'provider_name': providerName,
        'result_type': T.toString(),
      },
    ));
    return true;
  }());
  return create();
}