TextEditingValue.fromJSON constructor Null safety

TextEditingValue.fromJSON(
  1. Map<String, dynamic> encoded
)

Creates an instance of this class from a JSON object.

Implementation

factory TextEditingValue.fromJSON(Map<String, dynamic> encoded) {
  final String text = encoded['text'] as String;
  final TextSelection selection = TextSelection(
    baseOffset: encoded['selectionBase'] as int? ?? -1,
    extentOffset: encoded['selectionExtent'] as int? ?? -1,
    affinity: _toTextAffinity(encoded['selectionAffinity'] as String?) ?? TextAffinity.downstream,
    isDirectional: encoded['selectionIsDirectional'] as bool? ?? false,
  );
  final TextRange composing = TextRange(
    start: encoded['composingBase'] as int? ?? -1,
    end: encoded['composingExtent'] as int? ?? -1,
  );
  assert(_textRangeIsValid(selection, text));
  assert(_textRangeIsValid(composing, text));
  return TextEditingValue(
    text: text,
    selection: selection,
    composing: composing,
  );
}