Skip to main content

Generics

From generic_example.dart, Zorphy supports generic entities and generic JSON factories.

Generic entities

(generateJson: true)
abstract class $Result<T> {
bool get success;
T? get data;
String? get errorMessage;
}

Generic converters

class GenericConverter<T> implements JsonConverter<T?, Object?> {
const GenericConverter();

T? fromJson(Object? json) => json as T?;

Object? toJson(T? object) => object;
}

(generateJson: true)
abstract class $ResultWithConverter<T> {
bool get success;
(name: 'data_field')
()
T? get data;
}

Usage

final result = Result<String>(success: true, data: 'ok');
final json = result.toJson((value) => value);