broadcast<T> method Null safety

void broadcast<T>(
  1. T create(
      ),
    1. {CancelToken? cancelToken,
    2. List<Cubix>? cubixes}
    )

    Implementation

    void broadcast<T>(T Function() create,
        {CancelToken? cancelToken, List<Cubix>? cubixes}) {
      Object? event;
      void Function(Cubix) invoker = <T>[] is List<ActionBase>
          ? (cubix) {
              final action = create() as ActionBase;
              if (action.canDispatch(cubix)) {
                cubix.dispatchGeneric(action, cancelToken: cancelToken);
              }
            }
          : (cubix) {
              cubix.emit(event ??= create() as Object);
            };
    
      if (cubixes != null) {
        for (final cubix in cubixes) {
          invoker(cubix);
        }
      } else {
        walk((dependency) {
          if (dependency is Cubix) {
            invoker(dependency);
          }
          return true;
        });
      }
    }