on method
EventEmitterListener
on(
- String type_update,
- FutureOr callback(
- UpdateTelegramClientTdlib update
- Map? stateData,
- void onError(
- Object data
receive all update data
Implementation
EventEmitterListener on(
String type_update,
FutureOr<dynamic> Function(UpdateTelegramClientTdlib update) callback, {
final Map<dynamic, dynamic>? stateData,
void Function(Object data)? onError,
}) {
return eventEmitter.on(
eventName: type_update,
stateData: stateData ?? {},
onCallback: (listener, update) async {
try {
if (update is TdlibIsolateReceiveData) {
// final TdlibIsolateReceiveData tdlibIsolateReceiveData = update;
await callback(
UpdateTelegramClientTdlib(
update: update.updateData,
client_id: update.clientId,
client_option: () {
try {
final TdlibClient? tdlibClient = clients[update.clientId];
if (tdlibClient != null) {
return tdlibClient.client_option;
}
} catch (e) {}
return {};
}(),
),
);
return;
}
} catch (e) {
if (onError != null) {
return onError(e);
}
}
},
);
}