onObject property

  1. @override
Stream<KnotObject> get onObject
override

A stream of KnotObject events received from the native platform.

This listens for specific event types and converts them into Dart objects.

Implementation

@override
Stream<KnotObject> get onObject {
  _onObject ??= eventChannel.receiveBroadcastStream().map((dynamic event) {
    String eventName = event['eventName'];

    print(event);

    switch (eventName) {
      case 'onError':
        return KnotError.fromJson(event);
      case 'onSuccess':
        return KnotSuccess.fromJson(event);
      case 'onEvent':
        return KnotEvent.fromJson(event);
      case 'onExit':
        return KnotExit.fromJson(event);
      default:
        throw Exception('Unexpected event name: $eventName');
    }
  });
  return _onObject!;
}