UndoManagerOptions.fromJson constructor
UndoManagerOptions.fromJson(
- Object? json_
Returns a new instance from a JSON value. May throw if the value does not have the expected structure.
Implementation
factory UndoManagerOptions.fromJson(Object? json_) {
final json = json_ is Map
? _spec.fields.map((f) => json_[f.label]).toList(growable: false)
: json_;
return switch (json) {
[
final captureTimeoutMillis,
final trackedOrigins,
final captureTransaction
] ||
(
final captureTimeoutMillis,
final trackedOrigins,
final captureTransaction
) =>
UndoManagerOptions(
captureTimeoutMillis: Option.fromJson(
captureTimeoutMillis, (some) => bigIntFromJson(some)).value,
trackedOrigins: Option.fromJson(
trackedOrigins,
(some) => (some! as Iterable)
.map((e) => (e is Uint8List
? e
: Uint8List.fromList((e! as List).cast())))
.toList()).value,
captureTransaction:
Option.fromJson(captureTransaction, (some) => some! as bool)
.value,
),
_ => throw Exception('Invalid JSON $json_')
};
}