TreeSitterInputEdit.fromMessage constructor
Implementation
factory TreeSitterInputEdit.fromMessage(Map<Object?, Object?> message) {
int integer(String key) {
final value = message[key];
if (value is! int) throw FormatException('$key must be an int');
return value;
}
int? optionalInteger(String key) {
final value = message[key];
if (value == null) return null;
if (value is! int) throw FormatException('$key must be an int');
return value;
}
final insertedText = message['insertedText'];
if (insertedText is! String) {
throw const FormatException('insertedText must be a String');
}
return TreeSitterInputEdit(
startByte: integer('startByte'),
oldEndByte: integer('oldEndByte'),
newEndByte: integer('newEndByte'),
startPosition: TreeSitterPoint(
integer('startRow'),
integer('startColumn'),
),
oldEndPosition: TreeSitterPoint(
integer('oldEndRow'),
integer('oldEndColumn'),
),
newEndPosition: TreeSitterPoint(
integer('newEndRow'),
integer('newEndColumn'),
),
startUtf16: optionalInteger('startUtf16'),
oldEndUtf16: optionalInteger('oldEndUtf16'),
newEndUtf16: optionalInteger('newEndUtf16'),
insertedText: insertedText,
);
}