{%- if index == 0 %} {{ imported_dart_files }} {%- endif -%} class {{ event_class }} { {{ input_deserializer }} params; {{ event_class }}(this.params); Future> send() { return paramsToBytes(params).fold( (bytes) { final request = FFIRequest.create() ..event = {{ event }}.toString() ..payload = bytes; return Dispatch.asyncRequest(request) .then((bytesResult) => bytesResult.fold( (bytes) => left({{ output_deserializer }}.fromBuffer(bytes)), (error) => right(error), )); }, (err) => Future(() => right(err)), ); } }