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_'),
};
}