46 lines
1.3 KiB
Plaintext
Raw Normal View History

2022-02-15 21:27:00 +08:00
class {{ event_class }} {
{%- if has_input %}
{{ input_deserializer }} request;
{{ event_class }}(this.request);
{%- else %}
{{ event_class }}();
{%- endif %}
Future<FlowyResult<{{ output_deserializer }}, {{ error_deserializer }}>> send() {
2022-02-15 21:27:00 +08:00
{%- if has_input %}
final request = FFIRequest.create()
..event = {{ event }}.toString()
..payload = requestToBytes(this.request);
return Dispatch.asyncRequest(request)
.then((bytesResult) => bytesResult.fold(
{%- if has_output %}
(okBytes) => FlowySuccess({{ output_deserializer }}.fromBuffer(okBytes)),
2022-02-15 21:27:00 +08:00
{%- else %}
(bytes) => FlowySuccess(null),
2022-02-15 21:27:00 +08:00
{%- endif %}
(errBytes) => FlowyFailure({{ error_deserializer }}.fromBuffer(errBytes)),
2022-02-15 21:27:00 +08:00
));
{%- else %}
final request = FFIRequest.create()
..event = {{ event }}.toString();
{%- if has_input %}
..payload = bytes;
{%- endif %}
return Dispatch.asyncRequest(request).then((bytesResult) => bytesResult.fold(
{%- if has_output %}
(okBytes) => FlowySuccess({{ output_deserializer }}.fromBuffer(okBytes)),
2022-02-15 21:27:00 +08:00
{%- else %}
(bytes) => FlowySuccess(null),
2022-02-15 21:27:00 +08:00
{%- endif %}
(errBytes) => FlowyFailure({{ error_deserializer }}.fromBuffer(errBytes)),
2022-02-15 21:27:00 +08:00
));
{%- endif %}
}
}