stream<T> static method

Stream<T> stream<T>(
  1. dynamic target
)

转为 Stream

Implementation

static Stream<T> stream<T>(dynamic target) {
  final controller = StreamController<T>.broadcast();
  final notifier = obtain<T>(target);
  // 推送当前值
  if (notifier.value != null) controller.add(notifier.value);
  void listener(dynamic value) => controller.add(value as T);
  addListener(target, listener);
  controller.onCancel = () => _listeners[target]?.remove(listener);
  return controller.stream;
}